當前位置:首頁 > 電源 > 數(shù)字電源
[導讀]本文首先介紹了TI公司的TMS320C5402和AIC(模擬接口電路)芯片TLC320AD50C的特點,最后著重介紹了利用DSK板上的TMS320C5402和TLC320AD50C實現(xiàn)音頻采集并實時回放的軟件設計過程,并利用CCS進行了模擬。

TMS320VC5402(以下簡稱C5402)是TI(德州儀器)公司1999年10月推出的性價比極高(目前批量價格約人民幣40元)的定點數(shù)字信號處理器(DSP)。指令執(zhí)行速率高達100MIPS,已經(jīng)廣泛用于實時語音處理、個人數(shù)字助理(PDA)和數(shù)字無線通信等嵌入式系統(tǒng)。TLC320AD50C(簡稱AD50)是TI公司生產的SIGMA-DELTA型單片音頻接口芯片(AIC)。而DSK板是TI公司的一種DSP仿真/開發(fā)板,本文著重介紹了利用CCS在DSK板上進行實時語音處理的軟件設計過程。

1.C5402及其多通道緩沖串口
C5402硬件優(yōu)點。改進的哈佛結構解決了馮諾伊曼(Von-Neumann)結構中高速數(shù)據(jù)傳輸時的傳輸通道上的瓶頸現(xiàn)象;內部多總線結構保證在一個機器周期內可以多次訪問程序空間和數(shù)據(jù)空間;指令執(zhí)行時的多重流水線結構將指令周期降低到了最小值;多處理單元可以在一個指令周期內同時進行運算,而這種結構恰好滿足了數(shù)字信號處理中的一些特殊要求如FIR、IIR、FFT等運算。尤為值得一提的是C5402的軟件特點,7種有效靈活的尋址方式,僅為10ns的指令執(zhí)行周期,還有一些特殊的運算指令更好地滿足了數(shù)字信號處理中特有的運算需要。

C5402具有高速的,全雙工串行口,可用來與系統(tǒng)中的其他C54x器件,編碼解碼器,串行A/D,D/A轉換器以及其他的串行器件直接接口。這兩個串行口均為多通道緩沖串行口McBSP(Multi-channel Buffered Serial Port)。它支持全雙工通信,雙緩沖數(shù)據(jù)寄存器,允許連續(xù)的數(shù)據(jù)流。可以與工業(yè)標準的編/解碼器,AICs接口。支持多種方式的傳輸接口如T1/E1幀協(xié)議、MVIP幀方式、H.100幀方式、SCSA幀方式、IIS兼容設備等??膳c多達128個通道進行收發(fā)。支持傳輸?shù)臄?shù)據(jù)字長可以是8bit,12bit,16bit,20bit,24bit或32bit。內置μ-律和A-律壓擴硬件。

McBSP在結構上可以分為一個數(shù)據(jù)通道和一個控制通道。如圖1所示:

數(shù)據(jù)通道完成數(shù)據(jù)的發(fā)送和接收??刂仆ǖ劳瓿傻娜蝿瞻▋炔繒r鐘的產生,幀同步信號產生,對這些信號的控制以及多通道的選擇等??刂仆ǖ肋€負責產生終端信號送往CPU,產生同步事件通知DMA控制器。


圖1 McBSP的結構

象51/96系列單片機一樣,對C5402串行口的操作也是通過設置各控制寄存器來進行的。這些控制寄存器有串行口控制寄存器SPCR1/2;接收控制寄存器RCR1/2;發(fā)送控制寄存器XCR1/2;多通道寄存器MCR1/2等。需要注意的是,要對某一控制寄存器尋址,只能采用加子地址尋址方式。

2. AD50的一般說明
AD50是一款SIGMA-DELTA型單片音頻接口芯片(AIC)。它內部集成了16位的D/A和A/D轉換器,采樣速率最高可達22.05kb/s,其采樣速率可通過DSP編程來設置。在DAC之前有一個插值濾波器以保證輸出信號平滑和ADC之后有一個抽取濾波器以提高輸入信號的信噪比。

AD50內部有7個數(shù)據(jù)和控制寄存器,用于編程控制它們的工作狀態(tài)。

寄存器0:空操作寄存器。
    寄存器1: 軟件復位
    軟件掉電
    選擇16位或15位工作方式
    硬件或軟件二次通信請求方式的選擇

寄存器2:使能ALTDATA輸入端
    為ADC選擇16/15位方式

寄存器3:選擇FS與FSD之間延遲SCLK的個數(shù)
    告訴主機有幾個從機被聯(lián)上

寄存器4:為輸入和輸出放大器選擇放大器增益
    選擇N來設置采樣頻率,fs=MCLK/(128*N)或MCLK/(512*N)
    在MCLK輸入端使能外部時鐘輸入并旁通內部的PLL

寄存器5,6:保留
AD50與C5402之間的數(shù)據(jù)傳送采用串行方式,包括兩種傳輸模式:16位和15+1位傳輸模式。15+1位模式時,其中的D0位表示二次通信。它們各自的時序如下:

注:A,16位或15位工作方式是通過控制寄存器2來編程實現(xiàn)的。
    B,M/S用來表明15位的數(shù)據(jù)是來自主機還是從機。
    C,最高位MSB(D15)在SCLK第一個周期的下降沿穩(wěn)定,最低位(D0,M/S)在SCLK第16個周期的下降沿穩(wěn)定。

圖 2 僅有首次通信時的ADC通道時序



注:A,二次通信時的M/S位(DS15)用于表明在設置了讀位后寄存器數(shù)據(jù)(地址和內容)是來自主機還是從機。在寄存器讀期間,DS7-DS0位是指定寄存器的內容,在寄存器寫期間,DS7-DS0為0。

