基于機(jī)器視覺(jué)的嵌入式高速圖像通信系統(tǒng)設(shè)計(jì)
(2)圖像信號(hào)的處理和控制模塊,該模塊由 DSP和兩片 SRAM組成,完成了整個(gè)系統(tǒng)圖像數(shù)據(jù)的處理和對(duì)各模塊的集中控制與處理,DSP選用了 TI公司的通用 16位定點(diǎn) DSP芯片 TMS320VC5409,其指令的處理速度達(dá)到 100MIPS,通過(guò)片內(nèi)的鎖相環(huán)倍頻使 DSP內(nèi)部工作在 100M的頻率上,而外部的工作頻率可以相對(duì)較低,這就降低了電路設(shè)計(jì)的要求,提高了工作的穩(wěn)定性。該系統(tǒng)圖像采集的一幀圖像是 720×576象素,如果取彩色圖像,每象素用 2個(gè)字節(jié)表示,每幀圖像是 720×576×16=6.4Mb,分成奇數(shù)場(chǎng)和偶數(shù)場(chǎng)分別存儲(chǔ)在兩片 SRAM中,則每片的 SRAM存儲(chǔ) 3.2Mb的圖像數(shù)據(jù),因此選用了 256K×16=4M位的靜態(tài)存儲(chǔ)器(SRAM)。在圖像處理領(lǐng)域,通常只需要黑白圖像,可以只取圖像的黑白部分,每象素用 1個(gè)字節(jié)表示,每幀圖像是 3.2Mb ,每片 SRAM存儲(chǔ) 1.6Mb的圖像數(shù)據(jù)。所采用的 EZ-USB芯片理論速率是 480Mbps,實(shí)際測(cè)得的速率是 320Mbps,因此圖像采集卡每秒傳輸約 5幀彩色圖像或 10幀黑白圖像。
(3)USB傳輸和控制模塊,設(shè)計(jì)中選用的芯片是EZ-USB FX2系列的CY7C68013芯片,該芯片是針對(duì) USB2.0的,而且和 USB1.0兼容,由于 USB2.0的速度可以達(dá)到480Mb/S,并且FX2自身具有EP2,EP4,EP6和EP8的4個(gè)大流量端點(diǎn),CY7C68013可以實(shí)現(xiàn)從外部存儲(chǔ)器高速的讀取和寫(xiě)入數(shù)據(jù)。在圖像的采集、存儲(chǔ)和傳輸設(shè)計(jì)上,不再是奇數(shù)場(chǎng)存儲(chǔ)在奇數(shù)SRAM,偶數(shù)場(chǎng)存儲(chǔ)在偶數(shù)SRAM。最重要的改進(jìn)是一幀圖像在完成行延時(shí)和像素延時(shí)之后,當(dāng)偶數(shù)場(chǎng)到來(lái)后,先把偶數(shù)場(chǎng)的一半存儲(chǔ)在緊鄰奇數(shù)場(chǎng)數(shù)據(jù)的奇數(shù) SRAM中,然后再把余下的偶數(shù)場(chǎng)數(shù)據(jù)的一半存儲(chǔ)在緊鄰偶數(shù)場(chǎng)數(shù)據(jù)的偶數(shù) SRAM中。CY7C68013擁有 4個(gè)大容量端點(diǎn),恰好滿足了整個(gè)系統(tǒng)對(duì)實(shí)時(shí)性的要求。在 USB從兩個(gè) SRAM讀取圖像數(shù)據(jù)時(shí),USB并不是從兩個(gè)SRAM“乒乓”式的讀取圖像數(shù)據(jù),而是充分地利用 USB2.0的速度特點(diǎn),由 CPLD的時(shí)序調(diào)度來(lái)先讀取奇數(shù)SRAM,然后讀取偶數(shù)SRAM。
(4)系統(tǒng)接口以及終端圖像還原和存儲(chǔ)模塊,系統(tǒng)中各個(gè)模塊之間都需要通過(guò)接口來(lái)實(shí)現(xiàn)模塊間通信,因此接口的選擇是系統(tǒng)是保證系統(tǒng)通信速度的關(guān)鍵。其中CPLD 和 DSP 都具有很高的數(shù)據(jù)處理速度 ,如何將這兩個(gè)器件的處理速度協(xié)調(diào)起來(lái) ,會(huì)直接影響整體系統(tǒng)的運(yùn)行速度 ,這就涉及到 CPLD如何與 DSP接口的問(wèn)題。關(guān)鍵是選擇 DSP的接口方式和配置CPLD的片內(nèi)RAM。系統(tǒng)中DSP與 SDRAM 用EMIF 的方式接口。同時(shí),CPLD內(nèi)部的存儲(chǔ)器主要是 Block RAM ,可用作雙口 RAM ,正好可將 CPLD 模塊中的結(jié)果緩沖器設(shè)為雙口 RAM ,一端是輸入 ,另一端則模擬為SDRAM 的接口。這樣就將 CPLD 與 DSP 有機(jī)地連接在一起。系統(tǒng)與終端的接口采用的是 480Mb/s的 USB2.0通用串行接口,用于發(fā)送和接受各種數(shù)據(jù)及控制信號(hào)。PC機(jī)端通過(guò) USB接口接受數(shù)據(jù),然后存儲(chǔ)到終端硬盤(pán)上,進(jìn)行圖像的還原和處理。
圖 1 系統(tǒng)模塊
系統(tǒng)工作流程:系統(tǒng)上電以后, DSP從外部 FLASH進(jìn)行程序自舉,將程序引導(dǎo)進(jìn)入片內(nèi)高速 RAM中運(yùn)行。DSP對(duì) SAA7111A,TL16C750(異步通信芯片)進(jìn)行初始化配置。初始化結(jié)束后,DSP進(jìn)入等待狀態(tài)。當(dāng)接收到手動(dòng)或是軟件自動(dòng)鏈路請(qǐng)求時(shí), DSP進(jìn)行鏈路撥號(hào)。鏈路成功后, DSP通過(guò) CLKX產(chǎn)生觸發(fā)脈沖通知 CPLD可以采集圖像。從 CCD捕捉到的模擬視頻信號(hào)經(jīng)過(guò)SAA7111A的模數(shù)轉(zhuǎn)換,由CPLD控制寫(xiě)入片外高速大容量SRAM儲(chǔ)存,直到一幀圖像存儲(chǔ)完畢, CPLD交出總線。然后 USB控制器 FX2從兩片 SRAM中讀取奇數(shù)場(chǎng)和偶數(shù)場(chǎng)的圖像數(shù)據(jù)。一幀圖像采集結(jié)束后,CPLD置高 HOLD,同時(shí)產(chǎn)生中斷,通知 DSP。DSP收回總線,進(jìn)行圖像傳輸。圖像采集部分的 TOKEN信號(hào)外接 LED,LED的亮、滅狀態(tài)可以直觀地顯示系統(tǒng)進(jìn)程階段。
3 系統(tǒng)程序設(shè)計(jì)
3.1 DSP控制程序設(shè)計(jì)
DSP硬件控制程序用來(lái)管理硬件各部分工作方式及指定數(shù)據(jù)流向和組織方式 , 從 DSP執(zhí)行的內(nèi)外影響主要可以分為內(nèi)部的算法操作,和對(duì)外部的控制操作兩個(gè)部分。其中外部的聯(lián)系主要是兩個(gè)方面:一個(gè)是和CPLD控制通道的相互交換;一個(gè)是和DSP與CPLD數(shù)據(jù)交換存儲(chǔ)器進(jìn)行數(shù)據(jù)交換。系統(tǒng)的 DSP部分的軟件編寫(xiě)采用模塊化編程,主程序只是在循環(huán)檢測(cè)按鍵情況,如果需要就調(diào)用需要的功能模塊函數(shù),其主函數(shù)中的部分代碼如下:
While (1) { order num=scan key()://掃描按鍵 switch (order num)
{ case collection order://圖像采集命令 image_collection();//圖像采集 image_process();//圖像處理
image_save();//圖像保存 case usb_transfer://USB傳輸數(shù)據(jù)命令 set usb_transfer();//調(diào)用相應(yīng)模塊 default:; }}
評(píng)論