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