《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于ARM和DSP的双核监控系统的设计与实现
基于ARM和DSP的双核监控系统的设计与实现
鲍 华1,耿 锐1,欧明双1
摘要: 针对远程监控的实际需要,介绍了基于ARM微处理器S3C2410A和DSP数字信号处理器TMS320C6211双核结构监控系统的设计方案。阐述了该系统的组成结构与软硬件设计,系统主从设备单元之间通过I/O口与HPI接口实现通信。该系统具有性能高、功耗低、实时性好、可扩展性强及工作稳定可靠等优点。
Abstract:
Key words :

  摘 要: 针对远程监控的实际需要,介绍了基于title="ARM">ARM微处理器S3C2410A和DSP数字信号处理器TMS320C6211双核结构监控系统的设计方案。阐述了该系统的组成结构与软硬件设计,系统主从设备单元之间通过I/O口与HPI接口实现通信。该系统具有性能高、功耗低、实时性好、可扩展性强及工作稳定可靠等优点。
关键词: DSP;ARM;通信

 

  随着计算机技术、网络技术和大规模集成电路技术的发展,通过网络方式实现远程实时监控和检测物理环境逐渐成为现实和研究的热点。同时,嵌入式设备功耗低、实时性强等特点,为需要利用设备对现场进行数据采集和实时监控等诸多场合提供可靠的支持。
本文设计了基于ARM和DSP的双核嵌入式监控系统,该系统可以实时采集物理环境的数据信息并可通过网络传输到终端以得到即时处理。系统以ARM芯片为主设备单元处理器,完成各种控制和网络功能,以DSP芯片作为从设备单元处理器,完成数据采集和分析处理,ARM单元和DSP单元构成监控系统的双核架构。该系统通过自主运行采集和分析处理被监控区域的物理信息,依据实际需求将数据传输到网络或做出如报警、跳闸等即时处理,实现对被检测区域的物理事件的实时监控与检测。
1 系统的设计方案
检测被监控环境中物理信息的传统监控设备,一般采用单核DSP处理器结构,系统设计较为复杂,稳定性不高。本设计采用ARM与DSP双核结构,通过系统主从两个设备单元的硬件通信接口的设计和软件通信的设计,将32位嵌入式微处理器ARM与数字信号处理器DSP相结合,以充分利用双核处理器的优势。ARM系统单元采用经过裁剪的Linux嵌入式实时操作系统,实现整个设备系统的协调控制和网络功能等;DSP单元通过检测算法的移植,实现数据的采集分析、处理和数据传输。
该双核设备系统中,ARM系统作为主设备单元实现各控制功能,向DSP单元发出控制指令,通过硬件接口接收DSP采集的数据;DSP系统作为从设备单元,搜集、分析和处理传感器或CCD等外设获取的物理数据,并向主设备单元发送有效信息。其中,ARM和DSP之间数据交换的速度决定了整个系统的运行速度和性能。
2 系统硬件设计
2.1 系统整体结构组成
  监控系统主要由两部分组成:ARM微处理器主设备单元和DSP数据处理器从设备单元。系统结构组成如图1所示。为提高主从设备单元之间的数据交换速度从而有效提高系统的运行性能,主处理器采用Samsung公司的ARM9内核芯片S3C2410A[1],从处理器采用TI公司的TMS320C6211 DSP芯片[2]

 


S3C2410A主频为200 MHz~266 MHz,数据处理速度为1.1 MIPS/MHz,其性能出色,片内外资源丰富、视频处理功能优秀、功耗低、外设接口丰富,可以满足多种设备外接的需求。TMS320C6211工作频率可达167 MHz,数据处理速度可达1 333 MIPS。TMS320C6211已经广泛应用于视频检测卡中,可做到以视频图像帧速率检测信息[3],外设接口丰富。如图1所示,ARM处理器选择通用外部接口GPIO(General purpose I/O)的Port C端口16根数据线与DSP的主机接口HPI(Host Port Interface)相连接,实现数据交换和信息传输。ARM在接收到数据后,根据需要做出相应处理,如将数据传输到网络、报警等;DSP通过中断的方式定时向ARM单元提出数据传输申请,经响应后将数据传输给主设备单元,进而通过网络传输到终端。
2.2 主设备单元设计
  系统主设备单元采用ARM处理器为核心实现,主要负责系统控制管理和数据传输等任务,通过相应的外设可以实时显示或相应处理,如报警、电路跳闸和网络通信等。S3C2410A处理器采用ARM9内核,具有功耗低、体积小、集成度高等特点,可通过GPIO连接多种外设。其中,内部集成了1片8 M×32 bit的Flash,1个16 M×32 bit宽的SDRAM的内存,主设备单元组成如图2所示。


