0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

采用VHDL语言实现数据采集与控制系统软IP核的设计

电子设计 来源:郭婷 作者:电子设计 2019-05-03 08:28 次阅读

现代模拟仿真技术广泛应用在系统设计、系统分析以及教育训练中。在模拟过程中,存在大量向前端模拟装置或仿真模块发送指令数据,以及从模拟工作设备上读取状态参量的情况。在对大型工业设备和系统进行模拟仿真时,数据采集控制的复杂程度愈加恶劣。通过改进数据采集控制器的结构,提高数据采集控制器的自动化和集成化程度,可以有效地提高大型模拟仿真设备数据采集和控制的效率。

FPGA及SoPC技术的发展为此提供了新的解决方案。IP核(IP Core)是具有特定电路功能的硬件描述语言程序,可较方便地进行修改和定制,以提高设计效率。本文研究了基于FPGA的数据采集控制器IP 核的设计方案和实现方法,该IP核既可以应用在独立IC芯片上,还可作为合成系统的子模块直接调用,实现IP核的复用。

1 系统结构

数据采集控制器主要分为发送机制和接收机制两部分。在传统的模拟仿真系统中,发送机制负责将模拟仿真系统主机控制程序模拟运算的数据传给事先定义的变量,通过专用接口卡将其放在绝对内存地址单元中,再借助智能端口的工控机将数据发至前端,以驱动前端设备(如仪表、显示灯等)进行显示,或使前端设备(如开关、阀门、步进电机等)进行动作;接收机制与之相反,即实时地将从前端工控机采集的模拟设备的动作量和状态量(包括模拟实际情况的温度量、压力量等)读到计算机内存地址单元中,并通过专写程序把这些变量值转换成主控程序所需要的数据。

前端设备种类繁多,因此实际中需有针对性地进行设计,以实现工控机对前端设备的控制。此外,工控机与主机之间还必须通过专用接口进行通信,如图1所示。其结构复杂,不利于设计和调试,同时降低了模拟仿真系统的实时性和效率。

采用VHDL语言实现数据采集与控制系统软IP核的设计

本文设计的IP 核将传统结构中工控机和接口卡两级的数据采集控制系统结合起来,设计了一个集成的控制器,由其完全承担主机与前端设备的数据交换与通信任务。这样,主机仅负责对整个系统的监控以及对模拟仿真模型的规格运算,而不再分出资源来管理前端模拟设备的控制和数据采集,从而降低了系统的复杂度。结构如图2所示。

采用VHDL语言实现数据采集与控制系统软IP核的设计

2 系统设计

基于前述数据采集控制过程,本IP核分发送数据和采集数据两种处理机制进行设计。相应地,将本IP核内部划分为IP核控制逻辑模块、数据模式转换模块、网络通信模块、寄存器模块、总线模块以及时钟模块六部分。其相互关系如图3所示。

采用VHDL语言实现数据采集与控制系统软IP核的设计

主要模块功能及其特征描述如下:

(1)IP核控制逻辑模块:负责整个IP核的控制与运行,当接收到主机发来的工作命令后,该模块根据命令的种类(发送数据或采集数据)向相应的模块发送控制命令;出现异常时,本模块根据事先定义好的规则对异常情况进行处理;

(2)数据模式转换模块:该模块在接收到IP核控制逻辑模块发来的工作命令后,启动数字信号——模拟信号的转换;

(3)网络通信模块:采用专用的快速以太网控制器,利用其内部集成的控制器及协议栈,可以方便地与前端模拟设备连接通信;同时利用其支持10/100 M全双工传输模式的性能,实现快速收发数据的目的;

(4)寄存器模块:包括寄存器访问和寄存器单元两部分。寄存器访问部分的作用在于,当寄存器访问程序被IP核控制逻辑选中调用时,IP核控制逻辑可通过其对寄存器单元进行读或写操作访问;寄存器单元部分作为发送或采集机制流水线工作时,数据流动的中间暂存介质。基于本系统的设计目标,选择SDRAM作为寄存器单元的硬件支撑,因其读写时序较复杂,需在本系统中集成专用的SDRAM控制器IP 核与其对接;

