摘要院针对现有潜水器模拟装置数据采集和处理方法单一尧故障率高尧通讯系统复杂的不足遥介绍了杂栽酝猿圆单片机与
西门子杂苑原员圆园园系列孕蕴悦实现远距离自定义通信协议的串行通信的硬件连接和软件实现方法曰重点阐述了自定义通信协
议的实现遥该方案已实际应用于潜水器模拟控制平台项目中曰实现了系统交互式通信遥
关键词院孕蕴悦袁单片机袁通信协议袁串行通信
粤遭泽贼则葬糟贼押栽澡蚤泽责葬责藻则蚤灶贼则燥凿怎糟藻泽贼澡藻澡葬则凿憎葬则藻糟燥灶灶藻糟贼蚤燥灶葬灶凿泽燥枣贼憎葬则藻则藻葬造蚤扎葬贼蚤燥灶皂藻贼澡燥凿燥枣泽藻则蚤葬造糟燥皂皂怎灶蚤糟葬贼蚤燥灶遭藻贼憎藻藻灶
杂栽酝猿圆酝悦哉葬灶凿杂陨耘酝耘晕杂杂苑原员圆园园泽藻则蚤藻泽孕蕴悦援云燥糟怎泽藻泽燥灶贼澡藻蚤皂责造藻皂藻灶贼葬贼蚤燥灶燥枣贼澡藻糟怎泽贼燥皂糟燥皂皂怎灶蚤糟葬贼蚤燥灶责则燥贼燥糟燥造援栽澡蚤泽
泽糟澡藻皂藻澡葬泽遭藻藻灶葬责责造蚤藻凿贼燥贼澡藻泽怎遭皂葬则蚤灶藻泽蚤皂怎造葬贼蚤燥灶糟燥灶贼则燥造责造葬贼枣燥则皂责则燥躁藻糟贼援陨贼则藻葬造蚤扎藻泽贼澡藻泽赠泽贼藻皂蚤灶贼藻则葬糟贼蚤增藻糟燥皂皂怎灶蚤糟葬贼蚤燥灶援
运藻赠憎燥则凿泽押孕蕴悦熏酝悦哉熏糟燥皂皂怎灶蚤糟葬贼蚤燥灶责则燥贼燥糟燥造熏泽藻则蚤葬造糟燥皂皂怎灶蚤糟葬贼蚤燥灶
传统的潜水器模拟装置控制系统存在以下两个不足院一是数据采集和处理方式单一袁故障率高曰二是通讯系统逻辑层次凌乱袁没有统一标准遥能够解决上述问题意义重大遥因此本文采用单片机和孕蕴悦的相互配合袁扩展控制功能袁实现对系统的综合控制遥下面以西门子孕蕴悦杂苑原员圆园园系列与杂栽酝猿圆单片机的通信为例袁阐述自定义通信协议的实现方法遥员硬件设计员援员杂栽酝猿圆单片机杂栽公司的杂栽酝猿圆单片机的优异性体现在以下几个方面院价格低廉尧外设较多尧开发成本极低以及杰出的功耗控制等遥杂栽酝猿圆的串口资源相当丰富袁功能也相当强大遥本文所使用的杂栽酝猿圆云员园猿在耘栽远型号开发板最多可提供缘路串口袁有分数波特率发生器尧支持同步单线通信和半双工单线通讯等遥采用串口圆来实现串行通信所需的两条引脚是孕粤圆和孕粤猿袁通过杂栽酝猿圆的孕郧怨控制酝粤载源愿缘耘的收发以及三极管的基极遥当孕郧怨越园时袁为接收模式曰当孕郧怨越员时袁为发送模式遥员援圆杂苑原员圆园园系列孕蕴悦西门子公司杂苑原员圆园园系列孕蕴悦通过增添通信模块悦酝员圆源员渊砸杂源圆圆辕源愿缘冤实现串行通信袁本文采用砸杂原源愿缘接口标准袁接收差模信号袁可以组成半双工串行通信网络遥杂苑原员圆园园采用自由端口模式协议袁协议通过在软件中配置消息接收的格式和编程实现遥通过单片机与孕蕴悦的配合实现自定义协议通信袁在传送大量数据时是很方便的遥员援猿酝粤载源愿缘耘芯片酝粤载源愿缘耘采用半双工通讯方式袁它实现栽栽蕴电平转换为砸杂原源愿缘电平的功能遥酝粤载源愿缘耘芯片的结构和引脚都非常简单袁内部含有一个驱动器和接收器遥砸韵和阅陨端分别为接收器的输出和驱动器的输入端袁与杂栽酝猿圆的串口圆的孕粤圆和孕粤猿相连即可曰接收和发送的使能端分别为辕砸耘和阅耘端袁当辕砸耘为逻辑园时袁酝粤载源愿缘耘处于接收状态曰当阅耘为逻辑员时袁酝粤载源愿缘耘处于发送状态遥因为酝粤载源愿缘工作在半双工状态袁所以只需用杂栽酝猿圆的孕郧怨控制这两个引脚即可遥同时需在粤和月端之间加匹配电阻袁一般可选员圆园赘的电阻遥员援源杂怨园员猿三极管杂怨园员猿是一种晕孕晕型小功率三极管遥杂怨园员猿晕孕晕三极管主要用途院音频放大尧推挽输出以及开关等遥本文中采用单片机来控制孕蕴悦袁但是单片机的管脚最大输出电压只有猿援猿灾袁不足
以控制孕蕴悦的陨韵口遥采用图员的接法渊共发射极冤能够放大电
压起到开关的作用从而控制孕蕴悦的陨韵口遥
图员信号转换电路
圆通信系统设计
为了提高通讯的实时性及可靠性袁除了改变传输的波特率
以外袁还应尽量减小每个通信周期传送的数据量遥制定用户通信
协议的核心是合理安排数据结构袁使频率变化高的数据在每个
通信周期内都能及时传输袁而频率变化低的数据只有在变化稳
定后方可进行传输
咱员原猿暂
遥
圆援员通信协议设计
单片机使用串口圆进行异步发送和接收袁协议用悦语言编
程实现遥一次发送的一组数据作帧袁每帧数据最多可由猿园个字
符组成袁考虑到传输数据量较大袁本文一次传送员远个字符袁且采
用多次传送方式遥单片机发送的命令的具体格式如下院
员冤起始符占一个字符袁设置为远粤渊可任意配置冤曰
圆冤标识符占一个字符袁用于区分多组数据曰
猿冤数据占员圆个字符袁存储需要发送的数据曰
源冤校验符占一个字符袁校验发送的数据是否正确曰
缘冤结束符占一个字符袁设置为员悦渊可任意配置冤遥
孕蕴悦采用自由口通信模式袁可以实现用户自定义通信协议遥
本文中孕蕴悦接收消息开始字符设置成远粤袁接收数据的长度为
员远个字符袁消息结束字符为员悦袁配置如图圆尧图猿所示遥这样配
置刚好与单片机所发送的数据相对应遥
杂栽酝在耘栽远与杂苑原员圆园园自定义通信协议实现串行通信
张堃员牟少芳员刘晓杰圆丁新平员张民
员
渊员青岛理工大学自动化工程学院袁山东青岛圆远远缘圆园曰
圆中石油华北油田华港燃气集团有限公司袁河北任丘园远圆缘缘圆冤
杂栽酝在耘栽远葬灶凿杂苑原员圆园园悦怎泽贼燥皂悦燥皂皂怎灶蚤糟葬贼蚤燥灶孕则燥贼燥糟燥造贼燥粤糟澡蚤藻增藻杂藻则蚤葬造悦燥皂皂怎灶蚤糟葬贼蚤燥灶
杂栽酝在耘栽远与杂苑原员圆园园自定义通信协议实现串行通信
104
叶工业控制计算机曳圆园员苑年第猿园卷第员圆期
图圆数据起始设置
图猿数据结束设置
圆援圆通信程序的实现
员冤单片机的程序设
计遥单片机采用串行通信
的工作方式袁波特率为
怨远园园遭责泽遥由于单片机相
对灵活方便袁故采用单片
机作为主机来控制孕蕴悦
的接收和发送遥本文中综
合考虑了可靠性和经济
性袁一方面将单片机作为
孕蕴悦的陨韵扩展模块用
来处理发送员圆路模拟量
数据袁占用了两组传送数
据通道袁第三组数据通道
作为备用使用曰另一方面
单片机采用定时中断接
收孕蕴悦发出的指令且能
单独处理部分功能遥发送和接收程序流程图见图源遥
圆冤孕蕴悦的程序设计遥孕蕴悦作为从机袁首先配置好通信协议袁
然后采用梯形图处理接收到的数据遥孕蕴悦主要用来接收单片机
的数据袁当需要单片机执行某功能时才会向单片机发送数据遥其
程序流程图如图缘所示遥
程序设计应符合的原则
咱源暂
院
员冤在初始化阶段应该通过协议起始字符查询所有通信数据
并建立分类控制表曰
圆冤优先级控制遥通过判断单片机孕郧怨口电平的高低确定优
先级袁孕郧怨为低电平时优先级最高袁单片机作为主站发送数据袁
此时孕蕴悦只处于接收状态并将数据传送到上位机显示曰
猿冤命令发送不要太频繁遥数据的传送以不影响系统稳定性为
核心曰过于频繁的发送数据查询指令袁会导致单片机悦孕哉忙于响
应查询袁网络负荷也会随着通讯周期内处理数据量的增加而加重遥
为保证数据的实效性袁每延时猿皂泽发送一组数据且保证中断查询
时间不少于猿园园皂泽刷新一次袁已经可以达到足够的控制要求遥
猿结束语
通过对现有潜水器模拟装置的研究袁设计了杂苑原员圆园园系列
孕蕴悦和杂栽酝猿圆系列单片机自定义通信方案曰该方案原理简单尧
通用性强尧协议完全由用户确定遥该方案已实际应用于潜水器模
拟控制平台项目中袁运行稳定尧可靠遥
参考文献
咱员暂李辉袁郑宁援孕蕴悦与单片机之间的串行通信及应用咱允暂援电气应用袁
圆园园猿渊愿冤院远苑原远愿
咱圆暂杨志刚袁钱俊磊援西门子杂苑原圆园园系列孕蕴悦与单片机之间的自由口
通信咱允暂援河北理工学院学报袁圆园园缘袁圆苑渊源冤院苑苑原愿园
咱猿暂张春援深入浅出西门子杂苑原员圆园园孕蕴悦咱酝暂援北京院北京航空航天大学
出版社袁圆园园怨
咱源暂阳宪惠援工业数据通信与控制网络咱酝暂援北京院清华大学出版袁圆园园猿院
源缘原苑猿咱收稿日期院圆园员苑援远援圆怨暂
图源单片机发送和接收程序流程图
图缘孕蕴悦发送和接收程序流程图
105