<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 一種嵌入式視頻記錄系統(tǒng)的設計與實現(xiàn)

          一種嵌入式視頻記錄系統(tǒng)的設計與實現(xiàn)

          作者: 時間:2009-05-07 來源:網(wǎng)絡 收藏

          壓縮編碼采用Zapex公司的壓縮芯片,它是一個實時MPEG-1和運動JPEG圖像編碼器,內(nèi)置TI的TMS320C54XDSP,協(xié)調(diào)完成芯片功能,性能優(yōu)異。工作頻率外部為27MHZ,內(nèi)部(邏輯)為81MHZ,可配置到94.5MHZ。內(nèi)核工作電壓1.8V,I/O口可以驅動3.3V。采用0.18UM CMOS4LM技術,消耗功率僅為0.2W;144IQFP封裝。整個芯片內(nèi)部可以分為6個非常靈活的功能模塊,分別是接口,編碼器核心,DSP輔助,存儲器接口,主設備及串行接口和DMA控制器,相互連接成為一個大的可變的模塊化整體。

          4 軟件

          由于DOS不支持視頻壓縮,因而本采用Windows操作及VC++進行開發(fā)。首先在普通PC機上程序,再利用U盤將設計程序在DIMM-PC上進行調(diào)試。在系統(tǒng)啟動時[6],主控計算機首先對壓縮卡進行初始化,當設置好MPEG-1壓縮格式及數(shù)據(jù)速率后,壓縮卡開始工作,并在主控計算機的控制下將壓縮后的圖像數(shù)據(jù)寫入硬盤。在工作過程中,主控計算機還將不斷監(jiān)視相關信號,并在圖像中加入相應的標志,直到接收到關機信號,系統(tǒng)自動結束壓縮卡的工作,并關閉主機。

          4.1 系統(tǒng)自檢

          系統(tǒng)啟動后,將依據(jù)硬件的器件號與廠商號找到壓縮卡,得到總線器件號,由此得到系統(tǒng)BIOS分配給器件的地址。壓縮卡自檢信息包括卡硬件自檢和視頻信號源自檢,即壓縮卡有無故障以及在壓縮卡無故障的情況下輸入有無視頻源。如果自檢到該卡無視頻信號源則不對該卡的輸出數(shù)據(jù)進行存儲。如果壓縮卡有故障或未插壓縮卡,系統(tǒng)BIOS就不會為壓縮卡分配總線器件號,依據(jù)事先正常工作條件下得到的總線器件號就可以判斷哪一塊卡出現(xiàn)故障或該卡沒有插入正確。自檢信息在地面通電檢查時通過串口送至地面檢測設備,以便故障定位和維修。

          4.2 硬件初始化

          4.2.1 的初始化

          共有128個寄存器,每個寄存器有一個索引號。但外界對這些寄存器的訪問都是通過IOAR(I/O Adress Register)和IODR(I/O Data Register)來完成的。如果向SZ1510某個寄存器寫數(shù)據(jù)。則首先將這個寄存器的索引號寫入IOAR,然后將要寫的數(shù)據(jù)寫入IODR,則SZ1510將自動把數(shù)據(jù)送到某個寄存器。

          SZ1510的初始化如下:

          (1) 上電后,主機向SZ1510中斷使能寄存器寫入0x40使能Ready中斷。

          (2) 主機等候SZ1510的Ready中斷。

          (3) 等到Ready中斷后,主機清除該中斷并向SZ1510的0x6E寄存器寫入0x0A,配置它內(nèi)部的DSP時鐘為94.5MHZ。

          (4) 主機向0x013寄存器寫入0x55,對SZ1510進行軟復位。

          (5) 主機向中斷使能寄存器0x0C寫入0x40使能Ready中斷。

          (6) 主機等候RDY中斷。

          (7) 等到Ready中斷,則進行SAA7113的初始化。

          (8) SZ1510進行軟復位,即向0x0B寄存器寫入0x55,0x0C寄存器寫0x40。

          (9) 等待Ready中斷,等到則進行SZ1510的內(nèi)部DSP二進制代碼裝載。

          (10) 進行SZ1510內(nèi)部視頻壓縮核的二進制代碼裝載。

          4.2.2 SAA7113的初始化

          SAA7113初始化的步驟如下:

          (1) 裝載0x280-0x2BF 64個塊共16k的二進制代碼。

          (2) SAA7113寄存器配置,流程如下:

          ?I2C任務的初始化:分別向寄存器0x2E寫0x01,0x0C寫0x80,0x11寫0x05,0x08寫0x04,0x0C寫0x80,0x08寫0xC2

          ?I2C寫操作:向0x42寄存器寫SAA7113設備號0x4A,0x43寄存器寫要寫的數(shù)據(jù)索引號(又叫子地址),0x44寄存器寫本次I2C寫操作要寫入數(shù)據(jù)的長度(一次最多能寫11個數(shù)據(jù))。

          ?向0x08命令寄存器寫0xC0,等待DSP中斷。

          ?重復以上的操作直到SAA7113的寄存器配置完畢。

          4.2.3 SZ1510二進制代碼的裝載

          SZ1510用內(nèi)部的程序空間來裝載二進制代碼。這段空間是按塊(Blank)為單位,每塊的大小是256字節(jié)。

          用于SAA7113的程序空間是0x280-0x2BF共64塊。所以共有16k字節(jié)二進制代碼要裝載。用于DSP的程序空間塊是0x10F-0x113,0x13A-0x13B,0x280-0x2BF共71個塊,約18k字節(jié)代碼要裝載。其中0x280-0x2BF與SAA7113相重合,所以SAA7113的二進制代碼裝載要先于SZ1510的DSP裝載,且在SAA7113的二進制代碼裝載后要進行SZ1510的復位。否則SAA7113的代碼裝載將不起作用。

          用于視頻編碼核的二進制代碼的裝載空間為0x000-0x004,0x00c-0x00c六個塊,共1.5k字節(jié)代碼。

          4.2.4 SZ1510視頻數(shù)據(jù)的獲取

          SZ1510內(nèi)部有一個256字節(jié)的FIFO。一旦這個FIFO達到門限時,即產(chǎn)生一個FIFO Ready中斷,通知主機讀取FIFO中的數(shù)據(jù)(通過256次讀Data_out寄存器來完成)。所以讀取FIFO中視頻數(shù)據(jù)要放到中斷的下部去完成。

          5 結論

          該視頻系統(tǒng)已經(jīng)完成了測試工作,已在某型飛機上投入使用,作為某型飛機的機載視頻系統(tǒng),運行穩(wěn)定可靠,取得較好的效果。項目經(jīng)濟效益(200萬元)??砷L時間實時采集到的音視頻信號,采用1.5G硬盤,可連續(xù)錄制3小時,隨著半導體存儲器容量的不斷增長,系統(tǒng)的記錄時間還將進一步延長。正常工作情況下,程序啟動首先檢查磁盤空間,刪除最早記錄的文件,文件存儲方法采用盤滿循環(huán)存儲,當剩余空間不滿足條件時,將覆蓋最早的文件。

          作者的創(chuàng)新:

          設計并了基于控制模塊和專用視頻處理芯片SZ1510硬件平臺的MPEG-1系統(tǒng),了系統(tǒng)的高度集成。對壓縮卡、控制單元和電源部分等分別設計成模塊,統(tǒng)一插裝在底板上并鎖緊,可以方便地拔插和維修。本系統(tǒng)結構緊湊,使用方便,性能出色,耗能低。

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

          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();