已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
漳州师范学院毕业论文(设计)基于DS18B20的室温温度控制器 Design of A Room Temperature Measurement System Based On DS18B20 姓 名: 林小燕 学 号: 070502102 系 别: 物理与电子信息工程系 专 业: 电子信息科学与技术 年 级: 2007级 指导教师: 郭海燕 2010 年 12 月 25日17摘要在温度检测控制系统中以单片机AT89S52为控制核心,对温度信号进行采集,处理数据并输出控制。单总线上连接多个传感器DS18B20,利用E2PROM建立了位置编号和传感器序列号的对应关系,实现多点温度测量。结合按键实现报警温度值的设置,采用数码管实时显示温度,并且通过控制继电器来实现温度调节。关键词:数字温度传感器;单总线;单片机AbstractIn the temperature measurement system, AT89S52 SCM that is the core of the controller sampls temperature signals,deals with the temperature datas and controls the output.Multiple temperature sensors DS18B20 are on the single bus. To realize the multi-spot temperature measurement system,it establishs the corresponding relation of position number and the serial number of sensors by E2PROM.Alarm temperature is manually setted by buttons.It uses digital tubes to realize the real-time display and applys the control of electric relays to regulate the temperature.Keywords:Digital Temperature Sensor;Single bus;SCM目 录摘要IAbstractI1引言12系统方案论证12.1温度传感器方案论证12.2显示电路方案论证12.3系统框图23系统硬件电路设计23.1单片机模块23.1.1AT89S52介绍23.1.2单片机应用电路43.2温度采集电路53.2.1DS18B20的技术特性53.2.2 DS18B20的内部结构63.2.3 DS18B20的测温原理73.2.4 DS18B20与单片机接口电路83.3 电源电路83.4显示电路93.5按键电路93.6 报警控制电路103.7 AT24C02存储电路104 软件设计104.1DS18B20的单线协议和命令104.1.1初始化114.1.2写DS18B20114.1.3读DS18B20124.2I2C总线通信协议124.2.1位传输124.2.2数据传输的字节格式134.2.3I2C数据传输协议134.3主程序流程设计144.4温度采集流程设计145结束语15参考文献15附录161引言随着现代自动化技术的发展,作为各种信息的感知、采集、转换、传输相处理的功能器件,温度传感器的作用日益突出。它的发展大致经历三个阶段:传统的分立式温度传感器;模拟集成温度传感器;数字温度传感器。目前,逐渐向数字式、智能式、网络化的方向发展,同时具有抑制干扰强、分辨率高、成本低等优点。在工业生产和实验研究中,在电力、化工、石油、冶金、机械制造、大型仓库、实验室、农场塑料大棚甚至人们的居室里经常需要对环境温度进行检测,并根据实际的要求对环境温度进行控制。本系统测量的对象是空气,测量点数至少为2个,测量精度为0.1,测量范围为-55+125,采用数码管实时显示温度值,格式为路数,整数部分,小数部分。设计一个能对多点温度测量的室温温度调节器,当对应的点温度超出设定值时,对应点的通风降温设备打开。2系统方案论证2.1温度传感器方案论证方案一:采用数字温度传感器DS18B20。DS18B20是一线式数字温度传感器,具有3引脚TO92小体积封装形式;温度测量范围为55125,可编程为9位12位转换精度,测温分辨率可达0.0625。DS18B20可以直接读出被测的温度值,而且采用3线制与单片机相连,减少了外部的硬件电路。每个DS18B20具有唯一的64位长序列号,存放于DS18B20内部存储器中,这样一条总线上可以挂多个DS18B20,大大节省了资源,因而使系统结构更趋简单。方案二:采用金属热电阻Pt100。Pt100传感器是一种以白金(Pt)做成的电阻式温度检测器,属于正电阻系数。利用铂电阻的阻值随温度的变化而变化,其温度与电阻的关RP=100+0.392T欧姆(00CT8500C),T为摄氏温度。允许通过Pt100的电流5mA,但Pt100的灵敏度不够好,性能比较差,价格昂贵,不利于工业中的大量使用。热敏电阻NTC电阻值随环境温度的变化幅度较大,需要查询温度与阻值对应的关系表,且需要带A/D转换电路的单片机组成的测温系统,不仅使硬件线路复杂化,增加软件开销。DS18B20测温系统具有测温系统简单、测温精度高、连接方便、占用口线少等优点。虽然测温范围较小在工业应用上会受到限制,但本设计应用于温室温度控制,基于以上分析采用方案一。2.2显示电路方案论证方案一:使用液晶显示。液晶显示屏(LCD1602)具有超薄轻巧、耗能低、无辐射危险,平面直角显示以及影像稳定不闪烁,可视面大,画面效果好,分辨率高,抗干扰能力强,显示字符多,内部自带128个字符,也可以自己创建字符库,不需要动态显示,这样不会限制控制器的送显时间,但价格较贵,成本太高,相对低成本的硬件设计来说不够经济实用。方案二:使用传统的数码管显示。数码管具有:低能耗、低压、高频特性好,单色性好,亮度高,显示稳定,使用寿命长,成本低,便于广泛使用。在单片机控制系统中,因为单片机的硬件简单灵活,非常适合使用LED数码管作为其输出设备,这样既满足了控制系统硬件简单,又能如实地显示系统的处理结果。动态显示所用的I/O接口信号线少,线路简单8。由于该系统只须显示数字即可,就经济实用性来看,该系统选择方案二2.3系统框图温度传感器及显示电路均采用方案二。与传统的多路测温电路不同的是,组成多路系统的每个DS18B20可以独立的同时完成转换,而后者由于采取放大电路和A/D转换器,只能逐一转换。因此,后者完成一次多路检测的周期T与通道数成正比,而DS18B20组成的测温系统中,可以实现统一转换,只需1s,可以用很少的时间去读取,省时效应越明显6。采用单片机89S52对温度传感器进行控制,可系统在线编程,硬件电路简单,较易实现系统功能。系统框图如图1所示。图1 系统框图3系统硬件电路设计3.1单片机模块本设计单片机应用电路模块由核心芯片AT89S52、时钟电路和复位电路组成,该模块功能是让单片机正常工作,对外部传感器采集的温度输入数据并处理。3.1.1AT89S52介绍AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K在系统可编程FLASH存储器,使用ATMEL公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容,片上FLASH允许程序存储器在系统可编程,也适用于常规编程器。这样的特性功能使得AT89S52为控制应用系统提供了高灵活、超有效的解决方案。AT89S52具有以下标准功能:8K字节FLASH,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,3个16位定时器/计数器,1个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。AT89S52引脚排列和逻辑符号如图2所示。图2 单片机AT89S52的引脚图AT89S52引脚功能介绍如下:1)P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0不具有内部上拉电阻。在FLASH编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。2)P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入口使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX),具体如下所示:P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5 MOSI(在系统编程用)P1.6 MISO(在系统编程用)P1.7 SCK(在系统编程用)在FLASH编程和校验时,P1口接收低8位地址字节。3)P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4 个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在FLASH编程和校验时,P2口也接收高8位地址字节和一些控制信号。4)P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如下所示:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INTO(外中断0)P3.3 INT1(外中断1)P3.4 TO(定时/计数器0)P3.5 T1(定时/计数器1)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)在FLASH编程和校验时,P3口也接收一些控制信号。5)RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。6)ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。7)PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。8)EA/VPP外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。当EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。对FLASH存储器编程期间,该引脚加上+12V的编程允许电源Vpp。9) XTAL1振荡器反相放大器和内部时钟发生电路的输入端。10)XTAL2振荡器反相放大器的输出端1。3.1.2单片机应用电路图3 单片机晶振电路 图4 单片机复位电路单片机晶振电路如图3所示。采用内部振荡电路方式,引脚XTAL1和XTAL2外接石英晶振和微调电容,这样所得的时钟信号比较稳定。理论上使用的是12MHz的晶振,但实际测得是11.0592MHz。两个33pF的电容主要起频率微调和稳定的作用。单片机复位电路如图4所示。采用手动复位与上电复位相结合的方式,当RST端出现两个及其周期以上高电平单片机复位。当按下按键S1时,VCC的高电平就直接加到RST端,即使很快的松开按键,也能满足复位的时间要求,实现了手动复位。上电复位由VCC通过电阻R3容C7成回路,通过电容的充电来实现,即上电瞬间RST端的电位与VCC相同,随着充电电流的减少,RST端的电位逐渐下降。3.2温度采集电路3.2.1 DS18B20的技术特性DALLAS单总线数字温度传感器DS18B20是一种新型的“一线器件”,它使用了在板“on-board”专利技术来测量温度,全部传感器及数字转换电路都集成在一起,其体积小、适用电压宽,适用于多种场合6。与传统的热敏电阻相比,它能够直接读出被测温度并且可根据实际要求通过简单的编程实现912位的转换精度,测温分辨率可达0.0625,分辨率设定参数以及设定的报警温度存储在E2PROM中,掉电不丢失,被测温度用符号位扩展的16位数字量方式串行输出。因为每一个DS18B20有唯一的序列号(serial number),CPU只需一根端口线就能与诸多DS18B20双向通信,这允许在不同地方放置传感器,节省了大量的引线和逻辑电路,构成多点温度采集系统。温度转换功率来源于数据总线,无需额外电源,因而使系统结构更简单,十分方便10。DS18B20的主要特性如下:1)适应电压范围:3.05.5V,在寄生电源方式下可由数据线供电。2)独特的单线接口方式:仅需要一条口线即可实现微处理器与DS18B20的双向通信。3)支持多点组网功能:多个DS18B20可以并联在唯一的三线上,实现多点测温。4)不需要任何外围元件,全部传感元件及转换电路集成在集成电路内。5)温范围55125,在-10+85时精度为0.5。6)可编程的分辨率为912位,测温分辨率可达0.0625,实现高精度测温。7)最多在750ms内把温度值转换为数字量输出,速度快。8)用户可定义的非易失性温度报警设置。9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。DS18B20的外部封装形式如图5所示。图5 DS18B20的外部封装图引脚功能描述如表1所示。表1 DS18B20引脚介绍引脚序号名称引脚功能描述1GND接地2DQ数字输入输出引脚,漏极开路单线接口引脚当使用寄生电源时,可提供电源3VDD可选择的电源引脚当使用寄生电源时,该引脚必须接地3.2.2 DS18B20的内部结构如图6所示。DS18B20内部结构主要组成:64位光刻ROM,温度灵敏器件,非易失性温度报警触发器TH和TL,配置寄存器。VDDDQ图6 DS18B20内部结构图(1)如图7所示。光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,可以实现一根总线上挂接多个DS18B20的目的。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。 图7 64位光刻ROM(2)非易失性温度报警触发器TH和TL,通过软件写入用户温度上下限。(3)DS18B20的内部存储器包括一个高速暂存RAM和一个非易失性、电可擦除的EEPROM,后者存放高温度和低温度触发器 TH、TL。数据先写入暂存RAM,也可以被读回,当数据被校验后传给EEPROM。暂存存储器有助于在单线通信时确保数据的完整性。高速暂存RAM由9个字节组成,其分布如表5所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存RAM的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后。第8个字节是循环冗余CRC校验值7。表2: DS18B20暂存存储器分布字节地址寄存器内容0温度值低位(LS Byte)1温度值高位(MS Byte)2高温限值(TH)3低温限值(TL)4配置寄存器5保留6保留7保留8CRC校验值(4)配置寄存器:高速暂存器中的第4个字节,用于确定温度值的数字转换分辨率。低五位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,R1和R0用来设置分辨率,如表3所示(DS18B20出厂时被设置为12位)。表3:配置寄存器结构TMR1R011111当设定的分辨率越高,温度数据转换所需的时间越长。表4: 温度分辨率设置表R1R0分辨率温度最大转换时间009位93.75ms0110位187.5ms1011位375ms1112位750ms3.2.3 DS18B20的测温原理如图8所示。DS18B20的测温过程:低温系数振荡器的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给计数器1,高温系数振荡器的振荡频率受温度的影响明显,所产生的信号作为计数器2的脉冲输入来确定一个门周期。计数器1在这个门周期内对低温系数振荡器的脉冲进行减法计数,如果计数器在门周期结束前到达0,则温度寄存器的值增加,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。每次测量前,首先将-55所对应的基数分别置入计数器1和温度寄存器中,计数器1和温度寄存器被预置在-55所对应的一个基数值。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。图8 温度测量电路框图当DS18B20接收到温度转换命令之后,开始启动转换,转换完成后的温度值以16位符号扩展的二进制补码读数形式存储在DS18B20的两个8比特的RAM中。二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。DS18B20部分温度数据如表6所示。表5: DS18B20温度值格式Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0232221202-12-22-32-4Bit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8SSSSS262524表6: DS18B20温度数据表温度/数字量输出(二进制)数字量输出(十六进制)+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00010191H+10.1250000 0000 1010 001000A2H+0.50000 0000 0000 10000008H00000 0000 0000 00000000H-0.51111 1111 1111 1000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90H3.2.4 DS18B20与单片机接口电路图9DS18B20与单片机接口电路 如图9所示,DS18B20组成网络的单总线接口DQ连接到单片机的I/O口P1.3。要想使DS18B20进行精确的温度转换,I/O线必须保证在温度转换期间提供足够的能量,由于每个DS18B20在温度转换期间工作电流达到1mA,当几个温度传感器挂在同一根I/O线上进行多点测温时,只靠4.7K上拉电阻就无法提供足够的能量,会造成无法转换温度或温度误差极大,因此采用独立电源工作方式。3.3 电源电路图10 电源电路如图10所示。由于单片机、测温、显示、报警等电路需要5V电源,选用三端稳压集成电路7805,该电路简单实用、性能可靠稳定。输入10V交流电压,经桥式整流、电容滤波后,再经过7805稳压,输出+5V的直流电压作为各个模块电源。电容C3和C4用于消除自激,两电容要紧靠7805。C1和C2是滤波电容,要求C2的容量要小于C1,以免掉电时C2通过7805向C1反充电。3.4显示电路图11 显示电路如图11所示。通过控制I/O口P2.0、P2.1的状态来实现两个不同颜色的发光二极管的亮暗,来区别系统的正常显示和设置状态,用四位数码管显示温度数据等。动态显示电路是AT89C51的P0.0至P0.7端口作为LED的字段输出口,P2.4至P2.7作为LED的位选控制口,采用PNP管9012驱动共阳LED显示器的第3引脚公共极COM,显示器从最左边的位开始点亮LED。动态显示电路采用4个共阳极LED数码管分时扫描,把所有数码管的8个笔划段a,b,h的同名端连在一起,而每一个显示器的公共极COM都是各自独立地受I/O口线控制。单片机向字段输出口送出字形码,所有显示器接收到相同的字形码,但究竟要在哪个显示器亮,则取决于公共极COM。由于数码管余辉效应和人眼的视觉暂留现象,尽管实际上各位显示器并非同时点亮,但只要扫描速度足够快,会出现稳定的显示数据。动态显示所用的I/O接口信号线少,线路简单8。3.5按键电路如图12所示。采用独立按键的结构形式,每个按键相互独立,分别与单片机的一根输入线相连,配置灵活,软件简单,适用于按键较少的场合。当按键开关未按下时,开关处于断开状态,单片机I/O口为高电平;当按键开关按下时,开关处于闭合状态,单片机I/O口为低电平。由于按键开关闭合和断开瞬间都会产生510ms的抖动,对于单片机来说完全可以感应到,因此采用软件消除抖动。图12 独立按键电路3.6 报警控制电路如图13所示。当各路的实际温度超过设置的温度值时,通过控制单片机的I/O口产生脉冲信号,使三极管导通和截止,蜂鸣器间断地发出声音,并由发光二极管指示及相应的继电器动作控制外部设备以调节温度。图13 报警控制电路3.7 AT24C02存储电路图14 24C02存储电路如图14所示。为使掉电后上次设定的数据不丢失,采用串行EEPROM进行掉电前的数据存储。A0,A1,A2为器件地址线,WP为写保护引脚,通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,这两个引脚需接10K的上拉电阻12。4 软件设计系统程序主要包括主程序、DS18B20温度采集子程序、显示子程序、按键扫描子程序、报警子程序和数据存储子程序等。软件设计关键在于DS18B20的使用,DS18B20属于单线式器件,它在一根数据线上实现数据的双向传输,有严格的通信协议来保证数据传输的正确性和完整性。4.1DS18B20的单线协议和命令根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。表7: ROM指令表 指 令代码功 能读ROM33H读DS1820温度传感器ROM中的64位编码。符合 ROM 55H发出此命令之后,接着发出64位ROM编码,访问单总线上与该编码相对应的DS1820使之作出响应,为下一步对该DS1820的读写作准备。 跳过 ROM 0CCH忽略64位ROM地址,直接向DS1820发温度变换命令,单片操作。 搜索 ROM 0F0H用于确定挂接在同一总线上DS1820的个数和识别64位 ROM 地址。告警搜索0ECH执行后只有温度超过设定值上限或下限的DS1820才做出响应。 表8: RAM指令表 指 令 代码功 能温度变换44H启动DS1820进行温度转换,12位转换时最长为750ms(9位为93.75ms)。结果存入内部9字节RAM中。 读暂存器 0BEH 读内部RAM中9字节的内容。 写暂存器 4EH 发出向内部RAM的3、4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。 复制暂存器 48H 将RAM中第3 、4字节的内容复制到E2PROM中。 重调E2PROM0B8H 将E2PROM中内容恢复到RAM中的第3 、4字节。 读供电方式 0B4H 读DS1820的供电模式。寄生供电时发送“ 0 ”,外接电源供电时发送“ 1 ”。4.1.1初始化单总线上与DS18B20的所有通信都是从初始化开始,然后主机在相应的时隙内读出数据或写入命令。初始化要求只能总线主机发送480960us低电平信号后再置高电平的复位脉冲,在监测到I/O口上升沿后,DS18B20等待1560us,然后发送60240us的低电平后在置高的存在脉冲,表示复位成功,此时单总线为高电平8。时序如图14所示。图14 初始化时序图4.1.2写DS18B20当主机把数据线从逻辑高电平拉到逻辑低电平时,写时序开始:写“1”和写“0”。所有写时序都至少需要60us,且在两次独立的写时序之间至少需要1us的恢复时间。I/O口线电平变低后,DS18B20在一个1560us的窗口内对单总线进行采样,如果线上是高电平,则写“1”;如果线上是低电平,则写“0”;如此循环8次,完成一个字节的写入8。写时序如图15所示。图15 写DS18B20时序图4.1.3读DS18B20当DS18B20检测到主机启动读时序后才向主机传输数据。所有读时序都至少需要60us,且在两次独立的读时序之间至少需要1us的恢复时间。自主机把数据线拉低开始,数据线必须保持至少1us,由于从DS18B20输出的数据在读时序的下降沿出现后15us内有效,因此主机在读时序开始后必须释放总线15us,以读取I/O口线电平。在读时序的结尾,I/O口线将被外部上拉电阻拉到高电平,如此循环8次,完成一个字节的读入8。读时序如图16所示。图16读DS18B20时序图4.2I2C总线通信协议4.2.1位传输I2C总线每传送一位数据必须有一个时钟脉冲。被传送的数据在时钟SCL的高电平期间保持稳定,只有在SCL低电平期间才能够改变,在标准模式下,高低电平宽度必须不小于4.7us。如下图17所示。图17 数据有效性起始和终止信号都是由主机发出的,在起始信号产生后,总线就处于被占用的状态;在终止信号产生后,总线就处于空闲状态。开始和结束信号的时序图如图18所示:开始信号:当SCL为高电平时,SDA发生从高到低的跳变。停止信号:当SCL为高电平时,SDA发生从低到高的跳变。应答信号:接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况作出是否继续传递信号的判断。图18 位传输4.2.2数据传输的字节格式SDA传送数据是以字节为单位进行的。每个字节必须是8位,但是传输的字节数量不受限制,首先传送的是数据的最高位。每次传送一个字节完毕,必须接收到从机发出的一个应答位,才能开始下一个字节的传输。如果没有接受到应答位,主机则产生一个停止条件结束本次的传送。当主器件传送一个字节后,在第9个SCL时钟内置高SDA线,而从器件的响应信号将SDA拉低,从而给出一个应答位。图19 数据传输字节格式4.2.3I2C数据传输协议I2C总线的数据传输协议如下:(1)主器件发出开始信号。(2)主器件发出第一个字节,用来选通相应的从器件。其中前7位为地址码,第8位为方向位(R/W)。方向位为“0”表示发送,方向位为“1”表示接受。(3)从机产生应答信号,进入下一个传送周期,如果从器件没有给出应答信号,此时主器件产生一个结束信号使得传送结束,传送数据无效。(4)主、从器件进行正式的数据传送,每一个字节必须为8位(传送的时候先送高位,再送低位)。当一个字节传送完毕时,再发送一个应答位(第9位),如上一条所述,这样每次传送
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 道路绿化养护现场管理规范
- 2026年亳州涡阳县机关事业单位公开招募就业见习人员(第三批)考前冲刺试卷【夺冠系列】附答案详解
- 成都市简阳市2026年上半年引进急需紧缺人才公开考核招聘(4人)考前冲刺试卷【培优B卷】附答案详解
- 2026广东汕头市潮南区银龄教师招募9人备考题库带答案详解(轻巧夺冠)
- 【4人】遂川县职业学校(遂川高级技工学校)面向社会公开招聘非编教师模拟试卷及完整答案详解(必刷)
- 2026年宁夏回族自治区文化和旅游厅事业单位自主公开招聘高层次人才考前冲刺试卷及参考答案详解【完整版】
- 2026本溪市教育系统暑期引进急需紧缺人才3名(本溪市第一中学)备考题库【夺分金卷】附答案详解
- 2026四川广元市选聘“周末工程师”18人考前冲刺密卷及参考答案详解(能力提升)
- 2026广东梅州市兴宁市教育局选调教研员7人笔试题库【学生专用】附答案详解
- 2026年陕西省石油化工学校教师招聘(11人)模拟试卷及参考答案详解【黄金题型】
- 2026-2027学年度第一学期工作计划:稳课堂、研教学、强队伍、守底线
- 5、中建商务管理手册(2024年)
- 北京通州农商产业发展集团有限公司招聘17人笔试备考题库及答案详解
- 中国融通资源开发集团有限公司物资接收、仓储人员专项招聘87人笔试模拟试题及答案详解
- 乡村振兴个人现实表现材料
- 游标卡尺培训课件
- T/CAPE 10108-2024设备设施报废管理指南
- 尿常规课件教学课件
- 学校合唱比赛评分细则
- 复温新技术汇报
- 布袋除尘器检修方案
评论
0/150
提交评论