历史上的今天
返回首页

历史上的今天

今天是:2025年02月18日(星期二)

正在发生

2020年02月18日 | 基于PIC单片机的测温网络的开发

2020-02-18 来源:eefocus

简介:介绍一种利用PIC单片机和DS18B20构造单总线测温网络的方法,文章给出了系统硬件结构和软件流程图。


本测温网络应用在磁致伸缩液位传感器上,利用附在不锈钢管内壁的不同位置上的三个DS18B20,测量不同液位层的温度 。


1硬件设计

整个系统由上位机和下位机组成。上位机用PC机,下位机用PIC16C63(原理框图见图1)。系统硬件部分主要有PIC16C63、AT24C01、DS18B20、显示电路、电源电路、时钟电路和通信电路。用户需要时可通过上位机下达测量命令,下位机进行测量并把结果送给上位机或显示在液晶显示模块上。三个温度点任何一路发生故障,都会传给上位机一个默认值,用户可以据此在线更换新的温度传感器,系统能够自动找到并启用它。用户每次开机都通过上位机给下位机下达命令,对通信、AT24C01、DS18B20进行自检,自检失败会给上位机返回警告信号。系统具有掉电保护功能,当掉电时,参数的设定值可以保存在AT24C01中。上下位机之间采用RS-485串行总线进行通信。

1.1微处理器电路

PIC16C63A单片机有可编程编码(加密)保护功能,采用宽字单周期指令、哈佛双总线和RISC结构,其数据吞吐率最高可达6MIPS。数据输入线允许有25mA的倒灌电流,可以直接驱动LED。片内有可直接寻址的4K个字的程序存贮器、192个8位数据寄存器、3个8位I/O口、2个8位和1个16位的定时器/计数器、2个捕捉/比较/脉宽调制(CCP)部件、同步串行口(SSP)部件、串行通信接口(SCI)部件。可选择振荡器类别:RC型、XT型、HS型和LP型。有多级中断功能,可编程ID标识码,在线串行编程。


PIC单片机主要完成掉电保护电路、温度测量电路的操作控制,并对信号进行加工处理和最终输出。


1.2温度测量电路

DS18B20是可组网数字式温度传感器,测量范围为-55℃~125℃,精度达到0.0625℃。DS18B20有3个引脚分别接地、电源和信号。每个DS18B20包括一个唯一的64位长的ROM编码(表1),因此多个DS18B20和一个主控单元可以组成1-WIRE网络。图2为DS18B20内部存储器结构,它包括一个暂存RAM和一个非易失性电可擦除EERAM。暂存存储器作用是在单线通信时确保数据的完整性,它包括9个字节,头两个字节表示测得的温度数,温度/数据对应关系为+125℃→7D0H,0℃→000H,-55℃→FC90H。用户可自设定非易失性温度报警上下限值TH和TL(掉电后依然存在),DS18B20在完成温度变换后,所测温度值将自动与贮存在TH和TL内的报警值相比较,如果高于TH或低于TL,DS18B20内部的告警标志就会被置位。DS18B20内部暂存存储器的第5个字节是结构寄存器,它的第5位R0和第6位R1主要用于确定温度值的数字转换分辨率。



1.3掉电保护电路

AT24C01是电可擦除的串口存储器,其内部组合为128*8位,并有多种工作电压可供不同用户选择。只要把它的地线、电源线、数据线和时钟线分别接主控单元的地、电源和两个I/O引脚,主控单元就可以通过两条I/O线采用I2C总线的操作时序来操作它。

2软件设计


2.11-WIRE的操作时序及软件实现

1-WIRE网络是一种具有一个总线主机和一个或若干个从机的系统。从机采用类似集电极开路的形式输出,因此要求上拉电阻。1-WARE网络的通讯协议有三种类型:初始化、读时间片和写时间片。


