《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動態(tài) > 基于嵌入式汽車智能防盜系統(tǒng)研究

基于嵌入式汽車智能防盜系統(tǒng)研究

2009-06-16
作者:陳承貴1,, 羅克露2

  摘 要: 根據(jù)嵌入式的設(shè)計應(yīng)用,,采用ARM9作為報警系統(tǒng)的控制裝置,,選用集成音頻驅(qū)動電路和汽車控制傳感等部件,,同時還為系統(tǒng)安裝了智能卡和使用方便的新型UHF遠程發(fā)射電路,,配合軟件和操作系統(tǒng),,改進了汽車智能防盜功能,并且具有智能,、安全和性價比高等優(yōu)點,。
  關(guān)鍵詞: 嵌入式;智能,;音頻,;報警;遠程控制

?

  隨著社會經(jīng)濟的發(fā)展及電子技術(shù)的應(yīng)用,,人們在享受汽車帶來的方便與快樂的同時,,也在為汽車安全防盜問題憂慮。如何解決汽車防盜問題,,電子設(shè)計師們研制出不同方式,、不同結(jié)構(gòu)的防盜報警系統(tǒng)。在基于GPRS 和嵌入式計算機的遠程監(jiān)控系統(tǒng)研究[1]中,,對汽車進行視頻遠程監(jiān)控進行了詳細的研究,,GPRS與GPS在汽車信息服務(wù)系統(tǒng)中的設(shè)計應(yīng)用研究[2]中,利用GPS衛(wèi)星導(dǎo)航技術(shù)對汽車的遠程定位進行實時監(jiān)控,。上述課題的研究都是大眾化的服務(wù),,針對現(xiàn)代汽車的防盜系統(tǒng),如何提供智能化和個性化的汽車防盜系統(tǒng),,這無疑在汽車工業(yè)高速發(fā)展的今天具有更重要的實踐意義和商業(yè)前景,。本文提出了基于嵌入式汽車智能防盜系統(tǒng)的構(gòu)建,并設(shè)計了帶智能卡技術(shù)和遠程遙控技術(shù)的智能防盜車門,,同時進行了個性化的音頻報警驅(qū)動軟硬件的設(shè)計,。
1 汽車智能防盜系統(tǒng)的功能及構(gòu)成
  汽車智能防盜系統(tǒng)遠程控制車門的關(guān)閉,并同時啟動智能防盜功能,。正常開啟車門時,,可以使用常用的遠程遙控鑰匙,同時也可以由IC卡開啟車門,。當(dāng)出現(xiàn)碰撞和非正常開啟車門時,,汽車各種防盜傳感部件檢測到信號,通過聲音報警電路發(fā)出急促的報警聲音,,同時由無線通信模塊發(fā)出短信息,,以此來通知車主汽車的當(dāng)前狀況,車主根據(jù)信息對汽車發(fā)出控制指令,。
本系統(tǒng)總體框圖如圖1所示,,它由嵌入式ARM核心控制模塊,、存儲器模塊、無線通信模塊,、遠程控制模塊,、汽車防盜檢測驅(qū)動模塊、人機接口模塊和聲音報警模7大模塊組成,。


  嵌入式ARM核心控制由ARM920TDMI的32位微處理器SamsungS3C2410X[3]芯片實現(xiàn),,該芯片共有272只引腳,它采用了FBGA封裝技術(shù),,具有大量的電源,、接地引腳、地址總線,、數(shù)據(jù)總線,、通用I/O口以及其他的專用模塊,如UART,、I2C等接口,。在硬件系統(tǒng)中,芯片引腳的類型有輸入(I),、輸出(O),、輸入/輸出(I/O)等。輸出類型的引腳主要用于S3C2410X對外設(shè)的控制或通信,,由S3C2410X主動發(fā)出,,這些引腳的連接不會對S3C2410X自身的運行有太大的影響。輸入/輸出類型的引腳主要是S3C2410X與外設(shè)的雙向數(shù)據(jù)傳輸通道,。在參考文獻[2]中,,對GPRS模塊和GPS模塊的嵌入式開發(fā),以及如何應(yīng)用這兩個模塊實現(xiàn)短信息收發(fā)通信等系統(tǒng)功能進行了詳細的研究設(shè)計,。人機接口模塊通過LCD觸摸顯示屏完成人機交互功能,。存儲器模塊由Flash RAM和SDRAM組成,實現(xiàn)引導(dǎo)程序存儲和執(zhí)行中的程序及產(chǎn)生的數(shù)據(jù)存儲,,在嵌入式系統(tǒng)開發(fā)與應(yīng)用[4]中有了較好的說明,。防盜檢測驅(qū)動模塊包括汽車的車門智能卡傳感與檢測、位移傳感與檢測,、點火傳感與檢測,、電源傳感與檢測、方向盤傳感與檢測等,,汽車防盜檢測驅(qū)動接口部分通過各種傳感的聲學(xué)量和物理量的監(jiān)測,,把監(jiān)測的參數(shù)通過A/D轉(zhuǎn)換,由CAN總線傳送給ARM9處理??傊?,系統(tǒng)在嵌入式芯片ARM9TDMI控制下,通過軟件和硬件的結(jié)合,,實現(xiàn)了汽車防盜報警智能化,。下面主要對汽車智能防盜的關(guān)鍵部分車門智能卡、音頻報警模塊軟硬件及遠程控制發(fā)射模塊硬件進行研究,。
