版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入式技术及其应用硬件编程与调试技术
3.3V和5V装置的互连
连接3.3V设备到5V设备需要考虑到驱动器和接收器的逻辑电平是否匹配。5VTTL和3.3VTTL的逻辑电平是相同的,而5VCMOS逻辑电平与前两者是不同的。这在连接3.3V系统到5V系统时是必须考虑的。(1)5VTTL装置驱动3.3VTTL装置。5VTTL和3.3VLVC的逻辑电平是相同的。因为5V容忍度的装置可以经受住6.5V的直流输入,所以5VTTL连接3.3V且容忍度为5V的装置时,可以不需要额外的元器件。TI的CBT(crossbartechnology)开关可以用来从5VTTL向3.3V且容忍度不为5V的装置传送信号。该开关通过使用一个外部的产生0.7V压降的二极管和CBT(门极到源极的压降为1V),从而产生3.3V的电平。(2)3VTTL装置(LVC)驱动5VTTL装置。两者逻辑电平是相同的,连接可以不需要外部电路或装置。(3)5VCOMS装置驱动3.3VTTL装置。两个不同的逻辑电平连接在一起,进一步分析5VCOMS装置的VOH和VOL与3.3VLVC装置的VIH和VIL电平,虽然存在不一致的地方,但有5V容忍度的3.3V装置可以在5VCMOS电平输入下工作。使用5V容忍度的LVC装置,5VCMOS驱动3.3VLVC是可能的。(4)3.3VTTL装置驱动5VCMOS装置。3.3VLVC的VOH是2.4V(输出电平可达3.3V),而5VCMOS装置的最小VIH要求是3.5V。因此,用3.3VLVC或其他3.3V标准的装置驱动5VCMOS装置是不可能的。解决该问题就需要用到专用芯片,如TI的SN74ALVC164245和SN74LVC4245等。这些芯片一边采用3.3V电平供电,另一边采用5V电平供电,可以使3.3V逻辑部分驱动5VCMOS装置。
微代码支持的串口调试
传统上,首先用于开发嵌入式系统的工具是内部电路仿真器(ICE),它是一个相对昂贵的部件,用于植入微处理器与总线之间的电路中,允许使用者监视和控制微处理器所有信号的进出。它提供了总线工作的清晰情况,避免了许多对硬件软件底层工作状况的猜测。过去,一些工作依赖ICE为主要调试工具,用于整个开发过程。但是,一旦初始化软件对串口支持良好的话,多数的调试可以不用ICE而直接使用串口开始调试。
在Bootstrap模式下,通常允许用户通过UART控制器初始化目标板和下载程序到目标板的RAM和FLASH中。一旦程序被下载,就能够被执行,给了用户一个简单的用于故障分析的调试环境和更新FLASH存储器中程序的途径。在bootstrap模式下,UART控制器被初始化到9600baud,无奇偶校验,8位字符和1个停止位,准备下载程序或者数据。Bootstrap模式通常是处理器工作在最高优先级时的方式。复位后,bootstrap复位向量会在内部产生。这些两个字长的复位向量被装载到内核的堆栈指针和程序计数器中。然后内建的bootstrap程序将开始运行并接收数据传送。编程技术
(1)使用编程器,就是在芯片焊接之前,先通过编程器将代码烧写道FLASH中,再将FLASH芯片焊接到目标板上。使用编程器进行编程特别适合于DIP封装芯片的编程,如果是其它类型的封装,则必须要使用相应的适配器。这种方法的缺点是需要手工进行待编程芯片的插入、锁定等工作,容易造成芯片方向错误,引脚错位等,导致编程效率降低。
(2)使用板上编程器编程(OBP),这种方法是在板上所有芯片包括FLASH芯片已经焊装完毕之后,再对可编程芯片进行编程。通过专用电缆将电路板与外部计算机连接,由计算机的应用程序进行板上可编程芯片的代码或数据写入,芯片擦除、编程所需要的电压、控制信号、地址数据和相关命令都由板外的编程控制器提供。使用板上编程器进行板上编程时,需要关断目标板上CPU的电源或将其外部接口信号设置为高阻状态,以免与编程时的地址、数据和控制信号发生冲突。这种方法的缺点是需要在电路板上设计编程用的接口、隔离等辅助电路,在编程时通过跳线或FET开关进行编程与正常工作的状态转换。这样会增加每个电路板芯片的数量,造成产品成本的增加。
(3)在系统编程(ISP、ISW),是指直接利用系统中带有JTAG接口的器件,如CPU、CPLD、FPGA等,执行对系统中程序存储器芯片内容的擦除和编程操作。一般而言,高档微处理器均带有JTAG接口,系统程序存储器的数据总线、地址总线和控制信号直接接在微处理器上。编程时,使用PC机内插卡或并行接口通过专用电缆将系统电路板与PC机联系起来,在PC机上运行相关程序,将编程数据及控制信号传送到JTAG接口的芯片,再利用相应指令从微处理器的引脚按照FLASH芯片的编程时序输出到FLASH存储器。(4)在应用中编程(IAP),是指通过完成后的系统软件和硬件资源,在不影响系统工作的情况下,将欲修改的代码和参数写入程序存储器当中。两片以上独立的程序存储器或具备文件系统;操作系统支持;JATG与IEEE1149协议简介
JTAG是英文“JointTestActionGroup(联合测试行为组织)”的词头字母的简写,该组织成立于1985年,是由几家主要的电子制造商发起制订的PCB和IC测试标准。JTAG建议于1990年被IEEE批准为IEEE1149.1-1990测试访问端口和边界扫描结构标准。该标准规定了进行边界扫描所需要的硬件和软件。自从1990年批准后,IEEE分别于1993年和1995年对该标准作了补充,形成了现在使用的IEEE1149.1a-1993和IEEE1149.1b-1994。JTAG主要应用于:电路的边界扫描测试和可编程芯片的在系统编程。
JTAG的用途电路的边界扫描测试技术:用具有边界扫描功能的芯片构成的印刷板,可通过相应的测试设备,检测已安装在印刷板上的芯片的功能,检测印刷板连线的正确性,同时,可以方便地检测该印刷板是否具有预定的逻辑功能,进而对由这种印刷板构成的数字电气装置进行故障检测和故障定位。
在硬件结构上,JTAG接口包括两部分:JTAG端口和控制器。与JTAG接口兼容的器件可以是微处理器(MPU)、微控制器(MCU)、PLD、CPL、FPGA、ASIC或其它符合IEEE1149.1规范的芯片。IEEE1149.1标准中规定对应于数字集成电路芯片的每个引脚都设有一个移位寄存单元,称为边界扫描单元BSC。它将JTAG电路与内核逻辑电路联系起来,同时隔离内核逻辑电路和芯片引脚。由集成电路的所有边界扫描单元构成边界扫描寄存器BSR。边界扫描寄存器电路仅在进行JTAG测试时有效,在集成电路正常工作时无效,不影响集成电路的功能。
在对多个具有JTAG芯片编程时,可以组成JTAG菊花链结构(Daisychain),是一种特殊的串行编程方式。每片TDI输入端与前面一片的TDO输出端相连,最前面一片的TDI端和最后一片的TDO端与JTAG编程接口的TDI、TDO分别相连。如图1.11.所示。链中的器件数可以很多,只要不超出接口的驱动能力即可。通过状态机控制,可以使非正在被编程器件的TDI端直通TDO端,这样就可以使数据流形成环路,对各器件按序进行编程。使用者可以通过读取每个芯片特有的识别码知道该器件在链中的位置。
(1)指令寄存器IR:由两个或更多个指令寄存单元和指令译码器组成,通过它可以串行输入执行各种操作的指令。(2)数据寄存器组:是一组基于电路的移位寄存器。操作指令被串行装入由当前指令所选择的数据寄存器。随着操作的执行,测试结果被移出。(3)边界寄存器DR:在内部逻辑电路和各引脚之间均插入了一串边界扫描单元,形成了由TDI到TDO之间的边界寄存器链((4)旁路寄存器BP:它只是1位寄存器。它的一端与TDI相连,另一端与TDO相连。在指令控制下,由TDI输入的数据可以直接经由本片的旁路寄存器送到TDO。使用旁路寄存器,可以越过片1、片2的边界寄存器,仅经过它们的旁路寄存器直接向片3输入数据。(5)测试访问端口(TAP)控制器:TAP控制器是一个16状态的莫尔型同步时序电路,响应于测试时钟TCK的上升沿。在TCK和TMS协同配合下确定来自TDI的串行数据是指令码还是测试码,进而产生ClockIR、ClockIR、UpdateIR、UpdateDR、ShiftDR和Mode、Control等信号,实现对IR和DR的设置和控制。(6)测试总线:这种芯片至少有四个供边界扫描用的附加引脚TCK、TMS、TDI和TDO,还可以另设一个引脚TRST。TCK是测试时钟输入引脚,TMS是测试方式选择引脚,TDI是测试用输入引脚,TDO是测试用输出引脚。这四个引脚构成了测试总线。TRST是供TAP控制器复位用的。
系统设计实例—水声遥控释放器水声释放器的分类有缆控制型;定时型;无缆遥控型;切缆型;烧蚀型;爆破式;电机驱动型。
动作机构形式控制方式烧蚀型爆破型切缆型电机驱动型无缆遥控型结构简单、可靠性高、准备周期长结构复杂、可靠性高、便于回收、工作于深海可靠性高、机械结构复杂、功耗较大高可靠性、载荷有限、工作于浅海、体积小、重量轻、使用和回收方便定时型预设时间节点、功耗低、回收的可操作性差有缆控制型结构简单、抗干扰、可靠性高、灵活性差AR701AE技术指标工作深度:400米;水下连续工作时间:10~15个月;释放载荷:200公斤;工作范围:2000米;外形尺寸:长度564毫米,直径140毫米;重量:6.5公斤(空气中),2公斤(水中);频率范围:8至16千赫;声源级:190分贝;超过30000独立编码;工作范围:约10千米(根据具体的信道条件而定);水声信道分析
声传播损失;多途效应;海洋环境噪声
传播损失多途效应海洋环境噪声
声学参数计算工作频率:f=50kHz;发射声源级:SL=192dB;传播损失:TL=70dB;系统工作带宽:B=20kHz;水听器灵敏度:M=-170dB;NL=108dB水听器表面信噪比:SNR=14dB;硬件系统设计电路系统设计模拟电路设计数字电路设计电路系统参数的计算声信号幅值:Vi<5mV;A/D转换器量程:0~2.5V;放大电路增益G=500;滤波器通频带:B=20kHz;8阶巴特沃斯滤波器;检波电路;光电耦合电路;核心处理器遥控信息解码步进电机驱动实时时钟控制串行通信低功耗软件设计(略)嵌入式指纹识别系统
生理测定技术点之一;指纹具有终生不变性及稳定性;用于身份认证;应用前景较好的生物识别系统包括:虹膜识别;面部识别;签名识别;声音识别;指纹识别原理
通过分析指纹的全局特征和局部特征,特征点如脊点、谷点、终点、分叉点等;每个特征点约有7个特征;特征匹配数目大于10认为匹配成功;
算法流程图像分割图像增强二值化图像细化特征提取图像采集模块光学录入主要依据是光的全反射原理(FTIR)。光线照到压有指纹的玻璃表面,反射光线由电荷耦合器件(简称CCD:ChargeCoupledDevice)去获得,反射光形成指纹图象。
电容式固体传感器采样平面由许许多多微小电容组成。当手指皮肤接触传感器表面时,纹理凸起处连接的电容容值比凹陷处连接的电容值大,依靠这种电容值的不同形成指纹的图像。
超声波传感器依靠反射波的强弱形成指纹纹理图像。当超声波源发出的超声波通过传感器表面到达手指表面时.会被反射回去。接收设备获取反射信号,得到脊的深度,形成指纹图象。积累在皮肤上的脏物和油脂对超声波获得的图像影响比较微弱。FPS200指纹传感器256×300个电容传感阵列;分辨率500dpi;工作电压范围为3.3~5V;8位ADC;两组采样保持电路;FPS200的内部结构以一个便携式GPS导航系统的开发实例来说明整个系统设计的流程
需求便携式GPS导航系统是一个手持的电池供电系统,需要完成以下功能
能够存储电子地图信息并在LCD显示屏上显示能够接收GPS信号,根据GPS收到的信息可以确定当前在地图中所处的位置给定起点和终点可以计算出合理的行进路线可以通过以太网下载更新电子地图或系统软件有USB主端接口,满足USB1.1规范,可以挂接键盘、鼠标和存储设备等分析根据系统功能,可以确定该系统需要有以下的内存和功能接口
32MBFlash存储器,用于存储电子地图信息4MBFlash存储器,用于存储系统软件64MBSDRAM,用作系统运行内存TFT-LCD接口,支持16位颜色,6.4英寸TFT-LCD显示屏RS232接口,用于与GPS模块通讯10M以太网接口USB主端接口支持6.4英寸四线电阻式触摸屏处理器的选择嵌入式系统设计的差异性极大,因此选择是多样化的选择:PXA255是Intel公司采用XScale微体系结构开发的一款嵌入式处理器,主要面向手持多媒体应用特性 高性能、低功耗的XScale处理器核,时钟频率按不同型号分为200MHz、300MHz和400MHz系统总线速度比PXA250提高一倍,当内核工作在400MHz时系统总线频率为200MHz采用0.18微米工艺制造,17mmx17mmx1.75mm,256脚PBGA封装采用Intel多媒体处理技术增强型存储器控制器,支持2.5V/3.3V、16/32位的存储器支持MMC/SD卡和PCMCIA/CF卡提供920Kbps蓝牙接口外围部件存储器控制器。可为多种存储器芯片提供可编程的控制信号。支持4个SDRAM分区,6个SRAM、SSRAM、FLASH、ROM、SROM静态片选和2个PCMCIA或COMPACTFLASH槽时钟和电源控制器。时钟可由3.6864MHz和一个可选的32.768KHz两种晶体驱动。3.6864MHz晶体驱动一个核心锁相环和一个外围锁相环。32.768KHz晶体产生一个硬件复位后选定的可选时钟源,用于驱动实时时钟(RTC)、电源管理控制器和中断控制器USB从端设备控制器。支持多达16个终结点,提供一个内部产生的48MHz时钟DMA控制器。提供16个优先级不同的通道,用于响应来自片内外围部件和片外设备的数据传输请求液晶控制器。提供支持双扫描无源阵列彩显(DSTN,俗称伪彩)或有源阵列彩显(TFT,俗称真彩)屏的接口。最大支持显示分辨率为1024×1024像素AC97控制器。支持AC972.0修订版本的多媒体数字信号编解码器,为立体PCM输入输出、Modem输入输出和单一的麦克风输入都提供了单独的16位通道I2S控制器。为标准I2S多媒体数字信号编解码器提供了串行连接。I2S控制器引脚与AC97控制器引脚复用MMC控制器。提供到标准存储卡的串行接口,数据传输速率最高可达20Mbps高速红外(FIR)通讯端口。基于4Mbps的红外数据协会(IrDA)规格,工作于半双工模式下同步串行协议端口(SSP)控制器。提供7.2Kbps到1.84Mbps的全双工同步串行接口。SSP接口支持NationalSemiconductor的Microwire协议、TexasInstruments的同步串行协议(SSP)和Motorola的SPI协议I2C总线接口单元。提供2个引脚的通用串行通讯端口,其中一个引脚用于数据和地址,另一个用于时钟通用I/O引脚。每个引脚都可以独立地编程定义为输入或输出4个UART。每一个UART都能用作低速红外收发全功能UART(FFUART):可编程波特率最大为230Kbps,提供完整的modem控制引脚蓝牙UART(BTUART):可编程波特率最高可达921Kbps,提供部分modem控制引脚标准UART(STUART):可编程波特率最高可达230Kbps,不提供任何modem控制引脚,但可通过GPIO引脚提供硬件UART(HWUART):它带有硬件流控制,提供部分modem控制引脚,其编程可调的波特率可高达921.6Kbps。硬件UART的引脚与PCMCIA的控制引脚复用实时时钟。实时时钟可提供恒定频率的输出,它带有可编程闹钟寄存器,可用于从休眠模式中唤醒处理器OS定时器。可用于提供一个带有4个寄存器的3.6864MHz参考计数器。这些寄存器可用于产生中断,其中一个还能用于产生看门狗中断脉冲宽度调制(PWM)。其频率和占空比可以独立编程中断控制。中断控制器可以通过屏蔽寄存器禁用或启用单个中断源网络同步串行协议端口(NSSP)。该端口可用于连接其他的网络ASIC为什么选择PXA255?①处理器性能不是在于挑选速度最快的处理器,而是在于选取能够完成作业的处理器和I/O子系统可能会升级的系统,可以考虑在完成目前作业的情况下还能够有一定的性能余量处理器便携式GPS导航系统在显示和路线计算方面对处理器的性能要求都比较高,而PXA255则具有较高的处理性能,系统时钟频率可以达到400MHz,外围总线频率可以达到100MHz,能够较好的完成该系统所要求的功能②集成外围接口内部有集成的LCD控制器,可以直接支持16位颜色的TFT-LCD显示屏有多个UART通讯口,可以方便的扩出与GPS模块通讯的RS232通讯口使系统的设计变得相对简单③功耗当工作在400MHz时钟频率运行模式下,PXA255的功耗的典型值仅为411mW如果降低工作频率,处理器的功耗会变得更低PXA255还提供了加速模式、运行模式、待机模式和睡眠模式这四种工作模式,可以方便的进行电源管理在相应的开发板上做前期的试验评估,确保在软硬件方面都能够满足设计的要求外围器件的选择Micron公司的MT48LC16M16A2是位宽为16位,容量为32MB的SDRAM。系统中采用两片MT48LC16M16A2来组成所需要的32位宽、32MB的运行内存。Intel公司的TE28F160C3T和28F128J3C是两款NOR型闪存。系统中分别采用两片TE28F160C3T和两片28F128J3C来用作系统程序的存储器和电子地图的存储器。10M以太网接口可以通过CirrusLogic公司的CS8900A来提供CS8900A是用于嵌入式设备的低成本以太局域网控制器。它的高度集成设计使其不再需要其它以太网控制器所必需的昂贵外部器件。CS8900A包括片上RAM,10Base-T传输和接收滤波器,以及带24毫安驱动的直接ISA-总线接口Cypress公司的SL811HS可用来提供系统中所需的满足USB1.1规范的USB主端接口。SL811HS是一个既可以作为USB主端也可以作为USB从端,既可以工作在全速模式(12Mbps)也可以工作在低速模式(1.5Mbps)的嵌入式USB主端/从端控制器它可以直接与多种总线挂接,如嵌入式处理器的数据总线、ISA总线和PCMCIA总线等TI公司的ADS7843E是一款高性能低功耗的四线电阻式触摸屏控制器通过它系统可以方便的挂接四线电阻式触摸屏内部集成一个12位分辨率的模数转换器(ADC),最高转换速度可以达到125KHz,并通过串行口与处理器进行通讯电源方案的设计两种基本的直流/直流变换的电源供电方式线性稳压电源开关稳压电源线性稳压电源优点就是电路结构简单,可靠性高,所需电路元件数量少,电源纹波小一个致命的弱点就是效率低,功耗大开关稳压电源优点就是转换效率高,一般可以达到80%以上升降压比较灵活便携式GPS导航系统是一个电池供电的手持系统尽量使用高转换效率的开关稳压电源来实现系统的供电整体框架图
DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小,抗干扰能力强,精度高的特点。
DS18B20具有唯一的序列号,在一根通信线,可以挂很多这样的数字温度计,十分方便。
DS18B20的主要特征:全数字温度转换及输出。先进的单总线数据通信。最高12位分辨率,精度可达土0.5摄氏度。12位分辨率时的最大工作周期为750毫秒。可选择数据线寄生电源工作方式。检测温度范围为–55°C~+125°C内置EEPROM,限温报警功能。64位光刻ROM,内置产品序列号,方便多机挂接。多样封装形式,适应不同硬件系统。
DS18B20芯片封装结构:
DS18B20详细引脚功能描述:序号名称引脚功能描述
GND地信号2
DQ数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。
VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。
DS18B20内部结构图:
DS18B20共有三种形态的存储器资源:1、ROM只读存储器,用于存放DS18B20的ID编码,其前8位是单线系列编码(DS18B20的是28H),后面48位是芯片唯一的序列号,最后8位是以上56位的CRC码(冗余校验)。数据在出产时设置不由用户更改。DS18B20共64位ROM。2、RAM数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。第1、2个字节是温度转换后的数据值(温度寄存器),第3、4个字节是用户EEPROM(温度报警值TH、TL储存)的镜像。在上电复位时其值将被刷新。第5个字节则是用户第3个EEPROM的镜像(配置寄存器)。第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第9个字节为前8个字节的CRC码。3、EEPROM非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操作。
DS18B20内部存储器结构:
DS18B20温度寄存器格式:测得的温度值以二进制补码的形式存放于温度寄存器中。S为符号位,S=0时,表示温度值为正;S=1时表示温度值为负。主机读取数据后,先将数据补码变为原码,再计算其十进制值。
DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小,抗干扰能力强,精度高的特点。
DS18B20具有唯一的序列号,在一根通信线,可以挂很多这样的数字温度计,十分方便。
DS18B20的主要特征:全数字温度转换及输出。先进的单总线数据通信。最高12位分辨率,精度可达土0.5摄氏度。12位分辨率时的最大工作周期为750毫秒。可选择数据线寄生电源工作方式。检测温度范围为–55°C~+125°C内置EEPROM,限温报警功能。64位光刻ROM,内置产品序列号,方便多机挂接。多样封装形式,适应不同硬件系统。
DS18B20芯片封装结构:
DS18B20详细引脚功能描述:序号名称引脚功能描述
GND地信号2
DQ数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。
VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。
DS18B20内部结构图:
DS18B20共有三种形态的存储器资源:1、ROM只读存储器,用于存放DS18B20的ID编码,其前8位是单线系列编码(DS18B20的是28H),后面48位是芯片唯一的序列号,最后8位是以上56位的CRC码(冗余校验)。数据在出产时设置不由用户更改。DS18B20共64位ROM。2、RAM数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。第1、2个字节是温度转换后的数据值(温度寄存器),第3、4个字节是用户EEPROM(温度报警值TH、TL储存)的镜像。在上电复位时其值将被刷新。第5个字节则是用户第3个EEPROM的镜像(配置寄存器)。第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第9个字节为前8个字节的CRC码。3、EEPROM非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操作。
DS18B20内部存储器结构:
DS18B20温度寄存器格式:测得的温度值以二进制补码的形式存放于温度寄存器中。S为符号位,S=0时,表示温度值为正;S=1时表示温度值为负。主机读取数据后,先将数据补码变为原码,再计算其十进制值。寄生电源工作方式
(电源从IO口上获得)注意:当温度高于100℃时,不能使用寄生电源,因为此时器件中较大的漏电流会使总线不能可靠检测高低电平,从而导致数据传输误码率的增大。
外接电源工作方式
DS18B20的工作时序DS18B20的一线工作协议流程是:初始化→ROM操作指令→存储器操作指令→数据传输。其工作时序包括: 初始化时序 写时序 读时序初始化时序主机首先发出一个480-960微秒的低电平脉冲,然后释放总线变为高电平,并在随后的480微秒时间内对总线进行检测,如果有低电平出现说明总线上有器件已做出应答。若无低电平出现一直都是高电平说明总线上无器件应答。
做为从器件的DS18B20在一上电后就一直在检测总线上是否有480-960微秒的低电平出现,如果有,在总线转为高电平后等待15-60微秒后将总线电平拉低60-240微秒做出响应存在脉冲,告诉主机本器件已做好准备。若没有检测到就一直在检测等待。
接下来就是主机发出各种操作命令,但各种操作命令都是向DS18B20写0和写1组成的命令字节,接收数据时也是从DS18B20读取0或1的过程。因此首先要搞清主机是如何进行写0、写1、读0和读1的。写周期最少为60微秒,最长不超过120微秒。写周期一开始做为主机先把总线拉低1微秒表示写周期开始。随后若主机想写0,则继续拉低电平最少60微秒直至写周期结束,然后释放总线为高电平。若主机想写1,在一开始拉低总线电平1微秒后就释放总线为高电平,一直到写周期结束。而做为从机的DS18B20则在检测到总线被拉底后等待15微秒然后从15us到45us开始对总线采样,在采样期内总线为高电平则为1,若采样期内总线为低电平则为0。
对DS18B20的写和读操作对于读数据操作时序也分为读0时序和读1时序两个过程。读时隙是从主机把单总线拉低之后,在1微秒之后就得释放单总线为高电平,以让DS18B20把数据传输到单总线上。DS18B20在检测到总线被拉低1微秒后,便开始送出数据,若是要送出0就把总线拉为低电平直到读周期结束。若要送出1则释放总线为高电平。主机在一开始拉低总线1微秒后释放总线,然后在包括前面的拉低总线电平1微秒在内的15微秒时间内完成对总线进行采样检测,采样期内总线为低电平则确认为0。采样期内总线为高电平则确认为1。完成一个读时序过程,至少需要60us才能完成
DS18B20单线通信功能是分时完成的,他有严格的时隙概念,如果出现序列混乱,1-WIRE器件将不响应主机,因此读写时序很重要。系统对DS18B20的各种操作必须按协议进行。根据DS18B20的协议规定,微控制器控制DS18B20完成温度的转换必须经过以下4个步骤:(1)每次读写前对DS18B20进行复位初始化。复位要求主CPU将数据线下拉500us,然后释放,DS18B20收到信号后等待16us~60us左右,然后发出
60us~240us的存在低脉冲,主CPU收到此信号后表示复位成功。(2)发送一条ROM指令(3)发送存储器指令DS18B20的存储器指令集
现在我们要做的是让DS18B20进行一次温度的转换,那具体的操作就是:1、主机先作复位操作,2、主机再写跳过ROM的操作(CCH)命令,3、然后主机接着写转换温度的操作命令,后面释放总线至少一秒,让DS18B20完成转换的操作。在这里要注意的是每个命令字节在写的时候都是低字节先写,例如CCH的二进制为11001100,在写到总线上时要从低位开始写,写的顺序是“零、零、壹、壹、零、零、壹、壹”。整个操作的总线状态如下图。读取RAM内的温度数据。同样,这个操作也要接照三个步骤。1、主机发出复位操作并接收DS18B20的应答(存在)脉冲。2、主机发出跳过对ROM操作的命令(CCH)。3、主机发出读取RAM的命令(BEH),随后主机依次读取DS18B20发出的从第0一第8,共九个字节的数据。如果只想读取温度数据,那在读完第0和第1个数据后就不再理会后面DS18B20发出的数据即可。同样读取数据也是低位在前的。整个操作的总线状态如下图:
在这里说明一下,第二步跳过对ROM操作的命令是在总线上只有一个器件时,为节省时间而简化的操作,若总线上不止一个器件,那么跳过ROM操作命令将会使几器件同时响应,这样就会出现数据冲突。初始化时序bitInit_DS18B20(void) {bitflag;//储存DS18B20是否存在的标志,flag=0,存在;flag=1,不存在
DQ=1;//先将数据线拉高
for(time=0;time<2;time++);//略微延时约6微秒//再将数据线从高拉低,要求保持480~960usDQ=0;
for(time=0;time<200;time++);//略微延时约600微秒//以向DS18B20发出一持续480~960us的低电平复位脉冲DQ=1;//释放数据线(将数据线拉高)
for(time=0;time<10;time++);//延时约30us(释放总线后需等待15~60us让DS18B20输出存在脉冲)flag=DQ;//让单片机检测是否输出了存在脉冲(DQ=0表示存在)
for(time=0;time<200;time++);//延时足够长时间,等待存在脉冲输出完毕return(flag);//返回检测成功标志
}unsignedcharReadOneChar(void){unsignedchari=0; unsignedchardat;//储存读出的一个字节数据
for(i=0;i<8;i++) {DQ=1;//先将数据线拉高
_nop_(); //等待一个机器周期
DQ=0;//单片机从DS18B20读书据时,将数据线从高拉低即启动读时序
_nop_();//等待一个机器周期
DQ=1;//将数据线"人为"拉高,为单片机检测DS18B20的输出电平作准备
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年初中地理说课稿铁路
- 2025-2026学年3荷花说课稿
- 罐头调味工达标测试考核试卷含答案
- 飞机铆装工岗前诚信品质考核试卷含答案
- 2025-2026学年大班幼儿情绪生气说课稿
- 2025-2026学年国庆诗歌说课稿app
- 电池部件制备工安全文明竞赛考核试卷含答案
- 水泥熟料煅烧工班组建设能力考核试卷含答案
- 铜响乐器制作工竞争模拟考核试卷含答案
- 缝纫制品充填工决策判断竞赛考核试卷含答案
- 2026-2027学年高二语文上册第一次月考试卷原卷解析
- 成年人幽门螺杆菌感染诊断、治疗与预防临床实践指南(2026版)
- 2026年湖南高考语文真题试卷(含答案)
- 《人工智能伦理》教学课件-2025-2026学年浙教版(新教材)初中信息技术九年级全册
- 2026届南京九年级语文中考二模标准模拟试卷第201套强证据校准版(含参考答案解析与作文范文)
- 重度颅脑损伤LUND概念培训课件
- 中国广电山东网络有限公司招聘笔试题库2026
- (一模)2026年河北省高三模拟考试生物试卷(含答案解析)
- 2026年国考公务员考试行测行政执法卷真题试题试卷及答案解析
- (2026年)宫颈癌放疗患者护理查房课件
- 骑楼介绍教学课件
评论
0/150
提交评论