新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 使用TMS320C542構(gòu)成數(shù)據(jù)采集處理系統(tǒng)

使用TMS320C542構(gòu)成數(shù)據(jù)采集處理系統(tǒng)

作者: 時(shí)間:2008-11-11 來源:網(wǎng)絡(luò) 收藏

  近年來,隨著技術(shù)的普及,一大批低價(jià)格、高性能芯片的出現(xiàn),越來越多的電子工程技術(shù)人員開始使用來進(jìn)行系統(tǒng)設(shè)計(jì).本文以公司C5000系列DSP中的TMS320C542為例,構(gòu)成一種處理系統(tǒng).文中詳細(xì)地分析了系統(tǒng)的結(jié)構(gòu)、設(shè)計(jì)的注意事項(xiàng)、HPI接口的工作原理與連接方法、系統(tǒng)的工作流程以及軟件編制中的注意事項(xiàng).

  1 TMS320C542結(jié)構(gòu)及應(yīng)用

  TMS320C542是公司C5000系列DSP中的一種,C5000系列共有的特點(diǎn)如下:

  ·改進(jìn)的哈佛結(jié)構(gòu),包含一條程序總線,三條數(shù)據(jù)總線和四條地址總線

  ·高度并行的CPU和針對(duì)應(yīng)用優(yōu)化的硬件

  ·針對(duì)算法和高級(jí)語言優(yōu)化的指令集

  ·先進(jìn)的IC技術(shù)使其既高性能又低功耗

