基于FPGA的智能仪表的设计与实现

合集下载

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

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

基于FPGA的智能仪器远程控制系统设计目前智能仪器已广泛应用于科研和工业生产当中,但是许多仪器分散在不同的地理位置上,不易操作和维护,并且实时跟踪性能差,人为误差大,数据无法保存,另外大量高档仪表价格相当昂贵。

为解决上述难题,在计算机的提示下完成操作,可以减少人为因素造成的损坏,并提高测试数据的准确度。

由于智能仪器是RS 232 接口,上位机用的是USB 接口,所以还需由FPGA 实现RS232 与USB 之间的接口转换。

由于FPGA 可以并行处理,集成度高,可用资源丰富,所以利用FPGA 进行数据处理,可以减少上位机的工作量,减少数据处理的时间,还可以缩短设计周期,减小板卡体积,以便于集成到其他板卡上。

1 控制系统及接口简介1.1 系统功能在整个系统中,上位机可以实时对系统进行监控,并下发相应的命令。

智能仪器传出的数据通过RS 232 接口传送到FPGA,FPGA 根据上位机下发的命令对这些数据进行判决、处理,然后经过USB 接口上传给上位机,再由上位机对FPGA 处理过的数据进行显示、存储等操作。

1.2 USB 接口芯片简介本设计采用的是CYPRESS 半导体公司的EZ-USBFX2 系列芯片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 固件的参与。

基于FPGA的时间间隔测量仪的设计

基于FPGA的时间间隔测量仪的设计

基于FPGA的时间间隔测量仪的设计设计思路:1. 采集信号:FPGA通过引脚或者其他接口采集待测信号,并将其统一转化为数字信号进行处理。

2. 时钟同步:使用定时器或者PLL对采集到的信号进行时钟同步,以确保后续处理的准确性。

3. 脉冲宽度测量:利用FPGA的高速计数器进行脉冲宽度的测量。

通过计数器记录信号的上升沿和下降沿之间的时钟周期数,再根据时钟频率将其转化为时间。

4. 时间间隔测量:根据采集到的两个信号的上升沿或者下降沿的时间戳信息计算时间间隔,同样利用高速计数器完成。

其中,时间间隔是通过记录两个信号的上升沿或者下降沿之间累积的时间周期数来计算的。

5. 数据处理:将测量到的脉冲宽度和时间间隔信息进行数字信号处理,例如平均值、最大值、最小值、标准差等统计分析。

6. 结果显示:将处理后的结果通过数码管、LCD屏幕、计算机等方式进行显示,以方便用户观察和分析。

该设计中,FPGA作为核心处理器,具有高速计数器、PLL等硬件模块,可以提供高精度和高测量速率的能力。

相较于传统基于微处理器或者DSP的仪器,基于FPGA的时间间隔测量仪具有以下优点:1. 快速响应和高测量速率:FPGA具备并行计算的能力,可以同时处理多个信号,提供更高的测量速率。

2. 高精度测量结果:FPGA的高速计数器可以提供高精度的计数和测量能力,减小了测量误差。

3. 可编程性和可扩展性:FPGA具有可编程性,可以根据不同的应用场景进行定制和优化设计;同时也方便后期的新功能扩展。

在实际设计过程中,需要进行以下步骤:1. 硬件设计:包括FPGA的选择、电路连接、时钟同步、高速计数器等基本硬件模块的设计。

2. 软件编程:通过HDL语言进行FPGA的编程,实现采集、同步、计数和数据处理等功能。

3. 系统测试:对设计的时间间隔测量仪进行系统测试,验证其测量精度和稳定性等指标。

4. 优化和调试:根据测试结果进行优化和调试,提高测量精度和速率。

虽然基于FPGA的时间间隔测量仪具有很多优点,但也需要考虑以下问题:1. 成本:FPGA的成本相对较高,相较于传统的微处理器或者DSP方案成本较高。

基于fpga的智能温度控制系统的设计

基于fpga的智能温度控制系统的设计

基于fpga的智能温度控制系统的设计随着科技的发展,智能控制系统被广泛应用于工业领域和智能家居中,其中智能温度控制系统是其中的一种。

智能温度控制系统能够根据环境温度变化自动控制加热或制冷设备,从而保证环境温度始终在设定值范围内,提高生产效率和舒适度。