圖3 有首次通信和二次通信的ADC通道時序

AD50的數(shù)據(jù)傳輸模式和采樣速率都可以通過DSP對其控制寄存器的編程來實現(xiàn),因此,在許多場合下,AD50都作為DSP的AIC來實現(xiàn)音頻處理。

[!--empirenews.page--]3.CCS和DSK
CCS(Code Composer Studio)為TI公司的DSP集成開發(fā)環(huán)境。它提供了環(huán)境配置、源文件編輯、程序調試、跟蹤和分析等工具,可以幫助用戶在一個軟件環(huán)境下完成編輯、編譯鏈接、調試和數(shù)據(jù)分析等工作。與TI提供的早期軟件開發(fā)工具相比,利用CCS能夠加快軟件開發(fā)進程,提高工作效率。

CCS一般工作在兩種模式下:軟件仿真器和與硬件開發(fā)板相結合的在線編程。前者可以脫離DSP芯片,在PC機上模擬DSP的指令集與工作機制,主要用于前期算法實現(xiàn)和調試。后者實時運行在DSP芯片上,可以在線編制和調試應用程序。

DSK板是一塊需要外部提供+5VDC電源的獨立的開發(fā)板,在板線性電壓調整器提供1.8VDC的DSP內核電壓,3.3VDC數(shù)字和5VDC模擬電壓。它提供低功耗的、標準的、獨立的C54X系列開發(fā)平臺,允許用戶為C54X系列DSP評估和開發(fā)應用程序。DSK板上的核心當然就是100MHz的C5402 DSP,還有兩片AD50,它們占用了DSP的兩個McBSP,其中的一片是本文用到的即用于采集外部音頻信號(使用McBSP1),另一片則與標準電話線相接口(使用McBSP0)。

值得一提的是DSK板的在板接口十分豐富,有25針并行接口,9針串行接口,JTAG仿真口,電話 DAA接口,麥克風/揚聲器 接口,還有擴展接口用于擴展存儲器和外圍電路。這些接口極大地方便了DSP開發(fā)者的在板開發(fā)。本文所涉及的程序設計是通過25針的并行口將主機和DSK板連接起來的。

4.軟件設計
本文所設計的程序要完成的功能是通過麥克風接口進行語音信號的采集并實時地通過揚聲器接口回放出來。

4.1 通信格式的研究
AD50C有兩種通信格式:首次通信和二次通信。

首次通信格式的16位都用來傳輸數(shù)據(jù)。ADC的數(shù)據(jù)長度由寄存器2的D4位決定。啟動和復位后默認值為15+1位模式,最后一位用于請求二次通信(D0:0表示無操作,1表示請求二次通信)。當然,二次通信也可以由硬件的FC引腳產生,本文不作討論。下圖為首次通信的數(shù)據(jù)格式:


圖4 首次通信的數(shù)據(jù)格式

二次通信則用來初始化和設置AD50C的內部寄存器的值。二次通信時DSP可通過向DIN寫入寄存器的值,也可以從DIN讀出寄存器的值。二次通信的數(shù)據(jù)格式如下:


圖4 二次通信的數(shù)據(jù)格式

由圖可以看出,DS13位控制讀寫,DS12~8為寄存器的地址,DS7~0為寄存器的值。系統(tǒng)復位后,必須通過DSP的DX口向AD50C的DIN寫數(shù)據(jù)以初始化各控制寄存器,如AD轉換只用到寄存器1,寄存器2和寄存器4。

[!--empirenews.page--]4.2 程序流程

圖5示出了CCS配置的主程序源文件(.c或.asm)的設計流程


圖5 主程序設計流程

當然,要使用CCS在DSK板上運行某個程序,光有源文件的主程序(.c或.asm)是不夠的,還需要配置中斷向量表(.asm)和命令鏈接文件(.cmd),在一些特殊的場合還需要配置其他的文件。主程序當然是整個程序的核心,它的作用涉及數(shù)據(jù)的讀/寫和具體的處理過程以及中斷的設置、寄存器的配置等;中斷向量表主要作用是告知程序中斷跳轉的位置,顯而易見,如果在主程序中已經(jīng)設置,則不再需要配置中斷向量表;命令鏈接文件(.cmd)的主要作用是分配存儲空間,比如存儲器的第0頁分配作程序空間,第1頁分配作數(shù)據(jù)空間,以及各個段將要放在哪兒(如.text段放在數(shù)據(jù)空間),這個文件對每個工程來說都是必須的。

4.3 程序設計
從上面的程序流程中,我們可以看到,要完成預定的功能,首先要初始化DSP的串行口和AIC,然后的工作就是開辟緩存區(qū)以便將輸入的數(shù)據(jù)存儲起來等待進一步處理如濾波、DA轉換等。限于篇幅,下面只列出了本文要實現(xiàn)音頻回放功能的幾個關鍵程序段。

一.主程序:

在程序中要定義諸多的變量以及所需要包含的頭文件和庫文件在此略。

5.CCS運行結果
待程序設計好之后,將其添加到一個新建的工程里編輯、調試,直到編譯、構建通過并生成.out文件,然后裝載.out文件。這樣就可以運行了。為了驗證程序是否已正常運行,可以在麥克風/揚聲器接口分別接上話筒和小音箱,在對著話筒說話時,將可以從小音箱中聽到。同時,也可以在CCS中打開觀察窗口、寄存器窗口以及圖形顯示窗口。下圖為音頻輸入時某一時刻的圖形顯示和寄存器的值。


圖6. CCS運行窗口

事實上,在程序調試過程中經(jīng)常會遇到這樣或那樣的問題,一般的方法是采用單步執(zhí)行的方式來調試。而且,由于DSP本身的特點,從一開始就需要認識到開發(fā)過程的復雜性。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