lm75A温度数字转换器 FPGA读写实验Verilog逻辑源码Quartus工程文件+文档资料,FPGA为CYCLONE4系列中的EP4CE6E22C8. 完整的工程文件,可以做为你的学习设计参考。
LM75A 是一个使用了内置带隙温度传感器和模数转换技术的温度数字转换器。它也是一个温度
检测器,可提供一个过热检测输出。LM75A 包含许多数据寄存器:配置寄存器用来存储器件的
某些配置,如器件的工作模式、OS 工作模式、OS 极性和OS 故障队列等(在功能描述一节中有详细描述);
温度寄存器(Temp),用来存储读取的数字温度;设定点寄存器(Tos & Thyst),用来存储可编程的过热关
断和滞后限制,器件通过2 线的串行I2C 总线接口与控制器通信。LM75A 还包含一个开漏输出(OS),当
温度超过编程限制的值时该输出有效。LM75A 有3 个可选的逻辑地址管脚,使得同一总线上可同时连接8
个器件而不发生地址冲突。
LM75A 可配置成不同的工作条件。它可设置成在正常工作模式下周期性地对环境温度进行监控或进入
关断模式来将器件功耗降至最低。OS 输出有2 种可选的工作模式:OS 比较器模式和OS 中断模式。OS 输
出可选择高电平或低电平有效。故障队列和设定点限制可编程,为了激活OS 输出,故障队列定义了许多
连续的故障。
温度寄存器通常存放着一个11 位的二进制数的补码,用来实现0.125℃的精度。这个高精度在需要精
确地测量温度偏移或超出限制范围的应用中非常有用。
正常工作模式下,当器件上电时,OS 工作在比较器模式,温度阈值为80℃,滞后75℃,这时,LM75A
就可用作一个具有以上预定义温度设定点的独立的温度控制器。
module LM75_SEG_LED (
//input
input sys_clk ,
input sys_rst_n ,
inout sda_port ,
//output
output wire seg_c1 ,
output wire seg_c2 ,
output wire seg_c3 ,
output wire seg_c4 ,
output reg seg_a ,
output reg seg_b ,
output reg seg_c ,
output reg seg_e ,
output reg seg_d ,
output reg seg_f ,
output reg seg_g ,
output reg seg_h ,
output reg clk_sclk
);
//parameter define
parameter WIDTH = 8;
parameter SIZE = 8;
//reg define
reg [WIDTH-1:0] counter ;
reg [9:0] counter_div ;
reg clk_50k ;
reg clk_200k ;
reg sda ;
reg enable ;