初始化时序:主机向总线发一复位脉冲(至少480μs的低电平),然后释放总线并进入接收状态,这时总线被上拉电阻拉高,从机在检测到信号线上的上升沿之后,等待15~60μs,然后发出存在脉冲(60~240μs的低电平)(图3)。

写时序:主机将数据线从高电平拉至低电平,在15μs之内将所需写的位送到数据线上,从机在15~60μs之间对数据线进行采样,整个过程持续60~120μs,再延时至少1μs之后,开始一轮新的过程(图4)。


读时序:主机把数据线从高电平拉至低电平时,必须保持在低电平至少1μs,然后释放总线,从机将在15μs之内输出数据,整个过程最短持续期限为60μs,再延时至少1μs之后,开始一轮新的过程(图4)。


1-WIRE网络可保证在100米内数据通信正常,可挂接150个从机。为了更远距离传输或重载,可以利用一段网络作为主干,其余为网络分支,根据需要用耦合器DS2409添加或去除分支,同时可以利用其他耦合器来作为接点控制,以在分支上添加或去除其他网络。


2.2I2C总线操作时序及软件实现

I2C是两线制(只用串行时钟线SCK和串行数据线SDA)串行通信接口。为了实现总线的“线与”功能,SDA(数据)线在输出时采用开漏极,所以一般需要加上拉电阻,以保证总线在没有器件把其拉成低电平时为高电平。由总线时序知,当SCL保持高而SDA由高变低时,为启动信号:当SCL保持高而SDA由低变高时,为停止信号。数据传输过程中,数据线SDA只能在SCL为低电平时产生高低电平的变化。I2C总线的操作由四个基本的时间片组成:写时间片、读时间片、开始和停止。

2.3DS18B20工作过程的软件实现

系统对DS18B20的操作以ROM命令和存储器命令形式出现,DS18B20的工作遵循严格的单总线协议:

(1)主机首先发一复位脉冲,使信号线上所有的DS18B20芯片复位,并等待接收存在脉冲。

(2)接着发送ROM操作命令,包括读取(33H)、匹配(55H)、搜索(F0H)、跳过(CCH)序列号操作等工作,使序列号匹配的DS18B20被激活。

(3)准备接收下面的存储器操作命令;存储器操作命令控制被激活的DS18B20的工作状态,包括写报警值、写结构寄存器、温度转换、读取温度等工作。


本系统对DS18B20进行的操作主要包括三个子过程:1.自动搜索3个DS18B20的序列号(程序流程略),主机首先发一复位脉冲,等收到返回的存在脉冲后,发出搜索器件的序列号命令(F0H),读取DS18B20的序列号;2.写暂存存储器(程序流程如图5),主机在收到返回的存在脉冲后,发出匹配器件的序列号命令(55H),跟着发送一DS18B20的序列号,再发送写暂存器命令(4EH),写数据;3.启动DS18B20作温度转换并读取温度值(程序流程如图6),主机在收到返回的存在脉冲后,发出跳过器件的序列号命令(CCH),跟着发出温度转换命令(44H),再次复位并收到返回的存在脉冲后,发出匹配器件的序列号命令(55H),跟着发送一DS18B20的序列号,再发送读暂存器命令(BEH),读出数据。

2.4AT24C01工作过程的软件实现

AT24C01的读写操作过程都由上面介绍的I2C总线的四种操作时间片组成。AT24C01的写操作分为写字节和写页面两种方式。在本系统中采用了写字节的方式,写字节操作分为5个阶段:

(1)主机启动开始。

(2)主机通过SDA输入一个写器件命令(10100000B)。如果写入成功,AT24C01在第9个周期输出“0”表示确认((3)、(4)同)。

(3)主机通过SDA输入8位数据地址。

(4)主机通过SDA输入8位数据。

(5)停止信号。


AT24C01的读操作分为立即读取、随机寻址读取和顺序读取3种方式。在本系统中采用了随机寻址读取的方式,具体读取过程分为7个阶段:

