0 引言
湿度与人类的生存和社会活动密切相关。湿度检测、控制、报警等被广泛应用于各种场合,如军事、气象、农业、工业、医疗、建筑以及家用电器等方面。
本文利用FPGA器件与HS1101湿度传感器设计实现了一种简易的数字湿度计,用于检测室内湿度,它具有结构简单、测量准确性高、稳定性好等优点。
1 硬件电路设计
数字湿度计硬件电路图如图1所示,由湿度检测电路、AD转换电路、FPGA电路板等组成。其中湿度检测电路采用HS1101湿度传感器用于检测室内湿度。该传感器具有性价比高、体积小、精度高、响应速度快等优点,广泛应用于仪表、空调、除湿机、加湿机、仓储、气象以及工业自动化等领域。HS1101湿度传感器是一种利用电容原理检测的湿度传感器,相对湿度的变化和电容值呈线性规律,在检测中,电容值随着空气湿度的变化而变化。
因此,本文利用将电容值的变化转换成电压的变化,然后利用AD转换芯片ADC0804和FPGA器件进行数据采集。
2 软件程序设计
根据系统的设计要求,将程序部分设计分为四个模块,包括分频模块、AD转换模块、数据转换模块、显示译码模块。采用OuartusII开发平台和VHDL语言完成程序设计。
2.1 分频模块
分频电路是FPGA设计中使用频率非常高的基本单元之一。本设计的分频电路简单方便、节约资源、可移置性强、便于系统升级,同时在以后的FPGA设计中也有很大的应用空间。图2分频模块中是将50MHz时钟信号分频为2kHz的频率。
2.2 AD转换模块
AD转换模块如图3所示。从分频模块的输出端口clk 2k输出2kHz到AD转换模块的clock端口作为时钟频率信号;intr为中断信号;input data[7..0]为湿度数据输入端口,由湿度传感器检测的模拟信号,通过AD电路转换为数字信号传给inputdata[7..0]端口;cs是片选输出端口,writeout是写输出端口,readout是读输出端口,分别对应ADC0804的片选/CS、读控制/RD、写控制/WR的引脚;dataout[7..0]为数据输出端口。
图4为AD转换模块仿真图,当复位键reset为0时,输入数据为62时,输出数据为0;当复位键reset为1时,输入数据为28时,输出数据为28。
[page]
2.3 数据转换模块
数据转换模块是将AD转换后的数据(高4位,低4位)通过查表的方式,用BCD码形式来表示。ADC0804的基准电压为5V时,由于ADC0804是8位的AD转换器,因此最小电压准位是5/256=0.02V,利用湿度检测电路将1%RH改变对应0.02V电压变化。数据转换模块如图5所示。
如果输入AD转换后数据为0010 0011,通过查表可得high为00110010,low为00000011,再将得到的数据进行加法操作处理,得到输出湿度为35%RH,如图6所示。
2.4 显示译码模块
采用共阴数码管,当某一字段的阳极为高电平时,相应字段就点亮;当某一字段的阳极为低电平时,相应字段就不亮。显示译码模块如图7所示。
显示译码模块仿真图如下图8。输入为0,输出为01111111,数码管显示的是0;若输入为1,输出为00000110,则数码管显示的是1。
2.5 整体框图
整体框图如图9所示,共有四个模块组成。其中显示译码模块调用了两个。
3 结束语
利用FPGA器件与HS1101湿度传感器设计实现了一种简易的数字湿度计,用于检测室内湿度。采用QuartusII开发平台和VHDL语言完成程序设计,通过仿真验证和下载验证,证明实现的湿度计具有结构简单、测量准确性高、稳定性好等优点。
关键字:湿度 湿度传感器 VHDL FPGA
引用地址:
基于VHDL的数字湿度计研究
推荐阅读最新更新时间:2024-05-02 22:39
FPGA的发展该走向何方
1984年,Ross Freeman与同事共同创立了赛灵思公司,并推出了世界上第一颗真正意义上的FPGA芯片XC2064,一个全新的行业就此诞生。 2020年,历经36年发展的赛灵思公司早已成为硅谷中的明星公司,FPGA行业也今非昔比。5G、AI为这个行业带来了难得的机会,广阔的发展空间就在眼前,但是领头者赛灵思公司却突然陷入了收购的传闻中。人们不禁会发问,独立的FPGA已经走向终结了吗? 隐忧 收购传闻的主角之一AMD公司,在杰出的女性CEO Lisa Su的带领下,已经走出了昔日的泥潭,迈入了自己的黄金时期。收购赛灵思,将给AMD增加一个重要的筹码,为同老对手Intel、NVIDIA在后续的较量中积蓄能量。
[嵌入式]
基于FPGA的核物理实验定标器的设计与实现
摘要:介绍使用现代EDA手段设计核物理实验常用仪器——定标器的原理和实现方法。新的定标器利用FPGA技术对系统中大量电路进行集成,结合AT89C51单片机进行控制和处理,并增加数据存储功能和RS232接口,实现与PC机通信,进行实验数据处理。本文给出详细新定标器设计原理图和FPGA具体设计方案。
关键词:G-M计数器 定标器 现场可编程逻辑门阵列器件(FPGA)
定标器在大学实验中有很广泛的应用,其中近代物理实验中的核物理实验里就有2个实验(G-M计数管和β吸收)要用到高压电源和定标器,
而目前现有的设备一般使用的是分立元器件,已严重老化,高压极不稳定,维护也较为困难;另一方面在许多常用功能上明显欠缺,使得学生的实验课难以
[半导体设计/制造]
FPGA全局时钟资源相关原语及使用
FPGA全局时钟资源一般使用全铜层工艺实现,并设计了专用时钟缓冲与驱动结构,从而使全局时钟到达芯片内部的所有可配置单元(CLB)、I/O单元(IOB)和选择性块RAM(Block Select RAM)的时延和抖动都为最小。为了适应复杂设计的需要,Xilinx的FPGA中集成的专用时钟资源与数字延迟锁相环(DLL)的数目不断增加,最新的Virtex II器件最多可以提供16个全局时钟输入端口和8个数字时钟管理模块(DCM)。 与全局时钟资源相关的原语常用的与全局时钟资源相关的Xilinx器件原语包括:IBUFG、IBUFGDS、BUFG、BUFGP、BUFGCE、BUFGMUX、BUFGDLL和DCM等。 1. IBUFG即输
[嵌入式]
莱迪思FPGA助力奥视威电子最新的演播室监视器设计
莱迪思FPGA助力奥视威电子最新的演播室监视器设计 中国上海——2023年3月7日—— 莱迪思半导体公司,低功耗可编程器件的领先供应商,今日宣布奥视威电子科技股份有限公司(SWIT)选择莱迪思FPGA为其最新的演播室监视器提供互连、视频和成像功能。 SWIT演播室监视器集成了莱迪思FPGA的低功耗、高性能和灵活的视频互连功能,拥有超高亮HDR、阳光直射可监看、快速放大和平移、直方图以及丰富的接口等特性,为演播监控提供独特优势。 SWIT副总裁喻金华先生 表示:“为我们的每款产品选择最佳的元件对于保持我们的行业领先地位以及确保我们的客户开发他们所需的功能集至关重要。我们很高兴能与莱迪思合作,将他们的FPGA集成到我们的监视器
[嵌入式]
技术文章—使用高速NOR闪存配置FPGA
NOR闪存已作为FPGA(现场可编程门列阵)的配置器件被广泛部署。其为FPGA带来的低延迟和高数据吞吐量特性使得FPGA在工业、通信和汽车ADAS(高级驾驶辅助系统)等应用中得到广泛采用。汽车场景中摄像头系统的快速启动时间要求就是很好的一个例子——车辆启动后后视图像在仪表板显示屏上的显示速度是最为突出的设计挑战。 上电后,FPGA立即加载存储于NOR器件中的配置比特流。传输完成后,FPGA转换为活动(已配置)状态。FPGA包括许多配置接口选项,通常包括并行NOR总线和串行外设接口(SPI)总线。支持这些总线的存储器在不同厂商的产品之间总是存在微小的不兼容性,增添了采购多款存储器件的困难程度。 全新发布的JEDEC xSPI
[汽车电子]
继续深耕28nm FD-SOI,莱迪思推出CertusPro-NX
日前,莱迪思宣布Nexus平台第四款产品CertusPro-NX。莱迪思在 Nexus 平台上开发通用 FPGA 已有 18 个月了。2019年,当莱迪思宣布推出采用28nm FD-SOI的Nexus平台时,低功耗FPGA进入了一个新时代。在之后的18个月中,莱迪思一直严格执行着之前所提出的发展路线图,陆续推出了Nexus平台的嵌入式视觉用FPGA CrossLink-NX、通用FPGA Certus-NX 、安全FPGA Mach-NX以及如今的第二代通用FPGA CertusPro-NX。 CertusPro-NX与同类FPGA相比,不仅功耗效率得到大幅提高,还在最小的封装尺寸中提供了最高带宽,且是同类产品中唯一支持LPD
[嵌入式]
FPGA基互联网系统的设计
信息高速公路增长迅猛,变化迅速,并遇到了严峻挑战。互联风基础结构市场上的激烈竞争,使产品日见复杂,而开发窗口又越来越窄。更为甚者,网络系统开发才必须遵守种种不断发展变化垢标准和协议。在这种严峻的市场条件下,难怪实现可编程硬件会受到互联网基础结构设计者的欢迎。目前的现场可编程门阵列(FPGA)和可编程逻辑器件(PLD),结构上达到数百万门,可支持极为复杂的系统设计。在蓬勃发展中的互联网市场上,热衷于提供服务的PLD厂商又不断地丰富着预定义的组网和通信系统库。
这些预先存在的设计内容,加上有现货的现场可编程器件,将传统的定制集成电路开发周期缩短数月之多。对于组网与互联网支持提供者,可编程性有另一重大优点:
[应用]
STM32单片机SPI总线与FPGA的通信设计
最近在研究SPI总线,至于协议和硬件描述就不多说了 四线包括时钟、片选、接收、发送 初始化SP SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; //全双工 SPI_InitStructure.SPI_Mode = SPI_Mode_Master; //主模式 SPI_InitStructure.SPI_DataSize = SPI_DataSize_16b; //16bit宽度 SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low; SPI_InitStructure.SPI_CPHA = SPI_CPHA_2E
[单片机]