多机通信系统设计
基于单片机的多机通信系统设计
近些年来,单片机在电器、金融、交通、机械、通讯领域均有广泛应用,特别是在多级协调通讯领域的应用日趋深入。所谓的多机通讯,指的是由两台或两台以上的单片机构成的网络结构,借助于串行通讯模式,实现对某一过程的有效控制。对于多机通讯系统而言,实现的关键在于多机之间通讯信息的交互传送。下文以单片机技术为基础,对多机通讯系统进行了设计,以提升该系统的应用性能。
一、多机通信系统网络协议的设计
对于多机通讯系统而言,为了保障通讯过程的畅通无阻,还需要构建起相应的网络协议。由于系统采用的多通讯机共用1个服务器,因此,需要TCP/IP网络协议予以支持。而多机通讯还需构建一个新网络协议,支持系统服务端、客户端间的通讯。就信息传输通讯而言,服务端会先进行两次查询,明确信息的发送指令,若 查询结果同网络协议的既定值存在差异,则会进行第2次查询,若同上结果相同,则通讯过程将被阻断,服务端将不会与客户端展开数据传送,并绕过该端进行下个通讯命令的查询,直至通讯查询指令与网络协议的既定信息相同,方可进行通讯传输。若客户端接收不到讯息,表明信息传送失败,将原路返回。
二、多机通信系统硬件设计
就基于单片机的多机通讯系统结构而言,主要包括三大部分,即PC机、串行通讯接口、主从单片机。该系统测试平台所需信息、波形量大,因而采集量要求较高,而每个单片机仅有59个I/O接口,若少量单片机则无法满足信息采集需求,并导致整个系统的运行速度减缓,为此,在这一平台开发过程中,还需采用3个单片机,与PC机之间实现串行通讯。
对于PC机、主单片机而言,其相互间的通讯是利用UART转以太网接口实现的,由于以太网具有较强大抗干扰能力,而且可以远程通讯、搭接简便,因而采用该接口进行通讯。而主单片机与2个从单片机间的通讯,借助于UART串口实现。
如图1所示,在该系统中,只需将上位机信息依据类型划分,定义为不同种类的数据包,并依据所确定好的时间间隔,传送至上位机,待其接收至数据包之后,即可依据定义内容将数据包加以拆解,分别展示在各自的位置。PC机利用系统提供的USB接口与UART转向以太网,与信息采集卡、单片机间实现通讯过程,并在系统软件的驱动下,实现讯号的采集、电压及频率的输出,继而将指令发送出,引发正弦讯号的产生,继而引发电阻模拟。对于主单片机而言,其负责控制开关及同PC机之间的通讯过程。其中从单片机1负责电压讯号的传送、显示,从单片机2负责讯号生成、波形的测量。
具体通讯包括上、下行两大过程,上行过程是从单片机1和从单片机2对主单片机的检测,看齐接收端UART1是否遭致占用,若未占用,从单片机将信息传送至主单片机,而主单片机将定时将信息加以封装处理,并传送至工控机,由工控机将状态展示出来;下行过程是PC机借助于以太网UART将控制指令传送至主单片机UART0,由主单片机对指令加以解读,若需要转发,则利用UART1以广播通讯方式传送至从单片机上,由从单片机负责执行。
三、多机通信系统软件设计
系统软件设计主要包括两部分,即上、下位机的通讯设计。下位机通讯设计中,主要利用C8051F060单片机的“状态机”控制结构,实现各指令的鉴别、解读、控制、信息管理等,单片机间的通讯利用主从模式,此时,从单片机需要接收主单片机的指令。
对于这一程序而言,关键在于中断的实现,主单片机同PC机间的中断具有较高的优先级,其次是主单片机与从单片机间的中断。
上位机通讯软件结构,主要包括界面、程序控制、信息采集、信息分析等部分,程序利用编程方法,结合信息链表的存放、遍历信息对象。系统每隔固定时间会向下位机传送相应的资讯指令,若信息存在更新,则会对所采集信息加以更新,显示在界面上,结合波形的差异设置对应采集周期,获取波形信息。待下位机收到指令后,会将成功接收信息以电压、频率等方式返送回来,并实现数据的交换。
总结
较其他通讯系统而言,本文所开发的多机通讯系统优化了PC机、单片机间的通讯问题,并克服了大数据数据传送极易引发的通路堵塞等问题,避免出现信息发送过程中的冲突竞争以及单片机性能浪费等问题。实验显示,该系统具有较高的抗干扰性,而且性能较为可靠,能够满足较为复杂的通讯需求,具有一定的应用推广价值。