孟騰,章政
(武漢科技大學 信息科學與工程學院,湖北 武漢 430081)
我國已經成為世界上規模最大的汽車市場之一,汽車在國民經濟生產和生活中的重要作用日益顯著。近年來,如何使車輛駕駛更加安全、高效、環保、舒適的研究越來越受到各國研究學者關注[1]。由相關的無線通信網絡電路實時地處理這些信息。例如,給駕駛員提供道路的提示、警告等信息。這樣,可大大減少了駕駛員由于疲勞等因素帶來的駕駛危險,增強了道路交通以及駕駛員人身的安全性;另外,一旦發生車輛故障、交通堵塞或交通事故,將給車輛調度、乘客出行帶來不便。
隨著社會的快速發展和商業化進程的加速,越來越多的行業和部門需要掌握車輛或其它移動目標的實時信息并能遠程控制目標。這類需求使得車輛數據遠傳控制系統逐漸成為國內外的研究熱點。車輛數據遠傳控制系統通過站點終端及時將車輛信息及行車信息發送到調度站,并實時顯示車輛及道路信息,將實現科學合理調度車輛,減少乘客出行不便,并可傳遞輔助駕駛或避免事故的實時信息,或提供娛樂信息、生活信息等數據服務。
車載遠傳控制系統主要包括兩部分:智能車模型和遠傳控制系統。
智能車模型主要由MC9S12核心控制模塊、道路檢測模塊、舵機轉向模塊、速度檢測模塊、電機驅動模塊等組成。智能車模型通過道路檢測模塊來識別道路信息,通過AD轉化信息傳給核心控制模塊,然后由核心控制模塊分析處理,采用PID[2]的控制方式來驅動舵機轉向模塊和電機,從而實現自動尋路行駛。
遠傳控制系統由兩塊MC9S12單片機構成主從式結構。中間通過無線收發模塊NRF24L01實現車輛數據及控制命令的遠程傳輸。系統工作時首先由主機發送命令給從機,然后從機與智能車模型上的單片機采用并行口通信的方式傳達主機的命令,同時將模型車此時運行的速度、位置、舵機、電機等參數回傳給主機。如此循環下去,在一個時間周期內實現“主到從,從到主”之間的雙向通信,從而既能接受智能車的數據又能控制智能車。遠傳控制系統結構框圖如圖1所示。

圖1 系統結構框圖Fig.1 System diagram
遠傳控制系統的電路模塊,主要有MC9S12單片機最小系統、電源模塊、電機驅動模塊、NRF14L01模塊等。
1.2.1 MC9S12單片機最小系統
MC9S12XS128只是HCS12X家族中的一個成員。該器件包括大量的片上處理器和外部I/O[3]。MC9S12XS128是一個16位器件,有16位中央處理單元 (128KB Flash)、128 kB Flash、8 kB RAM、2 kB EEPROM組成片內存儲器。同時還包括 2個異步串行通訊接口(SCI)、2個串行外設接口(SPI)和一個8通道輸入捕捉/輸出比較 (IC/OC)增強型捕捉定時器(ECT)、1個 16通道 10位 A/D 轉換器(ADC)和一個 8通道PWM。圖2為MC9S12XS128的112封裝引腳圖。
1.2.2 電源模塊
電源是一個系統正常工作的基礎,電源模塊為系統其他各個模塊提供所需要的能源保證,因此電源模塊的設計至關重要。模型車系統中接受供電的部分包括:傳感器模塊、最小系統模塊、驅動電機模塊、轉向舵機模塊以及其他的外圍輔助模塊等。設計中,除了需要考慮電壓范圍和電流容量等基本參數外,還要在電源轉換效率、噪聲、干擾和電路簡單等方面進行優化。

圖2 MC9S12單片機最小系統Fig.2 MC9S12 minimum system
系統硬件電路的電源由7.2 V,2 A/h的可充電鎳鎘電池提供,電池在充滿電時電壓可達8.2 V。由于電路中的不同電路模塊所需要的工作電流容量各不相同,因此電源模塊應該包含多個穩壓電路和單獨供電電路,將充電電池電壓轉換成各個模塊所需要的電壓。本系統電源管理結構圖如圖3所示。

