嵌入式機器視覺(jué)系統中ARM與DSP的數據通信方法
DSP對數字信號和數值算法具有強大的運算處理能力,因而在信號采集與處理中被廣泛應用,但其在任務(wù)管理、實(shí)時(shí)控制、人機交互等方面不占優(yōu)勢。而ARM微控制器則控制功能強大,可以加載嵌入式操作系統,且能夠提供良好的人機交互、任務(wù)管理、網(wǎng)絡(luò )通信等方面功能。因此,發(fā)揮DSP和ARM處理器各自的優(yōu)勢,采用ARM+DSP結構的設計方案已成為嵌入式系統的研究熱點(diǎn),倍受關(guān)注。通過(guò)嵌入式機器視覺(jué)系統的設計實(shí)例,闡述ARM與DSP有機結合的設計思想,重點(diǎn)研究ARM與DSP之間的數據通信。
1 嵌入式機器視覺(jué)系統總體方案
采用ARM+DSP結構的機器視覺(jué)系統總體結構如圖l所示。以三星公司高性能ARM處理器S3C2440作為主控制器,配置并移植Linux操作系統,同時(shí)以TI公司的DSP芯片TMS320C5402為圖像處理的協(xié)處理器,通過(guò)對DSP芯片自帶的HPI接口的硬件連接方案和驅動(dòng)程序設計,將二者有機地結合起來(lái),各自發(fā)揮其獨特優(yōu)勢,協(xié)調配合,完成目標采集、處理與視覺(jué)跟蹤。
首先由智能攝像機采集現場(chǎng)運動(dòng)目標的圖像,由ARM控制將數據存放在A(yíng)RM與DSP的公共存儲區域中,并通知信號處理模塊DSP調用各種算法(幀間差分、圖像分割、特征提取、形心計算等)對視頻圖像進(jìn)行處理,完成目標的識別與定位,并將結果信息傳給ARM處理器,由ARM控制步進(jìn)電機,調整PTZ攝像機位姿(水平轉動(dòng)P-Pan、垂直轉動(dòng)T-Tilt、景深伸縮Z-Zoom),使其對準運動(dòng)目標,實(shí)現實(shí)時(shí)跟蹤。此外,ARM處理器還負責多任務(wù)管理、人機交互及中斷報警等。
作為雙核系統,雙核各自擁有很好的性能,于是主機ARM與協(xié)處理器DSP之間能否進(jìn)行快速可靠的數據交換,直接決定機器視覺(jué)系統的運行效率。在硬件設計方面,采用主機并行接口HPI實(shí)現主機ARM與協(xié)處理器DSP之間的硬件直連,設計簡(jiǎn)單方便,時(shí)鐘頻率可達到DSP時(shí)鐘頻率的1/5,能夠支持DSP與主機之間的高速數據傳輸。在軟件設計方面,則移植嵌入式Linux操作系統,將HPI看作字符設備完成了驅動(dòng)程序的設計。
2 雙機通信硬件設計
2.1 HPI接口簡(jiǎn)介
主機接口(HPI)是TI公司C54x系列定點(diǎn)信號處理器(DSP)內部自帶的接口部件,通過(guò)它可以方便地實(shí)現DSP與其他主機連接。C54x中的主機接口主要有3種類(lèi)型:標準8位主機接口HPI-8,增強8位主機接口HPI-8,增強16位主機接口HPI-16。增強型的HPI可以允許主機訪(fǎng)問(wèn)DSP所有的片上RAM單元,而標準主機接口只允許訪(fǎng)問(wèn)固定的2 K片上RAM。本文中用到的TMS320C5402擁有增強HPI-16主機接口。它由以下5部分組成:
1)HPI存儲器(DARAM) 傳送主機與DSP之間的數據,在一個(gè)機器周期內能被訪(fǎng)問(wèn)2次,可以用作通用的雙導址數據RAM或者程序RAM。
2)HPI地址寄存器(HPIA) 只有主機能對其進(jìn)行直接訪(fǎng)問(wèn)。該寄存器中存放著(zhù)當前尋址的HPI存儲單元的地址。
3)HPI控制寄存器(HPIC) 地址002CH,主機和DSP都能對他直接訪(fǎng)問(wèn),用來(lái)保存HPI操作的控制和狀態(tài)位。
4)HPI數據鎖存器(HPID) 只有主機能對它進(jìn)行直接訪(fǎng)問(wèn)。如果當前進(jìn)行的是讀操作,則HPID中存放的是要從HPI存儲器中讀出的數據;如果當前進(jìn)行寫(xiě)操作,則HPID中存放的是將要寫(xiě)到HPI存儲器的數據。
5)HPI控制邏輯 處理HPI與主機之間的接口信號。
接口電路中使用的引腳及其作用是:HD[15:O]:并行、雙向、三態(tài)的數據總線(xiàn),不傳遞數據時(shí)為高阻態(tài);HHWIL:半字定義選擇引腳,用來(lái)表示第一或者第二半字。當低電平時(shí)表示第一半字;當高電平時(shí)表示第二半字。:讀/寫(xiě)輸入信號。高電平表示主機要讀HPI,低電平表示寫(xiě)HPI。若主機沒(méi)有讀/寫(xiě)選通,則可以用一根地址線(xiàn)代替。HCNTL0和HCNTLl控制引腳表示訪(fǎng)問(wèn)那個(gè)內部HPI寄存器和訪(fǎng)問(wèn)寄存器的類(lèi)型。表l是具體功能說(shuō)明。
:輸入主要作為HPI的使能信號,而
信號控制HPI數據傳遞;它們三者生成內部選通信號
。
就緒信號引腳,高電平表示HPI已經(jīng)準備好執行1次數據傳送;低電平表示HPI正忙。HINT:主機外部中斷信號,用于HPI向主機發(fā)出中斷。
地址選通信號,僅用于復用方式。對于地址/數據總線(xiàn)分開(kāi)的主機,必須把信號連接到高電平。
2.2 接口電路及其工作原理
S3C2440與TMS320C5402通過(guò)HPI連接的接口電路如圖2所示,二者連接簡(jiǎn)潔方便,不必使用任何的附加電路。工作時(shí),ARM首先初始化控制寄存器HPIC和地址寄存器HPIA,然后對HPID進(jìn)行讀寫(xiě)。初始化HPIC、HPIA時(shí),通過(guò)A2、A3、A4、A5對應的地址進(jìn)行操作,設置寄存器訪(fǎng)問(wèn)控制HCNTL0、HCNTL1、讀寫(xiě)控制和半字訪(fǎng)問(wèn)HHWIL,配置好HPIC,并在HPIA中寫(xiě)入HPI存儲器的起始地址。因為ARM主機具有獨立的地址總線(xiàn)和數據總線(xiàn),采用非復用方式,所以將HAS信號接高電平(VCC)。S3C2440的nWAIT信號與HPI的
信號邏輯上反向,之間用反相器連接。 S3C2440通過(guò)片選信號nGCS2、讀使能信號nOE、寫(xiě)使能信號nWE三者生成內部選通信號
,控制對HPI的讀寫(xiě)。
評論