目前智能仪器已普遍应用于科研和工业生产当中,但是许多仪器集中在有所不同的地理位置上,容易操作者和确保,并且动态追踪性能劣,人为误差大,数据无法留存,另外大量高档仪表价格非常便宜。为解决问题上述难题,在计算机的提醒下已完成操作者,可以增加人为因素导致的损毁,并提升测试数据的准确度。
由于智能仪器是RS232模块,上位机用的是USB模块,所以还须要由FPGA构建RS232与USB之间的模块切换。由于FPGA可以并行处理,集成度低,能用资源非常丰富,所以利用FPGA展开数据处理,可以增加上位机的工作量,增加数据处理的时间,还可以延长设计周期,增大板卡体积,以便于构建到其他板卡上。 1控制系统及模块概述 1.1系统功能 在整个系统中,上位机可以动态对系统展开监控,并印发适当的命令。
智能仪器爆出的数据通过RS232模块传输到FPGA,FPGA根据上位机印发的命令对这些数据展开裁决、处置,然后经过USB模块上传授给上位机,再行由上位机对FPGA处置过的数据展开表明、存储等操作者。 1.2USB模块芯片概述 本设计使用的是CYPRESS半导体公司的EZUSBFX2系列芯片CY7C68013。CY7C68013是一款高性能USB2.0微控制器,它获取了全面的USB2.0外围设备解决方案。工作模式有Port,SlaveFIFO和GPIFMaster三种,本方案使用SlaveFIFO模式。
在该模式下,外部控制器(如FPGA)可像对普通FIFO一样对FX2中端点为2,4,6,8的数据缓冲区展开读书/写出。FX2嵌入的8051固件的功能只是配备SlaveFIFO涉及的寄存器,以及掌控FX2何时工作在SlaveFIFO模式下。一旦8051固件将涉及的寄存器配备完,且使自身工作在SlaveFIFO模式下后,外部逻辑(如FPGA)才可按照SlaveFIFO的传输时序,高速地与主机展开通信,而在通信过程中不必须8051固件的参予。
1.3RS232模块概述 RS232C标准(协议)的全称是EIARS232C标准。EIARS232C是用正负电压来回应逻辑状态的,与TTL以低低电平回应逻辑状态的规定有所不同。
因此,为了需要与计算机模块或终端的TTL器件相连,必需使EIARS232C与TTL电路之间展开电平和逻辑关系的转换。构建这种转换的方法能用分立元件,也能用集成电路芯片。该设计用的是MAX3232芯片。
RS232的数据传输格式如图1右图。 图1RS232标准的数据传输格式 RS232传输格式包括接续位(1b)、有效地数据位(8b)、奇偶校验位(0~2b)、暂停位(1b)。
传输线在空闲时为高电平,因此接续位为低电平,暂停位为高电平。 奇偶校验位可设置为奇校验、极校验或不校验,有效地数据位就是指低位开始传输。 2FPGA设计 2.1USB模块时序 在SlaveFIFO方式下,外部逻辑与FX2的相连信号如图2右图。
图2FX2Slave模式下模块管脚相连图 在SlaveFIFO模式下,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可以自由选择实时或异步读书/写出,在该设计中使用异步读书/写出。在异步SlaveFIFO写出时,时钟由FPGA获取。
数据在SLWR的每个有效地-违宪的跳变沿时被载入,FIFO写出指针递减。异步SlaveFIFO读书时,FIFO读指针在SLRD的每个有效地-违宪的跳变沿时递减以转变数据。
2.2FPGA程序设计 FPGA设计是整个系统的核心部分,由VHDL语言构建。FPGA构建了USB与RS232模块的切换、数据的处置、命令的传输等功能。
有了上面的模块时序,之后可以展开FPGA设计。FPGA部分的总体设计如图3右图。模块讲解: USB与FPGA模块模块:USB与FPGA之间的模块切换模块,主要功能为将USB模块传过来的信息内存到FPGA内部FIFO,并将由数据处理模块处置过的数据传授给USB芯片。
即产生掌控信号读书/写出USB芯片内部FIFO。可以由读/写出FIFO两个受限状态机构建。 以加载CY7C68013芯片内数据为事例,根据异步读USB内的FIFO时序图可分成4个状态:空闲态、自由选择地址态、打算读数据态、读数据态、加载后状态[6]。
在空闲态,当读事件再次发生时转入自由选择地址态;在自由选择地址态,使FIFOADR[1:0]指向OUTFIFO,转入打算读数据态;在打算读数据态,如FIFO空,在本状态等候,否则转入读数据态;在读数据态,使SLOE,SLRD有效地,从数据线上读数,再行使SLRD违宪,以递减FIFO读指针,再行使SLOE违宪,转入加载后状态;在加载后状态,如须要传输更好的数,转入打算读数据态,否则转入空闲态。 图3FPGA总体设计框图 USB数据内存模块:用来内存计算机发给智能仪器的指令等信息。是由FPGA芯片的IP核分解的先入再行出有存储器FIFO。
本文来源:环球体育app官方最新版下载安装-www.xsdown.com