CAN匯流排控制器與DSP的介面

admin @ 2014-03-26 , reply:0

      現場匯流排是一種開放式、 數字化、多點通信的控制系統區域網絡,是當今自動化領域中最具有應用前景的技術之一。CAN匯流排是現場匯流排中的應用熱點,CAN匯流排支持分散式控制和適時控制的串列通信網路。由於 CAN匯流排具有通信速率高、開放性好、報文短、糾錯能力強以及控制簡單、擴展能力強、系統成本低等特點,越來越受到人們的關注。基於CAN匯流排的CAN控制器具有完成CAN匯流排通信協議所要求的全部必要功能,因此CAN匯流排控制器與其它微處理器的介面成為設計CAN匯流排系統的首要工作。當前已有一些微處理器將CAN控制器嵌入到系統之中,成為在片的微處理器,例如P8XC592 (其內核即為80C51的CPU),MCS96系列中的 87C196CA、87C196CB等,TMS320系列中的在片CAN微控制器TMS320F2407、TMS320F2810/F2812,但是仍有大量人們比較熟悉的微處理器並不帶有CAN控制器。本文討論這些微處理器與CAN控制器的介面問題,重點介紹CAN控制器與TMS320系列DSP的介面方法和介面電路。

1.CAN控制器的介面信號和時序    

CAN控制器(以PCX82C200或SJA1000為例)提供的微處理器的介面信號主要有AD0~AD7共8根地址數據線和ALE、CSRDWRRST、MODE、 RESETINT,控制器的數據和地址是分時復用線,其中MODE為介面方式選擇信號,可選用INTEL方式或MOTOROLA方式。不同方式下引腳定義如表1,介面時序圖略(詳見《電子技術應用》2002.11)。
 

              引腳符號
          INTEL (MODE=Vdd)
         MOTOROLA (MODE=Vss)
                ALE
               ALE
              AS
               RD
              RD
              E
               WR
              WR
            RD/WR

表1  SJA1000引腳定義

    從引腳定義和時序關係可知CAN控制器提供了與INTEL和MOTOROLA方式的直接介面信號,其中INTEL方式對於目前流行的51/96系列單片機 來說提供了方便快捷的直接介面設計。

    2.DSP的介面信號和時序

   

DSP晶元以TI公司生產的TMS320系列產品為國內的主流產品,TMS320 系列產品至今已經歷了若干代,有'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空間有專用的的輸入指令PORTR和輸出指令PORTW以及專 用的I/O空間選擇信號IS,TMS320LF2407的I/O信號與存儲器操作信號復用,它們是存儲器和I/O信號與存儲器操作信號復用,它們是存儲器和I/O設備選通信號STBR、寫選通信號WR、讀選通信號RD和讀寫信號R/W,TMS320LF2407的I/O時序圖略(詳見《電子技術應用》2002.11)。

    2.2 TMS320VC5402 DSP的I/O時序

    TMS320VC5402與TMS320LF2407一樣,用IS作為I/O空間選擇信號,不同的地方是I/O空間有專用的I/O設備選通信號IOSTRB和通用的讀寫信號R/W,而不設讀選通信號RD和寫選通信號WR,其時序圖略(詳見《電子技術應用》2002.11)。

    2.3 DSP的I/O時序分析

    I/O的輸入或輸出工作周期內完成,在此期間,IS信號和地址匯流排一直保持有效。對於TMS320LF2407,I/O選通信號STRB發生在第一個機器周期有效之後並持續一個周期以上,RDWE有效時數據有效。對於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所示。
 

         
TMS320LF2407
    A0   STRB    R/W    WE
    1    0     0    X
    0    0     0    0
    0    0     1    1
           
TMS320VC5402
     A0    IOSTRB     R/W
     1      0      0
     0      0      0
     0      0      1
             
SJA1000
    ALE     WE      RD
     1     1      1
     0     0      1
     0     1      0

                                      表2 TMS320LF2407和TMS320VC5402與SJA1000介面邏輯

    3.4 片選信號的產生

    用DSP的I/O空間選通信號IS和高位地址的解碼信號的邏輯組合產生CAN的片選CS

    從以上的設計思想可以看到,這種方法是將DSP的數據線改為適應CAN控制器的數據地址線。為此將DSP的A0作為地址數據選擇線。A0=1 時,地址有效;A0=0時,數據有效。即用奇數地址選擇埠,用偶數地址傳送數據。同時,通過信號的邏輯組合,在地址有效期間不產生讀寫信號,而是產生滿足CAN的地址有效信號ALE;在數據有效期間產生滿足CAN的讀和寫邏輯信號時序。

    4 CAN與DSP的介面電路

    以TMS320VC5402與SJA1000晶元為例設計的介面電路圖略(詳見《電子技術應用》2002.11)。圖中,用一片GAL16V8B作為介面邏輯轉換電路。為突出介面電路,其它部分從略。用FM書寫的設計文件如下:

    GAL16V8B
    INTERFACE
    CH SH APR 19. 2002
    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
    WR=A0*IOSTRB*R/W
    DESCRIPTION




[admin via 研發互助社區 ] CAN匯流排控制器與DSP的介面已經有2422次圍觀

http://www.cocdig.com/docs/show-post-45170.html