多通道實(shí)時(shí)CAN總線(xiàn)模擬器設計
2.3 CPLD設計部分
2.3.1 結構設計
CPLD的輸入信號是單片機發(fā)送的信號,由高位地址A[15..8]、ALE鎖存信號、中斷信號以及寫(xiě)/讀信號組成。地址線(xiàn)A14和A15經(jīng)譯碼后作為片選信號,ALE實(shí)現低8位地址線(xiàn)的鎖存。實(shí)體和構造體部分代碼如下所示:本文引用地址:http://dyxdggzs.com/article/188441.htm
2.3.2 仿真結果
該模塊在Xilinx ISE 9.1工具下進(jìn)行綜合,并在結合ModelSim環(huán)境下進(jìn)行功能仿真。其仿真結果如圖3所示。
3 軟件設計
該系統軟件設計的關(guān)鍵是通信程序設計。通信軟件由三部分組成:?jiǎn)纹瑱C和CAN控制器的初始化程序、CAN發(fā)送程序、CAN接收程序。對于初始化程序,采用MAX232芯片對單片機進(jìn)行在線(xiàn)編程,可同時(shí)對多通道CAN控制器初始化。對于CAN控制器的初始化程序,主要是通過(guò)對CAN控制器控制段中的寄存器寫(xiě)入控制字,從而確定CAN控制器的工作方式等,即通過(guò)上電復位、硬件復位或軟件復位給CAN控制器發(fā)一個(gè)復位請求,便可進(jìn)入初始化。在復位期間,對必需的寄存器進(jìn)行設置。對于發(fā)送和接受程序,只需把到來(lái)的信息幀送到CAN的發(fā)送或接受緩沖區,同時(shí)啟動(dòng)命令即可。二者可采用查詢(xún)方式或中斷方式,對于中斷方式,程序分為主程序和中斷服務(wù)程序兩部分設計。在具體項目中,需要軟硬件結合調試才能保證各部分的設計準確無(wú)誤,到達實(shí)際應用的要求。
4 結 語(yǔ)
在對CAN通信協(xié)議進(jìn)行分析的基礎上,構建了一種多通道實(shí)時(shí)CAN總線(xiàn)模擬器架構,同時(shí)利用CPLD器件,通過(guò)功能仿真,驗證了設計方案的正確性。經(jīng)實(shí)際工程項目使用,驗證了該設計方案切實(shí)可行,滿(mǎn)足了實(shí)際應用中高可靠性、高實(shí)時(shí)性以及傳輸速率較高的需求。
評論