本文将介绍一种基于FPGA的智能温度控制系统设计方案。

1. 系统设计该系统由传感器、FPGA、驱动器以及显示器组成。

传感器用于检测环境温度变化,FPGA用于对传感器信号进行处理,驱动器用于控制加热或制冷设备,显示器用于显示系统状态。

系统设计流程如下:1.1 传感器传感器可以选择温度传感器、热敏电阻传感器或热电偶传感器等。

本系统选用温度传感器,将传感器输出的模拟信号转化为FPGA可读的数字信号,从而实现数字信号化。

1.2 数字信号化将模拟信号数字化是实现控制系统的关键所在。

数字信号化是通过模数转换器(ADC)将模拟信号转化为数字信号的过程。

本系统将模拟信号转化为12位数字信号。

1.3 FPGA处理FPGA芯片(Field-Programmable Gate Array)是一种可编程逻辑器件,它能够快速地对数字信号进行处理。

FPGA芯片是本系统的核心处理器,它被用来对传感器信号进行处理,根据环境温度的变化决定加热还是制冷,从而保持环境温度在设定范围内。

具体的处理流程如下:(1)读取温度传感器数据。

(2)将传感器输出的模拟信号转变为数字信号。

(3)将数字信号与设定的环境温度范围进行比较,以决定是否需要进行加热或制冷。

(4)对加热或制冷设备进行控制。

1.4 驱动器设计由于加热或制冷设备的控制电源电平和FPGA的电平不一致,需要通过驱动器进行转换。

本系统使用驱动器将FPGA输出的信号转化成能够控制加热或制冷设备的继电器信号。

1.5 显示器设计本系统使用7段LED数码管作为显示器,用于显示当前环境温度以及系统状态。

系统状态包括温度过高、温度过低、正常等状态,以告知用户系统运行情况。

基于FPGA的智能仪表的设计与实现

基于FPGA的智能仪表的设计与实现

收稿日期:2009-09-16作者简介:黄 森(1983),男,河南人,硕士,研究方向为检测与控制,FPG A 设计。

基于FPGA 的智能仪表的设计与实现黄 森1,石红瑞1,张 健2(11东华大学信息科学与技术学院,上海201620;21泰安天然气公司,山东泰安271000) 摘要:介绍了用FPG A 实现单芯片智能仪表的设计方案及其软硬件实现。

采用Actel 公司Fu 2si on 系列的AFS600,使用模糊自整定P I D 控制策略,运用Veril og HDL 语言编程实现数据的采集及处理,同时实现LCD 状态显示,并利用串口通信实现上位机监控。

以温度为测试对象表明,在智能仪表控制下,被控参数温度能够得到有效控制,同时监控设备能够实时反映变化过程。

关键词:智能仪表;Actel;现场可编程门阵列(FPG A );模糊自整定P I D 中图分类号:TP216 文献标志码:A 文章编号:1000-0682(2010)02-0056-04D esi gn and i m plem en t a ti on of an i n telli gen t i n stru m en t ba sed on FPGAHUANG Sen 1,SH I Hongrui 1,ZHANG J ian2(11College of Infor m ation Science &Technology,D onghua U niversity,Shanghai 201620,China;21Tai ′an N atural Gas Co m pany,Shandong Tai ′an 27100,China ) Abstract:A sche me of a single -chi p intelligent instrument based on the field p r ogra mmable gate array (FPG A )was designed 1The hard ware and s oft w are i m p le mentati ons of it were given in this paper 1The Actel Fusi on AFS600FPG A chi p was adap ted,and fuzzy self -tuning P I D contr ol strategy was de 2vel oped 1The acquisiti on and p r ocessing of the p r ocess variables were p r ogra mmed with Veril og HDL 1Mean while,a LCD screen was utilized f or status dis p lay and the communicati on via serial port was used f or monit oring on the host computer 1The intelligent instrument was app lied on the contr ol of te mperature p r ocess 1The experi m ent results showed that the te mperature was effectively contr olled,and the contr ol p r ocess was monit ored by the upper computer 1Key words:intelligent instrument;Actel;field p r ogra mmable gate array (FPG A );fuzzy self -tuning P I D0 引言 随着微电子与计算机技术的飞速发展及电子产品市场的迅速变化,设计与制造集成电路的任务已倾向于独立设计专用集成电路(ASI C )来完成[1]。

