基于嵌入式Linux的倒車影音系統(tǒng)設(shè)計
2.3 超聲波接收電路
超聲波接收電路原理圖如圖4所示。CX20106A是一款紅外線檢波接收的專用芯片,常用于電視機(jī)紅外遙控接收器。其優(yōu)點(diǎn)是簡單易用,電路連接簡單,且減少了生產(chǎn)調(diào)試的麻煩。當(dāng)CX20106A接收到40 kHz的信號時,會在第7腳產(chǎn)生一個低電平下降脈沖,這個信號可以接到ARM的外部中斷引腳作為中斷信號輸入。本文引用地址:http://butianyuan.cn/article/197620.htm
2.4 USB攝像頭圖像采集模塊
采用中星微電子ZC0301芯片組的USB數(shù)字?jǐn)z像頭。與模擬攝像頭相比,其優(yōu)勢在于:CMOS圖像傳感器能直接產(chǎn)生圖像原始數(shù)據(jù);硬件支持標(biāo)準(zhǔn)的JPEG壓縮;具有主流高速的USB總線設(shè)備接口等。對攝像頭而言,USB總線的上的信息傳輸類型通常采用的是實(shí)時傳輸。USB設(shè)備端提供若干通信端口,主機(jī)與端口間建立起邏輯上的通信管道,進(jìn)行數(shù)據(jù)傳輸。在攝像頭的設(shè)備初始化階段,主機(jī)與0號端口通信,驅(qū)動程序檢測攝像頭型號和所有端口信息。進(jìn)入數(shù)據(jù)傳輸階段,主機(jī)與探測到的實(shí)時輸入端口建立通信管道,實(shí)時回傳攝像頭拍攝到的圖像數(shù)據(jù)。
2.5 語音報警模塊與LCD顯示模塊
語音報警模塊采用的是安徽中科大訊飛信息科技有限公司生產(chǎn)的XF-S3011中文語音合成芯片。它是一款針對嵌入式應(yīng)用領(lǐng)域而設(shè)計的單芯片處理器,具有合成任意中文文本的能力。XF-S3011通過串口(UART)接收上位機(jī)發(fā)送的命令和數(shù)據(jù),命令和數(shù)據(jù)是以幀的方式進(jìn)行封裝與發(fā)送,允許發(fā)送的數(shù)據(jù)最大長度為200個字節(jié)。其驅(qū)動電路是用三極管驅(qū)動方式設(shè)計的。當(dāng)超聲波測得的距離小于所設(shè)置的閾值時,由S3C2 440發(fā)送控制命令給XF-S3011,啟動語音報警提醒駕駛員注意。顯示模塊使用的是東華3.5寸TFT LCD(分辨率是320×240),采用嵌入式Linux下的Frame Buffer設(shè)備來驅(qū)動LCD。
3 系統(tǒng)軟件設(shè)計
本文選擇嵌入式Linux操作系統(tǒng)。它具有可裁剪、內(nèi)核穩(wěn)定、功能強(qiáng)大、支持多種硬件平臺等特點(diǎn)。首先,在一臺裝有Linux操作系統(tǒng)的PC機(jī)(宿主機(jī))上建立一個交叉編譯開發(fā)環(huán)境,把S3C2440控制模塊作為目標(biāo)板。然后,采用移植性較好的C語言在PC機(jī)上編寫本設(shè)計所需的底層驅(qū)動程序及頂層的應(yīng)用程序,再利用交叉編譯調(diào)試工具編譯、鏈接生成可執(zhí)行代碼,最后向目標(biāo)板移植。
3.1 視頻圖像采集及LCD顯示程序的設(shè)計
第l步,采用動態(tài)加載ZC0301組芯片的USB攝像頭驅(qū)動程序spca5xx。此驅(qū)動程序源代碼由4個部分組成:設(shè)備模塊的初始化模塊、卸載模塊、上層軟件接口模塊和數(shù)據(jù)傳輸模塊。把它放在kernel/driver/usb下解壓,打補(bǔ)丁。在編譯系統(tǒng)內(nèi)核時,在arm linux的kernel目錄下進(jìn)行make menueonfig;在*>下選擇Multimedia device下的Video for linux,加載Vide04linux模塊,為視頻采集設(shè)備提供編程接口函數(shù)
和相關(guān)數(shù)據(jù)結(jié)構(gòu);(M)選中SPCA5XX這一項(xiàng)。
第2步,使用Linux的Video4linux來訪問USB攝像頭設(shè)備,進(jìn)行視頻圖像采集,捕獲實(shí)時的數(shù)據(jù)流。程序流程如圖5所示。
為程序定義數(shù)據(jù)結(jié)構(gòu):
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論