基于FPGA的SoC和嵌入式系统的远程监控系统_第1页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1、基于fpga的soc和嵌入式系统的远程监控系统本系统立足于利用intemet实现核环境信息的远程采集。在实现上,采纳了基于sopc技术的解决计划,通过在中嵌入niosli软核处理器和所需外设的ip core(硅学问产权核),然后再配备相应的网络接口,实现利用互联网举行信息的传输。另外,通过开发用于控制信息采集子系统的ip核,利用fpga固有的硬件并行特性,本系统做到了对多个信息源举行真正意义上的并行监控,即在举行射线探测的同时也可以举行射线和温湿度等信息的猎取。1 系统硬件设计及实现在本系统的设计中,硬件上为了做到通用性,在结构上划分为两部分,即用于完成现场监控和数据远程传输的通用网络平台和用

2、于完成温湿度、液位、及辐射总量测量等工作的环境信息采集子系统。其结构分离l、图2所示。两个子系统通过一条40芯扁平电缆衔接。在软件上,考虑到利用互联网举行远程数据传输的复杂性,用法嵌入式操作系统和tcpip协议栈是必定的挑选,因此硬件上也围绕这个关键点举行设计。11 niosii软核cpuniosii软核cpu是a137era公司推出的一种通用32位risc嵌入式处理器,它特殊为可编程规律举行了优化设计,并配备有功能完美的开发套件,包括c/c+编译器、集成开发环境(ide)、jtag调试器等,是ara公司可编程单芯片系统解决计划的核心。作为一个软核处理器,niosii提供了可配置的硬件及软件调

3、试特性,包括基本的jtag的运行控制(运行、停止、单步、存储器等)、硬件断点、数据触发、片内和片外跟踪、嵌入式规律分析仪。这些强大的工具可以在开发阶段用法,调试通过后便可以去掉,节约资源。niosii处理器还提供了高、中、低三种不同性能的内核,通过与altera提供的超过60种ip核(uart、时钟、dma、sdram、并行i0等)结合用法,设计师可以便利地针对特定的应用创建一个在处理器、外设、存储器和io接口方面都完善的计划。除此以外,niosii还有无数其他优秀的特性,如命令定制、硬件加速器等。12 网络接口单元以太网接口芯片采纳了smsc公司特地用于嵌入式产品的lan91c111迅速以太

4、网控制器。该芯片内部同时集成了以太网介质拜访控制器(mac)及物理层(phy),支持10100m全双工传输模式、自动商议及流控等功能。其主机接口具有同步、异步总线等多种工作模式,可以便利地与各种体系的cpu衔接。本设计中用法了异步总线接口模式,并与flash共用地址线和数据线,通过fpga上的适配模块衔接到avalon片内总线。13 存储器单元因为存储操作系统内核、应用程序代码、程序数据等的需要,本系统用法了一片型号为am29lv320d的flash芯片。该芯片由amd公司推出,容量为4mb,支持cfi接口,其与avmon总线的衔接需要fpga内部的总线适配模块举行时序匹配。sdram用于存储

5、运行期的程序代码和数据,hy57v563220b(l)t为现代公司推出的容量达16mb的sdram,因为该芯片端口宽度可达32位,因此系统中用法单芯片即可。sdram读写时序比较复杂,需要在fpga中集成专用的sdram控制器ip核与其对接。2 总量计数ip核2所示,或探测器获得的信号经由两级串接组成的线性脉冲放大器放大后送至以lm393为核心的甄别举行比较,滤掉噪声,输出矩形的脉冲信号。对于这个信号的处理,以(微控制器)为核心的传统核探测仪只能通过mcu上已有的硬件资源(如定时器)结合软件来实现。这种办法受制于硬件资源和mcu的速度,难以对多通道信号源举行并行处理。本系统中,总量计数ip核即

6、是针对此问题而特地设计的硬件,用法语言设计实现,其内部接口符合avalon片内总线从设备接口规范,可以便利地挂接在avalon总线上,作为niosii软核cpu的一个专用外设。总量计数ip核是网络平台fpga中子板接口的一部分,其结构3所示。辐射总量测量与辐射总量测量原理类似,下面以测量为例介绍其工作原理。时钟源模块通过对主时钟分频产生一个o1秒的脉冲信号,作为定时器计时的基准源。定时器则根据指令寄存器传过来的采集时光产生所需的定时信息。按照定时器的定时信息和指令寄存器的指令,控制计数器对测量模块传过来的脉冲信号举行计数,从而获得辐射总量的计数值,该计数值被存进fifo中;而在另一侧,nios

