基于STC89C51的CAN總線點對點通信模塊設(shè)計
摘要:隨著人們對總線對總線各方面要求的不斷提高,總線上的系統(tǒng)數(shù)量越來越多,繼而出現(xiàn)電路的復(fù)雜性提高、可靠性下降、成本增加等問題。為解決上述問題,文中闡述了基于SJAl000的CAN總線通信模塊的實現(xiàn)方法,該方法以PCA82C250作為通信模塊的總線收發(fā)器,以SITA-l000作為網(wǎng)絡(luò)控制器。并以STCSTC89C5l單片機來完成基于STC89C5l的CAN通信硬件設(shè)計。文章還就平臺的初始化、模塊的發(fā)送和接收進行了設(shè)計和分析。通過測試分析證明,該系統(tǒng)可以達到CAN的通信要求,整個系統(tǒng)具有較高的實用性。
關(guān)鍵詞:CAN總線;SJAl000;82C250;STC89C51
O 引言
現(xiàn)場總線是應(yīng)用在生產(chǎn)最底層的一種總線型拓撲網(wǎng)絡(luò),是可用做現(xiàn)場控制系統(tǒng)直接與所有受控設(shè)備節(jié)點串行相連的通信網(wǎng)絡(luò)。在工業(yè)自動化方面,其控制的現(xiàn)場范圍可以從一臺家電設(shè)備到一個車間、一個工廠。一般情況下,受控設(shè)備和網(wǎng)絡(luò)所處的環(huán)境可能很特殊,對信號的干擾往往也是多方面的。但要求控制則必須實時性很強,這就決定了現(xiàn)場總線有別于一般的網(wǎng)絡(luò)特點。此外,由于現(xiàn)場總線的設(shè)備通常是標(biāo)準(zhǔn)化和功能模塊化,因而還具有設(shè)計簡單、易于重構(gòu)等特點。
1 CAN總線概述
CAN (Controller Area Network)即控制器局域網(wǎng)絡(luò),最初是由德國Bosch公司為汽車檢測和控制系統(tǒng)而設(shè)計的。與一般的通信總線相比,CAN總線的數(shù)據(jù)通信具有突出的可靠性、實時性和靈活性。其良好的性能及獨特的設(shè)計,使CAN總線越來越受到人們的重視。由于CAN總線本身的特點,其應(yīng)用范圍目前已不再局限于汽車行業(yè),而向自動控制、航空航天、航海、過程工業(yè)、機械工業(yè)、紡織機械、農(nóng)用機械、機器人、數(shù)控機床、醫(yī)療器械及傳感器等領(lǐng)域發(fā)展。目前,CAN已經(jīng)形成國際標(biāo)準(zhǔn),并已被公認為幾種最有前途的現(xiàn)場總線之一。它的直線通信距離最大可以達到l Mbps/30m.其它的節(jié)點數(shù)目取決于總線驅(qū)動電路,目前可以達到110個。
2 CAN系統(tǒng)硬件設(shè)計
圖l所示是基于CAN2.0B協(xié)議的CAN系統(tǒng)硬件框圖,該系統(tǒng)包括電源模塊、MCU部分、CAN控制器、光電耦合器、CAN收發(fā)器和RS232接口。硬件系統(tǒng)MCU采用STC89C5l,CAN控制器采用SJAl000,CAN收發(fā)器采用PCA82C250,光耦隔離采用6N137。
圖l中的CAN控制器SJAl000是CAN控制器(BasicCAN)PCA82C200的替代產(chǎn)品,它增加了一種新的操作模式(PeliCAN),這種模式可以支持很多新特性的CAN2.OB協(xié)議。微處理器STC89C5l在一定的模式下可對SJAl000中的寄存器進行讀寫操作,以控制SJAl000進行數(shù)據(jù)的發(fā)送和接收。
CAN收發(fā)器PCA82C250是CAN控制器與物理總線之間的接口。它最初是為汽車中的高速應(yīng)用(lMbps)而設(shè)計的。該器件可以提供對總線的差
動發(fā)送和接收功能。它采用雙線差分驅(qū)動方式,有助于抑制汽車等惡劣電氣環(huán)境下的瞬變干擾。PCA82C250可對SJAl000傳來的TTL電平和CAN總線差動信號進行相互轉(zhuǎn)換,而且可使總線具有較好的EMC特性。
數(shù)字通信相關(guān)文章:數(shù)字通信原理
評論