嵌入式機器視覺系統(tǒng)中ARM與DSP的數(shù)據(jù)通信方法

相關專題: 芯片

DSP對數(shù)字信號和數(shù)值算法具有強大的運算處理能力,因而在信號采集與處理中被廣泛應用,但其在任務管理、實時控制、人機交互等方面不占優(yōu)勢。而ARM微控制器則控制功能強大,可以加載嵌入式操作系統(tǒng),且能夠提供良好的人機交互、任務管理、網(wǎng)絡通信等方面功能。因此,發(fā)揮DSP和ARM處理器各自的優(yōu)勢,采用ARM+DSP結構的設計方案已成為嵌入式系統(tǒng)的研究熱點,倍受關注。通過嵌入式機器視覺系統(tǒng)的設計實例,闡述ARM與DSP有機結合的設計思想,重點研究ARM與DSP之間的數(shù)據(jù)通信。

1 嵌入式機器視覺系統(tǒng)總體方案

采用ARM+DSP結構的機器視覺系統(tǒng)總體結構如圖l所示。以三星公司高性能ARM處理器S3C2440作為主控制器,配置并移植Linux操作系統(tǒng),同時以TI公司的DSP芯片TMS320C5402為圖像處理的協(xié)處理器,通過對DSP芯片自帶的HPI接口的硬件連接方案和驅動程序設計,將二者有機地結合起來,各自發(fā)揮其獨特優(yōu)勢,協(xié)調配合,完成目標采集、處理與視覺跟蹤。

首先由智能攝像機采集現(xiàn)場運動目標的圖像,由ARM控制將數(shù)據(jù)存放在ARM與DSP的公共存儲區(qū)域中,并通知信號處理模塊DSP調用各種算法(幀間差分、圖像分割、特征提取、形心計算等)對視頻圖像進行處理,完成目標的識別與定位,并將結果信息傳給ARM處理器,由ARM控制步進電機,調整PTZ攝像機位姿(水平轉動P-Pan、垂直轉動T-Tilt、景深伸縮Z-Zoom),使其對準運動目標,實現(xiàn)實時跟蹤。此外,ARM處理器還負責多任務管理、人機交互及中斷報警等。

作為雙核系統(tǒng),雙核各自擁有很好的性能,于是主機ARM與協(xié)處理器DSP之間能否進行快速可靠的數(shù)據(jù)交換,直接決定機器視覺系統(tǒng)的運行效率。在硬件設計方面,采用主機并行接口HPI實現(xiàn)主機ARM與協(xié)處理器DSP之間的硬件直連,設計簡單方便,時鐘頻率可達到DSP時鐘頻率的1/5,能夠支持DSP與主機之間的高速數(shù)據(jù)傳輸。在軟件設計方面,則移植嵌入式Linux操作系統(tǒng),將HPI看作字符設備完成了驅動程序的設計。

2 雙機通信硬件設計

2.1 HPI接口簡介

主機接口(HPI)是TI公司C54x系列定點信號處理器(DSP)內部自帶的接口部件,通過它可以方便地實現(xiàn)DSP與其他主機連接。C54x中的主機接口主要有3種類型:標準8位主機接口HPI-8,增強8位主機接口HPI-8,增強16位主機接口HPI-16。增強型的HPI可以允許主機訪問DSP所有的片上RAM單元,而標準主機接口只允許訪問固定的2 K片上RAM。本文中用到的TMS320C5402擁有增強HPI-16主機接口。它由以下5部分組成:

1)HPI存儲器(DARAM) 傳送主機與DSP之間的數(shù)據(jù),在一個機器周期內能被訪問2次,可以用作通用的雙導址數(shù)據(jù)RAM或者程序RAM。

2)HPI地址寄存器(HPIA) 只有主機能對其進行直接訪問。該寄存器中存放著當前尋址的HPI存儲單元的地址。

3)HPI控制寄存器(HPIC) 地址002CH,主機和DSP都能對他直接訪問,用來保存HPI操作的控制和狀態(tài)位。

4)HPI數(shù)據(jù)鎖存器(HPID) 只有主機能對它進行直接訪問。如果當前進行的是讀操作,則HPID中存放的是要從HPI存儲器中讀出的數(shù)據(jù);如果當前進行寫操作,則HPID中存放的是將要寫到HPI存儲器的數(shù)據(jù)。