2?系統(tǒng)關(guān)鍵硬件部分設(shè)計
2.1 智能卡硬件部分設(shè)計
  智能卡(Smart Card)是把集成電路芯片嵌入塑料基片中,,利用讀卡器,讀取卡上的存儲數(shù)據(jù),,進行身份認(rèn)證。智能卡主要有存儲卡,、邏輯加密卡和CPU卡,。本系統(tǒng)中使用的存儲卡,選取Atmel公司的AT24C04,。 AT24C04[5]是美國Ateml公司的AT24系統(tǒng)2線串行(I2C總線協(xié)議)EEPROM芯片,。該芯片支持雙向數(shù)據(jù)傳輸協(xié)議,16 B頁面寫入方式,,自定時寫入周期最大10 ms,,具有高可靠性,可使用100 000次寫/擦除,,數(shù)據(jù)保留期為100年,,且提供多種封裝形式。存儲芯片為8引腳,,其中4個引腳未引用,,另外4個引腳分別為VCC、SCL,、SDAT和GND,。串行時鐘輸入SCL(Seial Clock Input),當(dāng)串行時鐘為上升沿時,,數(shù)據(jù)輸入到芯片,;串行時鐘為下降沿時,數(shù)據(jù)從芯片中輸出,。串行數(shù)據(jù)SDA(Serial Data),,設(shè)置為雙向串行傳送數(shù)據(jù)。該端為漏極開路驅(qū)動,,可與任意數(shù)量的其他漏極開路或集電極開路器件“線或”,。器件/頁面地址(Devicpage Addresses)有A2、A1、A0,它們作為器件的地址輸入端,,應(yīng)用于標(biāo)準(zhǔn)封裝中,,在IC卡模塊封裝中不將A2、A1,、A0引出到觸點上,。
  AT24C04的器件讀寫操作分成5個部分。(1)開始狀態(tài):SCL處于高電平時,,SDA從高電平轉(zhuǎn)向低電平表示一個“開始”狀態(tài),,該狀態(tài)表示一種操作的開始,因此必須在任何其他命令之前執(zhí)行,;(2)確認(rèn)應(yīng)答:所有地址和數(shù)據(jù)字以8位碼串行輸入/輸出EEPROM,,EEPROM在收到每個地址或數(shù)據(jù)碼之后,置SDA于低電平作為確認(rèn)應(yīng)答,,該確認(rèn)應(yīng)答發(fā)生于第9個時鐘周期,;(3)輸出數(shù)據(jù):數(shù)據(jù)按字節(jié)(8位)逐位輸出,每個時鐘脈沖輸出1位,。SDA總線上的數(shù)據(jù)應(yīng)在SCL低電平期間改變,,在SCL高電平期間穩(wěn)定;(4)輸入數(shù)據(jù):數(shù)據(jù)按字節(jié)(8位)逐位輸入,,每個時鐘脈沖輸出1位,;在SCL低電平期間將數(shù)據(jù)送往SDA總線上,在SCL高電平期間SDA總線上的數(shù)據(jù)穩(wěn)定,,供接口設(shè)備讀?。唬?)停止?fàn)顟B(tài):SCL處于高電平時,,SDA由低電平轉(zhuǎn)向高電平表示一個“停止”狀態(tài),。該狀態(tài)表示一種操作的結(jié)束并將終止所有通信。
  智能卡與ARM9芯片的連接利用I2C總線進行通信,,如圖2所示,。

