當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]針對(duì)DSP56311評(píng)估板及其開(kāi)發(fā)工具的特點(diǎn)、教學(xué)實(shí)驗(yàn)和應(yīng)用開(kāi)發(fā)的需要進(jìn)行了平臺(tái)的研制。系統(tǒng)的軟件部分主要包括用C++Builer制作的軟件平臺(tái)和編寫的支持C語(yǔ)言的DSP硬件驅(qū)動(dòng)程序庫(kù)文件系統(tǒng)。

摘要 針對(duì)DSP56311評(píng)估板及其開(kāi)發(fā)工具的特點(diǎn)、教學(xué)實(shí)驗(yàn)和應(yīng)用開(kāi)發(fā)的需要進(jìn)行了平臺(tái)的研制。系統(tǒng)的軟件部分主要包括用C++Builer制作的軟件平臺(tái)和編寫的支持C語(yǔ)言的DSP硬件驅(qū)動(dòng)程序庫(kù)文件系統(tǒng)。硬件部分包括DSP開(kāi)發(fā)和實(shí)驗(yàn)所必需的信號(hào)發(fā)生電路、LCD顯示接口電路和外接鍵盤。建立一個(gè)能處理多任務(wù)的主程序架構(gòu),把原單獨(dú)運(yùn)行的信號(hào)處理程序模塊化為C語(yǔ)言的子程序,可在系統(tǒng)中隨時(shí)調(diào)用執(zhí)行。
關(guān)鍵詞 DSP56311 教學(xué)實(shí)驗(yàn)平臺(tái) 混合編程


1 設(shè)計(jì)思想
    本系統(tǒng)是一種教學(xué)、課程實(shí)驗(yàn)及技術(shù)開(kāi)發(fā)的平臺(tái),主要應(yīng)用于DSP原理及應(yīng)用、數(shù)字信號(hào)處理等相關(guān)課程的實(shí)驗(yàn)教學(xué)。它是以DSP56311EVM為核心,對(duì)系統(tǒng)進(jìn)行的擴(kuò)展,包括軟件和硬件兩個(gè)部分。軟什部分使用C++Builder制作了“DSP56311實(shí)驗(yàn)平臺(tái)”的平臺(tái)環(huán)境,實(shí)現(xiàn)的用匯編語(yǔ)言編寫的DSP硬件驅(qū)動(dòng)程序能夠?yàn)镃語(yǔ)言調(diào)用;硬件部分有效利用了芯片的資源,增強(qiáng)了應(yīng)用于教學(xué)的功能,并留出了進(jìn)一步擴(kuò)展的接口。


2 系統(tǒng)結(jié)構(gòu)
2.1 硬件部分
   
硬件平臺(tái)的核心是M0torola公司提供的DSP56311評(píng)估板。DSP56311EVM可外接24根數(shù)據(jù)線、18根地址線和4根地址特征狀態(tài)線,對(duì)可擴(kuò)展資源提供了接口;但這些接口一般不能直接與外部的設(shè)備連接,需要進(jìn)行相應(yīng)的擴(kuò)展。硬件平臺(tái)的外部電路包含:±5V、±15V、+6V的直流電源,正弦波、三角波、方波的波形發(fā)生電路模塊,MIC信號(hào)放大電路,LCD顯示模塊等。
    圖1為系統(tǒng)硬件平臺(tái)內(nèi)部結(jié)構(gòu),圖中左側(cè)為外部電路模塊,右側(cè)為DSP563llEVM評(píng)估板。這些電路模塊可以產(chǎn)生實(shí)驗(yàn)測(cè)試所必需的信號(hào),并反映程序執(zhí)行情況,為DSP的程序開(kāi)發(fā)和調(diào)試提供方便的硬件環(huán)境。

    硬件部分解決的問(wèn)題:
    ①DSP的端口通過(guò)寄存器設(shè)置可以作為通用輸入/輸出端口(GPI0)或?qū)S枚丝?。外部電路與DSP連接時(shí),可以有多種實(shí)現(xiàn)方案。在資源緊張的情況下,調(diào)配資源,實(shí)現(xiàn)最優(yōu)。
    ②時(shí)序問(wèn)題。DSP563ll的處理速度高達(dá)150 MIPS,1個(gè)指令周期大約7ns。解決時(shí)序問(wèn)題,加快外圍的接口芯片工作速度。LCD相對(duì)于DSP來(lái)說(shuō),是種“反應(yīng)”很慢的外部設(shè)備。本課題采用定時(shí)器模塊(時(shí)間中斷)來(lái)控制LCD動(dòng)態(tài)圖形顯示的刷新頻率,如把LCD的刷新頻率設(shè)定為2幀/s,即每0.5s向LCD傳送1屏圖形的數(shù)據(jù)。另外,DSP與LcD通信接口的實(shí)現(xiàn)是對(duì)DSP的GPIO編程,使GPIO引腳的信號(hào)符合LCD數(shù)據(jù)傳輸?shù)臅r(shí)序要求。由于DSP的工作頻率很高,DSP與LCD間數(shù)據(jù)傳輸不僅要注意控制引腳上電平的高低和先后次序,而且還要插入必要的等待時(shí)間,維持信號(hào)線上的電平,使LCD可以可靠地讀到控制引腳上的信號(hào)。
    圖2為系統(tǒng)硬件原理框圖。