主设备控制单元模块中,外接1片8 M×16 bit的Flash,一个16 M×16 bit宽的SDRAM,加上处理器自带的内存,总共构成32 MB Flash、96 MB SDRAM,可充分满足嵌入式操作系统的移植和数据存储的需求。控制单元通过USB口与外设或上位机实现数据交换与系统移植,利用专用的JTAG调试接口实现功能调试。另外,可以利用GPIO外接多种不同的设备,如显示器、报警器,也可以通过自带的网口连接到办公网络等。
2.3 从设备单元设计
从设备单元以TMS320C6211芯片为核心,该芯片采用的哈佛结构比传统的冯诺依曼结构具有更高的DSP 指令速度,且具有分离的数据总线和程序总线,片内集成了ROM、RAM 和多个外设数据处理部分。
TMS320C6211芯片有两种方式实现与ARM控制芯片相连接:(1)利用主机设备接口HPI,主设备单元直接访问DSP,DSP作为从设备使用;(2)利用增强直接存储器访问控制器EMIF(External Memory Interface),把ARM控制器映射到EMIF的存储空间的方式,使用EMIF控制DSP与ARM的数据传输,DSP作为主设备使用[4,6]。本文选择DSP作为从设备的方式,利用HPI和主设备单元进行通信。
TMS320C6211芯片的主机接口HPI是1个16 bit并行端口,主设备芯片S3C2410A掌管该接口的主控权,HPI接口允许主设备芯片通过HPI的3个寄存器实现对DSP存储空间的随机地址存取和自增地址存取。DSP芯片的HPI接口3个寄存器分别是:控制寄存器(HPIC)、数据锁存器(HPID)、地址寄存器(HPIA)。HPI接口信号及其功能如表1所示。主设备芯片S3C2410A和TMS320C6211都可以存取HPI控制寄存器,主设备还可以存取HPI地址寄存器和HPI数据寄存器,HPI的3个寄存器都采用存储器映射方式映射到主设备的存储空间[3,6]


2.4 主从设备单元的接口设计[4-6]
  S3C2401A作为主处理单元的处理器工作在主机模式下,TMS320C6211作为信号采集与处理单元的处理器工作在从机模式下。ARM系统单元在系统上电时对DSP系统单元进行初始化并加载检测程序及参数,利用I/O口进行数据传输操作,通过HPI接口访问DSP的整个存储空间。ARM给DSP发送控制信息时,通过HPI接口将控制数据直接写入DSP的某个存储区域内,DSP经查询控制信息后,到约定好的DSP存储区域内取数据并作相应处理,如写数据到HPI端口等。
S3C2401A通过端口C(Port C)的16根数据线和TMS320C6211的HPI接口HD[15:0]连接传输数据,通过控制线分别产生不同的硬件控制信号。S3C2410A的2根地址线ADDR2、ADDR3分别接到TMS320C6211的HCNTL0、HCNTL1,以完成对HPI接口不同寄存器的访问。地址线ADDR4代替HR/W信号和HPI口的HR/W相接,用于选择HPI接口处于写或读状态。地址线ADDR1与DSP 的HHWIL与相连接,其信号表明并区分HD[15:0]上传输的是32 bit数据中的高16 bit还是低16 bit。TMS320C6211与S3C2401A间所有的数据交换是32 bit宽,而HPI端口为16 bit,所以每次数据访问都需要进行2次存取,由HPI自动将HD[15:0]上连续的2个16 bit数据合成32 bit,也可以用其进行反向分解。
S3C2410A的读/写信号nOE和nWE分别接到HDS1和HDS2,HPI口的HDS1和HDS2是数据选通信号,所有的地址线和控制线都在它们的下降沿采样。从机HRDY信号接到主机的nWAIT(等待信号)上,HRDY是HPI准备好端,低电平表示HPI已准备好执行一次数据传送,高电平表示HPI正忙于完成当前事务。HPI口的中断信号HINT连接到主机上的外部中断引脚EINT8,用于产生或侦听中断信号。HAS是地址选通信号,此信号用于主机的数据线和地址线复用的情况,不用时此信号应接高电平。
把TMS320C6211映射到S3C2410A的存储空间组BANK2,将BANK2的片选信号nGCS2与HPI接口的片选信号HCS相连接,只要对BANK2进行操作,就可以产生DSP的片选信号。将TMS320C6211的引导模式设置为HPI boot模式,在复位后由主机通过HPI口对DSP进行初始化操作,包括初始化CPU和EMIF及向DSP加载程序和数据等,主从设备之间硬件接口连接如图3所示。


