車載數(shù)字視頻壓縮記錄系統(tǒng)設(shè)計(jì)
3.1 SZ1510的寄存器配置
SZ1510有128個(gè)寄存器,每個(gè)寄存器都有一個(gè)索引號(hào),外部主機(jī)是通過HOST接口(HALE管腳)來設(shè)置SZ1510內(nèi)部的兩個(gè)寄存器IOAR (I/O地址寄存器)、IODR(I/O數(shù)據(jù)寄存器)以實(shí)現(xiàn)對(duì)SZ1510的控制和配置。訪問時(shí),首先由主機(jī)的A0管腳發(fā)送一個(gè)低電平到HALE管腳以選中IOAR寄存器,然后將要訪問的寄存器索引號(hào)寫入IOAR;接著由主機(jī)的A0管腳發(fā)送一個(gè)高電平到HALE管腳,以選中IODR寄存器,然后再將要寫入的數(shù)據(jù)寫入IODR,這樣,SZ1510就會(huì)自動(dòng)把配置的數(shù)據(jù)送到指定地址的寄存器。
對(duì)Z1510進(jìn)行初始化時(shí),先由主機(jī)寫任意值到0x0B寄存器;接著在主機(jī)至少等待1微秒后,向Int_enable中斷使能寄存器寫入0x40,以使能RDY(Ready)中斷;然后,主機(jī)便等待SZ1510的Ready(Int_source[6])中斷;之后,當(dāng)主機(jī)等到RDY中斷后,它將清除RDY中斷并開始向SZ1510的內(nèi)部DSP裝載二進(jìn)制代碼。
3.2 SZ1510的二進(jìn)制代碼裝載
由于復(fù)位后內(nèi)部寄存器的內(nèi)容是未知的,因此,主機(jī)必須進(jìn)行程序代碼的裝載,以初始化視頻編碼核的可編程RAM。SZ1510內(nèi)部的程序空間是以塊(Blank)為單位進(jìn)行劃分的,每塊的大小是256字節(jié)。用于視頻編碼核的二進(jìn)制代碼的裝載空間為0x000~0x004和0x00c六個(gè)塊,共1.5k字節(jié)代碼。具體裝載時(shí),先由主機(jī)向0x2E寄存器寫0x01,以表示外部的SDRAM是1M×16bits;接著由主機(jī)向0x0C寄存器寫0x03,以使能FIFOReady和End of Data中斷;然后由主機(jī)向0x11寄存器寫0x1,以設(shè)定工作模式為內(nèi)部內(nèi)存寫模式;再由主機(jī)向0x10寫0x20,以設(shè)定SZ1510輸出數(shù)據(jù)的FIFO大小為256字節(jié);最后對(duì)每塊程序空間進(jìn)行二進(jìn)制代碼裝載,其具體過程如下:
(1)主機(jī)寫0x3F寄存器,選擇下載程序空間;
(2)主機(jī)向0x08寄存器寫0x04,發(fā)送開始命令;
(3)主機(jī)等待Ready中斷;
(4)主機(jī)通過讀0x0e寄存器,清除Ready中斷;
(5)主機(jī)向Data_in寄存器0x01寫256個(gè)字節(jié);
(6)主機(jī)等待EOD(End 0f Data)中斷,
(7)主機(jī)通過讀0x0e寄存器,清除EOD中斷;
(8)主機(jī)查程序空間的代碼是否裝載完畢,如沒有則繼續(xù)裝載。
4 結(jié)束語
本系統(tǒng)可實(shí)時(shí)長時(shí)間記錄攝像頭傳輸?shù)钠囃獠考败噧?nèi)各儀表顯示的視頻信號(hào),所記錄的壓縮數(shù)據(jù)流符合MPEG-1圖像壓縮標(biāo)準(zhǔn)。本設(shè)計(jì)中采用的壓縮視頻流速率為1.5 Mbps。對(duì)于一個(gè)3GB的電子盤,本系統(tǒng)可連續(xù)記錄超過4.5個(gè)小時(shí)的汽車視頻數(shù)據(jù)。由此可見,本系統(tǒng)體積小、功耗低,便于移動(dòng)環(huán)境下對(duì)視頻數(shù)據(jù)的實(shí)時(shí)長時(shí)間壓縮數(shù)據(jù)記錄。
評(píng)論