基于FPGA实现的数字化车用仪表

基于FPGA实现的数字化车用仪表

基于FPGA实现的数字化车用仪表作者:徐飞来源:《现代电子技术》2008年第02期摘要:提出采用步进电机作为机芯表头,利用FPGA器件作为控制器,设计并实现车速、发动机转速、水温、油位、里程指示的新型全数字化车用仪表系统。

给出车速检测模块、转速检测模块、水温检测模块、油位检测模块、FPGA控制模块、步进电机驱动模块、里程指示模块和系统电源模块等电路的详细设计。

关键词:传感器;V/F转换;光电隔离;FPGA;步进电机中图分类号:TP368.1 文献标识码:B 文章编号:1004-373X(2008)02-185-04FPGA-Abstract:A new model numerical instrument system on vehicle is discussed.It includes step motro which can be used to core and FPGA controller.This system can measure and show speed,rotate speed of motor,temperature of water,position of oil,mileage and so on.The paper designs circuits and in detail,including speed check module,rotate check module,water temperature check module,oil level check module,FPGA controller module,stepper motor drive module,odometer show module andKeywords:sensor;V/F shifter;photolectric isolation;FPGA;step motor1 引言车辆仪表是驾驶员与汽车进行信息交流的重要接口和界面,是车辆安全行驶的重要保证。

基于FPGA的电子表设计与实现

基于FPGA的电子表设计与实现

安康学院FPGA/SOPC设计报告书课题名称:基于FPGA的电子表设计与实现姓名:刘玲学号:0828024057院系:电子与信息工程系专业:电子信息工程指导教师:王庆春崔智军时间:2011年6月12日-7月10日设计项目成绩评定表设计报告书目录一、设计目的 (1)二、设计原理 (1)2.1、时、分、秒计时器 (1)2.2、校时电路 (2)三、设计过程 (2)3.1、整个系统设计框图 (2)3.2、各模块电路设计 (3)五、课程设计体会与收获 (7)六、设计问题及问题解决 (7)七、参考文献 (8)附录 (8)一、设计目的1、熟悉数字集成电路的引脚安排。

2、掌握EDA芯片的逻辑功能及使用方法。

3、了解Quartus软件的应用。

4、掌握在Quartus环境下VHDL代码仿真的实现。

5、了解数字电子表的功能工作模块及工作原理。

二、设计原理数字时钟电路由秒、分、时5个计数模块和6个显示译码模块组成。

秒计数模块的计数时钟clk为1Hz的标准信号。

当数字钟处于正常计时状态时,秒计数器的进位输出信号c作为分钟模块的计数信号,分计数模块的进位输出c为小时模块的计数信号。

数字钟除了正常计时外,还能够调整时间。

在本文中,通过手动调节din的3个输入量的高低电平而分别实现对秒、分、时的调整。

2.1、时、分、秒计时器时计时器为一个24进制计数器,分、秒计时器均为60进制计数器。

当秒计时器接受到一个秒脉冲时,秒计数器开始从1计数到60,此时秒显示器将显示00、01、02、...、59、00;每当秒计数器数到00时,就会产生一个脉冲输出送至分计时器,此时分计数器数值在原有基础上加1,其显示器将显示00、01、02、...、59、00;每当分计数器数到00时,就会产生一个脉冲输出送至时计时器,此时时计数器数值在原有基础上加1,其显示器将显示00、01、02、...、23、00。

即当数字钟运行到23点59分59秒时,当秒计时器在接受一个秒脉冲,数字钟将自动显示00点00分00秒。

基于FPGA逻辑分析仪的设计

基于FPGA逻辑分析仪的设计摘要本文介绍了一种基于FPGA(Field-Programmable Gate Array)的逻辑分析仪的设计。

逻辑分析仪是一种用于分析和调试数字信号的仪器。

设计中采用了FPGA作为核心逻辑芯片,实现了高速采集和处理数字信号的功能。

通过对比传统逻辑分析仪和FPGA逻辑分析仪的性能和优缺点,说明了该设计的重要性和实用性。

