《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于ARM和DSP的雙核監(jiān)控系統(tǒng)的設計與實現(xiàn)
基于ARM和DSP的雙核監(jiān)控系統(tǒng)的設計與實現(xiàn)
鮑 華1,,耿 銳1,歐明雙1
摘要: 針對遠程監(jiān)控的實際需要,介紹了基于ARM微處理器S3C2410A和DSP數(shù)字信號處理器TMS320C6211雙核結(jié)構監(jiān)控系統(tǒng)的設計方案。闡述了該系統(tǒng)的組成結(jié)構與軟硬件設計,系統(tǒng)主從設備單元之間通過I/O口與HPI接口實現(xiàn)通信,。該系統(tǒng)具有性能高、功耗低、實時性好,、可擴展性強及工作穩(wěn)定可靠等優(yōu)點,。
Abstract:
Key words :

  摘 要: 針對遠程監(jiān)控的實際需要,介紹了基于title="ARM">ARM微處理器S3C2410A和DSP數(shù)字信號處理器TMS320C6211雙核結(jié)構監(jiān)控系統(tǒng)的設計方案,。闡述了該系統(tǒng)的組成結(jié)構與軟硬件設計,,系統(tǒng)主從設備單元之間通過I/O口與HPI接口實現(xiàn)通信。該系統(tǒng)具有性能高,、功耗低,、實時性好、可擴展性強及工作穩(wěn)定可靠等優(yōu)點,。
關鍵詞: DSP,;ARM;通信

 

  隨著計算機技術,、網(wǎng)絡技術和大規(guī)模集成電路技術的發(fā)展,,通過網(wǎng)絡方式實現(xiàn)遠程實時監(jiān)控和檢測物理環(huán)境逐漸成為現(xiàn)實和研究的熱點。同時,,嵌入式設備功耗低,、實時性強等特點,為需要利用設備對現(xiàn)場進行數(shù)據(jù)采集和實時監(jiān)控等諸多場合提供可靠的支持,。
本文設計了基于ARM和DSP的雙核嵌入式監(jiān)控系統(tǒng),,該系統(tǒng)可以實時采集物理環(huán)境的數(shù)據(jù)信息并可通過網(wǎng)絡傳輸?shù)浇K端以得到即時處理。系統(tǒng)以ARM芯片為主設備單元處理器,,完成各種控制和網(wǎng)絡功能,,以DSP芯片作為從設備單元處理器,完成數(shù)據(jù)采集和分析處理,,ARM單元和DSP單元構成監(jiān)控系統(tǒng)的雙核架構,。該系統(tǒng)通過自主運行采集和分析處理被監(jiān)控區(qū)域的物理信息,依據(jù)實際需求將數(shù)據(jù)傳輸?shù)骄W(wǎng)絡或做出如報警,、跳閘等即時處理,,實現(xiàn)對被檢測區(qū)域的物理事件的實時監(jiān)控與檢測。
1 系統(tǒng)的設計方案
檢測被監(jiān)控環(huán)境中物理信息的傳統(tǒng)監(jiān)控設備,,一般采用單核DSP處理器結(jié)構,,系統(tǒng)設計較為復雜,穩(wěn)定性不高,。本設計采用ARM與DSP雙核結(jié)構,,通過系統(tǒng)主從兩個設備單元的硬件通信接口的設計和軟件通信的設計,將32位嵌入式微處理器ARM與數(shù)字信號處理器DSP相結(jié)合,,以充分利用雙核處理器的優(yōu)勢,。ARM系統(tǒng)單元采用經(jīng)過裁剪的Linux嵌入式實時操作系統(tǒng),實現(xiàn)整個設備系統(tǒng)的協(xié)調(diào)控制和網(wǎng)絡功能等,;DSP單元通過檢測算法的移植,,實現(xiàn)數(shù)據(jù)的采集分析,、處理和數(shù)據(jù)傳輸。
該雙核設備系統(tǒng)中,,ARM系統(tǒng)作為主設備單元實現(xiàn)各控制功能,,向DSP單元發(fā)出控制指令,通過硬件接口接收DSP采集的數(shù)據(jù),;DSP系統(tǒng)作為從設備單元,,搜集、分析和處理傳感器或CCD等外設獲取的物理數(shù)據(jù),,并向主設備單元發(fā)送有效信息,。其中,ARM和DSP之間數(shù)據(jù)交換的速度決定了整個系統(tǒng)的運行速度和性能,。
2 系統(tǒng)硬件設計
2.1 系統(tǒng)整體結(jié)構組成
  監(jiān)控系統(tǒng)主要由兩部分組成:ARM微處理器主設備單元和DSP數(shù)據(jù)處理器從設備單元,。系統(tǒng)結(jié)構組成如圖1所示。為提高主從設備單元之間的數(shù)據(jù)交換速度從而有效提高系統(tǒng)的運行性能,,主處理器采用Samsung公司的ARM9內(nèi)核芯片S3C2410A[1],,從處理器采用TI公司的TMS320C6211 DSP芯片[2]

 


