基于SOPC技术的核信息远程采集系统

发布者:LIGANG888最新更新时间:2007-05-18 来源: 电子技术应用关键字:FPGA  接口  射线 手机看文章 扫描二维码
随时随地手机看文章
当今对核环境信息的监测具有重要的社会意义。传统的方法是工作人员进行现场操作以获取核数据。但这种方法存在环境适应能力差、测量周期短等诸多弊端,使得应用场合受到很大限制。例如,在放射性样品储藏室中,需对α及γ辐射总量进行长期监测与控制。由于环境恶劣,工作人员无法长期停留在现场,因此研制一种具有远程信息采集能力的系统具有很强的现实意义。

Internet现已覆盖全球,通过Internet可以方便地传送信息,因此,本系统立足于利用Intemet实现核环境信息的远程采集。在实现上,采用了基于SOPC技术的嵌入式解决方案,通过在FPGA中嵌入NioslI软核处理器和所需外设的IP Core(硅知识产权核),然后再配备相应的网络接口,实现利用互联网进行信息的传输。

另外,通过开发用于控制信息采集子系统的IP核,利用FPGA固有的硬件并行特性,本系统做到了对多个信息源进行真正意义上的并行监控,即在进行α射线探测的同时也可以进行γ射线和温湿度等信息的获取。

  1 系统硬件设计及实现

在本系统的设计中,硬件上为了做到通用性,在结构上划分为两部分,即用于完成现场监控和数据远程传输的通用网络平台和用于完成温湿度、液位、α及γ辐射总量测量等工作的环境信息采集子系统。其结构分别如图l、图2所示。两个子系统通过一条40芯扁平电缆连接。在软件上,考虑到利用互联网进行远程数据传输的复杂性,使用嵌入式操作系统和TCP/IP协议栈是必然的选择,因此硬件上也围绕这个关键点进行设计。



  1.1 Niosii软核CPU

NiosII软核CPU是A137ERA公司推出的一种通用32位RISC嵌入式处理器,它特别为可编程逻辑进行了优化设计,并配备有功能完善的开发套件,包括C/C++编译器、集成开发环境(IDE)、JTAG调试器等,是ALTERA公司可编程单芯片系统解决方案的核心。

作为一个软核处理器,NiosII提供了可配置的硬件及软件调试特性,包括基本的JTAG的运行控制(运行、停止、单步、存储器等)、硬件断点、数据触发、片内和片外跟踪、嵌入式逻辑分析仪。这些强大的工具可以在开发阶段使用,调试通过后便可以去掉,节省资源。NiosII处理器还提供了高、中、低三种不同性能的内核,通过与ALTERA提供的超过60种IP核(UART、时钟、DMA、SDRAM、并行I/0等)结合使用,设计师可以方便地针对特定的应用创建一个在处理器、外设、存储器和I/O接口方面都完美的方案。除此以外,NiosII还有很多其他优秀的特性,如指令定制、硬件加速器等。

  1.2 网络接口单元

以太网接口芯片采用了SMSC公司专门用于嵌入式产品的LAN91C111快速以太网控制器。该芯片内部同时集成了以太网介质访问控制器(MAC)及物理层收发器(PHY),支持10/100M全双工传输模式、自动协商及流控等功能。其主机接口具有同步总线、异步总线等多种工作模式,可以方便地与各种体系的CPU连接。本设计中使用了异步总线接口模式,并与FLASH共用地址线和数据线,通过FPGA上的适配模块连接到Avalon片内总线。

  1.3 存储器单元

由于存储操作系统内核、应用程序代码、程序数据等的需要,本系统使用了一片型号为AM29LV320D的FLASH芯片。该芯片由AMD公司推出,容量为4MB,支持CFI接口,其与AvMon总线的连接需要FPGA内部的总线适配模块进行时序匹配。SDRAM用于存储运行期的程序代码和数据,HY57V563220B(L)T为现代公司推出的容量达16MB的SDRAM,由于该芯片端口宽度可达32位,因此系统中使用单芯片即可。SDRAM读写时序比较复杂,需要在FPGA中集成专用的SDRAM控制器IP核与其对接。

  2 总量计数IP核

如图2所示,α或γ探测器获得的信号经由两级放大器串接组成的线性脉冲放大器放大后送至以LM393为核心的甄别电路进行比较,滤掉噪声,输出矩形的脉冲信号。对于这个信号的处理,以MCU(微控制器)为核心的传统核探测仪只能通过MCU上已有的硬件资源(如定时器)结合软件来实现。

