<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于A(yíng)RM Linux的電子控制油門(mén)設計

基于A(yíng)RM Linux的電子控制油門(mén)設計

作者: 時(shí)間:2013-11-11 來(lái)源:網(wǎng)絡(luò ) 收藏

1 系統原理

1.1 電控油門(mén)原理
  工作時(shí),由駕駛員發(fā)出轉速的控制指令,由節氣門(mén)開(kāi)度傳感器采集發(fā)動(dòng)機的轉速參數,并把信號輸入電控單元;電控單元將控制信號和反饋的節氣門(mén)位置信號進(jìn)行比較,根據比較的結果來(lái)驅動(dòng)執行器改變節氣門(mén)的開(kāi)度,使實(shí)際的開(kāi)度與控制開(kāi)度達到一致,從而實(shí)現車(chē)速的自動(dòng)控制。
1.2 舵機控制原理
  舵機是一種位置(角度)伺服驅動(dòng)器,適用于那些角度需要不斷變化并可以保持的系統。S3003型舵機有3個(gè)引腳,分別為電源Vcc、地GND和控制線(xiàn)Signal??刂菩盘栍蒘ignal通道進(jìn)入信號調制芯片,獲得直流偏置電壓[2]。它的內部有一個(gè)基準電路,產(chǎn)生周期為20 ms、寬度為15 ms的基準信號,將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差輸出。最后,電壓差的正負輸出到電機驅動(dòng)芯片以決定電機的正反轉。當電機轉速一定時(shí),通過(guò)級聯(lián)減速齒輪帶動(dòng)電位器旋轉,使得電壓差為0,電機停止轉動(dòng)。
  控制線(xiàn)的輸入是一個(gè)寬度可調的周期性方波脈沖信號,方波脈沖信號的周期為20 ms(即頻率為50 Hz)。當方波的脈沖寬度改變時(shí),舵機的角度發(fā)生改變,角度變化與脈沖寬度成正比。其輸出軸轉角與輸入脈沖寬度關(guān)系如圖1所示。
基于A(yíng)RM Linux的電子控制油門(mén)設計
圖1 舵機輸出轉角與輸入脈沖寬度關(guān)系
2 系統設計
  本系統采用三星公司的S3C2410和Futaba公司的S3003型舵機分別作為控制器和執行器,使用操作系統,實(shí)驗平臺為濟南恒信有限公司的發(fā)動(dòng)機實(shí)驗平臺。
基于A(yíng)RM Linux的電子控制油門(mén)設計
圖2 系統流程
2.1 系統設計流程
  系統流程如圖2所示??刂破鱏3C2410完成各項初始化工作,接收來(lái)自操作人員的cmd指令,根據cmd的值來(lái)進(jìn)行一系列的處理,包括停止執行器、旋轉多少角度等。然后通過(guò)節氣門(mén)開(kāi)度傳感器和轉速傳感器計算出等效的cmd值,并與cmd進(jìn)行比較以決定是進(jìn)行下一次cmd的判斷,還是調整執行器的角度。
2.2 設置系統時(shí)鐘頻率
  為了降低電磁干擾和降低板間布線(xiàn)要求,芯片外接的晶振頻率通常很低,通過(guò)時(shí)鐘控制邏輯的PLL提高系統時(shí)鐘[3]。在三星公司的S3C2410A手冊中列出了推薦的幾種時(shí)鐘頻率,這里我們選用輸出時(shí)鐘頻率FCLK=20280 MHz的配置,即PLL控制寄存器中的:MDIV=161(0xa1)、PDIV=3、SDIV=1。
  在UBoot的board/smdk2410/smdk2410.c中進(jìn)行設置:
#define M_MDIV 0xA1
#define M_PDIV 0x3
#define M_SDIV 0x1
int board_init (void){
  ……
  /* configure MPLL */
  clk_power﹥MPLLCON = ((M_MDIV ﹤﹤ 12) + (M_PDIV ﹤﹤ 4) + M_SDIV);
  ……
}
  在UBoot的cpu/arm920t/start.S中設置FCLK、HCLK、PCLK的比例:
  /* FCLK:HCLK:PCLK = 4:2:1*/
  ldrr0, =CLKDIVN
  mov r1, #3
  strr1, [r0]
  由以上程序可知FCLK=202.80 MHz,HCLK=10140 MHz,PCLK=50.70 MHz,而S3C2410的PWM模塊使用的時(shí)鐘是PCLK,所以PWM的輸入時(shí)鐘為50.7 MHz。
2.3 舵機驅動(dòng)程序編寫(xiě)
2.3.1 使用udev來(lái)動(dòng)態(tài)建立設備節點(diǎn)
   2.6系列的內核使用udev來(lái)管理/dev目錄下的設備節點(diǎn)。同時(shí)它也用來(lái)接替devfs及hotplug的功能,這意味著(zhù)它要在添加/刪除硬件時(shí)處理/dev目錄以及所有用戶(hù)空間的行為,包括加載firmware時(shí)。udev依賴(lài)于sysfs輸出到用戶(hù)空間的所有設備信息,以及當設備添加或者刪除時(shí)/sbin/hotplug對它的通知[4]。
  為了udev能夠正常工作,一個(gè)設備驅動(dòng)程序要做的事情是通過(guò)sysfs將驅動(dòng)程序所控制設備的主設備號和次設備號導出到用戶(hù)空間。udev在sysfs中的/class/目錄樹(shù)中搜索名為dev的文件,這樣內核通過(guò)/sbin/hotplug接口調用它的時(shí)候,就能獲得分配給特定設備的主設備號和次設備號[5]。一個(gè)設備驅動(dòng)程序只需要使用class_create接口為它所控制的每個(gè)設備創(chuàng )建該文件。 linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: ARM Linux 電子控制油門(mén)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>