3 系统软件设计
3.1 系统的初始化
  在设计好ARM与DSP硬件连接的基础上,需要通过正确的初始化和编程才能实现设备之间的通信。对DSP芯片HPI接口进行读/写操作时,将HPI接口看作一个连接到ARM芯片的外部设备,将完成读/写操作的程序看成在ARM核Linux系统下面的一个字符型驱动程序进行开发。程序在上位机开发完毕后,经JTAG口固化到ARM的存储空间里。S3C2410A与TMS320C6211之间的初始化程序主要由ARM芯片的初始化和HDI接口读写初始化组成。
(1)ARM芯片的初始化[1,4]
ARM处理器先要完成自身工作模式等一系列的初始化,才能正常进行HPI接口的读/写。初始化主要有嵌入式操作系统的移植、GPIO口管脚功能定义、中断控制、代码启动,还有PLL、时钟、存储器系统以及堆栈等初始化, I/O及BANK存储空间初始化的部分代码如图4所示。


(2)HPI接口读写初始化[2,4]
系统设计中HPI口将占用外部I/O接口BANK2的地址,需要对TMS320C6211的BANK进行配置,同时对HPI接口寄存器的地址进行宏定义。由于使用单独的地址线来模拟HPI16接口的HR/W,因此对同一个寄存器分别进行读/写操作时,看起来像是对不同的地址进行相应的操作。DSP芯片部分初始化源代码如图5所示。


在定义宏后,ARM通过HPI驱动程序就可以将DSP中的数据通过HPI口读出来,并送到指定的用户缓冲区中,再通过网络发送到用户终端。
3.2 数据传输流程
由ARM和DSP双核构建的监控系统中,数据传输由ARM发起。ARM单元在启动后,开启数据传输进程与DSP单元建立通信连接,周期地查询外设端口是否有DSP数据输入。在接收到DSP数据后,依据控制单元的程序进行分析和处理,以及依据需要做出相应操作或将数据上传至网络等。
DSP数据采集单元在启动后,通过所连接的外设采集监控区域的物理信息。应用移植到DSP核中的程序算法,对接收到的数据实现分析和处理。在接收到主设备控制单元的数据传输指令后,将经过分析处理后的数据发送到ARM控制单元。具体的设备数据传输流程如图6所示,其中,ARM控制单元和DSP数据处理单元各自并行执行相关操作。


    本系统采用了目前先进的ARM、DSP技术,ARM作为主处理器完成系统管理及网络通信,DSP作为协处理器完成数据采集、分析和处理,整个系统方案简洁高效且具有可重构性。DSP的快速数据处理能力和ARM 卓越的控制、通信能力保证了动态信号采集和分析系统的实时性要求。由于DSP及ARM均是可编程的系统配置,运算灵活,其性价比高、体积小、功耗低,嵌入式操作系统支持的软件丰富,源代码开放裁剪灵活等特点,使本系统设计满足了数据采集分析对易操作、网络化和低成本等方面的要求,适用于不同环境的检测和监控。


参考文献
[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的网络化数据采集与信号分析终端[J].计算机工程,2006,32(8):269-271.
[4] 吴骏,杨兆选.ARM与DSP双核视频交通检测系统通信接口设计[J].计算机工程,2007,33(5):255-257.
[5] 肖政宏,韩秋风,朱丽群.基于ARM和DSP的远程视频监控系统的设计和实现[J].计算机工程与科学,2006,28(9):53-55.
[6] 江思敏,刘畅.TMS320C6000 DSP应用开发教程[M].北京:机械工业出版社,2005.

 

此内容为AET网站原创,未经授权禁止转载。