您的位置 首页 厂商

SoC FPGA的数据收集怎么处理与体系的交互问题

SoC FPGA的数据采集如何解决与系统的交互问题-引言 Internet 的快速发展和成功促进了以太网(Ethernet)技术的发展和应用的扩展,所涉及的领域十分广泛,如传统的工业控制、信息家电、智能家居、安全监控、楼宇自动化、医疗、环境监测等。大多数的数据采集设备的通信接口符合 UART 通信标准。这种通信方式的数据传输半径十分有限,并不能满足远距离传输的需求,并且不能接入 Internet. 因此数据的交互接入 Internet 就显得非常重要了。 1、系统的总体方案及各主要模块设计 系统以 Microsemi(Actel)公司的

导言

Internet 的快速开展和成功促进了以太网(Ethernet)技能的开展和运用的扩展,所触及的范畴非常广泛,如传统的工业操控、信息家电、智能家居、安全监控、楼宇主动化、医疗、环境监测等。大多数的数据收集设备的通讯接口契合 UART 通讯规范。这种通讯办法的数据传输半径非常有限,并不能满意远距离传输的需求,而且不能接入 Internet. 因而数据的交互接入 Internet 就显得非常重要了。

1、体系的总体计划及各首要模块规划

体系以 Microsemi(Actel)公司的依据 FLASH 架构的 SoC FPGA 产品 Smart Fusion2 器材为中心。体系经过 Fabric 架构完结多路 UART 对外相应数据进行收集,进行并 / 串转化写入 Fabric 的双端口 RAM.SmartFusion2 的 ARM Cortex-M3 子体系经过 AHB/APB 总线矩阵以 AHB/APB 办法拜访 Fabric 的 RAM,将得到的数据经过 Ethernet 以网页的办法在 PC 上显现。反之,以相同的途径将主控的指令传输到外部的终端设备。PC 机端以网页办法完结数据交互。网页存放于 SmartFusion2 内部 FLASH,内核 Cortex-M3 依据实时操作体系(FreeRTOS)办理使命,IP 选用静态办法,内核 Cortex-M3 与 Fabric 选用 AHB 办法通讯 . 体系规划结构框图如图 1 所示。

依据SoC的数据收集与交互体系处理计划

图 1 体系规划结构框图

体系硬件的规划可分为三个首要模块,分别为 PHY 物理层模块,SoC 的 Cortex-M3 内核及 FPGA 体系,UART 模块的数据收集体系。
 
1.1 PHY 模块

PHY 即物理层(Physical Layer)。物理层协议可界说电气信号规范、连线的状况、时钟信号的要求、数据编码的格局和数据传输所用的衔接器等。物理层经过一个界说好的接口与数据链路层进行通讯。比方 MAC 能够运用规范的介质无关性接口( MII 接口)与 PHY 进行数据沟通通讯。PHY 还有个重要的功用便是完结以太网的 CSMA/CD 部分功用,这是硬件上完结的。它能够检测到网络链路上是否有数据正在传送,假如有数据在传送中则进行等候,当检测到网络闲暇,就再等候必定的时刻(不同的 PHY 会有不同)后对数据进行传送。假使两块网卡碰巧是一起发送数据,这将形成抵触,这时 PHY 内部的抵触检测结构能够检测到抵触的产生,然后两头各自等候必定的时刻进行重发数据。

依据SoC的数据收集与交互体系处理计划

图 2 PHY 电路衔接图

PHY 的电路图衔接图如图 2 所示。KSZ8051 选用 MII 与 SmartFusion2 相连,因为 MII 兼容 RMII 接口,因而程序也可装备为 RMII 形式。Management 选用 2 个引脚衔接,分别为 MDC 和 MDIO,MII 的时钟由 PHYKSZ8051 供给,KSZ8051 的时钟来自外部 25 MHz 晶振。媒体衔接选用 RJ 45,兼容 10 Mb/s 和 100 Mb/s.
 
1.2 SoC 中的 Cortex-M3 模块

体系运用 Cortex-M3 中的 MAC 模块,如图 3 所示。
 
经过 AHB 操控 Ethernet MAC 模块,关于 MAC 的装备是运用其内部的寄存器,能够装备不同的接口形式,不同的速度。本体系装备为 MII 接口,100 Mb/s 速度。

依据SoC的数据收集与交互体系处理计划

图 3 Cortex-M3 的 MAC

