张照伟 马柱 陈振国
摘 要:设计一种内存交互通信方式。利用RS485通信抗干扰强、成本低廉的优点,解决了一对多点通信时通信速率递减的问题。由于牙科治疗机的模块化结构特点,适合总线方式连接各功能板。给出了一种高稳定性、低成本的总线解决方案。
关键词:内存交互式;环形结构;成本低;自适应分析
随着人们生活水平的不断提高,口腔健康越来越受到人们的关注。多功能牙科治疗机也顺应时代要求向着数字化、智能化、多样化的方向发展。牙科综合治疗机是一款综合了气、水、电3种必需元素的牙科治疗仪器。从电控结构上可分为:地箱控制、侧箱控制、脚踏控制、器械盘控制、照明灯控制、显示屏、左按键板、右按键板等模块。多功能的实现离不开多模块的配合。基于模块化的结构特点,所以大部分牙科治疗机都选用总线方式。
1 适用于牙科治疗机的总线分析
总线技术发展历史悠久,技术成熟,已经在工业领域大量应用,比如汽车、计算机、PLC、自动化工厂等[1]。综合牙科治疗机本身的结构和应用特点,可选用常用几种总线,如表1所示。
对比3种通信方式:CAN总线通信速度快,抗干扰强,但是成本较高;IIC总线通信速度稍快,成本低廉,但是抗干扰性差,在实际应用中,极易受到周围电磁波干扰,引起误动作;RS485通信抗干扰性强,成本低廉,但随着丛机增加,在一对多点通信时通信速度逐步降低(S/N),造成操作反应不灵活,延迟大[1]。
综上所述,本文提出一种内存交互的通信方式,以解决RS485总线随着从机增加通信速度递减的问题。从理论上分析,其通信速度不会因为从机的增加而递减,解决了通信速度问题,再结合RS485通信抗扰性强和价格低廉的特性,特别适用于牙科治疗机及类似设备。
2 内存交互的通信方式
2.1 交互式通信的拓扑结构图
通信拓扑结构设计为环形结构,每个节点采用双串口设计,一进一出。从图1拓扑结构可见,主机和模块1、模块1和模块2等两个模块之间都独占通信通道,有助于快速交互内存数据。其通信速度可以保持主机和模块1的速度,而不会因为增加模块而变慢。
另外,选用环形结构可以增加通信的稳定性。因为在设备使用过程中,难免会出现模块损坏和通信线损坏的情况。在非闭环结构情况下,如果某个模块损坏或者该模块通信线不正常,那么它后面的模块都将通信失败。环形结构可以结合程序做自适应分析,如果某个模块通信失败,就没有返回成功的标志给下一个模块和主机。那么,后面的模块和主机则翻转通信顺序。主机通信口2由以前的从机接收数据变成主机发送数据,逆向通信至通信失败的模块。这样,主机可以因有两个通信端口、两条通信路径而保证通信畅通。并且可通过显示屏通知用户哪个通信节点出现故障,在设备空闲时候进行设备检修。
2.2 交互式通信的协议层
通信协议主要使用内存交互的概念,主机到从机1、从机1到从机N之间快速交互内存数据。由于数据的快速交互,主机就可以把从机的数据看作内部数据。从机I/O点也可以被看作在主机内部。根据治疗机的设备特性,可以规划为10个节点,每个节点8个字节,需要读取和輸出两组数据,再加上通信控制状态的16个字节,共需要176个字节。节点的个数和节点的字节数需要根据实际情况设定。具体的模块内数字量输入、输出和模拟量的个数可以根据设计需要进行分配。数据协议如图2,分为输出数据和输入数据两个部分。
2.3 交互式通信的速率估算
通信速率可以按照主机和模块1的速率估算。通信串口设定为波特率为192 00 bit/s,1个起始位,1个停止位,8个数据位[2]。那么,每秒最多传输的字节数为19 200/10=1 920个。每次通信的字节数是88个,每秒的通信次数为1 920/88=21.81。每次通信的时间是1 000/21.81=45 ms。考虑到通信之间的必要延迟时间30 ms,1次完整通信时间是45+30=75 ms。那么,每秒可以完整通信13.33次,因而可以实现0.075 s的刷新率。如果波特率设定为57 600 bit/s,则可以实现0.045 s的刷新率,内存刷新率不到0.1 s,因此完全可以满足一般设备控制需要。
2.4 交互式通信的硬件层
硬件层实现方式可以是RS485、RS232和TTL串口,可以根据不同的设备特点,要求的通信距离和抗干扰强度不同选用。
2.4.1 带保护的RS485电路设计
如图3所示,V7整流桥和V6/V8稳压管组成高压吸收网络,吸收通信中的高压干扰,保护通信电路。
2.4.2 带保护的RS232电路设计
如图4所示,利用V2/V3和V4/V5双路共阴极稳压管进行ESD保护。L3/L4/L6/L6磁珠用来抑制信号线上的高频噪声和尖峰干扰。R55/R56/R57/R58电阻用来限流,保护通信口免受大电流冲击。
2.4.3 带保护的T T L串口电路设计
如图5所示,利用D8/D9双路二极管将电压限制在安全范围。TX发送端使用U9双路与门将电压提升到5 V,并隔离CPU。D5二极管也对RX输入进行隔离,以阻止高压输入,也可将电压降到3.3 V,起到很好的隔离保护作用。
3 软件设计
由于物理层实现都是采用通用成熟的通信方式,并且增加了保护电路,确保了通信硬件的稳定性。所以,软件协议层的开发也必须要保证逻辑的严谨性,才能保障通信的顺畅。有必要的容错处理才能使通信拥有较强的抗干扰性。软件分为主机和从模块两种。主机的主要功能是2个串口通信,分别为主端口、从端口,数据流从主端口发送,经各个从模块再回到从端口。根据从模块的状态,主机判定从模块是否通信故障,详情参见图6。从模块主要通信功能也是2个串口通信,但是和主机有所不同,它从上一个模块得到的数据,加上从模块自身的数据,然后送给下一个模块。经反复推敲的软件流程如图7所示。
4 结束语
内存交互通信方式综合利用了RS485通信抗干扰强、成本低廉的优点,解决了一对多点通信时通信速率递减的问题。结合了多功能牙科治疗机控制单元分散的特点,使得设计的控制系统稳定性高、成本低;也使产品在市场化竞争中拥有性能和价格的双重优势。该方案实现了众多设备长期稳定的运行,使理论设计得到了实践的验证。
参考文献:
[1] 樊昌信.通信原理[M].北京:国防工业出版社,2006.
[2] 刘军.例说STM32[M].北京:北京航空航天大学出版社,2011.