XX学院信息工程学院
数字系统Verilog设计报告
题 目: 基FPGA温度检测系统设计
姓 名:
学 号:
指导老师:
2014
摘
文利数字温度传感器DS18B20数接口特点阐述种基现场编程门阵列( FPGA)控制DS18B20方法FPGA作控制器严格控制DS18B20 时序单总线实现读写功完成测量数字温度功测量二进制数转换BCD码通数码显示系统设计 Verilog 语言
关键字:数字温度传感器数字温度检测FPGAVerilog语言
目 录
摘 I
1 引 言 1
2 设计实现
21 FPGA简介 2
22 DS18B20通讯协议 2
222 写时序 3
223 读时序 3
23 电源连接 5
3 模块设计
31 DS18b20驱动模块 6
32 温度数处理模块 7
33 温度显示模块 7
4 整体模块连接 9
5 结束语 10
参考文献 11
1 引 言
温度工业控制中控参数特冶金化工建材食品机械石油等工业中具举足重轻作着电子技术微型计算机迅速发展微机测量控制技术迅速发展广泛应单片机具处理强运行速度快功耗低等优点应温度测量控制方面控制简单方便测量范围广精度较高
FPGA(FieldProgrammable Gate Array)现场编程门阵列PALGALCPLD等编程器件基础进步发展产物作专集成电路(ASIC)领域中种半定制电路出现解决定制电路足克服原编程器件门电路数限缺点
着温度检测理技术断更新 温度传感器种类越越微机系统中传感器必须够非电量转换成电量传感器目前常热电偶传感器热电阻传感器半导体集成传感器等种传感器根身特性应领域
设计介绍数字温度计传统温度计相具读数方便测温范围广测温准确输出温度采数字显示测温较准确场科研实验室该设计利数字温度传感器DS18B20数接口特点FPGA作控制器严格控制DS18B20 时序单总线实现读写功完成测量数字温度功测量二进制数转换BCD码通数码显示
着生活水断提高FPGA控制疑追求目标带方便否定中数字温度计典型例子求越越高现代工作科研生活提供更更方便设施需数单片机技术入手切着数字化控制智化控制方发展
21世纪科学技术发展日新月异科技进步带动测量技术发展现代控制设备性结构发生巨变化已进入高速发展信息时代测量技术成科技流广泛应生产领域
2 设计实现
21 FPGA简介
FPGA(FieldProgrammable Gate Array)现场编程门阵列PALGALCPLD等编程器件基础进步发展产物作专集成电路(ASIC)领域中种半定制电路出现解决定制电路足克服原编程器件门电路数限缺点
特点介绍:
1) 采FPGA设计ASIC电路(专集成电路)户需投片生产合芯片
2) FPGA做全定制半定制ASIC电路中试样片
3) FPGA部丰富触发器IO引脚
4) FPGAASIC电路中设计周期短开发费低风险器件
5) FPGA采高速CMOS工艺功耗低CMOSTTL电兼容
说FPGA芯片批量系统提高系统集成度性佳选择
FPGA存放片RAM中程序设置工作状态工作时需片RAM进行编程户根配置模式采编程方式
加电时FPGA芯片EPROM中数读入片编程RAM中配置完成FPGA进入工作状态掉电FPGA恢复成白片部逻辑关系消失FPGA够反复FPGA编程须专FPGA编程器须通EPROMPROM编程器需修改FPGA功时需换片EPROM样片FPGA编程数产生电路功FPGA非常灵活
22 DS18B20通讯协议
根DS18B20通讯协议机控制DS18B20完成温度转换必须三步骤:次读写前DS18B20进行复位复位成功发送条ROM指令发送RAM指令样DS18B20进行预定操作
DS18B20 采根 I O 总线读写数DS18B20 读写数位严格时序求DS18B20 遵循相应通信协议保证数传输正确性完整性该通信协议定义种信号时序初始化时序 写时序 读时序
221 初始化时序
初始化时序中控制器发送480us960us低电复位信号然释放总线总线高电时控制器准备接收DS18B20反应信号总线释放果存DS18B20DS18B201560us发送持续60240us反应信号
222 写时序
设计总线挂DS18B20读取64位序列号直接发送rom命令写时序写1写2时序首先总线拉低电拉低15us必须DS18B20写数传总线DS18B2015us60us采样总线数果高写1低写0写完次释放总线两次写数间时隙1us
223 读时序
读时序时总线拉低电1us然释放总线准备接收DS18B20传数DS18B20总线拉低15us数传总线控制器必须拉低电然释放总线15us采样总线数次读取位数60us
23 DS18B20程序流程图
FPGA 控制DS18B20 实现温度转换程序流程图示
程序流程图
23 电源连接
DS18B20寄生电源 I O 引脚处高电时 偷 量储存电容中供正常进行精确转换时需 I O 引脚保持电流供电样 FPGA 芯片引脚造成压力 VDD 引脚接外部电源
DS18B20电源连接图
DS18B20 进行温度转换需电流工作电流达 1 mA VDD 引脚接外部电源供电优点I O 线需温度变换期间保持高电样效保护FPGA 芯片单总线放置数目DS18B20外部电源通发出 Skip ROM 跳命令然发出 Convert T变换命令完成温度变换
3 模块设计
31 DS18b20驱动模块
DSl820数字温度计提供12位(二进制)温度读数指示器件温度信息单线接口送 入DSl820DSl820送出机CPUDSl820仅需条线(线)DSl820电源数线身提供需外部电源DSl820出厂时已定唯序号意DSl820存放条单线总线允许许方放置温度敏感器件DSl820测量范围55度+125度增量值05度1 s(典型值)温度变换成数字量Verilog程序:
module ds18b20(iCLK iRESET oWIRE oFLAG oDATA )
input iCLKiRESET
output reg[110] oDATA
output reg oFLAG
inout reg oWIRE
parameter do_reset 6'b000001
release_bus 6'b000010
wait_presence 6'b000100
parameter write 6'b001000
wait_conver 6'b010000
read 6'b100000
parameter Skip_Word 8'b11001100
Tconvert_Word 8'b01000100
Tempreg_Word 8'b10111110
reg[630] counter
reg[70] byte_counter
reg[50] nstate
reg[70] temp_word
reg[70] addr
reg[150] Temp_buffer
always @(posedge iCLK) begin
if(~iRESET) begin
nstate < do_reset
byte_counter < 0
counter < 0
oFLAG < 0
oDATA < 0
temp_word < Skip_Word
addr < 1
Temp_buffer<0
oWIRE <0
end
else
case(nstate)
do_reset begin
oFLAG < 0
if(counter 499) begin
nstate < wait_presence
counter < 0
oWIRE <1
end
else begin
counter < counter + 1
oWIRE <0
end
end
wait_presence begin
if(counter 400) begin
nstate < release_bus
counter < 0
oWIRE <1
end
……………
模块创建:
32 温度数处理模块
12bit温度数信息相应进行种处理次均等外需二
进制转换BCD码Verilog程序:
module bin2bcd(in_binout_bcd)
input [110] in_bin
output [110] out_bcd
reg [110] out_bcd
always @(in_bin)
begin
out_bcd[118]in_bin[114]10
out_bcd[74]in_bin[114]10
if(in_bin[3])
out_bcd[30] 5
end
endmodule
模块创建:
33 温度显示模块
FPGA实现LED静态显示控制
运硬件描述语言设计显示译码驱动器显示字符译成8段码FPGA
相引脚端资源果显示位数N较少直接静态显示方式数码分连接8引脚线需8×N条引脚线控制左图示
采FPGA实现LED数码动态显示控制
NLED数码静态方式显示时需8×N条引脚线较复杂系统中FPGA引脚端资源限LED数码显示采扫描方式实现LED数码动态显示
实现方法次点亮LED数码循环进行显示数码显示数码马显示利眼视觉暂留特性数码时显示效果采扫描方式实现LED数码动态显示控制数码间延时相重根眼视觉暂留原理LED数码秒导通16次眼法分辨LED数码短暂亮认直点亮(实LED数码定频率闪动)延时(导通频率)越越LED数码达定亮度需定时间果延时控制会出现闪动者亮度够验延时0005秒达满意效果
修改延时更显示效果加长延时数码显示段时间点亮数码逐显示效果 外显示字符变化时延时达送低电(阴极数码)LED数码先短暂熄灭显示字符视觉字符变化更清晰Verilog程序:
module display_ds18b20(in_bcdSegrstseclk)
input [110] in_bcd
input clkrst
output [70] Seg
output [20] se
reg [70] Seg
reg [30] r
reg [20] se
parameter st0 1st1 2st2 3
reg[10] current_statenext_state
always @(posedge clk)
begin
case(current_state)
st0
begin
r
next_state
st1
begin
r
next_state
st2
begin
r
next_state
endcase
end
always @(*)
case(r)
4'h0 Seg 8'b11111100
4'h1 Seg 8'b01100000
4'h2 Seg 8'b11011010
4'h3 Seg 8'b11110010
4'h4 Seg 8'b01100110
4'h5 Seg 8'b10110110
4'h6 Seg 8'b10111110
4'h7 Seg 8'b11100000
4'h8 Seg 8'b11111110
4'h9 Seg 8'b11110110
defaultSeg 8'b00000000
endcase
endmodule
模块创建:
4 整体模块连接
5 结束语
次课程设计次加深Verilog语言理解Verilog种纯软件东西变成硬件东西程中软硬件工作程更深层次理解做前Verilog课程设计没接触流程——综合写程序编程逻辑门连接时候感觉离集成电路步
通次课程设计学东西更加巩固学知识 FPGA 知识更加步认识电路抗干扰进步解电路设计许验掌握专业技术知识限课题设计样机制作仅限基阶段离专业计量工程仪器少距离例系统电路原理设计样机工艺设计制作控制程序设计信号处理测量精度等方面存样样问题性样机未做善美切学研究中进步努力
参考文献
[1] 夏宇闻2008Verilog 数字系统设计教程[M]北京航空航天学出版社
[2] 蔡伟纲2007NiosII 软件架构解析[M]西安电子科技学出版社
[3] ALTERA 公司 CycloneEP2C5 手册[EBOL]
[4] 周树南张伯颐2006电路电子学基础[M]科学出版社
[5] 马义忠常蓬彬马浚2005数字逻辑数字系统[M]高等教育出版社
[6] 黄智伟 2006全国学生电子设计竞赛系统设计[M]北京航空航天学出版社
[7] 继华2006设计验证 Verilog HDL[M]民邮电出版社
[8] 张洪润2009FPGACPLD 应设计 200 例[M]北京航空航天学出版社
湖bei民族学院
单纯课容满足学生需通补充达容完善
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档