高速DSP与PC实现串口通信的方法

发布者:TranquilGaze最新更新时间:2008-03-25 来源: 我爱研发网 电子世界关键字:串口通信  DSP  PC  微处理器  外部中断  时间常数  串行口  RS-232接口  引脚  通信方式 手机看文章 扫描二维码
随时随地手机看文章

  数字信号处理器(Digital Signal Processor,DSP)在图形图像处理、高精度测量控制、高性能仪器仪表等众多领域得到越来越广泛的应用,实际运用中,通常须将DSP采集处理后的数据传送到PC机,然后进行存储和处理。

  T1公司的TMS320VC33微处理器具有性价比高,同时,该芯片的I/O电平、字长、运行速度、串口功能具有大多数DSP的共同特点。本文针对TMS320VC33与PC RS-232的通讯,分析三种具体的接口电路和软件设计方法,实现高速DSP与低速设备的通讯:①通过TMS320VC33的通用I/O口实现通信;②通过TMS320VC33中可设置为通用I/O的串行引脚实现通信;③直接利用TMS320VC33的串口功能实现通信,在硬件和软件设计的基础上,完成相关试验和调试,并达到预期的效果。

  采用通用I/O口实现

  PC的RS-232接口按照设定的固定波特率传送,RS-232串行口进行通信采用三线式接法,即RX(数据接收)、TX(数据发送)、GND(地)三个引脚,PC机按帧格式发送、接收数据,一帧通常包括1位起始位("0"电平)、5-8位数据位、1

  位(或无)校验位、1位或1位半停止位("1"电平),起始位表示数据传送开始,数据位为低位在前、高位在后,停止位表示一帧数据结束。

  TMS320VC33微处理器的串口帧格式没有起始位和停止位,只有数据位,且数据位为高位在前、低位在后。利用TMS320VC33微处理器的通用I/O引脚实现串行通信时,须依据RS232的通信协议并结合DSP硬件资源编写相应的DSP程序。

  1.硬件设计

  TMS320VC33微处理器共有10个引脚可配置为通用I/O口,其中XFO、XFl为专用的通用I/O口,通过软件设计可实现XFO、XFl专用I/O口与RS232的串行通信,电路结构如图1所示。

  

  

  本文选用MAX3232E作为RS232C电平与TTL电平的转换芯片,R1in、T1out为RS232C电平,R1out、T1in为TTL电平,TMS320VC33微处理器的INT2引脚为外部中断脚,R10ut同时连接到INT2和XF0,即可利用传输的第一位触发TMS320VC33微处理器的外部中断。

  2.软件设计

  假设系统已经完成初始化,数据接收流程如图2所示,设传输速率为9600bit/s,一个起始位("0")、8位数据位、一个终止位("1")。数据传输时对起始位定时半位的时间,数据位第一位以后的定时周期设置为一个位的时间,保证每一位数据都在中间采样,与传统RS232串口传输方式不同,有利于降低传输的误码率。

  

  

  数据传输时,先判断Rx是否为OAh,即判断是不是传输起始位,若Rx=OAh,表明数据开始传输;接着判断XF0管脚的状态是否为"O",若XF0=1,则数据传输错误,重新接收下一个数据;若XF=0,则表示数据开始正常传输;然后将Rx-1,同步刷新Rx中的内容,即Rx=Rx-1;同时,在TIMER0的周期寄存器和计数寄存器中存入定时整个位的时间常数,开定时器0的中断,定时时间一到,程序进入TIMER0的中断服务子程序,再判断Rx是不是终止位,若Rx为终止位,则开始继续接收新的数据,打开INT2,将TIMER0周期寄存器和计数寄存器中存放半位的时间参数;若Rx不是终止位,则继续接收数据位,直到Rx接收到终止位。

  数据发送程序与数据接收程序原理相同,此处略。

  串口引脚作为通用I/O口实现

  1.硬件设计

  TMS320VC33微处理器的串口引脚也可作为通用I/O口,通过对I/0口的操作即可实现串行数据的接收和发送,将微处理器的数据接收引脚DR作为RS232的数据接收端,数据发送引脚DX作为RS232的数据发送端,电路结构如图3所示,图中MAX3232E的R2out与TMS320VC33微处理器的lNT1和DR相连。

  

  

  2.软件设计

  软件设计与I/O口软件原理相似,TMS320VC33微处理器串口寄存器将串口功能引脚DR、DX设置为通用I/O口功能,不实施串口功能,即DR、DX引脚的功能与图1中XF0和XF1的功能相同,接收数据的流程与图2原理相同。

  需要说明两点:①将图1和图3硬件电路相组合,即可实现一片TMS320VC33微处理器与两台微机的同时通信;②TMS320VC33微处理器共有10个引脚可配置为通用I/O口,因此,利用TMS320VC33微处理器的内部和外部中断源、2个定时器、1个串口定时器和软件定时等方式,可巧妙地实现1片TMS320VC33微处理器与多台微机同时通信。

  串口功能实现

  该方法直接利用TMS320VC33微处理器的串口功能实现通信。TMS320VC33微处理器的串行通信有固定数据速率和可变数据速率两种类型,每种类型又分连续、标准和爆发三种方式。

  1.硬件设计

  本文与RS232接口的通信方式采用固定速率的爆发方式,在该方式下,每个字的传送都由帧同步(FSX/FSR)信号开始,后面开始为数据位,其时序如图4所示。TMS320VC33微处理器在爆发方式接收数据时,从帧同步信号后开始接收数据,并不再考虑FSR信号,在一帧信号传输的最后一位时,FSR必须为低电平,否则将会被作为下一帧的帧同步信号位。

  

  

  TMS320VC33微处理器与标准串口间的通信硬件结构如图5所示,同样采用三线连接的电路。因PC起始位为低电平,TMS320VC33微处理器帧同步位为高电平,为使两者统一,MAX3232E的R10ut信号经一反相器后,再连接到DSP的DR和FSR引脚,同时加反相器后,数据相位和停止位都相应变反,但是很容易用软件方法还原数据信号。

  

  

  2.软件设计

  软件设计比前两种方法更为简单,只需将串口的相应寄存器位设置好,然后开启相应中断即可完成与PC的通信,此方

  法在接收时采用帧同步信号,误码率较低,是一种比较实用的方法。

  ①在DSP接收时,接收信号同时连接到接收引脚DR和接收帧同步引脚FSR,故PC发送1帧信号的起始位是被用作接收帧同步信号,然后才开始接收数据,而且FSR引脚在接收帧的最后一位时必须为低电平,以满足TMS320VC33微处理器爆发方式串行通信的要求。PC采用上述发送帧格式,停止位反相后,正好满足FSR的要求。

  ②在DSP发送时,TMS320VC33微处理器的字长只能是8、16、24或32位,且不需要起始位、结束位;RS232的字长只能是8位,且需要起始位和结束位。由图5知,TMS320VC33微处理器的FSX采用内部同步,DX引脚上为数据位,为符合PC接收的帧格式,需将数据位设置为16位,将最高位作为起始位、8位数据位、1位停止位、6位空闲位,即符合PC帧格式为10位的通信要求,同时空闲位不影响数据通信,同时也正是由于有空闲位,所以采用固定速率的爆发方式。

  结论

  本文的TMS320VC33微处理器与PC实现串口通信的方法可以为其它型号的高速DSP与PC之间实现通信提供参考。

  另外,将MAX3232E芯片换成MAX485可实现DSP与RS-485接口的通信,即提高了数据传输速率,增加了传输距离,同时,增强了数据传输中抗干扰能力,对复杂环境的数据传输通讯有重要的应用意义。

 