这种方法受制于硬件资源和MCU的速度,难以对多通道信号源进行并行处理。本系统中,总量计数IP核即是针对此问题而专门设计的硬件,使用VHDL语言设计实现,其内部接口符合Avalon片内总线从设备接口规范,可以方便地挂接在Avalon总线上,作为NiosII软核cPu的一个专用外设。

总量计数IP核是网络平台FPGA中子板接口的一部分,其结构如图3所示。α辐射总量测量与γ辐射总量测量原理类似,下面以α测量为例介绍其工作原理。时钟源模块通过对主时钟分频产生一个O.1秒的脉冲信号,作为定时器计时的基准源。定时器则按照命令寄存器传过来的采集时间产生所需的定时信息。

根据定时器的定时信息和命令寄存器的命令,控制计数器对α测量模块传过来的脉冲信号进行计数,从而获得辐射总量的计数值,该计数值被存进FIFO中;而在另一侧,NiosIICPU通过Avalon总线向IP核的命令寄存器写入相应的命令字实现对各通道的控制,例如启动总量计数、关闭总量计数、设置采集时间及清空FIFO等。

值得注意的是,来自甄别电路的α或γ计数脉冲是与本IP核工作时钟异步的信号,而计数器的值最终是需要存人。FIF0的,因此对α或γ计数脉冲都以主时钟进行二次锁存并整形,使每个异步计数脉冲产生一个只持续一个主时钟周期的同步脉冲。以该脉冲进行计数,不仅解决了异步信号同步的问题,而且有效地滤除了干扰脉冲,使计敦值准确。

  3 系统的软件结构

为了实现利用Intemet进行远程数据传输,本系统在NiosII上移植了MicroC/OS2实时操作系统和LWIP(轻量级IP协议栈)进而在其上开发信息采集软件。

  3.1 MicroC/OS2及LWIP的移植

此部分工作主要是针对本系统的特定硬件进行移植并编写如温湿度传感器SHT75、总量计数IP核等所需的各种驱动,因此深入了解软件的各层结构和细节是移植成功的关键。

HAL即硬件抽象层,是NiosII开发套件的一部分,由ALTERA公司提供,它封装了系统中硬件操作的相关细节,驱动程序也作为它的一部分。HAL共抽象了六种器件模型,包括字符模式器件、定时器件、文件子系统、以太网器件、DMA器件和Flash器件,并为每一类器件提供一系列的统一的初始化函数和访问函数接口,通过这种方式,HAL向上一层提供了一个类POSIX的API接口,即硬件抽象层应用编程界面。

针对NiosII的软件开发,其实是建立在HAL之上,而非直接面向NiosII硬件本身。本系统测量模块所对应的各个接口IP核均属于字符模式器件,因此驱动程序需按HAL中字符模式器件模型来进行编写。

MicroC/OS2是一个适合于小型、微控制器的可剥夺实时操作系统。它支持56个用户任务,其内核为占先式,支持信号量、邮箱、消息队列等多种常用的进程间通信机制,通过它为应用程序提供所需的多任务环境。由于MicroC/OS2自身并没带有协议栈,因此需要移植一个TCP/IP协议栈LWIP,从而向上层提供了一个类似UNIX套接字的接口。LWIP支持以下一些网络协议:IP、ARP、ICMF、UDP、TCP。该协议栈需要20KB的代码存储空间及4KB的数据存储空问,同时在构建系统时还需要添加一个专供其使用的定时器。

图4为分析得到的系统软件的启动流程。在该流程图中,alt_sys_init()用于初始化系统中的设备,在这个过程中会调用设备驱动程序提供的初始化程序。Lwip_stack_init()用于初始化TCP/IP协议栈。而tcpip_init_done()是一个在协议栈初始化后被调用的函数,通信服务器的任务也在其中创建。有一点需要注意的是。所有基于LWIP的任务,都应该使用sys_thread_new()函数来创建,而不是直接使用OSTaskCreate()。最后,所有的初始化都准备好后,即调用OSStart()来启动RTOS进行任务调度。

  3.2 信息采集程序的设计

本模块作为一个任务,运行于MicroC/OS2实时操作系统之上,完成对各个探测子系统基于策略或远程指令的测量控制,获取的信息被保存到指定的内存缓冲区,并根据要求将结果返回到远程主机上。对于温湿度测量,由于SHT75传感器的湿度输出呈一定的非线性,为了获取准确数据,需要根据给定的公式对所获得的数据进行修正,而温度输出则不需进行补偿,将数字输出转换为实际温度值即可,详见SHT75数据手册。对于总量计数的处理,本模块只是简单地将数据打包后交给通信服务器传回远程主机。

  3.3 通信服务器