S3C2410A主頻為200 MHz~266 MHz,,數(shù)據(jù)處理速度為1.1 MIPS/MHz,,其性能出色,片內(nèi)外資源豐富,、視頻處理功能優(yōu)秀,、功耗低、外設接口豐富,,可以滿足多種設備外接的需求,。TMS320C6211工作頻率可達167 MHz,數(shù)據(jù)處理速度可達1 333 MIPS,。TMS320C6211已經(jīng)廣泛應用于視頻檢測卡中,,可做到以視頻圖像幀速率檢測信息[3],外設接口豐富,。如圖1所示,,ARM處理器選擇通用外部接口GPIO(General purpose I/O)的Port C端口16根數(shù)據(jù)線與DSP的主機接口HPI(Host Port Interface)相連接,實現(xiàn)數(shù)據(jù)交換和信息傳輸,。ARM在接收到數(shù)據(jù)后,,根據(jù)需要做出相應處理,如將數(shù)據(jù)傳輸?shù)骄W(wǎng)絡,、報警等,;DSP通過中斷的方式定時向ARM單元提出數(shù)據(jù)傳輸申請,經(jīng)響應后將數(shù)據(jù)傳輸給主設備單元,,進而通過網(wǎng)絡傳輸?shù)浇K端,。
2.2 主設備單元設計
  系統(tǒng)主設備單元采用ARM處理器為核心實現(xiàn),主要負責系統(tǒng)控制管理和數(shù)據(jù)傳輸?shù)热蝿?,通過相應的外設可以實時顯示或相應處理,,如報警、電路跳閘和網(wǎng)絡通信等,。S3C2410A處理器采用ARM9內(nèi)核,,具有功耗低、體積小,、集成度高等特點,,可通過GPIO連接多種外設。其中,,內(nèi)部集成了1片8 M×32 bit的Flash,,1個16 M×32 bit寬的SDRAM的內(nèi)存,主設備單元組成如圖2所示,。


主設備控制單元模塊中,,外接1片8 M×16 bit的Flash,一個16 M×16 bit寬的SDRAM,,加上處理器自帶的內(nèi)存,,總共構成32 MB Flash、96 MB SDRAM,,可充分滿足嵌入式操作系統(tǒng)的移植和數(shù)據(jù)存儲的需求,。控制單元通過USB口與外設或上位機實現(xiàn)數(shù)據(jù)交換與系統(tǒng)移植,,利用專用的JTAG調(diào)試接口實現(xiàn)功能調(diào)試,。另外,可以利用GPIO外接多種不同的設備,,如顯示器,、報警器,也可以通過自帶的網(wǎng)口連接到辦公網(wǎng)絡等,。
2.3 從設備單元設計
從設備單元以TMS320C6211芯片為核心,,該芯片采用的哈佛結(jié)構比傳統(tǒng)的馮諾依曼結(jié)構具有更高的DSP 指令速度,且具有分離的數(shù)據(jù)總線和程序總線,,片內(nèi)集成了ROM,、RAM 和多個外設數(shù)據(jù)處理部分。
TMS320C6211芯片有兩種方式實現(xiàn)與ARM控制芯片相連接:(1)利用主機設備接口HPI,,主設備單元直接訪問DSP,,DSP作為從設備使用;(2)利用增強直接存儲器訪問控制器EMIF(External Memory Interface),,把ARM控制器映射到EMIF的存儲空間的方式,,使用EMIF控制DSP與ARM的數(shù)據(jù)傳輸,,DSP作為主設備使用[4,6],。本文選擇DSP作為從設備的方式,,利用HPI和主設備單元進行通信。
TMS320C6211芯片的主機接口HPI是1個16 bit并行端口,,主設備芯片S3C2410A掌管該接口的主控權,,HPI接口允許主設備芯片通過HPI的3個寄存器實現(xiàn)對DSP存儲空間的隨機地址存取和自增地址存取。DSP芯片的HPI接口3個寄存器分別是:控制寄存器(HPIC),、數(shù)據(jù)鎖存器(HPID),、地址寄存器(HPIA)。HPI接口信號及其功能如表1所示,。主設備芯片S3C2410A和TMS320C6211都可以存取HPI控制寄存器,,主設備還可以存取HPI地址寄存器和HPI數(shù)據(jù)寄存器,HPI的3個寄存器都采用存儲器映射方式映射到主設備的存儲空間[3,,6],。


