基于ARM的Xilinx-ZYNQ系统的实现

2 篇文章 0 订阅
1 篇文章 0 订阅

Implementation of an ARM-Based system using a Xilinx ZYNQ SoC 【翻译】
Corresponding Author:
Omar Salem Baans,
School of Microelectronic Engineering,
Universiti Malaysia Perlis, Perlis, Malaysia.
Email: omersalim4901@gmail.com

摘要
ARM处理器广泛应用于嵌入式系统中。它们通常被实现为微控制器、现场可编程门阵列(FPGAs)或片上系统。本文综述了各种ARM处理器平台的实现方法,如微控制器、片上系统和混合ARM-FPGA平台的实现。此外,利用Xilinx的Vivado和SDK软件系统,在Xilinx的Zynq板上实现了一个特定的ARM处理器CortexA9在片上系统(SoC)中的实现。

1 介绍
目前,嵌入式系统被广泛应用于汽车、消费电子和系统控制等领域。嵌入式系统执行专用功能,通常体积小,价格便宜。在为特定应用开发嵌入式系统时,主要考虑的是系统硬件、应用软件和成本。硬件指标包括系统设计、运行速度、存储器、通信接口和功耗。嵌入式系统可以实现为微控制器芯片,如[1]和[2]。然而,嵌入式系统也可以发展成更高性能的片上系统(SoC)[3-4]。
为了提高灵活性,可以在现场可编程门阵列(FPGA)芯片中实现嵌入式系统。嵌入式系统中使用的一种流行的处理器类型是ARM处理器。ARM处理器在SoC开发中得到了广泛的应用[3-7]。
本文的结构如下。第2节讨论了几种基于微处理器的系统,第3节介绍了在FPGA中实现ARM Cortex-M9处理器系统的设计方法。第四节对实验结果进行了分析和讨论。最后,第五节对论文进行了总结。
关于ARM处理器在FPGAs中的实现已有很多研究。本节将讨论和阐述现有的设计。Altera SoC是异构多处理器(Hetero MP)的一个例子[8-9],如图1所示。它集成了一个基于ARM的硬核处理器和一个FPGA结构。多个Nios-II软核处理器可以在FPGA中实现,并与ARM处理器进行通信。
在[10]中讨论了另一种实现异质MP的FPGA板。Xilinx Virtex5 ML505板[11]用于架构的开发,如图2所示。该FPGA基于一个包含3个PU结构的处理单元:PU1实现了微阵列图像增强;PU2计算微阵列图像寻址;PU3使用空间并行性进行图像分割。硬件架构如图3所示。所提出的设计中的每个定制处理元件都连接到一个快速简单链路(FSL)数据总线,作为软核MicroBlaze 100 MHz微处理器的协处理器。
在这里插入图片描述
在这里插入图片描述
在文献[12]中,作者提出了一种基于ARM和FPGA的嵌入式机器人控制器。该控制器采用高速、高处理能力的ARM微控制器和灵活并行计算的FPGA实现。图4显示了控制器的主要结构,其中使用了一个灵活的静态存储器控制器将ARM微控制器与FPGA连接起来。控制器系统中使用的附加组件包括联合测试动作组(JTAG)、通用同步异步接收发射机(USART)、通用串行总线(USB)和通用输入输出(GPIO)。主控制器采用ARM单片机,伺服电机采用FPGA控制。该机器人控制器在6自由度机械臂上实现并测试。
在这里插入图片描述
在[13]和[14]中,使用了一个BioServer,它由两个独立的物理板组成。第一部分采用Xilinx ML510嵌入式开发平台。这是两个名为BioSys的PowerPC 440微处理器的嵌入式系统的基础。第二部分称为生物计算单元(BioCU),其主要部件包括四个数字信号处理器,其中两个是定点处理器(CPU0和CPU1),两个是浮点处理器(FPU0和FPU1),如图5所示。BioServer设备的详细信息如图6所示。BioCU板被插入ml510biosys平台上的一个PCI 32位插槽中。在这里插入图片描述
在这里插入图片描述
Xilinx所有可编程soc(AP-soc)都是以处理器为中心的平台,在单个芯片中提供软件、硬件和I/O可编程性[15]。Zynq-7000系列基于AP-SoC体系结构。体系结构分为两部分:处理系统(PS)和可编程逻辑(PL),如图7所示。PS是主要的处理单元,包括ARM Cortex-A9处理器、片上存储器和各种外围设备等组件。PL由多个硬件加速器和部分可重构区域(PRR)控制器组成。在PS和PL之间,使用互连来允许系统通信。
在这里插入图片描述
本节回顾和讨论了几种现有的基于处理器的系统。表1总结了调查结果。从表1可以看出,在[8-9]、[12]和[15]中使用了ARM处理器。[15]中的ARM有一个双ARM内核,而[8-9]和[12]板只有一个ARM内核,而Nios II处理器除外
在这里插入图片描述
2 研究方法
在本节中,将解释实现基于ARM处理器的系统的方法。在硬件实现中,系统组件包括ARM Cortex-A9处理器被集成到系统中。系统架构和Hex文件是使用Xilinx Vivado软件编译的。为了在FPGA中实现系统,设置了系统的输入和输出。编译完成后,使用ZC702板上的Xilinx ZYNQ FPGA芯片下载架构和Hex文件。当系统在现场可编程门阵列上执行时,可以观察到实验结果。系统框图由两个主要部分组成,PS和PL,如图8所示。在该系统中,PS是ARM Cortex-A9和64k位存储器,PL部分由GPIO接口和输入输出端口组成。
在这里插入图片描述
接下来,在将系统的比特流下载到FPGA板上之前创建HDL包装器。最后,使用Xilinx SDK软件在ARM处理器中创建并执行C编程代码。程序使用板上的按钮开关控制LED的闪烁。同时,它可以对用户保存在FPGA中创建的寄存器中的任意两个数字执行加法运算。

三 结果与分析
在这一部分,将对实验结果进行讨论。设计文件已成功下载到Xilinx ZYNQ ZC702 FPGA板上。系统的片上存储器采用LED切换程序和半加器功能。在系统架构中,GPIO连接到板载LED和加法器。这些程序使用笔记本电脑(Intel(R)Core(TM)i3处理器、1.80 GHz、6.00 GB RAM)进行模拟。
图9显示了在三个序列周期中以十六进制数字添加A、B和C的模拟结果。例如,在前5纳秒中,A=1,B=19(十六进制为13)和C=0,因此结果是20(十六进制为14)。其他两个输出也是如此。
在这里插入图片描述

在这里插入图片描述
图10显示了通过UART电缆从板连接的SDK终端。屏幕终端显示了结果,如图10所示。屏幕终端以十六进制数字显示添加A、B和C的结果,其中第一行是A=1、B=19和C=0。结果是20分。其他两个输出也是如此。最后,面板上的LED结果显示,当用户按下按钮时,LED上的值会增加。如图11和12所示。这个数字的十进制值可以在PC屏幕上的SDK终端上显示,如图13所示。
在这里插入图片描述
在这里插入图片描述
四 结论
本文提出并讨论了一种ARM微处理器系统的实现方法。采用Vivado 2016.4和SDK软件设计了ARM微处理器系统。微处理器系统采用ARM Cortex-A9处理器。在该系统中,采用AXI互连总线将ARM处理器与其它组件连接起来。应用程序通过ARM工具链编译成Verilog代码。最后,在Xilinx-ZYNQ板上成功实现了微处理器的演示。

REFERENCES
[1] A. Peter, R. K. Karne, and A. L. Wijesinha, “A bare machine sensor application for an ARM processor,” in IEEE
International Conference on Electro-Information Technology, EIT 2013, 2013, no. 2, pp. 1–6.
[2] A. Bhargava and R. S. Ochawar, “Biometric access control implementation using 32 bit arm cortex processor,”
Proc. - Int. Conf. Electron. Syst. Signal Process. Comput. Technol. ICESC 2014, pp. 40–46, 2014.
[3] N. Van Helleputte, M. Konijnenburg et. al., “A 345 µW Multi-Sensor Biomedical SoC With Bio-
Impedance, 3-Channel ECG, Motion Artifact Reduction, and Integrated DSP,” IEEE J. Solid-State Circuits, vol.
50, no. 1, pp. 230–244, Jan. 2015.
[4] T. Xia, J. Prévotet, and F. Nouvel, “An ARM-based Microkernel on Reconfigurable Zynq-7000 Platform,”
Mediterr. Telecommun. J., vol. 5, no. 2, pp. 109–115, 2015.
[5] Y. Ando, Y. Ishida, S. Honda, et. al., “Automatic Synthesis of Inter-heterogeneous-processor Communication for
Programmable System-on-chip,” Inf. Media Technol., vol. 10, no. 3, pp. 415–419, 2015.
[6] D. Flynn, T. Wood, P. Dworsky, et. al., “Teaching IC design with the ARM Cortex-M0 DesignStart processor and
Synopsys 90nm Educational Design Kit,” Proc. 3rd Interdiscip. Eng. Des. Educ. Conf. IEDEC 2013,
pp. 36–38, 2013.
[7] J. Yiu, “ARM ® Cortex ® -M Processor based System Prototyping on FPGA,” in Embedded World Conference
2014, 2014, pp. 1–7.
[8] Arria® V SoC Development Kit and Intel® SoC FPGA Embedded Development Suite
(https://www.altera.com/products/boards_and_kits/dev-kits/altera/kit-arria-v-soc.html)
[9] Arria V SoC Development Kit User Guide.
[10] Belean, Bogdan, et al., “FPGA based system for automatic cDNA microarray image processing.” Computerized
Medical Imaging and Graphics 36.5 (2012): 419-429.
[11] ML505/ML506/M L507 Evaluation Platform User Guide, UG347 (v3.1.2) May 16, 2011.
[12] X. He, Z. Wang, H. Fang, et. al., “An embedded robot controller based on ARM and FPGA,” in 2014 4th IEEE
International Conference on Information Science and Technology, 2014, pp. 702–705.
[13] Grabowski, Kamil, and Andrzej Napieralski. “Hardware architecture for advanced image processing.” Nuclear
Science Symposium Conference Record (NSS/MIC), 2010 IEEE. IEEE, 2010.
[14] Grabowski, Kamil, and Andrzej Napieralski. “Hardware architecture optimized for iris recognition.” Circuits and
Systems for Video Technology, IEEE Transactions on 21.9 (2011): 1293-1303.
[15] ZC702 Evaluation Board for the Zynq-7000 XC7Z020 All Programmable SoC User Guide

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值