《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 用TMS320C5402實現(xiàn)16路全雙工來電顯示
用TMS320C5402實現(xiàn)16路全雙工來電顯示
馬義德 陸福相
摘要: 按照v.23建議、利用TMS320C5402實現(xiàn)16路全雙工來電顯示的原理、算法分析及軟硬件設(shè)計。該系統(tǒng)已在深圳市鼎銘電子有限公司開發(fā)成功,并投入了使用。
關(guān)鍵詞: DSP 頻移鍵控 TMS320C5402 TI
Abstract:
Key words :

    摘  要: 按照v.23建議、利用title="TMS320C5402">TMS320C5402實現(xiàn)16路全雙工來電顯示的原理、算法分析及軟硬件設(shè)計。該系統(tǒng)已在深圳市鼎銘電子有限公司開發(fā)成功,并投入了使用。 

    關(guān)鍵詞: 來電顯示(Caller ID Detection0)  數(shù)字信號處理器(DSP頻移鍵控(FSK)

 

    來電顯示并非電話必須具備的功能,它可以作為附加功能有償提供給用戶。目前,實現(xiàn)來電顯示的方法很多,但隨著集成電路和DSP的飛速發(fā)展,利用DSP實現(xiàn)來電顯示具有成本低、可靠性高、軟硬件設(shè)計簡單、可維護(hù)性強(qiáng)等特點。TI公司的TMS320C5X系列特別適用于通信領(lǐng)域。本文主要介紹利用TMS320C5402實現(xiàn)符合v.23建議[1]的16路全雙工來電顯示。另外,此方案略作修改還可符合bell202建議。 

1 基本原理及算法設(shè)計

    v.23的波特率為1200Baud,調(diào)制方式為2FSK,發(fā)送“1”時載波頻率為F1=1300Hz,發(fā)送“0”時載波頻率為F0=2100Hz。采用FSK調(diào)制方式的主要優(yōu)點是:①無需載波恢復(fù),大大降低了系統(tǒng)復(fù)雜度。②對幅度的非線性抗干擾能力強(qiáng)。因為FSK信號為恒包絡(luò)信號,其信息完全包含在信號的過零點上,所以比起AM信號,其對幅度非線性抗干擾能力要強(qiáng)。③調(diào)制解調(diào)易用軟硬件實現(xiàn),簡單易懂。其最大的缺點就是頻率利用率低。因為電話的頻帶范圍為300~3400Hz,因此利用FSK調(diào)制方式僅適用于中低速通信。由于v.23波特率為1200Baud,采用2FSK調(diào)制方式,所以其比特率為1200bps,但完全可適用于來電顯示。 

    為了以下敘述方便,在此先給出FSK系統(tǒng)的原理框圖,如圖1所示。 

 

 

    整個系統(tǒng)的核心是FSK的算法設(shè)計。從圖1可以看出,關(guān)鍵幾步為:①調(diào)制,即如何實現(xiàn)任意頻率的正弦波發(fā)生器。②濾波器設(shè)計包括發(fā)送濾波器和接收端的低通濾波器。這一步相對來說比較簡單,可以利用MATLAB軟件來計算其系數(shù),只要給出要求的截止頻率等參數(shù)即可,這大大減輕了我們的工作。③解調(diào)方法使用延遲相乘法,其延遲步數(shù)k的選擇是整個系統(tǒng)的關(guān)鍵。④同步可使用鎖相環(huán)來實現(xiàn),這可以參考大多數(shù)文獻(xiàn)的鎖相環(huán)實現(xiàn)方法。為此,在討論中我們著重突出第①、③兩步。 

1.1 調(diào)制部分

    調(diào)制就是把數(shù)字信號變成適合于信道傳輸?shù)恼也?。在此利用查表?sup>[2]來產(chǎn)生正弦波。因為TMS320C5402中包含一個N=256點的Q15正弦表。相位Ψi在[0,2π]上均勻分布:Ψi=2iπ/N   i∈[0,N-1]。假設(shè)sin_addr為正弦表首地址,則sin(Ψi)的地址是sin_addr+i。 

    調(diào)制信號可表示為:x(t)=Asin(2πFt)=Asin(Φ(t)),F={F0,F1}。設(shè)Te為抽樣間隔,則當(dāng)t=nTe時,Φ(nTe)=Φn=2πFnTen-1+2πFTe 

   Φn=(Φn-1+ΔΦF)MOD2π 

   ΔΦF=2πFTe≤π    (由仙農(nóng)定理知:1/Te≥2F) 

   Φn的取??衫枚M(jìn)制補(bǔ)碼的循環(huán)性實現(xiàn)。在程序中,Φn以16位有符號整數(shù)In表示:In=215Φn/π-215。例如,當(dāng)Φn=0時,In=-215;當(dāng)Φn=π時,In=0;當(dāng)Φn=2π時,In=215,超出了表示范圍,變成-215,這樣便起到了取模的作用。 

    由In確定i方法為:i=In/(216/N)+N/2,其中216/N為正弦表相鄰兩點的相位差值,相應(yīng)的ΔI=215ΔΦF/π=216FTe。 

    假設(shè)絕對幅度誤差為dx,則AsinΔΦF<2dx 

                           Asin(2π/N)<2dx 

                           A2π/N<2dx即N>Aπ/dx 

    這就是對正弦表大小的要求。反過來,如果給定N,則對信號幅度提出了限定。 

    對于v.23,比特率為1200bps,而采樣率一般為8000Hz,每個比特的采樣點數(shù)為8000/1200=20/3,不為整數(shù)。為了處理方便,調(diào)制時可以提高采樣率使其為24kbps,則每個比特采樣點數(shù)為20。但要注意,發(fā)送到線路上的信號采樣率仍為8000Hz,可用程序的簡單循環(huán)控制實現(xiàn)。按照這種處理辦法,當(dāng)發(fā)送比特“1”時,ΔI=216F1Te=216×1300×1/(8000×3)=3550;當(dāng)發(fā)送比特“0”時,ΔI=216F0Te=216×2100×1/(8000×3)=5734。 

