新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 多通道實(shí)時(shí)CAN模擬器設(shè)計(jì)方案

多通道實(shí)時(shí)CAN模擬器設(shè)計(jì)方案

作者: 時(shí)間:2011-09-12 來(lái)源:網(wǎng)絡(luò) 收藏
2.3 CPLD部分

本文引用地址:http://m.butianyuan.cn/article/150229.htm

  2.3.1 結(jié)構(gòu)

  CPLD的輸入信號(hào)是單片機(jī)發(fā)送的信號(hào),由高位地址A[15..8]、ALE鎖存信號(hào)、中斷信號(hào)以及寫(xiě)/讀信號(hào)組成。地址線A14和A15經(jīng)譯碼后作為片選信號(hào),ALE實(shí)現(xiàn)低8位地址線的鎖存。實(shí)體和構(gòu)造體部分代碼如下所示:

  

  2.3.2 仿真結(jié)果

  該模塊在Xilinx ISE 9.1工具下進(jìn)行綜合,并在結(jié)合ModelSim環(huán)境下進(jìn)行功能仿真。其仿真結(jié)果如圖3所示。

  

  3 軟件

  該系統(tǒng)軟件設(shè)計(jì)的關(guān)鍵是通信程序設(shè)計(jì)。通信軟件由三部分組成:?jiǎn)纹瑱C(jī)和控制器的初始化程序、發(fā)送程序、接收程序。對(duì)于初始化程序,采用MAX232芯片對(duì)單片機(jī)進(jìn)行在線編程,可同時(shí)對(duì)多CAN控制器初始化。對(duì)于CAN控制器的初始化程序,主要是通過(guò)對(duì)CAN控制器控制段中的寄存器寫(xiě)入控制字,從而確定CAN控制器的工作方式等,即通過(guò)上電復(fù)位、硬件復(fù)位或軟件復(fù)位給CAN控制器發(fā)一個(gè)復(fù)位請(qǐng)求,便可進(jìn)入初始化。在復(fù)位期間,對(duì)必需的寄存器進(jìn)行設(shè)置。對(duì)于發(fā)送和接受程序,只需把到來(lái)的信息幀送到CAN的發(fā)送或接受緩沖區(qū),同時(shí)啟動(dòng)命令即可。二者可采用查詢方式或中斷方式,對(duì)于中斷方式,程序分為主程序和中斷服務(wù)程序兩部分設(shè)計(jì)。在具體項(xiàng)目中,需要軟硬件結(jié)合調(diào)試才能保證各部分的設(shè)計(jì)準(zhǔn)確無(wú)誤,到達(dá)實(shí)際應(yīng)用的要求。

  4 結(jié) 語(yǔ)

  在對(duì)CAN通信協(xié)議進(jìn)行分析的基礎(chǔ)上,構(gòu)建了一種多CAN總線架構(gòu),同時(shí)利用CPLD器件,通過(guò)功能仿真,驗(yàn)證了設(shè)計(jì)的正確性。經(jīng)實(shí)際工程項(xiàng)目使用,驗(yàn)證了該設(shè)計(jì)切實(shí)可行,滿足了實(shí)際應(yīng)用中高可靠性、高性以及傳輸速率較高的需求。


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