(1)主机启动开始。

(2)主机通过SDA输入一个写器件命令(10100000B)。如果写入成功,AT24C01在第9个周期输出“0”表示确认((3)、(5)同)。

(3)主机通过SDA输入8位数据地址。

(4)主机启动开始。

(5)主机通过SDA输入一个读器件命令(10100001B)。

(6)AT24C01通过SDA输出8位数据。

(7)停止信号。


3硬件和软件调试

硬件调试上需要注意接口问题。DS18B20的工作电流高达1mA,当温度变换时信号线上必须提供足够的功率,因此选用了4.7k的上拉电阻。AT24C01数据线上的上拉电阻不能太大,否则AT24C01输出数据时不能获得足够的电流;也不能太小,否则AT24C01工作不稳定,必须经过调试选择一定阻值的上拉电阻。


本系统的主要调试任务集中在软件调试上,需要注意时间的把握,因为DS18B20和AT24C01的操作时序对时间要求比较严格。PIC单片机除分支指令是双周期外,其他所有指令都是单周期指令,本系统选用的晶振为4MHz,执行一条单周期指令需要250ns,执行一条分支指令需要500ns。


4总结

本套系统为广东康宇测控仪器仪表工程有限公司设计,已经进入试运行阶段。从目前的情况来看,它能够精确、及时地反映所测液体及周围环境的温度,而且现场调整方便灵活,反映良好。


参考文献:


[1]吕瑜,等.基于单片机和TDC的磁尺数字化技术研究[J].仪表技术,2003,(4).

[2]DS18B20 Programmable Resolution One-Wire Digital Thermometer[Z].Dallas Corp.

推荐阅读

史海拾趣

HOPERF公司的发展小趣事

成立于1998年的HOPERF,最初是一家专注于无线射频技术的小型创业公司。在那个通信技术日新月异的时代,公司创始人凭借敏锐的市场洞察力和对技术的执着追求,带领团队开始了自主研发之路。初期,HOPERF在无线射频领域不断突破,成功研发出多款具有自主知识产权的射频芯片,为公司的后续发展奠定了坚实的基础。这些技术创新不仅提升了产品的性能,还大大降低了成本,使得HOPERF在竞争激烈的市场中逐渐站稳脚跟。

Daniels Manufacturing公司的发展小趣事

随着全球电子行业的快速发展,DMC意识到必须走向国际市场,以寻求更大的发展空间。在20世纪90年代,DMC开始实施国际化战略,通过设立海外分支机构、与当地企业合作等方式,逐步拓展国际市场。同时,DMC还积极参与国际展览和技术交流,提高品牌知名度和影响力。这些努力使得DMC在国际市场上逐渐崭露头角,产品出口量持续增长。

Chips And Technologies Inc公司的发展小趣事

Chips And Technologies Inc的创业之路始于1984年,由Gordon A. Campbell和Dado Banatao在加利福尼亚州的米尔皮塔斯共同创立。作为一家早期的无晶圆厂半导体公司,C&T凭借对技术的深刻理解和市场的前瞻性,成功推出了首款四芯片EGA芯片组,这款产品能够处理增强型图形适配器上19个IBM专有芯片的功能,为当时的个人电脑制造商提供了强大的支持。

常州星海电子(Starsea)公司的发展小趣事

质量是企业的生命线。常州星海电子自成立以来,便高度重视质量管理体系的建设和完善。公司先后通过了ISO9002、ISO9001:2000、ISO14000等多项国际质量管理体系认证,以及TS16949体系认证。这些认证不仅证明了公司在质量管理方面的卓越实力,也为公司赢得了众多国内外客户的信任和赞誉。

台湾町洋(dinkle)公司的发展小趣事

