基于SoC的数据采集与交互系统解决方案_第1页
基于SoC的数据采集与交互系统解决方案_第2页
基于SoC的数据采集与交互系统解决方案_第3页
基于SoC的数据采集与交互系统解决方案_第4页
基于SoC的数据采集与交互系统解决方案_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、统通过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方式通

3、信.系统设计结构框图如图 1所示。Vnirtfmh awFLSH场陞的编jTifnet叫 cbhcntTFPPSNMrUUPGCPM,口itrp用右R P IPt jlkFkDiir?t ns图i系统设计结构框图系统硬件的设计可分为三个主要模块,分别为PHY物理层模块,SoC的Cortex-M3 内核及FPGA系统,UART模块的数据采集系统。PHY 模块PHY即物理层(Physical Layer)。物理层协议可定义电气信号标准、连线的状态、时钟信号的要求、数据编码的格式和数据传输所用的连接器等。物理层通过一个定义好的接口与数据链路层进行通信。比如MAC可以利用标准的介质无关性接口 ( MI

4、I接口)与PHY进行数据交换通信。PHY还有个重要的功能就是实现以太网的 CSMA/CD 部分功能,这是硬件上实现的。它可以检测到网络链路上是 否有数据正在传送,如果有数据在传送中则进行等待,当检测到网络空闲,就再等待一定的时间(不同的PHY会有不同)后对数据进行传送。倘若两块网卡碰巧是同时发送数据,这将造成冲突,这时PHY内部的冲突检测结构可以检测到冲突的发生,然后两边各自等待一定的时间进行重发数据Smanrusifwi210 100MTKRJUIIMACOri-clnp Tcm nfltiiw KdwRrK)3LanaLi:nint. 一 人lVSH MHzMcJjJ I |TCtiDBd

5、sL-rlOOBase-TX=1 【廿11口女人K=5iCiRI 4S2S MHiMAI:2 pF 彳图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.SoC 中的 Cortex-M3 模块系统使用Cortex-M3 中的MAC模块,如图3