7、iicpu通过avalon总线向ip核的指令寄存器写入相应的指令字实现对各通道的控制,例如启动总量计数、关闭总量计数、设置采集时光及清空fifo等。值得注重的是,来自甄别电路的或计数脉冲是与本ip核工作时钟异步的信号,而计数器的值终于是需要存人。fif0的,因此对或计数脉冲都以主时钟举行二次锁存并整形,使每个异步计数脉冲产生一个只持续一个主时钟周期的同步脉冲。以该脉冲举行计数,不仅解决了异步信号同步的问题,而且有效地滤除了干扰脉冲,使计敦值精确。3 系统的软件结构为了实现利用intemet举行远程数据传输,本系统在niosii上移植了microcos2实时操作系统和lwip(轻量级ip协议栈)

8、进而在其上开发信息采集软件。31 microcos2及lwip的移植此部分工作主要是针对本系统的特定硬件举行移植并编写如温湿度sht75、总量计数ip核等所需的各种驱动,因此深化了解软件的各层结构和详情是移植胜利的关键。hal即硬件抽象层,是niosii开发套件的一部分,由altera公司提供,它封装了系统中硬件操作的相关详情,驱动程序也作为它的一部分。hal共抽象了六种器件模型,包括字符模式器件、定时器件、文件子系统、以太网器件、dma器件和flash器件,并为每一类器件提供一系列的统一的初始化函数和拜访函数接口,通过这种方式,hal向上一层提供了一个类posix的api接口,即硬件抽象层应

9、用编程界面。针对niosii的软件开发,其实是建立在hal之上,而非挺直面对niosii硬件本身。本系统测量模块所对应的各个接口ip核均属于字符模式器件,因此驱动程序需按hal中字符模式器件模型来举行编写。microcos2是一个适合于小型、微控制器的可剥夺实时操作系统。它支持56个用户任务,其内核为占先式,支持信号量、邮箱、消息队列等多种常用的进程间通信机制,通过它为应用程序提供所需的多任务环境。因为microcos2自身并没带有协议栈,因此需要移植一个tcpip协议栈lwip,从而向上层提供了一个类似unix套接字的接口。lwip支持以下一些网络协议:ip、arp、icmf、udp、tcp

10、。该协议栈需要20kb的代码存储空间及4kb的数据存储空问,同时在构建系统时还需要添加一个专供其用法的定时器。图4为分析得到的系统软件的启动流程。在该流程图中,alt_sys_init()用于初始化系统中的设备,在这个过程中会调用设备驱动程序提供的初始化程序。lwip_stack_init()用于初始化tcpip协议栈。而tcpip_init_done()是一个在协议栈初始化后被调用的函数,通信服务器的任务也在其中创建。有一点需要注重的是。全部基于lwip的任务,都应当用法sys_thread_new()函数来创建,而不是挺直用法ostaskcreate()。最后,全部的初始化都预备好后,即调

11、用osstart()来启动rtos举行任务调度。32 信息采集程序的设计本模块作为一个任务,运行于microcos2实时操作系统之上,完成对各个探测子系统基于策略或远程命令的测量控制,猎取的信息被保存到指定的内存缓冲区,并按照要求将结果返回到远程主机上。对于温湿度测量,因为sht75传感器的湿度输出呈一定的非线性,为了猎取精确数据,需要按照给定的公式对所获得的数据举行修正,而温度输出则不需举行补偿,将数字输出转换为实际温度值即可,详见sht75数据手册。对于总量计数的处理,本模块只是容易地将数据打包后交给通信服务器传回远程主机。33 通信服务器本任务通过sys_thread_new()函数创建,作为一个服务器监听商定的端口,等待远程主机的衔接,提取远程主机的指令,通过消息队列将所获得的指令发送到信息采集任务;同时也按照要求将信息采集任务获得的各种数据分类发回远程主机。lwp提供了标准的berkeley套接字编程界面,这个界面提供了三种类型的套接字,在这里用法了流式套接字,这是一个面对衔接的牢靠的数据传输服务,也就是说用法的是tcp协议。通常,服务器接收到并发服务哀求,要激活一新进程来处理这个客户哀求,但出于系统资源和简化设计的考虑,在这里服务器同一时刻只能接受一个衔接哀求,而这种简化实际上也是可以满足设计需要的。本系统应用基于fpga的片上

温馨提示

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

评论

0/150

提交评论