當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于DM642的視頻處理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

1 引言
   
在視頻處理領(lǐng)域,由于處理的數(shù)據(jù)量大,算法復(fù)雜度高,使得處理的實(shí)時(shí)性成為難題。如果使用專門的視頻算法器件,在保證實(shí)時(shí)性的同時(shí)卻使系統(tǒng)的靈活性大大降低。TI公司的TMS320DM642(簡(jiǎn)稱DM642)以其高速的運(yùn)算能力及
豐富的外設(shè)接口,在多媒體領(lǐng)域得到了廣泛應(yīng)用。

2 系統(tǒng)設(shè)計(jì)方案
2.1 系統(tǒng)的硬件結(jié)構(gòu)
   
圖1給出系統(tǒng)的結(jié)構(gòu)框圖。以DM642為核心,包括視頻輸入輸出模塊,存儲(chǔ)模塊,通信模塊等。其中輸入輸出模塊由2片解碼器和一片編碼器構(gòu)成,可以同時(shí)輸入2路視頻,輸出一路視頻。存儲(chǔ)模塊主要由Flash和2片SDRAM組成。此外系統(tǒng)還包括JTAG仿真接口和網(wǎng)口,可以方便地與外界通信。

2.2 系統(tǒng)電源設(shè)計(jì)
    DSP系統(tǒng)電源設(shè)計(jì)模塊是關(guān)鍵,高精度的供電才能保證系統(tǒng)正常工作。系統(tǒng)采用5 V電源驅(qū)動(dòng)2個(gè)MOSFET的DC—DC調(diào)整器(TPS54310)分別供給DSP的核心電壓CVDD(1.4V)和外圍電壓DVDD(3.3 V)。在3.3 V和1.4 V電源之間連接肖特基二極管,保證DM642內(nèi)核和外部端口同時(shí)供電。TI公司的TPS543lO的輸出精度是1%,完全滿足DSP工作要求。視頻輸入器件SAA7113H、視頻輸出器件SAA7105H和CPLD都需要3.3 V供電,選用AMSlll7—3.3 V為這些器件供電。系統(tǒng)的地分為系統(tǒng)地、視頻輸入地、視頻輸出模擬地、音頻模擬地和網(wǎng)絡(luò)模擬地6部分。從電源進(jìn)來(lái)的是系統(tǒng)地。在PCB設(shè)汁中,各地與系統(tǒng)地之間采用220Ω、100 MHz的磁珠在一點(diǎn)連接起來(lái)。調(diào)試中,只要電源部分工作正常,都可以通過(guò)JTAG口將程序下載到DM642中,進(jìn)而調(diào)試其他模塊。
