www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 電源 > 數(shù)字電源
[導(dǎo)讀]提出了一種直接利用DSP的MCBSP接口和DMA通道實現(xiàn)UART的方法,給出了使用C語言和CSL的編程方法。與傳統(tǒng)實現(xiàn)方法相比,具有實現(xiàn)成本低,硬件電路簡單,移植性強等特點,稍加修改可應(yīng)用于C5000和C6000各系列芯片中。

摘要:全雙工異步串行通信在TMS320C55xDSP上的通常實現(xiàn)方式是利用DSP的McBSP接口加外接芯片實現(xiàn),這種設(shè)計方法增加了實現(xiàn)UART的硬件成本和電路設(shè)計復(fù)雜度。提出了一種直接利用DSP的MCBSP接口和DMA通道實現(xiàn)UART的方法,給出了使用C語言和CSL的編程方法。與傳統(tǒng)實現(xiàn)方法相比,具有實現(xiàn)成本低,硬件電路簡單,移植性強等特點,稍加修改可應(yīng)用于C5000和C6000各系列芯片中。
關(guān)鍵詞:DSP;全雙工異步串行通信;多通道緩沖串口;DMA ;過采樣

1 引言:
MS320C55x數(shù)字信號處理器通過多通道緩沖串口(McBSP)提供了與外設(shè)的多種同步串行通信方式。然而,由于DSP中串行通信由數(shù)據(jù)信號、幀同步信號和時鐘3種信號配合實現(xiàn),其中幀同步信號和數(shù)據(jù)信號由不同的數(shù)據(jù)線傳輸。而異步串行通信則在一根傳輸線上實現(xiàn)數(shù)據(jù)發(fā)送或接收,且不需要專門的時鐘信號線。因此DSP與異步設(shè)備的接口,如UART通信實現(xiàn)相對復(fù)雜,需要對McBSP的相關(guān)寄存器進行正確初始化。DSP中實現(xiàn)全雙工異步通信的通常做法是使用專用的串行接口芯片,如TL16C550,這種設(shè)計方法編程相對簡單,但增加了設(shè)計成本和電路復(fù)雜度。本文介紹了一種TMS320C55x DSP芯片利用McBSP和DMA直接實現(xiàn)UART的方法,基于該方法實現(xiàn)的DSP異步串行通信模塊已成功應(yīng)用于控制偏振圖像采集處理的DSP硬件設(shè)備中。 www.51kaifa.com/
2 UART在DSP上的實現(xiàn)
異步串行通信要求DSP能夠模擬和檢測到UART的幀信號。由于DSP串口是同步串口,而且DSP時鐘為高速時鐘,經(jīng)分頻或倍頻后無法保證與UART的異步串行時鐘精確同步。DSP的幀同步信號無法與UART的幀信號同步,造成串行通信信號中信號位的偏移。最好的解決方法是減小偏移和對接收的數(shù)據(jù)流進行過采樣,本文采用了對UART信號的16倍過采樣。www.51kaifa.com/
2.1 McBSP設(shè)置
    DSP的McBSP通過3種信號實現(xiàn)同步通信:數(shù)據(jù)、幀同步和時鐘。異步通信發(fā)送和接收各在一條線上進行,具有自己的幀時序。
    UART的通信時鐘由使用的通信波特率(每秒傳輸?shù)臄?shù)據(jù)位個數(shù))決定,通常為2400,9600,19200等。DSP與UART異步通信時,由于DSP的內(nèi)部時鐘頻率通常都不是UART時鐘頻率的整數(shù)位,因而會造成雙方通信時數(shù)據(jù)位的偏移,為了盡量減小這種偏移,McBSP的串口時鐘需要正確的設(shè)置時鐘頻率以達到與UART波特率相匹配。
