




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
精品文檔-下載后可編輯"新捷達(dá)"型汽車組合儀表的串行通訊的實(shí)現(xiàn)-設(shè)計應(yīng)用
1引言
在開發(fā)汽車儀表檢測設(shè)備的過程中,非常重要的工作就是實(shí)現(xiàn)工控機(jī)與汽車儀表的串行通訊。通過串行通訊可以實(shí)現(xiàn)對儀表軟、硬件版本的檢測、儀表里程清零及儀表調(diào)校等一系列儀表出廠前重要的檢測項(xiàng)目及參數(shù)設(shè)定。對應(yīng)于"新捷達(dá)"型汽車組合儀表(西門子VDO公司產(chǎn)品),為實(shí)現(xiàn)技術(shù)安全性,故其串行口采用非標(biāo)準(zhǔn)串行通訊協(xié)議,是用一般的串口通訊
控件所難以實(shí)現(xiàn)的,必須由熟悉儀表軟件結(jié)構(gòu)的人員從底層編寫通訊程序。
本文采用C++Builder開發(fā)平臺,在Windows98操作系統(tǒng)下,成功實(shí)現(xiàn)了與"新捷達(dá)"型汽車組合儀表的通訊,并具有美觀簡潔的用戶操作界面。2NewJetta型儀表串行通訊要求簡述
2.1硬件連接
文中工控機(jī)與儀表的硬件連接是從儀表的K-line經(jīng)過電平轉(zhuǎn)換器連接工控機(jī)的RS-232串行口,采用半雙工串行異步通訊方式。如圖1所示。
2.2軟件規(guī)范
軟件規(guī)范關(guān)于串口數(shù)據(jù)通訊協(xié)議中包括了通信握手、多重校驗(yàn)、出錯重發(fā)、超時處理等。
2.2.1通訊初始化
當(dāng)儀表點(diǎn)火信號端起動約2s后可以建立通訊響應(yīng)。首先以5b通訊速率發(fā)送信息,該信息包含1個起始位,7個數(shù)據(jù)位,1個奇偶校驗(yàn)位和1個停止位(向儀表發(fā)送**H)。
儀表收到該信息后大約要等待一個約5ms的循環(huán)時間,然后通訊模塊起動。從此時起所有的通訊字節(jié)將以10400b/s的波特率來收發(fā)(此波特率為非標(biāo)準(zhǔn)波特率)。
經(jīng)過100ms儀表送出同步字節(jié)(1個起始位,8個數(shù)據(jù)位,1個停止位,為**H),再經(jīng)過loms儀表送出密碼的低字節(jié),10ms后儀表送出密碼的高字節(jié)(1個起始位,7個數(shù)據(jù)位,1個奇偶校驗(yàn)位,1個停止位,密碼值為****H)。
此后,儀表等待工控機(jī)送回倒序的密碼高字節(jié)。這種回送方式是本串行通訊的防錯處理機(jī)制。如果此字節(jié)儀表沒有接收到,那么儀表將再次發(fā)送同步字節(jié)和密碼字節(jié)。
當(dāng)儀表接收到回送字節(jié)后,標(biāo)準(zhǔn)模塊通訊以10400b/s的波特率起動(每字節(jié)包含1個起始位,8個數(shù)據(jù)位,1個停止位)。此時,儀表開始發(fā)送儀表ID模塊,為4個模塊,分別包括16,16,15,9個字節(jié)。在這4個模塊的發(fā)送過程中,儀表與工控機(jī)之間又有很多的信息應(yīng)答要求,如有差錯則通訊中止。
2.2.2正常通訊過程
經(jīng)過通訊初始化后,正常通訊以10400b/s的波特率開始建立,此時工控機(jī)可以發(fā)送命令字節(jié)流給儀表,來實(shí)現(xiàn)對儀表的控制及參數(shù)設(shè)置。每隔特定的時間間隔,儀表與工控機(jī)間仍須互送握手信號,否則通訊中止。
3軟件程序設(shè)計
本通訊方式屬于零Modem串行異步通訊。在異步通訊中,字符格式和波特率是2個重要指標(biāo)。本文中通訊過程既有波特率的變化,也有幀格式的變化,對通訊的響應(yīng)時間也有嚴(yán)格要求。
在C++Builder可視化編程格式下不再支持直接對寄存器操作的函數(shù),故首先用嵌入?yún)R編的辦法實(shí)現(xiàn)Inporb和Outporb函數(shù)。本通訊的數(shù)據(jù)流是以字節(jié)為發(fā)送單位的,故編寫字節(jié)收發(fā)函數(shù),為查詢方式,如清單1所示:
清單1:
byteTForml∷bytReceiveByte(void)
{
bytebytTemp;//DimbytTempAsByte
intintTemp;//DimintTempAsInteger
bytebytResult;
bytTemp=InportB(intLSR);//intLSR=0x3fd
intTemp=0;
blnBeyondWaitTime=False;
while((bytTemp&0x1)!=0x1)
{
bytTemp=InportB(intLSR);
intTemp=intTemp+1;
S1eep(1);
//檢查接收的數(shù)據(jù)是否準(zhǔn)備好,為1表示接收移位寄存器已收到一個完整的數(shù)據(jù),并送到接收緩沖器中
if(intTemp>intWaitTime)
{Error();}
}
if(!blnBeyondWaitTime)
bytResult=InportB(intDRR);//intDRR=0x3f8
returnbytResult;
}
VOldTForml∷subSendByte(bytebytSend)
{
bytebytTemp;
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表示接收移位寄存器已收到一個完整的數(shù)據(jù),并送到接收緩沖器中
while((bytTemp&0x1)!=0x1)
bytTemp=InportB(intLSR);
bytTemp=InportB(intDRR);
//清空接收緩沖區(qū)中的發(fā)送數(shù)據(jù)
}
在此基礎(chǔ)上建立本通訊初始化的主函數(shù),如清單2所示:
清單2:
voidTForml∷InitRS232(void)
{
StringstrTemp;//DimstrTempAsString
bytebytTemp;//DimbytTempAsByte
intintTemp;//DimintTempAsInteger
inti;//DimIAsInteger
//Stepl:
OutportB(intLCR,0x80);
//輸出控制字,下面輸出波特串
OutportB(intLSB,0x0);//低位
OutportB(intMSB,0x5A);//高位
OutportB(intLCR,0xA);
//5bit,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:
ReceivetheLowbyteOfKeyWord
strTemp=strTemp+""+IntToHex(bytReceiveByte(),2);
//Step4:
ReceivetheHighbyteOfKeyWord
bytTemp=bytReceiveByte();
strTemp=strTemp+""+IntToHex(bytTemp,2);
//Step5:
下面PC送高位字節(jié)的取反
if(!blnBeyondWaitTime)
subSendByte(byte(~bytTemp));//byte
else
{Error();}
//Step6Receivetheblockdata
if(!blnReceiveIDBlock(16))//接收第1個ID塊,為16B
{Error();}
if(!blnReceiveIDBlock(16))//接收第2個ID塊,為16B
{Error();}
if(!blnReceiveIDBlock(15))//接收第3個ID塊,為15B
{Error();}
if(!blnReceiveIDBlock(9))//接收第4個ID塊,為9B
{Error();}
//Cluster)>>PC
subReceiveTheFifthBlock();
StringResOfFT=strTestDataStream(strEnableFT);
//儀表Epprom可讀寫命令
if(ResOfFT==EmptyStr)
{Error();}
blnInitRS232=True;
4結(jié)語
本文采用C++Builder軟件平臺成功開發(fā)了儀表特殊串
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 IEC 62024-2:2024 RLV EN High frequency inductive components - Electrical characteristics and measuring methods - Part 2: Rated current of inductors for DC-to-DC converters
- 2025-2030年中國鑄造機(jī)械制造行業(yè)運(yùn)營狀況與發(fā)展前景分析報告
- 2025-2030年中國金屬波紋管市場發(fā)展趨勢規(guī)劃研究報告
- 2025-2030年中國聚氨酯慢回彈海綿女性內(nèi)衣市場運(yùn)營狀況及發(fā)展規(guī)劃分析報告
- 2025-2030年中國綜合肺功能測定儀市場發(fā)展?fàn)顩r及投資策略研究報告
- 2025-2030年中國純鋯珠行業(yè)運(yùn)行現(xiàn)狀及發(fā)展前景分析報告
- 2025-2030年中國礦渣粉行業(yè)運(yùn)營格局及發(fā)展趨勢分析報告
- 2025-2030年中國真空搬運(yùn)機(jī)械行業(yè)競爭格局及發(fā)展趨勢分析報告
- 2025-2030年中國盆景行業(yè)競爭狀況規(guī)劃研究報告
- 濮陽職業(yè)技術(shù)學(xué)院《藥物合成實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 文化產(chǎn)業(yè)管理專業(yè)大學(xué)生職業(yè)生涯規(guī)劃書
- DSM-V美國精神疾病診斷標(biāo)準(zhǔn)
- 文獻(xiàn)的載體課件
- 2023年高考語文全國乙卷《長出一地的好蕎麥》解析
- 混凝土強(qiáng)度回彈檢測方案
- 歷年中考地理生物變態(tài)難題
- 研學(xué)旅行課程標(biāo)準(zhǔn)(一)-前言、課程性質(zhì)與定位、課程基本理念、課程目標(biāo)
- 部編版二年級下冊語文教案全冊
- 解放牌汽車CA10B后鋼板彈簧吊耳加工工藝及夾具設(shè)計哈
- 大學(xué)??啤稒C(jī)電傳動控制》課件
- 高中地理高清區(qū)域地理填圖冊
評論
0/150
提交評論