基于Avalon总线SHT11温湿度传感器自定义IP核的开发
(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 器件中。
图3 时序仿真图
图4 Avalon接口信号
由于在NiosII IDE 环境下可直接编写用户程序,所以可以不用编写驱动程序。在NiosII IDE 环境下,可直接调用函数IOWR (BASE,OFFSET,DATA) 和IORD(BASE ,OFFSET) 对内部寄存器进行读写。Avalon总线在wr和rd的控制下进行读写。
3 测试
农业智能大棚(该花卉的适宜温度是18 ℃,适宜湿度是58 RH),也就是棚内维持在作物适宜生长的温度、湿度等。若有变化,其将会调节相应的外围设备,来保持最佳环境。在大棚中,在测试节点上,SHT11监测实时的温度和湿度,将数据送到nRF24L01,数据通过基站最终到达终端虚拟控制中心。其所获得的数据变化曲线如图5、图6所示。
图5 温度随时间的变化曲线图 图6 湿度随时间的变化曲线图
结语
本文介绍了基于Avalon总线SHT11温湿度传感器自定义IP核的开发流程,利用有限状态机设计了驱动硬件逻辑,并且基于NiosII嵌入式处理器构建了一个用户定制的嵌入式系统。在SOPC中,设计人员可以灵活添加IP核,减轻设计负担,避免重复工作。
Avalon总线 SHT11 温湿度传感器 IP核 相关文章:
- 基于Avalon总线接口的UPFC控制器IP核设计(09-08)
- LCD12864液晶显示的SHT11温湿度传感器程序(11-23)
- 基于51单片机SHT11温湿度传感器检测程序(含电路图)(11-19)
- 基于AT89s52和SHT11传感器的温湿度测量系统设计(08-28)
- 基于MSP430 的温湿度监控系统分析(08-06)
- 基于单片机的烤烟房多点温湿度测控系统(12-21)