产品展示

金属屏蔽罩

极速体育nba在线直播吧

基于FPGA的OLED动态显示(温湿度实时数据)

来源:极速体育nba在线直播吧    发布时间:2024-04-12 18:17:25

极速体育nba在线直播吧
产品详情

  京微齐力:基于HMEP060的OLED字符显示(及FUXI工程建立演示)

  DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。

  上图为DHT11的内部原理图,能够准确的看出感湿元件、感温元件和OTP内存直接连接在内部一个八位MCU上,该MCU通过计算得出测量数值。

  DATA用于FPGA与DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分为整数部分和小数部分,数据格式如下:一次完整的数据传输为40bit,高位在前。

  数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据”所得结果的末8位。校验和=数据之和,通过这一个可以判断接收到的数据是不是正确。

  主机(此处指FPGA)首先发送一次开始信号,即:拉低数据线ms)时间;然后拉高数据线us)时间,随后开始读取DHT11的响应;如果操作正确的线会拉低数据线us)时间,作为响应信号;接下来DHT11会拉高数据线us)时间,随后开始输出有效数据。

  DHT11共输出40bit有效数据,每1bit数据都是以50us低电平开始,高电平的维持的时间作为判断数据位的条件。当数据位为0时,高电平的维持的时间为26~28us;当数据位为1时,高电平的维持的时间为70us。

  需要注意的是,DHT11的温度和湿度转换较慢,如果读取速度过快会导致DHT11无法响应的情况。

  DHT11驱动模块使用三段式状态机来读取DHT11的温度和湿度值,从下图可以比较直观的看到每个状态实现的功能和跳转到下一个状态的条件。

  再次强调,这里必须要格外注意:由于DHT11温度和湿度转换较慢,如果读取速度过快会导致DHT11无法响应的情况,所以我们在每次读操作结束后延时两秒(这样鲁棒性会比较高,也可以不要这步)。

  在时序图中,提到了18ms、26-28us、20-40us、50us、70us、80us等等,但是经过分析后,并不是特别需要定义这么多个计时周期数,只需要定义两个即可。为什么只定义这两个就可以了呢?

  在时序图中,需要FPGA判断时间的,有两个位置,一个是FPGA拉低18ms以上,另外一个是判断数据表示是数据0还是数据1。第一个很清楚就是18ms。数据0表示的数据位26-28us,为了保险起见,这里设置为35us,如果高电平的维持的时间低于35us,那么就表示数据0。

  OLED的显示(包括字符提取等),这里不做介绍,我在另一篇文章有介绍过,感兴趣的可以了解一下:京微齐力:基于HMEP060的OLED字符显示(及FUXI工程建立演示)

  35 本例中,OLED显示一共分为如下5个状态。在初始化完成后,屏幕显示的是杂乱无章的数据,所以在初始化完成后,要进行一次刷新,将OLED中的数据全部写0。接着进行显示固定不变的支符,例如像温度湿度这样的字符。然后进入空闲态,直到DHT11采集到数据后,就进入到多个方面数据显示状态,数据显示完成后,又回到空闲态。这是整个的一个流程。

  在工程中,例化了debugware IP核,对温湿度传感器的波形进行抓取,能够正常的看到如下:

  前文有说过,传感器的数据位总共有40位,考虑到后续可能抓取别的波形,所以此处debugware的数据位宽我设置到了45位,预留了5位。

  根据上文数据公式:8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验和数据

  原文标题:京微齐力:基于P1P060的OLED动态显示(温湿度实时数据)

  文章出处:【微信号:HME-FPGA,微信公众号:HME京微齐力】欢迎添加关注!文章转载请注明出处。

  参数做测量并按照预定的时间间隔,将其储存在记录仪内部或通过GPRS/4G、WIFI上传管理云平台,可将

  传感器在养殖场中的应用 /

  传感器在食品药品安全领域的应用 /

  监测系统中的温度传感芯片 /

  传感器 /

  天气时钟设计案例 /

  系统设计 /

  监测、智能报警 /

  检测仪 /

  AMD自适应计算加速平台之GTYP收发器误码率测试IBERT实验(6)

  【Longan Pi 3H 开发板试用连载体验】给ChatGPT装上眼睛,并且还可以语音对线,系统基础配置

  【Longan Pi 3H 开发板试用连载体验】给ChatGPT装上眼睛,还可以语音对线 阅读

  飞凌嵌入式ElfBoard ELF 1板卡- 减少uboot阶段的等待时间

  各位老师,请教《模电》问题: 为啥说“分母s的一次项系数大于0时,电路才能稳定工作”