




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于DSP的串行通信接口设计郑争兵(陕西理工学院 电信工程系,陕西 汉中 723003)摘要:本文详细介绍了基于TI公司TMS320C6416的McBSP的SPI方式,在此基础之上设计了TMS320C6416与MAX3111E的硬件接口电路,并给出了在DSP集成开发环境CCS提供的DSP/BIOS框架下,串口通信的软件设计过程。在设计中充分利用了MAX3111E的特点,实现了同步传输到异步传输的转换。关键词:McBSP;MAX3111E;SPI;串口通信中图分类号:TP332.3 文献标识码:B Design of Serial Communication Interface Based on DSPZHENG Zhengbing(Dept.of Electronic Engineering,Shananxi University of Technology,HanZhong 723003 China)Abstract: The paper introduced SPI mode of McBSP based on TI s company TMS320C6416.And then the hardware interface circuit between TMS320C6416 and MAX3111E is designed. With the DSP/BIOS framework provided by CCS, the realization of serial communication is presented. Characteristic of MAX3111E is used sufficiently and conversion from synchronous transmission to asynchronous transmission is implemented.Keywords: McBSP;MAX3111E;SPI;Serial Communication1 引言TMS320C6416是TI公司C6000系列中推出的一款高速定点DSP芯片,采用典型的VLIW(Very Long Instruction Word,超长指令字)结构的内核,最高主频可达1 GHz,片内集成了1Mbyte的大容量SRAM,片外拥有丰富的接口。在DSP串行接口的设计中,TMS320C6416的串行外围设备接口为同步接口,而通用的PC 机的RS-232接口为通用异步接口UART,为了使DSP能够与PC机进行异步串行通信,必须扩展相应的硬件,实现同步数据到异步数据的格式转换。本文利用TMS320C6416的多通道缓冲串行接口McBSP同步串行接口,应用美国MAXIM公司的MAX3111E串行异步收发器,实行了DSP与PC间的串口通信。2. 接口设计(1)McBSP的SPI方式SPI(Series Protocol Interface)接口方式是Motorola公司推出的一种高效同步串行数据接口方式,是目前使用比较多的一种串行总线接口标准。TMS320C6416芯片的McBSP串口工作在时钟停止模式时与SPI协议兼容1。通过对McBSP的串行控制寄存器(SPCR)和引脚控制寄存器(PCR)的设置使其工作在时钟停止模式。SPCR的CLKSTP位使能时钟停止模式,并选择相应的工作方式,而PCR的CLKXP位配置时钟信号CLKX的极性2,具体的控制寄存器的配置和相应的工作方式如表1所示。表1 McBSP时钟停止模式配置CLKSTPCLKXP时钟配置0X X禁止时钟停止模式。时钟使能为非SPI模式10 0无延迟的低电平无效状态。McBSP在CLKX的上升沿发送数据,在CLKX的下降沿接收数据11 0有延迟的低电平无效状态。McBSP在CLKX的上升沿之前半个周期发送数据,在CLKX的上升沿接收数据10 1无延迟的高电平无效状态。McBSP在CLKX的下降沿发送数据,在CLKX的上升沿接收数据11 1有延迟的高电平无效状态。McBSP在CLKX的下降沿之前半个周期发送数据,在CLKX的下降沿接收数据当McBSP配置为时钟停止模式时,发送器和接收器在内部得到同步,这时McBSP可作为SPI的主设备或从设备。发送时钟信号(CLKX)作为SPI协议中的串行时钟信号,发送帧同步信号(FSX)提供从设备使能信号(CS)。本文采用McBSP工作于SPI主模式,与其SPI兼容器件接口如图1所示。图1 配置McBSP作为SPI的主设备作为SPI主设备,McBSP通过内部的采样率发生器产生时钟CLKX和从设备使能信号FSX。用户需要设置SRGR(Sample Rate Generator Register)寄存器中的CLKSM位来选择CPU时钟或者外部时钟输入作为采样率发生器的时钟源。对SRGR的CLKGDV(时钟倍率)编程产生CLKX,按照需要的SPI数据传输速率来编程。另外无须考虑配置采样率发生寄存器的帧周期数FPER和帧脉冲宽度,也就是用户定义的帧同步波形是不起作用的,在数据包的第一位发送前,帧同步信号变为有效,直到数据包的最后一位发送完毕,当数据包发送完成后,帧同步信号变为无效状态。(2)DSP与MAX3111E的接口设计MAX3111E是MAXIM公司的专门为微处理系统进行最优化设计的UART。该芯片具有SPI/WICROWIRE接口,可以直接实现与主控制器之间的同步串口通信,通信速率可达230kbps;另外还有两个RS-232电平转换器,无需再进行电平转换。因此,MAX3111E可以很容易实现同步到异步数据的传输。TMS320C6416的McBSP为SPI协议中的主设备,直接与MAX3111E的SPI/WICROWIRE接口进行连接,通过RS-232接口与PC机进行异步数据传输。其具体接口电路如图2所示。图2 TMS320C6416的McBSP与MAX3111E接口电路DSP提供串行时钟信号(CLKX),连接到MAX3111E的时钟信号(SCLK);发送帧同步脉冲信号(FSX)作为MAX3111E的片选信号(CS);DX与DIN连接和DR与DOUT连接,实现数据的双向传输;外部中断INT与MAX3111E的中断信号(IRQ)连接,实现外部中断事件的响应。另外,MAX3111E的外部管脚/SHDN信号接高电平3.3v表示打开RS-232发送器;TX与T1IN连接,RX与R1OUT连接,实现UART到RS232电平的转换。DSP通过McBSP接口与MAX3111E进行16位数据的全双工同步通信,为了实现SPI方式的可靠通信,必须保证接口时序的匹配。即合理设置DSP的McBSP才能满足MAX3111E时序的要求。由表1 McBSP时钟停止模式配置,选择CLKSTP=11,CLKXP=0时,刚好与MAX3111E的时序匹配。另外,McBSP内部采样率发生器时钟源选择CPU,必须选择合适的时钟倍率(CLKGDV),使得CLKX的频率不超过4.2MHz(MAX3111E要求SCLK的最小时钟周期238ns)即可3。3 DSP串口通信的软件设计DSP串口通信的软件设计包括发送和接收两部分。发送部分程序采用主动的方式启动中断,当有中断时,响应中断,每次发送16位数据,直到所有的数据发送完才结束程序;接收部分程序采用被动的方式启动中断,即等待中断,当有中断时,响应中断,每次接收16位数据,直到所有的数据传输完才结束程序。可见发送部分和接收部分大致相似,如图3所示,给出了DSP接收数据的软件流程图。图3 DSP接收数据流程图可以看到软件设计主要是McBSP串口初始化程序和中断处理程序。McBSP串口初始化主要是将串口配置为SPI主模式,其过程如下:(1)设置串行端口控制器SPCR中XRST=RRST=0,使串口复位;(2)设置McBSP的时钟停止模式有其他相关参数; (3)设置SPCR的GRST1,采样率发生器退出复位状态,开始工作;(4)等待两个时钟周期,以保证McBSP在初始化过程中,内部能够正确地同步;(5)选择配置由CPU或DMA控制器McBSP,然后设置XRST=RRST=1,使串口退出复位状态;(6)等待两个数据时钟周期,以便发送器和接收器变为有效。考虑到代码的可移植性和可读性,采用C语言编写串口数据传输程序。本文利用了DSP开发集成环境CCS2.2所提供的DSP/BIOS中的芯片支持库函数(CSL)。CSL4提供C语言可调用的DSP外围接口McBSP模块库函数。根据上面步骤,调用CSL的McBSP配置库函数即可完成McBSP的初始化:.MCBSP_Handle hMcbsp0; /*声明指向MCBSP的句柄 */MCBSP_Config mcbsp0_spi = /* 定义配置寄存器的结构 */ 0x03001800, /* 设置串口控制寄存器的值 */ 0x00050040, /* 设置接收控制寄存器的值 */ 0x00050040, /* 设置发送控制寄存器的值 */ ;hMcbsp0 = MCBSP_open(MCBSP_DEV0, MCBSP_OPEN_RESET);/*打开MCBSP串口*/MCBSP_config(hMcbsp0, &mcbsp0_spi);/*按结构配置MCBSP各寄存器*/MCBSP_enableSrgr(hMcbsp0); /* 使能采样率发生器 */for (wait=0; wait0x10; wait+); /* 等待两个时钟周期 */MCBSP_enableXmt(hMcbsp0); /* 使能McBSP0发送器 */MCBSP_enableRcv(hMcbsp0); /* 使能McBSP0接收器 */.在对McBSP进行初始化后,DSP必须根据命令序列格式向MAX3111E写入配置命令字, 之后才能进行正确的数据通信.该命令字主要包括波特率位、8位数据位、奇偶校验位、停止位、使能接收和发送中断的异步数据传输位,DSP对MAX3111E进行配置的简要过程为:.while(!MCBSP_xrdy(hMcbsp0); /*等待发送控制器为空*/ MCBSP_write(hMcbsp0,0x0000EC01); /*向max3111E写配置命令字,baud rate=115.2K*/.MAX3111E有四个中断源,分别为Pr(接收奇偶校验位为1中断)、R(接收数据有效中断)、RA/FE(帧格式错误中断)、T(发送缓冲器空中断)。这些中断都可软件屏蔽或使能,当中断产生时,DSP进行一次读操作,通过判断数据中T和R等标志位进行中断识别,之后进行相应的操作。设计中采用R、T作为中断源,当MAX3111E接收数据有效或发送缓冲器空时均产生低电平中断信号去触发DSP外部中断INT4,从而进入中断INT4的中断服务程序实现McBSP的数据收发。4 结束语本文基于DSP的串口通信设计,采用MAX3111E实现同步到异步数据的传输。该方法硬件电路简单,而且通过调用API模块,使得软件设计简化,在工程实践中具有一定的实用性。参考文献1 季方慧, 王飞, 何佩琨.“TMS320C6000系列DSPs原理与应用(第二版)”M. 电子工业出版社, 2003.2 Texas Instruments. TMS320C6000 DSP Multichannel Buffered Serial Port Reference GuideEB/OL.SPRU580B. /.3 IM. M
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年河南投资集团-大河智运物流(河南)有限公司招聘10人模拟试卷及答案详解一套
- 2025年福建省泉州市晋江智信大数据科技有限公司招聘10人考前自测高频考点模拟试题附答案详解
- 2025安徽宣城市中心医院第一批次招聘22人考前自测高频考点模拟试题附答案详解(突破训练)
- 2025年宁波市北仑区卫生健康系统第二批招聘事业编制工作人员123人模拟试卷及答案详解(夺冠系列)
- 2025年淮北师范大学公开招聘高层次人才90人考前自测高频考点模拟试题及完整答案详解一套
- 2025内蒙古呼和浩特市新城区东街西街街道社区卫生服务中心招聘3人考前自测高频考点模拟试题及答案详解(考点梳理)
- 2025年湖南益阳市交通投资运营集团有限公司下属子公司公开招聘(第一批)模拟试卷及答案详解(网校专用)
- 2025江西赣州市会昌县小镇时代文化传媒有限公司招聘劳务派遣人员1名考前自测高频考点模拟试题及答案详解(各地真题)
- 2025河南新乡市延津县审计局招聘辅助审计人员5人模拟试卷及答案详解一套
- 2025安徽黄山市黄山区消防救援大队政府专职消防员招聘2人模拟试卷及答案详解(新)
- 某培训基地可行性研究报告
- YY/T 1617-2018血袋用聚氯乙烯压延薄膜
- GB/T 39965-2021节能量前评估计算方法
- GB/T 3934-2003普通螺纹量规技术条件
- 尿动力学检查操作指南2023版
- 五星领导人课件
- GB/T 22560-2008钢铁件的气体氮碳共渗
- 《大体积混凝土》课件
- 日本产业发展及文化讲义课件
- 中北大学火炮概论终极版
- 《建设工程文件归档规范》讲义课件
评论
0/150
提交评论