2.2 軟件部分
   
軟件分兩部分:用C++Builder制作的DSP56311軟件實(shí)驗(yàn)平臺(tái);用匯編語(yǔ)言編寫的DSP硬件驅(qū)動(dòng)程序。
2.2.1 DSP56311實(shí)驗(yàn)平臺(tái)
   
圖3為DSP56311實(shí)驗(yàn)平臺(tái)界面。打包好的平臺(tái)可以隨意安裝在個(gè)人電腦上,平臺(tái)包括實(shí)驗(yàn)說(shuō)明、程序編制、程序編譯、參考結(jié)果、體驗(yàn)實(shí)驗(yàn)等內(nèi)容。此平臺(tái)可以作為實(shí)驗(yàn)的指導(dǎo)軟件,也可作為開(kāi)發(fā)軟件直接在平臺(tái)上編寫程序、編譯和仿真。

2.2.2 C語(yǔ)言與匯編語(yǔ)言混合編程
    本設(shè)計(jì)用匯編語(yǔ)言編寫DSP周邊外設(shè)的驅(qū)動(dòng)程序和一些數(shù)字信號(hào)處理算法的子程序。用C語(yǔ)言編寫主控程序,調(diào)用匯編語(yǔ)言編寫的子程序完成硬件操作和信號(hào)處理工作。
(1)插入式C與匯編混合編程
    使用__asm()指令在C語(yǔ)言程序中插入?yún)R編指令的混合編程方式主要應(yīng)用在以下情況:需要插入的匯編程序代碼較少(如一些簡(jiǎn)單的直接操作硬件指令);在用C語(yǔ)言的環(huán)境中,用插入式編寫的匯編子程序可以避免內(nèi)存分配、寄存器使用和保護(hù),以及參數(shù)傳遞和返回等方面的問(wèn)題。

    關(guān)鍵字_ _asm()的基本語(yǔ)句格式:

   

    ①“asm_instrution”是指匯編語(yǔ)言的指令名,如move、mpy等。
    ②“=”用來(lái)區(qū)分足輸入還是輸出參數(shù),表示操作數(shù)Oper0的值將傳輸給C語(yǔ)言的變量CptrO;沒(méi)有“=”,表示該操作數(shù)是輸入操作數(shù),即操作數(shù)Operl的值來(lái)自C語(yǔ)言變量Cptrl。
    ③“M”(operande modifier)用來(lái)指定操作數(shù)的類別,例如%e用來(lái)指定操作數(shù)為累加器的MSB,即a1或bl。
    ④Oper0、Operl用來(lái)指定操作數(shù)是寄存器或內(nèi)存,如“A”表示該操作數(shù)被限定為地址寄存器r0~r7,即要求編譯器為該操作數(shù)指定一個(gè)空閑的地址寄存器。