MAC(Media Access Control,媒体拜访操控子层协议),首要担任操控和衔接物理层。在发送数据的时分,MAC 协议能够事前判别现在是否能够发送数据,假如能够发送则将给数据加上一些操控信息,最终将数据及顺便的操控信息以规则的格局发送到物理层;在接纳数据的时分,MAC 协议首要判别输入的信息是否产生传输过错,假如没有过错,则去掉操控信息发送至逻辑链路层(LLC)层。以太网 MAC 协议由 IEEE 802.3 以太网规范界说。
 
PHY 与 MAC 的接口办法有多种,如:
 
MII,RMII,SMII,SSMII,GMII,SGMII,TBI 等。现在常见的 PHY 都供给规范的 MII 接口,RMII 信号是对 PHY 内部的 MII 的信号进行编码和解码,这便是说支撑 MII 接口的 PHY 内部都含有 RMII 信号,也便是支撑 RMII 接口。详细运用何种接口的 PHY 则有必要依据 MAC 芯片对应的功用和接口的规范来决议。
 
选用 FreeRTOS 实时操作体系办理整个体系的运转。FreeRTOS 运用 Cortex-M3 内核的守时器以 10 ms 时刻片进行使命的调度和切换。创立 WebServer 进程和网页进行通讯,网页修改言语 HTML 是不需求编译的,因而将需求显现的数据悉数发送给网页。这些数据存储在 FLASH 中,现在测验是存储在片内 FLASH,网页发来的操控数据进行实时的处理。网页的数据需求用 LwIP 协议栈进行打包,LwIP 协议栈是把一切的协议封装到一个单一的进程(进程)中,然后与操作体系内核分隔。运用程序或许也驻留在 LwIP 处理进程中,或许在独自的进程中。TCP/IP 栈和运用程序之间的通讯能够经过函数调用完结,也能够经过更为笼统的 API[4-5]. 本规划的运用层运用常用的 IPv4 协议,DHCP 和静态 IP 都进行测验,传输层和网络层运用 TCP/IP.
 
打包之后的需求介质层 MAC 进行处理,此 MAC 为 Cortex-M3 内核自带的,支撑多种 MAC 接口,本规划选用 MII 接口,所选用的 PHY 芯片也是 MII 接口,选用 Micrel 公司的 KSZ8051,支撑 MII、RMII 接口,10 Mb/s 和 100Mb/s 传输速度,设计时选用 100Mb/s 传输。
 
网页的数据需求实时更新,规划网页每隔 500 ms 发一次更新的指令,Cortex- M3 再将更新的数据发送给网页。而这些数据来自 APB3 上,Cortex-M3 经过 FIC_0 和 APB3 进行双向通讯,然后发送和接纳数据。FPGA 中 Fabric 和 APB3 进行双向通讯,数据存储在双端口 SRAM 中,多路 UART 和 SRAM 进行双向通讯。SRAM 在体系起缓存的效果,用来处理两头读写速度的不同。
 
而关于 UART 的数据也界说了协议,这些协议是区别数据的格局和内容。关于 UART 的个数能够进行添加,体系 UART 的同步运用 FPGA 硬件完结,不受个数的约束。
 
1.3 FPGA 的 UART 模块

本体系的首要功用是 UART 数据的收集与交互,运用网页进行人机沟通,完结数据的实时更新和操控,而且把采样点的采样时刻也传输曩昔,运用户知道数据的详细时刻,便于今后的检查。
 
在本规划中需求在 SmartFusion2 片内的 FPGA 部分规划多路串口数据收集与存储的操控器,完结对终端的多路串口数据进行收集。运用的多路串口数据收集办法是在 SmartFusion2 片内的 FPGA 中规划一个 UART 操控器去收集多路数据[6]. 操控器并不完结串转并操控,而是实时监测多路串口数据状况,并将多路串行数据实时切换送入 RAM 操控器,串行的数据经过 RAM 操控器串行的进入 RAM 中去。如图 4 所示。

依据SoC的数据收集与交互体系处理计划

图 4 串口复用数据收集

当多路串口中任何一路,任何时分到来数据的时分,UART 操控器都能感知这次串行数据,并注册相应的信道,将某一路的串口数据送到 RAM 操控器。然后 RAM 操控器将该信道的串行数据写入 RAM 中。这样就能够完结对多路串口数据的收集作业。

 
在该计划中,需求在 SmartFusion2 片上的 FPGA 内规划一个 UART 操控器作为查询机制中的主机,各个终端串口作为从机,供给串口数据。主时机守时的在 SEL 总线上宣布从机的片选信号,用于选通从机设备。当从机被选中之后,从机自己会做出判别,假如该从机有数据需求发送,则该从机立刻将串行的数据宣布。假如从机没有数据需求发送,则从机对该挑选信号 SEL 不做任何反响,守时时刻到,主时机主动的去选通下一路从机,从机作业原理与之相似。这样的做法相同能够完结对多路串口数据的收集作业。
 