引言逻辑分析仪是一种非常重要的测试和调试工具,用于诊断数字信号的问题。

传统的逻辑分析仪采用SRAM作为存储原件,存储容量非常有限,难以满足现代数字系统复杂性的测试需要。

FPGA逻辑分析仪则采用FPGA芯片作为逻辑处理器,在实现高速采集和处理数字信号的同时,具有更高的存储容量和更快的测试速度,能够有效应对现代数字系统的测试需求。

FPGA逻辑分析仪的设计系统框图概述FPGA逻辑分析仪的系统框图如图1所示。

_________________| || FPGA逻辑 || 核心 ||_________________|||||PC信号采集 ||________||_________| || 数字信号采集模块 ||____________________|图1 FPGA逻辑分析仪系统框图FPGA逻辑处理器设计FPGA逻辑处理器需要具备高速采集和处理数字信号的能力。

设计中采用高速ADC(Analog-to-Digital Converter)进行信号采集,经过FPGA逻辑核心的处理之后,将数据传输至PC上进行分析和显示。

信号采集采用高速ADC进行数字信号采集,通过电缆连接至FPGA芯片,利用芯片内部的高速I/O口,实现数字信号采集与处理。

FPGA逻辑处理采用Verilog进行FPGA逻辑处理器设计,将逻辑核心分为两部分:一部分负责ADC信号采集,另一部分负责信号处理和转换。

其中,采集部分采用FPGA内置模块实现,处理部分采用自行设计的模块,实现对数字信号的快速处理和转换。

fpga秒表设计实验报告

fpga秒表设计实验报告本次实验是基于FPGA设计的秒表。

秒表主要是用来计时的一种仪器,具有精准度高、显示清晰等优点。

在实验中,我们使用FPGA来实现秒表的设计。

1. 实验目的通过本次实验,我们的目的是掌握FPGA的使用方法,并设计出一个能够精准计时的秒表。

同时,也能够加深理解数字电路的基本原理和数字信号的处理方式。

2. 实验原理秒表的原理很简单,在起点按下计时键后,秒表开始计时,时间会显示在数码管或LCD屏幕上。

在终点按下停止键后,秒表停止计时。

我们需要用数字电路来实现这个过程,分为三个部分。

2.1. 时钟模块时钟模块是秒表实现的基础。

我们可以使用FPGA内置的时钟控制器IP,也可以自己实现时钟模块。

在这个实验中,我们使用了FPGA内置的时钟控制器IP。

2.2. 计时模块计时模块是实现秒表的关键。

我们可以使用FPGA内置的计数器IP,也可以自己实现计数器模块。

在这个实验中,我们使用了FPGA内置的计数器模块。

2.3. 显示模块显示模块用来显示计时结果。

我们可以使用数码管或LCD屏幕来显示计时结果。

在这个实验中,我们使用了数码管来显示计时结果。

3. 实验步骤3.1. 创建工程首先,我们需要在Vivado IDE中创建一个FPGA工程。

在创建工程时,需要选择适当的设备型号、板卡等参数。

3.2. 添加时钟控制器IP在Vivado IDE中,选择IP Catalog,搜索并添加时钟控制器IP。

3.3. 添加计数器IP在Vivado IDE中,选择IP Catalog,搜索并添加计数器IP。

3.4. 添加数码管IP在Vivado IDE中,选择IP Catalog,搜索并添加数码管IP。

3.5. 连接IP在Vivado IDE中,将时钟控制器IP、计数器IP和数码管IP进行连接。

3.6. 程序设计使用Vivado IDE中的HDL语言对秒表进行程序设计。

3.7. 烧录程序将程序烧录到FPGA中,实现秒表功能。

基于FPGA的智能仪表的设计与实现