关键字:串口通信  DSP  PC  微处理器  外部中断  时间常数  串行口  RS-232接口  引脚  通信方式 引用地址:高速DSP与PC实现串口通信的方法

上一篇:基于SRAM编程技术的PLD核心可重构电路结构设计
下一篇:嵌入式系统应用安全问题解决之道

推荐阅读最新更新时间:2024-05-02 20:40

ARM7单片机轻松入门与实践
ARM7是32 位通用微处理器ARM(Advanced RISC Machines)家族中的一员,具有比较低的电源消耗和良好的性价比,基于(精简指令)RISC结构,指令集和相关的译码机制与微程序控制的复杂指令系统的计算机相比要相对简单,这使得它拥有比较高的指令处理能力和实时中断响应能力。 本课程是ARM7单片机学习者从入门到深入的一套经典视频教程,以初学者为对象,从零开始手把手教你学习单片机,循序渐进地基于理论讲解并结合实验项目实战开发,讲解当前最热门的ARM7单片机的C程序设计! 本教程的亮点就是在分析初学者认知规律的基础上,结合国内重点大学一线教师的教学经验以及借鉴国外经典教材的写作手法,对ARM7单片机的应用基础知
[单片机]
ARM7单片机轻松入门与实践
Ramon Chips获CEVA-X DSP授权许可用于太空应用的高性能计算
Ramon的RC64多核处理器集成了64个CEVA-X1643 DSP,实现面向卫星通信、观测和科学研究应用的大规模并行处理 全球领先的蜂窝通信、多媒体和连接性DSP IP平台授权厂商CEVA公司(NASDAQ:CEVA)宣布专注开发独特太空应用抗辐射加固ASIC解决方案的无晶圆厂半导体提供商Ramon Chips公司已经获得CEVA-X1643的授权许可,用于其瞄准高性能太空计算的RC64 64核并行处理器。Ramon将在RC64处理器中集成64个CEVA-X1643 DSP,为用于通信、地球观测、科学和其它许多应用的新一代卫星实现计算能力的巨大飞跃。 RC64是65nm CMOS并行处理器,提供384
[嵌入式]
基于DSP的新型多功能电能质量监测仪表的设计
近年来,我国电力事业无论是发电总量还是电网的建设都得到了迅猛发展,电力系统的规模不断扩大。但随着生产力的发展,电能质量的问题日益受到重视,生产和生活中对于电能质量的要求也越来越高。由于高压直流输电系统的应用和大量变频器、整流器、电弧炉等非线性负荷、冲击性负荷不断地引入电力系统,大量谐波电流注入电网,造成电力系统中谐波含量急剧上升和电压波形严重“畸变”,致使电能质量下降。电网中的谐波污染日益严重,对继电保护、计算机、测量和计量仪器及通讯系统都有不利和不可预知的影响;降低了电网可靠性,增加了电网损失;降低了电气设备的效率和利用率,在生产和生活中都造成巨大的经济损失。 鉴于以上的各问题,提高电能质量的新技术及改善电能质量的分析方法
[测试测量]
基于<font color='red'>DSP</font>的新型多功能电能质量监测仪表的设计
stm32f103rct6引脚图及使用手册
stm32f103rct6引脚图详细: stm32f103rct6芯片简介:   STM32F103RCT6   类别:集成电路(IC)   家庭:嵌入式-微控制器   系列:STM32   芯体尺寸:32-位   速度:72MHz   连通性:CAN,I2C,IrDA,LIN,SPI,UART/USART,USB   外围设备:DMA,电机控制PWM,PDR,POR,PVD,PWM,温度传感器,WDT   输入/输出数:51   程序存储器容量:256KB (256K x 8)   RAM容量:48K x 8   电压-电源(Vcc/Vdd):2 V ~ 3.6 V   振荡器型:内部   工作温度:-40°C ~ 85
[单片机]
stm32f103rct6<font color='red'>引脚</font>图及使用手册
数字滤波器的MATLAB设计与DSP上的实现
引言 随着信息时代和数字世界的到来,数字信号处理已成为今一门极其重要的学科和技术领域。数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在数字信号处理应用中,数字滤波器十分重要并已获得广泛应用。 1 数字滤波器的设计 1.1 数字滤波器设计的基本步骤 数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。IIR滤波器的特征是,具有无限持续时间冲激响应。种滤波器一般需要用递归模型来实现,因而有时也称之为递归滤波器。FIR滤波器的冲激响应只能延续一定时间,在工程实际中可以采用递归的方式实现,也可以采用非递归的
[单片机]
数字滤波器的MATLAB设计与<font color='red'>DSP</font>上的实现
基于DSP的彩色TFT-LCD数字图像显示技术研究(图)
  随着计算机技术的飞速发展,嵌入式图像系统广泛应用于办公设备、制造和流程设计、医疗、监控、卫生设备、交通运输、通信、金融银行系统和各种信息家电中。所谓嵌入式图像系统,是指以图像应用为中心,以计算机技术为基础,软件、硬件可裁减,对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。嵌入式图像系统对图像显示技术提出了各种严格要求,必须选择合适的显示器,设计出合理的显示控制方法。    系统硬件设计   本系统要构建一个嵌入式、高速、低功耗、低成本的图像显示硬件平台,要求能真彩显示静态或动态彩色图像。为达到真彩和无拖影的显示动态图像,同时兼顾低功耗的要求,采用SHARP(夏普)公司的LQ057Q3DC02彩色TFT-LCD作
