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

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

 

  隨著計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)和大規(guī)模集成電路技術(shù)的發(fā)展,通過網(wǎng)絡(luò)方式實(shí)現(xiàn)遠(yuǎn)程實(shí)時(shí)監(jiān)控和檢測物理環(huán)境逐漸成為現(xiàn)實(shí)和研究的熱點(diǎn)。同時(shí),嵌入式設(shè)備功耗低、實(shí)時(shí)性強(qiáng)等特點(diǎn),為需要利用設(shè)備對現(xiàn)場進(jìn)行數(shù)據(jù)采集和實(shí)時(shí)監(jiān)控等諸多場合提供可靠的支持。
本文設(shè)計(jì)了基于ARM和DSP的雙核嵌入式監(jiān)控系統(tǒng),該系統(tǒng)可以實(shí)時(shí)采集物理環(huán)境的數(shù)據(jù)信息并可通過網(wǎng)絡(luò)傳輸?shù)浇K端以得到即時(shí)處理。系統(tǒng)以ARM芯片為主設(shè)備單元處理器,完成各種控制和網(wǎng)絡(luò)功能,以DSP芯片作為從設(shè)備單元處理器,完成數(shù)據(jù)采集和分析處理,ARM單元和DSP單元構(gòu)成監(jiān)控系統(tǒng)的雙核架構(gòu)。該系統(tǒng)通過自主運(yùn)行采集和分析處理被監(jiān)控區(qū)域的物理信息,依據(jù)實(shí)際需求將數(shù)據(jù)傳輸?shù)骄W(wǎng)絡(luò)或做出如報(bào)警、跳閘等即時(shí)處理,實(shí)現(xiàn)對被檢測區(qū)域的物理事件的實(shí)時(shí)監(jiān)控與檢測。
1 系統(tǒng)的設(shè)計(jì)方案
檢測被監(jiān)控環(huán)境中物理信息的傳統(tǒng)監(jiān)控設(shè)備,一般采用單核DSP處理器結(jié)構(gòu),系統(tǒng)設(shè)計(jì)較為復(fù)雜,穩(wěn)定性不高。本設(shè)計(jì)采用ARM與DSP雙核結(jié)構(gòu),通過系統(tǒng)主從兩個(gè)設(shè)備單元的硬件通信接口的設(shè)計(jì)和軟件通信的設(shè)計(jì),將32位嵌入式微處理器ARM與數(shù)字信號處理器DSP相結(jié)合,以充分利用雙核處理器的優(yōu)勢。ARM系統(tǒng)單元采用經(jīng)過裁剪的Linux嵌入式實(shí)時(shí)操作系統(tǒng),實(shí)現(xiàn)整個(gè)設(shè)備系統(tǒng)的協(xié)調(diào)控制和網(wǎng)絡(luò)功能等;DSP單元通過檢測算法的移植,實(shí)現(xiàn)數(shù)據(jù)的采集分析、處理和數(shù)據(jù)傳輸。
該雙核設(shè)備系統(tǒng)中,ARM系統(tǒng)作為主設(shè)備單元實(shí)現(xiàn)各控制功能,向DSP單元發(fā)出控制指令,通過硬件接口接收DSP采集的數(shù)據(jù);DSP系統(tǒng)作為從設(shè)備單元,搜集、分析和處理傳感器或CCD等外設(shè)獲取的物理數(shù)據(jù),并向主設(shè)備單元發(fā)送有效信息。其中,ARM和DSP之間數(shù)據(jù)交換的速度決定了整個(gè)系統(tǒng)的運(yùn)行速度和性能。
2 系統(tǒng)硬件設(shè)計(jì)
2.1 系統(tǒng)整體結(jié)構(gòu)組成
  監(jiān)控系統(tǒng)主要由兩部分組成:ARM微處理器主設(shè)備單元和DSP數(shù)據(jù)處理器從設(shè)備單元。系統(tǒng)結(jié)構(gòu)組成如圖1所示。為提高主從設(shè)備單元之間的數(shù)據(jù)交換速度從而有效提高系統(tǒng)的運(yùn)行性能,主處理器采用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)秀、功耗低、外設(shè)接口豐富,可以滿足多種設(shè)備外接的需求。TMS320C6211工作頻率可達(dá)167 MHz,數(shù)據(jù)處理速度可達(dá)1 333 MIPS。TMS320C6211已經(jīng)廣泛應(yīng)用于視頻檢測卡中,可做到以視頻圖像幀速率檢測信息[3],外設(shè)接口豐富。如圖1所示,ARM處理器選擇通用外部接口GPIO(General purpose I/O)的Port C端口16根數(shù)據(jù)線與DSP的主機(jī)接口HPI(Host Port Interface)相連接,實(shí)現(xiàn)數(shù)據(jù)交換和信息傳輸。ARM在接收到數(shù)據(jù)后,根據(jù)需要做出相應(yīng)處理,如將數(shù)據(jù)傳輸?shù)骄W(wǎng)絡(luò)、報(bào)警等;DSP通過中斷的方式定時(shí)向ARM單元提出數(shù)據(jù)傳輸申請,經(jīng)響應(yīng)后將數(shù)據(jù)傳輸給主設(shè)備單元,進(jìn)而通過網(wǎng)絡(luò)傳輸?shù)浇K端。
2.2 主設(shè)備單元設(shè)計(jì)
  系統(tǒng)主設(shè)備單元采用ARM處理器為核心實(shí)現(xiàn),主要負(fù)責(zé)系統(tǒng)控制管理和數(shù)據(jù)傳輸?shù)热蝿?wù),通過相應(yīng)的外設(shè)可以實(shí)時(shí)顯示或相應(yīng)處理,如報(bào)警、電路跳閘和網(wǎng)絡(luò)通信等。S3C2410A處理器采用ARM9內(nèi)核,具有功耗低、體積小、集成度高等特點(diǎn),可通過GPIO連接多種外設(shè)。其中,內(nèi)部集成了1片8 M×32 bit的Flash,1個(gè)16 M×32 bit寬的SDRAM的內(nèi)存,主設(shè)備單元組成如圖2所示。


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


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


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


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


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


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


參考文獻(xià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)絡(luò)化數(shù)據(jù)采集與信號分析終端[J].計(jì)算機(jī)工程,2006,32(8):269-271.
[4] 吳駿,楊兆選.ARM與DSP雙核視頻交通檢測系統(tǒng)通信接口設(shè)計(jì)[J].計(jì)算機(jī)工程,2007,33(5):255-257.
[5] 肖政宏,韓秋風(fēng),朱麗群.基于ARM和DSP的遠(yuǎn)程視頻監(jiān)控系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)[J].計(jì)算機(jī)工程與科學(xué),2006,28(9):53-55.
[6] 江思敏,劉暢.TMS320C6000 DSP應(yīng)用開發(fā)教程[M].北京:機(jī)械工業(yè)出版社,2005.

 

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