張 燚,邵建龍,陳 廣,趙建平,羅 茜
(昆明理工大學(xué)信息工程與自動(dòng)化學(xué)院,昆明 650500)
汽車駕駛模擬器數(shù)據(jù)采集控制系統(tǒng)的設(shè)計(jì)
張 燚,邵建龍,陳 廣,趙建平,羅 茜
(昆明理工大學(xué)信息工程與自動(dòng)化學(xué)院,昆明 650500)
數(shù)據(jù)采集控制系統(tǒng)的性能對(duì)汽車駕駛模擬系統(tǒng)的交互性和真實(shí)感有重要影響。根據(jù)模擬器數(shù)據(jù)采集與控制的多輸入輸出接口和快速響應(yīng)要求,設(shè)計(jì)了一套實(shí)時(shí)數(shù)據(jù)采集控制系統(tǒng)。該系統(tǒng)基于STM32單片機(jī)實(shí)現(xiàn)了對(duì)4路格雷碼編碼器、1路SSI編碼器、24路數(shù)字量輸入和8路數(shù)字量輸出的數(shù)據(jù)采集處理與控制,通過(guò)USB以及RS232與上位機(jī)通訊,系統(tǒng)軟件采用C語(yǔ)言模塊化編程技術(shù)。實(shí)驗(yàn)結(jié)果表明所設(shè)計(jì)的數(shù)據(jù)采集控制系統(tǒng)實(shí)時(shí)性好,可靠性高,能滿足實(shí)際需求。
汽車駕駛模擬器;數(shù)據(jù)采集處理;STM32單片機(jī);系統(tǒng);編碼器;通信
汽車駕駛模擬器是一種能模擬汽車的駕駛操作動(dòng)作,獲得真實(shí)駕車感受的仿真系統(tǒng)。目前的汽車駕駛模擬器集合了傳感器、計(jì)算機(jī)三維實(shí)時(shí)動(dòng)畫(huà)、計(jì)算機(jī)接口、人工智能、數(shù)據(jù)通信、網(wǎng)絡(luò)、多媒體等多種先進(jìn)技術(shù),主要用于駕駛員培訓(xùn),也可以對(duì)微觀交通進(jìn)行仿真,對(duì)汽車的控制特性進(jìn)行研究[1]。汽車駕駛模擬器具有安全性高、再現(xiàn)性好的特點(diǎn)。利用駕駛模擬器來(lái)進(jìn)行研究和訓(xùn)練,可以方便地模擬各種道路環(huán)境、天氣狀況,分析汽車的技術(shù)性能指標(biāo),從而可以節(jié)省大量資源,具有很高的經(jīng)濟(jì)價(jià)值[2]。
目前,很多汽車駕駛模擬器都采用數(shù)據(jù)采集卡實(shí)現(xiàn)操作數(shù)據(jù)的采集,這種基于數(shù)據(jù)采集卡的數(shù)據(jù)采集處理系統(tǒng)成本相對(duì)較高,采集模擬量時(shí)不是很穩(wěn)定,接口數(shù)量也很有限,這給后續(xù)開(kāi)發(fā)帶來(lái)了一些困難?;趩纹瑱C(jī)的數(shù)據(jù)采集系統(tǒng)雖然開(kāi)發(fā)周期較長(zhǎng),但成本相對(duì)較低,接口的可擴(kuò)展性好,同時(shí),模擬量和開(kāi)關(guān)量的預(yù)處理工作也可以由單片機(jī)來(lái)完成,完全可以滿足模擬器的交互性和實(shí)時(shí)性要求[3-4]。
汽車駕駛模擬器數(shù)據(jù)采集控制系統(tǒng)須滿足以下要求:①提供絕對(duì)式旋轉(zhuǎn)編碼器高分辨率輸入信號(hào)接口1路,要求分辨率為1024P/R(1024個(gè)脈沖每轉(zhuǎn));②提供絕對(duì)式旋轉(zhuǎn)編碼器輸入信號(hào)接口3路,要求分辨率為360P/R(360個(gè)脈沖每轉(zhuǎn));③提供開(kāi)關(guān)量輸入接口24路,要求接地有效;④提供8路開(kāi)關(guān)量輸出接口;⑤同時(shí)支持USB2.0接口和RS232接口與上位機(jī)通信;⑥所有接口用專門(mén)的接線端子引出,系統(tǒng)電源采用外接專用適配器供電。
以下方案均可實(shí)現(xiàn)數(shù)據(jù)的采集與控制,方案①選用單片機(jī);方案②選用PLC;方案③采用數(shù)據(jù)采集卡。通過(guò)比較發(fā)現(xiàn),方案②的成本相對(duì)較高,體積較大;方案③成本高,接口數(shù)量有限;而方案①成本低,接口數(shù)量多且可擴(kuò)展性好,控制較為靈活,因此論文選用第一種方案。
根據(jù)以上數(shù)據(jù)采集控制系統(tǒng)多輸入輸出接口和快速響應(yīng)的要求,單片機(jī)需要的管腳數(shù)較多,還要支持USB接口和RS232接口與上位機(jī)通信,同時(shí)考慮到資源的合理利用,論文選取 100腳的STM32F103VBT6作為系統(tǒng)主控芯片,其最高工作頻率可達(dá)72MHz。數(shù)據(jù)采集控制系統(tǒng)結(jié)構(gòu)框圖如圖1所示,系統(tǒng)由上位機(jī)和下位機(jī)兩部分構(gòu)成,以STM32微處理器為核心的數(shù)據(jù)采集控制器作為下位機(jī);以PC機(jī)作為系統(tǒng)上位機(jī),結(jié)合相應(yīng)的上位機(jī)驅(qū)動(dòng)程序和應(yīng)用軟件,實(shí)現(xiàn)數(shù)據(jù)傳輸[5]。
圖1 數(shù)據(jù)采集控制系統(tǒng)結(jié)構(gòu)框圖
4.1 硬件總體設(shè)計(jì)
系統(tǒng)硬件由核心控制器、數(shù)據(jù)采集電路、OC輸出電路、RS232串口電路、USB接口電路、電源電路、時(shí)鐘和復(fù)位電路、SWD下載電路等部分組成,其硬件總框圖如圖2所示。STM32VBT6通過(guò)串口和USB接口與上位機(jī)進(jìn)行通訊,根據(jù)上位機(jī)的指令做出應(yīng)答。系統(tǒng)整體硬件設(shè)計(jì)圖如圖3所示。
圖2 硬件總框圖
4.2 數(shù)據(jù)采集電路
綜合考慮編碼器的精度和成本,系統(tǒng)選用歐姆龍絕對(duì)式旋轉(zhuǎn)編碼器OMRON E6C3-A,其輸出方式為格雷二進(jìn)制碼[6]。編碼器的電路如圖4所示,4路格雷碼編碼器的接口都設(shè)計(jì)成10位數(shù)據(jù)線,這樣設(shè)計(jì)的優(yōu)點(diǎn)是可以兼容1024分辨率和360分辨率的編碼器。同時(shí)還預(yù)留了1路SSI編碼器接口以支持使用高精度的SSI編碼器。
24路開(kāi)關(guān)量輸入及編碼器輸入電路的設(shè)計(jì)如圖5所示,輸入管腳均采用上下拉二極管的方式對(duì)管腳進(jìn)行保護(hù),防止電壓過(guò)高或過(guò)低損壞單片機(jī)管腳。當(dāng)輸入電壓過(guò)高時(shí),上拉二極管導(dǎo)通,電流通過(guò)上拉二極管流入VCC3.3V電源,單片機(jī)管腳電壓被鉗制;當(dāng)輸入電壓過(guò)低時(shí),下拉二極管導(dǎo)通,輸入電壓被鉗制到負(fù)0.7V,從而保護(hù)單片機(jī)的管腳。
4.3 OC輸出電路
輸出部分的設(shè)計(jì)如圖6所示,8路輸出均采用OC輸出,采用OC輸出的優(yōu)點(diǎn)是輸出電壓可以根據(jù)負(fù)載選擇為5V、24V或外接電源等,驅(qū)動(dòng)能力強(qiáng)。
4.4 其它電路
整個(gè)系統(tǒng)電源采用外接專用12~24V 2A直流適配器供電。系統(tǒng)電源進(jìn)來(lái)后直接為歐姆龍旋轉(zhuǎn)編碼器供電,同時(shí)通過(guò)開(kāi)關(guān)電源中LM2596T-5.0芯片轉(zhuǎn)為5V,再通過(guò)SPX1117M3-3.3芯片轉(zhuǎn)為3.3V為STM32供電。利用MAX232芯片完成單片機(jī)的TTL信號(hào)和RS232信號(hào)的相互轉(zhuǎn)換,通過(guò)RS232串口電路與PC機(jī)通信,也可用USB接口電路和PC機(jī)通信[7];時(shí)鐘電路為單片機(jī)輸入時(shí)鐘信號(hào);SWD下載電路用于單片機(jī)程序調(diào)試和燒寫(xiě)。
為了減少電磁干擾,PCB布局時(shí),晶振應(yīng)盡可能靠近單片機(jī),所有元器件均采用貼片元件。PCB制板時(shí)采用沉金工藝,以防止氧化,CPU板和接口板分開(kāi),采用軟電纜線連接,提高系統(tǒng)的穩(wěn)定性和可靠性。
圖3 系統(tǒng)整體硬件設(shè)計(jì)圖
圖4 編碼器電路
圖5 輸入管腳保護(hù)電路
圖6 輸出部分電路
數(shù)據(jù)采集控制系統(tǒng)軟件主要完成多路信號(hào)的采集與處理,下位機(jī)接到上位機(jī)指令時(shí)按照通信協(xié)議將數(shù)據(jù)發(fā)送給上位機(jī),并根據(jù)輸出指令執(zhí)行相應(yīng)的操作。軟件采用C語(yǔ)言模塊化編程,主要由主程序、數(shù)據(jù)采集處理程序、USB通信中斷服務(wù)程序、RS232通信中斷服務(wù)程序、輸出控制程序等構(gòu)成。其主程序工作流程圖和中斷服務(wù)程序流程圖分別如圖7、圖8、圖9所示。主程序主要完成系統(tǒng)的初始化工作,包括系統(tǒng)時(shí)鐘初始化、中斷向量初始化、GPIO端口初始化、串口初始化、USB初始化等;USB通信和RS232通信程序?qū)崿F(xiàn)單片機(jī)和上位機(jī)之間的通訊,根據(jù)數(shù)據(jù)采集的速率和實(shí)時(shí)性需求,USB模塊采用虛擬串口的傳輸方式[8];數(shù)據(jù)采集處理程序主要完成編碼器信號(hào)和24路開(kāi)關(guān)量輸入信號(hào)的采集與處理;輸出控制程序根據(jù)上位機(jī)命令對(duì)8路開(kāi)關(guān)量輸出進(jìn)行控制。
圖7 主程序工作流程圖
圖8 RS232中斷服務(wù)程序流程圖
圖9 USB中斷服務(wù)程序流程圖
上位機(jī)與下位機(jī)之間的數(shù)據(jù)通訊采用“呼叫—應(yīng)答”處理模式,通訊數(shù)據(jù)幀結(jié)構(gòu)如表1所示,每幀都由包頭、包長(zhǎng)、數(shù)據(jù)域、校驗(yàn)和4個(gè)部分構(gòu)成。每包數(shù)據(jù)以0x7f開(kāi)頭標(biāo)識(shí),包長(zhǎng)為數(shù)據(jù)字段長(zhǎng)度和檢驗(yàn)字段長(zhǎng)度之和,檢驗(yàn)方式為包頭、包長(zhǎng)以及數(shù)據(jù)字段的求和。數(shù)據(jù)字段中包含地址碼和功能碼,下位機(jī)根據(jù)地址碼和功能碼對(duì)上位機(jī)的請(qǐng)求做出響應(yīng)。
表1 通訊數(shù)據(jù)幀結(jié)構(gòu)
格雷碼編碼器的輸出信號(hào)是格雷二進(jìn)制碼,單片機(jī)采集到數(shù)據(jù)后需轉(zhuǎn)換為二進(jìn)制,轉(zhuǎn)換程序如下:
STM32F103VBT6上電復(fù)位后,PA13/14/15和PB3/4默認(rèn)配置為JTAG功能。本系統(tǒng)中這5個(gè)引腳需要用作普通I/O口,故必須對(duì)這幾個(gè)引腳的功能復(fù)用,通過(guò)以下程序把PA13/14/15和PB3/4引腳配置為普通I/O口:
設(shè)計(jì)了一種基于STM32單片機(jī)的駕駛模擬器實(shí)時(shí)數(shù)據(jù)采集控制系統(tǒng)。測(cè)試結(jié)果表明系統(tǒng)響應(yīng)速度在10ms以內(nèi),完全能夠滿足數(shù)據(jù)采集控制系統(tǒng)在性能和實(shí)時(shí)性上的要求。并且該系統(tǒng)可靠性高,穩(wěn)定性好,能滿足實(shí)際需求。
[1]邱安定,李旋,尹董梅.汽車模擬駕駛技術(shù)新解[J].合肥學(xué)院學(xué)報(bào),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]李國(guó)峰,吳振華,馮磊.虛擬現(xiàn)實(shí)建模技術(shù)研究及其在汽車模擬駕駛器中的應(yīng)用[J].武漢理工大學(xué)學(xué)報(bào),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ī)的汽車模擬駕駛器設(shè)計(jì)[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)設(shè)計(jì)[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接口設(shè)計(jì)[J].機(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]歐姆龍自動(dòng)化中國(guó)統(tǒng)轄集團(tuán).歐姆龍E6B2/E6CP型旋轉(zhuǎn)編碼器[J].紡織機(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模塊的設(shè)計(jì)與實(shí)現(xiàn)[J]制造業(yè)自動(dòng)化,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通信設(shè)計(jì)[J].微處理機(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