1.2 解調(diào)部分

    在圖1中,k一定要小于每個比特的采樣數(shù),此例k<6。假設(shè)接收到的樣值s(n)和s(n-k)屬于同一個比特,則: 

    v(n)=s(n)s(n-k)=A2sin(2πFnTe)sin(2πF(n-k)Te

        =A2/2[cos(2πFkTe)-cos(4πFnTe-2πFkTe)] 

    通過低通濾波器后,r(n)=A2/2cos(2πFkTe) F={F0,F1

    由此可見,r(n)為常數(shù),A2/2cos(2πF0kTe)或A2/2cos(2πF1kTe),僅依賴于發(fā)送比特是“0”還是“1”。 

    k的選擇應(yīng)使d(k)=|cos(2πF0kTe)-cos(2πF1kTe)|最大。在此方案中,k=4。 

    由于v.23的比特率為1200bps,因此低通濾波器fcutoff=1200Hz。 

2 DSP設(shè)計

    TMS320C5402是一款高性價比的數(shù)字信號處理器[3~4]。片上有可編程等待狀態(tài)發(fā)生器和塊切換寄存器、兩個多通道增強(qiáng)型緩沖串口(McBsp)、一個增強(qiáng)型的8位并行主機(jī)接口(HPI8)、兩個16位定時器、一個六通道DMA控制器。TMS320C5402還有4K×16bit片上ROM和4K×16bit片上RAM,最大可尋址1M×16bit的存儲空間。片上ROM的保留區(qū)域?qū)τ脩魜碚f是不可用的,原因是用戶無法寫入數(shù)據(jù)。片上ROM包括為Bootloader保留的區(qū)域及A律表、μ律表、sin表和中斷向量表。TMS320C5402有內(nèi)部振蕩器構(gòu)成的內(nèi)部時鐘源和鎖相環(huán)時鐘發(fā)生器構(gòu)成的外部時鐘源。 

    系統(tǒng)初始化工作頻率為100MHz,對片上存儲器訪問無需等待狀態(tài),訪問外部I/O空間設(shè)為兩個等待狀態(tài)。 

    在本系統(tǒng)中,采用McBsp0、DMA0、DMA4。DMA0的同步事件為McBsp0的接收事件REVT0;源地址指向DRR,并固定不變;目的地址指向DMA接收緩沖區(qū),每次自增1;采用ABU模式實現(xiàn)雙緩沖,DMA0接收緩沖區(qū)半滿或全滿時發(fā)生中斷;中斷服務(wù)子程序?qū)ζ渲袆傄鹬袛嗟哪且话霐?shù)據(jù)進(jìn)行解調(diào),而此時接收的數(shù)據(jù)順序放到另一半。為了節(jié)省存儲器空間,串口不對接收數(shù)據(jù)進(jìn)行擴(kuò)張,而在程序中進(jìn)行軟件擴(kuò)張。DMA4的同步事件為McBsp0的發(fā)送事件XEVT0;源地址指向DMA發(fā)送緩沖區(qū),每次自增1;目的地址指向DXR,并固定不變;采用ABU模式實現(xiàn)雙緩沖;DMA發(fā)送緩沖區(qū)半滿或全滿時發(fā)生中斷,中斷服務(wù)子程序發(fā)送剛引起中斷的那一半數(shù)據(jù),而此時正在調(diào)制的數(shù)據(jù)順序放到另一半。因為線路上一般傳送的是A律數(shù)據(jù),因此發(fā)送時要在串口中進(jìn)行硬件壓縮。 

    經(jīng)仿真發(fā)現(xiàn),采用C語言編程,TMS320C5402至少可以實現(xiàn)16路全雙工來電顯示,因此McBsp0應(yīng)設(shè)置為:接收數(shù)據(jù)格式為每幀8字,每字16位(表示16路A律數(shù)據(jù));發(fā)送數(shù)據(jù)格式為每幀16字,每字16位。為了減少串口錯誤,指定由RSYNCERR和XSYNCERR產(chǎn)生RINT和XINT。 

    另外還需注意,為了實現(xiàn)字同步,異步傳輸時首先對發(fā)送數(shù)據(jù)的每個字節(jié)加上起始位“0”和停止位“1”,解調(diào)后應(yīng)去掉相應(yīng)的起始位和停止位。在發(fā)送過程中,如果沒有待發(fā)數(shù)據(jù),可以發(fā)送停止位(即頻率為F1的載波)或靜音(樣值為0)。 

    利用TMS320C5402實現(xiàn)符合v.23建議的16路全雙工來電顯示,其原理簡單,易實現(xiàn),但是抗干擾性較差。由于DTMF的某些頻率與v.23碼的載波頻率非常接近,如果混有DTMF碼,也可解出少量的DTMF碼。為了排除此類錯誤,需要加上增益控制、帶通濾波等,這使得設(shè)計變得復(fù)雜。實踐中,此類錯誤較少,除非特別要求,否則不必理會。 

    為了進(jìn)一步提高精度,可以用長整數(shù)表示相位,還可以采用重采樣技術(shù)及局部FFT等技術(shù)[5]或者改進(jìn)解調(diào)方法可實現(xiàn)高精度檢測。 

    目前,此系統(tǒng)已在深圳市鼎銘電子有限公司開發(fā)成功并投入使用。 

參考文獻(xiàn)

1 ITU-T Recommendation V.23.ITU,1993 

2 Teaching DSP through the Practical Case Study of an FSK Modem,spra347. Texas Instruments,1996  

3 TMS320C54x DSP Reference Set Volume 1: CPU and Peripherals, spru131. Texas Instruments,1999 

4 TMS320C54x DSP Reference Set Volume 5: Enhanced Peripherals, spru302. Texas Instruments,1999 

5 王慶文,孟憲德. 車載FSK信號的實時高精度檢測與DSP實現(xiàn).通信學(xué)報,2001(9)

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