江華麗
(福建師范大學 閩南科技學院, 福建 泉州, 362332)
隨著生活水平的日益提高,人們對交通工具的需求也越來越大,尤其是對汽車的需求。與此同時,道路上的車流量密度也在急劇增加,交通擁堵給我們帶來很大的困擾,碰瓷現象也時有發生。一旦發生交通事故,很難協調事故發生的人事糾紛;并且,交通事故發生在一些比較偏辟的地方,路況沒有監視,警方也很難判斷哪方的對錯。汽車行駛記錄儀巧小,易于方便安裝在車輛上,可以全程同步記錄、監視車輛在路況的運行狀態,可以很好的為出現交通事故提供很好的證據。專門為汽車內部構造設計,并且幫助司機和交通部門實時監控機車內運行狀況。因此,非常有必要在汽車上配備科學、有效的行車記錄儀。
汽車行車記錄儀的功能主要由4部分組成[1-3]:觸摸屏、圖像的采集與解碼、語音編解碼和SD卡。采用LCD顯示屏進行界面顯示結合Qt開發、運用C、C++進行界面的設計及實現響應用戶觸摸實現相應的功能。通過訪問LINUX的dev目錄下fb0的節點,來操作LCD顯示屏的顯示,通過ioctl函數來獲取這個屏的長、寬、顏色深度;通過mmap映射frambuffer地址到用戶空間;把圖片數據拷貝到用戶空間的frambuffer地址-〉達到顯示圖片的效果。圖像的采集是運用CMOS攝像頭進行,進行對圖像的編碼為二進制數,讓CPU識別。通過open/dev/camera來訪問攝像頭,再通過ioctl函數來獲取這個攝像頭的長、寬顏色的深度,根據實際情況的需要來截取所需大小的圖片;并把565格式的圖片轉換為888格式的圖片,將獲取的圖片壓縮為JPEP圖像,設置壓縮的對象,圖像寬、高、色彩通道數;當錄制一定數量的圖片則可以開始編碼為視頻文件。采用UDA1341進行語音編解碼。UDA1341音頻編解碼器芯片,使用一種新的芯片FM1182語音處理,可以實現噪聲抑制和回波消除。通過UDA1341TS抽樣對語音信號的模擬,用來對采樣頻率的音頻編解碼器芯片UDA1341TS設置為9 kHz。采用SD卡為介質存儲錄像錄音文件。該系統的SD卡支持8~32 GB的容量,滿足長時間錄制視頻和語音。設計的總體框圖,如圖1所示。

圖1行車記錄儀設計框圖
S3C2440[4-12]內部資源豐富,集成度高,其結構是基于ARM9的架構,時鐘總線分成3部分,經過外部晶振再通過鎖相環增大,提供給CPU工作。CPU內核強大,是基于一個32位的高級精簡指令,內存有高數緩存區,操作內存時,運速度快。
S3C2440它的主要特性參數有以下幾點:
(1) 有4個通道DMA并有外部請求引腳;
(2) 3通道UART(IrDA1.0, 64字節發送FIFO和64字節接收FIFO);
(3) 2通道SPI;
(4) 1通道IIC總線接口(支持多主機);
(5) 1通道IIS總線音頻編碼器接口;
(6) 2通道USB主機/1通道USB設備(1.1版);
(7) 常用PWM定時器和捕獲;
(8) 8通道10位ADC和觸摸屏接口;
(9) 攝像頭接口(最大支持2048×2048像素輸入支持縮放);
(10) 130個通用I/O口和24通道外部中斷源;
(11) 具有普通,慢速,空閑和掉電模式;
(12) 具有PLL片上時鐘發生器。
NAND FALSH電路如圖2所示。特性如下:
(1) 關于引導啟動:引導代碼在復位期間被傳送到4 Kbyte字節的Steppingstone。傳送后,引導代碼將在Steppingstone中執行;
(2) NAND Flash存儲器接口:支持256 byte,512 byte,1 kbyte和2 kbyte頁;
(3) 接口:8/16位NAND Flash存儲器接口總線;
(4) 硬件ECC生成,檢測和指示(軟件糾錯);
(5) SteppingStone接口:支持大/小端模式的按字節/半字/字訪問。

