本站小编为你精心准备了多通道串口通信视觉态势感知系统参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
【摘要】串口通信作为传统的通信方式仍然受到广泛应用,本文介绍了基于PIC16F877A单片机、TL16C754异步通信芯片和MAX485芯片实现异步通信串口扩展的整体方案。方案实现了十四个串口同时进行长时间稳定可靠的双向数据通信。通过开展相应的试验,证明了该处理方案的有效性,并在某工程项目中得到应用。
【关键词】PIC16F877A;TL16C754;MAX485;串口扩展
1引言
针对舰船、车辆、飞机等特种操作平台封闭的特点,内部人员无法获取周围环境的全景信息,大大限制了观测和侦查的范围。全景视觉态势感知系统采用的感知探测器分布在不同的焦平面上,采用各自成像独立的感知探测器把采集到的视频拼接成一幅360°同屏、无缝的全景视频,时刻提供周围全景的、高清的、实时的视频,同时捕获、跟踪并测量目标,使指挥官能够感知其周围全面的态势,提高其快速反应能力和技战水平。其中全景视觉态势感知系统需要对多个感知探测器进行协同控制并实时获取其状态信息,才能对图像中的目标进行精确提取、实时跟踪并准确测量目标的位置信息,因此对通信实时性、稳定性和同步性要求较高,全景视觉态势感知系统在通信方面主要面临以下几个问题:(1)多串口的程序控制问题;(2)多串口并行工作的控制协同问题;(3)串口的数据保护、时间同步、异常处理、故障分析等问题;(4)串口程序与其他程序间的接口问题;(5)多传感器协同工作问题;(6)实时性、稳定性和兼容性问题。因此需要设计一种多通道的通信方式来解决全景视觉态势感知系统的以上问题。而串口通信设计仍然是目前被广泛使用的实现计算机与各设备间相互通信的方法之一,具有传输可靠、实时性高以及设计简便的特点,能够全面解决其通信设计问题
2总体设计
针对全景视觉态势感知系统需要同时与十四个设备进行通信的情况,本文设计并实现了一种简单可靠的异步串口扩展方法,即在单片机的并行总线上扩展UART芯片,用硬件实现异步数据传输。该方法的优点是软件实现简单,代价是在总线上需扩展其它设备。综合考虑硬件连接和软件编程的便捷性,采用四通道扩展芯片TL16C754实现四串口的扩展。硬件通过级联,可选配4~16个串口的的灵活配置方式,系统通用性极强。本设计实际只用了其中的14个串口通道,用最简单的硬件连接和软件编程就能实现多路异步的串行通信,能满足系统实际性能要求。14路级联的多通道串口通信系统架构如图1所示。通过本多通道串口通信系统,全景视觉态势感知系统能够与10路感知探测器、视频发送光端机、轴编码器和上位机进行通信,并向10路感知探测器发送同步信号,同时使用了14路串口进行数据传输,能够满足设计需求。
3硬件设计
3.1PIC16F877A单片机简介
PIC16F877A是Microchip公司生产的使用高性能RISCCPU核心的微处理器,其工作频率范围为DC-20MHz,内置POR(Power-onReset)和BOR(Brown-outReset)两种复位功能和上电延时定时器(Power-upTimer,PWRT),振荡器起振定时器(OscillatorStart-upTimer,OSC),除了一个看门狗定时器之外,另外还有3个定时器及2个CCP模块,输出具有较强的驱动能力,程序存储器最多可到8K的字(14位宽),数据存储器(RAM)最多到368的字节(8位)以及256字节的数据存储器,除了部分程序分支(Branch)的指令需要两个指令周期外,所有的指令执行时间都只需要一个指令周期,支持中断处理(14个中断源)。引脚分布图如图2所示。
3.2TL16C754通信芯片简介
TL16C754是TI公司推出的UART收发器,是目前最常用的串口扩展芯片之一。TL16C754的引脚与PIC16F877A兼容,内置4套可独立工作的UART系统,最高波特率可达3Mbit/s。芯片内部具有64B触发等级可控的收/发FIFO,因而能减少CPU的中断次数;具有软/硬件流控功能,并支持DMA方式。可选择不同的波特率,并可选择各种串行数据格式。该芯片还具有内部闭环测试功能。以下引脚功能对驱动开发是必要的:CS[A:D]为4套UART的片选信号,低电平有效;A[0:2]为3-bit地址线;D[0:7]为双向8-bit数据线;TX/RX[A:D]为所要发送和接受的数据端口;INT[A:D]为4套UART的中断信号,RESET为芯片复位信号,高电平有效。引脚分布图如图3所示。该器件内部共有20个寄存器,这些寄存器可分别用于实现通信参数的设置、对线路及MODEM状态的访问、数据的发送和接受以及中断管理等功能。在硬件连接正确的情况下,只要地址正确,就能像读取MCU内部寄存器那样读取芯片的内部寄存器。对于有的芯片需要通过软件使芯片正确复位后才能读取寄存器。要通过A0~A2这3根地址线的8种状态来区分20个寄存器,这20个寄存器中一定有一些地址是重叠的。这就需要通过读写信号及某些寄存器的特定位来唯一确定。
3.3MAX485收发器简介
MAX485是一个8个引脚的芯片,它是一个标准的RS485收发器,只能进行半双工的通信,内含一个输出驱动器和一个信号接收器。MAX485具有低功耗设计,静态电流仅为300uA。MAX485具有三态输出特性,在使用MAX485时,总线最多可以同时连接32个MAX485芯片。通信波特率可以达到2.5M。引脚分布图如图4所示。下面是MAX485的引脚定义:RO(引脚1):接收信号的输出引脚。可以把来自A和B引脚的总线信号,输出给单片机。是COMS电平,可以直接连接到单片机。RE(引脚2):接收信号的控制引脚。当这个引脚低电平时,RO引脚有效,MAX485通过RO把来自总线的信号输出到单片机;当这个引脚高电平时,RO引脚处于高阻状态。DE(引脚3):输出信号的控制引脚。当这个引脚低电平时,输出驱动器无效;当这个引脚高电平时,输出驱动器有效,来自DI引脚的输出信号通过A和B引脚被加载到总线上。是COMS电平,可以直接连接到单片机。DI(引脚4):输出驱动器的输入引脚。是COMS电平,可以直接连接到单片机。当DE是高电平时,这个引脚的信号通过A和B脚被加载给总线。GND(引脚5):电源地线。A(引脚6):连接到RS485总线的A端。B(引脚7):连接到RS485总线的B端。Vcc(引脚8):电源线引脚。电源4.25V≤Vcc≤5.75V。
3.4芯片接口设计
PIC16F877A、TL16C754、MAX485及外设的组成如图2所示。RE0-RE2连接A2-A0地址端,结合对TL16C754的读、写及LCR的BI1_7用于选择TL16C754内置的各个寄存器,根据需要对其进行配置。RA0-RA2连接CSA-CSD,CPU根据约定的协议或者中断信号源选择相应的通道,发送或者接收相应通道的数据,并对这些数据进行处理。RB4-RB7连接INTA-INTD,TL16C754产生FIFO接收数据有效中断、超时中断、接收器线路状态中断、发送器保持寄存器空中断等中断时,将中断信号发给CPU,CPU收到中断信号后,进入相应的中断处理程序。RC0-RC2分别连接IOW,IOR及RESET,由CPU控制所选TL16C754通道的写操作、读操作及内部寄存器复位操作。硬件连接图如图5所示。
4软件设计
软件设计包括主程序和中断服务子程序两部分,主程序完成TL16C754寄存器的初始化,打开中断,等待中断的响应;中断服务子程序主要实现数据收发工作。串行通信时所需要的参数通过初始化寄存器进行设置,这些参数包括通信数据的数据位数、停止位数、奇偶校验等。另外还需要设置发送和接收的波特率及中断方式,主要流程如图6所示。本设计的参数设置是,8位数据位,1位停止位,奇校验,波特率为115200,中断方式下,允许接收就绪中断和发送缓冲区空中断。程序设计可以同时完成与多路信号的通信与校验算法的快速解算验证,具有重要的实际意义。
5实验验证
为了验证上述软硬件设计的正确性,可以将本系统的十四个串口分别与上位机、光端机、编码器和10个感知探测器连接。根据事先编写好的通信协议,启动各设备发送并接收数据,本系统收到信号会触发相应的中断,将收到的数据在程序中进行校验,按照相应的业务逻辑处理之后发送至下一节点设备。实验表明该系统运行稳定、可靠、高效,可以满足全景视觉态势感知系统的多通道通信需求,证明了该设计方案的有效性。如图7所示。
6结束语
本多通道串口通信系统实现了全景视觉态势感知系统所需的多路串口的双向通信功能,能保证在高波特率的条件下实现串口扩展,对数据进行有效管理,大大降低了系统的数据处理负担,数据传输稳定可靠,其已经应用于某工程项目中,运行效果良好,并且可以在更多工程应用领域加以推广。
参考文献
[1]何信龙,李雪银,编著.PIC16F87X快速上手[M].北京:清华大学出版社,2002.
[2]魏学海.PIC单片机自学笔记[M].北京:北京航空航天大学出版社,2011.
作者:陈兆飞 周军华 张长江 郭炳 单位:中国电子科技集团公司第二十七研究所