基于FPGA的智能仪器远程控制系统设计

发布者:码农闲散人最新更新时间:2011-12-27 来源: 互联网关键字:FPGA 手机看文章 扫描二维码
随时随地手机看文章
    摘 要: 为实现智能仪器的远程控制, 提高控制系统的速度, 采用现场可编程门阵列( FPGA) 芯片、USB 芯片等实现了智能仪器远程控制系统的设计。重点介绍RS 232 与USB 的接口转换原理及FPGA 程序设计和仿真。系统采用先入先出存储器和有限状态机实现了RS 232 与USB 的接口转换, 并实现上位机的控制、数据处理等功能。系统可大大减少上位机的工作量, 不仅可以用于实验室也可应用在工业生产中。

  目前智能仪器已广泛应用于科研和工业生产当中,但是许多仪器分散在不同的地理位置上, 不易操作和维护, 并且实时跟踪性能差, 人为误差大, 数据无法保存, 另外大量高档仪表价格相当昂贵。为解决上述难题, 在计算机的提示下完成操作, 可以减少人为因素造成的损坏,并提高测试数据的准确度。由于智能仪器是RS 232 接口, 上位机用的是USB 接口, 所以还需由FPGA 实现RS232 与USB 之间的接口转换。由于FPGA 可以并行处理, 集成度高, 可用资源丰富, 所以利用FPGA 进行数据处理, 可以减少上位机的工作量, 减少数据处理的时间,还可以缩短设计周期, 减小板卡体积, 以便于集成到其他板卡上。

  1  控制系统及接口简介

  1. 1  系统功能

  在整个系统中, 上位机可以实时对系统进行监控,并下发相应的命令。智能仪器传出的数据通过RS 232接口传送到FPGA, FPGA 根据上位机下发的命令对这些数据进行判决、处理, 然后经过USB 接口上传给上位机, 再由上位机对FPGA 处理过的数据进行显示、存储等操作。

  1. 2  U SB 接口芯片简介

  本设计采用的是CYPRESS 半导体公司的EZUSBFX2 系列芯片CY7C68013。CY7C68013 是一款高性能USB 2. 0 微控制器, 它提供了全面的USB 2. 0 外围设备解决方案。工作模式有Port, Slave FIFO 和GPIFMaSTer 三种, 本方案采用Slave FIFO 模式。在该模式下, 外部控制器( 如FPGA) 可像对普通FIFO 一样对FX2中端点为2, 4, 6, 8 的数据缓冲区进行读/ 写。FX2 内嵌的8051 固件的功能只是配置Slave FIFO 相关的寄存器,以及控制FX2 何时工作在Slave FIFO 模式下。一旦8051 固件将相关的寄存器配置完毕, 且使自身工作在Slave FIFO 模式下后, 外部逻辑( 如FPGA) 即可按照Slave FIFO 的传输时序, 高速地与主机进行通信, 而在通信过程中不需要8051 固件的参与。

  1. 3  RS 232 接口简介

  RS232C 标准( 协议) 的全称是EIARS232C 标准。EIARS232C 是用正负电压来表示逻辑状态的,与T TL 以高低电平表示逻辑状态的规定不同。因此,为了能够与计算机接口或终端的T T L 器件连接, 必须使EIARS232C 与T TL 电路之间进行电平和逻辑关系的变换。实现这种变换的方法可用分立元件, 也可用集成电路芯片。该设计用的是MAX3232 芯片。

  RS 232 的数据传输格式如图1 所示。

RS 232 标准的数据传输格式

图1  RS 232 标准的数据传输格式

  RS 232 传输格式包含起始位( 1 b) 、有效数据位( 8 b) 、奇偶校验位( 0~ 2 b) 、停止位( 1 b) 。传输线在空闲时为高电平, 因此起始位为低电平, 停止位为高电平。

  奇偶校验位可设置为奇校验、偶校验或不校验, 有效数据位是从低位开始传送。

  2  FPGA 设计

  2. 1  USB 接口时序

  在Slav e FIFO 方式下, 外部逻辑与FX2 的连接信号如图2 所示。

FX2 Slave 模式下接口管脚连接图