2.4 主從設備單元的接口設計[4-6]
  S3C2401A作為主處理單元的處理器工作在主機模式下,TMS320C6211作為信號采集與處理單元的處理器工作在從機模式下,。ARM系統(tǒng)單元在系統(tǒng)上電時對DSP系統(tǒng)單元進行初始化并加載檢測程序及參數(shù),,利用I/O口進行數(shù)據(jù)傳輸操作,通過HPI接口訪問DSP的整個存儲空間,。ARM給DSP發(fā)送控制信息時,,通過HPI接口將控制數(shù)據(jù)直接寫入DSP的某個存儲區(qū)域內(nèi),DSP經(jīng)查詢控制信息后,,到約定好的DSP存儲區(qū)域內(nèi)取數(shù)據(jù)并作相應處理,,如寫數(shù)據(jù)到HPI端口等。
S3C2401A通過端口C(Port C)的16根數(shù)據(jù)線和TMS320C6211的HPI接口HD[15:0]連接傳輸數(shù)據(jù),,通過控制線分別產(chǎn)生不同的硬件控制信號,。S3C2410A的2根地址線ADDR2、ADDR3分別接到TMS320C6211的HCNTL0,、HCNTL1,,以完成對HPI接口不同寄存器的訪問。地址線ADDR4代替HR/W信號和HPI口的HR/W相接,,用于選擇HPI接口處于寫或讀狀態(tài),。地址線ADDR1與DSP 的HHWIL與相連接,其信號表明并區(qū)分HD[15:0]上傳輸?shù)氖?2 bit數(shù)據(jù)中的高16 bit還是低16 bit,。TMS320C6211與S3C2401A間所有的數(shù)據(jù)交換是32 bit寬,,而HPI端口為16 bit,所以每次數(shù)據(jù)訪問都需要進行2次存取,由HPI自動將HD[15:0]上連續(xù)的2個16 bit數(shù)據(jù)合成32 bit,,也可以用其進行反向分解,。
S3C2410A的讀/寫信號nOE和nWE分別接到HDS1和HDS2,HPI口的HDS1和HDS2是數(shù)據(jù)選通信號,,所有的地址線和控制線都在它們的下降沿采樣,。從機HRDY信號接到主機的nWAIT(等待信號)上,,HRDY是HPI準備好端,,低電平表示HPI已準備好執(zhí)行一次數(shù)據(jù)傳送,高電平表示HPI正忙于完成當前事務,。HPI口的中斷信號HINT連接到主機上的外部中斷引腳EINT8,,用于產(chǎn)生或偵聽中斷信號。HAS是地址選通信號,,此信號用于主機的數(shù)據(jù)線和地址線復用的情況,,不用時此信號應接高電平。
把TMS320C6211映射到S3C2410A的存儲空間組BANK2,,將BANK2的片選信號nGCS2與HPI接口的片選信號HCS相連接,,只要對BANK2進行操作,就可以產(chǎn)生DSP的片選信號,。將TMS320C6211的引導模式設置為HPI boot模式,,在復位后由主機通過HPI口對DSP進行初始化操作,包括初始化CPU和EMIF及向DSP加載程序和數(shù)據(jù)等,,主從設備之間硬件接口連接如圖3所示,。


3 系統(tǒng)軟件設計
3.1 系統(tǒng)的初始化
  在設計好ARM與DSP硬件連接的基礎上,需要通過正確的初始化和編程才能實現(xiàn)設備之間的通信,。對DSP芯片HPI接口進行讀/寫操作時,,將HPI接口看作一個連接到ARM芯片的外部設備,將完成讀/寫操作的程序看成在ARM核Linux系統(tǒng)下面的一個字符型驅(qū)動程序進行開發(fā),。程序在上位機開發(fā)完畢后,,經(jīng)JTAG口固化到ARM的存儲空間里。S3C2410A與TMS320C6211之間的初始化程序主要由ARM芯片的初始化和HDI接口讀寫初始化組成,。