圖2NAND FALSH電路
引腳功能說明,如表1所示。

表1 K9F1208引腳功能說明
NOR 自主boot OM[1:0]=10,copy_proc_beg分別復制RO RW到SDROM,并清BSS,作中斷安裝,跳到主函數。NOR 加載boot OM[1:0]=10 代碼已經在內存中,copy_proc_beg 修正RW數據,并清BSS,作中斷安裝,跳到主函數。NOR Flash片上執行功能(執行到位),所以在Flash應用程序可以直接運行,不需要將代碼拷貝到系統內存。
UDA1341[9-13]在工作模式時,需要提高時鐘,提供外部時鐘時,系統的頻率可以選擇。系統時鐘必須對數字接口信號鎖定頻率,UDA1341的模擬端口是由兩個分辨率高的模數轉換器組成,每個模數轉換器有兩個通道,其中每個通道都有一個可編程的增益放大器(PGA),增益倍數可以通過配置寄存器來選擇。可選擇的0或6dB的增益級,通過L3接口來控制。L3格式通過IIS協議進行通信,在這種格式下可以通過地址模式和傳輸模式進行操作,這兩種模式也是通過L3協議來實現的,各有各自的優缺點。地址模式是通過L3總線進行數據傳輸,從而進行選擇設備,它的傳輸方向是雙向的。數據在傳輸過程中可以是雙向也可以選擇為單向的。模擬信號輸入到UDA1341中通過配置寄存器來編碼聲音處理和系統控制特性,期間需要通過對信號進行濾波和采樣。

圖3NOR FALSH電路

圖4UDA1341電路
當系統電源關閉時,實時時鐘(RTC)可以通過備用電池工作,保持數據的不丟失。RTC可以通過對寄存器的讀寫操作發送8位數據BCD碼值數據給CPU,CPU再對這些數據進行分解和讀取。這些數據包括年、月、日、星期、時、分和秒的時間信息。
BCD數:年、月、日、星期、時、分和秒
· 閏年發生器
· 鬧鐘功能:鬧鐘中斷或從掉電模式喚醒
· 已解決的2000年問題
· 獨立電源引腳(RTCVDD)
這些數據包括年、月、日、星期、時、分和秒的時間信息,RTC單元工作在外部32.768 kHz晶振并且可以執行鬧鐘功能。為了提高實時時鐘的準確性,RTC 中外圍電路的晶體振蕩電路,提供一個更準確的時鐘源。 串行時鐘線對數據線上信息的同步采樣和同步移位,實現高速率的傳輸。傳輸頻率是通過設置SDIPRE寄存器相應位來控制。
編程SDI模塊需要以下幾個基本步驟:
(1) 設置SDICON配制適當的時鐘和中斷使能;
(2) 設置SDIPRE配制為適當值;
(3) 等待為初始化卡的74個SDCLK時鐘周期;
(4) 寫數據超時時間到SDIDTimer;
(5) 寫塊大小(塊長度)到SDIBSize;
(6) 確定塊方式,寬總線或DMA等并通過設置SDIDatCon啟動數據傳輸;
(7) Tx數據→寫數據到數據寄存器(SDIDAT),其中Tx FIFO為可用(TFDET為置位),或一半(TFHalf為置位),或空(TFEmpty為置位);
(8) Rx數據→從數據寄存器(SDIDAT)讀數據,其中Rx FIFO為可用(RFDET為置位),或滿(RFFull為置位),或一半(RFHalf為置位),再或最后數據就緒(RFLast為置位)。
該模塊具有處理噪聲性能好和線性特性穩定,支持片上編程放大器(PGA)中具有低噪聲和高輸入阻抗,增益倍數可通過配置寄存器來調節,可以很好的抑制噪聲。
V4L2[14-16](video for linux)可以支持多種設備,它可以有以下3種接口:
(1) 視頻采集接口(video capture interface):這種應用的設備驅動是萬能的,可以任何一款攝像頭,V4L2的最初設計就是應用于這種功能,驅動程序不要多大的改變;
(2) 視頻輸出接口(video output interface):可以驅動外部設備的其他視頻圖像設備—自動轉換為配備到像可以輸出電視信號格式的設備;
(3) 直接傳輸視頻接口(video overlay interface):它的主要工作是把從視頻采集設備采集過來的信號直接輸出到輸出設備之上,read與write這種方式,它像其他設備驅動一樣,也可以直接的內存訪問,可以通過其映射方式來傳輸。
對于應用中最小的功率消耗重要的是,在低功耗模式下,可以選擇(寄存器位MODE = 0 )。在低功耗模式下,功率減小到17 mW( 25 mW)和信噪比減小平均3 dB,默認模式為高分辨率。
本模塊主要是為了實現播放錄制的視頻和播放音樂,特點通過觸摸屏響應用戶的操作。功能實現播放、暫停、 上一曲、下一曲、音量增,音量減、快進快退功能。實現在播放音視頻中增減音量,播放中自由切換音視頻,播放中客隨意暫停繼續。實現播放錄音及播放視頻等功能(見圖5)。