使用TMS320C542構(gòu)成數(shù)據(jù)采集處理系統(tǒng)

  C5000系列內(nèi)部硬件功能塊如圖1所示.其中,有:40bit算數(shù)邏輯單元(ALU);兩個(gè)40bit累加器A和B;17×17bit乘加單元(40bitMAC ,可作64級(jí)FIR運(yùn)算而不必考慮溢出;計(jì)算、選擇、存儲(chǔ)單元(CCSU),特別適合Viterbi等算法;40bit桶型移位寄存器;片上雙存取RAM,每機(jī)器周期可存取兩次;片上單存取RAM,可同時(shí)訪問兩塊片上存儲(chǔ)區(qū);片上外圍接口,包括串口、定時(shí)器、PLL、HPI接口等.

  TMS320C542自身特點(diǎn)如下:

  ·25ns單周期定點(diǎn)指令執(zhí)行時(shí)間,5V供電

  ·10K Words16bit 片上雙存取RAM

  ·64K Words程序,64K Words數(shù)據(jù),64K Words I/O存儲(chǔ)空間

  ·2K Words HPI接口,可通過此接口方便地與主設(shè)備進(jìn)行信息交換,主設(shè)備也可通過此接口下載DSP程序

  ·一個(gè)自動(dòng)緩沖的串口和一個(gè)TDM串口,且都可用作標(biāo)準(zhǔn)同步串口

  此外,C5000系列DSP可使用JTAG接口進(jìn)行調(diào)試,可完全控制DSP上的所有資源,使用方便可靠.

使用TMS320C542構(gòu)成數(shù)據(jù)采集處理系統(tǒng)

  2 系統(tǒng)結(jié)構(gòu)

  由TMS320C542構(gòu)成的處理系統(tǒng)的結(jié)構(gòu)如圖2所示,以DSP為中心,帶有64K程序RAM,64K數(shù)據(jù)RAM,并通過16K×16的FIFO將數(shù)據(jù)送到DA,16K×16的FIFO將AD采集的數(shù)據(jù)送到DSP.與主機(jī)通過HPI接口進(jìn)行數(shù)據(jù)交換.對(duì)SRAM、FIFO、AD、DA的控制,DSP所需各種狀態(tài)信息的獲取,以及與主機(jī)的其它一些聯(lián)系,都通過CPLDA和CPLDB來實(shí)現(xiàn).

  C5000系列DSP關(guān)鍵的外部接口信號(hào)如下:

  ·A0~A15,地址總線

  ·D0~D15,數(shù)據(jù)總線

  ·/MSTRB,外部存儲(chǔ)器存取閘

  ·/IOSTRB,I/O存取閘

  ·R/W,讀寫信號(hào)

  ·/PS,程序空間選擇

  ·/DS,數(shù)據(jù)空間選擇

  ·/IS,I/O空間選擇

  ·READY,數(shù)據(jù)準(zhǔn)備好

  此外,還有/HOLD、/HOLDA等,本系統(tǒng)未用.

  2.1 存儲(chǔ)器控制

  程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器各使用一片64K×16的SRAM,為了使DSP對(duì)外存的操作盡量快,其速度等級(jí)為12ns.使用/PS作程序存儲(chǔ)器的片選,/DS作數(shù)據(jù)存儲(chǔ)器的片選,而兩片存儲(chǔ)器的讀寫信號(hào)如下:

  /OE=not(not(/MSTRB) and not(R/W))

  /WR=notnot(/MSTRB) and (R/W)

使用TMS320C542構(gòu)成數(shù)據(jù)采集處理系統(tǒng)

  出于高速的需要,采用了Xilinx公司的XC9536生成邏輯(CPLDA).XC9536管腳至管腳的延遲為5ns,內(nèi)部有36個(gè)宏單元,可用管腳34個(gè),可在線編程,使用起來有很多優(yōu)點(diǎn).通過這些措施,系統(tǒng)可零等待地存取程序和數(shù)據(jù)RAM,也就是說,存儲(chǔ)器讀可達(dá)40M×16bit,寫可達(dá)20M×16bit.

  2.2 FIFO控制

  用于DAFIFO的寫和ADFIFO的讀都由CPLDA產(chǎn)生,其邏輯方程為:

  /ADFIFOR=not(not(/IOSTRB) and not(R/W) and ADDR0x0)

  /DAFIFOW=not(not/IOSTRB) and R/W and ADDR0x0)

  其中,ADDR0X0指DSP的A15~A13為零.

  DIFIFO由兩片容量16K×9bit、速度10ns的FIFO構(gòu)成,ADFIFO亦如此.由于控制信號(hào)的低延遲和FIFO的高速,對(duì)FIFO的存取也達(dá)到了零等待,即:使用RPT或RPTZ指令時(shí),可達(dá)20M×16bit/s.

  2.3 A/D和D/A控制

  A/D轉(zhuǎn)換器負(fù)責(zé)將外部模擬信號(hào)變換成DSP可處理的數(shù)字量,是DSP進(jìn)行處理的基礎(chǔ),在系統(tǒng)中具有十分重要的地位,采用的是10M采樣率、12bit分辨率的AD9220,如果需要,可在不改板的情況下?lián)Q成20M或40M采樣率的A/D.而D/A則將DSP生成的數(shù)字信號(hào)變成模擬量,完成信號(hào)的輸出或?qū)ο到y(tǒng)其他部分的控制,采用了100M速度的AD9762.A/D和D/A的控制信號(hào)如下:

  ·ADCLK和DACLK,分別是A/D轉(zhuǎn)換器和D/A轉(zhuǎn)換器的時(shí)鐘

  ·ADFIFOW,將A/D轉(zhuǎn)換的數(shù)據(jù)寫入ADFIFO

  ·DAFIFOR,從DAFIFO讀出數(shù)據(jù)以供D/A轉(zhuǎn)換

  ·DAFIFOMR和DAFIFORT,用于DAFIFO的清零和重傳

  ·ADFIFOMR和ADFIFORT,用于ADFIFO的清零和重傳

  此六個(gè)信號(hào)都由CPLDB產(chǎn)生,CPLDB采用的是Xilinx公司的XC95108,速度為10ns,有108個(gè)宏單元,可在線編程,因而有較高的靈活性.使用24MHz的晶振為CPLDB提供時(shí)鐘,由DSP通過I/O口向CPLDB寫入數(shù)據(jù)以控制ADCLK和DACLK的開關(guān)和頻率,并以I/O寫的方式產(chǎn)生FIFO的清零和重傳信號(hào).

