微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于Avalon总线SHT11温湿度传感器自定义IP核的开发

基于Avalon总线SHT11温湿度传感器自定义IP核的开发

时间:09-12 来源:互联网 点击:

(data_i),data_i 的输入格式是crc(1位)wr_data(16位)command(2位),当addr=0wr,进入状态机;当addr=2 amp; amp;rd,从数据线读取数据data_o。

设内部寄存器command,根据不同的命令,进入不同的状态机循环:若command为01,通过数据线向寄存器写数据;若command为 10,通过数据线从寄存器读数据;若command为其他,则读取数据。当传送8位数据后,需判断双向数据线DATA的ACK信号的高低,当接收到ACK 信号时,再根据相应的命令,进行数据的传输。当数据传输完毕后,需要经行CRC校验。图3是仿真时序图,实现向寄存器写数据的功能。

2.4 软件设计

该部分可以直接在SOPC Builder 中添加设计好的IP核和Verilog HDL 语言描述的文件,并根据Avalon 总线传输规范设置好相关的信号线,如图4所示。这里要注意,使用的是从端口。完成后,将IP核添加至SOPC中,建立内嵌系统,并编译下载到FPGA 器件中。

4.jpg

图3 时序仿真图

5.jpg

图4 Avalon接口信号

由于在NiosII IDE 环境下可直接编写用户程序,所以可以不用编写驱动程序。在NiosII IDE 环境下,可直接调用函数IOWR (BASE,OFFSET,DATA) 和IORD(BASE ,OFFSET) 对内部寄存器进行读写。Avalon总线在wr和rd的控制下进行读写。

3 测试

农业智能大棚(该花卉的适宜温度是18 ℃,适宜湿度是58 RH),也就是棚内维持在作物适宜生长的温度、湿度等。若有变化,其将会调节相应的外围设备,来保持最佳环境。在大棚中,在测试节点上,SHT11监测实时的温度和湿度,将数据送到nRF24L01,数据通过基站最终到达终端虚拟控制中心。其所获得的数据变化曲线如图5、图6所示。

6.jpg

图5 温度随时间的变化曲线图  图6 湿度随时间的变化曲线图

结语

本文介绍了基于Avalon总线SHT11温湿度传感器自定义IP核的开发流程,利用有限状态机设计了驱动硬件逻辑,并且基于NiosII嵌入式处理器构建了一个用户定制的嵌入式系统。在SOPC中,设计人员可以灵活添加IP核,减轻设计负担,避免重复工作。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top