新聞中心

EEPW首頁 > 設(shè)計(jì)應(yīng)用 > 基于TMS320C54X的雙調(diào)制解調(diào)器的設(shè)計(jì)與實(shí)現(xiàn)

基于TMS320C54X的雙調(diào)制解調(diào)器的設(shè)計(jì)與實(shí)現(xiàn)

——
作者:李朝海 李在銘 電子科技大學(xué) (成都610054) 時(shí)間:2007-01-26 來源:《電子工程師》 收藏

1 引 言 

本文引用地址:http://butianyuan.cn/article/20616.htm

在有差錯(cuò)信道中進(jìn)行數(shù)據(jù)的高可靠性甚至無誤碼傳輸,可采用傳統(tǒng)的差錯(cuò)重傳(arq)和前向糾錯(cuò)(fec)等技術(shù),但這些技術(shù)都不可避免地存在時(shí)延和時(shí)延抖動(dòng),信道利用率低,開銷大等弊端,不適合于需要一定的可靠性又要求實(shí)時(shí)傳輸或?qū)ν话l(fā)業(yè)務(wù)立即進(jìn)行處理的場(chǎng)合 ,如多媒體數(shù)據(jù)(語音,圖像 ,文本數(shù)據(jù))的通信、電力調(diào)度系統(tǒng)之間的通信、公安系統(tǒng)突發(fā)任務(wù)的下達(dá)等?;趖ms320c54的雙mode m可在一定程度上避免這些問題,它采用兩路全雙工的數(shù)據(jù)通信鏈路來進(jìn)行數(shù)據(jù)傳輸,相當(dāng)于用兩條線路來傳輸一路信息,接收端根據(jù)兩條線路的接收質(zhì)量智能地決定接收哪路信息,自動(dòng)切換,無需采用a rq或fec等技術(shù)就可實(shí)現(xiàn)數(shù)據(jù)的高可靠性傳輸。該系統(tǒng)采用dsp技術(shù),以平衡對(duì)稱設(shè)計(jì)思路 ,實(shí)現(xiàn)雙mod em在同一平臺(tái)上實(shí)施 ,并利用軟件無線電技術(shù)實(shí)現(xiàn)多種選擇靈活搭配,除了具有電路設(shè)計(jì) 、調(diào)試簡(jiǎn)單 、可靠性高和抗噪聲能力強(qiáng)等特點(diǎn)外,還具有以下優(yōu)點(diǎn): 

·傳輸中心頻率靈活可變,可適用于上音頻電力線載波(f=2880hz,3000hz)、微波(f=1700hz)、無線(f=1500hz),以及電力線載波機(jī)話音通道(f=1200hz)組成的通訊網(wǎng)中,采用本機(jī)傳送數(shù)據(jù)可統(tǒng)一所有的modem型號(hào),便于互換與維修。

·解調(diào)部分具有agc(自動(dòng)增益控制)功能?! ?/p>

·具有定性的誤碼顯示,線路信噪比狀況一目了然。 

·支持兩個(gè)modem獨(dú)立使用。

2 雙modem的硬件設(shè)計(jì)及其實(shí)現(xiàn)

2.1 雙modem系統(tǒng)的組成

雙modem系統(tǒng)的組成如圖1所示,主要由以下五部分構(gòu)成:

(1)dsp最小系統(tǒng)  數(shù)字處理系統(tǒng)由于其可靠性高、可編程性強(qiáng)等優(yōu)勢(shì)在通信、航天制導(dǎo)、儀器儀表等各個(gè)領(lǐng)域正得到越來越廣泛的應(yīng)用。在雙modem中由一片tms320c5402 dsp芯片和一片eprom構(gòu)成的dsp最小系統(tǒng)是整個(gè)系統(tǒng)的關(guān)鍵部分。tms320c54x是ti公司tms320系列芯片中新一代16-bit定點(diǎn)dsp,適合于高速的數(shù)字信號(hào)處理。其特點(diǎn)如下: 
·先進(jìn)的多總線結(jié)構(gòu),一條程序總線,三條數(shù)據(jù)總線,四條地址總線,使得靈活性和性能大大提高。   

