基于雙核多接口的智能汽車控制系統(tǒng)設(shè)計
本設(shè)計是以第三屆全國大學(xué)生“飛思卡爾”杯智能汽車競賽為背景,使用競賽秘書處統(tǒng)一指定的競賽車模套件,采用飛思卡爾半導(dǎo)體公司的兩片8位微控制器MC9S08DZ60作為核心控制單元,自主構(gòu)思控制方案進行系統(tǒng)設(shè)計。系統(tǒng)基本構(gòu)建如圖1所示,包括傳感器信號采集處理、動力電機驅(qū)動、轉(zhuǎn)向舵機控制以及控制算法軟件開發(fā)等。
本文引用地址:http://www.ex-cimer.com/article/108813.htm雙核的引入
在智能車的設(shè)計之初,我們分析認為,在基于光電傳感器的智能車設(shè)計系統(tǒng)中重要的是信號的完整性,即通過傳感器獲得賽道信息和車的位置信息越多越好。通過比較8位和16位單片機的接口數(shù)目與性能要求,本設(shè)計決定使用兩片8位微控制器MC9S08DZ60作為核心控制單元。
雙核間通信接口SPI
在車輛運行過程中,三種傳感器的信息需要由控制器來采集,分別是光電傳感器、速度傳感器、角速度傳感器。由于角速度傳感器需要有一個準(zhǔn)確的采樣周期,我們使用單片機的內(nèi)部定時器產(chǎn)生一個1.2ms的時間基準(zhǔn)。在這個1.2ms的周期里執(zhí)行對三種傳感器的數(shù)據(jù)采集,當(dāng)定時器的溢出中斷時執(zhí)行一次SPI的數(shù)據(jù)發(fā)送程序。SPI是一種高速、全雙工、同步的通信總線,并且在芯片的引腳上只占用四根線,分別是mosi,miso,sck,ss。我們使用1MHz的數(shù)據(jù)傳輸速度,使用3個字節(jié)來發(fā)送傳感器的數(shù)據(jù),兩個字節(jié)發(fā)送速度傳感器和角速度傳感器的數(shù)據(jù)。
控制系統(tǒng)與上位機的通信接口SCI
車輛在行駛過程中的運行狀況,是無法直接通過觀察來得到的,所以我們使用上位機系統(tǒng)來進行實時監(jiān)控。使用wap200b無線串口模塊來發(fā)送數(shù)據(jù),模塊使用3.0V供電,內(nèi)置高速MCU,數(shù)據(jù)傳輸準(zhǔn)確率高。單片機與模塊間通訊使用標(biāo)準(zhǔn)串口,將其設(shè)置為115200波特率、8位數(shù)據(jù)位、1位停止位、無奇偶校驗。一次通訊共發(fā)送7個數(shù)據(jù)。首先發(fā)送兩個數(shù)據(jù)作為握手信號分別是0x00和0xFF,之后使用3個字節(jié)的數(shù)據(jù)發(fā)送傳感器信息,1個字節(jié)數(shù)據(jù)發(fā)送角度信息,1個字節(jié)數(shù)據(jù)發(fā)送速度信息,最后一位保留位做以后擴展使用,發(fā)送0x00。
鍵盤與主控芯片的通信接口I2C
車輛在實際調(diào)試時有許多參數(shù)需要不停的調(diào)試,如PID參數(shù)車輛的轉(zhuǎn)角及速度等。設(shè)置不同的參數(shù)時如果每次都重新下載程序的話會費時費力,所以在這里我們使用鍵盤來輸入車輛行駛時的參數(shù)。鍵盤控制芯片HD7279是一片具有串行接口的,可同時驅(qū)動8位共陰極數(shù)碼管(或64只獨立的LED)的智能顯示驅(qū)動芯片,該芯片同時還可連接多達64鍵的鍵盤矩陣,單片即可完成LED顯示、鍵盤接口的全部功能。
我們使用單片機的4個I/O口來操作HD7279,分別為CS、CLK、DATA、KEY 。我們可以通過鍵盤來設(shè)置一些參數(shù),如PID的Kp、Ki、Kd參數(shù),直線及彎道的速度等。
A/D模塊在采集角速度中的應(yīng)用
本系統(tǒng)中A/D轉(zhuǎn)換模塊主要用于采集陀螺儀的輸出值。由于模擬陀螺造價比較低,而在車??刂葡到y(tǒng)中對角度精度的要求不是很高,所以使用模擬陀螺對車身姿態(tài)進行實時校正。MC9S08DZ60內(nèi)部集成了12位數(shù)模轉(zhuǎn)換通道。由于模擬陀螺輸出信號范圍為0~5V,這樣單片機的參考電壓為+5V,由高精度穩(wěn)壓模塊單獨供電,確保轉(zhuǎn)換的精度。對A/D轉(zhuǎn)換后的數(shù)據(jù)處理程序如下:
評論