數(shù)據(jù)包(PKTBITS)由起始位、數(shù)據(jù)位、奇偶校驗位和停止位組成,起始位為1位,停止位通常為1,1.5,2位,數(shù)據(jù)數(shù)通常為8位,如何使用校驗,那么數(shù)據(jù)包還包括1位校驗位。以上數(shù)據(jù)位中,每1位都被DSP以16倍波特率的時鐘頻率過采樣。
發(fā)送時,為保證UART能收到半個停止位,需要將DSP的McBSP發(fā)送端口設(shè)置為2相的數(shù)據(jù)幀。第1相為16位的數(shù)據(jù)字,第2相為8位的數(shù)據(jù)字。那么第1相數(shù)據(jù)長度為(起始位+數(shù)據(jù)位+校驗位)個字,第2相長度為停止位的字長。發(fā)送時的總幀長(TxPKTBITS)為這兩相的總字長。接收數(shù)據(jù)包格式與發(fā)送相似,其結(jié)構(gòu)如圖2所示。DSP的串口發(fā)送引腳與外部串口設(shè)備的接收引腳相連,不使用FSX引腳和CLKX引腳。
接收時,McBSP通過接收幀同步信號引腳(FSR)檢測數(shù)據(jù)的到來,根據(jù)幀同步信號的不同,幀同步信號可配置成上升沿觸發(fā)或下降沿觸發(fā),由于UART的起始位為低電平,因此使用下降沿觸發(fā)。將UART發(fā)送數(shù)據(jù)信號與McBSP的數(shù)據(jù)接收引腳DR和FSR相連,實現(xiàn)用UART的發(fā)送信號觸發(fā)McBSP的接收幀同步信號。在McBSP接收一幀數(shù)據(jù)期間,為了防止下降沿再次觸發(fā)一幀數(shù)據(jù)接收,McBSP應(yīng)該設(shè)置為接收數(shù)據(jù)包期間忽略幀同步信號。


圖1 UART接收數(shù)據(jù)包的幀格式


接收完一幀數(shù)據(jù)后,需要對數(shù)據(jù)解碼,收于DSP發(fā)送和接收時鐘是UART串口時鐘頻率的16位,因此每個UART數(shù)據(jù)位對應(yīng)于DSP中1個16位字(停止位對應(yīng)8位字)。在McBSP接收寄存器中將接收幀設(shè)置為2相,第1相16位字,字長為RxPKTBITS(起始位+數(shù)據(jù)位+校驗位),第2相為8位字,對應(yīng)于停止位字數(shù)。此外,接收幀延時值應(yīng)該設(shè)置為1位。
3.2 McBSP時鐘采樣率設(shè)置
McBSP與UART通信時,McBSP接收到一幀的幀同步信號后,該幀期間之后出現(xiàn)的幀同步信號將被忽略。為了獲得最大數(shù)據(jù)流量,一幀數(shù)據(jù)發(fā)送結(jié)束時,其停止位后緊接著為起始位,幀同步信號的檢測依賴于停止位到起始位的下降沿。為了正確檢測到幀同步信號,高電平應(yīng)該至少保持一個時鐘周期以上時間。
理想情況下,串口時鐘信號邊沿與數(shù)據(jù)位邊沿精確對應(yīng),此時,每個數(shù)據(jù)位對應(yīng)16倍時鐘周期。起始位和串口時鐘的下降沿偏最小,如圖3所示。


圖2  McBSP串口時鐘與UART時鐘精確同步時的時序


    正常通信時,McBSP的幀同步信號與UART串口的時鐘之間會有一定的偏差,如圖所示。


圖3 McbSP串口時鐘與UART時鐘存在偏差時的時序


存在偏差時,為保證McBSP能檢測到接收到信號的下降沿,McBSP的串口采樣時鐘頻率必須準確設(shè)置。其設(shè)置方法如公式1、2所示。其中,DIV是McBSP寄存中串口采樣時鐘分頻值,DSPCLK是DSP的CPU時鐘頻率,baudrate為通信波特率。 
         (1) 
         (2)
通信波特率為19200,DSP時鐘頻率為75MHz,接收數(shù)據(jù)包為10位(1位起始位,8位數(shù)據(jù)位,無校驗,1位停止位:PKTBITS=10,RxPKTBITS=9.5),根據(jù)公式1計算得DIV ,由于分頻值DIV為整數(shù),因此取DIV 。根據(jù)公式2計算得DIV ,取整后得DIV 。取DIV最佳值為244。TMS320VC55x DSP以常用波特率通信時的分頻值如表1所示。
表1 常用波特率下TMS320VC55x的McBSP串口DIV值 

 

75-MHz DSP Clock

100-MHz DSP Clock

 

Baud Rate

Divisor

Minimum

Exact

Divisor

Divisor

Maximum

Divisor

Minimum

Exact

Divisor

Divisor

Maximum

19200

240

244.14

248

320

325.52

331

38400

120

122.07

124

160

162.76

165

57600

80

81.68

82

107

108.51

110

115200

40

40.69

41

54

54.25

55