[安防电子]
基于<font color='red'>DSP</font>的彩色TFT-LCD数字图像显示技术研究(图)
基于DSP的人体皮肤测量仪的设计
1 引言 皮肤是人体最重要的器官之一。它有许多功能,首先,皮肤把外界和内部器官分离开,起着人体第一道屏障的作用。皮肤通过厚厚的角质层阻挡住外部细菌、灰尘等的侵入,保证人体内有一个安全的环境。其次,皮肤还是一个重要的分泌、排泄组织。皮肤内有很多的汗腺,通过汗腺进行汗液分泌和皮脂排泄。皮肤还有体温调节作用,可以说皮肤与人体的健康有着密不可分的联系。医学界发现通过对皮肤的一些生理指标的检测可了解人体的健康状况。通过对皮肤生理参数的检测从而准确地掌握人体机能的变化是当今医学界面临的一个重大难题。 本文介绍了一种基于DSP的人体皮肤测量仪的设计方案。 2 总体设计方案 整个测量系统是由温度采集、湿度采集、酸碱度采集、I2C总线、DS
[嵌入式]
单片机 IO引脚直接驱动直流电机
单片机的引脚输出电流是非常小的,一般在10~20mA左右,而直流电机的驱动电流在100mA以上。 高电平输出状态下,电压虽然没有太大变化,但电流很小,这就使得单片机引脚是无法直接驱动直流电机的。 而如果只驱动一个电机实现简单的启停功能,这时候没有必要用电机驱动模块,仅通过小小的三极管就能实现。 利用三极管做一个开关驱动。 电路原理图↓ I/O进行控制:高电平转动,低电平停止。 IO口高电平时:三极管集电级和发射级导通,电机能量来源于VCC输入,足以满足电机工作。 该电路缺点是只能控制单方向转动。 SS14肖特基二极管主要是防止电路断开瞬间电机电感发生突变,从而烧坏三极管,利用肖特基二极管工作速度快,电流大等特点,在
[单片机]
单片机 IO<font color='red'>引脚</font>直接驱动直流电机
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved