在ZedBoard下SPI接口和ARM处理器端实现以太网远端传输的设计

在ZedBoard下SPI接口和ARM处理器端实现以太网远端传输的设计,第1张

摘要:该文介绍了ZedBoard平台下可编程逻辑端SPI接口ARM处理器端以太网远端传输的设计。结合实例阐述了可编程逻辑端SPI接口设计和Linux下IP驱动生成,以及采用UDP/IP协议实现以太网传输的技术。实验结果证明了该系统能够精确地完成实时数据传输。

随着嵌入式技术和市场需求的不断发展,嵌入式设备之间进行信息交互以及数据远端传输成为嵌 入式系统的一个重要的环节。在嵌入式应用中以太网是解决远端传输高效可行的技术,如进行远端监 控、控制和远端异常检测,可节省大量的人力和财力[1] 。如今,硬件设备间的通信通常采用WISHBONE 总线协议、I2C总线协议、UART协议等。SPI是串行外围接口协议,相比其他协议具有传输速度快、应用 简单和占用引脚资源少等优点[2] 。本文利用全可编程片上系统特性实现了一种基于ZedBoard的SPI接口及以太网远端传输的设计方案,完成Linux下硬件设备间应用SPI协议通信和数据的远端传输功能,采用PL端制定接口控制模块SPI IP核并且编写Linux下IP核驱动的方法实现接口控制,Linux系统下UDP/IP协议进行以太网远端传输。同时充分利用了ZedBoard平台主芯片Zynq-7000双核Cortex A9 ARM核和可编程逻辑于一体的特性,为软硬件设计提供了很强的灵活性。
 

1 系统总体设计

本设计的主控板为ZedBoard开发板,主芯片Zynq-7000结合高性能双核ARM Cortex A9MP Core处理系统和可编程逻辑于一体。系统主要功能是:可编程逻辑端通过SPI协议实现硬件设备间的通信,通过Pmod口实现硬件设备的物理连接,接收的数据再采用Linux系统下UDP/IP协议实现以太网远端传输。系统框图如图1所示。

在ZedBoard下SPI接口和ARM处理器端实现以太网远端传输的设计,图1 系统框图,第2张

图1 系统框图

1.1 硬件设计
1.1.1 SPI硬件接口
通过ZedBoard上的Pmod接口实现硬件的物理连接,ZedBoard上的4个Pmod接口(JA、JB、JC、JD)支持LVCMOS3.3V和LVTTL3.3V信号,其中的2个(JC、JD)能够支持525Mb/s的LVDS信号。为了避免短路电流和静电,Pmod接口电路设计中为每个信号口增加了1个静电保护二极管和串接了1个 200Ω的电阻[3] 。Pmod接口电路设计如图2所示。其中SPI协议传输只用到Pmod的4个引脚,SPI的4个信号线SS、MOSI、MISO、SCK分别连接到Pmod的JA1、JA2、JA3、JA4。

在ZedBoard下SPI接口和ARM处理器端实现以太网远端传输的设计,图2 Pmod接口电路,第3张

图2 Pmod接口电路

1.1.2 硬件配置
Xilinx可编程嵌入式系统工程在Xilinx公司的嵌入式开发套件(Embedded Development Kit,EDK) 环境实现,Xilinx EDK具有完成嵌入式系统设计的一套工具和硬件配置需要的IP核 [4] 。EDK环境下硬 件结构设计的主要工具是Xilinx开发平台(Xilinx Platform Studio,XPS),硬件设计步骤如下:
(1)设置新工程路径;
(2)用IPCatalog中的IP或自定义IP配置外设;
(3)建立UCF文件;
(4)bits流生成;
(5)下载bit流到FPGA中。

本设计中添加一个AXI4-Lite总线设备SPI模块来控制Pmod接口实现硬件设备之间通信,其中 AXI4-Lite全局时钟ACLK设置为100MHz。SPI模块分配的物理地址为0x42020000,以及64K小的空间,SPI配置信息,如图3所示

在ZedBoard下SPI接口和ARM处理器端实现以太网远端传输的设计,图3 SPI模块物理地址及大小,第4张

图3 SPI模块物理地址及大小

1.2 软件设计
软件设计包含Linux下SPI核驱动和Linux下UDP/IP以太网传输应用程序两部分。SPI核驱动在软件设计包含Linux下SPI核驱动和Linux下UDP/IP以太网传输应用程序两部分。SPI核驱动在虚拟机中Ubuntu下交叉编译完成,传输应用程序在EDK开发套件中的软件开发环境下完成。

1.2.1 SPI核驱动
由于远端传输由在Linux系统下UDP/IP协议实现的,因此,编写Linux下的IP驱动,应用程序就可以通过Linux的标准接口访问SPI设备。本设计编写的是MISC型设备驱动程序,包含设备加载、设备卸载以及文件 *** 作函数。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2607253.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-09
下一篇 2022-08-09

发表评论

登录后才能评论

评论列表(0条)

保存