
DSP技術(shù)目前已經(jīng)被廣泛的應(yīng)用在了集成芯片的設(shè)計(jì)研發(fā)之中,且其應(yīng)用范圍在最近幾年中明顯擴(kuò)大。在昨天的文章中,我們?yōu)榇蠹姨峁┝艘环N應(yīng)用了DSP技術(shù)的正弦波發(fā)生器方案,并在文章中為大家分享了其主要硬件部分的設(shè)計(jì)思路。今天我們將會(huì)就昨天所分享的這一正弦波信號(hào)發(fā)生器方案中的軟件程序設(shè)計(jì),展開(kāi)簡(jiǎn)要介紹。
在這一應(yīng)用了DSP技術(shù)集成芯片的正弦波信號(hào)發(fā)生器方案中,為了簡(jiǎn)化程序,本系統(tǒng)的軟件可以按照模塊化設(shè)計(jì)思想來(lái)編寫(xiě),其主要程序涵蓋有主程序、常數(shù)計(jì)算程序、占空比計(jì)算程序和相應(yīng)的一些功能子程序。其中,主程序用于調(diào)用各功能子程序、初始化變量、查詢鍵盤、判斷顯示數(shù)據(jù)是否需要刷新、同時(shí)判斷一個(gè)脈沖是否完成發(fā)送等工作。本方案中具體所設(shè)計(jì)的軟件程序流程圖,圖下圖圖1所示。
在本方案的軟件程序設(shè)計(jì)和編寫(xiě)過(guò)程中需要注意的一個(gè)問(wèn)題是,我們應(yīng)在第N-1個(gè)脈沖周期里計(jì)算占空比,并在第N個(gè)脈沖周期里輸出波形,這就要求我們?cè)谶M(jìn)行主程序設(shè)計(jì)時(shí),要控制在一個(gè)脈沖周期內(nèi)完成計(jì)算。此時(shí)如果選用20MHz的晶振,那么在一倍頻下,執(zhí)行一條執(zhí)行只需50ns,若輸出400Hz的正弦波,即每一個(gè)周期要輸出200個(gè)脈沖,這樣,也就是說(shuō),一個(gè)脈沖需要12.5μs,相當(dāng)于12500/50=250條指令。而執(zhí)行一個(gè)占空比的計(jì)算程序只需要幾十條指令,這種算法從軟件開(kāi)銷上考慮是可以實(shí)現(xiàn)的。
下面是我們依據(jù)這一基于DSP技術(shù)集成芯片所設(shè)計(jì)的正弦信號(hào)發(fā)生器設(shè)計(jì)要求,所設(shè)計(jì)的軟件程序清單:
在本方案的軟件程序編寫(xiě)過(guò)程中,sinx和cosx的程序設(shè)計(jì)是比較重要的,在本方案中,我們所設(shè)計(jì)的sinx和cosx的參數(shù)值計(jì)算程序如下:
主體部分的結(jié)束程序設(shè)計(jì)如下:
以上就是本文所分享的基于DSP技術(shù)的正弦波發(fā)生器方案的軟件程序設(shè)計(jì),希望通過(guò)本文的分享,對(duì)各位新人工程師的設(shè)計(jì)工作有所幫助。
聲明:本內(nèi)容為作者獨(dú)立觀點(diǎn),不代表電源網(wǎng)。本網(wǎng)站原創(chuàng)內(nèi)容,如需轉(zhuǎn)載,請(qǐng)注明出處;本網(wǎng)站轉(zhuǎn)載的內(nèi)容(文章、圖片、視頻)等資料版權(quán)歸原作者所有。如我們采用了您不宜公開(kāi)的文章或圖片,未能及時(shí)和您確認(rèn),避免給雙方造成不必要的經(jīng)濟(jì)損失,請(qǐng)電郵聯(lián)系我們,以便迅速采取適當(dāng)處理措施;歡迎投稿,郵箱∶editor@netbroad.com。
微信關(guān)注 | ||
![]() |
技術(shù)專題 | 更多>> | |
![]() |
技術(shù)專題之EMC |
![]() |
技術(shù)專題之PCB |