數(shù)控系統(tǒng)模塊間RS-422串行通信協(xié)議的設(shè)計(jì)方案_第1頁(yè)
數(shù)控系統(tǒng)模塊間RS-422串行通信協(xié)議的設(shè)計(jì)方案_第2頁(yè)
數(shù)控系統(tǒng)模塊間RS-422串行通信協(xié)議的設(shè)計(jì)方案_第3頁(yè)
數(shù)控系統(tǒng)模塊間RS-422串行通信協(xié)議的設(shè)計(jì)方案_第4頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、數(shù)控系統(tǒng)模塊間RS-422串行通信協(xié)議的設(shè)計(jì)- 機(jī)電論文數(shù)控系統(tǒng)模塊間RS-422 串行通信協(xié)議的設(shè)計(jì)數(shù)控系統(tǒng)模塊間RS-422 串行通信協(xié)議的設(shè)計(jì)范鵬飛 1 崔錫奎 2 王祥寶 1 劉敬猛 2( 1.阜陽(yáng)軸承有限公司,安徽阜陽(yáng)236000 ;2. 北京航空航天大學(xué)自動(dòng)化科學(xué)與電氣工程學(xué)院,中國(guó)北京100191 )【摘要】一個(gè)復(fù)雜的數(shù)控系統(tǒng),模塊眾多,如何使得各模塊間通訊實(shí)時(shí)且可靠是一個(gè)關(guān)鍵。 研究了數(shù)控系統(tǒng)各模塊間的通信協(xié)議,設(shè)計(jì)了串行通信協(xié)議和軟件框圖,并給出了串行通信硬件設(shè)計(jì)的電路圖。最后通過(guò)數(shù)控系統(tǒng)現(xiàn)場(chǎng)加工實(shí)驗(yàn)驗(yàn)證了該通信協(xié)議設(shè)計(jì)的有效性。關(guān)鍵詞 ARM ;數(shù)控系統(tǒng);通信協(xié)議 ;串行通

2、信; RS-422 總線;數(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í)性要求又大大降低開發(fā)成本3 。本文結(jié)合阜陽(yáng)軸承有限公司- 北京航空航天大學(xué)聯(lián)合開發(fā)的兩軸數(shù)控車床系統(tǒng),設(shè)計(jì)了一種基于RS-422 總線標(biāo)準(zhǔn)的串行通信協(xié)議并討論了基于此的硬件以及軟件的設(shè)計(jì),完成了相關(guān)的現(xiàn)場(chǎng)試驗(yàn)。1 數(shù)控

3、系統(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)鍵盤板、用戶鍵盤板和接口板。接口板連接IO 和伺服電機(jī)。系統(tǒng)鍵盤用于G 代碼編程,該矩陣式鍵盤通過(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 和 UAR

4、T2 。UART0 接超級(jí)終端,打印系統(tǒng)信息。 UART1 和 UART2 擴(kuò)展成 RS422 ,分別接操作鍵盤板和接口板通過(guò)串口進(jìn)行通信。串行通信的波特率是115200bps ,8 為數(shù)據(jù)位, 1 位停止位,沒(méi)有校驗(yàn)位。機(jī)床的主令開關(guān)、指示燈、繼電器、電磁閥、用戶鍵盤板的手動(dòng)調(diào)整開關(guān)等通過(guò) RS-422 傳至 ARM 。這種通訊架構(gòu)主要有以下三個(gè)優(yōu)點(diǎn):第一,用戶鍵盤和接口板從主板上分離出來(lái),用RS422 連接,便于安裝,并且兼容了不同類型的數(shù)控系統(tǒng)。第二,用雙RS422 而不用 RS485 ,最大限度提高帶寬,簡(jiǎn)化應(yīng)用層通信軟件的設(shè)計(jì)。 第三,設(shè)計(jì)了一套完整的幀傳送協(xié)議,保證了數(shù)據(jù)快速有效傳

5、遞。2 串行通信硬件設(shè)計(jì)圖 2 是 RS-422 接口電路圖 4 ,該系統(tǒng)的接口板和操作鍵盤板的信息采集是通過(guò) RS-422 完成的。選擇 RS-422 的理由如下:( 1) RS-422 的通信速率和誤碼率完全能夠達(dá)到信號(hào)傳輸?shù)囊蟆?( 2)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 上,和用戶鍵盤板的 FPGA 上。圖 2

6、中的 MAX3491 右側(cè)是 3.3V 的 LVTTL/CMOS 信號(hào),接 ARMS3C2410 的 UART 管腳或者 FPGA 的 IO 口。 FPGA 選用 Cyclone 的EP1C6Q240 ,對(duì)于串口 115200bps的波特率,可用 FPGA 的通用 IO 口。由于RS-422 采用輸入、輸出通道獨(dú)立,三態(tài)門緩沖器的控制引腳/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)行濾波和限幅處理,消除

