新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 一种基于C8051F310的UART扩展实现

一种基于C8051F310的UART扩展实现

—— A Method of UART Extension Based on C8051F310
作者:信东 赵文才 岳开封 崔洪亮 刘丽英 第二炮兵士官学校二系时间:2010-05-19来源:电子产品世界收藏

  引言

本文引用地址:http://www.eepw.com.cn/article/109142.htm

  数据发送协议作为一种简单的数据发送协议,被大量的使用在当前各种数字外设的数据传输上。但是现在的PC机存在无接口或接口较少的问题,当需要利用PC机对于多个数字设备同时处理问题时,就需要在PC机上进行扩展,这类问题在笔记本PC上尤为突出。通常这种问题的解决方法有以下几种方法:(1)利用USB接口通过相应的转换设备进行转换。(2)利用PCI总线转换卡获得多个UART接口的扩展。前者优点在于实现简单设备,成本低。后者优点在于可以实现多个接口扩展且功能完善。但在实际使用中发现两者都存在一个共同的问题,即利用扩展获得UART接口其工作性能不够稳定,且存在不能完全实现多个UART接口的实时通讯。

  为解决上述硬件方法在工程实现存在的不足,本文针对项目实际需要提出了一种利用实现多UART接口扩展方法。通过作为数据收发的中继器,实现对于多个UART采集的需要。

  UART数据发送

  8位UART数据传输主要利用RX,TX信号线实现数据的双向传输(如图1)。

  当数据接收时,数据线RX首先处于接收准备状态即RX呈高电平,根据UART数据发送协议,如果RX线有数据接收时,RX线被置为低电平,接收起始位,在起始位后是为数据位,当最后一帧数据接收完毕后,产生终止,终止位的作用为将RX线电平置高,是RX线处于等待状态。

  发送通过对于TX线上信号电平的操作实现对于数据的发送,发送初始状态下TX线处于高电平,当启动发送后将TX线电平置低产生起始位,在一个波特率时钟周期后将开始发送数据,数据发送完毕后重新将TX电平置高使发送机处于等待状态。

  单个UART实现方法

  本文利用作为软件UART实现的平台,主要方法是通过单片机的定时器产生波特率,根据波特率确定的位时间定时读取(或发送)位数据信号,从而模拟了硬件UART的工作过程。具体的实现方法如下所述。

  (1)硬件连接

  在UART的软件实现中主要是利用单片机模拟硬件UART的发送过程,因此我们利用单片机中定时器T0工作的双八位定时模式用于产生波特率,PC机A0工作在边沿捕捉状态以捕捉SW_RX端口的电平变化产生,判断数据接收的初始和终止。具体的硬件连接如图2。


上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