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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于DM642的視頻處理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

          基于DM642的視頻處理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2009-03-10 來源:網(wǎng)絡(luò) 收藏

          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ù)傳送過程中共有3種信號,分別是開始信號、結(jié)束信號和應(yīng)答信號。其中,開始信號:SCL為高電平時(shí),SDA由高電平向低電平跳變,開始傳送數(shù)據(jù);結(jié)束信號:SCL為低電平時(shí),SDA由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù);應(yīng)答信號:接收數(shù)據(jù)的IC在接收到8 bit數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的IC發(fā)出特定的低電平脈沖。表示己收到數(shù)據(jù)。CPU向受控單元發(fā)出一個(gè)信號后,等待受控單元發(fā)出一個(gè)應(yīng)答信號,CPU接收到應(yīng)答信號后,根據(jù)實(shí)際情況判斷是否繼續(xù)傳輸信號。若未收到應(yīng)答信號,則認(rèn)為受控單元出現(xiàn)故障。
          集成有一條I2C總線.為總線的主設(shè)備。系統(tǒng)用I2C總線連接了以下從設(shè)備:2路解碼器SAA7113H的控制口、1路編碼器SAA7105H的控制口和1路實(shí)時(shí)時(shí)鐘RTC。每個(gè)I2C總線的從設(shè)備均對應(yīng)一個(gè)從設(shè)備地址,I2C總線以此從設(shè)備地址區(qū)分所訪問的是哪個(gè)從設(shè)備。通過I2C總線配置上述器件的寄存器。
          2.6 網(wǎng)絡(luò)接口
          DM642的網(wǎng)絡(luò)接口由EMAC與MDIO兩部分組成的。其主要功能有:符合IEEE802.3協(xié)議;支持傳媒無關(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接口對接。DM642的MII不支持TXER,它通過求反發(fā)送幀CRC來指出網(wǎng)絡(luò)錯(cuò)誤,所以LXT971ALC上的TXER引腳直接接為無效。系統(tǒng)只采用10/lOOBase-TX方式,信號經(jīng)Hll02 1:1變壓器變換成TX+、TX一、RX+和RX一信號,連接到RJ45連接器上。RJ45連接器選用406549一l,其上帶2個(gè)LED指示燈,綠色LED,用作指示連接狀態(tài);黃色LED正常情況下用于指示數(shù)據(jù)傳輸。

          本文引用地址:http://www.ex-cimer.com/article/152595.htm

          3 系統(tǒng)調(diào)試
          3.1 通道的驅(qū)動
          系統(tǒng)中視頻解碼通道使用SAA7113,編碼通道使用SAA7105H。這2個(gè)器件需要經(jīng)過寄存器配置才能正常工作,因?yàn)榧拇嫫鲾?shù)量眾多,直接逐個(gè)配置寄存器相當(dāng)復(fù)雜。系統(tǒng)開發(fā)了DSP/BIOS的應(yīng)用程序,可以調(diào)用FWID API函數(shù),對視頻通道的驅(qū)動。以下是幾個(gè)接口函數(shù)的使用說明:
          (1)初始化工作 FVID_croat(name,mode,*status,
          optArgs,*attm)參數(shù)說明:String name:device driver的名字,該device driver在DSP/BIOS中定義;Int mode:指定設(shè)備的打開模式為輸入/輸出;Int*status:該參數(shù)是application送給mini―driver的一個(gè)狀態(tài)指針,由mini―dIiver來返回狀態(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形式,無論成功與否,立刻返回。
          (2)發(fā)送控制命令到mini―driver FVID_control(disChan,VPORT_CMD_START, NULL)參數(shù)說明: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ù)說明:FVID_handle fvidChan:fvid通道句柄;Ptr bafp:分配的緩沖區(qū)指針。該函數(shù)從mini―ditver獲取緩沖區(qū)指針。
          (4)FVID_exchange(fvidChan,bufp) 參數(shù)說明: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ū)動視頻通道,視頻的采集和輸出。
          3.2 VGA輸出
          VGA(VideoGraphic Array)接口,即視頻圖形陣列,也叫DSub接口。VGA接口采用非對稱分布的15針連接方式,其工作原理是將顯存內(nèi)以數(shù)字格式存儲的圖像信號在RAMDAC里經(jīng)過模擬調(diào)制成模擬高頻信號,然后再輸出到顯示設(shè)備成像。視頻編碼器SAA7105H支持VGA輸出,SAA7105H被配置為VGA輸出時(shí),送輸出緩沖區(qū)的數(shù)據(jù)必須為RGB格式,而非YUV4:2:2。用戶可以自行編寫相應(yīng)的轉(zhuǎn)換函數(shù),或者調(diào)用TI img64.lib庫中的IMG_ycbcr422p_rgb565函數(shù)視頻格式的轉(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)加載自動運(yùn)行,省去每次利用仿真器下載程序。
          DM642是以ROM方式引導(dǎo)系統(tǒng)的,當(dāng)DSP上電或復(fù)位時(shí),內(nèi)核處于復(fù)位狀態(tài),并自動以ROM的讀寫時(shí)序從Flash的第0頁起始地址開始復(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過程。
          Flash燒寫根據(jù)不同的硬件,燒寫步驟略有不同,但基本過程相同。系統(tǒng)Flash的燒寫過程:①把引導(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ū)⒆詣訄?zhí)行。應(yīng)該注意的是,燒寫程序后的系統(tǒng)仿真環(huán)境將難以進(jìn)去,解決的辦法是一邊反復(fù)按復(fù)位鍵,一邊打開仿真環(huán)境則可進(jìn)去。DM642有多種引導(dǎo),本系統(tǒng)默認(rèn)方式為EMIFA通過8-bit Flash引導(dǎo)。

          4 結(jié)語
          系統(tǒng)研究并實(shí)現(xiàn)了一個(gè)通用的DM642的視頻處統(tǒng)。采用了針對多媒體應(yīng)用開發(fā)的專用媒體芯片DM642,該芯片配有豐富的外設(shè)接口,減小了系統(tǒng)硬件的復(fù)雜度,提高了系統(tǒng)的性價(jià)比;通過外接的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)作為視頻處理的通用平臺,在此基礎(chǔ)上增加一些其他功能即可應(yīng)用于交通、監(jiān)控等諸多領(lǐng)域。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁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); })();