TMS320C3x DSP和PC机的异步串行通信设计.docx

上传人:lao****ou 文档编号:957609 上传时间:2024-08-06 格式:DOCX 页数:5 大小:41.29KB
下载 相关 举报
TMS320C3x DSP和PC机的异步串行通信设计.docx_第1页
第1页 / 共5页
TMS320C3x DSP和PC机的异步串行通信设计.docx_第2页
第2页 / 共5页
TMS320C3x DSP和PC机的异步串行通信设计.docx_第3页
第3页 / 共5页
TMS320C3x DSP和PC机的异步串行通信设计.docx_第4页
第4页 / 共5页
TMS320C3x DSP和PC机的异步串行通信设计.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《TMS320C3x DSP和PC机的异步串行通信设计.docx》由会员分享,可在线阅读,更多相关《TMS320C3x DSP和PC机的异步串行通信设计.docx(5页珍藏版)》请在第一文库网上搜索。

1、TMS320C3xDSP和PC机的异步串行通信设计【摘要】在简要介绍TMS320C3x系列底丘的基础上,主要介绍了在数字信号处理系统中,DSP与上位PC机异步串行通信的软硬件解决方案。关键词:TMS320C3x异步串行通信MSComm控件1引言TMS320C3xDSP是目前国内应用比较广泛的DSP芯片之一,它提供了可与外部串行设备通信的串行接口,支持8/16/24/32位数据交换,为设计A/D、D/A接口电路提供了很大的灵活性。然而,当DSP系统和PC机进行通信时,如何设计合理的接口电路和通信软件,将DSP处理后的数据实时准确地传输给PC机,同时使PC机实时有效地控制DSP,成为DSP系统设计

2、中的重要一环。本文采用异步串行通信(Universa1AsychronousReceiverandTransmitter,UART),较好地解决了DSP和PC机通信这一问题。2 TMS320C3x简介TMS320C3x(以下简称C3x)是旦(TexasInstruments)公司生产的第三代产品,也是第一代浮点DSP芯片,包括C30、C31C32和C33四种,是TMS320系列中性能价格比较高的一种浮点DSP芯片,具有32位的浮点精度,总共有三套总线,即程序总线、数据总线和DMA总线,取指、读写数据以及DMA操作可并行进行,可以寻址16M字的空间。其中C31是C30的简化和改进型,它去掉了扩展

3、总线和一个串口,降低了芯片的成本,并且在硬件上增加了一个非常有用的功能,即程序引导功能(BoOtIo理er),使其程序可以从低速EP咽、PROM或串行口装入到系统的高速幽1中全速运行。C32和C33是C31的进一步简化和改进,其中C32片内RAM减为512字,以降低成本。C33片内RAM为34K,需3.3V电源。3 DSP系统结构框图图1为整个DSP系统的硬件框图。其中,T1C32044是T1公司生产的话带模数接口芯片(简称MC)T1C32040系列中的一种,它集A/D、D/A于一体,具有两个模担输入口和一个模拟输出口,最高采样频率为19.2kHzoMC6850为MotOroIa公司生产的异步

4、串行接口芯片(UART),它可以进行8位或9位数据的发送和接收,并可选择11664三种不同的时钟模式。DSP通过对MC6850的控制寄存器初始化来设置异步通信协议,然后MC6850对DSP的并行数据和PC机的串行数据按照协议进行并串转换。MAX232芯片进行H1电平和咫一232电平之间的转换。外部值号经A/D转换进入DSP,DSP对其进行处理后,经UART送入PC机,由PC机对数据进行处理和存储。同时,PC机将控制信号或待发数据经UART送入DSP,对DSP实施控制或经DSP处理后送入D/A,经低通滤波后还原为模拟信号。4 DSP系统通信软件传输时,发送双方应按照共同遵循的协议进行初始化。通信