2.2 音頻報警部分硬件設(shè)計
  嵌入式ARM9芯片S3C2410X的聲音報警電路,利用S3C2410X支持的I2S總線,,結(jié)合音頻驅(qū)動芯片UDA1341TS的部分功能,,外加音頻功放電路,實現(xiàn)防盜報警,。
  音頻驅(qū)動芯片UDA1341TS引腳功能描述如表1所示,。

  嵌入式ARM9芯片S3C2410X芯片的各種傳感器接收到監(jiān)測的物理參數(shù),由S3C2410X進行內(nèi)部處理,,報警數(shù)據(jù)信號通過S3C2410X芯片的I2S接口輸出,,即串行數(shù)據(jù)輸入(I2SDI),、串行數(shù)據(jù)輸出(I2SDO)、通道選擇(I2SLRCK)和串行時鐘(I2SCLK),,連接到音頻驅(qū)動芯片UDA1341TS的I2S音頻接口,,即DATA0、DATA1,、WS,、BCK、SYSCLK端口,。
  本系統(tǒng)由KD-9561產(chǎn)生報警音樂,,同時也可以提供個性化的報警聲音,利用音頻UDA1341TS芯片的聲音輸入接口,,連接小型麥克風(fēng),,對UDA1341TS聲音輸入接口的模擬音頻信號進行模數(shù)轉(zhuǎn)換,采集音頻數(shù)據(jù)信號,,由ARM芯片的I2S控制器讀I2S總線,,通過DMA2通道實現(xiàn)個性化報警音存放在內(nèi)核的DMA緩存區(qū)。保存的報警聲音數(shù)據(jù)傳輸由內(nèi)部總線送到內(nèi)存,,然后傳到BDMA控制器通道,再通過I2S控制器寫入I2S總線,,最后傳輸給音頻驅(qū)動芯片UDA1341TS,。音頻驅(qū)動芯片對報警聲音的處理,由24與26腳輸出音頻信號,,經(jīng)過功放進行功率放大,,揚聲器轉(zhuǎn)換聲音報警。具體實現(xiàn)電路如圖3所示,。

?


2.3 汽車遠程控制發(fā)射硬件部分設(shè)計
  汽車遠程控制由遠程控制發(fā)射和遠程控制接收兩部分組成,,遠程控制接收電路通過UHF無線接口,接收到遠程控制信號,,進行解碼處理,,送ARMS3C2410X芯片進行處理。本文只研究發(fā)射部分,,實際就是遙控發(fā)射器,。本部分電路采用Atmel公司新型RF發(fā)送器芯片ATA5771作為汽車的遠程控制發(fā)射器,芯片為系統(tǒng)級封裝 (SiP),集成了Atmel知名的AVR微控制器ATtiny44V和RF發(fā)送器T5750/53/54,,使用的頻率為868 MHz~928 MHz,,并采用微型QFN24封裝,尺寸僅為5 mm x 5 mm,,能夠用具有競爭力的成本設(shè)計出極小的鑰匙,。A5771的原理框圖如圖4所示。

?


  控制發(fā)射器作為指令的發(fā)射終端,它由ATtiny44把PA端口的按鍵信號,,由內(nèi)部的ADC電路轉(zhuǎn)換為數(shù)字信號,,寫入8 bit的數(shù)據(jù)總線并進行數(shù)據(jù)運算,轉(zhuǎn)換成對應(yīng)的控制命令,,用T5750進行FSK鎖相環(huán)調(diào)制發(fā)射,。發(fā)射在UHF波段范圍內(nèi)。遠程控制發(fā)射模塊主要由內(nèi)部SRM,、EEPROM,、PROGRAM FLASH、CPU核心,、Power up/down,、PLL和50Ω的微帶天線組成。CPU核心是整個控制器的核心,,處理外部來的指令及運算數(shù)據(jù),。鎖相環(huán)部分由PLL、VCO和XTO三部分對需發(fā)射的頻率和相位進行控制,,保證UHF信號的相位穩(wěn)定,。微帶天線的阻抗為50Ω,實現(xiàn)RF信號與UHF無線信號的轉(zhuǎn)換,。遠程控制發(fā)射器具體電路如圖5所示,。

?


