基于TL16C554的水情中心站多路数据接收

2007-03-09 19:03:27来源: 互联网
摘要:在水情自动测报系统中,常常要求中心站和各路终端共享遥测数据,为此使用了TI公司的4通道异步收发器集成芯片TL16C554对AT89S8252进行串口扩展,实现中心站和各终端的多路数据的接收与发送。 关键词:中心站 多路数据 TL16C554 异步串行通信 1 引 言 水情自动测报系统一般由中心站、中继站和遥测站组成。水情自动测报系统的中心站用来接收遥测站(或经中继站转发)的数据并进行解调、存储和处理,通过数据库和应用软件实现防汛调度需求。其中中心站一般由接收天线、馈线、避雷器、无线接收机(电台)、解码器、工业控制计算机(或PC)组成。 为了满足水情、城市防洪计算机监控等遥测遥控系统中心站的数据交换的需要,常常要求几个终端共享遥测数据,即要求把中心站获取的数据资料通过无线或有线信道,传送到各个共享数据的终端,而各个终端也可以与中心站进行数据交换。最为常用的是采用异步串行通信方式,实现中心站与各终端的多路数据的接收与发送。 2 系统设计 2.1 TL16C554 在异步串行通信中,一般都要求设备的串行口要符合RS-232、RS-485等串行通信标准,并按该标准定义的信号进行信息控制和数据传输,能够实现该功能的集成电路通常称为UART,即通用异步接收器/发送器。利用At89s8252构成主从式多机串行通信系统时发现,主机At89s8252一方面要和从机通讯,另一方面还要和终端机通讯,此时便有必要进行串口扩展,同时多台从机有可能同时与主机传送数据,此时采用4通道异步收发器TL16C554显然是一种较好的选择。 TL16C554是TI公司生产的4通道异步收发器集成芯片,它的每个通道能从外围设备或MODEM接收数据,实现串-并转换;同时它也可从CPU端接受数据,实现并-串转换。在FIFO模式下,传输和接收前将数据缓冲为16字节数据包,减少了CPU的中断数量。内部包含4片改良的16C550异步传输器件,使得串行I/O更加可靠,每个信道可实现串行和并行两种连接方式的转换,每个信道的状态可以通过CPU的操作读取,可以获取操作情况或任何的错误状态。三态输出为双向数据总线和控制总线提供TTL驱动能力、优先级中断系统控制、可编程的串行接口特性。 TL16C554的主要特点如下:(1)由4个带有逻辑控制的TL16C550异步通信单元组成;(2)最高可达1 Mbps的波特率,具有可编程的波特率发生器,便于灵活选择数据收发频率;(3)具有16字节的收发FIFO 缓冲器;(4)具有可独立控制的发送、接收、线路状态和MODEM 状态中断;(5)具有全双工的接收发送线路,可独立进行接收发送控制;(6)全面的线路状态报告功能;(7)充分分级的中断系统控制;(8)三态TTL电平输出。 TL16C554有68引脚PLCC和80引脚TQFP两种封装形式,各个引脚的功能为:A0~A2为片内寄存器的选择信号端;D0~D7为双向8位数据线;IOR为读选通端(低电平有效);IOW为写选通端(低电平有效);INTA~INTD为中断A、B、C、D(高电平有效);CSA~CSD为片选A、B、C、D(低电平有效);XTAL1、XTAL2为外部时钟端,该两脚可接晶振或外部时钟信号;RXA~RXD为串行输入A、B、C、D端;TXA~TXD为串行输出A、B、C、D端;RXRDY为接收准备好信号端(低电平有效);TXRDY为发送准备好信号端(低电平有效)。 2.2 系统框图 利用TL16C554实现中心站与各终端之间多路数据接收的系统框图如图1所示,数据采集器将采集到的水文数据存储在单片机里,这里的主控MCU使用的是ATMEL公司的AT89S8252。主控MCU要完成的工作是将收集到的水文信息存储到本地计算机,同时通过TL16C554的4个异步串行口向各个电台发送,另外也可以通Internet向远程计算机发送。四个电台也能通过四个Modem向本地PC发送信息。 2.3 硬件电路图 下面介绍一下中心站多路数据接收的硬件电路图。图3中,TL16C554的数据线D0~D7直接与AT89S8252的P0口相连;TL16C554的片内寄存器选择线A2~A0经过地址锁存器74HC373接AT89S8252的低位地址P0.2~P0.0,此时AT89S8252对TL16C554片内寄存器的读写操作同对外部RAM读写一样。TL16C554 的片选CSA~CSD 分别接P1.0~P1.3,这样可以通过对P1.0~P1.3的清零来选通通道A~D。TL16C554 的中断线INTA~INTD 分与AT89S8252的P1.4~P1.7相连,并经过一个四输入或非门接AT89S8252的INT0。这样当多个串口同时使用时,任一个指定通信事件的出现都将使UART产生一次通信中断,并触发外部INT0中断。在中断服务子程序中,通过对P1.4~P1.7的检测来确定中断到底来自于哪个口,并完成相应的数据处理。TL16C554的IOR、IOW和RESET直接与AT89S8252的RD、WR和RESET相连,串行输出口A通过调制解调器MC145442与电台J1相连,由于B、C、D口与电台连接方式雷同,故省略未画出。 3 软件设计 系统软件设计的重要部分就是TL16C554 的初始化。系统上电后,应分别初始化要使用的每一个通道,并对其内部13个寄存器的读写、波特率、数据帧格式以及FIFO 控制等进行设置。下面是TL16C554 的初始化程序: ini16554 : mov dptr , # 0fffbh ;指向线性控制寄存器 mov a , # 80h movx @dptr ,a anl dpl , # 0f8h mov a , # 0ch movx @dptr ,a ;送波特率常数9600 inc dpl clr a movx dptr ,a ;送波特率常数高位00 inc dpl inc dpl mov dptr , # 0fffbh mov a , # 03h ;设置数据帧格式,数据位8 位,1个停止位 movx @dptr ,a inc dpl ;modem 控制器bit3 控制中断 正确产生 mov a , # 02bh movx @dptr ,a anl dpl , # 0f8h orl dpl , # 02h mov a , # 083h movx @dptr ,a ;接收FIFO 有效, 8个字节一次中断 anl dpl , # 0f8h orl dpl , # 01h ; IER 中断允许控制器 mov a , # 001h movx @dptr ,a ;接收缓冲区有数中断 ret 4 结束语 实验表明,上述软硬件设计可以实现四路串行信号的可靠及时异步收发服务。而且利用TL16C554及AT89S8252构成的串口扩展系统,硬件接口简单,使用经济,并且数据传输距离可远可近。这种主从式多机串行通信系统已被应用到实际系统中,该电路稳定可靠,具有一定的应用价值。
编辑: 引用地址:http://www.eeworld.com.cn/designarticles/network/200703/10624.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved