當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于DSP正弦信號(hào)發(fā)生器設(shè)計(jì)

摘要:提出了一種基于TMS320C5402實(shí)現(xiàn)正弦信號(hào)發(fā)生器的設(shè)計(jì)原理與方法,介紹了所設(shè)計(jì)的正弦信號(hào)發(fā)生器硬件電路結(jié)構(gòu)和軟件程序流程圖。結(jié)合DSP硬件特性,通過(guò)使用泰勒級(jí)數(shù)展開(kāi)法得到設(shè)定參數(shù)的正弦波形輸出,達(dá)到設(shè)計(jì)目的。該信號(hào)發(fā)生器彌補(bǔ)了通常信號(hào)發(fā)生器模式固定,波形不可編程的缺點(diǎn),其具有實(shí)時(shí)性強(qiáng),波形精度高,可方便調(diào)節(jié)頻率和幅度、穩(wěn)定性好等優(yōu)點(diǎn)。
關(guān)鍵詞:數(shù)字信號(hào)處理器;信號(hào)發(fā)生器;多通道緩沖串行口;獨(dú)立鍵盤(pán)

    隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,對(duì)信號(hào)發(fā)生器波形的要求越來(lái)越高。目前,常用信號(hào)發(fā)生器大部分是由模擬電路構(gòu)成,當(dāng)這種模擬信號(hào)發(fā)生器用于低頻輸出時(shí),由于需要較大的RC值,導(dǎo)致參數(shù)準(zhǔn)確度難以保證,且造成體積和功耗偏大,而數(shù)字式波形發(fā)生器,因其輸出幅值穩(wěn)定、輸出頻率連續(xù)可調(diào)的優(yōu)點(diǎn),已逐漸取代了模擬電路信號(hào)發(fā)生器。由于其運(yùn)算速度高,系統(tǒng)集成度強(qiáng)的優(yōu)勢(shì),可以設(shè)計(jì)基于DSP的正弦信號(hào)發(fā)生器,該發(fā)生器實(shí)時(shí)性強(qiáng)、可擴(kuò)展性好、波形精度高、可調(diào)節(jié)頻率和幅度、穩(wěn)定性好、用途廣泛,各方面均優(yōu)于模擬信號(hào)發(fā)生器和數(shù)字信號(hào)發(fā)生器。因此,本文提出了一種基于TMS320C5402的正弦信號(hào)發(fā)生器的設(shè)計(jì)方法。

1 系統(tǒng)硬件設(shè)計(jì)
1.1 系統(tǒng)硬件框圖
    該正弦信號(hào)發(fā)生器的硬件結(jié)構(gòu)框圖如圖1所示,主要由TMS320C5402芯片,D/A轉(zhuǎn)換器,獨(dú)立鍵盤(pán)等幾部分組成。


1.2 TMS320C5402簡(jiǎn)介
    TMS320C5402芯片采用先進(jìn)的修正哈佛結(jié)構(gòu),片內(nèi)有8條總線(xiàn)、在片存儲(chǔ)器和在片外圍電路等硬件,同時(shí)還有高度專(zhuān)業(yè)化的指令系統(tǒng),具有功耗小、高度并行等優(yōu)點(diǎn)。此外,其支持C語(yǔ)言和匯編語(yǔ)言混合編程,高效的流水線(xiàn)操作和靈活的尋址方式使其適合高速實(shí)時(shí)信號(hào)處理。
1.3 數(shù)模轉(zhuǎn)換部分設(shè)計(jì)
    McBSP(Multi-channel Buffered Serial)即多通道緩沖串口,包括一個(gè)數(shù)據(jù)通道和一個(gè)控制通道。數(shù)據(jù)通道通過(guò)DX引腳發(fā)送數(shù)據(jù)、DR引腳接收數(shù)據(jù)。控制通道完成的任務(wù)包括內(nèi)部時(shí)鐘的產(chǎn)生、幀同步信號(hào)的產(chǎn)生、對(duì)這些信號(hào)的控制以及多通路的選擇等。此外還負(fù)責(zé)產(chǎn)生中斷信號(hào)送往CPU,產(chǎn)生同步事件信號(hào)通知DMA控制器??刂菩畔t是通過(guò)控制通道以時(shí)鐘和幀同步信號(hào)的形式傳送。
    數(shù)模轉(zhuǎn)換芯片采用TLC320AD50C,其是TI公司出品的一塊將A/D和D/A轉(zhuǎn)換功能集成在一起的接口芯片,采用∑-△技術(shù)在低系統(tǒng)成本下實(shí)現(xiàn)高精度的A/D和D/A轉(zhuǎn)換。該芯片由一對(duì)16 bit同步串行轉(zhuǎn)換通道組成,在A/D之后有一個(gè)抽取濾波器,在D/A之前有一個(gè)插值濾波器。
    TLC320AD50C可以與TMS320C5402 DSP的McBSP無(wú)縫串行連接進(jìn)行數(shù)據(jù)采集、存儲(chǔ)和處理。SCLK輸出時(shí)鐘,M/S主從模式選擇(H為高電平,為主機(jī)模式),DIN串行輸入,DOUT串行輸出,F(xiàn)S幀同步信號(hào)輸出,對(duì)應(yīng)DSP的各相應(yīng)引腳。McBSP和D/A芯片的硬件電路連接如圖2所示。

