




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于Linux的温度传感器DS18B20驱动程序设计时间:2010-03-02 11:07:14 来源:中电网 作者:引言传统的模拟温度测量抗干扰能力差,放大电路零点漂移大,导致测量值误差大,难以达到所需精度。在实际应用中,采用抗干扰能力强的数字温度传感器是解决上述问题的有效办法。DS18B20是Dallas公司生产的数字温度传感器,具有体积小、适用电压宽、经济灵活的特点。它内部使用了onboard专利技术,全部传感元件及转换电路集成在一个形如三极管的集成电路内。DS18B20有电源线、地线及数据线3根引脚线,工作电压范围为35.5 V,支持单总线接口。准确的温度测量是很多嵌入式系统中重要的一
2、点。在Linux操作系统下使用数字温度传感器DS18B20,不仅可以得到高精度的温度测量值,而且硬件简单可靠。1Linux的设备驱动程序在Linux中,驱动程序是内核的一部分,它屏蔽了硬件细节,是整个操作系统的基础。驱动程序与Linux内核结合有两种方式:在编译内核时,静态地链接进内核;在系统运行时,以模块加载的方式加载进内核。驱动的对象是存储器和外设。Linux将存储器和外设分为3个基础类:字符设备、块设备、网络设备。字符设备是指必须以串行顺序依次进行访问的设备,不需要经过系统的快速缓冲;而块设备要经过系统的快速缓冲,可以任意顺序进行访问,以块为单位进行操作。字符设备和块设备并没有严格的界限
3、,有些设备(如Flash)既可看作字符设备,也可作为块设备来访问。网络设备面向数据包的接收和发送而设计,并不对应于文件系统节点。内核与网络设备的通信方式完全不同于内核与字符设备、块设备的通信方式。DS18B20是单总线温度传感器,主机只能以“位”为单位对其进行访问。因此,在Linux系统中,将DS18B20作为一种典型的字符设备来访问。2 DS18B20的结构和工作原理2.1DS18B20的内外结构DS18B20的外部结构如图1所示。其中,VDD为电源输入端,DQ为数字信号输入输出端,GND为电源地。DS18B20内部结构主要包括4部分:64位光刻ROM、温度传感器、非易失的温度报警触发器TH
4、和TL、配置寄存器,如图2所示。64位ROM中,在产品出厂前就被厂家通过光刻刻录好了64位序列号。该序列号可以看作是DS18B20的地址序列码,用来区分每一个DS18B20,从而更好地实现对现场温度的多点测量。图2中的暂存器是DS18B20中最重要的寄存器。暂存器由9个字节组成,各字节定义如表1所列。配置寄存器用于用户设置温度传感器的转换精度,其各位定义如下:TM位是测试模式位,用于设置DS18B20是工作模式(0)还是测试模式(1),其出厂值为0。R1、R0用于设置温度传感器的转换精度:00,分辨率为9位,转换时间为93.75ms;01,分辨率为10位,转换时间为187.5 ms;10,分辨
5、率为11位,转换时间为375 ms;11,分辨为12位,转换时间为750 ms。R1、R0的出厂值为11。其余5位值始终为1。第0和第1字节为16位转换后的温度二进制值,其中前4位为符号位,其余12位为转换后的数据位(分辨率为12位)。如果温度大于0,则前4位值为0,只要将测到的数值乘上0.062 5即可得到实际温度值;如果温度小于0,则前4位为1,需将测得的数值取反加1后,再乘上0.062 5。第0和第1字节各位的二进制值如下:2.2 DS18B20的应用电路结构按DS18B20的供电方式,其应用电路结构可分为如下3种:寄生电源供电方式;寄生电源强上拉供电方式;外部电源供电方式。实际应用中,
6、以外部电源供电方式为主。其应用原理图如图3所示。2.3DS18B20的工作原理 根据DS18B20的通信协议,MCU对其操作主要有如下3个步骤:读写之前,对DS18B20发送约500 s的低电平进行复位;复位成功,发送ROM指令;发送RAM指令。MCU对DS18B20的具体操作流程如图4所示。3Linux的DS18B20驱动程序实现选取mini2440开发板为硬件平台(主芯片为Samsung公司的S3C2440),选取Linux的最新内核Linux2.6.29为软件平台。通过mini2440的扩展接口引出GPIO口(GPBl)为数据线DQ。DS18B20为单总线器件,因此对其操作的时序比较严格。DS18B20驱动最终能否得以正常运行,获得实时温度值,关键在于能否正确地编写复位程序、位写程序和位读程序。3.1复位程序对DS18B20进行读写之前要对其复位初始化,以检测DS18B20的存在。复位要求MCU将数据线下拉480960 s,再释放数据线,等待约60 s。若MCU接收到DS18B20发出的存在低电平,则表示复位成功。下面是复位程序代码:3.2写1字节子程序 发送ROM和RAM指令,需向DS18B20写入数据。写1字节子程序如下:3.3读N字节子程序当温度转换完毕,需从DS18B20的RAM中读取第0和第1字节的二进制数据。读1字节子程序如下:读N字节子程序如下:4结论本文采用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025公司、项目部、各个班组三级安全培训考试试题及参考答案(精练)
- 2025公司三级安全培训考试试题及参考答案【黄金题型】
- 2025年项目部安全培训考试试题含答案【模拟题】
- 2025年公司项目部负责人安全培训考试试题附参考答案【B卷】
- 2024-2025新工人入场安全培训考试试题附答案(综合卷)
- 2025年部门安全培训考试试题附完整答案(各地真题)
- 2025新工人入场安全培训考试试题及完整答案(有一套)
- 2025公司项目部安全培训考试试题及答案【历年真题】
- 风筝买卖协议
- 2025-2030年中国辅助功率尼特行业市场现状供需分析及投资评估规划分析研究报告
- GB/T 3091-2025低压流体输送用焊接钢管
- 煤矿排矸场、矸石山生态环境治理工程施工组织设计
- 【MOOC】倾听-音乐的形式与审美-武汉大学 中国大学慕课MOOC答案
- 第五讲铸牢中华民族共同体意识-2024年形势与政策
- 2024年5月26日河南省事业单位联考《职业能力测试》试题
- 2025年高考作文专练(25道真题+审题立意+范文)- 2025年高考语文作文备考总复习
- 2023肝硬化腹水诊疗指南(完整版)
- GB/T 13912-2020金属覆盖层钢铁制件热浸镀锌层技术要求及试验方法
- 50MPa路面抗折混凝土配合比
- 油阀座加工工艺与夹具设计说明
- 贵州安顺柏秧林煤矿发生重大透水事故人被困
评论
0/150
提交评论