圖3 電源管理模塊電路原理圖Fig.3 Power management module diagram
1.2.3 電機驅動模塊
在本系統中,電機驅動模塊設計為采用International Rectifier公司生產的IR2104S半橋驅動芯片和IRF3205 MOSFET組成的H橋型直流電機驅動電路。用兩個IR2104S各自驅動一個半橋,最后組成全橋,如圖5所示。
1.2.4 無線模塊NRF24L01
NRF24L01是一款新型單片射頻收發器件,工作于2.4~2.5 GHz ISM頻段。內置頻率合成器、功率放大器、晶體振蕩器、調制器等功能模塊,并融合了增強型ShockBurst技術,其中輸出功率和通信頻道可通過程序進行配置[4]。NRF24L01功耗低,在以-6 dBm的功率發射時,工作電流只有9 mA;接收時,工作電流只有12.3 mA[5],多種低功率工作模式(掉電模式和空閑模式)使節能設計更方便,如圖6所示。

圖4 電機驅動模塊電路原理圖Fig.4 Motor driving module diagram

圖5 無線模塊NRF24L01電路原理圖Fig.5 NRF24L01 diagram
系統的軟件設計主要是實現三塊MC9S12單片機之間的通信,其中有兩塊是采用無線通信。
對單片機和無線模塊NRF24L01進行初始化后,將主機的數據存入24l01的緩存區,準備對數據進行發送。由于該無線模塊不能實現全雙工功能,但主輔機之間的通信時間是微秒級,很短[6]。所以主機與輔機采用以下方式構成交換式“主從”結構。
在同一個周期內,前一段時間將主機配置為發送模式,輔機配置為接受模式。主機發送命令給輔機后由輔機與智能模型車通信實現命令的傳達。在該周期的下一段時間里,把輔機配置為發送模式,主機配置為接收模式,輔機將智能車模型的運行數據回傳給主機,主機將收到的智能車模型數據通過液晶屏顯示,如此循環。其設計流程圖如圖7所示。
在程序開發過程中,使用 Metrowerks公司為MC9S12系列單片機專門提供的開發平臺Codewarrior。通過BDM,可以把程序燒入單片機,還可以進行在線調試。CodeWarrior能夠自動檢查代碼中的語法錯誤,它通過一個集成的調試器和編輯器來掃描代碼,以找到并減少明顯的錯誤,然后編譯、鏈接程序以便計算機能夠理解和執行程序。Codewarrior中的mc9s12xs128.h文件對MC9S12XS128單片機所有寄存器對應的存儲映射地址都進行了宏定義,軟件開發時直接調用這些宏就可以了。CodeWarrior運行界面如圖8所示。

圖6 軟件設計流程圖Fig.6 Software design flow chart

圖7 CodeWarrior運行界面Fig.7 CodeWarrior running interface
文中設計了一個無線數據遠程傳輸系統,該系統以Nordic公司生產的2.4 GHz頻段射頻芯片NRF24L01和Freescale單片機MC9S12為核心,結合電源、電機、傳感器等外圍驅動電子電路,在硬件結構上簡單、體積小、成本低、功耗低,軟件上采用交換式“主從”結構,使其數據傳輸高、工作方式穩定檢測數據可靠直觀。利用該系統,對模型車的運動狀態和行駛軌跡進行實時數據采集進而對模型車實行遠程控制從而提高模型車的行駛速度和操縱穩定性。
[1]卓晴,黃開勝,邵貝貝.學做智能車[M].北京:北京航空航天大學出版社,2007.
[2]Udo Kuln.Ein praxisnahe einstellregel fuer PID-regeler[J].Automatisier umgsteahmische Praxis,2005,37(5):1-5.
[3]吳曄,張陽,滕勤.基于HCS12的嵌入式系統設計[M].北京:北京電子工業出版社,2010.
[4]丁永紅,孫運強.基于NRF24L01的無線數傳系統設計[J].國外電子測量技術,2008(4):15-17.DING Yong-hong,SUN Yun-qiang.Design of wireless data transmission system based on NRF24L01[J].Foreign Electronic Measurement Technology,2008(4):15-17.
[5]時志云,蓋建平.新型高速無線射頻器件NRF24L01及其應用[J].電子設計工程,2007(8):42-44.SHI Zhi-yun,GAI Jian-ping.A new kind of high speed wireless RF transceiver-nRF24L01 and its application[J].Electronic Design Engineering,2007(8):42-44.
[6]陳新興,林其偉.基于nRF24L01無線巷道離層儀設計[J].福建電腦,2008(1):17-18.CHEN Xin-xing,LIN Qi-wei.Design of wireless roadway abscission instrument based on nRF24L01[J].Fujian Computer,2008(1):17-18.