图2  FX2 Slave 模式下接口管脚连接图

  在Slav e FIFO 模式下, CY7C68013 芯片为端口2,4, 6, 8 提供满空标志位FLAGA, FLAGB, FLAGC,FLAGD。IFCLK 为FX2 输出的时钟, 可作通信的同步时钟; SLCS 为FIFO 的片选信号; SLOE 为FIFO 输出使能; SLRD 为FIFO 读信号; SLWR 为FIFO 写信号。对FPGA 来说, 4 个端口分别为4 个FIFO。

  FPGA检测4 个满空标志位来分别对相应的FIFO 进行读/ 写。FPGA 可以选择同步或异步读/ 写, 在该设计中采用异步读/ 写。在异步Slave FIFO 写时, 时钟由FPGA 提供。数据在SLWR 的每个有效-无效的跳变沿时被写入, FIFO 写指针递增。异步Slave FIFO 读时,FIFO 读指针在SLRD 的每个有效-无效的跳变沿时递增以改变数据。

  2. 2  FPGA 程序设计

  FPGA 设计是整个系统的核心部分, 由VHDL 语言实现。FPGA 实现了USB 与RS 232 接口的转换、数据的处理、命令的传输等功能。有了上面的接口时序,便可以进行FPGA 设计。FPGA 部分的总体设计如图3所示。模块介绍:

  USB 与FPGA 接口模块: U SB 与FPGA 之间的接口转换模块, 主要功能为将USB 接口传过来的信息缓存到FPGA 内部FIFO, 并将由数据处理模块处理过的数据传给U SB 芯片。即产生控制信号读/ 写U SB 芯片内部FIFO。可以由读/ 写FIFO 两个有限状态机实现。

  以读取CY7C68013 芯片内数据为例, 根据异步读U SB内的FIFO 时序图可分为4 个状态: 空闲态、选择地址态、准备读数据态、读数据态、读取后状态[ 6] 。在空闲态, 当读事件发生时进入选择地址态; 在选择地址态, 使FIFOADR[ 1: 0] 指向OUT FIFO, 进入准备读数据态;在准备读数据态, 如FIFO 空, 在本状态等待, 否则进入读数据态; 在读数据态, 使SLOE, SLRD 有效, 从数据线上读数, 再使SLRD 无效, 以递增FIFO 读指针, 再使SLOE 无效, 进入读取后状态; 在读取后状态, 如需传输更多的数, 进入准备读数据态, 否则进入空闲态。

 FPGA 总体设计框图

图3 FPGA 总体设计框图

  USB 数据缓存模块: 用来缓存计算机发给智能仪器的指令等信息。是由FPGA 芯片的IP 核生成的先入先出存储器FIFO。容量为8 b * 512 depth。占用1 个块RAM 资源。

  RS 232 数据缓存模块: 用来缓存由智能仪器发出的数据。是由FPGA IP 核生成的先入先出存储器FIFO。容量为8 b*512 depth, 占用1 个块RAM资源。

  RS 232 与FPGA 接口模块: RS 232 与FPGA 之间的接口转换模块。主要功能为进行串/ 并和并/ 串转换。

  将USB 数据缓存模块中缓存的内容以合适的速率通过串口发给智能仪器, 并将智能仪器发出的数据缓存到RS 232 数据缓存模块中。此模块也是由两个状态机实现。串口通信必须要设定波特率, 这里采用的波特率为9 600 Kb/ s, 采用的时钟为50 MHz, 相当于传送1 位数据需要约5 028 个时钟周期, 这里采用减法计数器来控制, 即计数器计到5 028 个时钟周期后, 就开始传输下一位数据。

  数据处理模块: 主要功能为根据上位机的指令对RS 232 数据缓存中的数据做出相应的处理。处理后再向上位机传。主要的处理方式有定时取数、平滑处理等。实现方式由状态机等实现。FPGA 顶层模块: 主要负责各模块间数据流的流向。以及与外部芯片相连的输入输出信号的定义。

  系统在工作时, 在采集数据上传上位机时, 数据通道为: 智能仪器发送的数据通过RS 232接口模块存在RS232 数据缓存模块中缓存。当缓存到一定的数据量后,再通过数据处理模块连续的读取FIFO 中的数据并根据上位机发送的命令进行相应的数据处理, 然后将处理的数据通过USB 与FPGA 接口模块传给USB 接口。在上位机下发控制命令时, 数据通道为: 上位机发送的命令通过USB 口传给FPGA 的RS 232 与FPGA 接口模块, 此模块判断是数据处理指令还是控制仪器指令。如果是数据处理指令, 则传向数据处理模块让其按要求进行数据处理。如果是控制仪器指令, 则将其存入USB 数据缓存模块中, 再由RS 232 与FPGA 接口模块读取, 转成RS2322 格式后传出。由于RS 232 接口速度比USB 接口慢, 用FPGA 内部的异步时钟FIFO 解决速率匹配问题。

  将通过RS 232传过来的数据缓存在FIFO 中, 然后存到一定数据量后再全部连续的取出, 如此往复, 从而实现数据的连续采集及上位机的实时显示。将通过USB 传过来的数据放在另一个FIFO 中缓存 , 让FPGA 按照RS232 的速率进行读取。这样可以防止RS 232 的速度跟不上USB 的速度而产生的数据丢失。

  3  仿真结果

  FPGA 采用的系统时钟频率为50 MHz, 仿真工具为Mo delsim SE 6. 5a, 仿真用数据为连续的8 b 数据。

  仿真结果如图4 所示。

 FPGA 读USB 内部FIFO 仿真图

