新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于嵌入式Linux與S3C2440雙USB接口的視頻存儲

基于嵌入式Linux與S3C2440雙USB接口的視頻存儲

作者: 時間:2010-09-29 來源:網(wǎng)絡 收藏

  2 采集模塊

  整個模塊正常情況下主要由單片機系統(tǒng)提供電源。另外,外接一獨立直流電源裝置,以免在交通事故時汽車熄火斷電,影響系統(tǒng)工作。此模塊主要完成事件的功能,判斷功能由單片機模塊提供,另外依據(jù)串口實時掃描特性可提供時分復用觸發(fā)功能。模塊間獨立性高,適合移植到其他場合推廣使用。

  2.1 硬件連接及內(nèi)核配置修改

  2.1.1 硬件連接

  三星公司芯片共有2路HOST :DP[1:0]及DN[1:0]口,一路DIVICE PDN0,PDP0 口,其中DP1,DN1分別與PDP0,PDN0復用,根據(jù)相關(guān)寄存器配置不同而具有不同功能。本課題中,將其配置為2路HOST使用,一路連接USB攝像頭,另一路連接USB設備(可以是優(yōu)盤或者USB移動硬盤)。本文沒有用到芯片自帶的SD卡進行存儲主要出于以下考慮:

  a)速度:普通SD卡的數(shù)據(jù)傳輸速度約2 MB/s;高速SD卡數(shù)據(jù)傳輸速度約10 MB/s;極速SD數(shù)據(jù)傳輸速度約20 MB/s。而現(xiàn)在通用的USB2.0的全速傳輸速率是480 Mbps(60 MB/s),為普通SD卡傳輸速度的30倍。再者,USB3.0標準也已推出,速度可達5 Gbps,并向下兼容。USB已經(jīng)成了高速、方便的代名詞,本文選用USB也正出于其通用性和方便升級性考慮。

  b)容量瓶頸:現(xiàn)有發(fā)行的2.4.X內(nèi)核對SD卡標準模式容量的支持絕大數(shù)為2 G以下(不包含2 G),要支持到更大容量需要對SD卡驅(qū)動程序進行大量修改,并且協(xié)議標準推出相對較晚,較新的 2.6.24內(nèi)核通過筆者實際驗證可以支持到2 G容量,但要對驅(qū)動進行多處修改,后續(xù)升級復雜,穩(wěn)定性也需要進一步驗證。

  鑒于以上兩點,采用USB接口進行數(shù)據(jù)的采集和存儲,兩路USB接口部分硬件連接如圖3所示。


  2.1.2 Linux內(nèi)核配置修改

  在Linux下,所有外設都被看成是一種特殊的文件,稱為設備文件。設備驅(qū)動程序為內(nèi)核和外設之間提供接口函數(shù),完成設備的初始化與釋放、對設備文件的各種操作及中斷處理等。這些接口函數(shù)為應用程序屏蔽了外設硬件的細節(jié),使程序可以像普通文件一樣對外設進行操作。Linux系統(tǒng)中子模塊Video4Linux向虛擬文件系統(tǒng)注冊視頻設備文件,為視頻應用程序提供了一套統(tǒng)一的API,視頻應用程序通過標準的系統(tǒng)調(diào)用即可操縱各種不同的視頻捕獲設備。

  考慮到更好的推廣性,采用市面上常見的中星微301系列zc0301pl芯片攝像頭,此攝像頭支持JPEG格式的圖像采集。模塊中分別對USB OV511 Camera support,Device Drivers等菜單選項進行適當配置。除此之外,還需對USB的配置文件進行修改,本文選用Linux 2.6.24內(nèi)核,主要修改的文件如下:

  linux-2.6.24/driVers/usb/host/Kconfig,linux-2.6.24/drivers/usb/host/ohci-.c和linux-2.6.24/drivers/usb/core/hub.c.其中主要涉及對MISCCR寄存器進行正確設置。以修改ohci-s3c2440.c文件為例,部分需添加代碼:


linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