用AT89C52單片機實(shí)現RS422到CAN總線(xiàn)的轉換
引言
RS422是串行通訊中應用較廣的標準總線(xiàn)。他能很方便地把各種計算機、外部設備、測量?jì)x器有機地連接起來(lái),構成一個(gè)測量、控制系統。但是,他傳輸速率低、傳輸距離短并且接口處信號間易產(chǎn)生串擾,因此不能直接應用于工業(yè)控制。
CAN總線(xiàn)剛好以其高性能、高可靠性及獨特的設計贏(yíng)得了工業(yè)界的高度重視。例如,奔馳S型轎車(chē)上采用的就是CAN總線(xiàn)系統,美國商用車(chē)輛制造商們也將注意力轉向了CAN總線(xiàn),美國一些企業(yè)已將CAN作為內部總線(xiàn)應用在生產(chǎn)線(xiàn)和機床上。同時(shí),由于CAN總線(xiàn)可以提供較高的安全性,因此在醫療領(lǐng)域、紡織機械及電梯控制中也得到了廣泛應用??梢?jiàn),實(shí)現RS422總線(xiàn)和CAN總線(xiàn)之間的轉換非常有必要。
2硬件設計
2.1總體設計分析
在該系統中,采用AT89C52單片機。RS422總線(xiàn)傳輸過(guò)來(lái)的信號經(jīng)過(guò)收發(fā)器后進(jìn)入89C52,處理后送到CAN控制器中,然后到收發(fā)器,最后由CAN出口發(fā)出。為了保證系統的安全工作,在CAN控制器上加了一個(gè)“看門(mén)狗”??傮w設計框圖如圖1所示。
對于CPU來(lái)說(shuō),CAN控制器是確保雙方獨立工作的存貯器映象外圍設備。CAN控制器與外部CPU的接口是通過(guò)控制器接口邏輯(CIL)實(shí)現的, AT89C52 CPU通過(guò)將地址總線(xiàn)(AB)和數據總線(xiàn)(DB)連接到CIL上來(lái)完成與CAN控制器之間的信息交換,不需要專(zhuān)門(mén)的控制總線(xiàn)(CB),CPU與82C200之間的狀態(tài)、控制和命令信號的交換在CAN控制器中完成。
2.3電子看門(mén)狗設計
為了提高系統的抗干擾性能,采用X25045來(lái)做一個(gè)電子看門(mén)狗。X25045把3種常用的功能:看門(mén)狗定時(shí)器、電壓監視和 E2PROM組合在單個(gè)封裝之內。這種組合降低了系統成本,并減少了對電路板空間的要求??撮T(mén)狗定時(shí)器對微控制器提供了獨立的保護系統。當系統出現故障時(shí),在可選的超時(shí)周期( timeout interval )之后, X25045 看門(mén)狗將以 RESET 信號作出響應。
3軟件設計
CAN總線(xiàn)系統的初始化設計是軟件設計的關(guān)鍵,在初始化之前,應設置輸出控制寄存器(OCR)的復位請求位為高,再設置其他寄存器。命令寄存器(CMR)控制緩存器的收發(fā)狀態(tài);中斷寄存器(IR)、狀態(tài)寄存器(SR)查詢(xún)82C200的工作狀態(tài);接收碼寄存器(ACR)設定工作地址;接收屏蔽寄存器(AMR)設定工作形式;總線(xiàn)定時(shí)寄存器(BTR0、BTR1)設定工作頻率、采樣頻率;輸出控制寄存器(OCR)一般為正常輸出方式,最后應使復位請求位從高變低,使CAN控制器進(jìn)入正常工作狀態(tài)。主程序框圖如圖2。
評論