5、协议采用起止式异步通信协议,下面分别是DSP对MC6850和上层PC机软件对串行口初始化操作的源程序代码。4.1MC6850异步串口通信程序设计加电之后,6850处于闭锁状态,以避免输出错误的发送。使用前,必须通过程序将控制寄存器的CRo和CR1置“1”,以进行主复位,使其从闭锁状态释放。然后就可以对控制寄存器编程,以确定6850的时钟分频、数据格式和发送与接收控制功能等。以下是在COeieCOmPOSe集成开发环境下,用C语言实现对6850的初始化设置和发送数据程序。vo1a:i1rmtIO_CMD=(vohtieint)0x100000定义6850控制或状态寄存器墟址/vo1ati1ein

6、tIO_DTA-f(vo1ati1eint)0x1000011/定义6850发送或接收数据寄存器地址/void6850_Initi(VOid)/6850初购化M数/(!O_CMD:0j=0x03;/685。复位/IU-CMI)10J=0xD5/允许接收中断.禁止发送中断.8位+1停止位波特率19200时绅帙率16,voidSend_DMaO/发送数据f函数/(inti/曲50准备好了吗?心等恃,K)-DTAC0-daTAM_RUKtQCstring申。IDT*ra_ComportMSCOMMCMSCoEtn第三步,在TXRXDIg.CPP文件中添加有关程序代码。首先,在文件头第一条注释行中加入

7、全局变量说明。Qdefinedefineunsignedunsigned其次,需要初始化串口参数,入以下代码:在OnInitiDia1ogO函数中TODO语句后加ConiEvRrcrivcCom1nputMocicBinaryIChnrRccvDatAC300JcharTxDataC300TODO,Addextrainitu1iiaticnherem_ComPon.SCICOnHnPOrM1)一/选择COM1f(!mCommPan.GeiPortOpen()打开串口m_ComPon.SctPortOpen(TRUE)ImComPon.SciInpuiModeComInputModrBinary

8、)强置Ia人方式为二遇制方式m_ComPort.Se11ings*9200n*81*)1标波特率等参数m_ComPort.SetRThreshoIdC1)m_ComPort.Set1nput1en(O)m_ComPoxf.GctInputOi先预读缓冲区以清除残留数据接着,为发送按钮迦-TRSMIn添加消息处理函数OnTranSmittO,内容如下:voidC1xRxIXg:1()nTranm()intitUMa1CDnta(IKUEh在取用户输入数IKTxDa-x05命令帧长度TXDaW-OxOOi命令帧将(码TxDnni,OXOh发送图地址TXDnC31-OxO3,发达目的建址TXIXta

9、X=0x05,效雅包包效Trn*ut(),发送命令幢下面举例说明如何在Tra11Smitt()函数中实现发送一帧数据。countaTxDaiaCO帧长度for(irOicount-*)SUIn+=TxDaa(J,计算检验HJTxDataCcount1-SUnU,”总检长和rray.RemovcAIIOi清空数用rry.SetSiZe(CoUnt九/设置数组大小为帧长度for(iOsicount)array.SetAMi.TxIJataIJ)t将恃发数据存人数Iif(m_ComPort.GcePort()pen()n_ComPon.SciPoriOpen(TRUE)1打开串口并发送败案Tn_Co

10、mPort.5t()tP(C()1cV,ran(array)t在对话银中8示发送出去的数Wm_TXData=*1for(iOicount“*+)sprinf(suux.*02XTx1)ataGJ)m_TxData-5Output1)一UpdateData(FA1SE);更新对话框5结束语以上是DSP与PC机之间异步串行通信的软硬件解决方案,目前此方案已应用于短波通信智能终端数据传输系统中,运行稳定,通信性能良好,较好地解决了DSP和PC机的通信问题。参考文献1 TexasInstruments.TMS320C3xUsersGuide.20002 TexasInsturments.CodeComposerUsersGuide.20003张雄伟.DSP芯片的原理与开发应用.北京:电子工业出版社,20014吕文哲,黄强.再谈用VC+开发环境下串行通信程序.电子技术应用,1998,24

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 工作总结

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服