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