5 6・
工业仪表与 自动化装置
21 0 0年第 2期
基 于 F GA 的 智 能仪 表 的设 计 与 实现 P
黄 森 石红瑞 张 健 , ,
( .东华 大学 信 息科 学与技 术 学院 , 1 上海 2 12 ;.泰安 天然 气公 司 , 0602 山东 泰 安 2 10 ) 700 摘 要 : 绍 了用 F G 实现单 芯 片智能仪表 的设计 方案及 其软 硬件 实现 。采 用 A tl 司 F- 介 PA c 公 e u
p o e swa o io e y t e u p rc mp t r r c s sm n tr d b h p e o u e .
K yw r sit l e tnt m n ; ce;e r rm a l gt ar F G ;uz l—t i e od : e i n is etA t f l po a m be a r y( P A) fzys f u n n lg r u li d g e a e n g
ary( P A)w sds n d h a w r adsf aei pe na oso eeg e i p pr r a FG a ei e .T eh r ae n o w r l g d t m met i ft r i ni t s a e. tn iw v n h
p o e s h x e me tr s l h w d t a h e e au e w s efc iey c nr l d,a d te c n r l r c s .T e e p r n e u t s o e h tt e tmp r t r a f t l o t l i s e v oe n h o t o
Th tlF so S 0 eAc e u in AF 6 0 FPGA h p wa d p e c i sa a t d,a d f z y s l n u z ef—t n n I c n r lsr tg s d - u i g P D o to ta e y wa e v lp d e o e .Th c u sto n r c s i g o h p o e s v ra l s we e p o rmme t rlg HDL e a q iiin a d p o e sn f te r c s a b e r r g a i d wih Ve io Me n ie,a LCD c e n wa tl e o t t sd s ly a d t o a wh l s re su ii d f rsa u ip a n he c mmunc to i e a o twa s d z iain va s r lp r su e i o n t i g o h o tc mp tr frmo i rn n t e h s o u e .Th ne l e ti sr me twa p le n t o to ftmp r t r o e it l g n n tu n s a p id o hec nr lo e e au e i

基于FPGA的测控系统设计与实现

基于FPGA的测控系统设计与实现一、引言随着科技的发展,现代工程领域对于高精度、高速度、高可靠性的测控设备的需求也越来越大。

其中,基于FPGA的测控系统具有极高的灵活性和可扩展性,能够满足不同领域的测控需求。

本文将介绍基于FPGA的测控系统设计与实现,主要包括系统架构、硬件设计、软件编程等方面。

二、系统架构设计基于FPGA的测控系统一般由FPGA芯片、外设模块、存储设备和通信接口等部分组成。

其中,FPGA芯片作为核心部分,负责控制整个系统的运行。

外设模块提供不同功能的接口,如模拟采集、数字转换、时钟输入、GPIO等。

存储设备用于存储测量数据和程序代码。

在系统架构设计时,需要根据实际需求选择适合的外设模块和通信接口,以及合适的存储设备。

此外,还需要考虑不同模块之间的数据传输和控制信号,确定系统的总体布局和数据流图。

三、硬件设计基于FPGA的测控系统的硬件设计主要包括电路原理图设计、PCB设计和硬件调试等部分。

在电路原理图设计时,需要根据系统架构设计绘制不同模块的电路图,并考虑电路参数的选择和优化。

在PCB设计时,需要将电路原理图转化为布局图和线路图,并按照标准的PCB设计流程进行布线、加强电路抗干扰性、防止电磁辐射等操作。

在硬件调试过程中,需要用示波器、万用表等工具对电路进行调试和测试,确保电路稳定运行。

四、软件编程基于FPGA的测控系统的软件编程主要包括FPGA芯片的Verilog/VHDL编程、上位机程序的编写等内容。

在FPGA芯片的Verilog/VHDL编程中,需要根据不同外设模块的接口来编写对应的硬件描述语言代码,如时钟控制、数据输入输出、状态控制等。

在上位机程序编写中,需要使用不同编程语言(如C/C++、Python等)来编写程序,实现与FPGA芯片的通信、测控算法的实现、数据可视化等功能。

五、系统应用与实现基于FPGA的测控系统应用广泛,如测量、控制、自动化、通信等领域。

在实际应用中,需要根据具体的应用场景和需求来设计相应的测控系统,并进行相关智能算法的设计和调试。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

收稿日期:2009-09-16作者简介:黄 森(1983),男,河南人,硕士,研究方向为检测与控制,FPG A 设计。

基于FPGA 的智能仪表的设计与实现黄 森1,石红瑞1,张 健2(11东华大学信息科学与技术学院,上海201620;21泰安天然气公司,山东泰安271000) 摘要:介绍了用FPG A 实现单芯片智能仪表的设计方案及其软硬件实现。

