摘 è¦ï¼šADV202是美國ADå…¬å¸é–‹ç™¼çš„實時JPEG2000編解碼芯片。介紹了一種基于ADV202芯片的嵌入å¼è¦–é »å£“ç¸®ç³»çµ±ï¼Œè©²ç³»çµ±æŠŠPAL/NTSC制å¼çš„è¦–é »ä¿¡è™Ÿå£“ç¸®ç‚ºJPEc2000æ¨™æº–çš„è¦–é »ç¢¼æµè¼¸å‡ºï¼Œå…·æœ‰å»£é—Šçš„æ‡‰ç”¨å‰æ™¯ã€‚é‡é»žè¨Žè«–了系統硬件電路è¨è¨ˆåŠè»Ÿä»¶æµç¨‹è¨è¨ˆã€‚
é—œéµè©žï¼šJPEG2000 ADV202嵌入å¼è¦–é »å£“ç¸®
國際標準化組織ISO和國際電信è¯ç›ŸITU于2000å¹´12月æ£å¼æŽ¨å‡ºäº†JPEG2000æ¨™æº–ï¼Œè©²æ¨™æº–é‡‡ç”¨ä»¥é›¢æ•£å°æ¸¡è®Šæ›ç‚ºä¸»çš„多解æžç·¨ç¢¼æ–¹æ³•,具有許多優良的特性,然而一直未ç²å¾—廣泛的應用。ADå…¬å¸äºŽ2004年推出了能實時壓縮和解壓縮高質é‡é‹å‹•圖åƒå’Œéœæ¢æ•¸å—圖åƒçš„JPEG2000編解碼芯片ADV202。本文基于ADV202è¨è¨ˆä¸€å€‹å®Œæ•´çš„嵌入å¼è¦–é »å£“ç¸®ç³»çµ±ï¼Œå…¶ä¸åŒ…括硬件電路è¨è¨ˆå’Œè»Ÿä»¶æµç¨‹è¨è¨ˆï¼Œè©²ç³»çµ±å…·æœ‰USB接å£ï¼Œæ”¯æŒç†±æ’拔,無需主機控制。
1 ADV202芯片介紹
ADV202是美國AD公叿–°è¿‘æŽ¨å‡ºçš„ä¸€æ¬¾ç”¨äºŽè¦–é »å’Œé«˜å¸¶å¯¬éœæ¢åœ–åƒå£“縮的單片IPEG2000(ISOï¼IECl5444-1圖åƒå£“ç¸®æ¨™æº–ï¼‰ç·¨è§£ç¢¼èŠ¯ç‰‡ï¼Œæ˜¯ç•¶ä»Šå¸‚å ´ä¸ŠæƒŸä¸€å…·æœ‰å¯¦æ™‚å£“ç¸®å’Œè§£å£“ç¸®æ¨™æº–ï¼ˆSDï¼‰è¦–é »ä¿¡è™Ÿå’Œé«˜æ¸…æ™°åº¦ï¼ˆHDTVï¼‰è¦–é »ä¿¡è™Ÿçš„èŠ¯ç‰‡ï¼Œå°ˆåˆ©çš„ç©ºé–“é«˜æ•ˆéžæ¸æ¿¾æ³¢ï¼ˆSURFï¼‰æŠ€è¡“ä½¿å…¶å…·æœ‰ä½ŽåŠŸè€—å’Œä½Žæˆæœ¬çš„å°æ³¢å£“縮。它æä¾›çš„å°ˆç”¨è¦–é »æŽ¥å£å¯ä»¥ç„¡ç¸«é€£æŽ¥åˆ°åˆªITU.R-BT656,SMPTE125Mã€SMPTE293M[525p]ç‰æ¨™æº–的數å—è¦–é »æŽ¥å£ï¼Œéˆæ´»çš„ç•°æ¥SRAMé¢¨æ ¼çš„ä¸»æ©ŸæŽ¥å£å…許無縫連接到大多數16ï¼32ä½çš„微控制器和ASIC器件。
ADV202的內部功能框圖如圖1æ‰€ç¤ºï¼Œè¼¸å…¥çš„è¦–é »æˆ–åœ–åƒæ•¸æ“šé€²å…¥è¦–é »æŽ¥å£åŽç¶“éŽè§£äº¤éŒ¯å‚³è¼¸åˆ°å°æ³¢è®Šæ›å¼•擎ä¸ã€‚åœ¨å°æ³¢å¼•擎ä¸ï¼Œæ¯å¹€åœ–åƒæˆ–æ¯å€‹åœ–塊通éŽ5ï¼3或9ï¼7濾波器分解æˆè¨±å¤šå帶,生æˆçš„å°æ³¢ç³»æ•¸å¯«å…¥å…§éƒ¨å¯„å˜å™¨ä¸ã€‚ç†µç·¨ç¢¼å™¨å°‡åœ–åƒæ•¸æ“šç·¨ç¢¼ç‚ºç¬¦åˆJPEG2000標準的數據。內部DMA引擎æä¾›å˜å„²å™¨ä¹‹é–“的高帶寬傳輸以åŠå„模塊和å˜å„²å™¨ä¹‹é–“的高性能傳輸。內部FIFOæä¾›åƒç´ 數據ã€ç¢¼æµæ•¸æ“šã€ç‰¹å¾æ•¸æ“šå’Œè¼”助數據的å˜å„²ç©ºé–“,既å¯ç”±å¤–éƒ¨ä¸»æ©Ÿé€šéŽæ¨™æº–地å€è®€å¯«å‘¨æœŸç›´æŽ¥è¨ªå•,也å¯ä»¥é‡‡ç”¨DREQï¼DACKå”è°é€šéŽDMAæ–¹å¼è¨ªå•æˆ–å°ˆç”¨ç¡¬ä»¶æ¡æ‰‹æ©Ÿåˆ¶è¨ªå•ã€‚ä¸»æ©ŸæŽ¥å£æä¾›16ï¼32ä½çš„æŽ§åˆ¶ç¸½ç·šå’Œ8/16/32ä½çš„æ•¸æ“šå‚³è¼¸ç¸½ç·šï¼Œç”¨äºŽå°å…§éƒ¨å¯„å˜å™¨çš„é…ç½®ã€æŽ§åˆ¶å’Œç‹€æ…‹å‚³éžä»¥åŠå£“縮數據æµçš„傳輸。

2 è¦–é »å£“ç¸®ç³»çµ±ç¡¬ä»¶è¨è¨ˆ
2.1 系統硬件整體構架
系統硬件整體框架如圖2所示,來自電視機或æ”åƒæ©Ÿçš„單路PAL/NTSC制å¼çš„è¦–é »ä¿¡è™Ÿï¼Œç¶“éŽSAA7n3編碼為SAV/EAV模å¼ã€ITU.R—BT656 YUV4:2:2æ ¼å¼ï¼ˆ8ä½ï¼‰çš„è¦–é »ä¿¡è™Ÿï¼Œç”±VPO[7..0]傳輸到ADV202çš„è¦–é »æŽ¥å£ã€‚在ADV202å…§éƒ¨ï¼Œè¦–é »ä¿¡è™Ÿç¶“éŽç¡¬ä»¶ç·¨ç¢¼ç”¢ç”Ÿï¼Žjp2æ ¼å¼çš„è¦–é »ä¿¡è™Ÿï¼Œç”±ä¸»æ©ŸæŽ¥å£D[31..0]輸入到TMS320VC33 DSP。經DSP壓縮åŽçš„è¦–é »ä¿¡è™Ÿç”±USB接å£èŠ¯ç‰‡USBN9602轉æ›åŽé€šéŽUSBå£è¼¸å‡ºã€‚å¦å¤–,DSPé‚„é€šéŽæ•¸æ“šç¸½ç·šD[31..O]和地å€ç¸½ç·šA[3..]å°ADV202內部直接åŠé–“接寄å˜å™¨é€²è¡Œé…ç½®ï¼ŒåŠ è¼‰ADV202ç·¨ç¢¼æ¨¡å¼æ‰€éœ€çš„固件(由ADå…¬å¸æä¾›ï¼‰ï¼Œå°ADV202ç·¨ç¢¼åƒæ•¸é€²è¡Œè¨ç½®ã€‚USBå£åªä½œç‚ºå£“縮數據æµçš„輸出å£ï¼Œç”±DSP完全控制。
2.2 DSPå°ç³»çµ±
出于å°ç³»çµ±æ˜“å¯¦ç¾æ€§å’Œæ€§åƒ¹æ¯”的考慮,DSPèŠ¯ç‰‡é¸æ“‡â…¡å…¬å¸çš„32ä½é«˜æ€§èƒ½æ•¸å—信號處ç†å™¨TMS320VC33。TMS320VC33工作在75Mlkä¸»é »æ™‚ï¼Œé‹ç®—能力å¯é”150MFLOPS,å¯ä»¥è¨ªå•的總å˜å„²ç©ºé–“為16M×32bit,程åºç©ºé–“ã€æ•¸æ“šç©ºé–“å’ŒIï¼O空間都包å«åœ¨æ•´å€‹16M×32bit空間ä¸ï¼Œä¸”統一編å€ã€‚片內æä¾›äº†34K×32bit SRAM,考慮到系統處ç†å°è±¡æ˜¯è¦–é »ä¿¡è™Ÿï¼Œè¦æ±‚較大的程åºç©ºé–“和數據空間,片內RAM通常ä¸èƒ½æ»¿è¶³ç³»çµ±è¦æ±‚ï¼Œå› è€Œåœ¨DSP片外è¦é€²è¡Œå˜å„²å™¨æ“´å±•。
DSP外部擴展了兩片CY7C1041V33 (256K×16bit)SRAMå’Œ1片SST39VF400A(256K×l6bit)FLASH。兩片CY7C1041V33æŒ‰ç…§æ•¸æ“šä½æ“´å±•æ–¹å¼æ“´å±•æˆç‚º256K×32bit的數據å˜å„²ç©ºé–“,用于å˜å„²å£“縮åŽçš„è¦–é »æ•¸æ“šã€‚DSP工作在微計算機ï¼å¼•導模å¼ï¼ˆMCBL/MP=1)下,SST39VF400A用于å˜å„²DSP的引導程åºã€‚
2.3 ç³»çµ±æ™‚åºæŽ§åˆ¶é›»è·¯
ç³»çµ±æ™‚åºæŽ§åˆ¶é›»è·¯ç”±ä¸€ç‰‡Altera EPM7128 CPLD芯片構æˆï¼Œå®Œæˆçš„主è¦åŠŸèƒ½æœ‰ï¼š
(1)將DSP通用Iï¼O引腳信號XFlã€XF0擴展為I2C總線所需的SCLã€SDA信號,完æˆDSPå°SAA7113çš„åˆå§‹åŒ–è¨ç½®ï¼›
(2)產生ADV202的片é¸ä¿¡è™ŸCS和復ä½ä¿¡è™ŸRESET,將DSP的讀寫信號R/W擴展為ADV202的讀信號RDåŠå¯«ä¿¡è™ŸWEï¼›
(3)產生DSP外擴å˜å„²å™¨SRAMå’ŒFLASH的接å£ä¿¡è™Ÿï¼šåœ°å€è¯ç¢¼é¸é€šä¿¡è™ŸCEã€å¯«è„ˆæ²–信號WEã€è®€ä¿¡è™ŸOEç‰ï¼›
(4)產生USBN9602的接å£ä¿¡è™Ÿï¼šç‰‡é¸ä¿¡è™ŸCSã€è®€ä¿¡è™ŸRDã€å¯«ä¿¡è™ŸWRã€åœ°å€å¼•腳信號A0。
2.4 USB接å£è¨è¨ˆ
USBN9602是美國國家åŠå°Žé«”å…¬å¸æŽ¨å‡ºçš„ä¸€æ¬¾å°ˆç”¨USB接å£èŠ¯ç‰‡ï¼Œæ”¯æŒUSBl.1標準。內部具有較大的FIFO.å¯ä»¥ç·©å˜å¤§é‡æ•¸æ“šï¼Œå¾žè€Œæ¸›è¼•處ç†å™¨çš„è² æ“”ã€‚åœ¨æœ¬ç³»çµ±ä¸ï¼ŒUSBN9602通éŽå¹¶è¡ŒæŽ¥å£èˆ‡TMS320VC33相連,接å£ä¿¡è™Ÿç”±CPLD控制.工作于éžç¸½ç·šå¾©ç”¨æ¨¡å¼ï¼ˆMODE0=O,MODEl=0),連接示æ„圖如圖3所示。USBN9602æ“ä½œæ™‚åºæ˜¯å…ˆå¾€åœ°å€å¯„å˜å™¨ä¸å¯«å…¥åœ°å€ï¼Œç„¶åŽé€šéŽæ•¸æ“šè¼¸å…¥å¯„å˜å™¨å’Œæ•¸æ“šè¼¸å‡ºå¯„å˜å™¨è®€å¯«æ•¸æ“šï¼Œè€Œåœ°å€å¯„å˜å™¨å’Œæ•¸æ“šå¯„å˜å™¨çš„鏿“‡å‰‡æ˜¯é€šéŽAO實ç¾çš„。
2.5 時é˜ä¿¡è™Ÿçš„è¨è¨ˆ
本系統é¸ç”¨3片晶振,其ä¸24.576MHz晶振æä¾›SAA7113所需的外部時é˜ï¼ŒLLC產生的27MHz時é˜è¼¸å‡ºä¿¡è™Ÿæä¾›çµ¦ADV202編碼芯片使用;5V供電的。15MHz晶振æä¾›çµ¦CPLD,并經éŽCPLD間接æä¾›çµ¦DSP使用。從而解決了ä¸åŒé›»å¹³ä¹‹é–“的匹é…å•題,DSP內部鎖相環使用×5模å¼ï¼ˆCLKMDO=CLKMDl=1ï¼‰ï¼Œå·¥ä½œä¸»é »ç‚º75MHzï¼›48MHz晶振æä¾›USBN9602所需的輸入時é˜ã€‚在電路æ¿è¨è¨ˆä¸ï¼Œæ™‚é˜ä¿¡è™Ÿæ‡‰ç›¡å¯èƒ½æŽ¥è¿‘相應輸入引腳。
2.6 é›»æºåŠç³»çµ±å¾©ä½é›»è·¯çš„è¨è¨ˆ
本系統需è¦å››ç¨®é›»æºä¾›é›»ï¼š5Vã€3.3Vã€1.8Vå’Œ1.5V。其ä¸ï¼Œ5Vç”±ç³»çµ±å¤–éƒ¨é›»æºæä¾›ï¼Œ3.3Vã€1.8Vå’Œ1.5Vç”±TIå…¬å¸çš„é›»æºèŠ¯ç‰‡TPS767D301通éŽ5Vè®Šæ›æä¾›ã€‚TPS767D301å¯å°‡5V的電æºè¼¸å…¥è½‰æ›ç‚º3.3V的固定電æºè¼¸å‡ºå’Œ1.5~5.5Vçš„å¯è®Šé›»æºè¼¸å‡ºï¼ŒåŒæ™‚產生CPLD的復ä½ä¿¡è™Ÿã€‚
3 è¦–é »å£“ç¸®ç³»çµ±è»Ÿä»¶è¨è¨ˆ
3.1 系統軟件æµç¨‹æ®›ç¸½é«”è¨è¨ˆ
本系統的軟件è¨è¨ˆä¸»è¦åˆ†ç‚ºDSPåˆå§‹åŒ–程åºï¼ˆdspinit.c)ã€I2C器件SAA7113åˆå§‹åŒ–程åºï¼ˆiic.c)ã€ADV202åˆå§‹åŒ–程åºï¼ˆinit202.c)ã€DSP主控制程åºï¼ˆdspetl.c)以åŠuSB通訊軟件的è¨è¨ˆã€‚這些程åºå…¨éƒ¨åœ¨DSP上完æˆã€‚用C語言開發DSP程åºå¯ä»¥ç¸®çŸé–‹ç™¼å‘¨æœŸï¼Œæé«˜ç¨‹åºé–‹ç™¼çš„æ•ˆçŽ‡ï¼Œä¹Ÿå¯ä»¥ä½¿ç¨‹åºçš„å¯è®€æ€§ã€å¯ç§»æ¤æ€§å¤§å¤§æé«˜ï¼Œå¹¶ä¸”能為系統的改進和å‡ç´šæ›ä»£å¸¶ä¾†æ¥µå¤§çš„便利;å°äºŽC語言編寫的代碼,采用優化編è¯å™¨ç”Ÿæˆé«˜æ•ˆçŽ‡çš„åŒ¯ç·¨ä»£ç¢¼ï¼Œå¯æé«˜ç¨‹åºçš„é‹è¡Œé€Ÿåº¦ï¼Œæ¸›å°‘目標代碼的長度。故在系統軟件的總體è¨è¨ˆä¸Šï¼Œé‡‡å–了以上方法。系統軟件æµç¨‹åœ–如圖4所示。
3.2 主è¦ç¨‹åºå¯¦ç¾èˆ‰ä¾‹
ADV202åˆå§‹åŒ–程åºï¼ˆinit202.c)主è¦å®Œæˆä»¥ä¸‹åŠŸèƒ½ï¼š
(1ï¼‰æ ¡é©—å’Œé…ç½®ADV202內部直接寄å˜å™¨å’Œé–“接寄å˜å™¨ï¼›
(2ï¼‰åŠ è¼‰ç·¨ç¢¼æ¨¡å¼ä¸‹ADV202所需的固件程åºï¼›
(3)å°å›ºä»¶é…置寄å˜å™¨é€²è¡Œé…置,è¨ç½®å…¶å·¥ä½œç‹€æ…‹ï¼›
(4)檢驗應用程åºIDï¼›
(5ï¼‰æ¸…é™¤ä¸æ–·æ¨™è¨˜ï¼Œä½¿ADV202進入é‹è¡Œç‹€æ…‹ã€‚
ADV202åˆå§‹åŒ–æµç¨‹åœ–如圖5所示。
本系統具有體ç©å°ã€å¯¦æ™‚性好ã€å£“縮信號易æ¢å¾©ç‰å„ªé»žï¼Œå¯ä»¥å»£æ³›æ‡‰ç”¨äºŽéžç·šæ€§ç·¨è¼¯ç³»çµ±ã€é 程閉路監視系統ã€è¦–é »ä¿¡è™Ÿé‡‡é›†ç³»çµ±ã€åœ–åƒå’Œè¦–é »æª”æ¡ˆç³»çµ±ã€é«˜è³ªé‡è¦–é »æœƒè°ç³»çµ±ç‰ã€‚隨著ADV202的廣泛應用,JPEG2000技術必將æˆç‚ºæ¥ç•Œåœ–åƒè¦–é »å£“ç¸®çš„ä¸»æµæŠ€è¡“ä¹‹ä¸€ã€‚