<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 嵌入式CAN總線控制器與DSP的接口

          嵌入式CAN總線控制器與DSP的接口

          作者: 時間:2008-08-25 來源:網(wǎng)絡(luò) 收藏
          現(xiàn)場是一種開放式、 數(shù)字化、多點通信的控制系統(tǒng)局域網(wǎng)絡(luò), 是當(dāng)今自動化領(lǐng)域中最具有應(yīng)用前景的技術(shù)之一。是現(xiàn)場中的應(yīng)用熱點,總線支持分布式控制和適時控制的串行通信網(wǎng)絡(luò)。

            由于總線具有通信速率高、開放性好、報文短、糾錯能力強以及控制簡單、擴展能力強、系統(tǒng)成本低等特點,越來越受到人們的關(guān)注?;贑AN總線的CAN具有完成CAN總線通信協(xié)議所要求的全部必要功能,因此CAN總線與其它微處理器的成為設(shè)計CAN總線系統(tǒng)的首要工作。

            當(dāng)前已有一些微處理器將CAN嵌入到系統(tǒng)之中,成為在片的微處理器,例如P8XC592 (其內(nèi)核即為80C51的CPU),MCS96系列中的 87C196CA、87C196CB等,TMS320系列中的在片CAN微控制器TMS320F2407、TMS320F2810/F2812,但是仍有大量人們比較熟悉的微處理器并不帶有CAN控制器。本文討論這些微處理器與CAN控制器的問題,重點介紹CAN控制器與TMS320系列方法和接口電路。

            1.CAN控制器的接口信號和時序

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

            引腳符號 INTEL (MODE=Vdd) MOTOROLA (MODE=Vss)

            ALE ALE AS

            RD RD E

            WR WR RD/WR

            表1 SJA1000引腳定義

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

            2.的接口信號和時序

            芯片以TI公司生產(chǎn)的TMS320系列產(chǎn)品為國內(nèi)的主流產(chǎn)品,TMS320系列產(chǎn)品至今已經(jīng)歷了若干代,有'C1X、'C2X、'C2XX、'C5X、 'C54X、'C62X等定點DSP,有'C3X、'C4X、'C67X等浮點DSP和'C8X多處理器DSP。DSP采用了先進的哈佛結(jié)構(gòu),內(nèi)部采用多總線結(jié)構(gòu)和流水線的工作方式,從而大大地提高了系統(tǒng)的運行速度和數(shù)字信號的處理能力,DSP的指令執(zhí)行時間在ns數(shù)量級,內(nèi)部程序和數(shù)據(jù)存儲器目前已達幾十K字,并帶有內(nèi)部的硬件乘法器,這些都為DSP提供了廣闊的應(yīng)用空間。

            DSP芯片的片外引腳一般采用地址線和數(shù)據(jù)線分離的設(shè)計方法,不再使用地址數(shù)據(jù)分時復(fù)用線,也沒有ALE地址有效信號,這樣就給CAN 控制器與DSP的接口帶來一定困難,且不同的DSP芯片外部引腳和時序也略有區(qū)別。要設(shè)計CAN 控制器與DSP的接口,首先必須討論一下DSP的時序,下面以DSP中較流行的TMS320LF2407和TMS320VC5402為例進行討論。

            2.1 TMS320LF2407 DSP的I/O時序

            DSP的存儲器分為三個空間:程序存儲器空間、數(shù)據(jù)存儲器空間和I/O空間。I/O空間有專用的的輸入指令PORTR和輸出指令PORTW以及專 用的I/O空間選擇信號IS,TMS320LF2407的I/O信號與存儲器操作信號復(fù)用,它們是存儲器和I/O信號與存儲器操作信號復(fù)用,它們是存儲器和I/O設(shè)備選通信號STBR、寫選通信號WR、讀選通信號RD和讀寫信號R/W。

          2.2 TMS320VC5402 DSP的I/O時序

            TMS320VC5402與TMS320LF2407一樣,用IS作為I/O空間選擇信號,不同的地方是I/O空間有專用的I/O設(shè)備選通信號IOSTRB和通用的讀寫信號R/W,而不設(shè)讀選通信號RD和寫選通信號WR。

            2.3 DSP的I/O時序分析

            I/O的輸入或輸出工作周期內(nèi)完成,在此期間,IS信號和地址總線一直保持有效。對于TMS320LF2407,I/O選通信號STRB發(fā)生在第一個機器周期有效之后并持續(xù)一個周期以上,RD和WE有效時數(shù)據(jù)有效。對于TMS320VC5402,I/O設(shè)備選通信號IOSTRB的低電平有效發(fā)生在延遲了半個機器周期的上升沿到下一個機器周期的上升沿,持續(xù)一個機器周期,數(shù)據(jù)有效發(fā)生在第二個機器周期內(nèi)。R/W讀寫信號在輸入周期內(nèi)一 直保持為“1”,在輸出周期一直保持為“0”,僅起到控制數(shù)據(jù)流的方向作用。以上分析都沒有考慮插入等待周期的情況,若插入一個等待周期,則每次I/O 操作均延長一個機器周期,既需要三個機器周期完成I/O操作(等待周期時序從略)。

            3 CAN控制器與DSP的接口設(shè)計方法

            從以上分析可以看到,TMS320系列DSP沒有提供與SJA1000 CAN控制器的直接接口信號,以SJA1000的INTEL方式為例,為了使TMS320系列DSP滿足SJA1000的接口信號要求,可以從以下幾點進行設(shè)計。

            3.1 地址數(shù)據(jù)復(fù)用線的設(shè)計

            將DSP的數(shù)據(jù)線D0~D7作為CAN的地址/數(shù)據(jù)復(fù)用線,用DSP的數(shù)據(jù)線去選擇CAN的內(nèi)部端口和傳送數(shù)據(jù)。

            3.2 地址有效信號ALE的產(chǎn)生

            對于TMS320LF2407,用地址線A0、寫選通信號WR和端口選通信號STRB的邏輯組合產(chǎn)生DSP的ALE信號,對于TMS320VC5402,則用地址線 A0、I/O端口選通信號IOSTRB的邏輯組合產(chǎn)生ALE信號。

            3.3 讀寫信號的產(chǎn)生

            對于TMS320LF2407,用讀信號和A0的邏輯組合產(chǎn)生SJA1000的讀選通信號,用寫信號和A0的邏輯組合產(chǎn)生SJA1000 的寫選通信號。對于TMS320VC5402,則用A0、IOSTRB和R/W的邏輯組合產(chǎn)生SJA1000的讀和寫選通信號。邏輯關(guān)系如表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 片選信號的產(chǎn)生

            用DSP的I/O空間選通信號IS和高位地址的譯碼信號的邏輯組合產(chǎn)生CAN的片選CS。

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

            4 CAN與DSP的接口電路

            以TMS320VC5402與SJA1000芯片為例設(shè)計的接口電路圖略(詳見《電子技術(shù)應(yīng)用》2002.11)。圖中,用一片GAL16V8B作為接口邏輯轉(zhuǎn)換電路。為突出接口電路,其它部分從略。用FM書寫的設(shè)計文件如下:

            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

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          關(guān)鍵詞: DSP 接口 控制器 總線 CAN 嵌入式

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();