3 系統(tǒng)關(guān)鍵部分軟件設(shè)計
3.1智能卡部分軟件設(shè)計
  智能卡驅(qū)動程序的實現(xiàn):
  #define DTYPE_ALL?????? 0 //芯片控制命令
  #define DTYPE_SECURITY? 1 //加密命令
  #define DTYPE_ICCARD??? 2 //智能卡讀寫命令
  ...
  #define ICCARD_IC2404_name “iccard24c04”
  #define ICCARD_NAME “iccard”
  typedef struct{
  ICCARD_data card_data; /*IC卡數(shù)據(jù)*/
  Int lasterrcode;?????? /*最后的錯誤碼*/
  Wait_queue_head_t wq;? /*等待隊列*/
  Spinlock_t lock;?????? /*自旋鎖*/
  }ICCARD_DEV;
  ...
  *******************調(diào)用內(nèi)核函數(shù)*********
   static struct file_operations mega8_iccard_fops={
  owner: this_module,
?  llseek: mega8_iccard_llseek,//IC卡定位函數(shù)
?  read: mega8_iccard_read,? // IC卡設(shè)備文件系統(tǒng)讀函數(shù)
?  write: mega8_iccard_write, // IC卡設(shè)備文件系統(tǒng)寫函數(shù)
?  open: mega8_iccard_open,? //IC卡設(shè)備文件系統(tǒng)的打開設(shè)備文件函數(shù)
?  release: mega8_iccard_release,// IC卡設(shè)備文件系統(tǒng)的釋放設(shè)備文件函數(shù)
  #if 0
  poll: mega8_iccard_poll,
  #endif
  ioctl: mega8_iccard_ioctl,};
  上面的程序可以把IC卡的驅(qū)動加入到內(nèi)核當(dāng)中,實現(xiàn)用戶文件系統(tǒng)的接口,。用戶通過程序去調(diào)用內(nèi)核函數(shù)llseek,、open、read,、write,、release、poll,、ioctl的子程序,,這里省略。