采用Actel 公司Fu 2si on 系列的AFS600,使用模糊自整定P I D 控制策略,运用Veril og HDL 语言编程实现数据的采集及处理,同时实现LCD 状态显示,并利用串口通信实现上位机监控。

以温度为测试对象表明,在智能仪表控制下,被控参数温度能够得到有效控制,同时监控设备能够实时反映变化过程。

关键词:智能仪表;Actel;现场可编程门阵列(FPG A );模糊自整定P I D 中图分类号:TP216 文献标志码:A 文章编号:1000-0682(2010)02-0056-04D esi gn and i m plem en t a ti on of an i n telli gen t i n stru m en t ba sed on FPGAHUANG Sen 1,SH I Hongrui 1,ZHANG J ian2(11College of Infor m ation Science &Technology,D onghua U niversity,Shanghai 201620,China;21Tai ′an N atural Gas Co m pany,Shandong Tai ′an 27100,China ) Abstract:A sche me of a single -chi p intelligent instrument based on the field p r ogra mmable gate array (FPG A )was designed 1The hard ware and s oft w are i m p le mentati ons of it were given in this paper 1The Actel Fusi on AFS600FPG A chi p was adap ted,and fuzzy self -tuning P I D contr ol strategy was de 2vel oped 1The acquisiti on and p r ocessing of the p r ocess variables were p r ogra mmed with Veril og HDL 1Mean while,a LCD screen was utilized f or status dis p lay and the communicati on via serial port was used f or monit oring on the host computer 1The intelligent instrument was app lied on the contr ol of te mperature p r ocess 1The experi m ent results showed that the te mperature was effectively contr olled,and the contr ol p r ocess was monit ored by the upper computer 1Key words:intelligent instrument;Actel;field p r ogra mmable gate array (FPG A );fuzzy self -tuning P I D0 引言 随着微电子与计算机技术的飞速发展及电子产品市场的迅速变化,设计与制造集成电路的任务已倾向于独立设计专用集成电路(ASI C )来完成[1]。

FP 2G A (Field Pr ogra mmable Gate A rray )现场可编程门阵列是在P AL 、G AL 、CP LD 等可编程器件的基础上进一步发展的产物,是作为ASI C 领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

其采用了逻辑单元阵列LCA (Logic Cell A rray )这样一个新概念,内部包括可配置逻辑模块CLB (Configurable Logic B l ock )、输出输入模块I O B (I nput Out put B l ock )和内部连线(I nterconnect )3个部分,是小批量系统提高系统集成度、可靠性的最佳选择之一[2]。

该文采用美国Actel 公司推出的Fusi on StartKit 开发平台设计基于FPG A 的智能仪表,采用模糊自整定P I D 控制并设计与实现相关外设,形成完整的智能仪表。

1 开发平台Fusi on St artK it 及设计环境介绍 Fusi on StartKit 是基于美国Actel 公司的Fusi on 混合信号FPG A 而设计的开发平台,核心芯片采用Actel 公司Fusi on 系列60万门的AFS600,该系列是世界上首个混合信号FPG A,在第三代Flash 架构的FPG A ———Pr oASI C3基础上,将模拟的AD 、RC 振荡器、模拟I/O 、RT C 等融入到数字的FPG A 中,为实现真正的S OC 提供特有的解决方案。

具体硬件资源有:12位分辨率、600kbp s 采样率的30个输入通道,2156V 内部参考源的AD;30个模拟的输入I/O,可以承受±12V 输入电压,并有10个MOSFET门驱动输出,驱动能力可调;100MHz 、精度为%1的RC 振荡器;4Mbit 的用户可用的Flash Me mory 、1kbit 的FlashROM 、108kbit 的RAM;16×2的液晶;321768kHz 以及48MHz 晶振;4个可用的RS232串口接口;5个按键;8个LED 。

相关资源丰富,完全能够实现智能仪表所需的监控功能,使高效电子产品设计成为可能。

2 智能仪表的硬件设计 智能仪表主要由输入输出、智能控制、监控、报警、通信5大模块组成。

输入输出模块:根据传感器获得的电压信号,采用12位逐次逼近型ADC 对采样信号进行A /D 转换,从而获得原始数据。