·外接1024khz晶振,指令周期為10ns,100mips運(yùn)算速度。
·提供power down低功耗方式?!?
·17×17-bit的并行乘法器為非流水單周期的乘法/累加(mac)操作產(chǎn)生40-bit的乘積 ?!?
·8個(gè)輔助寄存器和一個(gè)專用運(yùn)算單元支持間接尋址?!?
·4級(jí)流水操作用于延遲分支,調(diào)用和返回指令?!?
·16個(gè)軟件可編程的等待狀態(tài)發(fā)生器,用于程序、數(shù)據(jù)、i/o存儲(chǔ)器空間的延時(shí)等待操作?!?
·可訪問的擴(kuò)展存儲(chǔ)器空間為192k×16-bit(其中64k程序存儲(chǔ)器、64k數(shù)據(jù)存儲(chǔ)器、64ki /o存儲(chǔ)器)。 
·支持多達(dá)16個(gè)用戶可屏蔽中斷(sint15-sint0),jtag掃描仿真邏輯(ieee1149.1)

(2)cpld控制邏輯 

現(xiàn)場(chǎng)可編程邏輯門陣列(fpga)和高性能數(shù)字信號(hào)處理器(dsp)是信號(hào)處理領(lǐng)域兩大關(guān)鍵器件,fpga和dsp的運(yùn)算速度及并行處理能力成為制約高速信號(hào)處理應(yīng)用的主要因素,fpga以其設(shè)計(jì)靈活性及硬件高密度性在信號(hào)處理領(lǐng)域顯示出越來越重要的作用。該系統(tǒng)的cpld控制邏輯采用xilin的xc9536來完成,xc9536的可編程i/o引腳,可以實(shí)現(xiàn)dsp、scc、a/d轉(zhuǎn)換等所需的控制邏輯。

(3)a/d變換 

系統(tǒng)接收時(shí)首先將模擬的語音信號(hào)通過a/d轉(zhuǎn)換變?yōu)閿?shù)字信號(hào)送入tms320c5402dsp,發(fā)送時(shí)將數(shù)字調(diào)制信號(hào)通過d/a轉(zhuǎn)換變?yōu)槟M信號(hào)后再上信道傳輸,為此我們選擇了ti公司單片集成ad和da轉(zhuǎn)換通道的音頻模數(shù)和數(shù)模轉(zhuǎn)換器320ad56作為系統(tǒng)的a/d轉(zhuǎn)換器件,該器件采用σ-δ轉(zhuǎn)換方法,采樣率為22.05khz,帶寬為8.8khz,分辨率為16bits,功耗為150mw,+5 v單電源供電,同時(shí)320ad56的時(shí)鐘可以直接與ttl、cmos、或正的ecl邏輯電平相連。

(4)閃爍存儲(chǔ)器(flash) 

flash memory是一個(gè)非易失性固態(tài)存儲(chǔ)器,這種存儲(chǔ)器的特點(diǎn)是在寫之前要以塊為單位執(zhí)行擦除命令,即:使所有字節(jié)均變?yōu)?xff,然后再寫入數(shù)據(jù),而且斷電以后數(shù)據(jù)不丟失。我們采用amd公司的am28f010作為系統(tǒng)的eprom,它工作所需的時(shí)序信號(hào)/we、/rd、/bce由cp ld控制邏輯提供。am28f010的工作電壓為+5v,容量為64k×8bit,速度為150ns。

(5)串口通信模塊 

modem從發(fā)送方串行接收數(shù)據(jù),然后經(jīng)過調(diào)制將數(shù)字信號(hào)轉(zhuǎn)換為模擬信號(hào),最后通過線路傳送到接收方。接收方也需要通過modem從線路上將信號(hào)解調(diào),將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),然后串行發(fā)送給接收方。本系統(tǒng)中為了實(shí)現(xiàn)串行通信,采用am85c30作為串口通信控制器(sc c),am85c30是amd公司的zilog系列產(chǎn)品,采用cmos結(jié)構(gòu),是一種全雙工雙通道、多數(shù)據(jù)協(xié)議的數(shù)據(jù)通信控制器,可以通過軟件設(shè)置實(shí)現(xiàn)多種數(shù)據(jù)通信方式。am85c30的每個(gè)通道都有一套自己的讀/寫寄存器集,所有通信模式都是通過操作寫寄存器來實(shí)現(xiàn)的,同時(shí)所有狀態(tài)判斷都是通過操作讀寄存器來實(shí)現(xiàn)的,隨著數(shù)據(jù)接收/發(fā)送,讀寄存器的值可能會(huì)發(fā)生變化,這些變化能觸發(fā)程序活動(dòng)或內(nèi)部硬件設(shè)置變化。