图4 FPGA 读USB 内部FIFO 仿真图

  图4 为FPGA 读USB 内部FIFO 的仿真结果,DATA 为模拟从USB 口接到的数据, 该数据已存在于USB 芯片的FIFO 中。FIFODAT A 为FPGA 接到的数据, 由上可以看出, FPGA 可以将U SB 接受到的数据解析出来。

  图5 为RS 232 与FPGA 接口部分仿真结果。可以看出, 由RS 232 接收串行数据RXD 已经转换为并行数据din。程序中是在一个有效字节结束后将其存入FIFO 中, 由图可以验证。图6 顶层模块仿真图, 为了验证由FPGA 发出的数据能正确的接受到, 先由FPGA 内部发数据, 然后通过RS 232 的T XD 端口发出,让RXD 与TXD 相连再接收, 可以看出发出的数据可以被正确的接收回来并传向U SB 接口, 说明时序正确。

  同理可以验证U SB 端的收发时序。

RS 232 接收端仿真图

图5 RS 232 接收端仿真图

顶层模块仿真图

图6  顶层模块仿真图

  4  结 语

  本文采用FPGA 实现了USB 与RS 232 间的接口转换及数据处理的功能。设计中先入先出存储器的运用解决了数据的缓存的和速率匹配问题, 有限状态机的运用使得程序设计更加清晰可靠。该设计将复杂的信号运算集中在FPGA 中完成, 利用FPGA 独特的并行处理能力,减小上位机工作量的同时, 提高了系统运行速度。


关键字:FPGA 引用地址:基于FPGA的智能仪器远程控制系统设计

上一篇:一种基于SOPC技术的EPA控制器
下一篇:基于FPGA的宽带数字信道化接收机的设计

推荐阅读最新更新时间:2024-05-02 21:48

基于FPGA的电子设计竞赛电路板的设计
  引言   全国大学生电子设计竞赛至今已成功举办了八届, 参赛人数越来越多, 竞赛规模越来越大。大学生电子竞赛在培养学生创新能力、促进高校学风建设及电子信息学科教学改革等方面起到了引导和推进作用。   大学生电子竞赛题目以模拟电子、数字电子、可编程逻辑器件及单片机技术为核心, 涉及电子仪器仪表、通信、高频无线电、自动控制等多学科内容。2007 年电子设计竞赛组委会专家指出: 电子设计竞赛的发展趋势将以模电、数电、FP2GA 为重点。因此, 对于参赛队员来说要获得较好的成绩, 选择合适的题目并进行培训至关重要。笔者针对以FPGA 为核心的竞赛题目特点及竞赛元器件要求, 设计制作了竞赛电路板, 组成框图如图1 所示。 图1