[!--empirenews.page--]
1.4 獨(dú)立鍵盤(pán)的設(shè)計(jì)
    本信號(hào)發(fā)生器采用獨(dú)立鍵盤(pán)作為人機(jī)接口部分,即各個(gè)按鍵相互獨(dú)立,按下相應(yīng)的按鍵,就能輸出對(duì)應(yīng)幅度和頻率的正弦波。
    圖3所示為中斷方式工作的獨(dú)立式鍵盤(pán)的連接圖,每個(gè)按鍵各接一根I/O接口線(xiàn),每根I/O接口線(xiàn)上的按鍵都不影響其它的I/O接口線(xiàn)。因此,可以通過(guò)檢測(cè)I/O的電平狀態(tài)判斷出哪個(gè)鍵按下。這4個(gè)獨(dú)立按鍵分別接HD0~HD3口,并且使用4個(gè)220 Ω的上拉電阻接Vcc。


    當(dāng)沒(méi)有按下鍵時(shí),對(duì)應(yīng)的I/O接口線(xiàn)輸入為高電平,當(dāng)按下鍵時(shí),對(duì)應(yīng)的I/O接口線(xiàn)輸入為低電平,則請(qǐng)求中斷INT1。而在讀鍵時(shí),每一個(gè)鍵的狀態(tài)通過(guò)讀入鍵值的高低電平來(lái)反應(yīng)。在中斷服務(wù)程序中通過(guò)執(zhí)行判鍵程序,判斷是哪個(gè)鍵按下,從而設(shè)置對(duì)應(yīng)的幅度和頻率,執(zhí)行產(chǎn)生正弦波形的程序。
    獨(dú)立式鍵盤(pán)的電路配置靈活、軟件簡(jiǎn)單。但每個(gè)按鍵要占用1根I/O接口線(xiàn),在按鍵較多時(shí),I/O接口線(xiàn)浪費(fèi)較大。故在按鍵數(shù)量不多時(shí)采用這種方法,本系統(tǒng)采用4個(gè)獨(dú)立按鍵,而DSP芯片有足夠的I/O接口可供使用,設(shè)計(jì)時(shí)可以充分利用這一特點(diǎn)來(lái)連接硬件,至于對(duì)按鍵時(shí)抖動(dòng)的消除可在軟件中完成。使用中斷,可提高CPU的效率,實(shí)現(xiàn)資源共享和并行處理,同時(shí)也可以在芯片運(yùn)行過(guò)程中對(duì)突發(fā)故障做出及時(shí)發(fā)現(xiàn)和處理。

2 系統(tǒng)軟件設(shè)計(jì)
2.1 正弦波形產(chǎn)生原理
    常見(jiàn)產(chǎn)生正弦波的方法有6種:(1)采樣回放法;(2)實(shí)時(shí)計(jì)算法;(3)查表法;(4)查表結(jié)合插值法;(5)數(shù)值迭代法;(6)泰勒級(jí)數(shù)展開(kāi)法。
    采樣回放法容易實(shí)現(xiàn),但系統(tǒng)的擴(kuò)展性差,且并沒(méi)有充分利用DSP的數(shù)據(jù)計(jì)算處理能力。實(shí)時(shí)計(jì)算法需要花費(fèi)較多時(shí)間,只能產(chǎn)生較低頻率的正弦波,而且存在計(jì)算精度與計(jì)算時(shí)間的矛盾。查表法的精度受表的大小影響較大,表越大精度越高,但是存儲(chǔ)量也越大。查表結(jié)合插值法亦稱(chēng)混合法,用它產(chǎn)生的正弦波達(dá)不到理想的精度。數(shù)值迭代法較難編寫(xiě)出清晰的程序來(lái)。泰勒級(jí)數(shù)展開(kāi)法是一種有效的方法,與查
表法和查表結(jié)合插值法相比,該方法需要的存儲(chǔ)單元很少,而且精度更高。一個(gè)角度為的正弦和余弦函數(shù),展開(kāi)成5項(xiàng)泰勒級(jí)數(shù)如下
   
   
    式中,x為θ的弦度值,正弦波的波形可以看成是由無(wú)數(shù)個(gè)點(diǎn)組成,這些點(diǎn)與x軸的每個(gè)角度值相對(duì)應(yīng),利用DSP可大量重復(fù)計(jì)算的優(yōu)勢(shì)來(lái)計(jì)算出x軸每一點(diǎn)對(duì)應(yīng)的y值,然后通過(guò)D/A轉(zhuǎn)換即可輸出連續(xù)的正弦模擬信號(hào)。
