基于SOPC技术的远程测控系统设计方案

2009-09-01 10:46:18来源: 现代电子技术

  0 引言

  在高温、高压、强放射性等恶劣环境下,由于测量者不能长期置身其中,使得测控非常困难。在Nios II软核CPU上移植μ c/OS-II实时操作系统和TCP/IP协议栈,容易实现网络通信,为远程测控提供了条件。以此为基础设计的嵌入式系统具有结构小巧、实时性强、稳定性高等特点,在工业测控领域中应用前景广泛。

  1 远程测控系统的硬件架构

  远程测控系统的硬件架构如图1所示。从图中可以看出,Nios II软核CPU及各种所需的外设IP均通过SOPCBui lder集成在一片FPGA中,构成本系统所需硬件的可重构部分,实现真正的可编程片上系统(SOPC)。

  1.1 I P核设计

  为了在低成本情况下完成预定功能,选择了Cyclone FPGA系列器件中的EP1C6。EP1C6无论从逻辑资源还是存储器均能满足设计要求。在本系统中,我们设计或选用了如下主要的IP核。

  1.1.1 UART带Avalon接口的通用异步接收器/发送器。UART内核执行RS-232协议,它为FPGA上的嵌入式系统和外部设备提供了串行字符流的通信方式。带Avalon接口的JTAG-UART内核还提供Nios CPU系统到PC机的连接通路,通过JTAG-UART在PC机上调试NiosCPU所需要的程序,并通过监控程序对整个系统的运行进行控制。

  1.1.2 GPIO。并行输入/输出内核。它提供Avalon从控制器端口到通用I/O口间的映射接口。该IP核是常规的外设控制接口。通过GPIO,对内控制SOPC系统中的其他部分,对外充当并行I/O接口,读取开关量,对LED、LCD等外设进行控制。

  1.1.3 SDRAM 该IP核是外部存储器SDRAM的控制接口。通过它完成SDRAM的时序控制。软件设计中, SDRAM的时序控制对用户是完全透明的。

  1.1.4 EPCS。带Avalon接口的EPCS设备控制器内核。该IP核允许Nios II系统访问EPCS串行配置芯片,该芯片主要用于存储程序代码或一些非易失性数据。

  1.1.5三态总线桥。该IP核是Avalon和Avalon-TriBUS总线以及Avalon和Wishbone总线的桥接控制器,用于连接两种不同总线。考虑有些外设需要自行开发I2CIP核,这些外设不能直接连到Avalon总线上,需要通过桥接控制器。

  1.2 检测和执行模块

  由于远程测控系统设计的目的不同,该模块选用的IP核也不完全相同。SOPC Builder自带的IP库中并不包含I2C配置接口模块,该模块需要根据配制芯片的寄存器特点和功能进行专门设计,并以I2C核的形式通过SOPCBuilder连接到系统的Avalon总线上。

  1.3 传输接口模块

  本系统有三种数据传输方式:串口、USB接口和以太网接口。串口、USB接口通过UART接Avalon总线。以太网接口芯片选用了SMSC公司的LAN91c11 1芯片,该芯片内部集成了以太网介质访问(MAC)及物理层收发器(PHY),支持10/1OOM全双工传输模式、自动协商等功能。LAN91C111芯片通过FPGA内的适配器模块连接到EP1C6内部的Avalon总线上,从而实现系统接入Internet。

  2 远程测控系统的软件体系

  本系统有两大功能:数据的远程采集及传送。考虑到使用互联网进行远程数据传输的复杂性,在设计中使用嵌入式操作系统和TCP/IP协议栈是必然选择。

  软件系统体系结构如图2所示。主要包括嵌入式操作系统的移植;网络协议栈的实现;应用级代码编写等部分。为了方便用户编程,Nios II IDE提供了设备驱动程序,即硬件抽象层(HAL)系统库。HAL应用程序接口(API)与ANSI C标准库综合在一起,可以使用类似C语言的库函数来访问硬件设备或文件,如printf()、fopen()等,而无须关心底层硬件的实现细节。

  2.1 移植μC/OS-II和LWIP

  μC/OS-II是一种可移植、可固化、占先式多任务实时操作系统内核。其规模较小、实时性和可靠性较高,Nios II集成开发环境(IDE)对μ C/OS-II具有良好的支持,故μC/OS-II是嵌入式操作系统的首选。它通过为每个任务分配单独的任务堆栈来保存任务工作环境,提供任务管理和调度服务。

  轻量级网络协议(Lightweight IP,LWIP)是TCP/IP协议栈的一种实现,它是一种专门针对嵌入式系统应用而设计的网络通信协议,由于LWIP实现的关键在于削减代码大小和内存消耗,但可以完成传统的TCP/IP协议的大部分功能,通常只需要大约40K的ROM和几十K的RAM即可运行,在网络协议栈初始化后,使用标准套接字API创建新任务访问网络协议栈。

  2.2 通信服务器

  本任务通过sys_thread_new()函数创建,作为服务器监听约定的端口,等待远程主机的连接,提取远程主机的命令,通过消息队列将所获得的命令发送到测控任务。LWIP提供了标准的Berkeley套接字编程界面,这个界面提供了三种类型,这里使用了流式套接字,这是一个面向连接、可靠的数据传输服务,数据无差错、无重复地发送,按发送顺序接收。通常服务器接收到并发服务请求后,要激活一个新进程来处理这个客户请求。

[1] [2]

关键字:SOPC  远程测控

编辑:小甘 引用地址:http://www.eeworld.com.cn/FPGA/2009/0901/article_701.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
SOPC
远程测控

小广播

独家专题更多

TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved