微處理器對(duì)外并行總線接口方式一般分為兩種,一種為多路復(fù)用方式,數(shù)據(jù)與地址采用共用引腳,分時(shí)傳輸;另一種是非多路復(fù)用方式,數(shù)據(jù)與地址采用分離引腳,同時(shí)傳輸。目前國(guó)內(nèi)應(yīng)用廣泛的MCS196MCS196和MCS51MCS51系列微處理器采用多路復(fù)用總線,設(shè)計(jì)電路時(shí)應(yīng)考慮如何將數(shù)據(jù)和地址從總線上分離出來(lái),與存儲(chǔ)器、外圍接口芯片的數(shù)據(jù)和地址引腳連接。一般利用ALE(地址鎖存)信號(hào)觸發(fā)鎖存器(74LS373)74LS373將地址與數(shù)據(jù)信號(hào)分離出來(lái)。近幾年來(lái),隨著低價(jià)位DSP芯片的出現(xiàn),DSP芯片已被廣泛應(yīng)用到控制與測(cè)量領(lǐng)域中。國(guó)內(nèi)使用的DSP芯片以TI公司的TMS320系列為主流。這種微處理器對(duì)外的數(shù)據(jù)和地址總線接口方式為非多路復(fù)用方式,不能與多路復(fù)用方式的外圍接口芯片(如CAN控制器SJA1000)直接相連。國(guó)內(nèi)和國(guó)外也沒(méi)有一款專(zhuān)用集成電路芯片來(lái)實(shí)現(xiàn)非多路復(fù)用方式到多路復(fù)用方式的轉(zhuǎn)換。參考文獻(xiàn)[1]提出了一種轉(zhuǎn)換方法,是將DSP的數(shù)據(jù)線作為CAN控制器的數(shù)據(jù)地址復(fù)用線,用DSP的地址線A0作為地址、數(shù)據(jù)選擇線。A0=1時(shí),地址有效;A0=0時(shí),數(shù)據(jù)有效,即用奇數(shù)地址傳送地址,用偶數(shù)地址傳送數(shù)據(jù)。雖然此方法實(shí)現(xiàn)起來(lái)電路簡(jiǎn)單,但在編程時(shí)卻需要考慮發(fā)送的數(shù)據(jù)何時(shí)作為CAN控制器的地址,何時(shí)作為CAN控制器的數(shù)據(jù),沒(méi)有從根本上解決非多路復(fù)用方式到多路復(fù)用方式的轉(zhuǎn)換。本文以TMS320F206與SJA1000的連接為例,采用復(fù)雜可編程邏輯器件CPLD,完成了用硬件來(lái)實(shí)現(xiàn)非多路復(fù)用方式到多路復(fù)用方式的轉(zhuǎn)換。 1 多路復(fù)用總線的信號(hào)和時(shí)序
1.1 SJA1000SJA1000接口的主要信號(hào)說(shuō)明
CAN控制器SJA1000提供的微處理器接口方式為典型INTEL或MOTOROLA地址數(shù)據(jù)多路復(fù)用總線模式,主要信號(hào)有地址數(shù)據(jù)信號(hào)AD7~AD0、地址選通信號(hào)ALE、片選信號(hào)CS、讀信號(hào)RD、寫(xiě)信號(hào)WR、模式選擇信號(hào)MODE。當(dāng)MODE=1時(shí),為INTEL模式;當(dāng)MODE=0時(shí),為MOTOROLA模式。本文描述的地址數(shù)據(jù)多路復(fù)用總線模式均為INTEL模式。圖1和圖2分別為INTEL模式讀、寫(xiě)周期時(shí)序。AD7~AD0引腳在ALE有效時(shí),傳送的是地址信號(hào);在RD或WR有效時(shí),傳輸?shù)氖菙?shù)據(jù)信號(hào)。
1.2 SJA1000SJA1000的時(shí)序分析
以SJA1000的讀時(shí)序?yàn)槔M(jìn)行說(shuō)明。在設(shè)計(jì)轉(zhuǎn)換橋時(shí),多路復(fù)用總線的各信號(hào)必須滿足如下時(shí)間參數(shù)要求:ALE的脈沖寬度(tW(AL))最小為8ns;地址信號(hào)(A0~A7)建立到ALE變?yōu)榈碗娖剿钑r(shí)間(tsu(A-AL))最小為8ns;RD的有效脈寬(tW(R))最小為40ns;RD為低電平到數(shù)據(jù)信號(hào)(D7~D0)有效所需時(shí)間(tRLOV)最大為50ns;RD變?yōu)楦唠娖降降刂窋?shù)據(jù)線釋放(即高阻狀態(tài))所需時(shí)間(tRHDZ)最大為30ns。
評(píng)論