国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

"新捷達(dá)"型汽車(chē)組合儀表的串行通訊的實(shí)現(xiàn)

發(fā)布時(shí)間:2010-7-1 14:39    發(fā)布者:vinda
關(guān)鍵詞: 串行通訊 , 新捷達(dá) , 組合儀表
1 引 言

在開(kāi)發(fā)汽車(chē)儀表檢測(cè)設(shè)備的過(guò)程中,非常重要的工作就是實(shí)現(xiàn)工控機(jī)與汽車(chē)儀表的串行通訊。通過(guò)串行通訊可以實(shí)現(xiàn)對(duì)儀表軟、硬件版本的檢測(cè)、儀表里程清零及儀表調(diào)校等一系列儀表出廠(chǎng)前重要的檢測(cè)項(xiàng)目及參數(shù)設(shè)定。對(duì)應(yīng)于"新捷達(dá)"型汽車(chē)組合儀表(西門(mén)子VDO公司產(chǎn)品),為實(shí)現(xiàn)技術(shù)安全性,故其串行口采用非標(biāo)準(zhǔn)串行通訊協(xié)議,是用一般的串口通訊控件所難以實(shí)現(xiàn)的,必須由熟悉儀表軟件結(jié)構(gòu)的人員從底層編寫(xiě)通訊程序。

本文采用C++Builder開(kāi)發(fā)平臺(tái),在Windows 98操作系統(tǒng)下,成功實(shí)現(xiàn)了與"新捷達(dá)"型汽車(chē)組合儀表的通訊,并具有美觀(guān)簡(jiǎn)潔的用戶(hù)操作界面。

2 New Jetta型儀表串行通訊要求簡(jiǎn)述

2.1 硬件連接

文中工控機(jī)與儀表的硬件連接是從儀表的K-line經(jīng)過(guò)電平轉(zhuǎn)換器連接工控機(jī)的RS-232串行口,采用半雙工串行異步通訊方式。如圖1所示。


2.2 軟件規(guī)范

軟件規(guī)范關(guān)于串口數(shù)據(jù)通訊協(xié)議中包括了通信握手、多重校驗(yàn)、出錯(cuò)重發(fā)、超時(shí)處理等。

2.2.1 通訊初始化

當(dāng)儀表點(diǎn)火信號(hào)端起動(dòng)約2s后可以建立通訊響應(yīng)。首先以5b通訊速率發(fā)送信息,該信息包含1個(gè)起始位,7個(gè)數(shù)據(jù)位,1個(gè)奇偶校驗(yàn)位和1個(gè)停止位(向儀表發(fā)送* * H)。

儀表收到該信息后大約要等待一個(gè)約5 ms的循環(huán)時(shí)間,然后通訊模塊起動(dòng)。從此時(shí)起所有的通訊字節(jié)將以10 400b/s的波特率來(lái)收發(fā)(此波特率為非標(biāo)準(zhǔn)波特率)。

經(jīng)過(guò)100ms儀表送出同步字節(jié)(1個(gè)起始位,8個(gè)數(shù)據(jù)位,1個(gè)停止位,為* * H),再經(jīng)過(guò)loms儀表送出密碼的低字節(jié),10ms后儀表送出密碼的高字節(jié)(1個(gè)起始位,7個(gè)數(shù)據(jù)位,1個(gè)奇偶校驗(yàn)位,1個(gè)停止位,密碼值為* * * *H)。

此后,儀表等待工控機(jī)送回倒序的密碼高字節(jié)。這種回送方式是本串行通訊的防錯(cuò)處理機(jī)制。如果此字節(jié)儀表沒(méi)有接收到,那么儀表將再次發(fā)送同步字節(jié)和密碼字節(jié)。

當(dāng)儀表接收到回送字節(jié)后,標(biāo)準(zhǔn)模塊通訊以10 400b/s的波特率起動(dòng)(每字節(jié)包含1個(gè)起始位,8個(gè)數(shù)據(jù)位,1個(gè)停止位)。此時(shí),儀表開(kāi)始發(fā)送儀表ID模塊,為4個(gè)模塊,分別包括16,16,15,9個(gè)字節(jié)。在這4個(gè)模塊的發(fā)送過(guò)程中,儀表與工控機(jī)之間又有很多的信息應(yīng)答要求,如有差錯(cuò)則通訊中止。

