基于 FPGA 读取 AHT10 温湿度数据及 OLED 显示详细工程

目录

  • 一、前言
    • 1.1 开发环境
    • 1.2 功能阐述
    • 1.3 器件解析
  • 二、系统设计
    • 2.1 模块设计
    • 2.2 状态机设计
    • 2.3 代码实现
  • 三、验证分析

一、前言

1.1 开发环境

  • FPGA开发板参数:
    型号:EP4CE6F17C8
    器件库:Cyclone IV
  • AHT10
    基于 FPGA 读取 AHT10 温湿度数据及 OLED 显示详细工程_第1张图片
  • OLED 器件参数:
    0.96寸
    分辨率128×64
    I2C协议
    芯片SSD1306
    基于 FPGA 读取 AHT10 温湿度数据及 OLED 显示详细工程_第2张图片

1.2 功能阐述

  • 温度值需要以十进制形式的摄氏温度显示在 OLED 屏,并且保留两位小
    数,显示形式如 xx.xx℃
  • 湿度值需要以百分数的形式显示显示在 OLED 屏,并且保留两位小数,
    显示形式如:xx.xx%
  • 可以使用串口将温湿度值打印到上位机界面显示,以 ASCII 码的形式显
    示为 xx.xx℃
  • 可以在数码管上显示时间,如 xx:xx:xx
  • 当温度值或湿度值超过设定的界限时,控制蜂鸣器报警
  • 可以使用按键设置温、湿度报警界限

1.3 器件解析

这是我根据厂家提供的手册写的总结笔记,不是特别详细,但是可以参考一下

  • aht10 解析手册:https://pan.baidu.com/s/1AaiJc69zr2vRefLnBJHXNQ?pwd=hb90
    提取码:hb90
  • oled 解析手册:https://pan.baidu.com/s/1D8KgQbPr36oMiK326GvCYw?pwd=yc3b
    提取码:yc3b

二、系统设计

2.1 模块设计

  • 工程模块说明书:https://pan.baidu.com/s/1Dw-qiLsP3E89kWcRGwQ0QQ?pwd=4cdo
    提取码:4cdo
  • 系统模块框图(看不太清楚没事,工程模块说明书有每一部分的详细介绍以及端口信号解释)
    基于 FPGA 读取 AHT10 温湿度数据及 OLED 显示详细工程_第3张图片
  • 模块层次结构
    基于 FPGA 读取 AHT10 温湿度数据及 OLED 显示详细工程_第4张图片

2.2 状态机设计

  • 状态转移说明书:https://pan.baidu.com/s/1x1nFaCCGgPedIZIgJWJ70g?pwd=zztz
    提取码:zztz
  • aht10部分状态机
    基于 FPGA 读取 AHT10 温湿度数据及 OLED 显示详细工程_第5张图片
  • oled部分状态机
    基于 FPGA 读取 AHT10 温湿度数据及 OLED 显示详细工程_第6张图片
  • extras额外器件部分状态机
    基于 FPGA 读取 AHT10 温湿度数据及 OLED 显示详细工程_第7张图片

2.3 代码实现

  • 工程文件:https://pan.baidu.com/s/1eXbAeH29dY2kwKJySTNdpA?pwd=lazt
    提取码:lazt
  • prj 文件夹下的 pin.tcl 脚本中就是管教配置表
    基于 FPGA 读取 AHT10 温湿度数据及 OLED 显示详细工程_第8张图片
    基于 FPGA 读取 AHT10 温湿度数据及 OLED 显示详细工程_第9张图片
  • 模块较多,但是每个模块代码量较少,相应的注释也有
    基于 FPGA 读取 AHT10 温湿度数据及 OLED 显示详细工程_第10张图片
  • 在 tb 文件夹中,存放着 testbench 文件,直接双击 bat 文件即可仿真,不用在 Quartus 中点击仿真
  • 例如,想对 AHT10 部分仿真,只需要双击【aht10部分仿真.bat】即可
    基于 FPGA 读取 AHT10 温湿度数据及 OLED 显示详细工程_第11张图片
  • 仿真截图如下(数据进制已经设置好了,易看):
    基于 FPGA 读取 AHT10 温湿度数据及 OLED 显示详细工程_第12张图片

三、验证分析

  • 验证分析手册:https://pan.baidu.com/s/1aHfWObnWLBSgvOEqPNjHpw?pwd=dc3n
    提取码:dc3n
  • 其中包含仿真截图、设计过程中的问题、解决方法、资源消耗等
  • 板上验证:

    AHT10与OLED工程

  • 效果还可以,成功实现

你可能感兴趣的:(FPGA小项目,fpga开发)