(2)C程序與匯編程序混合編程
    C程序與匯編程序混合編程就是將用C語(yǔ)言編寫的和用匯編語(yǔ)言編寫的源程序分開(kāi)編輯、編譯,生成各自的目標(biāo)文件,然后再鏈接到一起。其中,主程序在C語(yǔ)言環(huán)境中編寫,匯編語(yǔ)言編寫的子程序可以被調(diào)用。C程序與匯編程序混合編程由C程序編譯器g563c來(lái)完成。
    C編譯器g563c的命令格式為:

   
    在混合編程時(shí),需要注意以下幾點(diǎn):
    ①C程序與匯編程序混合編程的特點(diǎn)是,匯編語(yǔ)句是在匯編語(yǔ)言環(huán)境中編寫的;而使用_asm()指令在C語(yǔ)言程序中插入?yún)R編指令的混合編程方式,匯編程序的編寫要遵循C語(yǔ)言的規(guī)則。
    ②為了確保在匯編環(huán)境中編寫的匯編子程序在C語(yǔ)言環(huán)境中可靠地被調(diào)用執(zhí)行,匯編程序需要做出如下處理:引導(dǎo)部分,把程序返回地址保存到堆棧,接受程序入口參數(shù)的傳遞;保存匯編程序?qū)⒁褂玫募拇嫫鞯闹?;匯編程序的主體;恢復(fù)第二步所保存的寄存器的值,把保存到堆棧中的寄存器的值按順序從堆棧中取出并賦給原來(lái)的寄存器,使這些寄存器恢復(fù)到本匯編子程序被調(diào)用前的狀態(tài);結(jié)尾部分,處理程序的返回值和返回地址,c語(yǔ)言子程序調(diào)用可以用return命令返回一個(gè)數(shù)值,混合編程的匯編程序也可以在C環(huán)境中被調(diào)用后返回一個(gè)值。在匯編源程序中,最后把需要返回的數(shù)值存放到累加器a中,然后用匯編指令tst把參數(shù)傳遞給c環(huán)境。
    ③C語(yǔ)言調(diào)用匯編源文件中的匯編子程序。首先在一個(gè)匯編源文件(如source,asm)中編寫一個(gè)匯編子程序。一般在匯編環(huán)境中子程序的寫法如下:

   
    若在C語(yǔ)言源文件(如proj.c)中調(diào)用匯編子程序Ftest,則可以在C語(yǔ)言中重新定義匯編子程序的標(biāo)號(hào)。即在C語(yǔ)言文件頭部(或調(diào)用該匯編子程序的C函數(shù)之前)定義:

    extern void ReName()__asm(“FTest”);
    然后在C語(yǔ)言環(huán)境中調(diào)用ReName()子程序即可。
    如果在編寫匯編子程序時(shí),在子程序的名稱前加上一個(gè)大寫的“F”,則在C環(huán)境中可以省略重新定義匯編子程序標(biāo)號(hào)的步驟,這樣C語(yǔ)言默認(rèn)的匯編子程序的名稱為去掉“F”以后的程序名。如上面的例子,在C環(huán)境中調(diào)用test()子程序,即調(diào)用source.a(chǎn)sm中Ftest子程序。
    ④中斷程序的C語(yǔ)言寫法。編寫C語(yǔ)言的中斷程序,首先要修改crt0.a(chǎn)sm中的中斷向量表,即在中斷向量表中找到某中斷向量的位置,并在此處調(diào)用程序員所編寫的中斷響應(yīng)程序。
    如把增強(qiáng)型同步串口0(ESSI0)設(shè)定工作在中斷方式,數(shù)據(jù)的接收、發(fā)送都采用中斷來(lái)執(zhí)行。程序員編寫的增強(qiáng)串口數(shù)據(jù)接收中斷服務(wù)子程序?yàn)镕ssi_rx_isr。增強(qiáng)串口O數(shù)據(jù)接收的中斷向量的地址為p:$30(p代表程序存儲(chǔ)區(qū)),則對(duì)crt0.a(chǎn)sm中的中斷向量表修改如下:

   
    ⑤C語(yǔ)言使用匯編源文件中定義的變量
    因C語(yǔ)言定義的變量都是映射在內(nèi)存的Y區(qū)的,故C語(yǔ)言可以讀寫的在匯編源程序中定義的變量也必須是定義在Y區(qū)的。例如,在匯編程序source.a(chǎn)sm中定義內(nèi)存:

   
則C變量c_var與匯編變量test_var映射的是同一個(gè)內(nèi)存物理地址。這是一種C語(yǔ)言與匯編語(yǔ)言之間數(shù)據(jù)的有效傳遞方式。
    g563c的局限性在于,對(duì)于g563c編譯規(guī)則不十分熟悉的使用者,會(huì)常常因?yàn)閰R編語(yǔ)言與C語(yǔ)言程序使用DSP資源的沖突而發(fā)生異常的錯(cuò)誤,導(dǎo)致C語(yǔ)言程序無(wú)法可靠運(yùn)行。本課題的目的也在于減少使用者在C語(yǔ)言環(huán)境下大量使用匯編語(yǔ)言的需要,從而增強(qiáng)了系統(tǒng)的可靠性。

