王曉鵬
(遼寧建筑職業(yè)學(xué)院,遼寧 遼陽 111000)
本設(shè)計以C8051F040為控制器,C8051F040是完全集成的混合信號系統(tǒng)級芯片(SOC),具有與MSC-51完全兼容的指令內(nèi)核。C8051F040具備控制系統(tǒng)所需的模擬和數(shù)字外設(shè),包括ADC、DAC、電壓比較器、電壓基準輸出、定時器和方波輸出等。C8051F040集成CAN2.0B的控制器,只需要一個CAN收發(fā)器TJA1050,就可以連入CAN網(wǎng)絡(luò)。
CAN總線是現(xiàn)場總線的一種,在汽車、車間及電梯監(jiān)控場合應(yīng)用。CAN最初出現(xiàn)在20世紀80年代的汽車工業(yè)中,由德國的Bosch公司最先提出。這種總線技術(shù)不斷發(fā)展,成為現(xiàn)場總線的一種,稱之為CAN總線,CAN具有十分優(yōu)越的特點:成本低;極高的總線利用率;很遠的傳輸距離;可靠的錯誤處理和檢錯機制。
以C8051F040為主要核心控制器,插件上報故障信息到C8051F040的數(shù)據(jù)端口,不同插件的故障信息被寫到不同的地址空間[1],C8051F040通過查詢相應(yīng)的空間就可以掌握每個組插件的狀態(tài),再通過CAN總線上報給遠程的計算機。系統(tǒng)框圖如下圖1所示。
C8051F040電源采用3.3 V供電,CAN收發(fā)器部分CANVCC與單片機完全隔離,芯片采用DCP010505BP,對輸入的5 V電源隔離產(chǎn)生CANVCC和CANGND,提供給CAN收發(fā)器部分,原理圖如下圖2所示:
圖2 系統(tǒng)電源原理圖
TJA為PHILIPS公司出品,是控制協(xié)議網(wǎng)絡(luò)與物理總線之間的接口,TJA1050為總線提供不同的發(fā)送特性,為CAN控制器提供不同的接收性能[2]。TJA1050有兩種工作模式,本設(shè)計工作屬于高速模式,TJA1050的CANH和CANL引腳各通過一個50P電容,用于濾除高頻干擾,同時F1040的CAN信號接收引腳RX和發(fā)送腳TX并不直接連到TJA1050的RXD和TXD端,而是通過光耦HCPL0611進行連接,這樣做的目的是為了實現(xiàn)CAN總線各節(jié)點之間的電器隔離。
本設(shè)計需要采集各插件的故障信息,采用故障信息電平中的TTL電平,422電平需要相應(yīng)的接口芯片進行驅(qū)動,芯片采用DS34LV86TM把差分的422電平轉(zhuǎn)換為TTL電平,SN74LVC245ADBR再把TTL電平進行隔離。其原理圖如下頁圖3所示。
圖3 信號采集原理圖
本設(shè)計開發(fā)環(huán)境采用Silicon Laboratories IDE,采用C語言進行程序設(shè)計,C9051F040的CAN模塊,只要對要相應(yīng)的寄存器進行操作就可以完成CAN通信,程序包括CAN初始化程序,CAN接收程序、CAN發(fā)送程序、單片機初始化程序。CAN初始化程序主要完成波特率、初始化數(shù)據(jù)等操作[3]。上位機界面采用VB設(shè)計,界面上每個分機都有單獨的顯示區(qū)域,分機上每個插件都用相應(yīng)的報警指示燈,當某個分機的插件出現(xiàn)故障時,相應(yīng)的指示燈就會發(fā)光報警,同時提示出現(xiàn)的報警類型,供操作人員及時定位插針。
本設(shè)計采用性價比高的控制器C8051F040,經(jīng)實驗完成了對分機插件的故障監(jiān)控,與上位機實現(xiàn)的CAN通訊,及時定位到故障插件,實驗效果理想,達到了預(yù)期的效果。