張 燚,邵建龍,陳 廣,趙建平,羅 茜
(昆明理工大學信息工程與自動化學院,昆明 650500)
汽車駕駛模擬器數(shù)據(jù)采集控制系統(tǒng)的設計
張 燚,邵建龍,陳 廣,趙建平,羅 茜
(昆明理工大學信息工程與自動化學院,昆明 650500)
數(shù)據(jù)采集控制系統(tǒng)的性能對汽車駕駛模擬系統(tǒng)的交互性和真實感有重要影響。根據(jù)模擬器數(shù)據(jù)采集與控制的多輸入輸出接口和快速響應要求,設計了一套實時數(shù)據(jù)采集控制系統(tǒng)。該系統(tǒng)基于STM32單片機實現(xiàn)了對4路格雷碼編碼器、1路SSI編碼器、24路數(shù)字量輸入和8路數(shù)字量輸出的數(shù)據(jù)采集處理與控制,通過USB以及RS232與上位機通訊,系統(tǒng)軟件采用C語言模塊化編程技術。實驗結果表明所設計的數(shù)據(jù)采集控制系統(tǒng)實時性好,可靠性高,能滿足實際需求。
汽車駕駛模擬器;數(shù)據(jù)采集處理;STM32單片機;系統(tǒng);編碼器;通信
汽車駕駛模擬器是一種能模擬汽車的駕駛操作動作,獲得真實駕車感受的仿真系統(tǒng)。目前的汽車駕駛模擬器集合了傳感器、計算機三維實時動畫、計算機接口、人工智能、數(shù)據(jù)通信、網(wǎng)絡、多媒體等多種先進技術,主要用于駕駛員培訓,也可以對微觀交通進行仿真,對汽車的控制特性進行研究[1]。汽車駕駛模擬器具有安全性高、再現(xiàn)性好的特點。利用駕駛模擬器來進行研究和訓練,可以方便地模擬各種道路環(huán)境、天氣狀況,分析汽車的技術性能指標,從而可以節(jié)省大量資源,具有很高的經(jīng)濟價值[2]。
目前,很多汽車駕駛模擬器都采用數(shù)據(jù)采集卡實現(xiàn)操作數(shù)據(jù)的采集,這種基于數(shù)據(jù)采集卡的數(shù)據(jù)采集處理系統(tǒng)成本相對較高,采集模擬量時不是很穩(wěn)定,接口數(shù)量也很有限,這給后續(xù)開發(fā)帶來了一些困難。基于單片機的數(shù)據(jù)采集系統(tǒng)雖然開發(fā)周期較長,但成本相對較低,接口的可擴展性好,同時,模擬量和開關量的預處理工作也可以由單片機來完成,完全可以滿足模擬器的交互性和實時性要求[3-4]。
汽車駕駛模擬器數(shù)據(jù)采集控制系統(tǒng)須滿足以下要求:①提供絕對式旋轉編碼器高分辨率輸入信號接口1路,要求分辨率為1024P/R(1024個脈沖每轉);②提供絕對式旋轉編碼器輸入信號接口3路,要求分辨率為360P/R(360個脈沖每轉);③提供開關量輸入接口24路,要求接地有效;④提供8路開關量輸出接口;⑤同時支持USB2.0接口和RS232接口與上位機通信;⑥所有接口用專門的接線端子引出,系統(tǒng)電源采用外接專用適配器供電。
以下方案均可實現(xiàn)數(shù)據(jù)的采集與控制,方案①選用單片機;方案②選用PLC;方案③采用數(shù)據(jù)采集卡。通過比較發(fā)現(xiàn),方案②的成本相對較高,體積較大;方案③成本高,接口數(shù)量有限;而方案①成本低,接口數(shù)量多且可擴展性好,控制較為靈活,因此論文選用第一種方案。
根據(jù)以上數(shù)據(jù)采集控制系統(tǒng)多輸入輸出接口和快速響應的要求,單片機需要的管腳數(shù)較多,還要支持USB接口和RS232接口與上位機通信,同時考慮到資源的合理利用,論文選取 100腳的STM32F103VBT6作為系統(tǒng)主控芯片,其最高工作頻率可達72MHz。數(shù)據(jù)采集控制系統(tǒng)結構框圖如圖1所示,系統(tǒng)由上位機和下位機兩部分構成,以STM32微處理器為核心的數(shù)據(jù)采集控制器作為下位機;以PC機作為系統(tǒng)上位機,結合相應的上位機驅(qū)動程序和應用軟件,實現(xiàn)數(shù)據(jù)傳輸[5]。