7、信號(hào)在傳輸過(guò)程中接收到的噪聲。 L1 是濾波器,消除共模干擾。D1D4 、R11 、R12 將信號(hào)大致限幅在電源和地之間, 避免尖峰電壓損壞接口芯片。C9 是壓片電容, 25V/104 ,接在接口芯片的電源和地之間。3 串行通信協(xié)議的設(shè)計(jì)本協(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 位起始位, 58 位數(shù)據(jù)位, 1 位奇偶校驗(yàn)位, 1 位停止位。停止位是邏輯 1 ,停止后總

8、線保持邏輯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ā)送和接收。(b) 字節(jié) Data0 解析圖 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 、Data7Data0共 9 個(gè)字節(jié)的累加。 幀長(zhǎng)為 12 個(gè)字節(jié)的設(shè)計(jì)使得主板到接口板

9、和操作鍵盤板所有的通信信息均可在一幀內(nèi)完成,節(jié)省了通信時(shí)間,ARMS3C2410的 FIFO 模式中斷支持一次12 字節(jié)的發(fā)送和接收。 該協(xié)議不需要 ID ,ARM 有兩個(gè) UART,點(diǎn)對(duì)點(diǎn)連接接口板和用戶鍵盤板。圖3(b) 是一個(gè)字節(jié)Data0的解析, D7D0每位控制一個(gè)輸出端口,每位輸出端口(OUT-7OUT0)對(duì)應(yīng)機(jī)床的一個(gè)繼電器或者電磁閥或者用戶鍵盤板的一個(gè)指示燈。數(shù)控機(jī)床的輸入輸出以及用戶鍵盤板上有很多這樣的數(shù)字IO ,它們經(jīng)過(guò)編碼后被填入圖3(a) 的 Data7Data0。3.2 通信的建立圖 4 是通訊建立的狀態(tài)機(jī)。幀的第1 字節(jié)是 CMD ,共 8 位,支持 256 個(gè)命令

10、。本數(shù)控系統(tǒng)用到的的常見命令:復(fù)位命令0X01 ,啟動(dòng)命令0X02 ,停止命令 0X03 ,正常數(shù)據(jù) 0X04 。前三個(gè)命令要有應(yīng)答。通信的建立從硬件復(fù)位開始,由主站( 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í)打開看門狗計(jì)時(shí)器(溢出時(shí)間是3 秒)。每當(dāng)收到從站發(fā)來(lái)的數(shù)據(jù)時(shí)看門狗計(jì)時(shí)器清

11、零,當(dāng)看門狗計(jì)時(shí)器溢出時(shí)狀態(tài)機(jī)復(fù)位,表示通訊系統(tǒng)故障。此時(shí),系統(tǒng)進(jìn)入自修復(fù)自動(dòng)通信狀態(tài)。通信系統(tǒng)建立以后,主站通過(guò)看門狗監(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 接接口板,串口

12、 2 接用戶鍵盤板。具體的代碼如下所示:圖 5 是上位機(jī) ARMS3C2410 串口接收中斷流程圖,使能了超時(shí)中斷。在正常情況下,當(dāng)下位機(jī)開始向上位機(jī)發(fā)送數(shù)據(jù)的時(shí)候, ARMS3C2410 連續(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è)中斷源。 在接收中斷的最開始, 讀取接收數(shù)據(jù)長(zhǎng)度, 看是否等于觸發(fā)深度12 ,若不是,說(shuō)明是超時(shí)中斷,清空串口緩沖區(qū)數(shù)據(jù),丟棄數(shù)據(jù),清零看門狗計(jì)時(shí)器, 中斷返回。當(dāng)接收數(shù)據(jù)等于觸發(fā)深度,說(shuō)明接收的是一幀完整的幀。把串口緩沖區(qū)數(shù)據(jù)逐個(gè)讀出

13、,送到接收數(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)鍵盤、用戶鍵盤、手輪、主軸波段開關(guān)和用于界面顯示的液晶屏。圖 6( b)是數(shù)控系統(tǒng)的主板。圖 6(c)是自動(dòng)加工時(shí)的操作和顯示界面。圖 6 (d )是加工的工件。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ù)的功能。看門狗、超時(shí)中斷、出錯(cuò)重發(fā)機(jī)制、幀頭幀尾和累加和校驗(yàn)保證了數(shù)據(jù)通信的可靠性和穩(wěn)定性。該協(xié)議應(yīng)用在兩軸車床上, 完成了軸承外環(huán)溝道的小批量試產(chǎn)。 其加工樣品完全滿足工藝和誤差的要求,達(dá)到了預(yù)期的設(shè)計(jì)要求,驗(yàn)證了本協(xié)議的有效性和實(shí)用性。參考文獻(xiàn) 1中華人民共和

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論