基于ARM和CAN總線的煤矸石分選系統(tǒng)
EPM7128用來完成接口間信號的轉換與配置,EPM7128的輸入來自AT91M40800的片選信號NCS2,數據線D0~D7,地址A0~A1,讀信號NRD,寫信號NWE和系統(tǒng)復位信號RST,經過內部的邏輯綜合處理,產生SJA1000所需的功能信號。根據各芯片信號線的要求及端口地址的分配,可以寫出CAN總線收發(fā)器的輸入/輸出邏輯關系表達式如下:
CAN=NCS2·A0
CANALE=NCS2?A0?(NRD+NWE)
CANRD=NRD
CANWR=NWE
CANRST=NCS2+RST
選定SJA1000的地址端口為400000H,數據端口的地址為400001H和復位端口地址為400002H。由于CAN控制器SJA1000的地址數據是復用的,通過ALE信號下降沿可以鎖存總線上的地址信號。但是AT91M40800的地址總線和數據總線是單獨提供的,不能直接與SJA1000的地址數據總線相連。所以要解決SJA1000與AT91M40800的接口問題,關鍵在于如何將訪問SJA1000所需的信號送入其中。這里采用的辦法是分兩次I/O操作完成,第一次往地址端口400000H送入地址值作為SJA1000的單元地址。此時,片選沒有選通,數據鎖存在AD0~AD7總線上。第二次訪問數據端口400001H時,SJA1000被選中,在ALE信號作用下將第一次的地址值寫入SJA1000,CPU對SJA1000進行讀/寫操作。復位可以分為系統(tǒng)復位和程序復位兩種。系統(tǒng)復位信號RST和程序復位信號在EPM7128中進行邏輯或操作,兩者之一有效均可使SJA1000可靠的復位。
為了保證數據通信的可靠性,在CAN總線終端各連接一個120Ω的終端反射電阻,進行總線阻抗匹配。SJA1000的TX1引腳通過10k8的電阻接地,RX1引腳電平必須維持在0.5Vcc以上。否則,不能形成CAN總線所需的邏輯電平。如果通信距離較近,環(huán)境干擾較小,可以不采用光電隔離電路6N137,這時,可以將82C251的VREF直接與RX1引腳相連,從而簡化了電路。
ARM微控制器與CAN總線的數據通信
AT91M40800通過外部總線接口(EBI)產生訪問片外存儲器和外部器件的信號,EBI支持不同的訪問協議,可實現對外部器件的單周期訪問,設計中EBI的設置為:(1)選擇8位數據總線 ;(2)選擇標準讀協議 ;(3)選擇8個周期的等待時間 ;(4)片選線NCS2的基地址為400000H。所有程序均采用AT91庫的C語言編寫,它具有可讀性強、容易移植、開發(fā)簡單、調試方便等優(yōu)點。正確的初始化是程序正常運行的基礎,系統(tǒng)的初始化主要是AT91M40800微處理器和SJA1000的初始化(SJA1000工作晶振16M),初始化流程如圖3所示。
圖3 通信軟件初始化流程圖
結論
采用ARM微控制器的AT91M40800芯片和CAN總線控制器SJA1000構成的煤矸石在線識別與自動分選系統(tǒng),跟傳統(tǒng)的MCU作為控制的CAN總線網絡相比,是一種新穎的CAN總線網絡系統(tǒng)?;?a class="contentlabel" href="http://butianyuan.cn/news/listbylabel/label/ARM">ARM微控制器的嵌入式系統(tǒng)與CAN總線的處理系統(tǒng)具有良好的實時性、可靠性和靈活性,為落后的選煤技術提供了一種新方法。
評論