- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
“新捷达”型汽车组合仪表的串行通讯的实现
中国自动化网
1 引 言
在开发汽车仪表检测设备的过程中,非常重要的工作就是实现工控机与汽车仪表的串行通讯。通过串行通讯可以实现对
仪表软、硬件版本的检测、仪表里程清零及仪表调校等一系列仪表出厂前重要的检测项目及参数设定。对应于新捷达
型汽车组合仪表(西门子VDO公司产品),为实现技术安全性,故其串行口采用非标准串行通讯协议,是用一般的串口通
讯控件所难以实现的,必须由熟悉仪表软件结构的人员从底层编写通讯程序。
本文采用C++Builder开发平台,在Windows 98操作系统下,成功实现了与新捷达型汽车组合仪表的通讯,并具有美观
简洁的用户操作界面。 2 New Jetta型仪表串行通讯要求简述
2.1 硬件连接
文中工控机与仪表的硬件连接是从仪表的K-line经过电平转换器连接工控机的RS-232串行口,采用半双工串行异步通讯
方式。如图1所示。
2.2 软件规范
软件规范关于串口数据通讯协议中包括了通信握手、多重校验、出错重发、超时处理等。
2.2.1 通讯初始化
当仪表点火信号端起动约2s后可以建立通讯响应。首先以5b通讯速率发送信息,该信息包含1个起始位,7个数据位,1
个奇偶校验位和1个停止位(向仪表发送* * H)。
仪表收到该信息后大约要等待一个约5 ms的循环时间,然后通讯模块起动。从此时起所有的通讯字节将以10 400b/s
的波特率来收发(此波特率为非标准波特率)。
经过100ms仪表送出同步字节(1个起始位,8个数据位,1个停止位,为* * H),再经过loms仪表送出密码的低字节,10ms
后仪表送出密码的高字节(1个起始位,7个数据位,1个奇偶校验位,1个停止位,密码值为* * * *H)。
此后,仪表等待工控机送回倒序的密码高字节。这种回送方式是本串行通讯的防错处理机制。如果此字节仪表没有接收
到,那么仪表将再次发送同步字节和密码字节。
当仪表接收到回送字节后,标准模块通讯以10 400b/s的波特率起动(每字节包含1个起始位,8个数据位,1个停止位)。
此时,仪表开始发送仪表ID模块,为4个模块,分别包括16,16,15,9个字节。在这4个模块的发送过程中,仪表与工
控机之间又有很多的信息应答要求,如有差错则通讯中止。
2.2.2 正常通讯过程
经过通讯初始化后,正常通讯以10 400b/s的波特率开始建立,此时工控机可以发送命令字节流给仪表,来实现对仪表
的控制及参数设置。每隔特定的时间间隔,仪表与工控机间仍须互送握手信号,否则通讯中止。
3 软件程序设计
本通讯方式属于零Modem串行异步通讯。在异步通讯中,字符格式和波特率是2个重要指标。本文中通讯过程既有波特
率的变化,也有帧格式的变化,对通讯的响应时间也有严格要求。
在C++Builder可视化编程格式下不再支持直接对寄存器操作的函数,故首先用嵌入汇编的办法实现Inporb和Outporb函
数。本通讯的数据流是以字节为发送单位的,故编写字节收发函数,为查询方式,如清单1所示:
清单1:
byte TForml∷bytReceiveByte(void)
{
byte bytTemp; //Dim bytTempAs Byte
int intTemp; //Dim intTempAs Integer
byte bytResult;
bytTemp=InportB(intLSR);//intLSR=0x3fd
intTemp=0;
blnBeyond WaitTime=False;
while((bytTemp0x1)!=0x1)
{
bytTemp=InportB(intLSR);
intTemp=intTemp+1;
S1eep(1);
//检查接收的数据是否准备好,为1表示接收移位寄存器已收到一个完整的数据,并送到接收缓冲器中
if(intTempintWaitTime)
{Error();}
}
if(!blnBeyondWaitTime)
bytResult=InportB(intDRR);//intDRR=0x3f8
return bytResult;
}
VOldTForml∷subSendByte(byte bytSend)
{
byte bytTemp;
bytTemp=InportB(intLSR);
//检查发送缓冲器是否为空,1为空
while((bytTemp0x20)!=0x20)
bytTemp=InportB(intLSR);
OutportB(0x3F8,bytSend); //发送缓冲器为空
bytTemp=InportB(intLS
您可能关注的文档
- 纺织材料基质无土栽培技术研究.pdf
- 废水吸附法除磷的研究进展.pdf
- 粉制动器在股的应用.pdf
- 氟化钠去除钙镁工艺的影响因素分析与控制.pdf
- 福建省人口老龄化的现状、特点及对策.doc
- 福禄克红外热像仪用于发热体温检测的技术应用.pdf
- 改为白色普通铝合金推拉窗,价格作出相应的调整,调整详见所附表一2.doc
- 甘桔冰梅片对声带小结及声带息肉的疗效观察.pdf
- 高大平房仓稻谷储藏品质变化规律的探讨.pdf
- 高档鞋用SBS填充油CH.¥250的研制及应用.pdf
- 002-物理科学技术学院-碳包覆MnO2纳米结构的控制合成.doc
- 20MnTiB高强钢焊接接头断裂韧性研究.doc
- 20世纪90年代以来,随着Internet等信息技术的发展与普及,我国信息化建设得到了迅速发展.doc
- AL422的性能特点及其在画面分割器和率转换器中的应用.pdf
- CAG方案治疗老年急性髓系白血病的疗效观察.pdf
- CEMSMART5微波水分测定仪在造纸行业关键控制点的应用.pdf
- EDA电路实验教学课件的开发与研制.pdf
- Fe掺杂SBA-15的合成、表征及催化苯制.pdf
- FoxProScreenWizard生成程序的改进与汉化工具.pdf
- Ga 和Na 对CIGS 太阳电池性能的影响.pdf
最近下载
- 横河涡街流量计第10版DY中文说明书.pdf VIP
- 混凝土挡土墙施工方案..doc VIP
- 六年级梦想之星英语初赛试卷含答案.doc VIP
- 智慧养老机构运营与管理:智慧养老机构健康服务管理PPT教学课件.pptx VIP
- 语文练习部分六年级第一学期(答案).pdf VIP
- 新22G02 钢筋混凝土结构构造 .docx VIP
- 《应急管理》ppt课件.pptx VIP
- 智慧养老机构运营与管理:智慧养老机构生活和快乐服务PPT教学课件.pptx VIP
- 商务部对外贸易司-汽车行业:2022中国二手车出口国别指南.docx VIP
- 智慧养老机构运营与管理:智慧养老机构出入院管理PPT教学课件.pptx VIP
文档评论(0)