0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

DSP編程的幾個(gè)關(guān)鍵問(wèn)題(1)

454398 ? 來(lái)源:羅姆半導(dǎo)體社區(qū) ? 作者:羅姆半導(dǎo)體社區(qū) ? 2022-12-27 15:28 ? 次閱讀

來(lái)源:羅姆半導(dǎo)體社區(qū)

DSP芯片憑其優(yōu)異的性能在高速計(jì)算領(lǐng)域有著巨大的應(yīng)用前景。但其應(yīng)用所涉及的知識(shí)非常龐雜。當(dāng)程序調(diào)不通不知該從何處下手時(shí),此文也許會(huì)有所幫助。

1. McBSP(Multichannel Buffered Serial Port)串口利用DMA中的多幀(Multi-Frame)方式通信的中斷處理

在實(shí)際通信應(yīng)用中,一個(gè)突發(fā)之后,程序必須為下一個(gè)突發(fā)作準(zhǔn)備。因此一般采用串口的DMA多幀方式但在串口以DMA方式傳輸數(shù)據(jù)時(shí)卻有一些問(wèn)題要討論。首先DMA的傳輸同步事件應(yīng)設(shè)McBSP的傳輸事件即XEVT,這樣一字節(jié)傳輸后會(huì)自動(dòng)準(zhǔn)備另一字節(jié)(McBSP的READY上升沿觸發(fā)DMA傳輸)。中斷發(fā)生時(shí)意味著一個(gè)塊已傳完,這時(shí)DMA的使能自動(dòng)關(guān)閉,McBSP的READY將一直保持高狀態(tài)。但是在下一次突發(fā)傳輸直接使能DMA時(shí)卻啟動(dòng)不了傳輸(相信會(huì)有許多我遇到此類(lèi)問(wèn)題)。這是因?yàn)闊o(wú)法產(chǎn)生McBSP觸發(fā)啟動(dòng)所需的READY上升沿。解決辦法是在中斷程序中先關(guān)閉McBSP的發(fā)送,使READY=0,隨后在程序中發(fā)送使能DMA,再打開(kāi)McBSP的發(fā)送即可。如先打開(kāi)McBSP的發(fā)送后打開(kāi)DMA,也是不會(huì)工作的。因?yàn)镸cBSP的READY已經(jīng)由0變到1了,無(wú)法再產(chǎn)生READY上升沿。

2. 關(guān)閉DMA與關(guān)閉McBSP的區(qū)別

在通信領(lǐng)域,為了充分利用DSP的片上外設(shè)資源,常常利用DMA把從串口來(lái)的數(shù)據(jù)或要發(fā)的數(shù)據(jù)放入緩沖區(qū),再處理。對(duì)DMA而言,只要其在數(shù)據(jù)緩沖區(qū)的指針指向了中斷應(yīng)發(fā)生的位置,就產(chǎn)生中斷。但此時(shí)最后一個(gè)數(shù)據(jù)只是進(jìn)入了McBSP而并未真正發(fā)出去,所以在傳送結(jié)束的中斷程序中只能關(guān)閉DMA不能關(guān)閉McBSP。因?yàn)榇藭r(shí)McBSP的發(fā)寄存器DXR中還有一個(gè)字沒(méi)有發(fā)出。

3 .McBSP串口配置的關(guān)鍵時(shí)序

主要是寄存器SPCR2的配置:在保持RRST、XRST、FRST各位為0的前提下,配置好其它串口控制寄存器。等待至少2個(gè)CLKR/T時(shí)鐘以確保DSP內(nèi)部的同步。 (1)可以向DXR裝載數(shù)據(jù)或使能DMA。 (2)使能GRST(GRST=1)(如果需要DSP內(nèi)部產(chǎn)生采樣時(shí)鐘)。 (3)使能RRST或XRST,注意此時(shí)要保證SPCR中僅有此一位發(fā)生改變。 (4)使能FRST(FRST=1)(如果需要DSP內(nèi)部產(chǎn)生幀同步)。 (5)等待2個(gè)R/T CLK時(shí)鐘周期后,收或發(fā)端便會(huì)有效。

4. 匯編語(yǔ)言程序中的變量