6、所示。通过AHB控制Ethernet MAC 模块,对于MAC的配置是使用其内部的寄存器,可以配置不同的接口模式,不同的速度。本系统配置为MII接口,100 Mb/s 速度。MsrH LiAja2irAtmthhXMmsEltitrmclLI ArMUt 1 - i *RMII 艮WM*阊0十十揖门狗11 NMR 叫IVGX!I Milr1 lt,A 1描M(rMHUHtoRnWIII/SMIIJ RIFED*IIRMTT RC.Mir RMil *SMT1 PUT图 3 Cortex-M3 的 MACMAC(Media Access Control ,媒体访问控制子层协议),主要负责控制和连

7、接物理层。在发送数据 的时候,MAC协议可以事先判断现在是否可以发送数据,如果可以发送则将给数据加上一些控制信 息,最终将数据及附带的控制信息以规定的格式发送到物理层;在接收数据的时候,MAC协议首先判断输入的信息是否发生传输错误,如果没有错误,则去掉控制信息发送至逻辑链路层(LLC)层。以太网MAC协议由IEEE 802.3以太网标准定义。PHY与MAC 的接口方式有多种,如:MII , RMII , SMII , SSMII, GMII , SGMII , TBI 等。目前常见的 PHY 都提供标准的 MII 接口, RMII信号是对PHY内部的MII的信号进行编码和解码,这就是说支持MI

8、I接口的PHY内部都含有RMII信号,也就是支持 RMII接口。具体使用何种接口的 PHY则必须根据 MAC芯片对应的功能和接口的标准来决定采用FreeRTOS实时操作系统管理整个系统的运行。FreeRTOS使用Cortex-M3 内核的定时器以10 ms时间片进行任务的调度和切换。创建Webserver进程和网页进行通信,网页编辑语言HTML是不需要编译的,因此将需要显示的数据全部发送给网页。这些数据存储在FLASH中,目前测试是存储在片内 FLASH ,网页发来的控制数据进行实时的处理。网页的数据需要用LwIP协议栈进行才T包,LwIP协议栈是把所有的协议封装到一个单一的过程(进程)中,从

9、而与操作系统内核分开。应用程序可能也驻留在 LwIP处理过程中,或者在单独的过程中。TCP/IP栈和应用程序之间的通信可以通过函数调用实现,也可以通过更为抽象的 API4-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 传输。网页的数据需

10、要实时更新,设计网页每隔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数据

11、的采集与交互,使用网页进行人机交换,实现数据的实时更新和控制,并且把采样点的采样时间也传输过去,使用户知道数据的具体时间,便于以后的查看。在本设计中需要在SmartFusion2 片内的FPGA部分设计多路串口数据采集与存储的控制器,实现对终端的多路串口数据进行采集。使用的多路串口数据采集方法是在SmartFusion2 片内的FPGA中设计一个UART控制器去采集多路数据6.控制器并不完成串转并控制,而是实时监测多路串口数据状态,并将多路串行数据实时切换送入RAM控制器,串行的数据经过 RAM控制器串行的进入RAM中去。如图 4所示。多FS用口FPG八逻辑资源加徜图4串口复用数据采集当多路串

12、口中任何一路,任何时候到来数据的时候,UART控制器都能感知这次串行数据, 并开通相应的信道,将某一路的串口数据送到RAM控制器。然后RAM控制器将该信道的串行数据写入RAM中。这样就可以完成对多路串口数据的采集工作。在该方案中,需要在 SmartFusion2 片上的FPGA内设计一个 UART控制器作为查询机制中的主机,各个终端串口作为从机,提供串口数据。主机会定时的在SEL总线上发出从机的片选信号,用于选通从机设备。当从机被选中之后,从机自己会做出判断,如果该从机有数据需要发送,则该从机立刻将串行的数据发出。如果从机没有数据需要发送,则从机对该选择信号SEL不做任何反应,定时时间到,主机

13、会自动的去选通下一路从机,从机工作原理与之类似。这样的做法同样可以完成对多 路串口数据的采集工作。2、系统软件设计本设计采用FreeRTOS操作系统,通过创建 Webserver进程实现数据的交互。在初始化完成后, 执行 Webserver进程,Webserver进程发送网页的数据、更新网页的数据、得到采集的数据。而 关于以太网的协议则使用 LwIP协议栈实现。对于硬件层则使用Cortex-M3 内部的MAC和外部的PHY进行传输。实现物理层的传输7.因此本设计的思路是发送接收数据给网页和接收发送 APB3上对应的地址的数据。将 UART的数据格式和网页 HTTP数据格式互换。软件设计力I图如

14、图 5所示,WebServer进程和网页进行通信,通信的协议采用 LwIP协议,对于 LwIP协议使用其中的IPv4应用层,使用 TCP/IP传输,DHCP动态获取IP,数据链路层使用内 部的MAC,采用100 Mb/s 的MII接口和PHY通信,PHY在物理层上和 PC机通信8.应用层 ;I i 乩雉/II空胧;i *1 数据避稀展!图5软件设计框图采用自动连接的方式与以太网相连,对于HTTP数据采用监听的方式,有HTTP数据则执行相应的操作。在网页上显示实时的日期和时间,这个日期和时间不是来自PC机的,而是来自SmartFusion2 的,能够达到显示数据的采样时间,方便用户查看和保存带有

15、时间的数据。以太网的初始化首先是 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)的

16、网络,建立好后就一直处于监听状态的netconn_listen 函数。有网络连接时则发送相应的数据。如果有网页打开数据的请求,则开始发送网页的数据头和主界面的 数据,同时将网页的运行的程序也发送过去,这样内核就可以方便和网页进行通信。对于网页的刷新和数据请求命令都是已经发送给网页了,如果有网页的刷新请求则将更新的检测数据和日期时间数据发送给网页。有点击控制命令,处理器则马上响应,将控制命令转换并发送给 APB3, 也就发送给了 UART.当然,这里面所有的数据都是加了相应的通信协议。如发送数据给网页时则需要使用netconn_write 函数,首先是网页数据头,然后是相应的数据。如果无网络连接、无网页请求、请求完成等都是使用netconn_close 函数关闭网络,使用netbuf_delete 函数删除网络,然后又去监听是否有新的网络存在并连接。图6软件设计流程图以智能家居数据采集与交互为例,系统软件设置流程图如图6所示,首先是时钟和外设的初始化,再是以太网相关的初始化, 包才MAC和PHY的初始化,IP的获取方式,设置MAC地址、IP地址、子网掩码、网关,设置传输的协议等。硬件层、传输层设置以后就是应用层,创建 Webserver应用程序。此应用程序也是主应

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论