CAN總線(xiàn)在程控交換機中的應用設計
在電話(huà)程控交換機中,控制系統由前端處理、主控制和維護管理三級處理系統構成。
主控制機與前端處理機之間有通信處理機,它主要完成通信功能,將從各從節點(diǎn)傳來(lái)的信息整理打包傳往主控單元,并將從主控單元發(fā)送來(lái)的命令分配發(fā)往各從節點(diǎn)。其中,前端處理機與主控機連接的電路結構如圖1所示。
主控制機與6個(gè)通信處理機之間通過(guò)雙口RAM,以中斷方式傳送數據,每個(gè)通信處理機與前端處理機都采用具有HDLC協(xié)議的8044芯片,各前端機不能主動(dòng)發(fā)起與通信控制機的通信,必須等待通信控制機詢(xún)問(wèn)該節點(diǎn)時(shí)才能向它發(fā)送數據。
對于圖1的應用,本文采用CAN總線(xiàn)技術(shù)來(lái)實(shí)現,大大減化了軟硬件設計,降低了成本。

CAN總線(xiàn)設計關(guān)鍵點(diǎn)
物理層設計
CAN總線(xiàn)為了使用的靈活性,沒(méi)有嚴格定義物理層的連接和媒質(zhì),這雖然使物理層的設計相當靈活,但對CAN總線(xiàn)設計的新手來(lái)說(shuō),此處也是容易出問(wèn)題的地方。從應用來(lái)看,CAN控制器只引出了TX0、TX1兩個(gè)發(fā)送輸出端(它們具有互補的電平輸出)和RX0、RX1兩個(gè)差分比較輸入端。因此,應用中要根據需要自行設計物理層的連接和總線(xiàn)電平。
總的原則是:針對TX0、TX1的兩種輸出狀態(tài)(顯性、隱性),總線(xiàn)應具有兩種不同的電平,這兩種電平可以使差分輸入的接收端呈現兩種狀態(tài)(顯性、隱性)。根據不同的傳輸距離和傳輸速率要求,有著(zhù)相應的設計方案,本文圖2所示的電路中,CAN總線(xiàn)控制器采用的是SJA1000,物理層驅動(dòng)采用PCA82C250,通過(guò)設置PCA82C250的引腳8(Rs)可以使其分別工作在高速、斜率控制和待機方式下。在斜率控制工作方式下,對于較低速度或較短總線(xiàn)長(cháng)度的應用場(chǎng)合,可用非屏蔽雙絞線(xiàn)或平行線(xiàn)作總線(xiàn),為降低射頻干擾,可通過(guò)調整引腳8到地的連接電阻大小來(lái)實(shí)現。為了增加抗干擾能力,圖2電路中在CAN控制器和PCA82C250之間加入了6N137高速光耦。該方案的主要特點(diǎn)是:位速度:0~1Mbit/s;節點(diǎn)數:2~110個(gè)。

軟件編程
所有的CAN控制器具有相同的結構和順序,只不過(guò)是在存儲器中映象的偏移量不同。圖2所示的電路中,CAN控制器SJA1000寄存器定義在4000H~401DH的范圍之內。CAN總線(xiàn)數據通信的軟件編程通過(guò)對30個(gè)寄存器的操作來(lái)完成,其收發(fā)的程序框圖如圖3所示。

程控交換機中主控機與前端處理機通信的電路設計
對于圖1所示的電路,若采用CAN總線(xiàn)通信方式,則省去了通信處理機,硬件結構簡(jiǎn)單,且各節點(diǎn)都可以作為主節點(diǎn)發(fā)起通信,其電路結構如圖3所示。主控制機由80586和CAN適配器構成,適配器上的8051與80586通過(guò)雙口RAM,以?xún)却嬗成浞绞浇粨Q信息。這里著(zhù)重介紹前端機部分,前端機主要由8051、SJA1000和PCA82C250等構成,控制譯碼電路由GAL22V10完成。其電路如圖4所示。

CAN控制器SJA1000的數據與地址端是時(shí)分復用的,其讀寫(xiě)時(shí)序與8051讀寫(xiě)片外RAM時(shí)的操作是兼容的,故其可以與8051直接相連,而不需要加地址鎖存器。
前端機CAN總線(xiàn)的初使化、發(fā)送及接收程序框圖如圖5所示。



評論