匯編語(yǔ)言程序中的公用變量應(yīng)在文件中定義,如.def carry。匯編語(yǔ)言程序中使用的局部變量不需定義,可直接聲明,例如trn_num .word 00h。如果在兩個(gè)asm文件中有兩個(gè)都沒(méi)有定義的同名變量,則編譯程序會(huì)認(rèn)為分他們不是同一變量。在匯編程序的開(kāi)頭應(yīng)有.mmregs宏語(yǔ)句。它一方面表示對(duì)默認(rèn)定義的確認(rèn)(ah,bh,trn等),另一方面可以對(duì)所用寄存器重新定義。如: .mmregs DMPREC .set 54h ;定義DMA優(yōu)先和使能寄存器地址在54h DMSA .set 55h DMSDN .set 57h DXR10 .set 23h ;定義串口1的發(fā)送寄存器地址在23h。

5. ST1寄存器中CPL位的影響

CPL位是編譯模式控制位,它表示在相對(duì)直接尋址時(shí)采用哪種指針。當(dāng)CPL=0時(shí),使用頁(yè)指針DP;當(dāng)CPL=1時(shí),使用堆棧指針SP。實(shí)際使用中二者沒(méi)有什么差別,但使用SP尋址的程序更易讀。在程序中經(jīng)常使用CPL=1。

