咨詢(xún)電話(huà)
ENGLISH0755-88840386發(fā)布時(shí)間:2022-01-06 17:17:01 |來(lái)源:網(wǎng)絡(luò)轉(zhuǎn)載
隨著國(guó)內(nèi)煤炭、 冶金、 電力、 化工等行業(yè)的迅速發(fā)展, 對(duì)皮帶秤、 配料秤、 料斗秤等多種工業(yè)計(jì)量裝置及其聯(lián)網(wǎng)系統(tǒng)的需求量日益增加。國(guó)內(nèi)稱(chēng)重行業(yè)目前普遍采用 RS- 485 來(lái)實(shí)現(xiàn)信號(hào)的傳輸。隨著對(duì)通信要求的提升, RS- 485 通信方式無(wú)完整的協(xié)議規(guī)約、 系統(tǒng)實(shí)時(shí)性差、 通訊可靠性低、 后期維護(hù)成本高、 傳輸距離不理想、 應(yīng)用不靈活等缺點(diǎn)對(duì)監(jiān)控網(wǎng)絡(luò)的延伸、 功能強(qiáng)化、 應(yīng)用環(huán)境都有很大的影響。而 CAN 總線(xiàn)作為到目前為止唯一具有國(guó)際標(biāo)準(zhǔn)的現(xiàn)場(chǎng)總線(xiàn)技術(shù), 其數(shù)據(jù)通信具有突出的優(yōu)點(diǎn), 可靠性高、 實(shí)時(shí)性強(qiáng)和靈活性好, 應(yīng)用前景非常樂(lè)觀 [1 ] 。本文是基于智能稱(chēng)重儀表 XK3108 的 CAN 總線(xiàn)整體設(shè)計(jì), 以滿(mǎn)足大型工礦企業(yè)對(duì)配料稱(chēng)等多種儀表提出的具有現(xiàn)場(chǎng)總線(xiàn)接口功能的需要, 實(shí)現(xiàn)儀表與上位機(jī)設(shè)備的優(yōu)化通信, 將企業(yè)中的皮帶秤、 配料秤等多種計(jì)量衡器稱(chēng)重相關(guān)數(shù)據(jù)送入企業(yè)網(wǎng), 實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)采集和數(shù)據(jù)共享。
1 CAN 總線(xiàn)與 RS- 485 特點(diǎn)的比較
CAN 總線(xiàn)最早由德國(guó) Bosch 公司推出, 由于其具有高性能、 高可靠性的優(yōu)點(diǎn)及獨(dú)特的設(shè)計(jì), 因此其應(yīng)用范圍已向過(guò)程工業(yè)、 機(jī)械工業(yè)、 機(jī)器人、傳感器等領(lǐng)域拓展。 CAN 已經(jīng)形成國(guó)際標(biāo)準(zhǔn) [2 ] , 并被公認(rèn)為是幾種最有前途的現(xiàn)場(chǎng)總線(xiàn)之一。 CAN 總線(xiàn)的優(yōu)點(diǎn)為通信方式采用非破壞性仲裁技術(shù),按優(yōu)先級(jí)不同進(jìn)行信號(hào)傳輸, 傳輸速率高, 距離遠(yuǎn), 易于管理。 RS-485 雖比RS-232 在傳輸距離和抗干擾能力上有了長(zhǎng)足的進(jìn)步, 但它只能構(gòu)成主從式結(jié)構(gòu)系統(tǒng), 通信方式也只能以主站輪詢(xún)的方式進(jìn)行, 沒(méi)有自己的通信協(xié)議, 無(wú)故障定位和錯(cuò)誤處理功能, 運(yùn)行效率低, 高峰期易堵塞, 同時(shí)傳輸距離也同樣受到限制。
2 CAN 總線(xiàn)協(xié)議
根據(jù) ISO/OSI 參考模型, CAN 總線(xiàn)協(xié)議分層如下:
( 1 ) 數(shù)據(jù)鏈路層 ( Data Link Layer ) 。又分為邏輯鏈路控制子層 ( LLC,Logical Link Control ) 和介質(zhì)訪(fǎng)問(wèn)控制子層 ( MAC,MediumAccess Control ) 。
邏輯鏈路控制子層 ( LLC ) 的作用是為遠(yuǎn)程數(shù)據(jù)請(qǐng)求以及數(shù)據(jù)傳輸提供服務(wù), 主要完成報(bào)文濾波、 過(guò)載通知以及恢復(fù)管理等工作。介質(zhì)訪(fǎng)問(wèn)控制子層 ( MAC ) 的作用主要是傳送規(guī)則, 控制幀的結(jié)構(gòu)、 執(zhí)行仲裁、 錯(cuò)誤檢驗(yàn)、 錯(cuò)誤標(biāo)定、 故障界定。
( 2 ) 物理層 ( Physical Layer ) 。 物理層的作用是在不同節(jié)點(diǎn)之間根據(jù)所有的電氣屬性進(jìn)行位的實(shí)際傳輸, 涉及到位時(shí)間、 位編碼、 同步的解釋。
CAN 總線(xiàn)提供 4 種幀結(jié)構(gòu)進(jìn)行報(bào)文傳輸 [3 ] , 它們分別為帶有應(yīng)用數(shù)據(jù)的數(shù)據(jù)幀、 向網(wǎng)絡(luò)請(qǐng)求數(shù)據(jù)的遠(yuǎn)程幀、 能夠報(bào)告每個(gè)節(jié)點(diǎn)錯(cuò)誤的出錯(cuò)幀以及如果節(jié)點(diǎn)的接收器電路尚未準(zhǔn)備好就會(huì)延遲傳輸?shù)倪^(guò)載幀。在這4 種幀中, 又可以將一幀分為幾個(gè)部分, 每一部分負(fù)責(zé)不同的功能。
3 系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)主要由國(guó)家重點(diǎn)新產(chǎn)品 XK3108 配料秤智能稱(chēng)重儀表 ( 帶 CAN控制器) 、 皮帶秤智能稱(chēng)重儀表 ( 帶 CAN 控制器) 、 CAN 總線(xiàn)、 上位機(jī) ( 配有 CAN 適配器) 以及遠(yuǎn)程管理計(jì)算機(jī)組成。各稱(chēng)重儀表通過(guò) CAN 總線(xiàn)將瞬時(shí)流量、 累計(jì)流量、 皮帶速度等相關(guān)數(shù)據(jù)送入上位機(jī), 實(shí)現(xiàn)對(duì)現(xiàn)場(chǎng)儀表進(jìn)行集中管理, 同時(shí)可由以太網(wǎng)進(jìn)行遠(yuǎn)程數(shù)據(jù)共享, 將相關(guān)數(shù)據(jù)送入管理層計(jì)算機(jī)。
微控制器選用美國(guó)模擬器件公司 ( ADI ) 的 ADuC845 , 該芯片集成ADI 公司精密數(shù)據(jù)轉(zhuǎn)換器、 可編程微控制器 ( MCU ) 和閃速存儲(chǔ)器, 它是一個(gè)快速可編程的 8 位單片機(jī) [4 ] , 具有靈活的在線(xiàn)編程功能。 ADuC845具有看門(mén)狗電路、 電源監(jiān)視等功能, 因此該系統(tǒng)可以在強(qiáng)電磁干擾、 波動(dòng)以及惡劣的環(huán)境下正常工作。微處理器 ADuC845 對(duì) SJA1000 進(jìn)行初始化后實(shí)現(xiàn)數(shù)據(jù)采集和數(shù)據(jù)傳輸。 CAN 控制器選用具有訪(fǎng)問(wèn)優(yōu)先權(quán)的獨(dú)立控制芯片 SJA1000 , 它是 Philips 公司生產(chǎn)的高度集成的通信控制器, 具有較強(qiáng)的抗干擾能力和檢錯(cuò)、 糾錯(cuò)的能力, 在 SJA1000 硬件結(jié)構(gòu)中, 包括為實(shí)現(xiàn)高性能串行網(wǎng)絡(luò)通信所必需的所有硬件。 CAN 收發(fā)器選用 Philips公司的 TJA1050 , 此芯片完全符合 ISO11898 標(biāo)準(zhǔn), 能提供向總線(xiàn)差動(dòng)發(fā)送能力和對(duì) CAN 控制器的差動(dòng)接收能力, 電磁抗干擾能力極強(qiáng), 電磁輻射極低。為了增強(qiáng) CAN 總線(xiàn)節(jié)點(diǎn)的抗干擾能力, SJA1000 的 TX0 和 RX0并不是直接與 TJA1050 的 TXD 和 RXD 相連 , 而是通過(guò)高速光耦 6N137后與 TJA1050 相連, 這樣就很好地實(shí)現(xiàn)了總線(xiàn)上各 CAN 節(jié)點(diǎn)間的電氣隔離, 光耦部分由兩個(gè)電源分別供電來(lái)實(shí)現(xiàn)電氣的完全隔離。 CANH 和CANL 與地之間并聯(lián)了兩個(gè) C103 的小電容 , 可以起到濾除總線(xiàn)上的高頻干擾和一定的防電磁輻射的作用。
4 CAN 總線(xiàn)軟件程序設(shè)計(jì)
CAN 總線(xiàn)軟件程序設(shè)計(jì)主要包括主程序 ( 系統(tǒng)初始化、 任務(wù)調(diào)度、 喂狗等) 、 SJAI000 初始化程序、 CAN 總線(xiàn)發(fā)送數(shù)據(jù)程序和 CAN 總線(xiàn)接收數(shù)據(jù)程序。 SJAI000 在復(fù)位模式下完成初始化, 主要設(shè)置工作方式、 接收濾波方式、 接收屏蔽寄存器 AMR 和接收代碼寄存器 ACR 、 波特率參數(shù)和中斷允許寄存器等。
SJA1000 初始化程序設(shè)置如下:
CANMOD=0x1; // 接收中斷和復(fù)位請(qǐng)求
CANCDR=0x8; // 選擇 CAN 模式
CANAMR=0xff; // 接收屏蔽寄存器
CANACR=0x01; // 接收代碼寄存器
CANBTR0=0x09; // 設(shè)置波特率
CANBTR1=0x1c; // 定時(shí)寄存器 1
CANOCR=0xaa; // 輸出控制寄存器
CANMOD=0x02 ; // 設(shè)置單濾波接收方式
CANCMR=0x0e;
5 結(jié)語(yǔ)
通過(guò)實(shí)驗(yàn)得出 CAN 總線(xiàn)比 RS- 485 總線(xiàn)通信有明顯的優(yōu)越性, 上位機(jī)處理事件更及時(shí), 單個(gè)模塊出錯(cuò)不能影響到整個(gè)系統(tǒng), 抗干擾性能也提高了許多。因此, CAN 總線(xiàn)有很好的推廣價(jià)值, 采用 CAN 總線(xiàn)技術(shù)的數(shù)據(jù)采集系統(tǒng), 以其通信可靠、 抗干擾性好、 傳輸距離遠(yuǎn)的特點(diǎn), 越來(lái)越受到人們的重視。
本文源于網(wǎng)絡(luò)轉(zhuǎn)載,如有侵權(quán),請(qǐng)聯(lián)系刪除