基于单片机的多路数据通信设计
1.引言
MCS51单片机标准构成只有一组全双工UART串行口,P3.0-RXD收、P3.1-TXD发,如果要完成多路串口收发,一般使用外部扩展芯片,例如:GM8123/25,完成一扩多路串口,但是,由于增加扩展芯片,造成硬件成本增加,PCB板面增大,抗干扰性下降等不良因素,因此能尽量使用现有串口,利用分时切换技术,完成串行口不同类型,不同端口的数据传送是优先选择。
2.硬件功能简述
本设计用于数据采集监控系统如图1所示。采用485串行口完成数据采集,和232串口输出打印功能,这样使得接口连线简单,可靠性高。
RS-485工作特征:发送端:逻辑“1″两线间的电压差为+2至6V表示;逻辑”0″以两线间的电压差为-2至6V表示。接收端:A比B高200mV以上即认为是逻辑“1″,A比B低200mV以上即认为是逻辑”0″。RS485总线因其硬件设计和通信协议简单、控制方便、成本低廉、传输距离远以及可挂接多个从设备等优点,便于对分布式的各个现场测控设备实现集中控制,485现场总线技术得到了广泛的应用。本设计采用MAX485E芯片,它是一款用于RS485和RS422通信的低功耗总线收发器,具有±15kV静电放电冲击保护和限摆率驱动特性,减小了电磁干扰和终端电缆反射,允许高达250kbps速率的无差错数据传输。该芯片只需用5V的单电源电压供电即可正常工作,而且在一条总线上最多可以连接32个负载。利用该芯片可以极大地简化单片机和RS485总线的接口电路设计。
RS232接口是使用异步UART串行接口,其高低电平信号为-12V~+12V,因此抗干扰性优于TTL电平,传送距离可达10多米,单片机与打印机数据交换就使用此种通信设计,它具有用线少,接口简单可靠等优点。单片机TTL-RS232电平转换接口电路采用Maxim公司生产的MAX232电平转换芯片设计。MAX232芯片只需用5V的单电源供电,外加4个电容,就可实现单片机TTL电平和RS232电平之间的转换,并直接驱动RS232总线进行数据传输,使用十分方便,其最高传输速率可达20kbps.
RS232/RS485在串口传送中各有优缺点,在此做一简单比较:
(1)从接线上,RS232是三线制(收、发、地),RS485是两线制(A、B);(2)从传输距离上,RS232只能传输15米左右,RS485最远可以传输1200米;(3)从速率上,RS232是全双工传输,RS485是半双工传输;(4)从协议层上,RS232只支持点对点通讯(1:1),RS485支持总线形式通讯(1:N)。在本设计中RS232被用于距离不远的打印机点对点串口输出;而数据采集则需要在多个端点设备上,且距离较远的地方收集,于是采用了RS485总线技术来实现。单片机一组串口要完成两组不同电平传送,关键是需要分时切换串口模式,本设计采用模拟开关CD4053芯片,通过P1.5控制完成了485、232串口分离,利用完成软件分时输入、输出处理功能。该电路实现简单,硬件资源利用率高。
本设计打印机RS232通讯协议方式采用ASCII方式。默认数据格式为:1位起始位,8位数据位,1位停止位,无奇偶校验,波特率为2400bps.RS485采用半双工模式,由P1.3控制收/发功能,其串口分配电路如图2所示。
3.软件功能简介
本系统根据不同功能,由几十个子程序模块组成,现将相关串口分配实现数据收发的程序进行简要分析(汇编语言描述)
4.结论
本设计通过模拟开关CD4053将一路单片机串行口收发信号,分时转换成两路串行口,然后使用不同的接口芯片,实现了RS232和485总线同在一个系统下分时完成了通信工作。该设计优点:充分利用了串行口数据传输线少的优势,接口简单,并节省了不必要的硬件开销,增加了信息传送的可靠性。
- FPGA的DSP性能揭秘(06-16)
- 基于单片机通用引脚的软件UART设计(10-16)
- 分时操作系统思想在单片机中的具体应用 (10-30)
- 基于AT89C51+DSP的双CPU伺服运动控制器的研究(05-26)
- 关于RTX51 TINY的分析与探讨(05-30)
- 基于MC9S12DGl28单片机的智能寻迹车设计(04-03)