審核編輯黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • dsp
    dsp
    +關(guān)注

    關(guān)注

    554

    文章

    8057

    瀏覽量

    349550
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3633

    瀏覽量

    93849
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    AN-354: 應(yīng)用工程師問(wèn)答——1幾個(gè)問(wèn)題

    電子發(fā)燒友網(wǎng)站提供《AN-354: 應(yīng)用工程師問(wèn)答——1幾個(gè)問(wèn)題.pdf》資料免費(fèi)下載
    發(fā)表于 01-13 15:43 ?0次下載
    AN-354: 應(yīng)用工程師問(wèn)答——<b class='flag-5'>1</b><b class='flag-5'>幾個(gè)</b>問(wèn)題

    TMS320C6000 DSP軟件可編程鎖相環(huán)控制器指南

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000 DSP軟件可編程鎖相環(huán)控制器指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-24 16:54 ?0次下載
    TMS320C6000 <b class='flag-5'>DSP</b>軟件可<b class='flag-5'>編程</b>鎖相環(huán)控制器指南

    使用 AMD Versal AI 引擎釋放 DSP 計(jì)算的潛力

    更低的功耗獲得高性能 DSP^1^以及更少的可編程邏輯資源。^2^ “Versal AI 引擎可以在降低功耗預(yù)算的情況下提高 DSP 計(jì)算密度,”
    的頭像 發(fā)表于 11-29 14:07 ?581次閱讀

    使用AMD Versal AI引擎加速高性能DSP應(yīng)用

    AMD Versal AI 引擎使您能夠擴(kuò)展數(shù)字信號(hào)處理( DSP )算力與面向未來(lái)的設(shè)計(jì),從而適應(yīng)當(dāng)前和下一代計(jì)算密集型 DSP 應(yīng)用。借助 Versal AI 引擎,客戶(hù)能以更低的功耗1和更少的可
    的頭像 發(fā)表于 11-20 16:35 ?364次閱讀

    通過(guò)DSP的mcbsp和i2c接口實(shí)現(xiàn)對(duì)AIC34芯片的操作,如何編程

    通過(guò)DSP的mcbsp和i2c接口實(shí)現(xiàn)對(duì)AIC34芯片的操作如何編程,有沒(méi)有相關(guān)的例程嗎?
    發(fā)表于 11-07 08:12

    用PPS進(jìn)行miniDSP編程幾個(gè)問(wèn)題求解答

    是AD轉(zhuǎn)換后的數(shù)字信號(hào)?DSP_A_DSP_D右邊的部分是miniDSP D?里面的數(shù)據(jù)是DA轉(zhuǎn)換后的模擬信號(hào)? 問(wèn)題三:我還有另一種與上面相矛盾的想法:Dec4xIn_1是采樣組件,作為輸入源,它的輸出
    發(fā)表于 11-01 07:29

    DSP控制器的主要優(yōu)勢(shì)是什么?

    DSP可以同時(shí)處理多個(gè)數(shù)據(jù)流,這對(duì)于實(shí)時(shí)信號(hào)處理非常重要。 低功耗 : DSP通常比通用處理器更節(jié)能,因?yàn)樗鼈儗?zhuān)為特定任務(wù)優(yōu)化。 可編程性 : DSP是可
    的頭像 發(fā)表于 09-24 16:21 ?558次閱讀

    使用運(yùn)算放大器應(yīng)注意哪幾個(gè)問(wèn)題

    以下是使用運(yùn)算放大器時(shí)應(yīng)注意的幾個(gè)關(guān)鍵問(wèn)題: 運(yùn)算放大器的基本原理 : 運(yùn)算放大器是一種高增益、多用途的電子設(shè)備,廣泛應(yīng)用于信號(hào)放大、濾波、積分和微分等電路中。 了解其基本結(jié)構(gòu),包括輸入級(jí)、增益級(jí)
    的頭像 發(fā)表于 08-06 14:26 ?571次閱讀

    DSP的硬件架構(gòu)與關(guān)鍵技術(shù)

    DSP,全稱(chēng)Digital Signal Processor,即數(shù)字信號(hào)處理器,是一種具有特殊結(jié)構(gòu)的微處理器,其設(shè)計(jì)初衷是為了高效地進(jìn)行數(shù)字信號(hào)處理。DSP芯片內(nèi)部集成了針對(duì)數(shù)字信號(hào)處理優(yōu)化的硬件
    的頭像 發(fā)表于 07-17 16:37 ?2709次閱讀

    解決關(guān)鍵問(wèn)題 明星產(chǎn)品B15i獲客戶(hù)致謝

    B15i網(wǎng)橋解決關(guān)鍵難題近日,自連客戶(hù)與我們分享了一則喜訊:因解決了某項(xiàng)目中的關(guān)鍵性技術(shù)問(wèn)題,收到了合作方發(fā)來(lái)的致謝函。在該項(xiàng)目解決方案中發(fā)揮關(guān)鍵作用的重要物聯(lián)通信產(chǎn)品,便是自連智能終端明星產(chǎn)品之一
    的頭像 發(fā)表于 06-20 08:16 ?367次閱讀
    解決<b class='flag-5'>關(guān)鍵問(wèn)題</b>  明星產(chǎn)品B15i獲客戶(hù)致謝

    編程電源如何編程

    編程電源的編程方法和步驟。 ### 1. 可編程電源的基本概念 可編程電源通常由以下幾個(gè)部分組
    的頭像 發(fā)表于 06-10 15:24 ?1429次閱讀

    fpga編程與單片機(jī)編程的區(qū)別

    FPGA編程與單片機(jī)編程的主要區(qū)別體現(xiàn)在以下幾個(gè)方面。
    的頭像 發(fā)表于 03-14 17:16 ?1054次閱讀

    變頻器使用必須注意的關(guān)鍵問(wèn)題

    變頻器的保護(hù)結(jié)構(gòu)變頻器內(nèi)部產(chǎn)生大量熱量,為提高散熱的經(jīng)濟(jì)性,除小容量變頻器都是開(kāi)啟式結(jié)構(gòu),其余的都采用風(fēng)扇強(qiáng)制冷卻。
    發(fā)表于 03-07 11:17 ?655次閱讀

    AMBA總線(xiàn)之AXI設(shè)計(jì)的關(guān)鍵問(wèn)題講解

    首先我們看一下針對(duì)AXI接口的IP設(shè)計(jì),在介紹之前我們先回顧一下AXI所具有的一些feature。
    的頭像 發(fā)表于 02-20 17:12 ?1909次閱讀
    AMBA總線(xiàn)之AXI設(shè)計(jì)的<b class='flag-5'>關(guān)鍵問(wèn)題</b>講解

    分享DSP和ARM的激光粒度儀關(guān)鍵電路設(shè)計(jì)

    DSP技術(shù)實(shí)現(xiàn)MIE散射算法有很多優(yōu)點(diǎn):它是專(zhuān)為算法計(jì)算而設(shè)計(jì)的專(zhuān)用CPU,所以它運(yùn)算速度很快;與通用CPU相比它成本低,所以有很好的性?xún)r(jià)比;而且它的體積小,能實(shí)現(xiàn)儀器一體化等等優(yōu)點(diǎn)。ARM具有豐富的片上資源,適合嵌入式系統(tǒng)的開(kāi)發(fā),主要負(fù)責(zé)操作系統(tǒng)的運(yùn)行、任務(wù)管理和協(xié)調(diào)以及DSP
    發(fā)表于 02-15 16:13 ?395次閱讀
    分享<b class='flag-5'>DSP</b>和ARM的激光粒度儀<b class='flag-5'>關(guān)鍵</b>電路設(shè)計(jì)