基于CAN 總線的智能傳感器網(wǎng)絡(luò)
隨著自動化程度的提高和信息的網(wǎng)絡(luò)化進程, 所需要的測控點和測控參量越來越多, 使得一個自動控制系統(tǒng)日益龐大而復(fù)雜。對于一個系統(tǒng)來說, 需要的傳感器數(shù)目成倍增加。為了使各智能儀表與上位機能實時、高速、準(zhǔn)確地通信, 選擇較理想的現(xiàn)場總線則是很關(guān)鍵的?,F(xiàn)場總線是開放型控制系統(tǒng), 是用于現(xiàn)場總線儀表與控制室之間的一種全數(shù)字化、串行、雙向、多站的通訊網(wǎng)絡(luò) 。CAN 是其中很有發(fā)展前景的一種現(xiàn)場總線。在網(wǎng)絡(luò)化的系統(tǒng)中, 每只傳感器作為一個智能節(jié)點掛接在CAN 總線上, 整個系統(tǒng)如圖1所示。
圖1 CAN 總線系統(tǒng)框圖
1 CAN 總線的技術(shù)特點
a) CAN 通信速率為(5kB/s)/10km、(1MB/s)/40m ,其節(jié)點數(shù)可達110 個, 傳輸介質(zhì)采用雙絞線、同軸電纜和光纖等;
b) 采用點對點, 一點對多點及全局廣播等幾種方式發(fā)送接收數(shù)據(jù);
c) 采用非破壞性總線優(yōu)先級仲裁技術(shù)。當(dāng)兩個節(jié)點同時向網(wǎng)絡(luò)上發(fā)送信息時優(yōu)先級低的節(jié)點主動停止發(fā)送數(shù)據(jù), 而優(yōu)先級高的節(jié)點可不受影響地繼續(xù)發(fā)送信息。因此。按節(jié)點類型分成不同的優(yōu)先級, 可以滿足不同的實時要求;
d) 可實現(xiàn)全分布式多機系統(tǒng), 且無主、從機之分, 每個節(jié)點均主動發(fā)送報文, 用此特點可以方便地構(gòu)成多機備份系統(tǒng); e) 支持四類報文幀: 數(shù)據(jù)幀、遠程幀、出錯幀、超載幀。它采用短幀結(jié)構(gòu), 每幀有效字節(jié)數(shù)為8 個。 這樣, 傳輸時間短, 受干擾的概率低, 且具有較好的檢錯結(jié)果。
此外, CAN 采用循環(huán)冗余校驗; 其節(jié)點具有自動關(guān)閉的功能。由于帶有CAN 總線接口的傳感器種類還不多, 價格也較貴, 為了使總線能與上位機更好的實時的通信, 可以自行設(shè)計一種由8051 單片機和SJAl000 獨立CAN 總線控制為核心構(gòu)成的智能節(jié)點。在普通傳感器基礎(chǔ)上形成可接收8 路模擬量輸入的智能傳感器網(wǎng)絡(luò)。
2 SJAl000 的硬件結(jié)構(gòu)和功能
如圖2 所示, SJAl000從邏輯上可分為7 個部分:
a) IML (接口管理邏輯) IML 用于解釋來自CPU 的命令, 分配信息緩沖區(qū)并向CPU 提供中斷及狀態(tài)信息;
b) 發(fā)送緩沖區(qū)TXB 13 字節(jié)長存儲器, 外部CPU 將要發(fā)送的信息寫入此緩沖區(qū);
c) 接收緩沖區(qū)RXB 接收緩沖區(qū)為64 字節(jié)的CPU 接收信息的FIFO 寄存器;
d) 接收過濾器ACF 對接收到的信息ID 與ACF 內(nèi)容相比較以決定是否接收信息;
e) 位流處理器BSP 用來控制發(fā)送、接收緩沖區(qū)及CAN 總線的數(shù)據(jù)流;
f) 定時邏輯BTL 用于控制CAN 總線上數(shù)據(jù)的傳輸速率與同步;
g) 錯誤管理邏輯EML 按CAN 協(xié)議進行錯誤管理。
圖2 SJAl000 邏輯框圖
3 CAN 總線在智能傳感器網(wǎng)絡(luò)中的應(yīng)用
以一路信號采集為例。圖3 是CAN 控制器和收發(fā)器與單片機及ADC0809 的接口電路圖。CAN 控制器采用PHILIPS SJA1000 , 單片機采用89C51 , 主要完成信號的采集和對信號的預(yù)處理, 并把經(jīng)過處理的數(shù)據(jù)傳給上位機。82C250 是CAN 控制器SJA1000 與CAN 物理總線的接口器件, 它驅(qū)動總線差動接收或發(fā)送??紤]到現(xiàn)場有各種各樣的干擾, 在CAN 控制器和驅(qū)動器之間加了高速光耦隔離器件(6N137) 。由于CAN 控制器和反饋控制器內(nèi)部都有自己的時鐘產(chǎn)生電路, 為了使兩者協(xié)調(diào), 外加的晶振在CAN 控制器上作為整個系統(tǒng)的時鐘, 且將CAN 控制器的時鐘輸出作為微控制器的時鐘輸入; SJAl000 的中斷輸出接至CPU 的INT1 端; 通過中斷方式實現(xiàn)單片機與CAN 控制器的通信; 同時為了使CAN 控制器和微控制器能同時可靠復(fù)位, 外加了手動復(fù)位電路。另外, 由于ADC0809 轉(zhuǎn)換器具有三態(tài)輸出鎖存功能, 可以直接與89C51 的總線相連, 在系統(tǒng)中把ADC0809 轉(zhuǎn)換器當(dāng)作外部RAM單元對待。
評論