CAN總線控制器與DSP的接口
1 CAN控制器接口信號和時序 CAN控制器(以PCX82C200或SJA1000為例)提供的微處理器的接口信號主要有AD0~AD7共8根地址數據線和ALE、CS、RD、WR、RST、MODE、RESET和INT,控制器的數據和地址分時復用線,其中MODE為接口方式選擇信號,可選用INTEL方式或MODTOROLA方式。不同方式下引腳定義如表1,接口時序如圖1和圖2所示。表1 SJA1000引腳定義 引腳符號INTEL(MODE=Vdd)MOTOROLA(MODE=Vss)ALEALEASRDRDEWRWRRD/WR從引腳定義和時序關系可知CAN控制器提供了與INTEL方式和MOTOROLA方式的直接接口信號,其中INTEL方式對于目前流行的51/96系列單片機來說提供了方便快捷的直接接口設計。
2 DSP的接口信號和時序 DSP芯片以TI公司生產TSM320系列產品為國內的主流產品,TSM320系列產品至今已經歷了若干代,有"C1X"、"C2X、"C2XX、"C5X、"C54X、"C62X等定點DSP,有"C3X、"C4X、"C67X等浮點DSP和"C8X多處理器DSP。DSP采用了先進的哈佛結構,內部采用多總線結構和流水線的工作方式,從而大大地提高了系統的運行速度和數字信號處理能力,DSP的指令執行時間在ns數量級,內部程序和數據存儲器目前已達幾十K字,并帶有內部的硬件乘法器,這些都有DSP提供了廣闊的應用空間。 DSP芯片的片外引腳一般采用地址線和數據分離的設計方法,不再使用地址數據分時復用線,也沒有ALE地址有效信號,這樣就給CAN控制器與DSP的接口帶來一定困難,且不同的DSP芯片外部引腳和時序也略有區別。要設計CAN控制器與DSP的接口,首先必須討論一下DSP的時序,下面以DSP中較流行的TMS320LF2407和TMS320VC5402為例進行討論。
2.1 TMS320LF2407 DSP的I/O時序 DSP的存儲器分為三個空間:程序存儲器空間、數據存儲器空間和I/O空間。I/O空間有專用的輸入指令PORIR和輸出指令PORTW以及專用的I/O空間選擇信號IS,TMS320LF2407的I/O信號與存儲器操作信號復用,它們是存儲器和I/O設備選通信號STBR、寫選通信號WR、讀選通信號RD和讀寫信號R/W,TMS320LF2407的I/O時序如圖3和圖4所示。
2.2 TMS320VC5402 DSP的I/O時序 TMS320VC5402與TMS320LF2407一樣,用IS作為I/O空間選擇信號,不同的地方是I/O空間有專用的I/O設備選通信號IOSTRB和通用的讀寫信號R/W,而不設讀選通信號RD和寫選通信號WR,其時序如圖5和圖6所示。 2.3 DSP的I/O時序分析 I/O的輸入或輸出工作周期一般在兩個機器周期內完成,在此期間,IS信號和地址總線一直保持有效。對于TMS320LF2407,I/O選通信號STRB發生在第一個機器周期有效之后并持續一個機器周期以上,RD和WE有效時數據有效。對于TMS320VC5402,I/O設備選通信號IOSTRB的低電平有效發生在延遲了半個機器周期的上升沿到下一個機器周期的上升沿,持續一個機器周期,數據有效發生在第二個機器周期內。R/W讀寫信號在輸入周期內一直保持為“1”,在輸出周期一直保持為“0”,僅起到控制數據流的方向作用。以上分析期,則每次I/O操作均延長一個機器周期,即需要三個機器周期完成I/O操作(等待周期時序從略)。
3 CAN控制器與DSP的接口設計方法 從以上分析可分看到,TMS320系列DSP沒有提供與SJA1000 CAN控制器的直接接口信號,以SJA1000的INTEL方式為例,為了使TMS320系列DSP滿足SJA1000的接口信號要求,可以從以下幾點進行設計。 3.1 地址數據復用線的設計 將DSP的數據線D0~D7作為CAN的地址/數據復用線,用DSP的數據線去選擇CAN的內部端口和傳送數據。 3.2 地址有效信號ALE的產生
對于TMS320LF2407,用地址線A0、寫選通信號WR和端口選通信號STRB的邏輯組合產生DSP的ALE信號,對于TMS320VC5402,則用地址線A0、I/O端口選通信號IOSTRB的邏輯組合產生ALE信號。 3.3 讀寫信號的產生 對于TMS320LF2407,用讀信號和A0的邏輯組合產生SJA1000的讀選通信號,用寫信號和A0的邏輯組合產生SJA1000的寫選通信號。對于TMS320VC5402,則用A0、IOSTRB和R/W的邏輯組合產生SJA1000的讀和寫選通信號。邏輯關系如表2所示。表2 TMS320LF2407和TMS320VC5402與SJA1000接口邏輯 TMS320LF2407TMS320VC5402SJA1000A0STRBR/WWEA0IOSTRBR/WALEWERD100X100111000000000100110010103.4 片選信號的產生 用DSP的I/O空間選通信號IS和高位地址的譯碼信號的邏輯組合產生CAN的片選CS。 從以上設計思想可以看到,這種方法是將DSP的數據線改為適應CAN控制器的數據地址線。為此將DSP的A0作為地址數據選擇線。A0=1時,地址有效;A0=0時,數據有效。即用奇數地址選擇端口,用偶數地址傳送數據。同時,通過信號的邏輯組合,在地址有效期間不產生讀寫信號,而是產生滿足CAN的地址有效信號ALE;在數據有效期間產生滿足CAN的讀和寫邏輯信號時序。
4 CAN與DSP的接口電路 以TMS320VC5402與SJA1000芯片為例設計的接口電路如圖7所示。圖中,用一片GAL16V8B作為接口邏輯轉換電路。為突出接口電路,其它部分從略。用FM書寫的設計文件如下: GAL16V8B INTERFACE CH SH APR 19,20002 DECODER NC NC IS IOSTRB A0 RW A14 A15 NC GND NC NC CS WR RD ALE NC NC NC VCC CS=A15*A14 *IS ALE=A0*IOSTRB*R/W RD=A0*IOSTRB*R/W DESCRIPTION












評論