TMS320VC5409和Cygnal單片機(jī)構(gòu)成的移動數(shù)據(jù)處理傳輸系統(tǒng)
1 引言
移動數(shù)據(jù)處理傳輸系統(tǒng)主要應(yīng)用在小型或便攜儀器上。它能夠采集、處理和并通過無線移動網(wǎng)傳送和接收數(shù)據(jù)。由于無線移動網(wǎng)的費(fèi)用,應(yīng)使移動數(shù)據(jù)處理傳輸系統(tǒng)有較強(qiáng)的實時數(shù)據(jù)處理和數(shù)據(jù)壓縮功能,以減少通過移動網(wǎng)傳送和接收數(shù)據(jù)量。另外由于儀器具有體積小、便于攜帶、較長的工作時間,電池供電等特點,因而要求移動數(shù)據(jù)處理傳輸系統(tǒng)有較低的功耗。為達(dá)到上述目的,本文設(shè)計了一種基于Ti公司低功耗DSP芯片和Cygnal低功耗的混合信號系統(tǒng)級單片機(jī)移動數(shù)據(jù)處理傳輸系統(tǒng)。
圖1移動數(shù)據(jù)處理傳輸系統(tǒng)
該移動數(shù)據(jù)處理傳輸系統(tǒng)(見圖1)由三個主要DSP單元、CPU單元,GSM單元組成。經(jīng)放大、濾波后模擬信號送入CPU單元進(jìn)行A/D轉(zhuǎn)換。CPU單元將A/D轉(zhuǎn)換后的模擬信號通過HPI總線送入DSP單元進(jìn)行多種數(shù)據(jù)處理和數(shù)據(jù)壓縮等大量的和高速的運(yùn)算(例如:FFT、小波變換、濾波、模式識別、編碼壓縮等)。運(yùn)算的結(jié)果再通過HPI總線送入CPU單元。CPU單元還可對由DSP單元送來的信號再進(jìn)行簡單的處理、分析。CPU單元還分別控制其他輔助單元(例:鍵盤單元、時鐘單元、LCD單元、LED單元等)工作。CPU單元通過串口控制GSM單元通過無線移動網(wǎng)傳送和接收數(shù)據(jù)。所以移動數(shù)據(jù)處理傳輸系統(tǒng)實際是一個以CPU為核心的數(shù)據(jù)采集、處理系統(tǒng)和傳輸系統(tǒng)。
2 DSP單元
DSP單元將CPU單元通過HPI總線送來的 A/D轉(zhuǎn)換后的原始數(shù)據(jù)信號進(jìn)行多種高速運(yùn)算,運(yùn)算的結(jié)果再通過HPI總線送入CPU單元。DSP單元可以承擔(dān)信號預(yù)處理、信號的檢測及分類等實時性要求高、計算量大的算法。這里選用Ti公司TMS320-54系列DSP中的TMS320VC5409[1]芯片。TMS320C54X是為實現(xiàn)低功耗、高性能和低成本而專門設(shè)計的定點DSP芯片。TMS320C54X的主要特點包括:
⑴ 運(yùn)算速度快。指令周期為25/20/15/12.5/10ns,運(yùn)算能力為40/50/66/80/100 MIPS;
⑵ 優(yōu)化的CPU結(jié)構(gòu)。內(nèi)部有1個40位的算術(shù)邏輯單元,2個40位的累加器,2個40位加法器,1個17×17的乘法器和1個40位的桶形移位器,允許16 位帶/不帶符號的乘法。有4條內(nèi)部總線和2個地址產(chǎn)生器。此外,內(nèi)部還集成了維特比加速器,用于提高維特比編譯碼的速度。
⑶ 低功耗方式。TMS320C54X可以在3.3V電壓下工作,三個低功耗方式(IDLE1、IDLE2和IDLE3)可以節(jié)省DSP的功耗,TMS320C54X特別適合于無線移動設(shè)備。
⑷ 智能外設(shè)。除了標(biāo)準(zhǔn)的串行口和時分復(fù)用(TDM)串行口外,TMS320C54X還提供了自動緩沖串行口BSP(auto-Buffered Serial Port)和與外部處理器通信的HPI(Host Port InteRFace)接口。
TMS320VC5409除了具有54X的特點外,它還有一個16位16 K的片內(nèi)只讀存儲器, 一個16位32 K 的片內(nèi)雙操作數(shù)據(jù)存儲器,三個多通道緩沖串型接口(McBSPs),一個增強(qiáng)型的具有16位數(shù)據(jù)/地址驅(qū)動功能的8位主機(jī)接口(HPI)[2],一個 16bit定時器和6個通道(DMA)控制器,操作速率達(dá)100MIPS,支持8 兆外部的程序空間,低功耗工作:3V和1.8V(內(nèi)核),特別適合電池供電設(shè)備。
在移動數(shù)據(jù)處理傳輸系統(tǒng)中,CPU以主機(jī)方式運(yùn)行,而VC5409以從機(jī)的方式運(yùn)行。CPU單元在啟動時控制RESDSP信號復(fù)位VC5409,在復(fù)位時將放在DCM8512SRAM(圖5)中的VC5409用戶程序經(jīng)HPI總線傳送到VC5409的片內(nèi)高速RAM中,以提高DSP的執(zhí)行速度和減少功耗。由于VC5409的HINT和INT2相連,所以當(dāng)RESDSP信號為高時,VC5409引導(dǎo)程序(Bootloader)將以HPI[3]方式啟動。 VC5409將自動執(zhí)行由引導(dǎo)程序裝入在VC5409的片內(nèi)數(shù)據(jù)存儲器中程序。在其他時間VC5409經(jīng)HPI總線與CPU單元交換數(shù)據(jù)。為了滿足能夠進(jìn)行實時數(shù)字信號處理需要,DSP工作頻率為100 MHz。
在系統(tǒng)功耗是系統(tǒng)設(shè)計首要考慮的情況下,應(yīng)盡可能地選擇低電壓供電的DSP器件。選擇3.3V低電壓供電的DSP除了能減小DSP本身的功耗以降低系統(tǒng)的總功耗外,還可以使外部邏輯電路功耗降低,這對實現(xiàn)系統(tǒng)低功耗有著重要的作用。另外在軟件上使用IDLE指令降低功耗。VC5409有IDLE1、IDLE2和IDLE3幾種降功耗模式。IDLE指令將CPU內(nèi)部操作掛起(suspend activity),但是仍保留內(nèi)部各部件邏輯的時鐘,允許串口等片內(nèi)外設(shè)繼續(xù)工作。在50MHz的系統(tǒng)時鐘時,執(zhí)行IDLE2指令所需電流的典型值為 2mA。若關(guān)閉內(nèi)部部件的輸入時鐘時執(zhí)行IDLE3指令,這時電流值僅為20μA。
3 無線移動網(wǎng)接口
移動通信系統(tǒng)主要使用CDMA和GSM制式。GSM系統(tǒng)是笫二代移動通信系統(tǒng)[4]。它提供多種業(yè)務(wù),主要有話音、短消息、數(shù)據(jù)業(yè)務(wù)等。GSM系統(tǒng)是由幾個分系統(tǒng)組成的,并且可與各種公用通信網(wǎng)(PSTN公用電話網(wǎng)、 ISDN綜合業(yè)務(wù)數(shù)據(jù)網(wǎng)、PSPDN公用交換分組數(shù)據(jù)網(wǎng)等)互連互通,GSM系統(tǒng)能提供穿越國際邊界的自動漫游功能。GSM有兩個并行的系統(tǒng):GSM900和DCS1800,這兩個系統(tǒng)功能相同,主要是頻率不同。GSM移動通信網(wǎng)能提供多種電信業(yè)務(wù),主要有∶
電話業(yè)務(wù)是GSM移動通信網(wǎng)提供的最重要業(yè)務(wù)。能為數(shù)字移動客戶之間、數(shù)字蜂窩移動電話網(wǎng)客戶、模蜂窩移動電話網(wǎng)客戶之間以及與固定網(wǎng)客戶之間,提供實時雙向話音通信。
短消息業(yè)務(wù)又可分為包括移動臺起始和移動臺終止的點對點的短消息業(yè)務(wù)和點對多點的小區(qū)廣播短消息業(yè)務(wù)。點對點的短消息業(yè)務(wù),則可使GSM客戶接收由其它 GSM客戶發(fā)送的短消息。點對點的短消息業(yè)務(wù)是由短消息業(yè)務(wù)中心完成存儲和前轉(zhuǎn)功能的。點對點的信息發(fā)送或接收即可在MS處于呼叫狀態(tài)(話音或數(shù)據(jù))時進(jìn)行,也可在空閑狀態(tài)下進(jìn)行。當(dāng)其在控制信道內(nèi)傳送時,不用建立連接,因而服務(wù)費(fèi)低,但信息量限制為140個八位組(7比特編碼,160個字符)。
為了滿足GSM移動客戶對數(shù)據(jù)通信服務(wù)的需要。GSM系統(tǒng)不僅使移動客戶之間能完成數(shù)據(jù)通信,更重要還能使GSM移動通信網(wǎng)與其它公用數(shù)據(jù)網(wǎng)互通。 GSM提供2400bps、4800bps、9600bps的異步數(shù)據(jù)傳輸能力。
GSM引擎模塊提供的命令接口符合GSM07.05[5]和GSM07.07[6]規(guī)范。GSM07.07中定義的AT Command接口提供了一種移動臺(MS)與數(shù)據(jù)終端設(shè)備(DTE)之間的通用接口,該指令集是由諾基亞、愛立信、摩托羅拉和HP等廠家共同為GSM系統(tǒng)研制的,GSM07.05對短消息作了詳細(xì)的規(guī)定。在短消息模塊收到網(wǎng)絡(luò)發(fā)來的短消息時,能夠通過串口發(fā)送指示消息,數(shù)據(jù)終端設(shè)備可以向短消息模塊發(fā)送各種命令。目前,在國內(nèi)已經(jīng)開始使用的模塊有Falcom系列,Wavecom系列,西門子系列模塊,而且這些模塊的功能、用法差別不大。利用GSM引擎模塊在GSM網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸?shù)姆椒?,結(jié)合已有的系統(tǒng)通過RS232接口(圖3),可以僅使用TXD和RXD兩根線,實現(xiàn)數(shù)據(jù)的無線傳輸。并且已有的系統(tǒng)硬件部分不需要做大的改動,關(guān)鍵是做軟件部分的修改。
西門子的TC35系列GSM引擎模塊[7]性價比較高,并且已經(jīng)有國內(nèi)的無線電設(shè)備入網(wǎng)證,TC35主要是由射頻天線、內(nèi)部Flash、GSM 基帶處理器、匹配電源和一個40腳的Zip插座組成。其中GSM基帶處理器是核心部件,它的作用相當(dāng)于一個協(xié)議處理器,用來處理外部系統(tǒng)通過串口發(fā)送過來的AT指令。射頻天線部分主要實現(xiàn)信號的調(diào)制與解調(diào),實現(xiàn)外部射頻信號與內(nèi)部基帶處理器之間的信號轉(zhuǎn)換,匹配電源為處理器以及射頻部分提供所需的電源,插座是提供給用戶的應(yīng)用接口。TC35的用戶應(yīng)用接口采用40腳的Zip插座,其中包含的引腳功能有:3.3~5.5V峰值為2A的直流電源;模擬音頻輸入輸出接口;標(biāo)準(zhǔn)的RS232信號接口,共8個引腳;SIM卡連接引腳數(shù)為6個,符合GSM11.11標(biāo)準(zhǔn)。特別需要引起注意的是,RS232接口采用9位編碼格式,其中8 個數(shù)據(jù)位,1個停止位,沒有奇偶校驗位,因此單片機(jī)一般采用工作方式1,支持1200-115200bps的速率(但標(biāo)準(zhǔn)的GSM網(wǎng)絡(luò)一般只支持 9.6Kbps的速率)。
4 CPU單元
CPU單元的任務(wù)比較多,主要要完成對由DSP單元送來的信號再處理分析。 CPU單元還分別控制鍵盤單元、時鐘單元、LCD單元、LED單元等輔助單元和GSM單元工作。對CPU單元的要求是高速和低功耗。這里選用美國 Cygnal公司的C8051F020。C8051F020單片機(jī)[8]是集成在一塊芯片上的混合信號系統(tǒng)級單片機(jī)(圖4),芯片上有8個8位數(shù)字I/O 端口,其中四個與標(biāo)準(zhǔn)的8051的端口(P0、P1、P2、P3)相同,與5V兼容。I/O端口在功能上有所增強(qiáng),每個I/O端口都可獨立地設(shè)置為推挽輸出或開漏輸出和弱上拉,這為一些低功耗系統(tǒng)設(shè)計提供了節(jié)省電源的手段。C8051F020單片機(jī)除了具有51系列單片機(jī)的特點外還有如下的特點:
(1) 25MPIS高速流水線式8051微控制器內(nèi)核;
(2) 12位、100KSPS、8通道帶可編程增益放大器的ADC,雙12位可程控更新的DAC;
(3) 雙模擬比較器,片內(nèi)基準(zhǔn)電源;
(4) 64KB系統(tǒng)內(nèi)可編程FLASH存儲器,4352(4096+256)片內(nèi)RAM;
(5) 各自獨立的SPI、SMBUS/I2C和兩個UART串行接口;
(6) 5個16位通用定時器;
(7) 片內(nèi)看門狗定時器、VDD監(jiān)視器和溫度傳感器;
(8) 工作電壓:2.7-3.6V,工作電流:@20MHz">10mA@20MHz。
C8051F020使用采用了流水線式結(jié)構(gòu),與標(biāo)準(zhǔn)的8051相比它的指令執(zhí)行速度有極大的提高。在標(biāo)準(zhǔn)的8051中,除了MUL和DIV所有的指令都需要12或24個系統(tǒng)時鐘周期,最大的時鐘頻率12-24MHZ。相比較而言,C8051F020內(nèi)核70%的指令執(zhí)行時間為1或2個系統(tǒng)時鐘周期,只有4 條指令的執(zhí)行 時間超過4個系統(tǒng)時鐘周期。C8051F020的MCU 在CIP-51內(nèi)核的內(nèi)部和外部有幾項關(guān)鍵性的改進(jìn),提高了整體性能,更易于在實際應(yīng)用中使用。擴(kuò)展的中斷系統(tǒng)為CIP-51提供22個中斷源,而標(biāo)準(zhǔn)的8051只有7個中斷源。C8051F020允許大量的模擬和數(shù)字外設(shè)中斷微控制器。由中斷驅(qū)動的系統(tǒng)需要較少的CPU干預(yù),從而極大地提高系統(tǒng)的執(zhí)行速度。特別是在多任務(wù)實時系統(tǒng)中,這些增加的中斷源非常有用。MCU內(nèi)部有一個能獨立工作的時鐘發(fā)生器。另外,MCU可以關(guān)閉單個或全部外設(shè)以節(jié)省功耗。由于C8051F020單片機(jī)自身帶有64K+128B的 FLASH 程序存儲器,故不需再擴(kuò)展程序存儲器。
圖4 C8051F020單片機(jī)
C8051F020的MCU具有4KB的RAM可映射在片內(nèi),也可映射在64KB外部數(shù)據(jù)存儲器地址空間,還可同時映射到片內(nèi)和片外三種方式。對于后兩種存儲器工作模式需通過外部存儲器接口使用MOVX和DPTR或MOVX和R0(R1)指令訪問外部數(shù)據(jù)存儲器和存儲器映像的I/O設(shè)備。但是對于高8位地址必須由外部存儲器接口寄存器(EMI0CN)提供。而EMIF控制寄存器可將外部數(shù)據(jù)存儲器接口映射到低端口(P0-P3)或高端口(P4-P7),以及配置為復(fù)用模式或非復(fù)用模式等。
外部存儲器接口(EMI)映射為低端口(P0~3)即PRTSEL位(EMIOCH.5)置為0,此時如果EMIFLE位(XBR2.5)被設(shè)置為邏輯1,那么數(shù)字交*開關(guān)將不分配外部設(shè)備給 P0.7(/WR),P0.6(/RD),P0.5(ALE)(如果EMI設(shè)置為復(fù)用模式);如果EMIFLE位設(shè)為0,那么P0.7、P0.6、 P0.5的功能將由交*開關(guān)或端口鎖存器來決定。外部存儲器接口只在執(zhí)行片外MOVX指令期間使用相關(guān)的端口引腳,一旦MOVX指令執(zhí)行完畢,端口鎖存器或交*開關(guān)又重新恢復(fù)對端口引腳的控制(端口3、2、1、0)。對于外部存儲器接口的配置只有擴(kuò)展外部存儲器或具有存儲器映像的I/O部件時,才配置 EMIF。
本數(shù)據(jù)處理傳輸系統(tǒng)使用512k*8bit的SRAM作為外部數(shù)據(jù)存儲器,使用高端口、復(fù)用模式(即P7端口數(shù)據(jù)D0-D7和地址A0-A7復(fù)用,P6端口輸出地址A8-A15)、片外存儲器方式(不使用片內(nèi)存儲器)。DCM8512是512k*8bit自帶掉電保護(hù)的 SRAM,用于存放數(shù)據(jù)和VC5409用戶程序,需19條地址線(A0-A18),而C8051F020外部數(shù)據(jù)存儲器只支持64k Byte(A0-A15),故使用P5端口來擴(kuò)充地址線(A16-A20)。
C8051F020最突出的優(yōu)點之一就是使用交*開關(guān)網(wǎng)絡(luò)。交*開關(guān)網(wǎng)絡(luò)改進(jìn)了可以控制片內(nèi)數(shù)字資源與外部I/O引腳相連的。通過設(shè)置交*開關(guān)控制寄存器,將片內(nèi)的數(shù)字資源如計數(shù)器/定時器、串行總線、硬件中斷、 ADC轉(zhuǎn)換啟動輸入、比較器輸出以及微控制器內(nèi)部其他數(shù)字資源配置為端口I/O引腳,這就允許用戶根據(jù)自己的特定應(yīng)用將通用I/O端口與所需要數(shù)字資源相結(jié)合。
CPU單元工作原理(見圖5)。C8051F020的工作頻率為11.0592MHz。模擬信號連接至C8051F020的 AIN0.0- AIN0.7腳,進(jìn)行12位A/D轉(zhuǎn)換。由C8051F020中的時鐘單元產(chǎn)生可以變動的抽樣頻率。CPU單元通過HPI總線將A/D轉(zhuǎn)換后的心電信號送到DSP單元進(jìn)行運(yùn)算,運(yùn)算的結(jié)果再通過HPI總線送入CPU單元。HPI總線內(nèi)包括數(shù)據(jù)線D0-D7、地址線A0-A3、DSP片選線DSP- addr、讀寫線WR,RD、DSP復(fù)位線及中斷線INT0組成。地址線A0-A3選擇DSP的HPI寄存器;數(shù)據(jù)線D0-D7用于C8051F020和 DSP交換數(shù)據(jù);當(dāng)C8051F020向DSP寫數(shù)據(jù)時,將在DSP內(nèi)部產(chǎn)生中斷,該中斷將DSP從IDLE狀態(tài)中喚醒,中斷服務(wù)程序還將從DSP特定地址的內(nèi)部存儲器中讀CPU寫的數(shù)據(jù);當(dāng)DSP向C8051F020寫數(shù)據(jù)時,DSP置中斷線INT0=0,C8051F020的INT0中斷服務(wù)程序?qū)?DSP的HPI數(shù)據(jù)寄存器讀數(shù)據(jù)。
CPU單元通過RS232接口線TX0和RX0與GSM模塊進(jìn)行硬件連接,用于通過無線移動網(wǎng)傳送數(shù)據(jù)信息。C8051F020單片機(jī)和GSM引擎之間采用AT指令實現(xiàn)互相之間的通信,更詳細(xì)的資料可以參考GSM07.05和GSM07.07規(guī)范。例如使用短信方式時,CPU單元發(fā)出短信的過程大體如下:用預(yù)先設(shè)置好的短信息中心地址、短信息的接受地址和要發(fā)售的報警數(shù)據(jù),形成PDU格式短信;然后發(fā)出指令A(yù)T+CMGF=0r設(shè)置GSM引擎為 PDU方式;再發(fā)出指令A(yù)T+CMGS=r ,當(dāng)受到回答信號后,發(fā)送已形成PDU格式短信。
5 小結(jié)
本文設(shè)計了一種基于 Ti公司低功耗DSP芯片和Cygnal低功耗的混合信號系統(tǒng)級單片機(jī)移動數(shù)據(jù)處理傳輸系統(tǒng),它能夠采集、處理和通過無線移動網(wǎng)傳送和接收數(shù)據(jù)。該系統(tǒng)主要由DSP、CPU,GSM三個單元組成,并以CPU單元為核心。Cygnal單片機(jī)可以進(jìn)行A/D轉(zhuǎn)換,CPU單元將A/D轉(zhuǎn)換后的模擬信號通過HPI 總線送入DSP單元進(jìn)行數(shù)據(jù)處理;處理的結(jié)果再通過HPI總線送入CPU單元。CPU單元通過串口控制GSM單元通過無線移動網(wǎng)傳送和接收數(shù)據(jù)。該系統(tǒng)具有體積小、便于攜帶、功耗低、可使用電池供電的特點,因而主要應(yīng)用于要求移動數(shù)據(jù)處理傳輸?shù)男⌒突虮銛y儀器上使用。
評論