色偷偷偷久久伊人大杳蕉,色爽交视频免费观看,欧美扒开腿做爽爽爽a片,欧美孕交alscan巨交xxx,日日碰狠狠躁久久躁蜜桃

x
x

基于雙核多接口的智能汽車控制系統(tǒng)設(shè)計(jì)

發(fā)布時(shí)間:2009-8-25 09:58    發(fā)布者:賈延安
關(guān)鍵詞: 接口 , 控制系統(tǒng) , 汽車 , 雙核 , 智能
系統(tǒng)基本構(gòu)建如圖1所示,包括傳感器信號(hào)采集處理、動(dòng)力電機(jī)驅(qū)動(dòng)、轉(zhuǎn)向舵機(jī)控制以及控制算法軟件開(kāi)發(fā)等。

  雙核的引入

  在智能車的設(shè)計(jì)之初,我們分析認(rèn)為,在基于光電傳感器的智能車設(shè)計(jì)系統(tǒng)中重要的是信號(hào)的完整性,即通過(guò)傳感器獲得賽道信息和車的位置信息越多越好。通過(guò)比較8位和16位單片機(jī)的接口數(shù)目與性能要求,本設(shè)計(jì)決定使用兩片8位微控制器MC9S08DZ60作為核心控制單元。




  雙核間通信接口SPI

  在車輛運(yùn)行過(guò)程中,三種傳感器的信息需要由控制器來(lái)采集,分別是光電傳感器、速度傳感器、角速度傳感器。由于角速度傳感器需要有一個(gè)準(zhǔn)確的采樣周期,我們使用單片機(jī)的內(nèi)部定時(shí)器產(chǎn)生一個(gè)1.2ms的時(shí)間基準(zhǔn)。在這個(gè)1.2ms的周期里執(zhí)行對(duì)三種傳感器的數(shù)據(jù)采集,當(dāng)定時(shí)器的溢出中斷時(shí)執(zhí)行一次 SPI的數(shù)據(jù)發(fā)送程序。SPI是一種高速、全雙工、同步的通信總線,并且在芯片的引腳上只占用四根線,分別是mosi,miso,sck,ss。我們使用 1MHz的數(shù)據(jù)傳輸速度,使用3個(gè)字節(jié)來(lái)發(fā)送傳感器的數(shù)據(jù),兩個(gè)字節(jié)發(fā)送速度傳感器和角速度傳感器的數(shù)據(jù)。

  控制系統(tǒng)與上位機(jī)的通信接口SCI

  車輛在行駛過(guò)程中的運(yùn)行狀況,是無(wú)法直接通過(guò)觀察來(lái)得到的,所以我們使用上位機(jī)系統(tǒng)來(lái)進(jìn)行實(shí)時(shí)監(jiān)控。使用wap200b無(wú)線串口模塊來(lái)發(fā)送數(shù)據(jù),模塊使用3.0V供電,內(nèi)置高速MCU,數(shù)據(jù)傳輸準(zhǔn)確率高。單片機(jī)與模塊間通訊使用標(biāo)準(zhǔn)串口,將其設(shè)置為115200波特率、8位數(shù)據(jù)位、1位停止位、無(wú)奇偶校驗(yàn)。一次通訊共發(fā)送7個(gè)數(shù)據(jù)。首先發(fā)送兩個(gè)數(shù)據(jù)作為握手信號(hào)分別是0x00和0xFF,之后使用3個(gè)字節(jié)的數(shù)據(jù)發(fā)送傳感器信息,1個(gè)字節(jié)數(shù)據(jù)發(fā)送角度信息,1個(gè)字節(jié)數(shù)據(jù)發(fā)送速度信息,最后一位保留位做以后擴(kuò)展使用,發(fā)送0x00。

  鍵盤與主控芯片的通信接口I2C

  車輛在實(shí)際調(diào)試時(shí)有許多參數(shù)需要不停的調(diào)試,如PID參數(shù)車輛的轉(zhuǎn)角及速度等。設(shè)置不同的參數(shù)時(shí)如果每次都重新下載程序的話會(huì)費(fèi)時(shí)費(fèi)力,所以在這里我們使用鍵盤來(lái)輸入車輛行駛時(shí)的參數(shù)。鍵盤控制芯片HD7279是一片具有串行接口的,可同時(shí)驅(qū)動(dòng)8位共陰極數(shù)碼管(或64只獨(dú)立的LED)的智能顯示驅(qū)動(dòng)芯片,該芯片同時(shí)還可連接多達(dá)64鍵的鍵盤矩陣,單片即可完成LED顯示、鍵盤接口的全部功能。

  我們使用單片機(jī)的4個(gè)I/O口來(lái)操作HD7279,分別為CS、CLK、DATA、KEY 。在這里我們可以通過(guò)鍵盤來(lái)設(shè)置一些參數(shù),如PID的Kp、Ki、Kd參數(shù),直線及彎道的速度等。

  A/D模塊在采集角速度中的應(yīng)用

  本系統(tǒng)中A/D轉(zhuǎn)換模塊主要用于采集陀螺儀的輸出值。由于模擬陀螺造價(jià)比較低,而在車?刂葡到y(tǒng)中對(duì)角度精度的要求不是很高,所以使用模擬陀螺對(duì)車身姿態(tài)進(jìn)行實(shí)時(shí)校正。MC9S08DZ60內(nèi)部集成了12位數(shù)模轉(zhuǎn)換通道。由于模擬陀螺輸出信號(hào)范圍為 0~5V,這樣單片機(jī)的參考電壓為+5V,由高精度穩(wěn)壓模塊單獨(dú)供電,確保轉(zhuǎn)換的精度。對(duì)A/D轉(zhuǎn)換后的數(shù)據(jù)處理程序如下:

  void Gyro_Process(void)

  {

  if(Gyro_Start == 1)

  {

  unsigned int Max,Min,i,Value;

  signed long Sum;

  Gyro_Data_Num = 0;

  while(Gyro_Data_Num < 13)

  {

  Gyro_Collection();//AD轉(zhuǎn)換后的數(shù)據(jù)采集函數(shù)

  }

  Gyro_Start = 0;

  for(i=1,Max=0,Min=0xffff,Sum

  =0;i<13;i++)

  {

  Value=Gyro_Data_BUF[ i];

  Sum+=Value;

  if(Max

  Max=Value;

  if(Min>Value)

  Min=Value;

  }

  Sum= Sum-Max-Min ;

  SUM_Test = Sum;

  CarAngel_V=((((signed long)(Sum/10)- (signed long)Gyro_MidValue)*10000)>>16);

  /限幅處理/

  if(CarAngel_V > 0)

  {

  CarAngel_V = (CarAngel_V *

  1013) / 1000;

  }

  if(CarAngel_V<0)

  {

  CarAngel_V = (CarAngel_V *

  1004)/ 1000;

  }

  if(CarAngel_V>32767)

  {

  CarAngel_V=32767;

  }

  if(CarAngel_V<-32767)

  {

  CarAngel_V=-32767;

  }

  if(Gyro_Calibration_Flag == 1)

  CarAngelRate = (unsigned int)

  (CarAngel_V + 32767);

  else

  CarAngelRate = 32767;

  }

  }

  TPM模塊在伺服電機(jī)中的應(yīng)用

  MC9S08DZ60擁有8路獨(dú)立的PWM通道,可以獨(dú)立配置PWM的頻率和占空比,最高頻率為總線時(shí)鐘頻率20MHz,可以滿足對(duì)舵機(jī)和電機(jī)的控制。同時(shí)此模塊還有兩路計(jì)數(shù)器模塊,可以采集碼盤返回的電機(jī)速度值,以便用于速度閉環(huán)控制。其中電機(jī)控制中的PWM初始化如下:

  void Motor_init(void)

  {

  TPM2SC = 0x00; /* Stop and

  reset counter */

  TPM2MOD = VV_MAX;//15khz /* Period value setting */

  (void)(TPM2C0SC == 0); /* Channel 0 int. flag clearing (first part) */

  /* TPM2C0SC: CH0F=0,CH0IE=0,MS0B=1,MS0A=0,ELS0B=0,ELS0A=4 */

  TPM2C0SC = 0x24;

  /* Int. flag clearing (2nd part) and channel 0 contr. register setting */

  TPM2C0V = VV_MAX/2; //50%占空比 /* Compare 0 value setting */

  (void)(TPM2SC == 0); /* Overflow int. flag clearing (first part) */

  /* TPM2SC: TOF=0,TOIE=0,CPWMS=0,CLKSB=0,CLKSA=1,PS2=0,PS1=0,PS0=0 */

  TPM2SC = 0x08; /* Int. flag clearing (2nd part) and timer control register setting */

  }

  普通I/O接口的應(yīng)用

  MC9S08DZ60單片機(jī)的普通I/O口操作可以用于邏輯控制、顯示控制、信息采集等,其中對(duì)各個(gè)引腳的配置也比較簡(jiǎn)單,需要配置方向寄存器PTXDD、上拉使能寄存器PTXPE,壓擺率寄存器PTXSE及數(shù)據(jù)寄存器PTXD,以A口為例:

  Int_A()

  {

  PTADD=0X00;//作為輸入

  PTAPE=0XFF;//上拉使能

  PTASE=0XFF;//壓擺率使能

  }

  程序需要讀取A口數(shù)據(jù)時(shí)直接讀出PTAD寄存器的值即可。

  結(jié)語(yǔ)

  該系統(tǒng)實(shí)現(xiàn)了智能車車中各模塊間的通信,對(duì)芯片的資源進(jìn)行了充分的利用,實(shí)現(xiàn)了智能車多狀態(tài)的實(shí)時(shí)監(jiān)測(cè),保證了車模的速度控制和路徑優(yōu)化,為以后的技術(shù)發(fā)展提供了很好的平臺(tái)。
本文地址:http://www.54549.cn/thread-2577-1-1.html     【打印本頁(yè)】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表