使用TMS320C542構(gòu)成數(shù)據(jù)采集處理系統(tǒng)

  2.4 CPLDA和CPLDB的應(yīng)用

  由以上介紹可以看出,整個(gè)系統(tǒng)的邏輯都由CPLDA和CPLDB產(chǎn)生.此外,它還有以下功能:

  ·FIFO的所有狀態(tài)信號(hào),系統(tǒng)外部送入的各種控制和狀態(tài)信號(hào),都送入了CPLDB,可由DSP通過I/O方式讀取

  ·DSP的四個(gè)外部中斷、NMI中斷都連至CPLDB,可通過I/O口實(shí)時(shí)控制哪個(gè)信號(hào)接入哪個(gè)中斷,具有較大的靈活性

  ·DSP的通用I/O管腳BIO和XF連至CPLDA,可以查詢方式快速響應(yīng)外部信號(hào)

  ·主機(jī)對(duì)DSP的復(fù)位和其它一些特征的控制,對(duì)DSP的某些信息的讀取

  ·DSP對(duì)其它一些外圍電路的控制

  由于在硬件設(shè)計(jì)時(shí),對(duì)實(shí)際應(yīng)用的要求并不能完全了解,因此需要使系統(tǒng)有足夠的冗余和靈活性,使用CPLD可以達(dá)到這一要求.通過將可能需要的各種控制和狀態(tài)信號(hào)引入CPLD,并利用CPLD的大容量和現(xiàn)場(chǎng)可編程性,可根據(jù)不同的要求進(jìn)行現(xiàn)場(chǎng)修改,從而使系統(tǒng)設(shè)計(jì)的成功率更大,并且有很大的靈活性.

  系統(tǒng)中使用了兩片CPLD,而沒有用一片大容量的CPLD代替,是出于系統(tǒng)性能的考慮.因?yàn)榇鎯?chǔ)器和FIFO的讀寫信號(hào)需要較低的延遲才可滿足零等待的要求,而大容量的CPLD延遲大且價(jià)格高,因而用XC9536滿足系統(tǒng)對(duì)速度的要求,而用XC95108滿足系統(tǒng)復(fù)雜邏輯對(duì)容量的要求.

  2.5 HPI接口

  DSP可使用HPI(Host Port Interface 接口方便地與主設(shè)備或主處理器交換數(shù)據(jù),而幾乎不需增加額外的器件.對(duì)40MHz主頻的320C542而言,通信速度最快可達(dá)64Mbps.而且C5000系列DSP通過某種連線方式,可利用HPI接口下載程序,從而使系統(tǒng)具有更大的靈活性.HPI接口的框圖如圖3所示,有HPIA(HPI地址寄存器)、HPID(數(shù)據(jù)寄存器)、HPIC(控制寄存器)三個(gè)16bit寄存器,主設(shè)備就是通過這些專用寄存器與HPI通信.在C542的10K內(nèi)部RAM中,有2K字屬于HPI存儲(chǔ)塊.系統(tǒng)框圖如圖4所示,HD0~HD7是8位數(shù)據(jù)線,直接連到主設(shè)備的數(shù)據(jù)線上;HCS為片選信號(hào);HDS1和HDS2為數(shù)據(jù)鎖存信號(hào),在主設(shè)備的存取周期控制數(shù)據(jù)的傳輸,一般連至主設(shè)備的數(shù)據(jù)選通;HR/W決定當(dāng)前操作是讀還是寫,可根據(jù)主設(shè)備的具體情況決定與何種信號(hào)相連;HCNTL0/1用于主設(shè)備選擇存取HPI的哪一個(gè)寄存器和對(duì)寄存器的存取類型,連至主設(shè)備的地址線;由于HPI寄存器是16位,而HPI與主設(shè)備僅以8位數(shù)據(jù)線相連,因而用HBIL決定當(dāng)前存取的是一個(gè)字的第一還是第二字節(jié),連至主設(shè)備的地址線.

  對(duì)HPI進(jìn)行操作,首先要將控制字寫入HPIC,然后將要存取的地址寫入HPIA,最后存取HPID,就可從HPI存儲(chǔ)塊讀數(shù)或?qū)?shù)據(jù)寫入HPI存儲(chǔ)塊.此外,還可選擇HPIA自動(dòng)增加方式,將初始地址寫入HPIA后,可不再操作HPIA,每存取一次數(shù)據(jù),地址都會(huì)自動(dòng)加一,因而大大加快了存取速度.

  在本系統(tǒng)中,主設(shè)備是AMD186構(gòu)成的嵌入式系統(tǒng),AMD與HPI的連接如圖5所示.由以上介紹可以看出,使用HPI也可與PC機(jī)的ISA總線方便地連接,用PC機(jī)作為主設(shè)備,通過PC機(jī)向DSP下載程序完成各種功能.

