基于tms320dm6437的mcbsp与edma实现串口通信

基于tms320dm6437的mcbsp与edma实现串口通信

ID:22154583

大小:152.50 KB

页数:7页

时间:2018-10-27

基于tms320dm6437的mcbsp与edma实现串口通信_第1页
基于tms320dm6437的mcbsp与edma实现串口通信_第2页
基于tms320dm6437的mcbsp与edma实现串口通信_第3页
基于tms320dm6437的mcbsp与edma实现串口通信_第4页
基于tms320dm6437的mcbsp与edma实现串口通信_第5页
资源描述:

《基于tms320dm6437的mcbsp与edma实现串口通信》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于TMS320DM6437的McBSP与EDMA实现串口通信TMS320DM6437是专为高性能、低成本视频应用开发的,主频600MHz,32位定点,采用达芬奇(DaVinci(TM))技术。该器件采用TI第3代超长指令集结构(VelociTI.3)的TMS320C64x+DSP内核,主频可达600MHz,支持8个8位或4个16位并行MAC运算,峰值处理能力高达4800MIPS。基于TMS320DM6437诸多特点,这里提出一种实现DSP与FPGA的双向数据交换设计方案,采用TMS320DM6437的McBSP和EDMA实现

2、异步串口通信。McBSP接口是全双工串行接口,提供收发数据双缓冲以处理连续的数据流,并可独立配置收发部分,接收和发送都可使用独立的帧信号和时钟源。TMS320DM6437有2个独立的McBSP接口(McBSP0和McBSPl)。EDMA可处理该处理器上所有内存单元和外设的数据传输,且不占用DSP时钟周期,EDMA还提供针对McBSP的同步事件,可方便控制数据传输。接收数据时,FPGA的数据通过McBSP传到DSP的DRR寄存器中,触发McBSP接收同步事件,EDMA将数据搬入DSP内存。发送数据时,当EDMA从DSP内存中将数

3、据搬入DSP的DXR寄存器时,利用McBSP发送同步事件,将数据传输给FPGA。1硬件接口电路设计McBsP接口的硬件连接如图1所示。DSP的McBSP接口可由内部时钟发生器或外部器件提供收/发时钟信号(CLKR/CLKX)及收/发帧同步信号(FSR/FSX)。为了简化FPGA内部时序,以上信号均由FPGA提供。图1中的EN_IN、EN_OUT为DSP控制FPGA中McBSP接口的使能信号,它们均与DSP的GPIO相连。当EN_IN为高时,FPGA接收DSP的数据;当EN_OUT为高时,FPGA开始向DSP发送数据。2软件程序

4、设计传统的C6000型DSP对McBSP和EDMA进行操作时,多使用TI公司提供的CSL(ChipSupportLibrary)进行编程操作,由于TMS320DM6437不支持CSL,而是改用PSP(ProeessorSupportPackage),所以对TMS320DM6437McBSP接口采用PSP提供的McBSPDriver,主要用McBSPDriver提供的LLC层API进行编程。LLC层提供基于不同平台的驱动核心抽象。在该层可进行寄存器操作,宏定义,并且底层API可直接与硬件通信。对应的EDMA程序开发则采用EDMA

5、LLD(EDMAlowLevelDriver)提供的各种库进行编程。LLD实际上包含2个库用于管理EDMA外设:一个是EDMARM(EDMAResourceManager),管理所有的EDMA硬件资源以及中断;另一个是EDMADRV(EDMADriver),完成所有EDMA相关配置,并且通过RM满足资源需求。当调用DRV层API进行操作时,实际上是通过DRV层API调用RM层API来对EDMA外设寄存器进行直接操作来配置EDMA硬件。本例中实现DSP和FPGA通信时,McBSP所需的帧同步信号以及时钟信号均由FPGA产生,Mc

6、BSP发送过来32bit的数据,DSP内部采用EDMA方式接收数据,McBSP接收同步事件触发EDMA传输。将数据放入DSP片内二级存储器的缓冲区,等待DSP处理。为了保证后写入的数据不会覆盖先写入的还没来得及被DSP处理的数据,片内二级存储器缓冲区采用乒乓缓冲结构。同样,DSP发送32bit数据给FPGA时,也是通过EDMA方式,由McBSP发送同步事件触发EDMA传输。2.1McBSP配置McBSP的开启以及参数配置均采用LLC提供的API以及数据结构完成。但是因为TMS320DM6437的引脚多采用引脚复用,并且GPIO

7、和McBSP引脚复用到一起,由于本例中McBSP帧同步信号是由外部源产生,为了保证能监测到第一个帧同步信号,需先在PINMUX寄存器里将复用的引脚配置成GPIO模式,等检测到帧同步信号后,再将复用的引脚恢复成McBSP模式。2.1.1接收数据格式配置McBSP接收数据格式在数据结构LLC_RcvDataSetup中设置,该数据结构在McBSPDriver提供的头文件llc_mcbspType.h中定义,在编译工程文件的时候需包含此头文件。接收数据为单帧数据,一个数据帧长度为4个字节,采用帧同步信号检测模式,不进行压缩,数据传输

8、延迟一个比特,采用McBSP同步事件产生中断。McBSP发送数据格式在数据结构LLC_XmitDatasetup中设置,具体参数和接收数据格式保持一致。M-cBSP帧同步和时钟参数在数据结构LLC_mcbspClkSetup中设置,该结构同样在头文件llc_mcbspType

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。