(5)总线模块:负责各模块之间信息的传输,如提供Avalon接口供寄存器访问时使用,它使用Avalon必需的信号来访问寄存器,并支持任务逻辑传输类型;

(6)时钟模块:产生相应频率的时钟供给IP核,时钟的频率由系统时钟频率分频所得。

3 系统实现

本IP 核功能逻辑的设计基于其任务逻辑定制的基本功能和技术指标。本设计的任务逻辑主要完成对模拟仿真系统前端模拟设备发送指令以及采集前端模拟设备状态量数据。其功能逻辑也基于发送指令和接收数据两个数据流来设计,如图4所示。

采用VHDL语言实现数据采集与控制系统软IP核的设计

为避免高速、高频系统时序中常存在的竞争、毛刺危险以及建立与保持时间相抵触等问题,本IP核采用同步设计的方案。同时,为解决实际中仍会经常出现系统产生毛刺和时钟偏斜等问题。本IP核中拟将时钟控制改为触发器输入允许,将时钟选择改为独立的时钟分析。

为加快本设计的运行速度及处理效率,本IP核的设计以功能逻辑处理机制为基础,分别对发送流程和接收流程设计状态机并实现。

在发送流程的状态转换过程中,共有6个状态,如图5所示。IP核的控制逻辑判断来自主机的发送数据命令后,首先检查其各功能模块的准备情况,如果准备好,即开始发送数据,从寄存器单元中取出待发送数据并送至网络通信模块,由其发送至前端模拟设备。在此过程中,不断检测发送完成标志位DataEND,如果该标志位变为有效则表示发送成功,将此信息反馈给主机并进入下一工作周期等待状态;如果超时该标志位仍未变化,则反馈回主机发送失败的信息,并请求重发。

采用VHDL语言实现数据采集与控制系统软IP核的设计

相应地,如图6所示,接收流程的状态转换过程有7个状态。其工作大致与发送流程相同,只是接收数据从寄存器单元读出后,要先经过数据模式的转换后,再发送给主机使用。

采用VHDL语言实现数据采集与控制系统软IP核的设计

4 仿真与验证

本文选用Altera公司的Cyclone系列的EP1C12240C8器件,并在Quartus7.2环境下采用VHDL语言实现前述IP 核的方案设计。IP核设计完成后,利用SoPC Builder对其进行功能仿真和时序分析。在仿真测试中,以按键模拟实际开关动作;以数码显示器数值变化模拟实际仪器仪表传感器动作,分别对该IP核的发送和接收功能进行仿真测试。

本IP核发送功能仿真测试所得波形如图7所示。系统的时钟允许信号ClockEna有效后,系统寄存器有效信号MemoEna及寄存器读信号MemoRd相继变为有效,系统在IP 核处理逻辑给出发送信号SdEna之后开始发送寄存器中读出的数据。在此过程中,不断检测发送完成信号DataEND及超时控制信号Timechip,如DataEND有效则停止发送,如前述两信号同时有效或直到Timechip信号变为有效,则停止本次发送,向IP 核处理逻辑反馈重发信号Retry。同理,IP 核接收功能仿真测试所得波形如图8所示。通过分析波形可以得出,IP 核处理过程与前述功能逻辑设计一致。

采用VHDL语言实现数据采集与控制系统软IP核的设计

本文提出了一种数据采集与控制系统软IP核的设计方案,对其采用VHDL语言描述实现,并进行了功能仿真测试。经测试证明,该方案能满足设计要求,且成本较低,处理逻辑简单,可方便地移植到多种大型的工业模拟仿真系统中,应用前景广泛。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1629

    文章

    21748

    浏览量

    603879
  • 控制系统
    +关注

    关注

    41

    文章

    6628

    浏览量

    110647
  • vhdl
    +关注

    关注

    30

    文章

    817

    浏览量

    128159
