网站大量收购独家精品文档,联系QQ:2885784924

McBSP与EDMA实现UART--文档.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
McBSP与EDMA实现UART--文档

TMS320C6713中利用McBSP与EDMA实现UART 本文档主要内容是对C6713中的McBSP和EDAM模块进行介绍,以及对McBSP与EDMA实现UART进行说明。 第一部分,总体框图以及各功能模块之间的数据流向 第二部分,McBSP模块说明 第三部分,EDMA模块说明 第四部分,软件功能说明 第五部分,利用McBSP和EDMA实现UART的步骤 第六部分,本文档中自己所不清楚的地方。 第一部分:总体框图 该总体框图由4部分组成,各功能模块的作用如下所述: McBSP模块:外部数据与内部数据的接口。可以配置其控制寄存器来控制外部输入/输出的数据满足一定的时钟要求以及时序要求,而使得McBSP接口能够满足不同方式的传输接口。 EDMA模块:数据搬移模块。对McBSP接收到的数据能够搬移到所开辟的存储区,对McBSP所要发送的数据从开辟的存储区搬移到McBSP的发送寄存器里,可以配置其控制寄存器以提供不同类型的数据传输。 存储区域模块:开辟的存储区域,用来存放接收/发送的数据。 软件过程:对于接收到存储区的数据进行16倍压缩操作后,然后传送给CPU,对于从CPU到存储区的数据进行16倍扩展操作后,然后通过McBSP口发送出去。 第二部分:McBSP模块 McBSP由和外部器件相连接的一个数据通道和一个控制通道组成。 McBSP接口功能模块图 引脚的定义:CLKR-----接收时钟 CLKX----发送时钟 CLKS----外部时钟 DR-------接收的串行数据 DX-------发送的串行数据 FSR------接收帧同步 FSX------发送帧同步 McBSP模块里面的8个控制寄存器的比特位功能说明另附。 CPU通过片内的外设总线访问串口的32位控制寄存器,从而实现与McBSP间的通信与控制。非32位写访问控制寄存器会破坏寄存器的值,但是非32位读访问能返回正确的值。 CPU或EDMA控制器向数据发送寄存器(DXR)中写入待发的数据,从数据接收寄存器(DRR)读取接收到的数据。写入DXR的数据通过发送转移寄存器(XSR)移位输出到DX引脚。同样,DR引脚上接收到的数据先进入接收转移寄存器(RSR)中,然后被复制到接收缓冲寄存器(RBR)中。最后RBR被复制到DRR中,CPU或EDMA控制器可以将数据读取。 这种多级缓冲方式使得片内的数据移动和外部数据的通信可以同时进行。 McBSP的接收操作采用三级缓冲方式,发送操作采用两级缓冲方式。接收的数据到达DR引脚后移位到RSR。一旦整个数据单元(8,12,16,20,24或 32位)接收完毕,如果RBR寄存器未满,则RSR被复制到RSR中。如果DRR中的数据已经被CPU/EDMA控制器读取,则RBR被复制到DRR中。发送数据首先由CPU或EDMA控制器写入DXR。如果XSR寄存器为空,则DXR中 的值被复制到XSR并,准备移位输出,否则DXR会等待XSR中旧数据的最后一位被移位输出到DX引脚后,才将数据复制到XSR中。 串口的复位 芯片复位:使接收器、发送器和采样发生器复位,芯片复位取消后, 使真个串口处于复位状态 独立复位:设置XRST和RRST(SPCR中)位,可分别的使串口接收器和发送器复位。设置GRST位使采样发生器复位 复位后,整个串口初始化为初始状态。 准备状态以及CPU中断 SPCR中的RRDY和XRDY位分别表示McBSP接收器和发送器的准备状态。读DRR和写DXR会分别影响RRDY和XRDY。来自串口的写和读可以通过下面的方法实现同步: 1 查询RRDY和XRDY 2 使用发送到EDMA的事件(REVT和XEVT)或者CPU中断(RINT和XINT) 其中对于RRDY和XRDY驱动事件还是驱动中断由SPCR中的RINTM位控制。当使用CPU中断时,可以通过SPCR寄存器的RINTM/XINTM设置成四种中断模式。 3.帧和时钟 时钟CLKR和CLKX分别定义数据的接收位和发送位之间的边界。帧同步信号FSR和FSX则定义一个数据单元传输或帧传输的开始。 McBSP的数据时钟以及帧同步信号可以设置如下的参数: 1 FSR、FSX、CLKX和CLKR的极性 2 选择单相帧或者双相帧 3 定义每相中数据单元的个数 4 定义每相中一个数据单元的位数 5 帧同步信号是除法开始新的串行数据还是被忽略 6 从选择帧同步到第一位数据出现之间的延时,可以是0、1或2位延迟 7 接收数据的左右调整,进行符号扩展或是填充。McBSP的收发部分可以各自独

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档