2.3 視頻輸入與輸出
    DM642集成有3個(gè)視頻(Video Port,VP)口,每個(gè)視頻口是由20 bit數(shù)據(jù)線、2個(gè)時(shí)鐘信號(hào)VPxCLK0(輸入)和VPx-CLKl(輸入/輸出)、3個(gè)控制信號(hào)VPxCTL0、VPxCTLl和VPx-CTL2組成。時(shí)鐘信號(hào)作為視頻源的時(shí)鐘信號(hào)輸入/輸出,控制信號(hào)作為視頻源的同步信號(hào)輸入/輸出(行同步、幀同步、場(chǎng)標(biāo)志,視頻采集使能等)。每個(gè)視頻口被分為上(B)、下(A)2個(gè)通道,VP0的A通道與McBSPO復(fù)用,VPl的A通道與McB—SPl復(fù)用,VP0和VPl的B通道與McASP復(fù)用,VP2則為單功能引腳。每個(gè)視頻口可被配置為視頻輸入口或視頻輸出口,但是上(B)、下(A)2個(gè)通道只能同時(shí)被配置為輸入口,或同時(shí)被配置為輸出口,不能一個(gè)通道配置為輸入口,另一個(gè)通道配置為輸出口。
    系統(tǒng)將VP0和VPl配置成為單通道視頻輸入和McASP口,VP2配置成為單通路的視頻輸出口。VPO與VPl配置為單通道視頻輸入口時(shí),VPxCLK0作為視頻源的輸入時(shí)鐘,VPxCLK1未用。而VPxCTL0、VPxCTLl和VPxCTL2則分別作為視頻源中的時(shí)基碼控制。當(dāng)CAPEN信號(hào)無(wú)效或在EAV和SAV時(shí)基碼之間時(shí),將不對(duì)視頻數(shù)據(jù)流進(jìn)行采樣。BT.656視頻數(shù)據(jù)流采集的起始、水平同步、垂直同步等,受輸入信號(hào)CAPEN和視頻通道控制寄存器VCxCTL(x=A、B)中的VCEN、EXC、HRST、VRST、FLDD等控制位組合控制。當(dāng)配置為單通道視頻輸出口時(shí),VPxCLK1作為視頻源輸出時(shí)鐘,VPxCLK0作為輸入時(shí)鐘。而VPxCTL0、VPxCTLl和VPxCTL2分別作為輸出視頻的HSYNC/HBLNK/AVID/FLD、VSYNC/VBLNK/CSYNC/FLD、CBLKN/FLD。3個(gè)VP口均作為8位視頻接口,使用lO位數(shù)據(jù)總線中的高8位,即VPxD[9:2]。系統(tǒng)的視頻解碼和視頻編碼器分別選用Philips公司的SAA7l13H和SAA7105H,圖2給出視頻解碼和DM642的連接圖。圖3給出視頻編碼和DM642的連接圖。其中SAA7lO5H支持復(fù)合視頻(CVBS)輸出、超級(jí)視頻(S-Video,Y/C)輸出和VGA輸出,系統(tǒng)同時(shí)外擴(kuò)了這3種接口,用戶可通過(guò)I2C總線對(duì)其內(nèi)部寄存器設(shè)置來(lái)實(shí)現(xiàn)不同的輸出。

    當(dāng)SAA7105H工作在VGA輸出時(shí),其工作時(shí)鐘的上升沿和下降沿都要接收數(shù)據(jù),圖3中VP2與SAA7105H的連接方式,只用到VP2的8位數(shù)據(jù)線,因此VP2在每個(gè)時(shí)鐘周期只有在上升沿輸出8位數(shù)據(jù),無(wú)法滿足SAA7105H的工作要求。這就要求VP2的工作頻率是SAA7105H的2倍,兩者才可以正確傳輸數(shù)據(jù),該時(shí)鐘關(guān)系在CPLD里實(shí)現(xiàn)。
2.4 地址空間映射
    DM642的程序/數(shù)據(jù)空間以字節(jié)為單位進(jìn)行統(tǒng)一編址,整個(gè)尋址空間為4 G字節(jié)。其片上存儲(chǔ)器,片上外設(shè)及外部存儲(chǔ)器接口(EMIF)均映射到此4 G字節(jié)空間中。
    DM642的CEO空間被配置為64 bit SDRAM接口,分配給外擴(kuò)的SDRAM使用。SDRAM的工作時(shí)鐘由DM642的ECLKOUTl提供,其可由軟件配置為EMIF的ECLKIN或CPU時(shí)鐘/4、或CPU時(shí)鐘/6,最高為133 MHz。一般情況下,配置為ECLKIN,即100 MHz。SDRAM在子空間的具體定位為:Ox8000 0000~Ox81FF FFFF。
    DM642的CEl空間被配置為8Mx8 bit的Flash,在CEl子空間占據(jù)的具體空間定位為0x9000 0000~0x9007 FFFF。
    DM642外部地址總線只有A[22:3],總共20根,所以CEl子空間最大的尋址范圍為lMx8 bit。系統(tǒng)中CEl子空間除了分配給Flash以外,還分配給狀態(tài),控制寄存器、UARTA、UARTB等資源使用,其中Flash只占據(jù)CEl子空間的前一半的尋址空間,即最大的可尋址范圍為512Kx8 bit,而Flash的設(shè)計(jì)容量為8 Mx8 bit,所以為尋址到Flash所有的地址空間,采用分頁(yè)技術(shù)來(lái)實(shí)現(xiàn)對(duì)Flash的訪問(wèn).即將整個(gè)8 Mx8 bit的FLASH分成16個(gè)512 Kxl6 bit的頁(yè).頁(yè)地址PA22、PA21、PA20、PAl9,則由頁(yè)地址寄存器提供(頁(yè)地址寄存器位于CPLD中)。[!--empirenews.page--]
