基于ARM7和CAN總線的電子送經(jīng)卷取系統(tǒng)設(shè)計
本文利用性價比高的主控器ARM7-LPC2194($9.0768)、CAN接收器PCA82C250($0.6186)和TLP2631($0.7920),設(shè)計了一種基于ARM7的紡織機送經(jīng)和卷取系統(tǒng),實現(xiàn)了送經(jīng)卷取系統(tǒng)總線的網(wǎng)絡(luò)節(jié)點設(shè)計,較好地解決了紡織機的電子送經(jīng)和卷曲系統(tǒng)的數(shù)據(jù)傳輸問題。另外,本文系統(tǒng)的通信方案,對于其它工業(yè)測控領(lǐng)域也是可取的。
本文引用地址:http://m.butianyuan.cn/article/201609/303680.htm針對紡織機電子送經(jīng)和卷取系統(tǒng)的數(shù)據(jù)傳輸效率低等問題,設(shè)計了一套基于CAN總線的送經(jīng)和卷取的系統(tǒng),該系統(tǒng)以CAN總線為通信方式,利用ARM主控制器,設(shè)計了電子送經(jīng)和卷取系統(tǒng)的CAN總線通信硬件電路和相關(guān)軟件,實現(xiàn)了主控結(jié)點與卷取驅(qū)動器和送經(jīng)驅(qū)動器的高效通信,結(jié)果表明了該方法的有效性和可靠性。
電子送經(jīng)卷取系統(tǒng)是紡織工藝流程的一個重要環(huán)節(jié),其控制性能的優(yōu)劣直接影響著工藝過程及織機的效率。然而,通信又是該系統(tǒng)的關(guān)鍵技術(shù),使得電子送經(jīng)卷取系統(tǒng)通信的設(shè)計受到國內(nèi)外紡織公司(德國的百格拉,意大利的舒美特等公司)的高度重視,提出了多種設(shè)計方案。然而,中國用戶仍然面臨著劍桿織機送經(jīng)和卷取系統(tǒng)的價格昂貴、操作復雜,數(shù)據(jù)傳輸效率低等問題。
CAN(控制器局域網(wǎng))總線是一種有效支持分布式控制和實時控制的串行通信網(wǎng)絡(luò),與其它通訊相比,其數(shù)據(jù)通信具有突出的靈活性和可靠性。ARM控制器可以滿足一般的工業(yè)控制的需要,其具有減少系統(tǒng)硬件設(shè)計的復雜度和性價比高等優(yōu)點而得到廣泛應(yīng)用。因此,針對國內(nèi)電子送經(jīng)卷取系統(tǒng)數(shù)據(jù)傳輸率低和國外系統(tǒng)價格昂貴問題,本文采用ARM公司的ARM7一UPC2194和Philips公司的PCA82C250為核心器件,研制開發(fā)了一種基于ARM芯片作為主控制器,CAN總線為通信方式的嵌入式電子送經(jīng)卷取系統(tǒng),該系統(tǒng)具有響應(yīng)速度快、傳輸效率高等優(yōu)點。
1 送經(jīng)卷取系統(tǒng)的總體設(shè)計
根據(jù)技術(shù)及經(jīng)濟需求,本設(shè)計選取ARM7-LPC2194為主控制器,作為CAN網(wǎng)絡(luò)節(jié)點控制器,(其中LPC2194內(nèi)部集成有四路CAN控制器而不必外接CAN控制器),應(yīng)用CAN總線技術(shù)和接口電路,實現(xiàn)了節(jié)點間的高效數(shù)據(jù)交換和傳輸。系統(tǒng)總體框圖如圖1所示。
圖1 系統(tǒng)總體框圖
2 系統(tǒng)的硬件設(shè)計
2.1 系統(tǒng)CAN總線的實現(xiàn)
送經(jīng)卷取系統(tǒng)主要由內(nèi)部集成有四路CAN控制器的ARM7-LPC2194芯片、光電隔離器TLP2631、CAN收發(fā)器PCA82C250及送經(jīng)卷取驅(qū)動器等元件組成,其結(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)的硬件電路圖
本設(shè)計分別將協(xié)議控制器通過串行數(shù)據(jù)輸出線TX和串行數(shù)據(jù)輸入線RX連接到光電隔離器TLP2631的3管腳和7管腳,實現(xiàn)了光電隔離。利用CAN收發(fā)器。PCA82C250將從光電隔離器TLP2631輸出的差動的總線信號轉(zhuǎn)換成邏輯信號電平并在RxD輸出,接收到的串行數(shù)據(jù)通過與總線電纜相連的差動發(fā)送和接收總線終端CANH和CANL將數(shù)據(jù)送到總線協(xié)議控制器譯碼,完成了普通電平到顯、隱性電平的傳輸。CAN總線獲取顯、隱性電平后,再經(jīng)過 PCA82C250和光電耦合器TLP2631將數(shù)據(jù)傳輸給送經(jīng)驅(qū)動器、卷取驅(qū)動器的CAN接收端口,從而實現(xiàn)了基于CAN總線的數(shù)據(jù)傳輸。
2.2 系統(tǒng)抗干擾的設(shè)計
信號數(shù)據(jù)傳輸過程中,存在著擾動,為此本設(shè)計采取以下措施來克服干擾的影響:
1)為了滿足光電隔離的要求,本設(shè)計在協(xié)議控制器和CAN收發(fā)器之間加入了TLP2631光電隔離器,有效地抑制了傳輸線中由于耦合電容、電感造成的干擾,實現(xiàn)了不同電平的轉(zhuǎn)換。
2)為了匹配數(shù)據(jù)總線的阻抗和提高數(shù)據(jù)傳輸?shù)目垢蓴_能力,在CAN總線終端的兩端加有兩個120 Ω總線阻抗匹配電阻。若不接這兩個電阻,有時甚至無法通信。采用屏蔽雙絞線以減少現(xiàn)場環(huán)境對結(jié)點的干擾。
3 系統(tǒng)的軟件設(shè)計
送經(jīng)卷取系統(tǒng)的軟件設(shè)計是實現(xiàn)數(shù)據(jù)高效通信的關(guān)鍵,本文的軟件部分主要由數(shù)據(jù)采集程序和CAN總線通信程序設(shè)計兩部分組成。其中數(shù)據(jù)采集程序可參考文獻,本文重點論述CAN通訊程序的設(shè)計。
3.1 開發(fā)環(huán)境
軟件開發(fā)環(huán)境,選用ADS1.2集成開發(fā)環(huán)境,ADS是ARM微控制器集成開發(fā)工具。ADS1.2支持ARM10之前所有ARM系列,支持軟件調(diào)試及 JTAG硬件仿真調(diào)試,支持匯編語言、C/C++源程序;具有編譯效率高、系統(tǒng)庫功能強等特點;可以在WINDOWS 98、WINDOWS XP、WINDOWS 2000上運行。
3.2 CAN總線通信主程序的設(shè)計
本程序采用模塊化結(jié)構(gòu),來實現(xiàn)各結(jié)點間的通信。程序首先對CAN控制器函數(shù)初始化,其次檢測是否有接收幀和數(shù)據(jù)異常,實現(xiàn)數(shù)據(jù)的接收和發(fā)送。從而完成 ARM芯片啟動代碼的編碼,其結(jié)構(gòu)如圖3所示。然后,主程序通過調(diào)用CAN啟動驅(qū)動程序提供的接口,便可實現(xiàn)數(shù)據(jù)的有效傳輸。
圖3 通信主程序流程圖
3.3 CAN控制器函數(shù)初始化
CAN控制器初始化,主要是完成總線的參數(shù)設(shè)置,其主要包括硬件使能、寄存器復位、波特率及驗收濾波器的工作方式等設(shè)置,其結(jié)構(gòu)如圖4所示。
圖4 初始化子程序流程圖
硬件使能是通過寄存器來控制多路開關(guān)并使其與CAN控制器連接,因為CAN的某些寄存器必須在軟復位狀態(tài)下讀寫,所以一定要進行軟件復位。
初始化子程序采用的主要函數(shù)如下:
3.4 數(shù)據(jù)接收子程序
接收數(shù)據(jù)可采用查詢方式或中斷方式,本文采用數(shù)據(jù)查詢方式,完成子程序的設(shè)計,利用旁路濾波器,通過查詢接收數(shù)據(jù)存儲空間,判斷是否接收信息寄存器、標識符寄存器、數(shù)據(jù)寄存器的RX幀。由于接收緩沖區(qū)的容量不大,所以接收緩沖區(qū)接收幀,必須立即進入環(huán)形接收緩沖區(qū),然后再對環(huán)形接收緩沖區(qū)里的信息進行分類處理。
評論