2.2 rs-232接口電路的設(shè)計(jì) 

rs-232標(biāo)準(zhǔn)的接口應(yīng)能承受接口引腳中任何兩個(gè)引腳的短接,而其本身及所聯(lián)設(shè)備不受到損壞,其電平標(biāo)準(zhǔn)規(guī)定了雙極性邏輯電平,即邏輯電平由電壓幅值和極性共同來描述,輸入的邏輯電平是+3v到+15v和-3v到-15v,電壓-3v到+3v之間屬于不確定的;輸出的邏輯電平是+5v到+15v和-5v到-15v,電壓-5v到+5v之間屬于不確定的。由此可知,rs-232的電壓和邏輯電平不能直接用于計(jì)算機(jī)電路,需要進(jìn)行電平轉(zhuǎn)換。在雙modem系統(tǒng)中,采用了三片sn75196集成芯片作為rs-232線路驅(qū)動(dòng)器和線路接收器,以此來實(shí)現(xiàn)rs-232和計(jì)算機(jī)電路之間的電平轉(zhuǎn)換。sn75196是一種專用的多路rs-232收發(fā)器,其驅(qū)動(dòng)器/接收器·82·數(shù)目為5/3,工作所需的電源電壓為±9v和+5v。

3 雙modem的軟件設(shè)計(jì)及其實(shí)現(xiàn) 

雙modem的軟件設(shè)計(jì)采用標(biāo)準(zhǔn)的c語言和tms320c54x的匯編語言混合編制完成,主要由以下幾個(gè)要點(diǎn)構(gòu)成:
3.1 系統(tǒng)初始化 

系統(tǒng)上電工作之前,首先必須進(jìn)行初始化。主要包括對(duì)tms320c5402dsp的狀態(tài)寄存器st0 、st1,處理器模式狀態(tài)寄存器pmst,時(shí)鐘模式寄存器clkmd和軟等待狀態(tài)寄存器swwsr的初始化。對(duì)am85c30通信口的初始化,包括設(shè)置合適的數(shù)據(jù)傳輸格式,數(shù)據(jù)傳輸波特率,中斷允許寄存器等。其中波特率的設(shè)置只需將除數(shù)因子寫入am85c30的"波特率除數(shù)鎖存器"wr12、wr 13中,用tms320c54匯編語言編制的初始化程序?qū)⒃赾語言的主程序中調(diào)用。

3.2 中斷服務(wù)程序 

中斷服務(wù)處理子程序是通信應(yīng)用程序的核心,當(dāng)系統(tǒng)上電初始化時(shí),在中斷向量表的相應(yīng)位置將初始化為一個(gè)臨時(shí)中斷服務(wù)處理子程序的入口地址,一旦初始化結(jié)束,每當(dāng)一個(gè)指定的通信事件出現(xiàn)時(shí),am85c30將產(chǎn)生一次通信中斷,cpu將依據(jù)此中斷號(hào)查看中斷向量表,調(diào)用執(zhí)行所指向的新的中斷處理程序,完成收/發(fā)處理。收/發(fā)數(shù)據(jù)的程序流程如圖2、圖3所示:

3.3 環(huán)行緩沖區(qū)與幀結(jié)構(gòu)

(1)環(huán)行緩沖區(qū)

在數(shù)據(jù)通信過程中,發(fā)送端和接收端都需要采用一定大小的緩沖區(qū),緩沖區(qū)的操作需要采用先進(jìn)先出(fifo)的原則,即保證新插入的數(shù)據(jù)不能覆蓋尚未處理的數(shù)據(jù),采用環(huán)形緩沖區(qū)技術(shù)則可很好地解決這個(gè)問題,假設(shè)數(shù)據(jù)緩沖區(qū)為buffer〔len〕,即長(zhǎng)度為len的緩沖區(qū) ,為了達(dá)到環(huán)形緩沖區(qū)操作的目的,需要定義一控制塊結(jié)構(gòu):