本任务通过sys_thread_new()函数创建,作为一个服务器监听约定的端口,等待远程主机的连接,提取远程主机的命令,通过消息队列将所获得的命令发送到信息采集任务;同时也根据要求将信息采集任务获得的各种数据分类发回远程主机。

LWP提供了标准的Berkeley套接字编程界面,这个界面提供了三种类型的套接字,在这里使用了流式套接字,这是一个面向连接的可靠的数据传输服务,也就是说使用的是TCP协议。通常,服务器接收到并发服务请求,要激活一新进程来处理这个客户请求,但出于系统资源和简化设计的考虑,在这里服务器同一时刻只能接受一个连接请求,而这种简化事实上也是可以满足设计需要的。

本系统应用基于FPGA的片上系统技术和嵌入式系统技术实现了智能核仪器与互联网的连接,同时也实现了硬件上的部分可重构,根据需要增加或删除FPGA中的外设IP核即可实现系统在功能和性能上的改变。目前本系统已经在放射性样品储藏室中应用,其功能和性能均满足实际环境的要求。由于本系统的网络平台被设计成一个相对独立的子系统,因此只需开发特定的探测子系统即可应用于各种相应的需要远程监控的领域。

关键字:FPGA  接口  射线 引用地址:基于SOPC技术的核信息远程采集系统

上一篇:基于MVC模式的J2ME应用程序框架设计
下一篇:基于SOPC的指纹识别系统设计

推荐阅读最新更新时间:2024-05-02 20:35

