基于CPLD的DSP微處理器與CAN控制器接口設(shè)計
近幾年來,隨著低價位DSP芯片的出現(xiàn),他已被廣泛應(yīng)用到控制與測量領(lǐng)域中。國內(nèi)的DSP芯片以TI公司的TMS320系列為主流。這種微處理器對外的數(shù)據(jù)和地址總線結(jié)構(gòu)形式為非多路復(fù)用方式,不能與多路復(fù)用形式的外圍接口芯片(如CAN控制器SJA1000)直接相連。國內(nèi)、外也沒有一款專用集成芯片來實現(xiàn)非多路復(fù)用方式到多路復(fù)用方式的轉(zhuǎn)換。
文獻(xiàn)[1]提出了一種轉(zhuǎn)換方法,是將DSP的數(shù)據(jù)線作為CAN控制器的數(shù)據(jù)地址復(fù)用線,用DSP的地址線A0作為地址、數(shù)據(jù)選擇線。A0=1時,地址有效;A0=0時,數(shù)據(jù)有效,即用奇數(shù)地址傳送地址,用偶數(shù)地址傳送數(shù)據(jù)。雖然此方法實現(xiàn)起來電路簡單,但在編程時,程序員必須考慮發(fā)送的數(shù)據(jù)何時作為CAN控制器的地址,何時作為CAN控制器的數(shù)據(jù),沒有從根本解決非多路復(fù)用方式到多路復(fù)用方式的轉(zhuǎn)換。
本文以TMS320F206與SJAl000連接為例,提出采甩復(fù)雜可編程邏輯器件CPLD,完全用硬件實現(xiàn)非多路復(fù)用方式到多路復(fù)用方式的轉(zhuǎn)換。
2 多路復(fù)用總線的信號和時序
2.1 SJAl000接口的主要信號說明
CAN控制器SJAl000提供的微處理器接口方式為典型INTEL或MOTOROLA地址數(shù)據(jù)多路復(fù)用總線模式,主要信號有地址數(shù)據(jù)信號AD7~AD0,地址選通信號ALE,片選信號CS,讀信號RD,寫信號WR,模式選擇信號MODE。當(dāng)MODE=1時,為INteL模式;當(dāng)MODE=0時,為MOTOROLA模式。后面描述的地址數(shù)據(jù)多路復(fù)用總線模式均為INTEL模式。
圖1,圖2分別為INTEL模式讀、寫周期時序[2]。AD7~AD0引腳在ALE有效時,傳送的是地址信號,在RD或WR有效時,傳輸?shù)氖菙?shù)據(jù)信號。
2.2 SJAl000時序分析
以SJAl000的讀時序(圖1)為例,說明在設(shè)計轉(zhuǎn)換橋時,多路復(fù)總線的各信號必須滿足時間參數(shù)要求。ALE的脈沖寬度tw(AL)最小為8 ns;地址信號(A7~A0)建立到ALE變?yōu)榈碗娖剿钑r間tsu(A-AL)最小為8 ns;RD的有效脈寬tw(R)最小為40 ns;RD為低電平到數(shù)據(jù)信號(D7~D0)有效所需時間tRLQV最大為50 ns;RD變?yōu)楦唠娖降降刂窋?shù)據(jù)線釋放(即高阻狀態(tài))所需時間(tRHDZ)最大為30 ns。
3非多路復(fù)用總線的信號和時序
3.1 TSM320F206總線主要信號說明
TSM320F206的總線接口方式采用了地址和數(shù)據(jù)分離的形式。其主要信號有地址信號A0~A15,數(shù)據(jù)信號DO~D15,讀信號RE,寫信號WE,閘門信號STRB,I/O空間選擇信號IS,數(shù)據(jù)存儲器選擇信號DS,程序存儲器選擇信號PS,機(jī)器時鐘輸出信號CLKOUT1。當(dāng)對外部數(shù)據(jù)存儲器、程序存儲器或I/O空間訪問時,STRB有效,若對外部I/O訪問時(即程序中使用PORTR,PORTW指令),IS有效。
相關(guān)推薦技術(shù)專區(qū)
|
評論