圖1 數(shù)據(jù)采集控制系統(tǒng)結構框圖
4.1 硬件總體設計
系統(tǒng)硬件由核心控制器、數(shù)據(jù)采集電路、OC輸出電路、RS232串口電路、USB接口電路、電源電路、時鐘和復位電路、SWD下載電路等部分組成,其硬件總框圖如圖2所示。STM32VBT6通過串口和USB接口與上位機進行通訊,根據(jù)上位機的指令做出應答。系統(tǒng)整體硬件設計圖如圖3所示。

圖2 硬件總框圖
4.2 數(shù)據(jù)采集電路
綜合考慮編碼器的精度和成本,系統(tǒng)選用歐姆龍絕對式旋轉編碼器OMRON E6C3-A,其輸出方式為格雷二進制碼[6]。編碼器的電路如圖4所示,4路格雷碼編碼器的接口都設計成10位數(shù)據(jù)線,這樣設計的優(yōu)點是可以兼容1024分辨率和360分辨率的編碼器。同時還預留了1路SSI編碼器接口以支持使用高精度的SSI編碼器。
24路開關量輸入及編碼器輸入電路的設計如圖5所示,輸入管腳均采用上下拉二極管的方式對管腳進行保護,防止電壓過高或過低損壞單片機管腳。當輸入電壓過高時,上拉二極管導通,電流通過上拉二極管流入VCC3.3V電源,單片機管腳電壓被鉗制;當輸入電壓過低時,下拉二極管導通,輸入電壓被鉗制到負0.7V,從而保護單片機的管腳。
4.3 OC輸出電路
輸出部分的設計如圖6所示,8路輸出均采用OC輸出,采用OC輸出的優(yōu)點是輸出電壓可以根據(jù)負載選擇為5V、24V或外接電源等,驅(qū)動能力強。
4.4 其它電路
整個系統(tǒng)電源采用外接專用12~24V 2A直流適配器供電。系統(tǒng)電源進來后直接為歐姆龍旋轉編碼器供電,同時通過開關電源中LM2596T-5.0芯片轉為5V,再通過SPX1117M3-3.3芯片轉為3.3V為STM32供電。利用MAX232芯片完成單片機的TTL信號和RS232信號的相互轉換,通過RS232串口電路與PC機通信,也可用USB接口電路和PC機通信[7];時鐘電路為單片機輸入時鐘信號;SWD下載電路用于單片機程序調(diào)試和燒寫。
為了減少電磁干擾,PCB布局時,晶振應盡可能靠近單片機,所有元器件均采用貼片元件。PCB制板時采用沉金工藝,以防止氧化,CPU板和接口板分開,采用軟電纜線連接,提高系統(tǒng)的穩(wěn)定性和可靠性。

圖3 系統(tǒng)整體硬件設計圖

圖4 編碼器電路

圖5 輸入管腳保護電路

圖6 輸出部分電路
數(shù)據(jù)采集控制系統(tǒng)軟件主要完成多路信號的采集與處理,下位機接到上位機指令時按照通信協(xié)議將數(shù)據(jù)發(fā)送給上位機,并根據(jù)輸出指令執(zhí)行相應的操作。軟件采用C語言模塊化編程,主要由主程序、數(shù)據(jù)采集處理程序、USB通信中斷服務程序、RS232通信中斷服務程序、輸出控制程序等構成。其主程序工作流程圖和中斷服務程序流程圖分別如圖7、圖8、圖9所示。主程序主要完成系統(tǒng)的初始化工作,包括系統(tǒng)時鐘初始化、中斷向量初始化、GPIO端口初始化、串口初始化、USB初始化等;USB通信和RS232通信程序?qū)崿F(xiàn)單片機和上位機之間的通訊,根據(jù)數(shù)據(jù)采集的速率和實時性需求,USB模塊采用虛擬串口的傳輸方式[8];數(shù)據(jù)采集處理程序主要完成編碼器信號和24路開關量輸入信號的采集與處理;輸出控制程序根據(jù)上位機命令對8路開關量輸出進行控制。

圖7 主程序工作流程圖

圖8 RS232中斷服務程序流程圖

圖9 USB中斷服務程序流程圖
上位機與下位機之間的數(shù)據(jù)通訊采用“呼叫—應答”處理模式,通訊數(shù)據(jù)幀結構如表1所示,每幀都由包頭、包長、數(shù)據(jù)域、校驗和4個部分構成。每包數(shù)據(jù)以0x7f開頭標識,包長為數(shù)據(jù)字段長度和檢驗字段長度之和,檢驗方式為包頭、包長以及數(shù)據(jù)字段的求和。數(shù)據(jù)字段中包含地址碼和功能碼,下位機根據(jù)地址碼和功能碼對上位機的請求做出響應。

