您当前的位置:五五电子网电子知识单片机-工控设备DSP/FPGA技术ARM与神经网络处理器的通信方案 正文
ARM与神经网络处理器的通信方案

ARM与神经网络处理器的通信方案

点击数:7584 次   录入时间:03-04 11:54:00   整理:http://www.55dianzi.com   DSP/FPGA技术
ARM与神经网络处理器的通信方案设计

    第二,存储位置为FPGA的片上存储体。ARM与FPGA通过12位地址总线、28位数据总线中的低16位、控制总线直接相连,控制寄存器组、专用寄存器组、分布式存储器连接在这些总线上面。

    片上集成存储系统采用统一编址的方式,其优势在于可以通过ARM芯片的DMA方式进行数据传输,既可以提高传输速率又能够释放CPU。外部扩展存储器因为只受FPGA控制而采用独立编址,但地址域的设计接续片上集成存储系统的地址,如此方便操作。

    3 ZDMA控制设计

    ARM端与FPGA端的数据通信如图8所示,分为3个阶段:

    ①网络初始化阶段的数据通信:配置网络初始化数据。a)需对网络训练执行阶段②,b)否则执行阶段③。

    ②网络训练阶段的通信:下载训练样本数据,训练完成上传稳定的权值。

    ③实际应用阶段的通信:下载实际样本数据,上传处理结果。

ARM与神经网络处理器的通信方案设计

    每一个阶段都是在ZDMA的方式下进行。每一个阶段完成后都会进入中断,提示本阶段完成并进行下一步操作。

    3.1 下载数据时ZDMA的配置

    按照是否为样本数据,通信可分为两个阶段:一是面向FPGA片上集成存储系统的非样本数据通信,二是面向FPGA片外扩展存储器的样本数据通信。

    本设计使用ZDMA0、ZDMA1两个通道中的一个。与ZDMA有关的特殊功能寄存器有:

    ZDMA控制寄存器(①ZDCONn):主要用于对DMA通道进行控制,允许外部DMA请求(nXDREQ)。

    ZDMA0/1初始源/目的地址和计数寄存器、ZDMA0/1当前源/目的地址和计数寄存器。

    ZDMAn初始/当前源地址寄存器(②ZDISRC、③ZDCSRC):初始源地址为数据在ARM芯片内存的存放地址;当前源地址为即将传输的数据的内存地址,值为初始源地址+计数值。

    ZDMAn初始/当前目的地址寄存器(④ZDIDES、⑤ZDCDES):分为两个阶段:第一阶段传输非样本数据时初始目的地址为BANK6的起始地址;当前目的地址是变化的,为初始目的地址+计数值。第二阶段传输样本数据时初始目的地址也是当前目的地址,为样本数据寄存器的地址。

    ZDMAn初始/当前目的计数寄存器(⑥ZDICNT、⑦ZDCCNT):初始值为0,当前值随着传输数据的个数逐一递增,直至达到所有数据的数量。样本数据和非样本数据的传输分两个阶段进行,各自独立。

    从这个过程中可以看出,配置ZDMA时需考虑FPGA端存储结构体多样性的问题。

    3.2 上传数据时ZDMA的配置

    神经网络处理器的稳定权值和处理结果存储在FPGA上统一编址的专用寄存器组B中,不存在存储结构体多样性的问题,所以上传数据时ZDMA的配置相对简单:

    初始源地址即专用寄存器组B的起始地址,每传送一次数据专用寄存器组的地址指针+1并作为当前源地址。

    初始目的地址为要存放数据的内存块的起始地址,每传送一次数据内存块地址指针+1并作为当前目的地址。

    计数寄存器的初始值为0,每传送一次数据其值+1,达到设定的目标值时数据上传即完成。

    结语

    本文首先介绍了人工神经网络的模型和算法以及FPGA的实现,并通过对网络结构的分析设计了FPGA端的数据存储系统。然后分析了ARM端和FPGA端各自的功能,在此基础上把两者结合在一起,设计了一种利用ARM的ZDMA方式相互通信的方案。



上一页  [1] [2] 


本文关键字:处理器  通信  网络  DSP/FPGA技术单片机-工控设备 - DSP/FPGA技术