2.5 I2C總線
    I2C總線是一種由Philips公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。由于接口直接在組件之上,因此I2C總線占用的空間非常小,減少了電路板的空間和器件引腳的數(shù)量,降低了互聯(lián)成本。它支持多主控,其中任何能夠進(jìn)行發(fā)送和接收的設(shè)備都可以成為主控端。
    I2C總線由數(shù)據(jù)線SDA和時(shí)鐘SCL構(gòu)成串行總線,可發(fā)送和接收數(shù)據(jù),在CPU與被控IC之間、IC與IC之間雙向傳送。在數(shù)據(jù)傳送過(guò)程中共有3種信號(hào),分別是開始信號(hào)、結(jié)束信號(hào)和應(yīng)答信號(hào)。其中,開始信號(hào):SCL為高電平時(shí),SDA由高電平向低電平跳變,開始傳送數(shù)據(jù);結(jié)束信號(hào):SCL為低電平時(shí),SDA由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù);應(yīng)答信號(hào):接收數(shù)據(jù)的IC在接收到8 bit數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的IC發(fā)出特定的低電平脈沖。表示己收到數(shù)據(jù)。CPU向受控單元發(fā)出一個(gè)信號(hào)后,等待受控單元發(fā)出一個(gè)應(yīng)答信號(hào),CPU接收到應(yīng)答信號(hào)后,根據(jù)實(shí)際情況判斷是否繼續(xù)傳輸信號(hào)。若未收到應(yīng)答信號(hào),則認(rèn)為受控單元出現(xiàn)故障。
    DM642集成有一條I2C總線.DM642為總線的主設(shè)備。系統(tǒng)用I2C總線連接了以下從設(shè)備:2路視頻解碼器SAA7113H的控制口、1路視頻編碼器SAA7105H的控制口和1路實(shí)時(shí)時(shí)鐘RTC。每個(gè)I2C總線的從設(shè)備均對(duì)應(yīng)一個(gè)從設(shè)備地址,I2C總線以此從設(shè)備地址區(qū)分所訪問(wèn)的是哪個(gè)從設(shè)備。DM642通過(guò)I2C總線配置上述器件的寄存器。
2.6 網(wǎng)絡(luò)接口
    DM642的網(wǎng)絡(luò)接口由EMAC與MDIO兩部分組成的。其主要功能有:符合IEEE802.3協(xié)議;支持傳媒無(wú)關(guān)接口(MII);8個(gè)獨(dú)立的發(fā)送與接收通路;同步的10/100 Mbit的數(shù)據(jù)操作;廣播及多幀的傳送。
    系統(tǒng)選用LXT971ALC作為10/100Base一TX以太網(wǎng)收發(fā)器。LXT971ALC的MII接口與DM642的MII接口對(duì)接。DM642的MII不支持TXER,它通過(guò)求反發(fā)送幀CRC來(lái)指出網(wǎng)絡(luò)錯(cuò)誤,所以LXT971ALC上的TXER引腳直接接為無(wú)效。系統(tǒng)只采用10/lOOBase-TX方式,信號(hào)經(jīng)Hll02 1:1變壓器變換成TX+、TX一、RX+和RX一信號(hào),連接到RJ45連接器上。RJ45連接器選用406549一l,其上帶2個(gè)LED指示燈,綠色LED,用作指示連接狀態(tài);黃色LED正常情況下用于指示數(shù)據(jù)傳輸。