采用P WM 控制信号输出。

智能控制模块:根据设定值对被控对象进行模糊自整定P I D 控制。

监控模块:通过LCD (1602)显示屏,采用8位2行5×7点阵显示被控参数实际值与设定值。

通过按键对控制参数进行更改,同时通过按键切换显示报警阈值并通过按键对其进行更改。

报警模块:当被控参数达到报警条件时蜂鸣器产生蜂鸣,同时采用不同的LE D 灯显示高报状态或低报状态。

通信模块:采用串口方式与上位机监控程序进行实时通信。

智能仪表硬件框图如图1所示。

图1 智能仪表硬件框图3 智能仪表的软件设计 该文利用Actel 公司的Fusi on 开发平台配套的L iber o813软件开发环境,运用Veril og HDL 语言编程进行智能仪表的软件设计。

根据智能仪表的功图2 智能仪表顶层原理图能,其顶层原理如图2所示。

311 输入输出模块 仪表采用12位逐次逼近型ADC 对控制信号进行采样以获得原始数据。

编写A /D 转换模块E _adc 完成数模转换。

在此模块中,首先配置AC M 寄存器以定义监控对象在AC M 中的配置寄存器地址,以及在AC M 中的配置数据从而确定以12位逐次逼近型进行A /D 转换。

而后编写ADC 状态机,从而实现A /D 转换[4]。

编写E_pwm 模块对输出进行转换从而驱动执行机构控制被控对象。

312 监控模块 仪表可实现现场监控功能。

控制方面采用按键实现系统复位、设定值更改、报警上下限更改、状态切换等功能。

此功能通过编写E_keyboard 模块实现。

由于按键接触部分的干扰,该模块加入了按键消抖程序,通过3个移位寄存器来实现,提高了操作的准确性。

监视方面采用1602LCD 液晶屏进行实时值与设定值的显示。

显示模式采用8位2行5×7点阵,上行显示被控参数实际值,保留两位小数;下行显示设定值,只显示整数。

同时通过按键切换,可以显示报警阈值,上行显示报警上限值,下行显示报警下限值,均为整数。

此功能通过编写E_asc2lcd 模块与E_lcd 模块实现。

由于获得的实际值与设定值是十六进制数,而1602LCD 需送入所显示内容的ASC II 码,故编写E_asc2lcd 模块完成十六进制数到ASC II 码的转换,其输出送入E_lcd 模块,根据其状态机的配置实现实际值与设定值在LCD 液晶屏上的实时显示。

313 智能控制模块 该模块是智能仪表的核心。

采用模糊自整定P I D 算法对被控对象进行控制从而达到理想输出,而P I D 算法采用增量式P I D 算法。

该智能控制功能由E_fuzzy 模块和E_p id 模块共同实现。

模糊自整定P I D 控制器原理如图3所示。

图3 模糊自整定P I D 控制器结构图 图3虚线部分即为智能控制模块,其中模糊逻辑处理器由E_fuzzy 模块实现。

首先采用离线计算的方法获得K P 、K I 、K D 值的输出表,而后编写程序,在e 与ec 的不同情况下获得不同的K P 、K I 、K D 值,送给增量式P I D 控制器进行计算以获得控制量。

利用离线计算方法取得的控制表来代替模糊化运算、模糊推理和精确计算等一系列复杂工作,使FPG A 仅仅采用查表法获得输出,从而降低了编程难度,同时也提高了运算效率[4]。

P I D 控制器最基本的是位置式控制算法,其离散形式为:u (k )=K p e (k )+T T I ∑kj =0e (j )+T D T[e (k )-e (k -1)] 但由于上述位置式P I D 控制算法每次输出需要进行大量计算,增大了处理器存储和运算的工作量,故对其进行改进,将相邻两个时刻的控制输出相减,获得输出量绝对值之差,进而根据此差值进行控制,称为增量式P I D 控制算法,其离散型式为:Δu (k )=u (k )-u (k -1)=K P [e (k )-e (k -1)]+K I e (k )+K D [e (k )-2e (k -1)+e (k -2)]式中,K P 为比例增益;K I =K P T /T I 为积分系数;K D =K P T D /T 为微分常数[5]。

相关文档
最新文档