資料介紹
1 McBSP(Multichannel Buffered Serial Port)串口利用DMA中的多幀(Multi-Frame)方式通信的中斷處理
在實際通信應用中,一個突發之后,程序必須為下一個突發作準備。因此一般采用串口的DMA多幀方式但在串口以DMA方式傳輸數據時卻有一些問題要討論。首先DMA的傳輸同步事件應設McBSP的傳輸事件即XEVT,這樣一字節傳輸后會自動準備另一字節(McBSP的READY上升沿觸發DMA傳輸)。中斷發生時意味著一個塊已傳完,這時DMA的使能自動關閉,McBSP的READY將一直保持高狀態。但是在下一次突發傳輸直接使能DMA時卻啟動不了傳輸(相信會有許多我遇到此類問題)。這是因為無法產生McBSP觸發啟動所需的READY上升沿。解決辦法是在中斷程序中先關閉McBSP的發送,使READY=0,隨后在程序中發送使能DMA,再打開McBSP的發送即可。如先打開McBSP的發送后打開DMA,也是不會工作的。因為McBSP的READY已經由0變到1了,無法再產生READY上升沿。
2 關閉DMA與關閉McBSP的區別
在通信領域,為了充分利用DSP的片上外設資源,常常利用DMA把從串口來的數據或要發的數據放入緩沖區,再處理。對DMA而言,只要其在數據緩沖區的指針指向了中斷應發生的位置,就產生中斷。但此時最后一個數據只是進入了McBSP而并未真正發出去,所以在傳送結束的中斷程序中只能關閉DMA不能關閉McBSP。因為此時McBSP的發寄存器DXR中還有一個字沒有發出。
3 McBSP串口配置的關鍵時序
主要是寄存器SPCR2的配置:在保持RRST、XRST、FRST各位為0的前提下,配置好其它串口控制寄存器。等待至少2個CLKR/T時鐘以確保DSP內部的同步。
(1)可以向DXR裝載數據或使能DMA。
(2)使能GRST(GRST=1)(如果需要DSP內部產生采樣時鐘)。
(3)使能RRST或XRST,注意此時要保證SPCR中僅有此一位發生改變。
(4)使能FRST(FRST=1)(如果需要DSP內部產生幀同步)。
(5)等待2個R/T CLK時鐘周期后,收或發端便會有效。
4 匯編語言程序中的變量
匯編語言程序中的公用變量應在文件中定義,如.def carry。匯編語言程序中使用的局部變量不需定義,可直接聲明,例如trn_num .word 00h。如果在兩個asm文件中有兩個都沒有定義的同名變量,則編譯程序會認為分他們不是同一變量。在匯編程序的開頭應有.mmregs宏語句。它一方面表示對默認定義的確認(ah,bh,trn等),另一方面可以對所用寄存器重新定義。如:
mmregs
DMPREC .set 54h ;定義DMA優先和使能寄存器地址在54h
DMSA .set 55h
DMSDN .set 57h
DXR10 .set 23h ;定義串口1的發送寄存器地睛在23h
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
- 机器视觉在金属表面缺陷检查中的应用详细说明9次下载
- Xilinx的时序设计与约束资料详细说明34次下载
- 时序分析的优化策略详细说明17次下载
- 时序分析的优化策略详细说明19次下载
- Python的知识点总结详细说明14次下载
- 如何使用Python绘制PDF文件教程详细说明12次下载
- 使用单片机串口通信控制步进电机的源代码详细说明28次下载
- 西门子PLC培训资料之数据块中的数据存储详细说明15次下载
- 西门子PLC的数字指令教程详细说明33次下载
- 西门子PLC位指令的教程详细说明25次下载
- 排线中电源和地的位置安排详细说明10次下载
- 如何同时使用51单片机的定时器0和串口使用问题详细说明27次下载
- 进行单片机串口通信的方式详细说明1次下载
- Matlab图形绘制经典案例详细说明7次下载
- Nano 型串口屏的技术参数详细说明24次下载
- LPC5500_SDK例程:串口DMA发送+中断接收1670次阅读
- STM32串口DMA接收与发送10742次阅读
- PIC系列单片机程序设计基础知识详细说明5111次阅读
- C语言和C++的特点与用法详细说明4881次阅读
- FPGA的入门基础知识详细说明10216次阅读
- 使用AT89S51单片机制作红外遥控器的资料和源代码详细说明6739次阅读
- 常用稳压二极管的参数表格详细说明17077次阅读
- 电气电缆的最全常用手册详细说明9499次阅读
- 串口数据转CAN帧格式详解15710次阅读
- 基于STM32的串口DMA发送22728次阅读
- 一文知道串口通信的帧同步问题7631次阅读
- 接收卡升级的详细说明概述图文详解26137次阅读
- 基于AD9854产生MSK调制信号详细说明5406次阅读
- Crossbar的多通道DMA控制器设计5337次阅读
- STM32串口DMA问题详解8825次阅读
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1497次下載 | 免費
- 2TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 3單片機典型實例介紹
- 18.19 MB | 99次下載 | 1 積分
- 4S7-200PLC編程實例詳細資料
- 1.17 MB | 28次下載 | 1 積分
- 5筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 6開關電源原理及各功能電路詳解
- 0.38 MB | 14次下載 | 免費
- 79天練會電子電路識圖
- 5.91 MB | 6次下載 | 免費
- 8100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 6接口電路圖大全
- 未知 | 30321次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21540次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537794次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論