数字信号处理器(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口实现
&nb
TMS320VC33微处理器的串口帧格式没有起始位和停止位控制工程网版权所有,只有数据位,且数据位为高位在前、低位在后。利用TMS320VC33微处理器的通用I/O引脚实现串行通信时,须依据RS232的通信协议并结合DSP硬件资源编写相应的DSP程序。
1.硬件设计
TMS320VC33微处理器共有10个引脚可配置为通用I/O口CONTROL ENGINEERING China版权所有,其中XFO、XFl为专用的通用I/O口CONTROL ENGINEERING China版权所有,通过软件设计可实现XFO、XFl专用I/O口与RS232的串行通信,电路结构如图1所示。
本文选用MAX3232E作为RS232C电平与TTL电平的转换芯片,R1in、T1out为RS232C电平,R1out、T1in为TTL电平,TMS320VC33微处理器的INT2引脚为外部中断脚,R10ut同时连接到INT2和XF0,即可利用传输的第一位触发TMS320VC33微处理器的外部中断。
2.软件设计
假设系统已经完成初始化,数据接收流程如图2所示CONTROL ENGINEERING China版权所有,设传输速率为9600bit/s,一个起始位("0")、8位数据位、一个终止位("1")。数据传输时对起始位定时半位的时间,数据位第一位以后的定时周期设置为一个位的时间,保证每一位数据都在中间采样,与传统RS232串口传输方式不同,有利于降低传输的误码率。
数据传输时,先判断Rx是否为OAh,即判断是不是传输起始位,若Rx=OAh,表明数据开始传输;接着判断XF0管脚的状态是否为"O",若XF0=1CONTROL ENGINEERING China版权所有,则数据传输错误,重新接收下一个数据;若XF=0,则表示数据开始正常传输;然后将Rx-1CONTROL ENGINEERING China版权所有,同步刷新Rx中的内容,即Rx=Rx-1;同时,在TIMER0的周期寄存器和计数寄存器中存入定时整个位的时间常数,开定时器0的中断,定时时间一到,程序进入TIMER0的中断服务子程序,再判断Rx是不是终止位,若Rx为终止位,则开始继续接收新的数据,打开INT2,将TIMER0周期寄存器和计数寄存器中存放半位的时间参数;若Rx不是终止位,则继续接收数据位,直到Rx接收到终止位。
数据发送程序与数据接收程序原理相同,此处略。
串口引脚作为通用I/O口实现
1.硬件设计
TMS320VC33微