摘要:手持式频谱仪系统采用的是ARM、DSP、FPGA的三核架构。对于多核架构,保证内核间的通信尤为重要。对于内核间通信,首先是对通信接口的硬件设计与通信机制的研究,然后着重介绍ARM支持下的嵌入式Linux的接口设备驱动的开发,包括通信接口HPI、SPI的驱动。最后完成驱动测试,整个系统运行稳定。
关键词:多核;嵌入式Linux;设备驱动;HPI;SPI
多核体系结构为性能提高和节能计算等领域开辟了新的方向。核与核之间的连接方式、通信协调方式等都是研究重点。本课题的研究基于手持式频谱分析仪系统平台,该系统采用的是ARM、DSP、FPGA的三核架构。各核心分别完成不同的任务,然后核心间进行参数发送、数据交换,实现系统功能。设计重点是解决核心间的通信问题。
1 ARM与DSP、FPGA通信的硬件设计
手持式频谱仪中频信号处理板主要包括4个部分:模数转换器(AD9244)、FPGA(XS3C5000)、DSP(TMS320C6412)、ARM(AT91RM9200)。ARM在手持式频谱仪中的位置和作用如图1所示。
ARM的硬件设计参考Atmel公司提供的评估板资料。主要包括以下几个单元电路的设计:电源电路、时钟电路、复位电路、启动模式选择电路、JTAG接口电路、Debug串口电路、外部扩展SDRAM电路、外部扩展NOR Flash(AM29LV320DB)电路、与DSP通信的HPI接口电路、与FPGA通信的SPI接口电路、连接温度传感器的I2C接口电路、以太网接口电路。
1.1 HPI接口电路设计
ARM与DSP的HPI总线采用16位数据通信,而且HPI总线是数据和地址复用的。ARM使用部分地址信号线与DSP的HPI总线控制信号相连,通过地址的变换来控制HPI总线。ARM与DSP的硬件连接如图2所示。其中ARM通过地址线A3、A2与DSP的HCNTL1、HCNTL0引脚的连接来选择对HPI C、HPIA、HPID各寄存器进行操作。通过A1与DSP的引脚HHWIL的连接来进行读写时半字的选择。通过A4与的引脚连接来选择读写。ARM通过PB9向DSP的GP11引脚发送握手信号,DSP通过GP12引脚中断ARM开始数据传输。