历史上的今天
今天是:2025年02月09日(星期日)
2020年02月09日 | 频谱仪多种内核通信机制的方案设计
2020-02-09 来源:elecfans
多核体系结构为性能提高和节能计算等领域开辟了新的方向。核与核之间的连接方式、通信协调方式等都是研究重点。本课题的研究基于手持式频谱分析仪系统平台,该系统采用的是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开始数据传输。

1.2 SPI接口电路设计
SPI接口是一种串行通信接口,它由4根信号线组成,其中SPCK、MOSI、MISO为复用,ARM通过片选信号NPCS来选择与不同的从器件通信。本课题中ARM通过SPI总线分别与中频板FPGA、源扫板FPGA通信。ARM与FPGA的硬件连接如图3所示。ARM为主机模式,其SPI接口的SPCK、MIS O、MOSI分别与从机FPGA的SCLK、MOSI、MISO连接。ARM共有4根片选线。这里采用NPCS1选择中频板FPGA,NPCS2选择源扫板FPGA。

2 多核间的通信机制
2.1 ARM与DSP的通信机制
ARM在Linux系统启动后,会先进行一系列的初始化,包括对HPI、SPI等通信接口的初始化以及重启DSP,实现时序上的同步。ARM在初始化完成后,会向DSP发送握手信号,即通过PB9向DSP的GP11口写入数据,表示ARM完成初始化,可以接收DSP的发送数据。而DSP完成数据处理以后,会等待ARM的握手信号,即不断访问GP11口是否收到数据。当DSP收到握手信号之后,会向GP12口写1以中断ARM主机的其他工作,以便ARM来读取DSP已处理好的数据。ARM收到中断信号以后,通过设置HCNTL0、HCNTL1对HPIC操作来清除中断,然后写HPIA以告诉DSP从什么位置开始进行自增读。然后DSP将数据从DMA传送到HPID中,ARM通过读HPID来获得数据。由于ARM与DSP的HPI接口是16位数据传输,所以要软件实现将两次读取的16位数据合并成32位,然后传给上层应用程序。ARM读取完数据后,向DSP的指定地址写入0xffffffff,通知DSP渎取成功,准备下次数据传输。
ARM在接收到上层应用程序下发的命令后,通过对命令的解析、计算,得到各种参数.然后通过HPI下发给DSP。其流程是:首先通过HCNT L0、HCNTL1写HPIC寄存器,配置读写模式。然后写了HPIA寄存器,设置写入DSP的物理地址。通过连续写HPID寄存器来发送控制参数,最后写入0x5555aaaa,表示发送完毕。
2.2 ARM与FPGA的通信机制
ARM集成了SPI接口,通过SPI与FPGA进行数据通信。SPI总线的“单主机多从机”模式正适合本课题中ARM同时与中频板FPGA与源扫版FPG A的通信。ARM启动Linux系统后,先对SPI接口进行初始化,包括对PIO控制器编程,将SPI引脚分配给外设,配置PMC(电源管理控制器)以使能SPI时钟以及将ARM配置为主机模式。当上层软件下发命令后,ARM先将接收到的命令字进行解析,解析命令得到各种参数:经过计算后,通过SPI接口的片选NPCS来选择中频板FPGA或源扫板FPGA来下发参数。
由于中频板FPGA和源扫板FPGA的功能各异,接收的参数也不尽相同,所以制定了不同的数据帧格式及发送规则。ARM向中频板FPGA每帧数据传送16位,传输频率为0.36 MHz。发送顺序为:路由码1、数据帧1、路由码2、数据帧2、结束码。ARM向源扫板FPGA每帧数据传送16位,传输频率为0.36 MHz。发送参数前都要先发送一个存储这个参数的虚拟地址,然后发送参数,顺序为:虚拟地址1、参数1、虚拟地址2、参数2、结束码。
上一篇:频谱仪和示波器有什么区别
史海拾趣
|
阳初s3c2410 的一些问题,刚买了他们的东西,他们的论坛就崩溃了。。。。求救 1.vivi下net ping 命令无效。 那个网卡我来描述一下什么情况:买的时候给的是网线直连线,拿板直接接主机板子的灯是不会亮的,我尝试过那主机和板子都接路由器,灯是亮了,但是net ping 命令 ping不到任何东西,就显示arp broadcast 1,net set ip ...… 查看全部问答> |
|
为了维持系统的稳定运行,请问我在设置全局变量时最好不要超过多少个字节? 如果出现RAM不够用,对于430来说是怎么处理的呢?系统自动重启吗?… 查看全部问答> |
|
msp430单片机,无论你是第一次接触还是已经小有成就,这都阻挡不了你我继续努力的步伐,还有更深层的问题等着你我,还有嵌入式开发需要攻克。我是一个参加2012TI杯的学生,希望找到更多志同道合的人一起努力,群号是187926790,我们只为学习而来。 ...… 查看全部问答> |
|
NI_Circuit_Design_Suite_13_0 来了,有和谐哦! 下载地址:http://download.ni.com/evaluatio ... sign_Suite_13_0.exe… 查看全部问答> |
|
本帖最后由 cardin6 于 2013-12-27 22:03 编辑 折腾了近两个月,雕刻机终于装了起来不过可惜的是现在还无法使用。因为我不知道如何制作步进电机的驱动板。 本来打算制作一台相对简易的,造价便宜的雕刻机。当我慢慢入手开始制作的时候突然感觉我 ...… 查看全部问答> |