3.2 DMA設(shè)置
UART通信時,DSP發(fā)送和接收到的數(shù)據(jù)存儲在數(shù)據(jù)存儲器中,為了實現(xiàn)DSP的高速處理,減少DSP響應(yīng)McBSP數(shù)據(jù)寄存器中斷的次數(shù)。發(fā)送和接收數(shù)據(jù)與McBSP發(fā)送和接收寄存器DXR和DRR之間的數(shù)據(jù)傳輸通過DMA通道完成。這里以使用DMA通道4和通道5為例,其中,DMA通道4作為數(shù)據(jù)接收通道,DMA通道5做為數(shù)據(jù)發(fā)送通道。將通道4和通道5的同步事件分別設(shè)置為McBSP串口接收事件和串口發(fā)送事件,DMA通道4的源地址為McBSP的接收寄存器DRR地址,目的地址為數(shù)據(jù)存儲器中存放接收數(shù)據(jù)的變量地址;DMA通道5的源地址為數(shù)據(jù)存儲器中待發(fā)的數(shù)據(jù),目的地址為McBSP的DXR寄存器地址。每當McBSP接收到數(shù)據(jù)時,會觸發(fā)DMA通道4將接收到的數(shù)據(jù)拷貝到DSP數(shù)據(jù)存儲器的相應(yīng)置,同時目的地址指針自動加1;發(fā)送數(shù)據(jù)時,DMA通道5將待發(fā)送數(shù)據(jù)拷貝到DXR,將數(shù)據(jù)依次發(fā)出。
發(fā)送數(shù)據(jù)時,待發(fā)字符被打包成適于UART接收的數(shù)據(jù)格式,以發(fā)送16進制無符號數(shù)0xAA為例,首先發(fā)送起始位,然后是數(shù)據(jù)位最低位,最后發(fā)送停止位。該數(shù)值在數(shù)據(jù)存儲器中按地址由低到高的存放格式為:0x0000,0x0000,0xFFFF,0x0000,0xFFFF,0x0000,0xFFFF,0x0000,0xFFFF,0xFFFF。
接收到數(shù)據(jù)后,取過采樣到的每個16位二進制數(shù)據(jù)字的中間四位,若中間四位中1的個數(shù)不小于3,則表示收到當前的UART數(shù)據(jù)位值為1;若中間四位中0的個數(shù)不小于3,則表示收到當前的UART數(shù)據(jù)位值為0。否則認為數(shù)據(jù)傳輸出錯。
4 程序設(shè)計
    在McBSP和DMA寄存器設(shè)置正確的基礎(chǔ)上,利用TI公司提供的Code Composer Studio集成開發(fā)環(huán)境編寫了UART串口通信軟件,軟件開發(fā)中使用了CSL(片上支持庫),使整個開發(fā)過程快速、直觀、具有很強的可讀性。程序流程如圖所示:     





圖4 TMS320VC55x UART程序流程圖
5 實驗分析
硬件和軟件設(shè)計完成后,進行了測試實驗,實驗上位機為PC機,DSP處理器為TI公司的TMS320VC5509A,通信波特率為19200,DSP外部晶振頻率為20MHz,CPU時鐘頻率為100MHz,UART數(shù)據(jù)格式為1位起始位,8位數(shù)據(jù)位,1位停止位,無校驗。多次實驗結(jié)果表明數(shù)據(jù)發(fā)收準確,無誤碼現(xiàn)象發(fā)生。
6 結(jié)論
    DSP系統(tǒng)直接與外部全雙工異步串行設(shè)備的通信時,通過正確的使用DSP上的McBSP和DMA通道,利用16倍過采樣原理準確的計算McBSP通信接口的采樣值和配置相關(guān)寄存器,能夠?qū)崿F(xiàn)DSP與外部異步設(shè)備的可靠通信。與傳統(tǒng)的采用串并轉(zhuǎn)換芯片的實現(xiàn)方法相比,具有更低的成本更簡單的外部電路。本文中的程序針對TI公司的TMS320VC5509x DSP芯片編寫,通過對少數(shù)寄存器的修改,該程序可直接應(yīng)用于TI公司的C5000和C6000系列DSP芯片上。
   本文作者創(chuàng)新點:提出了一種直接利用DSP的McBSP接口和DMA通道實現(xiàn)UART的方法,具有實現(xiàn)成本低,硬件電路簡單,移植性強等特點。

