在遥测、遥控领域中,常常使用工业PC机与单片机组成的多机系统完成测控任务。PC机因其丰富的软硬件资源和友好的人机界面而被用作上位机,而单片机则因其优越的性价比和灵活的功能配置而被用作下位机。上位机和下位机之间通过串行数据总线(如CAN总线、RS485总线等)连接,具体结构如图1所示。在进行数据传输时,一般先由上位机发出地址帧对指定的下位机寻址,在得到确认以后向选中的下位机发送命令和参数,或者接收该下位机采集的数据。但在多机系统中,进行数据通信遇到的一个首要问题是如何区分总线的地址信息和其它的数据信息,这也是各类通信协议和通信规约中的一项重要内容。由于目前所使用的通信协议和通信规约比较复杂,因此在一个简单的主从式多机系统中,往往由开发人员自行定义一些简单的通信协议来解决上述问题。本文介绍一种基于编/解码器的通信方案,较好地解决了多机系统中作为上位机的工控机对各下位机的寻址问题。
编/解码芯片
专用编/解码芯片UM3758-108A属大规模CMOS器件,其引脚排列如图2所示:A0~A9为三态编码地址输入;D0~D7为二态锁存式编码数据输入或输出;OSC引脚外接振荡电阻和电容,其值决定发送频率;VSS为电源地;T/R为编码发送与编码收选择引脚,接高电平时为编码发送,接低电平时为接收编码;IN为编码脉冲输入引脚(接收解码时);TX/RX外接驱动电路,为编码发送输出端,该引脚也可作为争码接收正确标志显示(RX输出低电平);VDD为电源正端(3~12V)。
单片UM3758-108A芯片是一个完整的接口电路,集编码发送和解码输出于一身。当T/R端接高电平时,地址码A0~A9和数据码 D0~D7构成一个18位的数据帧,从TX/RX端循环不断地串行发送出去;当T/R端接低电平时,编码脉冲由IN端输入,如果接收的地址码连续两次与本地地址码一致,接收数据将按位传送到输出锁存器中,由D0~D7引脚输出。同时TX/RX引脚输出低电平,表示接收正确。
在多机通信中的具体应用
图4为PC机与80C51单片机使用编/解码器实现通信的示意图。UM3758-108A的A0~A9是地址输入端,每位可有三种状态:高电平、低电平、开路。利用其不同的组合可产生3 10种不同的编码。二态时也有2 10种不同的编码。智能扩展卡需不断寻址各个下位机,所以利用锁存器将数据输出给编/解码器的地址端,以此可灵活地寻址各个下位机。为了简化起见,图4中省去了一个锁存器,将A8、A9直接悬空。
片内具有数据锁存能力,无需加锁存器,但需加双向缓冲器以收发数据。下位机端的编码地址用微型开关SW设置,也可用锁存器输出编码地址;但这样做需在下位机工作前,将编码地址由面板输入,和其它需要设定的参数一起保存在存储器(如 EEPROM)中,然后再由锁存器输出。后者增加了下位机地址编码的灵活性,但也加重了编程负担。图4中,智能I/O扩展卡用74LS273作为扩展接口,以锁存要寻址的下位机地址,用74LS245收发数据。P1.0为发送数据选择端:P1.0为低电平时,接口处于接收状态;为高电平时,处于发送状态。因此,初始化时,上、下位机的两个接口均应置成接收状态。每个接口的TX/RX端除了作为发送端外,还作为该接口接收正确与否的状态指示端。如果接收正确,该接口输出低电平;否则,为高电平。此端口可作为向CPU发出中断请求的信号。为此,发送数据时,应先关闭接收中断,发送完毕,再打开接收中断。
该通信为半双工方式,且只能由上位机发起,下位机不主动申请通信。当处于轮询状态时,上位机根据下位机的编码地址,向下位机发送呼叫帧。每台下位机都由编/解码器接收并判断,但只有地址相符的下位机才发生中断接收数据,并建立和上位机的联系,以此接收上位机的命令和参数,或将采集的数据上传。由于这种通信方式无差错控制,因此应根据传输速率, 定时,保证每个发送周期相同的编码信号连续发送3次,以提高通信的可靠性。
使用编/解码器实现PC机与单片机的通信,波特率设置为2400baud,通信距离可达5km以上;不仅可用于数据采集系统、LED屏幕显示系统等有线通信方式,也可采用红外(IR)、超声波(US)等用于无线通信方式,以此可突破地理因素的局限。这种通信方式不仅传输距离远、抗干扰性通强、可靠性高、成本低,而且连接简单、使用方便;通信过程仅仅是读写I/O口的简单操作,编程简单,易于实现。
结语
本文提出了一种适用于PC机与多单片机之间的串行通信实现方法。该方法采用UM3758-108A编/解码芯片实现双工传输,采用DS1609 芯片实现智能卡和上位机的批量数据交换,实现了数据传输与数据处理功能的分离,使它们各司其职,保证了系统的实时性,也有效解决了上位机对下位机的寻址问题。另外,该方式有很宽的适用范围,具有一定的应用价值。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。