3 系統(tǒng)調(diào)試
3.1 視頻通道的驅(qū)動(dòng)
   
系統(tǒng)中視頻解碼通道使用SAA7113,編碼通道使用SAA7105H。這2個(gè)器件需要經(jīng)過(guò)寄存器配置才能正常工作,因?yàn)榧拇嫫鲾?shù)量眾多,直接逐個(gè)配置寄存器相當(dāng)復(fù)雜。系統(tǒng)開發(fā)了基于DSP/BIOS的應(yīng)用程序,可以調(diào)用FWID API函數(shù),實(shí)現(xiàn)對(duì)視頻通道的驅(qū)動(dòng)。以下是幾個(gè)接口函數(shù)的使用說(shuō)明:
    (1)初始化工作 FVID_croat(name,mode,*status,
optArgs,*attm)參數(shù)說(shuō)明:String name:device driver的名字,該device driver在DSP/BIOS中定義;Int mode:指定設(shè)備的打開模式為輸入/輸出;Int*status:該參數(shù)是application送給mini—driver的一個(gè)狀態(tài)指針,由mini—dIiver來(lái)返回狀態(tài)的;PtroptArgs:用于初始化FVID channel的具體參數(shù),用結(jié)構(gòu)體的形式打包,并將指向該結(jié)構(gòu)體的指針傳送給mini—driver進(jìn)行處理;FVID_Attrs *attrs:FVID_Attrs結(jié)構(gòu)參數(shù)為空,表示FVID_alloc,F(xiàn)VID_free,FVID_exchange calls為非block形式,無(wú)論成功與否,立刻返回。
    (2)發(fā)送控制命令到mini—driver FVID_control(disChan,VPORT_CMD_START, NULL)參數(shù)說(shuō)明:FVID_HandlevidChan:fvid通道句柄;Int cmd:cmd命令;Ptr args:cmd命令附帶的信息。該函數(shù)發(fā)送一個(gè)控制命令給mini—dTiver,將由mini—driver做相應(yīng)的響應(yīng),在這里通知vport端口開始工作。
    (3)給VP口分配緩沖區(qū)FVID_alloc(fvidChan,bufp)參數(shù)說(shuō)明:FVID_handle fvidChan:fvid通道句柄;Ptr bafp:分配的緩沖區(qū)指針。該函數(shù)從mini—ditver獲取緩沖區(qū)指針。
    (4)FVID_exchange(fvidChan,bufp) 參數(shù)說(shuō)明:FVID_handle fvidChan:fvid通道句柄;Ptr butp:交換的緩沖區(qū)指針。該函數(shù)將轉(zhuǎn)換好的圖像數(shù)據(jù)發(fā)送給mini—driver處理,并傳回空緩沖區(qū)指針,F(xiàn)VID_exchange函數(shù)相當(dāng)于順序執(zhí)行FVID_free和FVID_alloc函數(shù)。利用FVID的API函數(shù)可方便配置和驅(qū)動(dòng)視頻通道,實(shí)現(xiàn)視頻的采集和輸出。
3.2 VGA輸出
    VGA(VideoGraphic Array)接口,即視頻圖形陣列,也叫DSub接口。VGA接口采用非對(duì)稱分布的15針連接方式,其工作原理是將顯存內(nèi)以數(shù)字格式存儲(chǔ)的圖像信號(hào)在RAMDAC里經(jīng)過(guò)模擬調(diào)制成模擬高頻信號(hào),然后再輸出到顯示設(shè)備成像。視頻編碼器SAA7105H支持VGA輸出,SAA7105H被配置為VGA輸出時(shí),送輸出緩沖區(qū)的數(shù)據(jù)必須為RGB格式,而非YUV4:2:2。用戶可以自行編寫相應(yīng)的轉(zhuǎn)換函數(shù),或者調(diào)用TI img64.lib庫(kù)中的IMG_ycbcr422p_rgb565函數(shù)實(shí)現(xiàn)視頻格式的轉(zhuǎn)換。SAA7105H最高可實(shí)現(xiàn)XGA輸出,即1 024x768分辨率。