參考文獻:
1 TMS320VC5509A Fixed-Point Digital Signal Processor Data Manual. Texas Instruments
2 TMS320VC5501/5502/5503/5507/5509/5510 DSP Multichannel Buffered Serial Port (McBSP) Reference Guide. Texas Instruments
3 Implementing a Software UART on the TMS320C54x with the McBSP and DMA. Texas Instruments
4 TMS320VC5503/5507/5509/5510 DSP Direct Memory Access (DMA) Controller Reference Guide
5 TMS320C55x Chip Support Library API Reference Guide. Texas Instruments
6 TMS320C6000 McBSP: UART. Texas Instruments
7 安穎,劉麗娜.基于DSP的高速信號采集與處理系統(tǒng)的設(shè)計【J】.微計算機信息,2005,1:57-58。 

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

摘要:主要介紹了應(yīng)用DSP的電能質(zhì)量檢測系統(tǒng)的硬件電路及軟件開發(fā)工具,對采集來的某電鐵電流信號進行了電能質(zhì)量檢測,并開展了實際實驗嘗試。實驗結(jié)果顯示,實際信號含有大量諧波,但通過應(yīng)用DSP的電能質(zhì)量檢測系統(tǒng)成功檢測到了它...

關(guān)鍵字: 電能質(zhì)量檢測 Matlab仿真 DSP

隨著生活水平的提高,大家都想從生活壓力中釋放出來,越來越多的人向往戶外運動、露營等,在大自然的擁抱中釋放壓力,解放自我,從而成為戶外旅行火熱的原因之一。因此,很多音箱廠商都開始推出針對戶外的戶外藍牙音箱。但是市面上的藍牙...

關(guān)鍵字: PD快充 I2S DSP IC

摘要:數(shù)字信號處理器(DSP,digitalSignalproceSSor)是專門用于某些數(shù)字信號處理任務(wù)的微處理器,一般由集成電路芯片構(gòu)成。當前,水聲領(lǐng)域中聲吶探測設(shè)備正逐漸向大運算量、強實時性及小型化等方向發(fā)展,對高...

關(guān)鍵字: 水聲信號處理 DSP 聲吶

DSP開發(fā)板,就是圍繞DSP的功能進行研發(fā),推出用于DSP芯片開發(fā)的線路板,并提供原理圖和源代碼給客戶。DSP尤以TI公司的DSP市場占有率最大。

關(guān)鍵字: DSP 開發(fā)板

在這篇文章中,小編將為大家?guī)頍o線模塊的相關(guān)報道。如果你對本文即將要講解的內(nèi)容存在一定興趣,不妨繼續(xù)往下閱讀哦。

關(guān)鍵字: 無線模塊 自動化 DSP

當你在大疆無人機上拍照,跟蹤或者自主飛行時,背后有一堆高性能處理器在為這些應(yīng)用加速,其中就有DSP(Digital Signal Processor)。DSP的軟硬件解決方案為圖像,機器學(xué)習(xí)和飛行控制業(yè)務(wù)提供高性能計算平...

關(guān)鍵字: 嵌入式 DSP 大疆

(全球TMT2022年5月26日訊)Yahoo和全球領(lǐng)先的獨立程序化戶外 (DOOH) 廣告技術(shù)公司Hivestack巢仕達宣布建立全球戰(zhàn)略合作伙伴關(guān)系,致力于連接雙方行業(yè)領(lǐng)先的技術(shù),并為全球范圍內(nèi)的優(yōu)質(zhì)程序...

關(guān)鍵字: STACK BSP DSP MT

華為開源云原生AI衛(wèi)星應(yīng)用方案亮相KubeCon EU 2022 瓦倫西亞2022年5月20日 /美通社/ -- 5月18日,在云原生領(lǐng)域備受矚目的會議——KubeCon和CloudNativeCon歐洲峰會主論壇中,...

關(guān)鍵字: DSP 華為 衛(wèi)星 開源

(全球TMT2022年5月16日訊)日前,國際權(quán)威研究機構(gòu)Gartner發(fā)布《市場份額分析:2021年全球軟件行業(yè)市場規(guī)模報告》,報告顯示浪潮云海服務(wù)器虛擬化軟件InCloud Sphere(以下簡稱InCloud S...

關(guān)鍵字: DSP 虛擬化 軟件 AI

北京2022年5月13日 /美通社/ -- 日前,國際權(quán)威研究機構(gòu)Gartner發(fā)布《市場份額分析:2021年全球軟件行業(yè)市場規(guī)模報告》,報告顯示浪潮云海服務(wù)器虛擬化軟件InCloud Sphere(以下簡稱I...

關(guān)鍵字: DSP 虛擬化 軟件 GARTNER

數(shù)字電源

15504 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