引 言
近些年來,隨著電子元器件價格的不斷降低和數字信號處理器(Digital Signal Processor,DSP)性能的不斷提升,以DSP為核心的嵌入式實時圖像處理技術在目標跟蹤、機器人導航、輔助駕駛、智能交通監控等領域獲得了越來越廣泛的應用。由于圖像的實時處理與圖像數據的實時采集、存儲和傳輸密切相關,因而各模塊間的無縫連接與高效配合是嵌入式圖像處理系統設計過程中的關鍵問題。綜合考慮系統的實現成本、實時性以及實際應用,在嵌入式圖像處理技術的許多應用領域中,如視頻監控以及視覺客流檢測等,由于對圖像質量要求不是很高,處理算法相對簡單,采用低端DSP(如Ti公司的C5000系列等)就可以完成相應的圖像處理任務,面向這些實際應用領域的嵌入式圖像處理系統完全可以采用低端DSP作為系統的處理核心,因此將以低端DSP為核心構建面向客流檢測實際應用的嵌入式圖像處理系統。另外,與其他圖像數據傳輸方式(如串口、并口和USB等)相比,以太網接口具有傳輸速度快,成本低廉,開發簡便以及可以實現遠程控制等一系列優點,因而提出的嵌入式圖像處理系統的圖像傳輸部分將采用基于TCP/IP協議的以太網傳輸技術實現系統圖像數據的遠程傳輸功能。
1 系統構成
這里提出的基于DSP的嵌入式圖像處理系統由圖像采集與存儲、圖像處理和圖像傳輸3部分組成,組成框圖如圖1所示。選用CMOS圖像傳感器OV7141完成系統的圖像采集功能,選用TMS320VC5416DSP完成系統的圖像處理與分析,采用FIFO存儲器IDT72V04作為圖像存儲的緩沖區,采用10兆/lOO兆自適應網絡控制器LAN9115實現圖像數據的以太網傳輸功能,系統各模塊間的邏輯控制由CPLI)EPM3064A實現。
2 系統的硬件實現
2.1 芯片介紹
考慮到視覺客流檢測應用中的圖像處理只涉及灰度圖像,因而提出的嵌入式圖像處理系統可以直接采用黑白圖像傳感器。這里選用Omnivision公司的黑白CMOS圖像傳感器OV7141作為圖像采集芯片。該芯片工作電壓為2.5 V,分辨率為640×480,工作頻率為27 MHz,每秒鐘能輸出30幀(VGA模式)或者60幀(QVGA模式),內部整合模數轉換(A/D),自動增益控制(AGC),SCCB總線控制端口等,可直接輸出8 b圖像數據。
圖像處理芯片采用TI公司的TMS320VC5416定點DSP,其內部采用一種改進型的哈佛總線結構(1條程序總線、3條數據總線和4條地址總線),數據總線寬度為16 b,最大尋址空間為64 K×16 b。程序總線寬度為23 b,最大尋址空間為8 M×16 b。片內有128 M×16 b的RAM(其中包括64 M×16 b的單周期雙訪問DARAM和64 M×16 b的單周期單訪問SARAM),6通道DMA傳輸控制器,3個帶緩沖器的串行通信接口(McBSP)。分開的數據和指令空間使該芯片具有高度的并行操作能力,在單周期內允許指令和數據同時存取,再加上其高度優化的指令集,使得該芯片具有很高的運算速度,最高可達160 MIPSE。
FIFO采用IDT公司的IDT72V04,它是異步的先進先出緩存器,容量為4096×9 b。供電電壓為3.3 V,它有3個狀態輸出信號可用于圖像數據存儲與讀取控制,即全滿信號/FF、半滿信號/HF和空信號/EF。CPLD采用ALTERA公司的MAX3064A,可使用門數1250個;宏單元64個;邏輯陣列塊(LAB)4個;最大可使用輸入輸出(I/O)管腳數64個;最大工作時鐘頻率為222.2 MHz;核供電和I/O供電都為3.3 V。LAN9115是SMSC公司的第二代10兆/100兆非PCI以太網控制器,LAN9115設計有大容量的存儲器緩沖器,快速總線周期時間和內置的流控制支持,LAN9115支持高的數據速率,幾乎沒有包的損失,支持多種高清晰度視頻。LAN9115的主要性能:功率管理;支持LAN叫醒,使網絡能把消費類電子產品從睡眠狀態中叫醒;多種低功耗模式;能防止接收存儲器溢出;內置支持流控制;簡單SRAM系統接口;能與任何的嵌入處理器接口。
2.2 DSP與FIFO存儲器的無縫連接與圖像采集的實現
FIFO與DSP和OV7141的無縫連接如圖2所示。OV7141的工作頻率是27 MHz,每秒鐘能輸出30幀(VGA模式)或者60幀(QVGA模式)。由于DSP性能有限,而且實際上很多情況下也不需要如此高的幀率,因此并不是所有采集到的圖像數據都需要DSP進行處理(例如在視覺客流檢測系統的實際應用中只要求每秒鐘能處理5幀即可),但是必須保證DSF進行處理的圖像為一幅完整的圖像。可以利用OV7141的3個輸出信號來完成這個功能,分別是PCLK(像素時鐘信號)、VSYNC(場同步信號)和HREF(行有效信號)。并且OV7141可通過改變片內控制寄存器的值來調整輸出圖像的窗口大小,窗口可在4×2到652×482像素之間任意選擇。HREF、只在所選擇窗口內的像素信號輸出時才置高電平,這使得圖像的非完整模式下的處理也變為了可能。另外,0V7141的片內控制寄存器配置功能由SCCB總線實現,由于DSP不具有SCCB總線接口,因而為了通過DSP實現對0V7141的寄存器配置,利用DSP的2根數據線DO和D1借助CPLD實現sCcB總線時鐘線SCL和數據線SDA的模擬以實現虛擬SCCB總線。
控制FIF0的信號主要是寫信號和讀信號,它們都由DSP根據FIF0的狀態信號及DSP對圖像的處理結果來控制對FIFO的讀/寫。讀/寫操作時序如圖3所示。CM0s圖像傳感器采集獲得的圖像數據在CPLD控制下逐行寫入FIFO,當FIFO的存儲容量達到半滿時,FIFO的半滿標志位以外部中斷方式通知DSP,DSP,檢測到外部中斷后開啟DMA,利用DMA通道將FIFo中的圖像數據搬移到DSP的片內圖像緩沖區中。需要注意的是,在DMA從FIFO搬運圖像數據的過程中CMOS圖像傳感器并沒有停止向FIFO寫入圖像數據,由于CMOS寫入FIFO速度Vw。比DMA從FIFO中讀出數據的速度Vr慢(Vw=(1/2)Vr),使得CMOS和DMA在對FIFO進行雙向訪問時FIFO的實際存儲容量始終保持在0和最大存儲量之間,既不會上溢也不會下溢;從而保證一幀完整的圖像可以被DMA控制器順利的轉移至DSP的片內圖像緩沖區中。當一幀完整的圖像搬運完成后,DMA會開啟處理使能標志,當DSP發現處理使能標志開啟后將從片內圖像緩沖區中獲得圖像數據以完成圖像處理算法,在DSP進行圖像處理的同時,DMA控制器可以同時進行下一幀圖像數據的搬移工作以提升系統的并行處理能力。DSP對于當前幀圖像處理完成后將等待處理使能標志的再次開啟以繼續下一幀圖像的處理。DSP對于當前幀圖像的處理結果將在當前幀處理完成后采用以太網傳輸至接收終端。
此外,DMA在執行圖像數據搬移功能時,為了保證數據搬移過程與DSP圖像處理的并行性,通常需要在DSP片內開辟2塊圖像數據緩沖區。由于5416DSP片內DARAM在速度上優于SARAM,因而通常重要的程序代碼以及算法的堆棧都放在DARAM中,為了節省DARAM資源并充分利用SARAM,在DSP程序空間所在的SARAM和數據空間所在的DARAM中各開辟1塊作為圖像數據緩沖區。SARAM中的緩沖區用于DMA通道0從FIF0中讀取當前幀圖像數據,DMA通道1從SARAM緩沖區中讀取上一幀圖像數據,兩個DMA通道的數據搬移功能都可以在DSP完成某個子算法的過程中并行實現。
2.3 基于TCP/IP協議的以太網傳輸的實現與圖像的實時傳輸
考慮到實際情況中通常采用圖像處理系統與接收終端采用雙絞線直連的方式傳輸圖像數據,因而直接采取TCP/IP協議族中傳輸效率更高的用戶數據包協議(UDP)完成系統與接收終端的數據交互。接收終端可采用套接字(Socket)獲取UDP數據包,并從UDP數據包中還原出圖像數據或其他系統參數。而在圖像處理系統中,UDP數據包的發送主要通過DSP讀寫LAN9115的片內寄存器以及FIF0的方式實現,具體有以下幾個步驟:
(1)初始化。完成LAN9115的喚醒工作,判別其工作狀態,通過讀寫指定內部寄存器,激活他的各項功能。
(2)設置MAC地址。初始化時DSP通過更改LAN9115內部寄存器ADDRH和ADDRL的值,完成對網絡MAC地址的設置。
(3)發送ARP數據包。根據UDP協議,發送數據時要獲取對方機器的IP地址和MAC地址。該程序根據ARP協議,發送ARP數據,再接收圖像接收端發回的RARP數據包,分析里面的數據,即可生成符合要求的UDP數據。
(4)發送圖像數據。在發送數據包(Packet)過程中,DSP先更改LAN9115的寄存器TX_CMD_A和Tx_CMD_B的值,其中包含了要發送的數據大小,數據包(Packet)長度等信息,該系統目前采取的圖像大小為320×240像素。在實際傳輸中,每幀圖像分20塊(1 Frame=20 Block),每塊又分6個數據報傳輸(1 Block=6 Slice),每個數據包中圖像數據為1 280 B(1 Slice=1 280 B)。這樣做是因為以太網協議里規定每個數據包大小不能超過1 514 B,Windows系統中Socket套接字的緩沖區是8 KB。然后DSP利用I/0端口訪問模式將數據依次寫入LAN9115中。要中斷當前傳輸過程,可設置寄存器TX—CFG中sTOP—Tx比特為1。這個傳輸過程就將立即結束。LAN9115與DSP的接口如圖4所示。
3 系統軟件設計
針對客流檢測的實際應用,提出的嵌入式客流檢測系統依據人體頭部在俯視圖像中近似為圓形的特點采用基于Hough變換的頭部輪廓特征提取和識別方法定位圖像中的行人頭部,并利用基于Kalman濾波和頭部輪廓特征幀間匹配的跟蹤方法實現人體頭部的跟蹤以防止重復計數情況的出現,系統的軟件設計流程圖如圖5所示。
4 實驗結果
系統軟件算法目前已完全移植入系統硬件平臺并可以進行現場實驗。在某公交公司的配合下,系統平臺在一條實際運營的公交線路上進行了公交客流檢測的現場實驗。為了對系統應付客流高峰的能力進行*估,現場實驗特意挑選了一條終點站為火車站,且包含大量客流高峰情況的公交線路。另外,考慮到公交客流檢測全天候工作的特性,系統平臺在夜間帶有紅外照明的情況下也進行了現場實驗。實驗結果可見表l。
5 結語
實踐證明,該圖像處理系統可以很好地進行圖像采集、實時數據處理以及輸出。在客流檢測時,準確率較高。作為基于DSP嵌入式系統和以太網傳輸的網絡測試平臺,有遠程傳輸和控制的能力,有廣泛的應用范圍和推廣價值。該項目的完成,非常感謝浙江大學信息學院劉濟林教授的大力支持和指導。
-
處理器
+關注
關注
68文章
19348瀏覽量
230278 -
dsp
+關注
關注
554文章
8030瀏覽量
349367 -
嵌入式
+關注
關注
5087文章
19147瀏覽量
306152
發布評論請先 登錄
相關推薦
評論