2.2.2 正常通訊過(guò)程

經(jīng)過(guò)通訊初始化后,正常通訊以10 400b/s的波特率開(kāi)始建立,此時(shí)工控機(jī)可以發(fā)送命令字節(jié)流給儀表,來(lái)實(shí)現(xiàn)對(duì)儀表的控制及參數(shù)設(shè)置。每隔特定的時(shí)間間隔,儀表與工控機(jī)間仍須互送握手信號(hào),否則通訊中止。

3 軟件程序設(shè)計(jì)

本通訊方式屬于零Modem串行異步通訊。在異步通訊中,字符格式和波特率是2個(gè)重要指標(biāo)。本文中通訊過(guò)程既有波特率的變化,也有幀格式的變化,對(duì)通訊的響應(yīng)時(shí)間也有嚴(yán)格要求。

在C++Builder可視化編程格式下不再支持直接對(duì)寄存器操作的函數(shù),故首先用嵌入?yún)R編的辦法實(shí)現(xiàn)Inporb和Outporb函數(shù)。本通訊的數(shù)據(jù)流是以字節(jié)為發(fā)送單位的,故編寫(xiě)字節(jié)收發(fā)函數(shù),為查詢(xún)方式,如清單1所示:

清單1:

byte TForml∷bytReceiveByte(void)
{

byte bytTemp; //Dim bytTemp As Byte

int intTemp; //Dim intTemp As Integer

byte bytResult;

bytTemp=InportB(intLSR);//intLSR=0x3fd

intTemp=0;

blnBeyond WaitTime=False;
while((bytTemp&0x1)!=0x1)

{

bytTemp=InportB(intLSR);

intTemp=intTemp+1;

S1eep(1);
//檢查接收的數(shù)據(jù)是否準(zhǔn)備好,為1表示接收移位寄存器已收到一個(gè)完整的數(shù)據(jù),并送到接收緩沖器中

if(intTemp>intWaitTime)

{Error();}
}
if(!blnBeyondWaitTime)

bytResult=InportB(intDRR);//intDRR=0x3f8

return bytResult;
}
VOld TForml∷subSendByte(byte bytSend)
{
byte bytTemp;

bytTemp=InportB(intLSR);

//檢查發(fā)送緩沖器是否為空,1為空

while((bytTemp&0x20)!=0x20)

bytTemp=InportB(intLSR);

OutportB(0x3F8,bytSend); //發(fā)送緩沖器為空

bytTemp=InportB(intLSR);
//檢查發(fā)送移位寄存器是否為空,即發(fā)送緩沖器的數(shù)據(jù)是否送完

while((bytTemp&0x40)!=0x40)

bytTemp=InportB(intLSR);

bytTemp=InportB(intLSR);

//檢查接收的數(shù)據(jù)是否準(zhǔn)備好,為1表示接收移位寄存器已收到一個(gè)完整的數(shù)據(jù),并送到接收緩沖器中

while((bytTemp & 0x1)!=0x1)

bytTemp=InportB(intLSR);

bytTemp=InportB(intDRR);

//清空接收緩沖區(qū)中的發(fā)送數(shù)據(jù)
}