5)HPI控制邏輯 處理HPI與主機之間的接口信號。

接口電路中使用的引腳及其作用是:HD[15:O]:并行、雙向、三態(tài)的數(shù)據(jù)總線,不傳遞數(shù)據(jù)時為高阻態(tài);HHWIL:半字定義選擇引腳,用來表示第一或者第二半字。當?shù)碗娖綍r表示第一半字;當高電平時表示第二半字。:讀/寫輸入信號。高電平表示主機要讀HPI,低電平表示寫HPI。若主機沒有讀/寫選通,則可以用一根地址線代替。HCNTL0和HCNTLl控制引腳表示訪問那個內部HPI寄存器和訪問寄存器的類型。表l是具體功能說明。:輸入主要作為HPI的使能信號,而信號控制HPI數(shù)據(jù)傳遞;它們三者生成內部選通信號。就緒信號引腳,高電平表示HPI已經(jīng)準備好執(zhí)行1次數(shù)據(jù)傳送;低電平表示HPI正忙。HINT:主機外部中斷信號,用于HPI向主機發(fā)出中斷。地址選通信號,僅用于復用方式。對于地址/數(shù)據(jù)總線分開的主機,必須把信號連接到高電平。

2.2 接口電路及其工作原理

S3C2440與TMS320C5402通過HPI連接的接口電路如圖2所示,二者連接簡潔方便,不必使用任何的附加電路。工作時,ARM首先初始化控制寄存器HPIC和地址寄存器HPIA,然后對HPID進行讀寫。初始化HPIC、HPIA時,通過A2、A3、A4、A5對應的地址進行操作,設置寄存器訪問控制HCNTL0、HCNTL1、讀寫控制和半字訪問HHWIL,配置好HPIC,并在HPIA中寫入HPI存儲器的起始地址。因為ARM主機具有獨立的地址總線和數(shù)據(jù)總線,采用非復用方式,所以將HAS信號接高電平(VCC)。S3C2440的nWAIT信號與HPI的信號邏輯上反向,之間用反相器連接。 S3C2440通過片選信號nGCS2、讀使能信號nOE、寫使能信號nWE三者生成內部選通信號,控制對HPI的讀寫。

3 軟件設計

3.1 Linux驅動程序

Linux操作系統(tǒng)引入設備文件的概念,即把每一個設備都看作一個文件,像對待文件一樣對設備進行操作。在Linux操作系統(tǒng)下,設備文件主要有3種類型:字符設備、塊設備、網(wǎng)絡設備,各自對應一種類型的設備驅動程序。本文設計的HPI接口的驅動程序屬于字符設備驅動程序。

Linux下的驅動程序是為相應的設備編寫多個基本函數(shù),填充file_operations結構體。其中定義了實現(xiàn)各種操作函數(shù)。如下所示:

其中,open和release完成設備的打開和關閉。mmap為內存地址映射操作。驅動程序的設計是通過實現(xiàn)個中操作函數(shù)的基本功能,為相應的設備在應用層提供統(tǒng)一的接口。

作者:毛曉波 劉國棟 陳鐵軍 黃云峰 來源:電子設計工程


微信掃描分享本文到朋友圈
掃碼關注5G通信官方公眾號,免費領取以下5G精品資料
  • 1、回復“YD5GAI”免費領取《中國移動:5G網(wǎng)絡AI應用典型場景技術解決方案白皮書
  • 2、回復“5G6G”免費領取《5G_6G毫米波測試技術白皮書-2022_03-21
  • 3、回復“YD6G”免費領取《中國移動:6G至簡無線接入網(wǎng)白皮書
  • 4、回復“LTBPS”免費領取《《中國聯(lián)通5G終端白皮書》
  • 5、回復“ZGDX”免費領取《中國電信5GNTN技術白皮書
  • 6、回復“TXSB”免費領取《通信設備安裝工程施工工藝圖解
  • 7、回復“YDSL”免費領取《中國移動算力并網(wǎng)白皮書
  • 8、回復“5GX3”免費領取《R1623501-g605G的系統(tǒng)架構1
  • 本周熱點本月熱點

     

      最熱通信招聘

      最新招聘信息