2.2 變頻調(diào)幅的方法
    (1)16位定時(shí)模塊。
    C5402 DSP芯片片內(nèi)定時(shí)器是一個(gè)軟件可編程的計(jì)數(shù)器,它包括以下3個(gè)16位存儲(chǔ)器映射寄存器:定時(shí)寄存器TIM,定時(shí)器周期寄存器PRD和定時(shí)控制寄存器TCR。片內(nèi)定時(shí)器中,4位的預(yù)定標(biāo)計(jì)數(shù)器PSC和16位定時(shí)計(jì)數(shù)器TIM組成一個(gè)20位的計(jì)數(shù)器,定時(shí)器每個(gè)CPU時(shí)鐘周期減1,每次計(jì)數(shù)器減到0將產(chǎn)生定時(shí)器中斷(TINT),同時(shí)PSC和TIM重新載入預(yù)設(shè)的值。定時(shí)器中斷TINT的速率可由式(3)計(jì)算。
   
    (2)變頻調(diào)幅實(shí)現(xiàn)方法。
    調(diào)幅的實(shí)現(xiàn)相對(duì)簡(jiǎn)單,只需在所有采樣值前乘以一個(gè)調(diào)幅因子A1就可得到相應(yīng)的正弦波幅值A(chǔ)。而調(diào)頻的實(shí)現(xiàn)必須依賴(lài)于C5402芯片內(nèi)的16位定時(shí)器。DSP芯片不斷向D/A芯片送出采樣值,然后經(jīng)模數(shù)轉(zhuǎn)換后可在示波器上觀察到連續(xù)的正弦波形。先預(yù)設(shè)要產(chǎn)生的正弦信號(hào)頻率為f,根據(jù)正弦波生成原理可知,向D/A送出采樣值的間隔,即向D/A送值的周期T1=T/N(N為采樣點(diǎn)數(shù)),那么向D/A送值的頻率為f1=N×f,即向D/A送值的頻率是期待產(chǎn)生的正弦波信號(hào)頻率的N倍。
    因此,為了能夠調(diào)節(jié)產(chǎn)生正弦信號(hào)的頻率,實(shí)際上改變向D/A芯片送值的頻率即可。而改變向D/A芯片送值的頻率就得用到C5402芯片內(nèi)的16位定時(shí)器。根據(jù)式(3)將需要的頻率值換算成PRD內(nèi)的初值和TDDR的初值,并將該初值分別置入PRD和TDDR。[!--empirenews.page--]
2.3 軟件設(shè)計(jì)
    軟件系統(tǒng)采用模塊化結(jié)構(gòu)設(shè)計(jì),主要包括DSP主程序,中斷程序和鍵盤(pán)驅(qū)動(dòng)程序。DSP系統(tǒng)的主程序流程圖如圖4所示。先對(duì)系統(tǒng)進(jìn)行檢測(cè)、配置MeBSP端口等,開(kāi)啟中斷調(diào)用鍵盤(pán)驅(qū)動(dòng)程序讀取鍵值并處理,進(jìn)入中斷后根據(jù)相應(yīng)的鍵值設(shè)置相應(yīng)的信號(hào)參數(shù),并通過(guò)D/A轉(zhuǎn)換,產(chǎn)生不同幅度、頻率的正弦波。


    中斷程序流程圖如圖5所示。首先根據(jù)鍵盤(pán)的按鍵值選擇已設(shè)置好的正弦波的幅度與頻率,然后按以下步驟執(zhí)行:(1)計(jì)算0°~45°的正弦和余弦值;(2)利用正弦函數(shù)倍角公式sin2x=2sinx cosx,計(jì)算0°~90°的正弦值;(3)通過(guò)復(fù)制,獲得0~359°的正弦值;(4)將0°~359°的正弦值重復(fù)輸出,便可以得到正弦波。


    在CCS開(kāi)發(fā)環(huán)境下編程,通過(guò)仿真器將程序下載到DSP芯片中,選擇不同的按鍵產(chǎn)生相應(yīng)的中斷,即可在示波器中觀察到相應(yīng)的正弦波形。所產(chǎn)生的波形具有精度高,幅值穩(wěn)定的特點(diǎn),同時(shí)具有較強(qiáng)的實(shí)時(shí)性和靈活性。

3 結(jié)束語(yǔ)
    DSP芯片具有的特殊軟硬件結(jié)構(gòu)和指令系統(tǒng),使其能高速處理各種數(shù)字信號(hào)處理算法。基于此設(shè)計(jì)的正弦信號(hào)發(fā)生器具有速度高、精度高的特點(diǎn)。同時(shí)該系統(tǒng)依靠簡(jiǎn)潔的外部硬件電路設(shè)計(jì)和合理的軟件程序設(shè)計(jì),能夠產(chǎn)生幅度和頻率可調(diào)的高穩(wěn)定度正弦波。而且該系統(tǒng)的可擴(kuò)展性良好,只需要在中斷服務(wù)程序中改變送往D/A芯片中的采樣值,而不改動(dòng)任何硬件電路,就可以實(shí)現(xiàn)三角波、方波乃至更復(fù)雜波形的輸出。鑒于DSP不斷提高的性?xún)r(jià)比,故在傳統(tǒng)產(chǎn)品中采用DSP作為主控制器已成為一種趨勢(shì)。

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

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

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

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

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

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

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

關(guān)鍵字: 騰訊 編碼器 CPU

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

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

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

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

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

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

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

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

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

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