CAN總線(xiàn)+單片機實(shí)現通信網(wǎng)絡(luò )設計
完全符合ISO11898國際標準的CAN總線(xiàn)物理層專(zhuān)用接口電路有多種,這里僅以CAN總線(xiàn)通用接口電路PCA82C250為例對這類(lèi)接口芯片作以說(shuō)明。PCA82C250的引腳圖如圖1所示。各功能引腳如下:
1腳:欲發(fā)送數據的輸入端;
2腳:電源地端;
3腳:電源端;
4腳:接收數據的輸出端;
5腳:參考電壓的輸出端;
7腳:高電平CAN總線(xiàn)輸入/輸出端;
8腳:總線(xiàn)脈沖斜率控制電阻連接端。
PCA82C250可以提供對總線(xiàn)數據的差動(dòng)發(fā)送能力和對通信總線(xiàn)數據的差動(dòng)接收能力。其引腳8較為特殊,該引腳用于選擇電路自身的工作方式;高速、斜率控制和待機。該腳接地時(shí),PCA82C250工作于高速通信方式;接一個(gè)一定阻值的電阻器后再接地,用于控制發(fā)送數據脈沖的上升和下降斜率(斜率正比于引腳8上的電流值),用以減少射頻干擾;該腳接高電平時(shí),電路進(jìn)入低電流待機狀態(tài)。在這種方式下,發(fā)送器被關(guān)閉,接收器轉至低電流工作,但接收器仍可對CAN總線(xiàn)上的“顯性”位做出。
如果PCA82C250處于通信總線(xiàn)的網(wǎng)絡(luò )終端,在總線(xiàn)上需要加一個(gè)120Ω左右的匹配電阻。
4 應用實(shí)例
以Atmal AT89C55型單片機為例,AT89C55與RS-485總線(xiàn)接口電路及AT89C55與CAN總線(xiàn)物理層專(zhuān)用接口電路的對比連接圖如圖2所示。
由圖2的對比中可以看出,PCA82C250與AT89C55的硬件連接比MAX485與AT89C55的硬件連接還要簡(jiǎn)單,因為,PCA82C250的通信過(guò)程無(wú)需接收與發(fā)送的硬件轉換控制,僅由軟件來(lái)控制接浮時(shí),CAN總線(xiàn)表現為“隱性”位數值,即CANH和CANL為懸浮態(tài)(VCAHN≈CANL≈VCC/2,相當于關(guān)閉總線(xiàn)),這為具有“休眠”功能的系統提供了網(wǎng)絡(luò )安全保障;當TXD端輸入為低電平時(shí),CAN總線(xiàn)表現為“顯性”位數值(向總線(xiàn)傳送有效數據位),即CANH輸出高電壓(約3.5V,當VCC為5V時(shí))、CANL輸出低電平(約1.5V,當Vcc為5V時(shí))。顯然,在多主機條件下,“顯性”位和“隱性”位的引入,可在總線(xiàn)上實(shí)現非破壞性總線(xiàn)仲裁,以裁決哪一個(gè)主設備應是下一個(gè)占有總線(xiàn)的設備。由于沒(méi)有用到PCA82C250參考電壓的輸出值,因此,PCA82C250的5腳可懸空,而8腳所接的電阻RS用于控制CAN總線(xiàn)的輸出脈沖的上升、下降沿的斜率,以降低總線(xiàn)的射頻干擾。當RS上的電阻大于0.75CC時(shí),PCA82C250芯片進(jìn)入低功耗待機狀態(tài);當RS上的電壓小于0.3Vcc時(shí),PCA82C250進(jìn)入高速通信狀態(tài);當RS上的電壓處于0.4Vcc至0.6Vcc之間時(shí),PCA82C250進(jìn)入CAN總線(xiàn)輸出脈沖上升、下降沿的斜率控制通信狀態(tài),其斜率大小與RS上的電壓成正比。
圖2中,二個(gè)通信系統的軟件幾乎相同。當采用PCA82C250的作為總線(xiàn)接口替代原有的MAX485時(shí),在軟件上所做的變更有:首先,可取消RS-485總線(xiàn)的通信方向控制指令部分,因為CA7402097N總線(xiàn)接口已不需要此功能;其次,RS-485總線(xiàn)在總線(xiàn)發(fā)送時(shí),由于發(fā)送、接收控制端已連接在一起,即自動(dòng)關(guān)閉了總線(xiàn)數據接收功能,而CAN總線(xiàn)接口在總線(xiàn)數據發(fā)送的同時(shí)也在進(jìn)行總線(xiàn)數據的接收(CAN總線(xiàn)接口不提供通信接收、發(fā)送數據的分離控制功能),因此,在軟件設計上對此應有所考慮。當然,這為多機通信系統中的總線(xiàn)數據沖突的軟件識別與仲裁提供了條件。
當需要MCU與通信網(wǎng)絡(luò )之間的電氣隔離時(shí),可在MCU與CAN總線(xiàn)的物理層專(zhuān)用接口電路之間增加2個(gè)光電隔離器件(如6N137光電隔離電路),即可實(shí)現MCU與通信網(wǎng)絡(luò )之間的電氣隔離。
5 結論
軟件上僅做少許修改,甚至不修改原有的RS-485總線(xiàn)的通信軟件就能適應新的系統工作。必要時(shí)通過(guò)修改原有的RS-485總線(xiàn)的通信軟件即可實(shí)現多主式多機數據通信,充分利用了CAN總線(xiàn)物理層的優(yōu)勢。在硬件方面,能夠以簡(jiǎn)單的形式、較低的價(jià)格、較高的性能構造出極具競爭力的分布式測控系統,使多機互連的分布式測控系統的通信網(wǎng)絡(luò )性能得以提升。
評論