《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 設(shè)計(jì)應(yīng)用 > TMS320C6416與CAN控制器的接口實(shí)現(xiàn)
TMS320C6416與CAN控制器的接口實(shí)現(xiàn)
摘要: 分析了數(shù)字信號(hào)處理器TMS320C6416和CAN控制器SJAl000的接口時(shí)序。給出了基于復(fù)雜可編程邏輯器件EPM7512的DSP數(shù)字信號(hào)處理器和CAN控制器之間的接口電路,同時(shí)給出了詳細(xì)的軟硬件實(shí)現(xiàn)方法,。
Abstract:
Key words :

   摘要:分析了數(shù)字信號(hào)處理器TMS320C6416和CAN控制器SJAl000的接口時(shí)序,。給出了基于復(fù)雜可編程邏輯器件EPM7512的DSP數(shù)字信號(hào)處理器和CAN控制器之間的接口電路,同時(shí)給出了詳細(xì)的軟硬件實(shí)現(xiàn)方法,。
關(guān)鍵詞:TMS320C6416;SJAl000;CPLD,;接口電路

O 引言
    CAN總線是現(xiàn)場(chǎng)總線中的一個(gè)應(yīng)用熱點(diǎn),可支持分布式控制和適時(shí)控制的串行通信網(wǎng)絡(luò),。由于CAN總線具有通信速率高,、開(kāi)放性好、報(bào)文
短,、糾錯(cuò)能力強(qiáng)以及控制簡(jiǎn)單,、擴(kuò)展能力強(qiáng)、系統(tǒng)成本低等特點(diǎn),,因而其應(yīng)用越來(lái)越受到人們的關(guān)注,。基于CAN總線的CAN控制器具有完成CAN
總線通信協(xié)議所要求的全部必要功能,,因此,,CAN控制器與其它微處理器的接口已成為設(shè)計(jì)CAN總線系統(tǒng)的首要工作。目前已有一些微處理器將CAN控制器嵌入到系統(tǒng)之中,,但是,,仍有大量人們比較熟悉的微處理器并不帶有CAN控制器。為此,,本文介紹了CAN控制器SJAl000與DSP芯片TMS320C6416的接口電路,。
    SJAl000是符合CAN2.0B標(biāo)準(zhǔn)的CAN通信控制器,該器件具有完成高性能通信協(xié)議所要求的全部特性,同時(shí)具有下列特性:
    ◇可連接各種微控制器接口,;
    ◇取決于報(bào)文標(biāo)志符的總線訪問(wèn)優(yōu)先權(quán),;
    ◇強(qiáng)有力的錯(cuò)誤處理能力;
    ◇可組態(tài)總線接口,;
    ◇帶有位填充功能的非歸零編碼/解碼,;
    ◇輸出驅(qū)動(dòng)器狀態(tài)可編程。
    TMS320C6416是一款高性能DSP數(shù)字信號(hào)處理器,。它基于C64x核心架構(gòu),,并集成了豐富的外圍設(shè)備和接口,最高主頻可達(dá)到1.0GHz,。TM-S320C6416以高速的處理能力和出色的接口能力,,已廣泛用于當(dāng)今技術(shù)的各個(gè)領(lǐng)域。

1 TMS320C6416與SJAlOOO的接口設(shè)計(jì)
1.1 INTEL方式下SJAl000的讀寫(xiě)時(shí)序
    INTEL方式下,,SJAl000的讀,、寫(xiě)時(shí)序圖如圖1所示。


    在INTEL方式下讀寫(xiě)SJAl000時(shí),,其地址和數(shù)據(jù)是分時(shí)傳送的,,地址在前,數(shù)據(jù)在后,。ALE為高時(shí),,為地址總線周期;ALE為低電平,,同時(shí)
也為低時(shí),,為數(shù)據(jù)總線周期。為低時(shí),,為讀數(shù)據(jù),;為低時(shí),為寫(xiě)數(shù)據(jù),。
1.2 TMS320C6416的讀寫(xiě)時(shí)序
    數(shù)字信號(hào)處理器TMS320C6416的讀寫(xiě)時(shí)序如圖2所示,。


    TMS320C6416的數(shù)據(jù)線和地址線是分開(kāi)的,而SJAl000的數(shù)據(jù)線和地址線是復(fù)用的,。所以TMS320C6416不能與SJAl000直接對(duì)連,,而必須將數(shù)據(jù)和地址線進(jìn)行轉(zhuǎn)換后才能連接。