圖5 錄制和播放模塊
本模塊從系統中瀏覽圖片及選擇特效的顯示,采集視頻收集的數據。功能實現圖片瀏覽(上一幅,下一幅)、特效顯示。當觸摸屏產生ADC中斷,得到的數據經模數轉換后得到的數據,再經過換算得到像素點的位置(見圖6)。

圖6 圖片瀏覽界面
本設計是基于S3C2440嵌入式系統實現全程錄像,在緊急的情況下可以自動拍照,全方位拍照,不漏證據,可選擇是否錄音,查看SD卡里面的內容,瀏覽圖片。它的創新點在于當儲存卡存滿時,可以自動覆蓋前面所錄制的數據,無需人工刪減,可在線觀看所錄制的視頻及音頻文件,操作簡單。
參考文獻(References):
[1]胡偉松.基于嵌入式的智能控制[D].武漢:武漢大學學院,2014(6):71-75.
[2]李小強.基于TFT視頻色彩控制應用研究 [D].華中科技大學,2014:1-283.
[3]吳迪.零基礎學QT4編程[M].北京:北京航空大學出版社, 2012:38-40.
[4]劉明光.HID技術開發與應用研究[J].北京交通大學學報,2005,18(10):33-34.
[5]孫偉.某工程車載系統設計[J].機械研究與應用, 2015,21(3):82-83.
[6]肖奎. C++語言的設計和演化 [J].哈爾濱工業大學學報,2011,19(1):153-156.
[7]李佳強.基于QT的ARM-Linux應用設計[J].應用編程研究,2011,22(4):33-35.
[8]江華麗.基于嵌入式的網絡終端研究及其應用軟件設計[J]. 電子測量技術,2008,31(176):147-150.
[9]江華麗.網絡化控制的嵌入式研究[J]. 電子測量技術,2009,32(181):120-123.
[10]江華麗.基于遺傳算法的有源消聲系統設計[J]. 電子測量技術,2012,35(9):49-51.
[11]神經網絡混合算法的應用研究[J].電子測量技術,2014,37(10): 59-61.
[12]Sushabhan Choudhury, Piyush Kuchhal,Rajesh Singh,Anita.ZigBee and bluetooth network based sensory data acquisition system[J]. Procedia Computer Science,2015(48) :367-372.
[13]Liu Zhen-ya. Hardware design of smart home system based on zigbeewireless sensor network[J]. AASRI Procedia,2014(8) :75-81.
[14]林銳.高質量程序設計指[J].應用編程研究,2015,15(4):18-25.
[15]劉銳寧.Visual C++開發典型模塊大全[M].北京:清華大學出版社, 2012.
[16]李仁見.基于QT4開源跨平臺開發框架[J].應用編程研究,2013,15(4):18-25.