3.2 音頻驅(qū)動部分軟件設(shè)計
  //**************** [ Record_Iis ] ************
  void Record_Iis(void){
  unsigned int save_B, save_E, save_PB, save_PE;
  Uart_TxEmpty(0);
  ChangeClockDivider(1,1);??????? //1:2:4
  ChangeMPllValue(0x96,0x5,0x1);? //FCLK=135428571Hz, PCLK=3.385714MHz
  Uart_Init(33857142,115200);
  Uart_Printf('[ IIS (Master Mode) Test (Record Using UDA1341 codec) ]n');
  save_B = rGPBCON;??????
  save_E = rGPECON;??????
  save_PB = rGPBUP;
  save_PE = rGPEUP;
  IIS_PortSetting();
??????????? //--- Record Buf initialize
??? ??????? //Non-cacheable area = 0x31000000 ~ 0x33feffff
  rec_buf = (unsigned short *)0x31000000;
  pISR_DMA2 = (unsigned)DMA2_Rec_Done;
  pISR_EINT0 = (unsigned)Muting;
  rINTMSK = ~(BIT_DMA2);
  Init1341(RECORD); //--- DMA2 Initialize
  rDISRCC2 = (1<<1) + (1<<0);//APB, Fix?
  rDISRC2 = ((U32)IISFIFO);//IISFIFO
  rDIDSTC2 = (0<<1) + (0<<0); ????? ?//PHB, Increment
  rDIDST2 = (int)rec_buf;//0x31000000 ~
  rDCON2= (1<<31)+(0<<30)+(1<<29)+(0<<28)+(0<<27)+(1<<24)+(1<<23)+(1<<22)+(1<<20)+REC_LEN;
    //Handshake, sync PCLK, TC int, single tx, single service, I2SSDI, I2S Rx request,
    //Off-reload, half-word, 0x50000 half word.
  rDMASKTRIG2 = (0<<2) + (1<<1) + 0;??? //No-stop, DMA2 channel on, No-sw trigger
  //=========================================
  void _WrL3Addr(U8 data){??????
  S32 i,j;
  rGPBDAT = rGPBDAT & ~(L3D | L3M | L3C) | L3C;
  //L3D=L, L3M=L(in address mode), L3C=H
  for(j=0;j<4;j++){ ??//tsu(L3) > 190ns
  //GPB[4:2]=L3C:L3D:L3M
  for(i=0;i<8;i++){???????????? ? ?//LSB first???
  if(data & 0x1)?{??//If data's LSB is 'H'
  rGPBDAT &= ~L3C;??//L3C=L
  rGPBDAT |= L3D; ??//L3D=H????????????
  for(j=0;j<4;j++);???//tcy(L3) > 500ns
  rGPBDAT |= L3C;??//L3C=H
  rGPBDAT |= L3D;??//L3D=H
  for(j=0;j<4;j++);???//tcy(L3) > 500ns
  }
  else{????????????????????????????????????????? //If data's LSB is 'L'
??? ?? rGPBDAT &= ~L3C;?//L3C=L
?????  rGPBDAT &= ~L3D;?//L3D=L
?????  for(j=0;j<4;j++);??//tcy(L3) > 500ns
?????  rGPBDAT |= L3C;??//L3C=H
?????  rGPBDAT &= ~L3D;?//L3D=L
???? ? for(j=0;j<4;j++);??//tcy(L3) > 500ns???????????
  }
  data >>= 1;
  }
  rGPBDAT? = rGPBDAT & ~(L3D | L3M | L3C) | (L3C | L3M);???????????//L3M=H,L3C=H??
  }
  //==========================================
  void _WrL3Data(U8 data,int halt) {
  S32 i,j;
  if(halt){
??????????? rGPBDAT? = rGPBDAT &~(L3D | L3M | L3C) | L3C;
??????????? //L3C=H(while tstp, L3 interface halt condition)???????
??????????? for(j=0;j<4;j++);?//tstp(L3) > 190ns
  }
  rGPBDAT? = rGPBDAT & ~(L3D | L3M | L3C) | (L3C | L3M);????????? //L3M=H(in data transfer mode)???????
  for(j=0;j<4;j++);??//tsu(L3)D > 190ns
????????????????????????????????????? //GPB[4:2]=L3C:L3D:L3M
  for(i=0;i<8;i++){
????if(data & 0x1) {????????????????? ?//if data's LSB is 'H'
????????????? rGPBDAT &= ~L3C;? //L3C=L
????????????? rGPBDAT |= L3D;?//L3D=H
????????????? for(j=0;j<4;j++);??//tcy(L3) > 500ns
????????????? rGPBDAT |= (L3C | L3D);?//L3C=H,L3D=H
????????????? for(j=0;j<4;j++);??//tcy(L3) > 500ns
  }
  else{????//If data's LSB is 'L'
???   ??  rGPBDAT &= ~L3C;??//L3C=L
???????    rGPBDAT &= ~L3D;??//L3D=L
???????    for(j=0;j<4;j++);???//tcy(L3) > 500ns
????????    rGPBDAT |= L3C;???//L3C=H
??????????????rGPBDAT &= ~L3D;??//L3D =L
????????????? for(j=0;j<4;j++);???//tcy(L3) > 500ns
    }
    data >>= 1;???//For check next bit
    }
    rGPBDAT? = rGPBDAT & ~(L3D | L3M | L3C) | (L3C | L3M);????????? //L3M=H,L3C=H
  }
  本系統(tǒng)經(jīng)過仿真實驗,,結(jié)果顯示各項技術(shù)指標(biāo)得以很好的實現(xiàn),。系統(tǒng)采用ARM9作為系統(tǒng)處理控制中心,應(yīng)用智能卡和新型遠程控制UHF無線發(fā)射技術(shù),,結(jié)合音頻驅(qū)動報警功能,,實現(xiàn)了智能化、性能優(yōu)良,、安全可靠,、性價比高的防盜系統(tǒng),。課題現(xiàn)正向基于人體生物防盜方向發(fā)展,未來將增加指紋自動識別汽車防盜功能,。

參考文獻
[1] 蔚承英.基于GPRS 和嵌入式計算機的遠程監(jiān)控系統(tǒng)研究[J].無線通信技術(shù),,2007,16(4):47-48.
[2] 陸小鋒.GPRS與GPS在汽車信息服務(wù)系統(tǒng)中的設(shè)計應(yīng)用[J].微計算機信息,2005,21(3):188-189.
[3] Samsung Electronics CO.,Ltd.S3C2410X 32-Bit RISC microprocessor user’s manual[ol].2003.
[4] 熊茂華,,楊震倫.ARM9嵌入式系統(tǒng)設(shè)計與開發(fā)應(yīng)用[M].北京:清華大學(xué)出版社,2008:69-76.
[5] 劉守義.智能卡技術(shù)[M].西安:西安電子科技大學(xué)出版社,,2007.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點,。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問題,,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。