多通道實(shí)時(shí)CAN總線模擬器設(shè)計(jì)
2 系統(tǒng)設(shè)計(jì)
2.1 系統(tǒng)方案設(shè)計(jì)
根據(jù)通用計(jì)算機(jī)的總線分類,可采用基于ISA總線對(duì)多通道實(shí)時(shí)CAN總線模擬器進(jìn)行研制,根據(jù)CAN總線通信原理可以提出以下兩種設(shè)計(jì)方案:
(1)ISA總線+CAN通信控制器;
(2)ISA總線+微處理器+CAN通信控制器。這兩種設(shè)計(jì)方案的不同點(diǎn)在于是否采用處理器來加強(qiáng)控制。
由于CAN總線通信要求實(shí)時(shí)性高,再加上多通道的設(shè)計(jì)滿足實(shí)際的需要,故采用單片機(jī)來負(fù)責(zé)CAN總線的通信功能。在這里主要介紹單片機(jī)與CAN控制器之間的設(shè)計(jì)部分,其系統(tǒng)設(shè)計(jì)框圖如圖1所示。本文引用地址:http://butianyuan.cn/article/188441.htm
單片機(jī)選用DALLAS公司的DS89C430,它是當(dāng)前8051兼容微控制器中性能最高的。具有重新設(shè)計(jì)的處理器內(nèi)核,在相同的晶振頻率下,執(zhí)行指令的速度是最初8051微處理器的12倍。特性:高速8051架構(gòu),每個(gè)機(jī)器周期一個(gè)時(shí)鐘;片內(nèi)存儲(chǔ)器16 KB/32 KB/64 KB閃存,在應(yīng)用可編程,通過串口實(shí)現(xiàn)在系統(tǒng)可編程;與8051引腳和指令集兼容;四路雙向、8位I/O端口;三個(gè)16位定時(shí)器/計(jì)數(shù)器;256 B暫存RAM等特點(diǎn)。可根據(jù)實(shí)際應(yīng)用的需要選擇其部分功能。隨著可編程邏輯器件的飛速發(fā)展,其應(yīng)用領(lǐng)域不斷擴(kuò)大,可用于譯碼、解碼等方面,使用CPLD可以提高系統(tǒng)集成度,降低噪聲,增強(qiáng)系統(tǒng)可靠性。因此,單片機(jī)與CAN控制器之間的鎖存、譯碼采用Xilinx公司XC95144CPLD芯片,優(yōu)化了系統(tǒng)資源,降低了其功耗。
2.2 系統(tǒng)硬件設(shè)計(jì)
該部分由單片機(jī)、CAN控制器、CAN收發(fā)器、SRAM存儲(chǔ)器組成。單片機(jī)主要用于系統(tǒng)計(jì)算及信息處理等功能;CAN控制器主要用于系統(tǒng)通信;CAN收發(fā)器主要用于增強(qiáng)系統(tǒng)的驅(qū)動(dòng)能力;SRAM主要用于緩存數(shù)據(jù)。系統(tǒng)的發(fā)送過程是:?jiǎn)纹瑱C(jī)將外圍設(shè)備傳送過來的信息處理后,按CAN規(guī)范規(guī)定的格式,將其寫入CAN控制器的發(fā)送緩沖區(qū),并啟動(dòng)發(fā)送命令,把數(shù)據(jù)發(fā)送到CAN總線上;接收過程是:CAN控制器從CAN總線上自動(dòng)接收數(shù)據(jù),并經(jīng)過濾后存入CAN接收緩沖區(qū),且向單片機(jī)發(fā)出中斷請(qǐng)求,此時(shí)單片機(jī)可從CAN接收緩沖區(qū)讀取要接收的數(shù)據(jù)。SJA1000提供的微處理器接口方式為典型INTEL或MOTOROLA地址數(shù)據(jù)多路復(fù)用總線模式。主要信號(hào)有地址數(shù)據(jù)信號(hào)AD7~AD0,地址選通信號(hào)ALE,片選信號(hào)CS,讀信號(hào)RD,寫信號(hào)WR,模式選擇信號(hào)MODE。當(dāng)MODE=1時(shí),為INTEL模式;當(dāng)MODE=0時(shí),為MOTOROLA模式。后面描述的總線模式均為INTEL模式。AD7~AD0引腳在ALE有效時(shí),傳送的是地址信號(hào),在RD或WR有效時(shí),傳輸?shù)氖菙?shù)據(jù)信號(hào),在這里分別與單片機(jī)的PO口相連,RD,WR信號(hào)線分別與單片機(jī)的讀/寫信號(hào)線相連。具體方案如圖2所示。限于篇幅限制,虛線內(nèi)給出1路CAN的連接圖,2路CAN有同樣的連接方法。
SRAM和CAN控制器的片選信號(hào)。由于單片機(jī)可以查詢或中斷方式訪問,在此采用中斷方式進(jìn)行CAN多通道選擇訪問,以滿足不同通信速率下數(shù)據(jù)處理的需要。SRAM的地址線與數(shù)據(jù)線是分開的,故采用74LS373鎖存器實(shí)現(xiàn)鎖存功能。可采用XC95144CPLD芯片以及VHDL硬件描述語言以實(shí)現(xiàn)鎖存、譯碼等功能。
評(píng)論