表1 通訊數(shù)據(jù)幀結構
格雷碼編碼器的輸出信號是格雷二進制碼,單片機采集到數(shù)據(jù)后需轉換為二進制,轉換程序如下:

STM32F103VBT6上電復位后,PA13/14/15和PB3/4默認配置為JTAG功能。本系統(tǒng)中這5個引腳需要用作普通I/O口,故必須對這幾個引腳的功能復用,通過以下程序把PA13/14/15和PB3/4引腳配置為普通I/O口:


設計了一種基于STM32單片機的駕駛模擬器實時數(shù)據(jù)采集控制系統(tǒng)。測試結果表明系統(tǒng)響應速度在10ms以內(nèi),完全能夠滿足數(shù)據(jù)采集控制系統(tǒng)在性能和實時性上的要求。并且該系統(tǒng)可靠性高,穩(wěn)定性好,能滿足實際需求。
[1]邱安定,李旋,尹董梅.汽車模擬駕駛技術新解[J].合肥學院學報,2010(7):23-25. Qiu Anding,Li Xuan,Yin Dongmei.The New Car Driving Simulation Technology[J].Journal of Hefei University,2010 (7):23-25.
[2]李國峰,吳振華,馮磊.虛擬現(xiàn)實建模技術研究及其在汽車模擬駕駛器中的應用[J].武漢理工大學學報,2005(6):41-42. Li Guofeng,Wu Zhenhua,Feng Lei.Virtual Reality Modeling Technology Research and It’s Application in Automobile Driving Simulation Device[J].Journal of Wuhan University of Technology,2005(6):41-42.
[3]周磊,趙敏,王建,等.基于ARM單片機的汽車模擬駕駛器設計[J].汽車工程師,2011(11):35-37. Zhou Lei,Zhao Min,Wang Jian et al.Vehicle Simulator Design Based on ARM Single Chip System[J].Auto Engineer, 2011(11):35-37.
[4]張曉剛.仿真駕駛模擬器數(shù)據(jù)采集系統(tǒng)設計[J].科技信息,2010(14):221-222. Zhang Xiaogang.Simulation Driving Simulator Data Acquisition System Design[J].Science&Technology Information,2010 (14):221-222.
[5]代攀,唐小琦,宋寶等.伺服數(shù)據(jù)采集系統(tǒng)的USB接口設計[J].機械與電子,2013(12):8-10. Dai pan,Tang Xiaoqi Song Bao etal.USB Interface Design of Servo Data Acquisition System[J].Machinery&Electronics, 2013(12):8-10.
[6]歐姆龍自動化中國統(tǒng)轄集團.歐姆龍E6B2/E6CP型旋轉編碼器[J].紡織機械,2007(2):21-23. Omron automation China governance group.Omron E6B2/E6CP type rotary encoder[J].TEXTILE MACHINERY,2007(2):21-23.
[7]潘琢金,李冰,羅振,楊華等.基于STM32的UART-WiFi模塊的設計與實現(xiàn)[J]制造業(yè)自動化,2015(7):127-130. Pan Zhuojin,Li Bing,Luo Zhen etal.Design and implemention of UART-Wifi module based on STM32[J].Manufacturing Automation,2015(7):127-130.
[8]王太曉,林曉煥,周靜雷.基于STM32處理器的USB通信設計[J].微處理機,2015(1):25-28. Wang Taixiao,Lin Xiaohuan,Zhou Jinlei.Design ofUSB Communication Based on the STM32 Processor[J].MICROPROCESSORS,2015(1):25-28.
Design of Vehicle Driving Simulator Data Acquisition and Control System
Zhang Yi,Shao Jianlong,Chen Guang,Zhao Jianping,Luo Qian
(Faculty of Information Engineering and Automation,Kunming University of Science and Technology,Kunming 650500,China)
The performance of data acquisition and control system has a significant effect on the vehicle driving simulation system,especially on interaction and reality.According to the requirement of multiple input-output interface and fast response on the data acquisition and control simulator,a set of real-time data acquisition control system based on STM32 microcontroller,using C language modular programming technology,is designed to realize the data collection processing and control with fourroad gray code encoder,a SSI encoder,24 digital signal input and 8 digital signal output,and communicate with PC by USB/RS232.The experimental results show that the designed control system of data acquisition reveals with good real-time performance and high reliability,and meets the actual requrements.
Vehicle driving simulator;Data acquisition and processing;STM32 microcontroller;System;Encoder;Communication
10.3969/j.issn.1002-2279.2017.01.023
TN919.5
A
1002-2279-(2017)01-0091-05
張燚(1991-),男,陜西省安康市人,碩士研究生在讀,主研方向:智能化信息處理系統(tǒng)。
2016-09-06