使用obd接口有何风险
OBD本来的目的有两个,一是为维修人员提供检测接口,二是用来测定排放标准。无论是维修,还是环保,OBD在功能上都是将车辆的ECU参数输出到外接设备。于是,以AutomaTIc、ClickDrive、Dash为代表很多硬件,瞅准了OBD这个入口,借助智能手机的数据流量和数据运算能力,打出了智能、经济、环保用车等多张牌。而国内的试水者一开始接触OBD,都为其“钱景”无限的数据接口所深深着迷,纷纷争相拥入,从2012年开始,车载OBD在国内市场开始活跃起来,成为人们梦寐以求打开车联网大门的“金钥匙”。 随着发动机电控技术的不断发展与普及,加之车联网的兴起,OBD故障诊断大家越来越熟悉了 现在红旗驾校小编就为大家讲述浅谈汽车故障诊断O
[汽车电子]
MT8880与AT89C51及语音电路的接口电路
MT8880与AT89C51及语音电路的接口电路 MT8880 内部有五个寄存器, 分别为接收数据寄存器、发送数据寄存器、收发控制寄存器CRA 和CRB 以及收发状态寄存器。在本设计中, 由于仅采用发送数据寄存器、收发控制寄存器CRA 和CRB 发送DTMF 信号实现自动拨号功能, 因此在此仅介绍这三个寄存器。发送数据寄存器中的数据决定要发送的双音频信号的频率, 因此只能向发送数据寄存器写入数据。两个收发控制寄存器占用同一个地址, 因此根据CRA 中的寄存器选择位的值决定是否对CRB 进行操作。其接口电路如图4 所示。 ISD1420 语音芯片采用直接模拟存储技术, 且录放音质极好, 并有一定的混响效果; 它的外围元件简单
[单片机]
MT8880与AT89C51及语音电路的<font color='red'>接口</font>电路
为保持AM4接口四代兼容 AMD背负重大代价:Intel感受下
AMD一代Ryzen(Summit Ridge)、7代/8代APU(Raven Ridge)、Ryzen 2000(Pinnacle Ridge)有一个共同点,即共享AM4接口。虽然是华丽丽的两大不同类型产品、两个代际,然而,主板依然是A320、B350和X470三款。 这就是说,即便你是最早那批B350用户,只要升级BIOS,就能无缝在四款CPU之间切换。 不过,这种“良心”的兼容性也在实际操作中出现了一些问题。 比如,在8代APU发售初期,一些用户发现,老主板有个无解的BUG,因为更新BIOS必须点亮系统,而它们手头只有新处理器。为此,AMD允许相关用户申请启动套件(Boot kit),里面有颗7代APU,大家拿到后开机升
[嵌入式]
基于单片机的图像处理器6538的接口技术应用
6538是任天堂游戏机专用视频图像处理器芯片,它具有极强的图像处理能力。如果把6538用于8031单片机系统,把它较强的图像处理能力用于工业控制领域,将使单片机如虎添翼。而且6538在市场上极为常见,价格仅为十几元一片,在工业控制领域极有应用前途。 市场上常见的6538是台湾联华公司生产的UMC6538,其引脚排列如图1所示。它能在较少的外围电路支持下完成图像处理,直接输出复合视频信号,可直接送监视器显示。如果通过射频调制,可以用有线或无线方式在彩色或黑白电视机上显示图像。 6538可以显示分辨率为256×240点的彩色图像,每个点有52种颜色选择。6538所显示的图像由四个页面叠加而成,从前向后依此是卡通0页、背景页、卡通1页、
[单片机]
基于单片机的图像处理器6538的<font color='red'>接口</font>技术应用
【八卦】Lattice寻找买家 眼红Altera的167亿美元?
排名第二的FPGA厂商Altera前脚被Intel以约167亿美元收购,仅仅三天,另一FPGA厂商Lattice后脚说想被卖?这是什么节奏啊?是Lattice的股东看到白花花的银子眼红了? 据报道,Lattice总裁兼首席执行官Darin Billerbeck表示他们公司公开出售,这一举措引起了外界高度的反响。记者甚至有些不敢相信,本以为Lattice在今年1月以6亿美元收购有线和无线ASSP连接解决方案公司Silicon Image,还想在消费电子行业大干一场,并致力于成为消费、工业和通信应用中低功耗连接解决方案的领头羊,扩大公司规模并带来成长机会。谁知道突然又这个想法。 而且就在收购Silicon
[半导体设计/制造]
【八卦】Lattice寻找买家 眼红Altera的167亿美元?
在消费设备中采用电容式传感器用户接口
随着移动设备、便携式数字娱乐设备(PDE)、遥控器和数码相机等小型系统的复杂性和功能性的日益增加,这些设备及类似产品的设计人员不断面临重大挑战。例如,最新潮的手机就面临着用户接口(UI)的挑战,以及拥挤的键区和触摸屏组合带来的人机工程学问题。 几年前,这些系统都还很简单,定义明确,只需要简单的输入装置用于书写和功能选择,比如键区、按钮或触摸屏即可。但现在,手机里充满了复杂的通信子系统,PDA已几乎发展成为可连接互联网的完整的计算机系统。此外,画板方面更先进的移动和便携式产品因其具高度先进性的多功能设计而存在着UI的挑战。因此,设计人员正在向具有更大UI空间的电阻式触摸屏(RTS)转向。这种特殊的传感器技术被广泛应用于日用品中。不过
[嵌入式]
FPGA设计频率的计算方法
我们的设计需要多大容量的芯片?我们的设计能跑多快?这是经常困扰工程师的两个问题。对于前一个问题,我们可能还能先以一个比较大的芯片实现原型,待原型完成再选用大小合适的芯片实现。对于后者,我们需要一个比较精确的预估,我们的设计能跑50M,100M 还是133M?   首先让我们先来看看Fmax 是如何计算出来的。图(1)是一个通用的模型用来计算FPGA的。我们可以看出,Fmax 受Tsu , Tco , Tlogic 和 Troute 四个参数影响。( 由于使用FPGA 全局时钟,时钟的抖动在这里不考虑)。   时钟周期 T = Tco + Tlogic + Troute + Tsu   时钟频率 Fmax = 1/Tmax
[嵌入式]
<font color='red'>FPGA</font>设计频率的计算方法
TQ2440 学习笔记—— 26、ADC 和触摸屏接口
ADC 和触摸屏接口 S3C2440A内置一个带8个模拟输入通道的10位逐次逼近型(recycling type)CMOS模数转换器。在2.5MHz的模数转换时钟频率下,转换速率可达到500KSPS (Samples Per Second),并且支持片内采样保持功能和省电模式。S3C2440A还带有触摸屏接口,可以控制/选择触摸屏的XP,XM,YP,YM输入以进行X,Y位置转换。 AD转换频率 = GCLK / (p + 1) AD转换时间 = 1 / (AD转换频率 / 5) = 5 * (p + 1) / GCLK 其中,GCLK是系统主时钟频率,一般等于50MHz;p是预分频值,在0到255之间;除以
[单片机]
TQ2440 学习笔记—— 26、ADC 和触摸屏<font color='red'>接口</font>
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved