3715|0

1148

帖子

0

TA的资源

纯净的硅(高级)

楼主
 

"新捷达"型汽车组合仪表的串行通讯的实现 [复制链接]

1 引 言

在开发汽车仪表检测设备的过程中,非常重要的工作就是实现工控机与汽车仪表的串行通讯。通过串行通讯可以实现对仪表软、硬件版本的检测、仪表里程清零及仪表调校等一系列仪表出厂前重要的检测项目及参数设定。对应于“新捷达”型汽车组合仪表(西门子VDO公司产品),为实现技术安全性,故其串行口采用非标准串行通讯协议,是用一般的串口通讯控件所难以实现的,必须由熟悉仪表软件结构的人员从底层编写通讯程序。

本文采用C++Builder开发平台,在Windows 98操作系统下,成功实现了与“新捷达”型汽车组合仪表的通讯,并具有美观简洁的用户操作界面。

2 NewJetta型仪表串行通讯要求简述

2.1 硬件连接

文中工控机与仪表的硬件连接是从仪表的K-line经过电平转换器连接工控机的RS-232串行口,采用半双工串行异步通讯方式。如图1所示。


2.2 软件规范

软件规范关于串口数据通讯协议中包括了通信握手、多重校验、出错重发、超时处理等。

2.2.1 通讯初始化

当仪表点火信号端起动约2 s后可以建立通讯响应。首先以5 b通讯速率发送信息,该信息包含1个起始位,7个数据位,1个奇偶校验位和1个停止位(向仪表发送**H)。

仪表收到该信息后大约要等待一个约5 ms的循环时间,然后通讯模块起动。从此时起所有的通讯字节将以10 400 b/s的波特率来收发(此波特率为非标准波特率)。

经过100 ms仪表送出同步字节(1个起始位,8个数据位,1个停止位,为**H),再经过10 ms仪表送出密码的低字节,10 ms后仪表送出密码的高字节(1个起始位,7个数据位,1个奇偶校验位,1个停止位,密码值为****H)。

此后,仪表等待工控机送回倒序的密码高字节。这种回送方式是本串行通讯的防错处理机制。如果此字节仪表没有接收到,那么仪表将再次发送同步字节和密码字节。

当仪表接收到回送字节后,标准模块通讯以10 400 b/s的波特率起动(每字节包含1个起始位,8个数据位,1个停止位)。此时,仪表开始发送仪表ID在这4个模块的发送过程中,仪表与工控机之间又有很多的信息应答要求,如有差错则通讯中止。

2.2.2 正常通讯过程

经过通讯初始化后,正常通讯以10 400 b/s的波特率开始建立,此时工控机可以发送命令字节流给仪表,来实现对仪表的控制及参数设置。每隔特定的时间间隔,仪表与工控机间仍须互送握手信号,否则通讯中止。

3 软件程序设计

本通讯方式属于零Modem串行异步通讯。在异步通讯中,字符格式和波特率是2个重要指标。本文中通讯过程既有波特率的变化,也有帧格式的变化,对通讯的响应时间也有严格要求。

在C++Builder可视化编程格式下不再支持直接对寄存器操作的函数,故首先用嵌入汇编的办法实现Inporb和Outporb函数。本通讯的数据流是以字节为发送单位的,故编写字节收发函数,为查询方式,如











4 结 语

本文采用C++Builder软件平台成功开发了仪表特殊串行口通讯程序,该系统在西门子VDO(芜湖)公司生产线投入使用一年多,与采用快速通讯方式相比通讯传输性能稳定,并具有了方便美观的用户界面,为实现仪表检测设备奠定了基础,具有重要的应用价值。

 
此帖出自汽车电子论坛
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表