随着电子行业的快速发展,町洋不断投入研发资源,致力于技术创新和产品升级。公司成功开发出了一系列具有高性能、高可靠性和高安全性的接线端子产品,满足了不同客户的需求。同时,町洋还积极引进国际先进技术和管理经验,不断提升自身的竞争力和市场占有率。

Flexxon Pte Ltd公司的发展小趣事

Flextronics(虚构为Flexxon Pte Ltd)自上世纪90年代末成立以来,便致力于成为全球供应链整合的领军者。公司最初从新加坡起步,迅速在全球范围内建立了多个生产基地和研发中心,以满足客户对电子产品快速响应和高质量生产的需求。通过高效的供应链管理,Flextronics不仅缩短了产品上市时间,还大幅降低了生产成本,赢得了包括惠普、戴尔、诺基亚等国际巨头的信任与合作。

问答坊 | AI 解惑

5.1声道DVD质量样板试机碟

我国首张5.1声道DVD质量样板试机碟由中国音像制品评价制作中心研制成功。  该试机碟采用DOBY AC-3和DTS两种解码方式。其主要内容包括5.1声道的基本概念、声频测试信号和重放系统校准程序、视频测试信号和重放系统校准程序,为该试机碟专 ...…

查看全部问答>

井冈山大学全国电子大赛培训赛体

本帖最后由 paulhyde 于 2014-9-15 08:55 编辑 井冈山大学全国电子大赛培训赛体  …

查看全部问答>

EVC XML文件的读写

下载网上的CMarkup类,在EVC下实现了XML文件的写入和读取,可是使用该类在VC6.0下编写的程序生成的xml文件下载到ppc2003中去读取不了,有没有人碰到类似的问题?难道EVC下的程序只能读取通过EVC编写并生成的XML文件吗?…

查看全部问答>

求教wince下nand拷贝的问题

比方说,我现在手头有100个nand要烧wince image(现在假定这100个nand都是完好的,质量perfect的),一种方法是一个一个用jtag烧,虽然笨一点,但肯定有效;但我想用nand拷贝的方式,就是用jtag烧写一个nand,然后用这个nand作为母片,然后克隆剩下的 ...…

查看全部问答>

请问哪位XD有华邦W83L528D芯片的XP驱动和PDF文档? 或者什么型号的笔记本电脑用到这个芯片。

请问哪位XD有华邦W83L528D芯片的XP驱动和PDF文档? 或者什么型号的笔记本电脑用到这个芯片。…

查看全部问答>

网卡芯片(如RTL8019或DM9000A等)有按MAC地址来自动过滤发来的数据包的功能吗?即:目的MAC地址与自已的MAC不相同的包不接收

网卡芯片(如RTL8019或DM9000A等)有按MAC地址来自动过滤发来的数据包的功能吗?即:目的MAC地址与自已的MAC不相同的包不接收。因为如果用单片机来控制网卡芯片,单片机本身速度比较慢内存也比较少,如果什么包都处理有可能来不及,内存也不够。我 ...…

查看全部问答>

教你如何辨别手机电池真伪

机电池的使用寿命是有限的,所以有时候手机还好好的,但电池已经很不经用了,这个时候,买一块新的手机电池就成为必须的了。作为一个手机用户,面对市场上泛滥成灾的假冒伪劣电池该如何选择呢?下面,笔者就教你几招,希望能帮助大家提高对手机电池 ...…

查看全部问答>

有没有比较过IAR与KEIL的编译效率?

                                 代码的效率,大小等。…

查看全部问答>

请教关于485通信的问题

通过485通信,串口调试助手能显示收到了数据,但内容显示不出来,但用超级终端内容就都能显示出来,为什么啊?…

查看全部问答>

C2000课程的PPT(在论坛的资料里有)

C2000课程的PPT 下载链接https://www.eeworld.com.cn/whitepaper/show.php?itemid=546 大家可以有如下来查找课程的PPT 首先,进入活动的主页。 然后关注 参考资料 从中就可以找到对应课程的PPT…

查看全部问答>