一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

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

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

DSP芯片憑其優(yōu)異的性能在高速計(jì)算領(lǐng)域有著巨大的應(yīng)用前景。但其應(yīng)用所涉及的知識非常龐雜。當(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í)卻有一些問題要討論。首先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ì)有許多我遇到此類問題)。這是因?yàn)闊o法產(chǎn)生McBSP觸發(fā)啟動(dòng)所需的READY上升沿。解決辦法是在中斷程序中先關(guān)閉McBSP的發(fā)送,使READY=0,隨后在程序中發(fā)送使能DMA,再打開McBSP的發(fā)送即可。如先打開McBSP的發(fā)送后打開DMA,也是不會(huì)工作的。因?yàn)镸cBSP的READY已經(jīng)由0變到1了,無法再產(chǎn)生READY上升沿。

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

在通信領(lǐng)域,為了充分利用DSP的片上外設(shè)資源,常常利用DMA把從串口來的數(shù)據(jù)或要發(fā)的數(shù)據(jù)放入緩沖區(qū),再處理。對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è)字沒有發(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īng)在文件中定義,如.def carry。匯編語言程序中使用的局部變量不需定義,可直接聲明,例如trn_num .word 00h。如果在兩個(gè)asm文件中有兩個(gè)都沒有定義的同名變量,則編譯程序會(huì)認(rèn)為分他們不是同一變量。在匯編程序的開頭應(yīng)有.mmregs宏語句。它一方面表示對默認(rèn)定義的確認(rèn)(ah,bh,trn等),另一方面可以對所用寄存器重新定義。如: .mmregs DMPREC .set 54h ;定義DMA優(yōu)先和使能寄存器地址在54h DMSA .set 55h DMSDN .set 57h DXR10 .set 23h ;定義串口1的發(fā)送寄存器地址在23h。

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

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

審核編輯黃昊宇

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

    關(guān)注

    555

    文章

    8123

    瀏覽量

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

    關(guān)注

    88

    文章

    3674

    瀏覽量

    94719
收藏 人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    使用高速ADC工作中遇到兩個(gè)很關(guān)鍵的問題求解答

    在最近使用高速ADC工作中遇到兩個(gè)很關(guān)鍵的問題:一是用DSP產(chǎn)生告訴時(shí)鐘信號發(fā)生畸形(我們需要用DSP-TMS28335給高速ADC提供至少20M的采樣頻率的時(shí)鐘信號,但是當(dāng)DSP產(chǎn)
    發(fā)表于 01-24 06:51

    請問關(guān)于DSP2802x,2803x或者2806x的AD轉(zhuǎn)換模塊中斷的問題

    請問關(guān)于DSP2802x,2803x或者2806x的AD轉(zhuǎn)換模塊中斷的問題 DSP2802x,2803x或者2806x這幾個(gè)系列的DSP的AD采樣模塊與
    發(fā)表于 01-20 07:44

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

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

    高效光源選擇:LDLS技術(shù)的關(guān)鍵問題與答案集錦

    為了更有效地協(xié)助我們的客戶,我們特別整理了一份高頻LDLS問題合集,旨在更全面、細(xì)致地解答大家所關(guān)心的疑問。希望通過這份精心準(zhǔn)備的內(nèi)容,能夠更好地滿足大家的需求,提升問題解決的效率。 1、LDLS
    的頭像 發(fā)表于 12-26 06:20 ?331次閱讀
    高效光源選擇:LDLS技術(shù)的<b class='flag-5'>關(guān)鍵問題</b>與答案集錦

    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 ?1028次閱讀

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

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

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

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

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

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

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

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

    工業(yè)機(jī)器人常用的編程方式

    工業(yè)機(jī)器人的編程是確保機(jī)器人能夠執(zhí)行特定任務(wù)的關(guān)鍵步驟。編程方式多種多樣,每種方式都有其特定的應(yīng)用場景和優(yōu)勢。 工業(yè)機(jī)器人編程概述 工業(yè)機(jī)器人編程
    的頭像 發(fā)表于 09-04 09:26 ?1803次閱讀

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

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

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

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

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

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

    編程電源如何編程

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