收藏 人收藏

    评论

    相关推荐

    一种采用PCI的轴角数据采集系统

    研究一种基于PCI的轴角编码数据采集系统实现伺服系统角度位置量的实时测控。
    发表于 02-11 14:15 2557次阅读
    一种<b class='flag-5'>采用</b>PCI<b class='flag-5'>软</b><b class='flag-5'>核</b>的轴角<b class='flag-5'>数据采集</b><b class='flag-5'>系统</b>

    基于FPGA的数据采集控制IP的设计方案和实现方法研究

    此提供了新的解决方案。IP(IP Core)是具有特定电路功能的硬件描述语言程序,可较方便地进行修改和定制,以提高设计效率[3]。本文研究了基于FPGA的
    发表于 07-09 07:23

    如何设计RS232异步串行口IP

    ,使用IP核可使整个系统更加灵活,还可根据需要实现功能升级、扩充和裁减。这里采用VHDL语言编写
    发表于 08-20 07:53

    请问FPGA的高速多通道数据采集控制IP设计怎么实现

    本文介绍的在电能质量监测系统中信号采集模块控制器的 IP,是采用硬件描述
    发表于 04-08 06:33

    如何采用数据采集卡设计测井数据采集控制系统

    测井数据采集控制系统原理是什么?由哪些构成?数据采集有哪些方案设计?如何采用数据采集卡设计测井数据采集
    发表于 04-13 06:25

    如何使用VHDL硬件描述语言实现的十六路彩灯控制系统

    本文介绍应用美国ALTERA公司的MAX+PLUSⅡ平台,使用VHDL硬件描述语言实现的十六路彩灯控制系统
    发表于 04-19 07:43

    VHDL密码控制系统的设计

    阐述密码控制设计的基本原理。介绍了VHDL语言的特点以及基本的语法结构。在MAX+plusⅡ开发软件环境下,利用VHDL硬件描述语言实现密码
    发表于 12-16 16:10 0次下载

    SOPC基础上的数据采集系统设计

    本中提出一种基于SOPC技术的多路数据采集与存储系统的设计方法,利用硬件描述语言设计用户IP实现
    发表于 07-04 11:04 1092次阅读
    SOPC基础上的<b class='flag-5'>数据采集</b><b class='flag-5'>系统</b>设计

    基于Nios_Ⅱ的SOPC数据采集系统的设计

    基于Nios_Ⅱ的SOPC数据采集系统的设计
    发表于 02-17 10:07 36次下载

    FM收音机的解码及控制VHDL语言实现

    Xilinx FPGA工程例子源码:FM收音机的解码及控制VHDL语言实现
    发表于 06-07 14:13 11次下载

    基于ARM的数据采集控制系统设计

    基于ARM的数据采集控制系统设计
    发表于 12-17 15:26 2次下载

    基于FPGA核技术应用于高速数据采集系统设计的方法减少开发时间

    为解决不同性能指标数据采集系统开发时间较长的问题,提出了一种将FPGA核技术应用于高速数据采集系统设计的方法。
    发表于 11-24 17:00 843次阅读
    基于FPGA<b class='flag-5'>软</b>核技术应用于高速<b class='flag-5'>数据采集</b><b class='flag-5'>系统</b>设计的方法减少开发时间

    如何使用FPGA进行仿真系统数据采集控制IP设计的资料概述

    介绍了在大型工业模拟仿真系统中,利用FPGA和IP实现数据采集及收发控制的方案,并对其进行设
    发表于 11-07 11:14 20次下载
    如何使用FPGA进行仿真<b class='flag-5'>系统</b><b class='flag-5'>数据采集</b><b class='flag-5'>控制</b>器<b class='flag-5'>IP</b><b class='flag-5'>核</b>设计的资料概述

    基于Altera的FPGA器件和VHDL语言实现数据采集系统的设计

    传统的数据采集系统,通常采用单片机或DSP作为主要控制模块,控制ADC、存储器和其他外围电路的工作。随着
    发表于 08-06 17:02 1249次阅读
    基于Altera的FPGA器件和<b class='flag-5'>VHDL</b><b class='flag-5'>语言实现</b><b class='flag-5'>数据采集</b><b class='flag-5'>系统</b>的设计

    基于VHDL语言实现远程防盗报警设计

    电子发烧友网站提供《基于VHDL语言实现远程防盗报警设计.pdf》资料免费下载
    发表于 11-08 14:33 0次下载
    基于<b class='flag-5'>VHDL</b><b class='flag-5'>语言实现</b>远程防盗报警设计