3.3 程序從Flash的引導(dǎo)
   
在系統(tǒng)上調(diào)試程序時(shí),利用仿真器把程序下載到SDRAM內(nèi)執(zhí)行。當(dāng)程序調(diào)試完畢應(yīng)用時(shí),應(yīng)該把程序燒寫到外部Flash里,實(shí)現(xiàn)系統(tǒng)每次上電后程序從Flash引導(dǎo)加載自動(dòng)運(yùn)行,省去每次利用仿真器下載程序。
    DM642是以ROM方式引導(dǎo)系統(tǒng)的,當(dāng)DSP上電或復(fù)位時(shí),內(nèi)核處于復(fù)位狀態(tài),并自動(dòng)以ROM的讀寫時(shí)序從Flash的第0頁(yè)起始地址開始復(fù)制lK字節(jié)的代碼到DSP的片內(nèi)內(nèi)存起始地址為O的地址空間。然后釋放CPU,使其從0地址開始運(yùn)行程序。即第一次引導(dǎo)只能引導(dǎo)1K字節(jié)的程序。執(zhí)行第一步引導(dǎo)的程序,將用戶自己的程序從Flash中搬到運(yùn)行的地址中,然后進(jìn)入c_int00,完成整個(gè)BOOT過(guò)程。
    Flash燒寫根據(jù)不同的硬件設(shè)計(jì),燒寫步驟略有不同,但基本過(guò)程相同。系統(tǒng)Flash的燒寫過(guò)程:①把引導(dǎo)程序文件boot.a(chǎn)sm添加到要燒寫的工程中,在BIOS中添加BOOT段,修改相應(yīng)的CMD文件,編譯原工程生成新的.out文件;②使用hex6x工具把生成的COFF格式的.out文件轉(zhuǎn)化為.hex文件;③用FlashBurn建立.ccd文件;④用FlashBurn打開建立的.ccd文件,先擦除Flash,然后燒寫Flash。
    按照上述步驟燒寫程序到Flash,在系統(tǒng)上電后程序?qū)⒆詣?dòng)執(zhí)行。應(yīng)該注意的是,燒寫程序后的系統(tǒng)仿真環(huán)境將難以進(jìn)去,解決的辦法是一邊反復(fù)按復(fù)位鍵,一邊打開仿真環(huán)境則可進(jìn)去。DM642有多種引導(dǎo),本系統(tǒng)默認(rèn)方式為EMIFA通過(guò)8-bit Flash引導(dǎo)。

4 結(jié)語(yǔ)
   
系統(tǒng)研究并實(shí)現(xiàn)了一個(gè)通用的基于DM642的視頻處理系統(tǒng)。采用了針對(duì)多媒體應(yīng)用開發(fā)的專用媒體處理芯片DM642,該芯片配有豐富的外設(shè)接口,減小了系統(tǒng)硬件設(shè)計(jì)的復(fù)雜度,提高了系統(tǒng)的性價(jià)比;通過(guò)外接的SDRAM編程實(shí)現(xiàn)MPEG一2、MPEG-4、H.264等多種視頻壓縮編解碼算法,靈活性大,實(shí)用性強(qiáng),優(yōu)于專用的視頻編解碼系統(tǒng);由于DM642的高速運(yùn)算能力,實(shí)時(shí)性強(qiáng)也是系統(tǒng)的一大優(yōu)點(diǎn)。該系統(tǒng)作為視頻處理的通用平臺(tái),在此基礎(chǔ)上增加一些其他功能即可應(yīng)用于交通、監(jiān)控等諸多領(lǐng)域。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