資料介紹
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ì)有許多我遇到此類問(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
- 機(jī)器視覺(jué)在金屬表面缺陷檢查中的應(yīng)用詳細(xì)說(shuō)明 9次下載
- Xilinx的時(shí)序設(shè)計(jì)與約束資料詳細(xì)說(shuō)明 34次下載
- 時(shí)序分析的優(yōu)化策略詳細(xì)說(shuō)明 17次下載
- 時(shí)序分析的優(yōu)化策略詳細(xì)說(shuō)明 19次下載
- Python的知識(shí)點(diǎn)總結(jié)詳細(xì)說(shuō)明 14次下載
- 如何使用Python繪制PDF文件教程詳細(xì)說(shuō)明 12次下載
- 使用單片機(jī)串口通信控制步進(jìn)電機(jī)的源代碼詳細(xì)說(shuō)明 28次下載
- 西門子PLC培訓(xùn)資料之?dāng)?shù)據(jù)塊中的數(shù)據(jù)存儲(chǔ)詳細(xì)說(shuō)明 15次下載
- 西門子PLC的數(shù)字指令教程詳細(xì)說(shuō)明 33次下載
- 西門子PLC位指令的教程詳細(xì)說(shuō)明 25次下載
- 排線中電源和地的位置安排詳細(xì)說(shuō)明
- 如何同時(shí)使用51單片機(jī)的定時(shí)器0和串口使用問(wèn)題詳細(xì)說(shuō)明
- 進(jìn)行單片機(jī)串口通信的方式詳細(xì)說(shuō)明
- Matlab圖形繪制經(jīng)典案例詳細(xì)說(shuō)明 7次下載
- Nano 型串口屏的技術(shù)參數(shù)詳細(xì)說(shuō)明 24次下載
- LPC5500_SDK例程:串口DMA發(fā)送+中斷接收 1167次閱讀
- STM32串口DMA接收與發(fā)送 1w次閱讀
- PIC系列單片機(jī)程序設(shè)計(jì)基礎(chǔ)知識(shí)詳細(xì)說(shuō)明 4640次閱讀
- C語(yǔ)言和C++的特點(diǎn)與用法詳細(xì)說(shuō)明 4444次閱讀
- FPGA的入門基礎(chǔ)知識(shí)詳細(xì)說(shuō)明 9599次閱讀
- 使用AT89S51單片機(jī)制作紅外遙控器的資料和源代碼詳細(xì)說(shuō)明 6263次閱讀
- 常用穩(wěn)壓二極管的參數(shù)表格詳細(xì)說(shuō)明 1.5w次閱讀
- 電氣電纜的最全常用手冊(cè)詳細(xì)說(shuō)明 8967次閱讀
- 串口數(shù)據(jù)轉(zhuǎn)CAN幀格式詳解 1.5w次閱讀
- 基于STM32的串口DMA發(fā)送 2.2w次閱讀
- 一文知道串口通信的幀同步問(wèn)題 7199次閱讀
- 接收卡升級(jí)的詳細(xì)說(shuō)明概述圖文詳解 2.4w次閱讀
- 基于AD9854產(chǎn)生MSK調(diào)制信號(hào)詳細(xì)說(shuō)明 4929次閱讀
- Crossbar的多通道DMA控制器設(shè)計(jì) 5069次閱讀
- STM32串口DMA問(wèn)題詳解 8472次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1497次下載 | 免費(fèi)
- 2TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 3單片機(jī)典型實(shí)例介紹
- 18.19 MB | 99次下載 | 1 積分
- 4S7-200PLC編程實(shí)例詳細(xì)資料
- 1.17 MB | 28次下載 | 1 積分
- 5筆記本電腦主板的元件識(shí)別和講解說(shuō)明
- 4.28 MB | 18次下載 | 4 積分
- 6開(kāi)關(guān)電源原理及各功能電路詳解
- 0.38 MB | 14次下載 | 免費(fèi)
- 79天練會(huì)電子電路識(shí)圖
- 5.91 MB | 6次下載 | 免費(fèi)
- 8100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費(fèi)
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費(fèi)
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費(fèi)
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30321次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21540次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537794次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191183次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評(píng)論