在此基礎(chǔ)上建立本通訊初始化的主函數(shù),如清單2所示:
清單2:
void TForml∷InitRS232(void)
{

String strTemp;//Dim strTemp As String

byte bytTemp; //Dim bytTemp As Byte

int intTemp; //Dim intTemp As Integer

int i; //Dim I As Integer

//Stepl:

OutportB (intLCR,0x80);

//輸出控制字,下面輸出波特串

OutportB(intLSB,0x0); //低位
OutportB(intMSB,0x5A); //高位
OutportB(intLCR,0xA);
//5 bit,l起始位,1奇偶位和1停止位

OutportB(intIER,0); //抑制中斷

strTemp="";

subSendByte (0x * *) //發(fā)送建立通訊密碼

//Step2:

OutportB(intLCR,0x80);
//輸出控制字,下面輸出波特率

OutportB(intLSB,0xB);

OutportB(intMSB,0x0);

OutportB(intLCR,0x3);//10400,8,N

strTemp=strTemp+""+IntToHex(bytReceiveByte(),2);

//Step3:

Receive the Low byte Of Key Word

strTemp=strTemp+""+IntToHex(bytReceiveByte(),2);

//Step4:

Receive the High byte Of Key Word

bytTemp=bytReceiveByte();

strTemp=strTemp+""+IntToHex(bytTemp,2);

//Step5:
下面PC送高位字節(jié)的取反

if(! blnBeyondWaitTime)

subSendByte(byte(~bytTemp)); //byte
else

{Error();}

//Step 6 Receive the block data
if (! blnReceiveIDBlock(16)) //接收第1個(gè)ID塊,為16B

{Error();}
if (! blnReceiveIDBlock(16)) //接收第2個(gè)ID塊,為16B

{Error();}
if (! blnReceiveIDBlock(15)) //接收第3個(gè)ID塊,為15B

{Error();}
if (! blnReceiveIDBlock(9)) //接收第4個(gè)ID塊,為9B

{Error();}

//Cluster)> >;PC

subReceiveTheFifthBlock();

String ResOfFT=strTestDataStream(strEnableFT);

//儀表Epprom可讀寫(xiě)命令

if(ResOfFT==EmptyStr)

{Error();}

blnInitRS232=True;

4 結(jié) 語(yǔ)

本文采用C++Builder軟件平臺(tái)成功開(kāi)發(fā)了儀表特殊串行口通訊程序,該系統(tǒng)在西門(mén)子VDO(蕪湖)公司生產(chǎn)線(xiàn)投入使用一年多,與采用快速通訊方式相比通訊傳輸性能穩(wěn)定,并具有了方便美觀(guān)的用戶(hù)界面,為實(shí)現(xiàn)儀表檢測(cè)設(shè)備奠定了基礎(chǔ),具有重要的應(yīng)用價(jià)值。
本文地址:http://www.qingdxww.cn/thread-14269-1-1.html     【打印本頁(yè)】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠(chǎng)商推薦

  • Microchip視頻專(zhuān)區(qū)
  • 深度體驗(yàn)Microchip自動(dòng)輔助駕駛應(yīng)用方案——2025巡展開(kāi)啟報(bào)名!
  • 你仿真過(guò)嗎?使用免費(fèi)的MPLAB Mindi模擬仿真器降低設(shè)計(jì)風(fēng)險(xiǎn)
  • 利用模擬開(kāi)發(fā)工具生態(tài)系統(tǒng)進(jìn)行安全電路設(shè)計(jì)
  • Cortex-M4外設(shè) —— TC&TCC結(jié)合事件系統(tǒng)&DMA優(yōu)化任務(wù)培訓(xùn)教程
  • 貿(mào)澤電子(Mouser)專(zhuān)區(qū)
關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美亚洲一区二区三区在线 | 欧美精品v国产精品v日韩精品 | 综合欧美日韩一区二区三区 | 成人黄色激情视频 | 国产成人成人一区二区 | 亚洲一区中文字幕 | 欧美国产一区二区 | 两个人在线观看免费下载 | 两个人在线观看视频www | 日本大片免aaa费观看视频 | 国产一级做a爰片久久毛片男男 | 一级日本高清视频免费观看 | 精品欧美视频 | 精品精品国产高清a毛片 | 成熟女人特级毛片www免费 | 不卡一区在线观看 | 狠狠的干狠狠的操 | 麻豆精品在线观看 | 久久久久久免费视频 | 男人的天堂va | 国产精品久久久久9999小说 | 欧美成人免费高清视频 | 日日噜噜夜夜狠狠va视频 | 亚洲视频在线观看免费视频 | 日韩欧美中文在线 | 日日日射射射 | 91免费在线视频观看 | 国产欧美日本 | 亚洲精品视频在线 | 国产卡一卡二卡3卡4卡无卡视频 | 妈妈的朋友手机在线观看 | 久久国内 | 黄在线观看www免费看 | 国产男人天堂 | 免费欧洲毛片a级视频老妇女 | 日本综合色 | 四虎影院免费看 | 国产91精选在线观看麻豆 | 欧美性另类高清极品 | 正在播放日韩 | 草草伊人 |