[单片机]
基于<font color='red'>FPGA</font>的电子设计竞赛电路板的设计
莱迪思即将举办网络研讨会,讨论最新的Avant平台——再创超低功耗新境界
莱迪思即将举办网络研讨会,讨论最新的Avant平台——再创超低功耗新境界 中国上海——2023年3月15日——莱迪思半导体公司,低功耗可编程器件的领先供应商,今日宣布将举办网络研讨会探讨Avant™平台,这是一款全新的FPGA平台,旨在将莱迪思领先的低功耗架构、小尺寸和高性能拓展到中端FPGA产品。 在网络研讨会期间, 莱迪思的技术专家将介绍莱迪思Avant平台和首款基于Avant的FPGA系列产品——莱迪思Avant-E™ ,帮助客户解锁全新的FPGA创新设计。 • 举办方:莱迪思半导体公司 • 内容:全新莱迪思Avant平台——再创超低功耗新境界 • 时间:北京时间 3月28日(周二)下午2:00 •
[嵌入式]
RS与Red Pitaya签订全球独家经销协议
据此协议,RS 将为这家测试和测量领域的创业公司经销革命性的新型开源测试与测量仪,产品价格亲民,面向大众市场;其独具特色的 Red Pitaya 技术提供简单的用户界面,所有人都能轻松上手。 北京2014年3月27日电 /美通社/ -- 全球领先的电子与维修产品高端服务分销商Electrocomponents plc 集团公司(LSE:ECM)旗下的贸易品牌 RS Components (RS)与测试和测量领域一家重要的新进竞争者 -- Red Pitaya -- 签订独家协议。根据协议,RS 将经销这家新锐公司的首款独创产品,也就是一种开放式单板仪表与控制台,这种标价不到500美元的产品可以替代多种昂贵的实验室仪器。
[测试测量]
英特尔 FPGA 助力 Microsoft Azure 人工智能
新特性:在近日举行的 Microsoft Build 大会上,Microsoft推出了 基于 Project Brainwave 的 Azure 机器学习硬件加速模型,并与 Microsoft Azure Machine Learning SDK 相集成以供预览。客户可以使用 Azure 大规模部署的 英特尔 ®  FPGA (现场可编程逻辑门阵列)技术,为其模型提供行业领先的人工智能 (AI) 推理性能。   “作为一家整体技术提供商,我们通过与 Microsoft 密切合作为人工智能提供支持。人工智能适用于从训练到推断,从语音识别到图像分析等各种使用场景,英特尔拥有广泛的硬件、软件和工具组合,可满足这些工作负载的需求。”  
[嵌入式]
详解远距离测温器数控系统设计
0 引言 在一些特殊的科研场所和工业生产单位,出于各种条件限制,仪表往往不能就近测量物体实际温度;而以往所使用的一些传感器在使用时受到各种环境因素的影响,使得传感器测量得到的温度不能精确地反映被测物体的温度。因此,人们需要找寻一种远距离测温器,能够精确测量物体温度,并能实时监控温度数据。 远距离测温器是一种被动式的温度遥感器,可用于远距离探测物体的温度,在科学研究和工业生产中发挥了重要作用。由于在使用时人们对测温器的测量范围、灵敏度要求很高,同时由于当今遥感仪器的设计越来越趋于低功耗高密度及小型化,因此,要求测温器的数据处理与控制系统具有高可靠性、高分辨率、实时性、体积小等特点。由于FPGA的功能强大,逻辑速度快,可以用多种
[测试测量]
详解远距离测温器数控系统设计
华为美产FPGA芯片告急,“备胎”能否接过大任?
华盛顿邮报引述总部位于美国加州的研究公司Mobile Experts首席分析师马登(Joe Madden)的话指出,华为的美国芯片等零部件库存将用尽。 报道指出,华为即将耗尽的正是用于包括5G基站在内的通信设备的FPGA芯片,来自美国半导体大厂赛灵思(Xilinx),可编程逻辑器件(FPGA)独步全球。 自孟晚舟及美国实体清单事件之后,华为一方面开启了备胎计划,搬出多年积累的自研芯片,另一方面华为早就预想到了美国制裁,早早的就在大量囤积可能受到制裁影响的零部件,以及转单不受美国影响的零部件供应商,来保障零部件供应。外界预估,华为的库存可保证一年的缓冲期。 此外,由于美国的制裁,华为转向扶持国内供应商,目前有多家国
[网络通信]
华为美产<font color='red'>FPGA</font>芯片告急,“备胎”能否接过大任?
罗姆推出FPGA用电源稳压器及模块
近年来,电子设备(应用)的多样化与高性能化以惊人的速度不断发展。可以说,这种趋势使各产品的开发周期缩短,并给半导体技术带来了巨大的发展空间。 在这种背景下,被称为FPGA的LSI为电子设备的开发作出了巨大贡献,它比以往任何时候更引人关注,市场规模不断扩大。 1.何谓FPGA FPGA为Field Programmable Gate Array的缩写,意为在现场(Field)、可擦写(Programmable=可编程)的、逻辑门(Gate)呈阵列(Array)状排布的半定制LSI,简言之,即“后期电路可擦写逻辑元件”。 产品售出后也可进行再设计,可顺利进行产品的更新以及新协议标准的应对。这是制成后内容即被固定的ASIC (A
[嵌入式]
罗姆推出<font color='red'>FPGA</font>用电源稳压器及模块
FPGA在多进制正交扩频通信系统中的应用
    摘 要: 讨论了高速无线分组网络中多进制正交扩频通信系统的设计和实现,其中在系统核心部分的扩频编码调制和解调等很多功能都由FPGA来完成,并对此进行了详细的介绍。     关键词: FPGA 扩频通信 多进制正交扩频 QPSK调制        门阵列逻辑电路在数字系统设计中得到广泛的应用,因此从GAL、EPLD直至目前的FPGA(现场可编程门阵列),容量和功能以及可靠性都得到很大的发展。目前的FPGA结构采用总线方式,布局布线方便灵活,Altera公司的FLEX10K系列FPGA掩埋带有入出寄存器的RAM块,更加方便地应用于CPU系统。随着器件的发展,开发环境进一步得到优化。Altera公司的Ma
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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