2、体系软件规划

本规划选用 FreeRTOS 操作体系,经过创立 WebServer 进程完结数据的交互。在初始化完结后,履行 WebServer 进程,WebServer 进程发送网页的数据、更新网页的数据、得到收集的数据。而关于以太网的协议则运用 LwIP 协议栈完结。关于硬件层则运用 Cortex-M3 内部的 MAC 和外部的 PHY 进行传输。完结物理层的传输[7]. 因而本规划的思路是发送接纳数据给网页和接纳发送 APB3 上对应的地址的数据。将 UART 的数据格局和网页 HTTP 数据格局交换。
 
软件规划框图如图 5 所示,WebServer 进程和网页进行通讯,通讯的协议选用 LwIP 协议,关于 LwIP 协议运用其间的 IPv4 运用层,运用 TCP/IP 传输,DHCP 动态获取 IP,数据链路层运用内部的 MAC,选用 100 Mb/s 的 MII 接口和 PHY 通讯,PHY 在物理层上和 PC 机通讯[8].

依据SoC的数据收集与交互体系处理计划

图 5 软件规划框图

选用主动衔接的办法与以太网相连,关于 HTTP 数据选用监听的办法,有 HTTP 数据则履行相应的操作。在网页上显现实时的日期和时刻,这个日期和时刻不是来自 PC 机的,而是来自 SmartFusion2 的,能够到达显现数据的采样时刻,便使用户检查和保存带有时刻的数据。
 
以太网的初始化首要是 MAC 的初始化,将 MAC 初始化为 MII 接口,半字节,100 Mb/s 形式。MAC 初始化后便是关于协议的挑选,本体系挑选 TCP/IP 协议,经过 tcpip_input 调用初始化网络的装备。关于网络的装备,首要是 MAC 地址、IP 地址、网关、子网掩码的装备(假如为 DHCP 则只要 MAC 地址有用),能够装备为静态 IP 和 DHCP 两种形式。静态 IP 运用 netif_set_up 函数,DHCP 运用 dhcp_star 函数来开端。
 
WebServer 是体系的主使命,担任网页和 APB3 上数据的交互。首要是运用 netconn_bind 函数新建一个 80 端口(HTTP)的网络,建立好后就一向处于监听状况的 netconn_listen 函数。
 
有网络衔接时则发送相应的数据。假如有网页翻开数据的恳求,则开端发送网页的数据头和主界面的数据,一起将网页的运转的程序也发送曩昔,这样内核就能够便利和网页进行通讯。
 
关于网页的改写和数据恳求指令都是现已发送给网页了,假如有网页的改写恳求则将更新的检测数据和日期时刻数据发送给网页。有点击操控指令,处理器则立刻呼应,将操控指令转化并发送给 APB3,也就发送给了 UART. 当然,这里边一切的数据都是加了相应的通讯协议。
 
如发送数据给网页时则需求运用 netconn_write 函数,首要是网页数据头,然后是相应的数据。假如无网络衔接、无网页恳求、恳求完结等都是运用 netconn_close 函数封闭网络,运用 netbuf_delete 函数删去网络,然后又去监听是否有新的网络存在并衔接。

依据SoC的数据收集与交互体系处理计划

图 6 软件规划流程图

以智能家居数据收集与交互为例,体系软件设置流程图如图 6 所示,首要是时钟和外设的初始化,再是以太网相关的初始化,包含 MAC 和 PHY 的初始化,IP 的获取办法,设置 MAC 地址、IP 地址、子网掩码、网关,设置传输的协议等。硬件层、传输层设置今后便是运用层,创立 WebServer 运用程序。此运用程序也是主运用程序,在 FreeRTOS 中的优先级是最高的,仓库巨细也是最大的。WebServer 使命便是与网页通讯,完结网页的改写。使命的调度和切换时经过守时器完结,10 ms 为一个时刻片,调度函数为 vTaskStartScheduler 函数完结。

 
3、结语

本文运用源代码敞开的 TCP/IP 协议栈 LwIP 和简略有用的操作体系 FreeRTOS 软件渠道和 SmartFusion2 的硬件渠道构建了依据 SoC 的数据收集与交互体系,完结设备数据信息的收集及处理并完结长途数据沟通与同享。经过实践运转测验,体系功能安稳牢靠,具有必定推行运用价值。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/89139.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部