• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      數(shù)控系統(tǒng)模塊間RS-422串行通信協(xié)議的設(shè)計(jì)

      2015-08-22 08:17:20范鵬飛崔錫奎王祥寶劉敬猛
      科技視界 2015年19期
      關(guān)鍵詞:接口板通信協(xié)議主站

      范鵬飛 崔錫奎 王祥寶 劉敬猛

      (1.阜陽(yáng)軸承有限公司,安徽 阜陽(yáng) 236000;2.北京航空航天大學(xué)自動(dòng)化科學(xué)與電氣工程學(xué)院,中國(guó) 北京100191)

      數(shù)控系統(tǒng)是制造業(yè)的基石,是制造設(shè)備的設(shè)備。國(guó)家在《國(guó)家中長(zhǎng)期科學(xué)和技術(shù)發(fā)展規(guī)劃綱要)》[1]中明確提出,基本實(shí)現(xiàn)高檔數(shù)控機(jī)床、工作母機(jī)與關(guān)鍵零部件的自主設(shè)計(jì)制造,并確定了高檔數(shù)控的發(fā)展為優(yōu)先主題。RS-422是一個(gè)通用的物理通信接口規(guī)范,規(guī)定了物理接口的電氣特性,而不涉及協(xié)議。在此基礎(chǔ)上,用戶可以建立自己的高層通信協(xié)議[2]。該通信協(xié)議既滿足數(shù)控系統(tǒng)的實(shí)時(shí)性要求又大大降低開(kāi)發(fā)成本[3]。本文結(jié)合阜陽(yáng)軸承有限公司-北京航空航天大學(xué)聯(lián)合開(kāi)發(fā)的兩軸數(shù)控車(chē)床系統(tǒng),設(shè)計(jì)了一種基于RS-422總線標(biāo)準(zhǔn)的串行通信協(xié)議并討論了基于此的硬件以及軟件的設(shè)計(jì),完成了相關(guān)的現(xiàn)場(chǎng)試驗(yàn)。

      1 數(shù)控系統(tǒng)串行通信模塊介紹

      圖1 數(shù)控系統(tǒng)框圖

      隨著現(xiàn)代數(shù)控技術(shù)的發(fā)展,數(shù)控系統(tǒng)的功能越來(lái)越多,系統(tǒng)的構(gòu)成也越來(lái)越復(fù)雜,除了運(yùn)算速度不斷提高外,硬件的升級(jí)、擴(kuò)展和維護(hù)都要在系統(tǒng)設(shè)計(jì)時(shí)考慮。圖1是數(shù)控系統(tǒng)的結(jié)構(gòu)框圖,主要包括4部分:主板、系統(tǒng)鍵盤(pán)板、用戶鍵盤(pán)板和接口板。接口板連接IO和伺服電機(jī)。系統(tǒng)鍵盤(pán)用于G代碼編程,該矩陣式鍵盤(pán)通過(guò)并行總線與主板FPGA連接。主板包括ARM和FPGA兩塊處理器。FPGA是協(xié)處理器,負(fù)責(zé)時(shí)序、“方向+脈沖”信號(hào)、接口擴(kuò)展。ARM是主處理器搭載UCOS操作系統(tǒng)實(shí)現(xiàn)G代碼編輯、編譯、界面、插補(bǔ)運(yùn)算。該主板搭載三個(gè)異步串口,UART0、UART1和UART2。UART0接超級(jí)終端,打印系統(tǒng)信息。UART1和UART2擴(kuò)展成RS422,分別接操作鍵盤(pán)板和接口板通過(guò)串口進(jìn)行通信。串行通信的波特率是115200bps,8為數(shù)據(jù)位,1位停止位,沒(méi)有校驗(yàn)位。機(jī)床的主令開(kāi)關(guān)、指示燈、繼電器、電磁閥、用戶鍵盤(pán)板的手動(dòng)調(diào)整開(kāi)關(guān)等通過(guò)RS-422傳至ARM。這種通訊架構(gòu)主要有以下三個(gè)優(yōu)點(diǎn):第一,用戶鍵盤(pán)和接口板從主板上分離出來(lái),用RS422連接,便于安裝,并且兼容了不同類(lèi)型的數(shù)控系統(tǒng)。第二,用雙RS422而不用RS485,最大限度提高帶寬,簡(jiǎn)化應(yīng)用層通信軟件的設(shè)計(jì)。第三,設(shè)計(jì)了一套完整的幀傳送協(xié)議,保證了數(shù)據(jù)快速有效傳遞。

      2 串行通信硬件設(shè)計(jì)

      圖2是RS-422接口電路圖[4],該系統(tǒng)的接口板和操作鍵盤(pán)板的信息采集是通過(guò)RS-422完成的。選擇 RS-422的理由如下:(1)RS-422的通信速率和誤碼率完全能夠達(dá)到信號(hào)傳輸?shù)囊?。?)RS-422是工業(yè)標(biāo)準(zhǔn)的總線,可靠性高,應(yīng)用廣泛,價(jià)格低廉。(3)ARM端有UART,F(xiàn)PGA端可通過(guò) IO口擴(kuò)展串口。(4)MAX3491可將LVTTL/CMOS的信號(hào)轉(zhuǎn)換為RS-422的差分信號(hào)。本系統(tǒng)用到3片MAX3491,分別接在主板的ARM上,接口板的FPGA上,和用戶鍵盤(pán)板的FPGA上。圖2中的MAX3491右側(cè)是3.3V的LVTTL/CMOS信號(hào),接ARMS3C2410的UART管腳或者FPGA的IO口。FPGA選用 Cyclone的EP1C6Q240,對(duì)于串口115200bps的波特率,可用FPGA的通用IO口。由于RS-422采用輸入、輸出通道獨(dú)立,三態(tài)門(mén)緩沖器的控制引腳/RE接高,DE接低。MAX3491左邊的信號(hào)是差分信號(hào)。RS422_T+、RS422_T-是差分信號(hào)輸出的正和負(fù),RS422_R+、RS422_R-是差分信號(hào)輸入的正和負(fù)。差分信號(hào)在進(jìn)入電平轉(zhuǎn)化芯片MAX3491之前進(jìn)行濾波和限幅處理,消除信號(hào)在傳輸過(guò)程中接收到的噪聲。L1是濾波器,消除共模干擾。D1~D4、R11、R12將信號(hào)大致限幅在電源和地之間,避免尖峰電壓損壞接口芯片。C9是壓片電容,25V/104,接在接口芯片的電源和地之間。

      3 串行通信協(xié)議的設(shè)計(jì)

      圖2 RS-422接口電路圖

      本協(xié)議解決上位機(jī)(ARM)和下位機(jī)(FPGA)間的數(shù)據(jù)傳輸,約定了數(shù)據(jù)格式、通信的建立、故障的處理。

      3.1 幀結(jié)構(gòu)

      串行通信分為異步串行和同步串行,RS-422是基于異步串行通信設(shè)計(jì)的。異步通信的雙方?jīng)]有時(shí)鐘,通信始于發(fā)送方的邏輯‘1’到邏輯‘0’的下跳沿,一般是1位起始位,5~8位數(shù)據(jù)位,1位奇偶校驗(yàn)位,1位停止位。停止位是邏輯’1’,停止后總線保持邏輯’1’狀態(tài),直到下一次的起始位出現(xiàn)。這樣,一次通信的信息量很小,8位數(shù)據(jù)最多只能表示256種狀態(tài),無(wú)法在復(fù)雜的通信系統(tǒng)中直接使用。于是,將要傳送的數(shù)據(jù)按照一定的格式組成幀,由協(xié)議控制幀中的數(shù)據(jù),一個(gè)字節(jié)接一個(gè)字節(jié)地發(fā)送和接收。

      圖3

      圖3 (a)是本文設(shè)計(jì)的通訊協(xié)議幀結(jié)構(gòu)。對(duì)主站和從站,命令和數(shù)據(jù)的定義有所不同。幀長(zhǎng)12個(gè)字節(jié),編號(hào)0到11,低編號(hào)字節(jié)先發(fā)、先收。幀頭0X55,幀尾0XAA,編號(hào)是10的字節(jié)是累加和SUM,SUM是CMD、Data7~Data0共9個(gè)字節(jié)的累加。幀長(zhǎng)為12個(gè)字節(jié)的設(shè)計(jì)使得主板到接口板和操作鍵盤(pán)板所有的通信信息均可在一幀內(nèi)完成,節(jié)省了通信時(shí)間,ARMS3C2410的FIFO模式中斷支持一次12字節(jié)的發(fā)送和接收。該協(xié)議不需要ID,ARM有兩個(gè)UART,點(diǎn)對(duì)點(diǎn)連接接口板和用戶鍵盤(pán)板。圖3(b)是一個(gè)字節(jié)Data0的解析,D7~D0每位控制一個(gè)輸出端口,每位輸出端口(OUT-7~OUT0)對(duì)應(yīng)機(jī)床的一個(gè)繼電器或者電磁閥或者用戶鍵盤(pán)板的一個(gè)指示燈。數(shù)控機(jī)床的輸入輸出以及用戶鍵盤(pán)板上有很多這樣的數(shù)字IO,它們經(jīng)過(guò)編碼后被填入圖3(a)的 Data7~Data0。

      3.2 通信的建立

      圖4是通訊建立的狀態(tài)機(jī)。幀的第1字節(jié)是CMD,共8位,支持256個(gè)命令。本數(shù)控系統(tǒng)用到的的常見(jiàn)命令:復(fù)位命令0X01,啟動(dòng)命令0X02,停止命令0X03,正常數(shù)據(jù)0X04。前三個(gè)命令要有應(yīng)答。通信的建立從硬件復(fù)位開(kāi)始,由主站(ARM)發(fā)起,在周期任務(wù)里發(fā)送復(fù)位命令0X01給從站,從站的狀態(tài)信息依賴這個(gè)復(fù)位命令進(jìn)行初始化。從站完成復(fù)位以后,發(fā)一個(gè)應(yīng)答給主站,表示復(fù)位已完成。然后,主站發(fā)送啟動(dòng)命令0X02,該命令發(fā)給從站,啟動(dòng)從站里的一些定時(shí)模塊,為接下來(lái)的數(shù)據(jù)采集做準(zhǔn)備。從站啟動(dòng)完成后,發(fā)送應(yīng)答給主站,表示啟動(dòng)已完成。接下來(lái)主站發(fā)一個(gè)數(shù)據(jù)幀,表示接數(shù)準(zhǔn)備完成,同時(shí)打開(kāi)看門(mén)狗計(jì)時(shí)器(溢出時(shí)間是3秒)。每當(dāng)收到從站發(fā)來(lái)的數(shù)據(jù)時(shí)看門(mén)狗計(jì)時(shí)器清零,當(dāng)看門(mén)狗計(jì)時(shí)器溢出時(shí)狀態(tài)機(jī)復(fù)位,表示通訊系統(tǒng)故障。此時(shí),系統(tǒng)進(jìn)入自修復(fù)自動(dòng)通信狀態(tài)。

      圖4 通信建立狀態(tài)機(jī)

      通信系統(tǒng)建立以后,主站通過(guò)看門(mén)狗監(jiān)視從站的通信是否正常工作。主站收到來(lái)自從站的數(shù)據(jù),根據(jù)自動(dòng)循環(huán)或手動(dòng)調(diào)整的加工要求決定是否返回應(yīng)答數(shù)據(jù)??紤]到頻繁的幀應(yīng)答不僅需要大量的時(shí)間,而且還會(huì)造成死鎖。本協(xié)議規(guī)定,當(dāng)通信建立以后,從站每20ms定時(shí)向主站發(fā)送一幀數(shù)據(jù),不管主站是否應(yīng)答,當(dāng)收到停止命令時(shí),從站停止數(shù)據(jù)幀發(fā)送。

      4 串行通信協(xié)議的軟件設(shè)計(jì)

      函數(shù)RenewOSInitUart為ARM9S3C2410的初始化代碼,解決串口初始化、串口發(fā)送中斷和接收中斷初始化問(wèn)題。其中ARM的串口1接接口板,串口2接用戶鍵盤(pán)板。具體的代碼如下所示:

      圖5 ARM串口接收中斷流程圖

      圖5 是上位機(jī)ARMS3C2410串口接收中斷流程圖,使能了超時(shí)中斷。在正常情況下,當(dāng)下位機(jī)開(kāi)始向上位機(jī)發(fā)送數(shù)據(jù)的時(shí)候,ARM S3C2410連續(xù)收到12個(gè)字節(jié)的數(shù)據(jù)后,進(jìn)入接收中斷。若因?yàn)橥ㄐ诺脑驔](méi)有接收到觸發(fā)深度設(shè)定的12個(gè)字節(jié)且三個(gè)字長(zhǎng)的時(shí)間沒(méi)有收到任何數(shù)據(jù),進(jìn)入超時(shí)中斷。超時(shí)中斷和接收中斷共用同一個(gè)中斷源。在接收中斷的最開(kāi)始,讀取接收數(shù)據(jù)長(zhǎng)度,看是否等于觸發(fā)深度12,若不是,說(shuō)明是超時(shí)中斷,清空串口緩沖區(qū)數(shù)據(jù),丟棄數(shù)據(jù),清零看門(mén)狗計(jì)時(shí)器,中斷返回。當(dāng)接收數(shù)據(jù)等于觸發(fā)深度,說(shuō)明接收的是一幀完整的幀。把串口緩沖區(qū)數(shù)據(jù)逐個(gè)讀出,送到接收數(shù)組,同時(shí),計(jì)算累加和。接下來(lái)判斷幀頭、幀尾和累加和是否正確,若正確,將接收到的數(shù)據(jù)填充到IO的據(jù)結(jié)構(gòu)里去,稱IO處理。若不正確,丟棄數(shù)據(jù),然后返回。

      5 系統(tǒng)實(shí)測(cè)結(jié)果

      圖6(a)數(shù)控系統(tǒng)控制箱,包括系統(tǒng)鍵盤(pán)、用戶鍵盤(pán)、手輪、主軸波段開(kāi)關(guān)和用于界面顯示的液晶屏。圖6(b)是數(shù)控系統(tǒng)的主板。圖6(c)是自動(dòng)加工時(shí)的操作和顯示界面。圖6(d)是加工的工件。

      圖6 實(shí)驗(yàn)系統(tǒng)

      6 結(jié)論

      本文設(shè)計(jì)了一種RS-422的通信協(xié)議,用于解決數(shù)控系統(tǒng)模塊間信號(hào)通信。利用ARMS3C2410異步串行通信接口的資源,結(jié)合模塊間數(shù)據(jù)通信的需求,將中斷和FIFO幀(12字節(jié))用于數(shù)據(jù)通信。實(shí)現(xiàn)了下位機(jī)每隔20ms向上位機(jī)傳送一次數(shù)據(jù)的功能??撮T(mén)狗、超時(shí)中斷、出錯(cuò)重發(fā)機(jī)制、幀頭幀尾和累加和校驗(yàn)保證了數(shù)據(jù)通信的可靠性和穩(wěn)定性。該協(xié)議應(yīng)用在兩軸車(chē)床上,完成了軸承外環(huán)溝道的小批量試產(chǎn)。其加工樣品完全滿足工藝和誤差的要求,達(dá)到了預(yù)期的設(shè)計(jì)要求,驗(yàn)證了本協(xié)議的有效性和實(shí)用性。

      [1]中華人民共和國(guó)國(guó)務(wù)院.國(guó)家中長(zhǎng)期科學(xué)和技術(shù)發(fā)展規(guī)劃綱要(2006-2020年)[Z].北京:中華人民共和國(guó)國(guó)務(wù)院,2006.

      [2]陽(yáng)憲惠,工業(yè)數(shù)據(jù)通信與控制網(wǎng)絡(luò)[M].北京:清華大學(xué)出版社,2003.

      [3]謝劍,金永喬,等.高檔數(shù)控系統(tǒng)中的RS485串行總線接口研究與開(kāi)發(fā)[J].組合機(jī)床與自動(dòng)化加工技術(shù),2010(5):22—25.

      [4]李騰飛.嵌入式車(chē)床數(shù)控系統(tǒng)設(shè)計(jì)與研究[D].安徽工程大學(xué),2014.

      猜你喜歡
      接口板通信協(xié)議主站
      一種接口板可更換模塊化儀器結(jié)構(gòu)設(shè)計(jì)
      客運(yùn)交通裝備內(nèi)話系統(tǒng)的話機(jī)板卡設(shè)計(jì)
      伊寧CINRAD CC雷達(dá)兩類(lèi)故障分析
      基于Z-Stack通信協(xié)議棧的紅外地溫采集電路設(shè)計(jì)
      基于OS2主站系統(tǒng)的海量數(shù)據(jù)共享技術(shù)研究
      多表遠(yuǎn)程集抄主站系統(tǒng)
      電子制作(2017年23期)2017-02-02 07:17:07
      基于DMX512通信協(xié)議的多路轉(zhuǎn)發(fā)器設(shè)計(jì)與研究
      基于NS-3的PLC多頻通信協(xié)議仿真平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)
      基于改進(jìn)經(jīng)濟(jì)壓差算法的主站AVC的研究
      關(guān)口電能計(jì)量故障監(jiān)測(cè)報(bào)警裝置及主站研究
      江西省| 治县。| 永修县| 沙湾县| 扶余县| 离岛区| 永吉县| 宁国市| 宜城市| 游戏| 乌恰县| 东辽县| 德钦县| 班玛县| 手游| 镇雄县| 罗甸县| 湟源县| 雷山县| 崇州市| 全州县| 耿马| 丹巴县| 禄丰县| 金秀| 惠州市| 忻城县| 开远市| 井冈山市| 新巴尔虎右旗| 平乡县| 徐闻县| 武汉市| 诏安县| 门源| 东山县| 中西区| 玉龙| 泸溪县| 绍兴县| 盐边县|