typedef struct
{ int cnt;
int rdi;
int wri;
int*buf;    
}bcb

cnt域表示當(dāng)前緩沖區(qū)內(nèi)的數(shù)據(jù)長(zhǎng)度,rdi表示從當(dāng)前環(huán)形緩沖區(qū)中讀取數(shù)據(jù)的指針位置,wri表示往當(dāng)前環(huán)形緩沖區(qū)中存放數(shù)據(jù)的指針位置,buf指針指向緩沖區(qū)的首地址。

(2)幀結(jié)構(gòu) 

由于雙modem系統(tǒng)接收數(shù)據(jù)時(shí)要依據(jù)誤碼率的高低在兩條線路間進(jìn)行智能切換,有選擇性地接收,從而實(shí)現(xiàn)數(shù)據(jù)的高可靠性傳輸。誤碼率的大小雖然是衡量線路傳輸狀況的指標(biāo) ,但它是一個(gè)長(zhǎng)期統(tǒng)計(jì)的結(jié)果,與當(dāng)前線路傳輸質(zhì)量無線性比例關(guān)系,在一小段時(shí)間內(nèi),有可能誤碼率高的線路傳輸?shù)臄?shù)據(jù)更正確,由于這種長(zhǎng)期統(tǒng)計(jì)和短時(shí)數(shù)據(jù)的正確與否無線性比例關(guān)系,如果直接用數(shù)據(jù)流方式進(jìn)行熱切換,就存在誤判并導(dǎo)致數(shù)據(jù)的誤收和對(duì)短時(shí)突發(fā)誤碼反映遲鈍和誤碼擴(kuò)大的現(xiàn)象。因此必需將數(shù)據(jù)以一定長(zhǎng)度為單位劃分為一個(gè)個(gè)的幀(fra me),再以幀為單位結(jié)合誤碼率進(jìn)行判斷、切換,這樣就可以把誤碼發(fā)生的位置定位在一幀長(zhǎng)度內(nèi),使切換更準(zhǔn)確,數(shù)據(jù)更可靠,在分幀切換當(dāng)中,發(fā)送端先將數(shù)據(jù)裝幀打包,幀結(jié)構(gòu)至少應(yīng)包括幀號(hào)、幀數(shù)據(jù)長(zhǎng)度、幀數(shù)據(jù)等。為此,我們定義了如圖4所示的幀結(jié)構(gòu)。幀結(jié)構(gòu)采用類似hdlc的幀結(jié)構(gòu),幀起止標(biāo)志固定為0x7e的8位數(shù)據(jù),兩端以0結(jié)束,中間是六連1,便于與幀數(shù)據(jù)相區(qū)分,幀結(jié)束標(biāo)志與幀開始標(biāo)志相同。crc采用16位的m序列,為了提高crc校驗(yàn)的計(jì)算速度,采用了查表法。

4 結(jié)束語

實(shí)際信道都不是理想的無差錯(cuò)信道,所傳輸?shù)?數(shù)據(jù)總會(huì)出現(xiàn)一定的誤碼。為此,我們采用高速dsp技術(shù)所設(shè)計(jì)的雙modem系統(tǒng),除了具有一般modem的通用功能之外,更主要的是可在有差錯(cuò)的信道中,實(shí)時(shí)地進(jìn)行數(shù)據(jù)的高可靠性甚至無誤碼傳輸。實(shí)際線路測(cè)試結(jié)果表明該系統(tǒng)在工作條件范圍內(nèi),當(dāng)歸一化信噪比≥17db時(shí),對(duì)511偽隨機(jī)碼的誤碼率pe≤1×10-6,在中低速語音壓縮編碼后使用雙modem技術(shù)進(jìn)行數(shù)據(jù)傳輸將有廣闊的市場(chǎng)發(fā)展前景。



關(guān)鍵詞:

評(píng)論


相關(guān)推薦

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

關(guān)閉