1.3 TMS320C6416與SJAl000的接口設(shè)計(jì)
    TMS320C6416的數(shù)據(jù)總線和地址總線是分開(kāi)的,。在對(duì)存儲(chǔ)器操作時(shí),,地址和數(shù)據(jù)幾乎是同時(shí)出現(xiàn)的,而且系統(tǒng)采用流水線工作方式,,TMS-320C6416的地址和數(shù)據(jù)總線是無(wú)法與SJAl000的AD0~AD7直接連接的,,也沒(méi)有方法可以將SJAl000的RAM直接映射到TMS320C6416的存儲(chǔ)器中,。因此,為了實(shí)現(xiàn)TMS320C6416與SJAl000的接口,,應(yīng)將SJAl000的ALE和直接映射為T(mén)MS320C6416的兩個(gè)I/O端口,。可將SJA1000的ADO~AD7直接和TMS320C6416的BED0~BED7連接,。當(dāng)ALE為高電平時(shí),,TMS320C6416的BED0~BED7送數(shù)據(jù)給SJAl000,表示地址值,;當(dāng)ALE為低電平,,而且也為低電平時(shí),TMS320C6416的BED0~BED7則和SJAl000交換數(shù)據(jù),。在這種方法中,,可以利用ALE為高電平和為低電平來(lái)區(qū)分地址總線周期和數(shù)據(jù)總線周期。
    圖3所示是其硬件連接方法,。

 


    圖3中的PCA82C250為CAN串行鏈接I/O器件,。CPLD芯片EPM7512用于產(chǎn)生相應(yīng)的控制信號(hào)并輸出給SJAl000,從而控制SJAl00O的地址和數(shù)據(jù)總線周期,。

2 基于EPM7512的接口邏輯
    EPM7512是AIZERA公司生產(chǎn)的復(fù)雜可編程邏輯器件(CPLD),可與AIXERA公司的QuartusII開(kāi)發(fā)系統(tǒng)軟件配合,,并可以100%地模仿TTL,。采用EPM7512作為DSP的外部接口擴(kuò)展,可非常方便而且靈活地實(shí)現(xiàn)接口功能,。
    DSP處理器的地址線BEAl5經(jīng)CPLD產(chǎn)生片選信號(hào)后,,可由地址線BEA15作為CAN控制器的地址和數(shù)據(jù)選擇線,并和一起產(chǎn)生SJAl000的地址鎖存信號(hào)ALE,。BEAl5為l時(shí),,地址有效;BEAl5為0時(shí),,數(shù)據(jù)有效,。
    采用ModelSim仿真軟件可對(duì)接口電路進(jìn)行功能仿真,其仿真結(jié)果如圖4所示,,能夠滿(mǎn)足SJAl000的讀寫(xiě)時(shí)序要求,。

3 接口電路的軟件讀寫(xiě)操作
    CAN控制器SJAl000的地址線和數(shù)據(jù)線可映射為DSP芯片TMS320C6416的外部程序存儲(chǔ)EMIFB的CE3區(qū)域,其在DSP控制器上的地址分別為0x6-C008000和0x6C000001,。其用C語(yǔ)言編程的實(shí)現(xiàn)代碼如下:
    #defineTXB 16
    #define RXB 16
    (char*) CANAS= (char*) 0x6c008000,;//定義CAN控制器數(shù)據(jù)線
    (char*) CANCS=(char*)0x6c000001;//定義CAN控制器地址線
    //以下兩句為SJAl000的控制寄存器MOD(PeliCAN模式下地址0)賦值Ox09,;
    *CANAS=0,;//提供CAN控制器寄存器地址
    *CANCS=0x09,;//提供CAN控制器寄存器數(shù)據(jù)
    //以下兩句從SJAl000的狀態(tài)寄存器SR (PeliCAN模式下基地址+2)讀取數(shù)據(jù);
    *CANAS=2,;//提供CAN控制器寄存器地址
    *SR=CANCS&0xoff,;//讀取CAN控制器數(shù)據(jù)。

4 結(jié)束語(yǔ)
    本文提供了一種基于CPLD的DSP處理器TMS320C6416和CAN控制器SJAl000接口方法,,該實(shí)現(xiàn)方法比傳統(tǒng)硬件邏輯門(mén)電路的實(shí)現(xiàn)方法更加方便靈活,。通過(guò)對(duì)該方法的軟硬件實(shí)現(xiàn)進(jìn)行的仿真結(jié)果證明,該設(shè)計(jì)可以穩(wěn)定可靠的運(yùn)行,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。