車輛模擬駕駛訓練系統(tǒng)動感系統(tǒng)設(shè)計
4.1 HMR3000與MCU的通信協(xié)議
HMR3000的串行通信是根據(jù)NMEA0183標準制定的簡單的ASCⅡ協(xié)議,可以在單片機系統(tǒng)中使用RS-232或RS-485接口電路。ASCⅡ碼的傳輸和接收使用1位起始位、8位數(shù)據(jù)位、無奇偶校驗位和I位停止位,每個碼有10位。數(shù)據(jù)傳輸率可選擇l200 bit/s、2 400 bit/s、4 800 bit/s、9 600 bit/s、19 200bit/s、38 400 bit/s。
4.2 MCU接收HMR3000的數(shù)據(jù)
啟動HMR3000后,設(shè)定好HMR3000的數(shù)據(jù)單位、進制及其數(shù)據(jù)采集速率,每次數(shù)據(jù)采集后HMR3000自動向MCU發(fā)送數(shù)據(jù)。由于它采用NMEA0183協(xié)議標準的HPR格式即“$PTNTHPR,x..x,a,x..x,a,x..x,a*hh”格式輸出,此格式中不僅含有效數(shù)據(jù)“x..x”和其狀態(tài)“a”,還包含有‘$’、‘P’、‘T’、‘*’、‘h’等相關(guān)格式字符,因此在程序中要加以區(qū)分。動感系統(tǒng)中將字符‘$’作為一組有效數(shù)據(jù)傳輸?shù)拈_始,將字符‘*’作為一組有效數(shù)據(jù)傳輸?shù)慕Y(jié)束,并通過計算接收逗號‘,’的個數(shù)判斷有效數(shù)據(jù)的開始。MCU接收HMR3000的數(shù)據(jù)流程如圖4所示。
4.3 nRF905與MCU的通信協(xié)議
nRF905與MCU之間的通信采用SPI通信協(xié)議,使用2條控制信號線CSN、SCK和2條數(shù)據(jù)信號線MOSI、MISO進行通信。CSN用來控制外圍設(shè)備的選通(低電平有效),SCK提供同步時鐘,MOSI、MISO分別為主從設(shè)備的輸入/輸出線。在SPI通信過程中,主從設(shè)備均在時鐘的下降沿從各自的輸出線輸出1位數(shù)據(jù),在時鐘的上升沿從各自的輸入線讀入l位數(shù)據(jù)。
4.4 nRF905發(fā)送和接收數(shù)據(jù)
nRF905發(fā)送或接收數(shù)據(jù)時必須嚴格遵守發(fā)送或接收時序,否則將導致發(fā)送或接收失敗。
4.4.1 發(fā)送數(shù)據(jù)
nRF905的發(fā)送時序如圖5所示,其中.TA-TB是nRF905的命令字寄存器、匹配地址寄存器和發(fā)送數(shù)據(jù)寄存器編程時間;TD-Tl是發(fā)送啟動脈沖,至少為10μs;T1-T2是nRF905的自動編碼,至少為650 μs;T2-T3是自動發(fā)送數(shù)據(jù);T3是發(fā)送結(jié)束時DR置高電平,表示發(fā)送結(jié)束。具體步驟如下:
(1)給nRF905上電后,MCU將TX_EN置為高電平,將TRX_CE置為低電平,使nRF905進入發(fā)送模式;
(2)MCU通過SPI接口按照SPI通信協(xié)議向nRF905寫命令字、匹配地址和將要發(fā)送的數(shù)據(jù);
(3)使TRX_CE產(chǎn)生1個至少10 μs的發(fā)送脈沖;
(4)nRF905接到發(fā)送脈沖后自動編碼、自動發(fā)送。如果nRF905命令字寄存器中的AUTO_RE-TRAN位被設(shè)置為高電平,則nRF905不斷重發(fā),直到TRX_CE被置高電平;
(5)nRF905發(fā)送數(shù)據(jù)后,DR自動置高電平。MCU可以通過DR判斷發(fā)送完畢與否。以便發(fā)送下一組數(shù)據(jù)。
4.4.2 接收數(shù)據(jù)
nRF905接收時序如圖6所示,具體步驟如下:
(1)給nRF905上電后,MCU通過將TX_EN置低電平和TRX_CE置高電平,使nRF905進入接收模式(圖6中的TA時刻);
(2)650μs后,nRF905開始檢測有無發(fā)送的數(shù)據(jù)(圖6中的T0時刻);
(3)當nRF905探測到有接收頻率的載波時,將CD置高電平(圖6中的Tl時刻);
(4)當nRF905接收完有效匹配地址后,將AM置高電平(圖6中的T2時刻);
(5)當nRF905接收完有效數(shù)據(jù)且CRC檢驗正確后,將DR置高電平(圖6中的T3時刻);
(6)MCU在DR變高電平后可以通過SPI讀取nRF905接收的數(shù)據(jù)。
4.5 動感控制部分的編程
根據(jù)硬件電路的連接,可以利用外部中斷0服務(wù)程序?qū)崿F(xiàn)動感的實時控制,這樣,MCU在DR變成高電平后即可控制動感平臺動作,提高了實效性。程序流程如圖7所示。
5 結(jié)束語
據(jù)考證,國內(nèi)現(xiàn)有的車輛模擬駕駛訓練系統(tǒng)均未安裝動感系統(tǒng)。車輛模擬駕駛動感系統(tǒng)具有廣闊的發(fā)展前景。本文為該系統(tǒng)的設(shè)計提供了切實可行、安全可靠的參考設(shè)計方案。
評論