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