CAN總線在程控交換機中的應(yīng)用設(shè)計
在電話程控交換機中,控制系統(tǒng)由前端處理、主控制和維護管理三級處理系統(tǒng)構(gòu)成。
主控制機與前端處理機之間有通信處理機,它主要完成通信功能,將從各從節(jié)點傳來的信息整理打包傳往主控單元,并將從主控單元發(fā)送來的命令分配發(fā)往各從節(jié)點。其中,前端處理機與主控機連接的電路結(jié)構(gòu)如圖1所示。
主控制機與6個通信處理機之間通過雙口RAM,以中斷方式傳送數(shù)據(jù),每個通信處理機與前端處理機都采用具有HDLC協(xié)議的8044芯片,各前端機不能主動發(fā)起與通信控制機的通信,必須等待通信控制機詢問該節(jié)點時才能向它發(fā)送數(shù)據(jù)。
對于圖1的應(yīng)用,本文采用CAN總線技術(shù)來實現(xiàn),大大減化了軟硬件設(shè)計,降低了成本。
CAN總線設(shè)計關(guān)鍵點
物理層設(shè)計
CAN總線為了使用的靈活性,沒有嚴(yán)格定義物理層的連接和媒質(zhì),這雖然使物理層的設(shè)計相當(dāng)靈活,但對CAN總線設(shè)計的新手來說,此處也是容易出問題的地方。從應(yīng)用來看,CAN控制器只引出了TX0、TX1兩個發(fā)送輸出端(它們具有互補的電平輸出)和RX0、RX1兩個差分比較輸入端。因此,應(yīng)用中要根據(jù)需要自行設(shè)計物理層的連接和總線電平。
總的原則是:針對TX0、TX1的兩種輸出狀態(tài)(顯性、隱性),總線應(yīng)具有兩種不同的電平,這兩種電平可以使差分輸入的接收端呈現(xiàn)兩種狀態(tài)(顯性、隱性)。根據(jù)不同的傳輸距離和傳輸速率要求,有著相應(yīng)的設(shè)計方案,本文圖2所示的電路中,CAN總線控制器采用的是SJA1000,物理層驅(qū)動采用PCA82C250,通過設(shè)置PCA82C250的引腳8(Rs)可以使其分別工作在高速、斜率控制和待機方式下。在斜率控制工作方式下,對于較低速度或較短總線長度的應(yīng)用場合,可用非屏蔽雙絞線或平行線作總線,為降低射頻干擾,可通過調(diào)整引腳8到地的連接電阻大小來實現(xiàn)。為了增加抗干擾能力,圖2電路中在CAN控制器和PCA82C250之間加入了6N137高速光耦。該方案的主要特點是:位速度:0~1Mbit/s;節(jié)點數(shù):2~110個。
軟件編程
所有的CAN控制器具有相同的結(jié)構(gòu)和順序,只不過是在存儲器中映象的偏移量不同。圖2所示的電路中,CAN控制器SJA1000寄存器定義在4000H~401DH的范圍之內(nèi)。CAN總線數(shù)據(jù)通信的軟件編程通過對30個寄存器的操作來完成,其收發(fā)的程序框圖如圖3所示。
程控交換機中主控機與前端處理機通信的電路設(shè)計
對于圖1所示的電路,若采用CAN總線通信方式,則省去了通信處理機,硬件結(jié)構(gòu)簡單,且各節(jié)點都可以作為主節(jié)點發(fā)起通信,其電路結(jié)構(gòu)如圖3所示。主控制機由80586和CAN適配器構(gòu)成,適配器上的8051與80586通過雙口RAM,以內(nèi)存映射方式交換信息。這里著重介紹前端機部分,前端機主要由8051、SJA1000和PCA82C250等構(gòu)成,控制譯碼電路由GAL22V10完成。其電路如圖4所示。
CAN控制器SJA1000的數(shù)據(jù)與地址端是時分復(fù)用的,其讀寫時序與8051讀寫片外RAM時的操作是兼容的,故其可以與8051直接相連,而不需要加地址鎖存器。
前端機CAN總線的初使化、發(fā)送及接收程序框圖如圖5所示。
評論