基于CAN總線(xiàn)智能節點(diǎn)的設計
CAN總線(xiàn)最早是德國的BOSCH公司為解決汽車(chē)的監測,控制系統而設計的?,F在,已由汽車(chē)行業(yè)擴展到過(guò)程工業(yè),機械工業(yè),機器人和樓宇自動(dòng)化等領(lǐng)域??偨Y各個(gè)領(lǐng)域中的應用實(shí)例,CAN通信設計的關(guān)鍵在于各個(gè)通信模塊的設計與實(shí)現。通信信號一般有模擬量輸入/輸出(電壓電流采集模塊),開(kāi)關(guān)量輸入\輸出,數字量輸入\輸出(如計數器模塊)等。本文重點(diǎn)就模擬量輸入模塊和開(kāi)關(guān)量輸入模塊的設計,采用具有CAN接口的C8051F550單片機作為系統設計的從節點(diǎn),用來(lái)采集模擬量和開(kāi)關(guān)量,實(shí)現與上位機中央控制器的通信。
1 CAN總線(xiàn)通信網(wǎng)絡(luò )系統
如圖1所示,本設計中通過(guò)帶有終端器(120歐電阻)的通信介質(zhì)(雙絞線(xiàn))將上位機和底層模塊連接起來(lái)。實(shí)驗中,終端電阻和雙絞線(xiàn)阻抗的匹配確保了數據信號不會(huì )在總線(xiàn)的兩端反射。上位機(主節點(diǎn))采用USB—CAN接口適配器(型號GYB507),使PC機直接通過(guò)USB接口就可連入CAN總線(xiàn)網(wǎng)絡(luò ),成為一個(gè)標準的CAN節點(diǎn)。配合總線(xiàn)通信測試軟件CANtool的使用,可直接配置PC機的發(fā)送與接收狀態(tài),通信速率和報文濾波功能等。同時(shí),還可實(shí)時(shí)監測顯示網(wǎng)絡(luò )中各從節點(diǎn)與PC機的數據通信,應用簡(jiǎn)單、方便。
圖1 CAN總線(xiàn)通信網(wǎng)絡(luò )結構
2 智能節點(diǎn)硬件設計
傳統的從節點(diǎn)設計是將CPU與CAN總線(xiàn)控制器和總線(xiàn)收發(fā)器相連后再連入總線(xiàn)網(wǎng)絡(luò ),這樣使CPU外圍電路復雜化,整個(gè)系統受外部影響較大。為了解決這一問(wèn)題,很多單片機廠(chǎng)商都將CAN控制器集成在單片機上。本文中選用C8051F550該單片機,它是內部集成的CAN控制器,完全按照BoshchCAN全功能的CAN模塊實(shí)現,符合CAN2.0B協(xié)議,工作位速率可達1Mpbs??刂破靼幸粋€(gè)CAN內核,消息緩沖區,報文處理狀態(tài)機和CAN控制寄存器。通信控制器有32個(gè)消息對象,可以配置為發(fā)送或接收數據。輸入數據,消息對象及其標識符存儲在CAN消息緩沖區中,能實(shí)現CAN協(xié)議的數據鏈路層的全部功能及物理層大部分功能。CIP-51CPU可通過(guò)特殊功能寄存器直接或間接訪(fǎng)問(wèn)CAN控制寄存器(CANOCN),測試寄存器(CANOTST)和狀態(tài)寄存器(CANOSTA)。所有其它寄存器只能通過(guò)CANOADR,CANODATH和CANOTAL寄存器以地址索引方式間接訪(fǎng)問(wèn)。
CAN總線(xiàn)的驅動(dòng)器采用隔離CAN總線(xiàn)收發(fā)器CTM1050,通信速率1Mbps,至少可連接110個(gè)節點(diǎn)。內部集成的電氣輸入級隔離電路,可隔離高達2 500V的直流電壓。輸入級兼容3.3V和5V的CAN控制器,輸出級驅動(dòng)具有溫度保護,內部TVS管可防止總線(xiàn)過(guò)壓功能。與傳統的PCA82C250總線(xiàn)收發(fā)器相比,主要優(yōu)點(diǎn)是無(wú)需外加光耦可直接使用,外圍電路簡(jiǎn)單,安全,可滿(mǎn)足工業(yè)現場(chǎng)惡劣條件的使用。圖2所示為C805117550與CTM1050的接口電路。
圖2 C805F550與CTM1050的接口電路
3 智能節點(diǎn)軟件設計
圖1中三個(gè)節點(diǎn)與上位機的通信方式采用的是節點(diǎn)1、3與上位機實(shí)現點(diǎn)對點(diǎn)通信工作方式。節點(diǎn)1、3的微處理器C8051F550上電復位后,自動(dòng)采集模擬電壓信號,通過(guò)C8051F550內部集成的12位A/D轉換,將數字量發(fā)送到上位機。上位機實(shí)時(shí)進(jìn)行數據監控,如果收到的數據出現錯誤,可以通過(guò)CANtool軟件,發(fā)送自定義的錯誤數據標識給兩個(gè)節點(diǎn),兩節點(diǎn)收到該數據后,停止A/D采樣工作。節點(diǎn)1、3與節點(diǎn)2是主從工作方式。當節點(diǎn)2的開(kāi)關(guān)量有按鍵按下時(shí),1、3節點(diǎn)將實(shí)時(shí)采集到的數據在發(fā)送給節點(diǎn)2,并在節點(diǎn)2的LCD上顯示。
評論