3 主要實(shí)驗(yàn)項(xiàng)目
   
本嵌入式系統(tǒng)目前主要是作為本科和研究生的實(shí)驗(yàn)平臺(tái),在設(shè)計(jì)上包括硬件基礎(chǔ)實(shí)驗(yàn)和軟件算法實(shí)驗(yàn)兩部分。
    硬件實(shí)驗(yàn)部分包括:
    ①串行通信實(shí)驗(yàn)。
    ②數(shù)據(jù)存儲(chǔ)實(shí)驗(yàn)。編程控制A端口對(duì)外部SRAM存儲(chǔ)器以及外圍的Flash存儲(chǔ)器特定區(qū)域進(jìn)行存取操作。
    ③語(yǔ)音采集存儲(chǔ)實(shí)驗(yàn)。設(shè)置適當(dāng)采樣率,編程實(shí)現(xiàn)語(yǔ)音信號(hào)的采集。
    ④語(yǔ)音錄放實(shí)驗(yàn)。
    ⑤A/D實(shí)驗(yàn)(簡(jiǎn)易示渡)。
    ⑥D(zhuǎn)/A實(shí)驗(yàn)(函數(shù)信號(hào)發(fā)生器)。
    軟件實(shí)驗(yàn)部分包括:
    ①基本數(shù)學(xué)運(yùn)算實(shí)驗(yàn)。
    ②FFT快速傅里葉變換。
    ③FIR有限沖激響應(yīng)濾波器。
對(duì)給定時(shí)域信號(hào)進(jìn)行操作,并與Matlab運(yùn)算結(jié)果進(jìn)行分析比較。
    下面以串行通信實(shí)驗(yàn)為例簡(jiǎn)述實(shí)驗(yàn):
    實(shí)驗(yàn)內(nèi)容DSP通過(guò)串行接口(RS232)與PC機(jī)進(jìn)行雙向通信。①把從鍵盤輸入的字符通過(guò)串口發(fā)送給PC機(jī),并且接收PC機(jī)發(fā)送的字符。LCD工作在文字顯示模式;鎖相環(huán)時(shí)鐘分頻器和串行通信控制器設(shè)定串行通信的波特率。②由PC機(jī)通過(guò)串口把一幅黑白圖片傳輸給DSP并且通過(guò)LCD顯示出來(lái)。LCD工作在圖形顯示模式。
    實(shí)驗(yàn)原理 利用對(duì)56311的SCI(Serial Communica-tion Interface)編程,實(shí)現(xiàn)DSP與上位機(jī)進(jìn)行多種波特率的串行通信。
    實(shí)驗(yàn)使用的外部設(shè)備標(biāo)準(zhǔn)102鍵盤和LCD。
    實(shí)驗(yàn)使用的DSP內(nèi)部模塊鎖相環(huán)時(shí)鐘分頻器和串行通信接口(SCI)。實(shí)驗(yàn)內(nèi)容:DSP通過(guò)串行接口(RS232)與PC機(jī)進(jìn)行雙向通信。DSP把從鍵盤輸入的字符通過(guò)串口發(fā)送給PC機(jī),并且可以接收PC機(jī)發(fā)送的字符。
    實(shí)驗(yàn)結(jié)果圖4為發(fā)送圖片的LCD顯示結(jié)果。

4 結(jié)論
   
本課題實(shí)現(xiàn)了基于DSP563llEVM教學(xué)實(shí)驗(yàn)平臺(tái)的研制。編寫了支持C語(yǔ)言的DSP硬件驅(qū)動(dòng)程序庫(kù)文件系統(tǒng),沒(méi)計(jì)了DSP開(kāi)發(fā)和實(shí)驗(yàn)所必需的信號(hào)發(fā)生電路和方便結(jié)果顯示的LCD顯示接口電路;建立了能夠處理多個(gè)任務(wù)的主程序架構(gòu)。把單獨(dú)運(yùn)行的信號(hào)處理程序模塊化為C語(yǔ)言的子程序,可以在系統(tǒng)中隨時(shí)調(diào)用執(zhí)行,充分體現(xiàn)了DSP強(qiáng)大的計(jì)算能力和軟件編程的靈活性。

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

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

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

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

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

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(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ā)表演講稱,數(shù)字世界的話語(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)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

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