(1)ARM芯片的初始化[1,,4]
ARM處理器先要完成自身工作模式等一系列的初始化,才能正常進行HPI接口的讀/寫,。初始化主要有嵌入式操作系統(tǒng)的移植,、GPIO口管腳功能定義、中斷控制,、代碼啟動,,還有PLL、時鐘、存儲器系統(tǒng)以及堆棧等初始化,, I/O及BANK存儲空間初始化的部分代碼如圖4所示,。


(2)HPI接口讀寫初始化[2,4]
系統(tǒng)設計中HPI口將占用外部I/O接口BANK2的地址,,需要對TMS320C6211的BANK進行配置,,同時對HPI接口寄存器的地址進行宏定義。由于使用單獨的地址線來模擬HPI16接口的HR/W,,因此對同一個寄存器分別進行讀/寫操作時,,看起來像是對不同的地址進行相應的操作。DSP芯片部分初始化源代碼如圖5所示,。


在定義宏后,,ARM通過HPI驅(qū)動程序就可以將DSP中的數(shù)據(jù)通過HPI口讀出來,并送到指定的用戶緩沖區(qū)中,,再通過網(wǎng)絡發(fā)送到用戶終端,。
3.2 數(shù)據(jù)傳輸流程
由ARM和DSP雙核構建的監(jiān)控系統(tǒng)中,數(shù)據(jù)傳輸由ARM發(fā)起,。ARM單元在啟動后,,開啟數(shù)據(jù)傳輸進程與DSP單元建立通信連接,周期地查詢外設端口是否有DSP數(shù)據(jù)輸入,。在接收到DSP數(shù)據(jù)后,,依據(jù)控制單元的程序進行分析和處理,以及依據(jù)需要做出相應操作或?qū)?shù)據(jù)上傳至網(wǎng)絡等,。
DSP數(shù)據(jù)采集單元在啟動后,,通過所連接的外設采集監(jiān)控區(qū)域的物理信息。應用移植到DSP核中的程序算法,,對接收到的數(shù)據(jù)實現(xiàn)分析和處理,。在接收到主設備控制單元的數(shù)據(jù)傳輸指令后,將經(jīng)過分析處理后的數(shù)據(jù)發(fā)送到ARM控制單元,。具體的設備數(shù)據(jù)傳輸流程如圖6所示,,其中,ARM控制單元和DSP數(shù)據(jù)處理單元各自并行執(zhí)行相關操作,。


    本系統(tǒng)采用了目前先進的ARM,、DSP技術,ARM作為主處理器完成系統(tǒng)管理及網(wǎng)絡通信,,DSP作為協(xié)處理器完成數(shù)據(jù)采集,、分析和處理,整個系統(tǒng)方案簡潔高效且具有可重構性,。DSP的快速數(shù)據(jù)處理能力和ARM 卓越的控制,、通信能力保證了動態(tài)信號采集和分析系統(tǒng)的實時性要求。由于DSP及ARM均是可編程的系統(tǒng)配置,運算靈活,,其性價比高,、體積小、功耗低,,嵌入式操作系統(tǒng)支持的軟件豐富,,源代碼開放裁剪靈活等特點,使本系統(tǒng)設計滿足了數(shù)據(jù)采集分析對易操作,、網(wǎng)絡化和低成本等方面的要求,,適用于不同環(huán)境的檢測和監(jiān)控。


參考文獻
[1] Samsung Electronics.S3C2410A-200MHz & 266MHz 32-Bit RISC Microprocessor User′s Manual,Revision1.0[Z].2004.
[2] TI Corp.TMS320C6000 Peripherals Reference Guide[Z].2000.
[3] 楊健,,張慧慧.基于DSP和ARM的網(wǎng)絡化數(shù)據(jù)采集與信號分析終端[J].計算機工程,,2006,,32(8):269-271.
[4] 吳駿,,楊兆選.ARM與DSP雙核視頻交通檢測系統(tǒng)通信接口設計[J].計算機工程,2007,,33(5):255-257.
[5] 肖政宏,,韓秋風,朱麗群.基于ARM和DSP的遠程視頻監(jiān)控系統(tǒng)的設計和實現(xiàn)[J].計算機工程與科學,,2006,,28(9):53-55.
[6] 江思敏,劉暢.TMS320C6000 DSP應用開發(fā)教程[M].北京:機械工業(yè)出版社,,2005.

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權禁止轉(zhuǎn)載。