使用TMS320C542構(gòu)成數(shù)據(jù)采集處理系統(tǒng)

  要使用HPI下載程序,只需在DSP復(fù)位時(shí)將程序通過HPI接口寫入HPI存儲(chǔ)塊從0X1000開始的存儲(chǔ)區(qū),并在上電復(fù)位后的一段時(shí)間將HINT管腳的信號(hào)引至INT2管腳,DSP在Boot程序中檢測(cè)到后,就會(huì)自動(dòng)跳轉(zhuǎn)至0X1000處開始執(zhí)行.

  3 系統(tǒng)工作流程及設(shè)計(jì)注意事項(xiàng)

  系統(tǒng)通過實(shí)際測(cè)試,運(yùn)行速度為40MIPS,程序和數(shù)據(jù)存儲(chǔ)器、所有I/O口都能全速運(yùn)行,工作穩(wěn)定可靠.其工作流程如下:

  (1)根據(jù)要求編寫DSP程序并調(diào)試通過.

  (2)復(fù)位DSP,并由主設(shè)備通過HPI接口向DSP下載程序.

  (3)復(fù)位信號(hào)失效,DSP在主設(shè)備的控制下開始工作.

  由于系統(tǒng)工作于較高的頻率下(CPU為40MHz,外圍設(shè)備一般為20MHz,最高為40MHz),因而在系統(tǒng)設(shè)計(jì)中,必須注意高頻影響.

  首先,系統(tǒng)要盡量簡(jiǎn)單,要選擇大容量、表面封裝的元器件,以使元件數(shù)量少、體積小,降低信號(hào)反射并有利于布線.

  其次,在設(shè)計(jì)PCB板時(shí),要采用四層板,中間兩層作電源和地,并多加一些去耦電容.布線時(shí)不可用90度的拐彎,過孔要盡量少.數(shù)據(jù)和地址最好成組布線,以降低對(duì)其它信號(hào)的影響.一些關(guān)鍵的控制線,如存儲(chǔ)器讀寫信號(hào)和FIFO讀寫信號(hào),最好在其兩邊加地線保護(hù).特別是FIFO的讀寫信號(hào),由于其對(duì)干擾特別敏感,要特別注意.對(duì)一些較長(zhǎng)的引線,可串接一個(gè)30Ω的小電阻或加終端匹配以減小反射.

  4 C5000系列DSP的軟件編程和調(diào)試

  C5000系列DSP的編程工具,有C語言和匯編語言兩種,而匯編語言又有兩種指令集,一種叫記憶指令集(Mnemonic Instruction Set ,類似8086的匯編語言;一種叫代數(shù)指令集(Algebraic Instruction Set ,類似于C語言,使用起來比記憶指令集方便很多.

  實(shí)際應(yīng)用中,一般都是C和匯編混合編程,混合編程的方法,可查閱C5000系列DSP的手冊(cè)得到.公司還提供了一個(gè)運(yùn)行庫(Runtime Lib ,用TI公司的JTAG調(diào)試器進(jìn)行調(diào)試時(shí),在DSP程序中調(diào)用運(yùn)行庫的函數(shù),可以打開PC機(jī)上的文件獲取數(shù)據(jù),或?qū)SP的數(shù)據(jù)傳入PC機(jī)并存入文件,或通過PC機(jī)鍵盤向DSP傳遞信息和發(fā)送命令,總之,可以為調(diào)試帶來極大的方便.

  在本系統(tǒng)中,由于既有A/D,又有D/A,構(gòu)成了一個(gè)閉環(huán),自發(fā)自收.可以由D/A生成模擬波形,由A/D實(shí)時(shí)采集,由DSP處理,對(duì)算法的設(shè)計(jì)和調(diào)試可帶來很大的幫助.



關(guān)鍵詞: TI DSP 數(shù)據(jù)采集

評(píng)論


相關(guān)推薦

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

關(guān)閉