CAN總線控制器與DSP的接口 作者: 時(shí)間:2007-03-09 來源:網(wǎng)絡(luò) 加入技術(shù)交流群 掃碼加入和技術(shù)大咖面對(duì)面交流海量資料庫查詢 收藏 摘要:討論了CAN總線控制器與DSP之間的接口,介紹了流行的CAN控制器芯片SJA1000和TMS320系列DSP芯片的接口時(shí)序,并給出了它們的接口方法和電路。關(guān)鍵詞:CAN控制器 DSP 時(shí)序 接口電路 現(xiàn)場(chǎng)總線是一種開放式、數(shù)字化、多點(diǎn)通信的控制系統(tǒng)局域網(wǎng)絡(luò),是當(dāng)今自動(dòng)化領(lǐng)域中最具有應(yīng)用前景的技術(shù)之一。CAN總線是現(xiàn)場(chǎng)總線中的應(yīng)用熱點(diǎn),CAN總線支持分布式控制和適時(shí)控制的串行通信網(wǎng)絡(luò)。由于CAN總線具有通信速率高、開放性好、報(bào)文短、糾錯(cuò)能力強(qiáng)以及控制簡(jiǎn)單、擴(kuò)展能力強(qiáng)、系統(tǒng)成本低等特點(diǎn),越來越受到人們的關(guān)注。基于CAN總線的CAN控制器具有完成CAN總線通信協(xié)議所要求的全部必要功能,因此CAN控制器與其它微處理器的接口成為設(shè)計(jì)CAN總線系統(tǒng)的首要工作。當(dāng)前已有一些微處理器將CAN控制器嵌入到系統(tǒng)之中,成為在片的策處理器,例如,P8XC592(其內(nèi)核即為80C51的CPU),MCS96系列中的87C196CA、87C196CB,TMS320系列中的在片CAN微控制器TMS320LF2407、TMS320F2810/F2812,但是仍有大量人們比較熟悉的微處理器并不帶有CAN控制器。本文討論這些微處理器與CAN控制器的接口問題,重點(diǎn)介紹CAN控制器與TMS320系列DSP的接口方法和接口電路。1 CAN控制器接口信號(hào)和時(shí)序 CAN控制器(以PCX82C200或SJA1000為例)提供的微處理器的接口信號(hào)主要有AD0~AD7共8根地址數(shù)據(jù)線和ALE、CS、RD、WR、RST、MODE、RESET和INT,控制器的數(shù)據(jù)和地址分時(shí)復(fù)用線,其中MODE為接口方式選擇信號(hào),可選用INTEL方式或MODTOROLA方式。不同方式下引腳定義如表1,接口時(shí)序如圖1和圖2所示。表1 SJA1000引腳定義 引腳符號(hào)INTEL(MODE=Vdd)MOTOROLA(MODE=Vss)ALEALEASRDRDEWRWRRD/WR從引腳定義和時(shí)序關(guān)系可知CAN控制器提供了與INTEL方式和MOTOROLA方式的直接接口信號(hào),其中INTEL方式對(duì)于目前流行的51/96系列單片機(jī)來說提供了方便快捷的直接接口設(shè)計(jì)。2 DSP的接口信號(hào)和時(shí)序 DSP芯片以TI公司生產(chǎn)TSM320系列產(chǎn)品為國內(nèi)的主流產(chǎn)品,TSM320系列產(chǎn)品至今已經(jīng)歷了若干代,有"C1X"、"C2X、"C2XX、"C5X、"C54X、"C62X等定點(diǎn)DSP,有"C3X、"C4X、"C67X等浮點(diǎn)DSP和"C8X多處理器DSP。DSP采用了先進(jìn)的哈佛結(jié)構(gòu),內(nèi)部采用多總線結(jié)構(gòu)和流水線的工作方式,從而大大地提高了系統(tǒng)的運(yùn)行速度和數(shù)字信號(hào)處理能力,DSP的指令執(zhí)行時(shí)間在ns數(shù)量級(jí),內(nèi)部程序和數(shù)據(jù)存儲(chǔ)器目前已達(dá)幾十K字,并帶有內(nèi)部的硬件乘法器,這些都有DSP提供了廣闊的應(yīng)用空間。 DSP芯片的片外引腳一般采用地址線和數(shù)據(jù)分離的設(shè)計(jì)方法,不再使用地址數(shù)據(jù)分時(shí)復(fù)用線,也沒有ALE地址有效信號(hào),這樣就給CAN控制器與DSP的接口帶來一定困難,且不同的DSP芯片外部引腳和時(shí)序也略有區(qū)別。要設(shè)計(jì)CAN控制器與DSP的接口,首先必須討論一下DSP的時(shí)序,下面以DSP中較流行的TMS320LF2407和TMS320VC5402為例進(jìn)行討論。2.1 TMS320LF2407 DSP的I/O時(shí)序 DSP的存儲(chǔ)器分為三個(gè)空間:程序存儲(chǔ)器空間、數(shù)據(jù)存儲(chǔ)器空間和I/O空間。I/O空間有專用的輸入指令PORIR和輸出指令PORTW以及專用的I/O空間選擇信號(hào)IS,TMS320LF2407的I/O信號(hào)與存儲(chǔ)器操作信號(hào)復(fù)用,它們是存儲(chǔ)器和I/O設(shè)備選通信號(hào)STBR、寫選通信號(hào)WR、讀選通信號(hào)RD和讀寫信號(hào)R/W,TMS320LF2407的I/O時(shí)序如圖3和圖4所示。2.2 TMS320VC5402 DSP的I/O時(shí)序 TMS320VC5402與TMS320LF2407一樣,用IS作為I/O空間選擇信號(hào),不同的地方是I/O空間有專用的I/O設(shè)備選通信號(hào)IOSTRB和通用的讀寫信號(hào)R/W,而不設(shè)讀選通信號(hào)RD和寫選通信號(hào)WR,其時(shí)序如圖5和圖6所示。 2.3 DSP的I/O時(shí)序分析 I/O的輸入或輸出工作周期一般在兩個(gè)機(jī)器周期內(nèi)完成,在此期間,IS信號(hào)和地址總線一直保持有效。對(duì)于TMS320LF2407,I/O選通信號(hào)STRB發(fā)生在第一個(gè)機(jī)器周期有效之后并持續(xù)一個(gè)機(jī)器周期以上,RD和WE有效時(shí)數(shù)據(jù)有效。對(duì)于TMS320VC5402,I/O設(shè)備選通信號(hào)IOSTRB的低電平有效發(fā)生在延遲了半個(gè)機(jī)器周期的上升沿到下一個(gè)機(jī)器周期的上升沿,持續(xù)一個(gè)機(jī)器周期,數(shù)據(jù)有效發(fā)生在第二個(gè)機(jī)器周期內(nèi)。R/W讀寫信號(hào)在輸入周期內(nèi)一直保持為“1”,在輸出周期一直保持為“0”,僅起到控制數(shù)據(jù)流的方向作用。以上分析期,則每次I/O操作均延長(zhǎng)一個(gè)機(jī)器周期,即需要三個(gè)機(jī)器周期完成I/O操作(等待周期時(shí)序從略)。3 CAN控制器與DSP的接口設(shè)計(jì)方法 從以上分析可分看到,TMS320系列DSP沒有提供與SJA1000 CAN控制器的直接接口信號(hào),以SJA1000的INTEL方式為例,為了使TMS320系列DSP滿足SJA1000的接口信號(hào)要求,可以從以下幾點(diǎn)進(jìn)行設(shè)計(jì)。 3.1 地址數(shù)據(jù)復(fù)用線的設(shè)計(jì) 將DSP的數(shù)據(jù)線D0~D7作為CAN的地址/數(shù)據(jù)復(fù)用線,用DSP的數(shù)據(jù)線去選擇CAN的內(nèi)部端口和傳送數(shù)據(jù)。 3.2 地址有效信號(hào)ALE的產(chǎn)生對(duì)于TMS320LF2407,用地址線A0、寫選通信號(hào)WR和端口選通信號(hào)STRB的邏輯組合產(chǎn)生DSP的ALE信號(hào),對(duì)于TMS320VC5402,則用地址線A0、I/O端口選通信號(hào)IOSTRB的邏輯組合產(chǎn)生ALE信號(hào)。 3.3 讀寫信號(hào)的產(chǎn)生 對(duì)于TMS320LF2407,用讀信號(hào)和A0的邏輯組合產(chǎn)生SJA1000的讀選通信號(hào),用寫信號(hào)和A0的邏輯組合產(chǎn)生SJA1000的寫選通信號(hào)。對(duì)于TMS320VC5402,則用A0、IOSTRB和R/W的邏輯組合產(chǎn)生SJA1000的讀和寫選通信號(hào)。邏輯關(guān)系如表2所示。表2 TMS320LF2407和TMS320VC5402與SJA1000接口邏輯 TMS320LF2407TMS320VC5402SJA1000A0STRBR/WWEA0IOSTRBR/WALEWERD100X100111000000000100110010103.4 片選信號(hào)的產(chǎn)生 用DSP的I/O空間選通信號(hào)IS和高位地址的譯碼信號(hào)的邏輯組合產(chǎn)生CAN的片選CS。 從以上設(shè)計(jì)思想可以看到,這種方法是將DSP的數(shù)據(jù)線改為適應(yīng)CAN控制器的數(shù)據(jù)地址線。為此將DSP的A0作為地址數(shù)據(jù)選擇線。A0=1時(shí),地址有效;A0=0時(shí),數(shù)據(jù)有效。即用奇數(shù)地址選擇端口,用偶數(shù)地址傳送數(shù)據(jù)。同時(shí),通過信號(hào)的邏輯組合,在地址有效期間不產(chǎn)生讀寫信號(hào),而是產(chǎn)生滿足CAN的地址有效信號(hào)ALE;在數(shù)據(jù)有效期間產(chǎn)生滿足CAN的讀和寫邏輯信號(hào)時(shí)序。4 CAN與DSP的接口電路 以TMS320VC5402與SJA1000芯片為例設(shè)計(jì)的接口電路如圖7所示。圖中,用一片GAL16V8B作為接口邏輯轉(zhuǎn)換電路。為突出接口電路,其它部分從略。用FM書寫的設(shè)計(jì)文件如下: 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
評(píng)論