欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    DS2438中文数据手册详解.docx

    • 资源ID:608447       资源大小:332.40KB        全文页数:25页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    DS2438中文数据手册详解.docx

    Xof29序言达拉斯半导体DS2438智能电池监视器其主要的特点有:(1)独特的I-Wirc接口仅需一个端口引脚即可进行通信(2)为电池组提供唯一的64位序列号(3)片上电池温度检测省去热敏电阻(4)片上A/D转换器监视电池电压,作为终止充电和终止放电的判据(5)片上集成的电流累积器提供电量计量(6)二进制历时记录器(7)40字节非易失用户存储器存储电池相关数据(8)工作温度范围-40°C至+85°C(9)应用于蜂窝电话、数码相机、数字摄像机、掌上电脑、手持终端(包括条形码)、笔输入掌上电脑、PDA和数字助理、智能电池组/充电器。管脚分配DS2438管脚功能描述:1 GND接地2 VSENS+电池测量电流输入(+)3 VSENS-电池测量电流输入(一)4 vAD通用电压A/D采样输入端5 VCC供电电压(2.4IOV)6 ,7NC悬空不接8DQ数据输入输出,单总线概述DS2438智能电池监视器为电池组提供了若干很有价值的功能:可用于标识电池组的唯一序列号;直接数字化的温度传感器省掉了电池组内的热敏电阻;可测量电池电压和电流的A/D转换器;集成电流累积器用于记录进入和流出电池的电流总量;一个经历时间纪录器;以及40字节的非易失EEPROM存储器,可用于存储重要的电池参数例如化学类型、电池容量、充电方式和组装日期等。DS2438使用ITire®接口发送和接收信息,所以中央微控制器和DS2438之间仅需1条连线(还有地线)。这就意味着电池组仅需要三个输出接头:电池电源、地和ITire接口。由于每片DS2438具有一个唯一的硅序列号,多片DS2438可以共存于同一条ITVire总线。这就允许多个电池组可同时充电或在系统中使用。这款智能电池监视器可用于便携计算机、便携/蜂窝电话以及手持式仪器等,这些应用中需要密切监视电池的实时性能。与主系统微控制器相配合,DS2438提供了一个化学类型无关的完备的智能电池组方案。在定制某种特定化学类型和容量的电池时,只需向微控制器和DS2438EEPROM中输入相应的代码即可,当电池的化学类型改变时,设计者只需要修改软件即可。2of29该处DS2438管脚功能详述表与上重复,故略概述1 .64位的激光ROM2 .温度传感器3 .电池电压A/D转换器4 .电池电流A/D转换器5 .电流累加器6 .历时记录器7 .40位的非易失用户存储器每个DS2438包含一个独特的64位光刻ROM序列码,这样几个电池组能够被同一个主机系统充电和监控。此外,具有同样单总线结构、带64位ROM特点的其他达拉斯产品,能存在于同一根总线上。可参阅达拉斯自动鉴定数据手册得到这些产品的规格。DS2438通过一条总线通信。有了这条单总线端口,存储器和控制函数只有在程序存储器函数协议建立起后才能生效。主机必须首先提供四种程序存储器函数命令的个:1)读ROM,2)匹配RoM,3)搜索ROM,或4)跳过RoM。这些命令可以操作每个设备上的64位光刻ROM部分,并且如果一条总线上有多个设备存在,可以锁定一个特定的设备。还可以向主机指出有多少和什么类型的设备存在。在一个程序存储器函数序列被成功执行后,存储器和控制函数获得权限,并且主机可以提供六种存储器和控制函数命令中的任意一种。发布控制函数命令去指示DS2438执行温度测量或电池电压A/D转换。这些测量的结果将被存放在DS2438的存储器映射中,通过发送存储器函数命令能读取温度测量值和电压寄存器。此外,电池的充电/放电电流测量无需用户干预,而且最终结果将会存储于DS2438的存储器空间中。DS2438用这些当前的电流测量值更新三个电流累加器。第一个存储流进和流出电池电流的净累加总和,第二个存储电池累积充电电流总和,第三个存储电池累积放电电流总和。历时记录器中的数据,可以用于计算电池自放电或者与时间有关的充电停止限制,也可以存储在DS2438的存储器映射中,被存储器函数命令读取。DS2438的非易失性用户存储器包括40个字节的EEPROMo这些存储单元可以用来存储用户想要存储的任意数据,以及用存储器函数命令写入数据。所有的数据和命令从最低有效位开始读取和写入。框图(图1)表示了DS2438的内部结构操作一一测量温度DS2438通过片上温度测量技术测量温度。能读取13位二进制补码格式的温度数据,分辨率为O.03125oC。表1描述了温度测量输出数据的确切关系。数据在单总线接口上串行传输。DS2438可以测量温度的范围从-55°C至J+125°C,以0.03125°C的增量。对于华氏温度表示法,必须使用查找表或转换因子。注意,在DS2438中最低有效位表示0.03125°C,如下13位格式。温度寄存器的3个最低有效位始终为0.剩下的13位用。C的二进制补码形式表示的温度,最高有效位保持符号位。查看“存储器映射”找到温度寄存器地址。4of29操作测量电池电压片上的模数转换器(ADC)有10位的分辨率,当DS2438收到指示它转换电压的命令时,执行转换。这个测量的结果放在2字节电压寄存器中。DS2438的模数转换范围是OV到IOVo这个范围对于六节银镉电池或银氢电池组或两节锂电池组来说是合适的。模数转换的满量程值是10.23V,分辨率为IOmV。虽然模数转换最低量程可达0V,但是有一点需要注意,那就是待测电池电压也是DS2438的供电电压。这样,电池电压低于2.4V时,电压模数转换的准确性下降,执行转换的能力受到DS2438的操作电压范围的限制。在这个寄存器中表示的二进制格式的电压范围如表2中列出的一样。注意,尽管编码在电压值低于2.4V下存在,但是电压模数转换的准确性和DS2438供电电压的限制使得这些值实际上不可使用。查看“存储器映射”找到电压寄存器地址。对于应用程序需要一个通用的电压模数转换器,DS2438可以被配置,以致电压转换指令的结果能够想表2描述的一样将VAD的输入(而不是VDD的输入)存入电压寄存器中。根据状态/配置寄存器的声明,VDD或VAD(两者之一)将在接受到电压转换命令后存储在电压寄存器中。参阅寄存器映射中关于状态/配置寄存器的详细描述。如果VAD输入作为电压输入,模数转换器在1.5V<VAD<2VDD范围内事准确的,其中VDD2.4V<VDD<5.OV.这个特性使得在电压输入范围1.5V<VAD<IOV(VDD=5.0V)内,用户能够得到一个符合精度要求的电压模数转化器。操作测量电池电流DS2438模数转换器以通过测量外部检测电阻两端的电压,来有效地检测流入和流出电池组的电流为特点。模数转换器将在后台以每秒36.41次的频率采样,因此不需要命令启动电流测量。然而,DS2438只会在状态配置寄存器中IAD位置1的时候才启动电流模数转换。DS2438通过VSENS管脚测量流入和流出电池的电流,VSENS+管脚到VSENS-管脚的电压被认为是电流检测电阻RSENS两端的电压。VSENS+端与RSENS电阻直接相关,然而,对于VSENS-,我们建议在该管脚和RENS的接地端之间接一个RC低通滤波电路。用一个阻值为100K的电阻和一个0.lF的锂电容器,该滤波器的截止频率是15.9Hz.电流模数转换器以36.41次/s或每27.46ms一次的频率采样。这个滤波器能消除大部分的尖峰毛刺的影响,从而允许电流累加器准确的反映流入和流出电池的总电荷。模数转换器测量检测电阻RSENS两端的电压,并将结果以二进制补码格式保存在电流寄存器中。转换结果的符号位,表明充电还是放电,存储在电流寄存器的最高有效位中,见表3.查看“存储器映射”找到电流寄存器地址。6of29(这个寄存器实际上存储的是检测电阻RSENS两端的电压。这个值带入下面的公式可以计算出电池的电流。)电池组的电流能够由电流寄存器中的值经这个方程计算得出。I=CurrentRegister/(4096*RSENS)(RSENS的单位是。例如,如果流入电池组的电流是1.25A,电池组使用一个0.025Q的检测电阻,DS2438向电流寄存器写入的值为128(十进制)。根据这个值,电池组电流能够被计算为:I=128/(4096*0.025)=1.25A随着时间的推移,整合的电流会因为小电流模数转换器存在偏置误差可以有一个大的累积效应,DS2438在电流模数转换器中提供了一种抵消偏置误差的方法。在每次电流测量完成后,测量值被加到偏置寄存器的内容中,结果随后被存储在电流寄存器。偏移寄存器是一个两字节非易失性的读/写寄存器,是以二进制补码形式存储的。这个寄存器的高四位最高有效位包含偏置的符号,如表4所示。下面的步骤可以用来调整电流模数转换器。1 .向偏置寄存器写全02 .驱动零电流通过RSENS电阻3 .读取电流寄存器值4 .通过在状态/配置寄存器置0IAD位,关闭电流模数转换器。5 .改变当前读取的电流寄存器的值的符号,转换成二进制补码的形式,并将结果写入偏置寄存器中。6 .通过将状态/配置寄存器中的IAD位置L开启电流模数转换器。注意:当写入偏置寄存器时,必须禁止电流测量(IAD位置0)。在每一个DS2438设备装载之前,电流模数转换器完成校准过程。然而,为了达到最好的效果,在最初的电池组测试中,电池组制造商应该校准电流模数转换器,并且主机系统应该尽可能的校准(例如,在电池充电期间)。7of29操作电流累加器DS2438用集成电流累加器(ICA)跟踪一块电池的剩余容量。ICA保持流进和流出电池的电流总和的净累积。因此,存储在这个寄存器中的值是在一个电池中剩余容量的一个指标,可能被用在执行燃料评估函数。此外,DS2438还有另外的寄存器用来存储总充电电流和总放电电流。CCA和DCA给主机系统提供决定可充电电池的寿命结束的信息,这些信息是基于在其生命周期的总充放电电流。电流测量描述的是每27.46ms检测电阻RSENS两端测得的电压。这个值用于增加或减少ICA寄存器的值,如果电流是正的,增加CCA的值,如果电流时负的,减少DCA的值。ICA是一个按比例的8位易失二进制计数器,累计了电阻RSENS两端的电流。如果状态/配置寄存器IAD位置1,ICA递增或递减。表5展示了ICA的内容。查看“存储器映射”找到ICA寄存器地址。表5ICA寄存器格式(这个寄存器累积了RSENS两端的电压值,这个值通过以下这个方程可以计算出电池剩余量。)272625242322212°MSb(unit=0.4882mVhr)LSb剩余的电池容量能过用这个方程由ICA的值计算得出。剩余容量二ICA(2048*RSENS)(RSENS单位为Q)例如,如果电池组的剩余容量值为0.625,电池组用0.025。内检测电阻,ICA的值将是32o根据这个值,剩余容量能够被计算为:剩余容量=32/(2048*0.025)=0.625Ahr因为电流模数转换器精度是正负2最低有效位,所以测量很小的电流时很可能不精确。因为当累计足够长的时间这些不精确可能变成大的ICA错误,DS2438提出了一种方法用于滤除这些潜在的错误小信号以致他们不被累积。DS2438的阈值寄存器指定一个电流测量级(在抵消取消后),在此之上测量值将在ICA,CCA和DCA上累积,低于阈值将不被累积。阈值寄存器的格式如表6所示。接通电源的默认阈值的寄存器值是OOh(没有阈值)。注意:当写入阈值寄存器时,电流测量必须被禁用(IAD位设置为“0”)o8of29阈值寄存器格式表6充电电流累积器(CCA)是一个两字节的非易失的读/写计数器,它表示在电池生命周期中的总充电电流。它只有当正电流通过RSENS时更新;即电池正在充电时更新。同样,放电电池累积器(DCA)是一个两字节非易失性计数器,它表示电池生命周期中的总放电电流。CCA和DCA能够被配置成三种模式中的任意一种:禁用,启动映射到EEPROM,启动但不映射到EEPROMo当CCA和DCA被禁用时(通过设置状态/配置寄存器中IAD位或CA位为0),通用数据存储可随意存储在第七页中的寄存器中。当CCA和DCA被启用(通过设置IAD和CA为“1”),第七页为这些寄存器预留,第七页中的任何字节都不能通过单总线被写入。当CCA和DCA启用时,它们的值自动映射到EEPROM,通过设置状态/配置寄存器中EE位为Io当这些寄存器被配置映射到EEPROM时,电池组生命历程中积累的信息将累积不会被丢失,即使电池处于放电状态。当EE位置0时,映射到EEPROM禁用。表七阐述了CCA和DCA寄存器的格式。表8总结了ICA,CCA和DCA的操作模式。CADCAREGISTERFORMATTable727225242i2j2,2。MSb(uit=15.625mVHr)LSb215"4声声声)102«ICA/CCA/DCAMODESOFOPERATONTableIADBitCABitEEBitICACCADCACCA)CACopv-to-EEPROM0XXInactiveInactiveInactive10XActiveInactiveInactive110ActiveActiveInactive111ActiveActiveActive9of29图2阐述了电池组在一个采样充/放电周期间,ICA,CCA和DCA的活动,假设ICA被DS2438配置成工作,CCA和DCA工作并将数据映射到EEPRoM。为了简化累积器的图解,它们被视为模拟值,尽管它们是在DS2438中是数字计数器。注意当电池完全放电时,即ICA的值为0时,CCA和DCA寄存器的值将保持不变。电流累加器活动图2CHARGING检测电阻选择RSENS的选择涉及一个折中。一方面,电阻的阻值必须尽可能的小,为了避免在峰值电流要求间产生过高的电压降。另一方面,RSENS的阻抗应该尽可能的大,为电流测量和积累实现最好的分辨率。表9列出了RSENS的几个典型值,流经RSENS的电流为2A(作为一个例子)时,电流累加器的低八位值为(1/(4096*RSENS),剩余容量的低八位累积值为(1/(2048*RSENS)。用户应该仔细考虑最大电流时的压降,选择RSENS时,解决电流测量/累积的要求。SENSERESISTORTRADEOFFSTable9SENSERESISTORVALlE(Rsens)VsexsATI=2ACURRENTIsbREMAINlNGCAPAClTYIsb、IAXREM.MNINgC.PACITYVALVE25m50mV9.76mA19.53nAHr50mAhr50m11100mV4.88mA9.76mAHr2500mAhrlrn200mV2.44nA4.88nAHr1250nAhr200m11400mV1.22mA2.44mAHr625mAhr操作一一历时计数器一个内部振荡器用作计时功能的时基。双缓冲的历时计数功能,允许主机读取历时时间,当它被读取的时候,数据保持不变。为了实现这个目标,计数器数据的快照被转移到用户可访问的保持寄存器。这在重新调用寄存器命令的第八位后触发。历时计数器是一个4字节的二进制计数器,带有IS解决。历史计数器翻转之前能累积136年的时间。时间/日期由秒数表示,因为有一个用户决定的参考点。例如,1970年1月1日上午12:00可以作为一个参考点。10of29其他两个与时间相关的功能是可用的。第一个是断开时间戳,任何时候它检测到DQ线保持低电平接近两秒时,DS2438向这个时间戳写数据。这种情况将被视为电池组从系统中移除;发生的此刻被写入断开时间戳寄存器,所以被置换进系统,系统能够决定设备多长时间被存储,从而促进自放电修正剩余电池容量。在断开被检测到后,DS2438恢复睡眠模式,在这期间除了实时时钟,其他均被关闭。其他的时间戳是电荷结束时间戳,任何时候检测到充电完成后(当电流变化方向),该时间戳被DS2438写入。这个时间戳允许用户去计算电池处于放电和充电状态的时间,在此促进自放电计算。历时计数器,断开寄存器,充电结束寄存器如表10所示。参阅“存储器映射”找到时间相关寄存器的地址。TIMEREGISTERFORMATTable1064位光刻ROM每一个DS2438包含一个64位长的唯一的ROM码。前八位是单总线系列码(DS2438码是26h)o接下来的48比特是一个独特的序列号。最后八位是前56位的CRC。(见图三)。64位ROM和RoM功能控制部分允许DS2438作为单总线设备操作和遵循单总线系统部分的单总线协议。直到ROM函数协议得到满足,DS2438控制部分的函数才有访问权限。图5ROM函数协议流程图描述了这个协议。单总线主机必须先执行四种ROM函数命令中的一种,1)读ROM,2)匹配ROM,3)搜索ROM,或4)跳过ROM。在一个ROM函数序列已经被成功执行后,DS2438特定的函数才有访问权限,主机可以执行六种寄存器和控制函数命令中的任意一种。64-BITLASEREDROMFORMATFigure38-BITCRCCODE4S-BITSERIALNUMBER8-BFAMILYCODE(26h)MSbLSbMSbLSbMSbLSb11of29循环冗余码产生DS2438有一个8位的循环冗余码存储在64位ROM中的最高有效字节中。主机能够从64位ROM中的前56位中计算出一个循环冗余值,并与DS2438存储的值进行比较,来决定是否主机正确接收了ROM中的数据。这个CRC对应的多项式函数是:CRC=X8+X5+X4+1DS2438用同样的多项式函数产生一个8位的CRC值,并提供这个值到主机,验证数据传输字节无误。CRC用于数据传输验证的每种情形,主机必须用以上给出的多项式函数计算出一个CRC值,并将计算值和DS2438中存储在64位ROM中的8位CRC值或DS2438内部计算的8位CRC值进行比较。(当暂存被阅读的时间将是9位。)CRC值的比较决定了完全由主机控制的操作是否继续。在DS2438中没有一个内部电路能够阻止一个指令序列执行,如果存储在DS2438中的循环冗余值和主机计算出的值不匹配。按图6流程图所示的CRC的适当使用,可以形成一个非常高水平完整性的通信信道。用如图4所示包括移位寄存器和异或门的多项式产生器能过产生单总线的CRC码。关于达拉斯单总线CRC的附加信息是有效的,在应用程序注意27题为“用达拉斯半导体触摸存储器产品理解和使用CRCo移位寄存器位被初始化为Oo然后从系列码的最低有效位开始,逐位移入。在系列码的第八位进入之后,序列码开始进入。第48位的序列码进入后,移位寄存器包含了CRC值。1-WIRECRCCODEFigure4WPUT12of29只读存储器(程序存储器)函数流程图图5MasterTxResetPUISe:主机发送复位脉冲DS2438TxPresensePUISe:从机发送应答脉冲MasterTxROMFunctionCOmmand:主机发送程序存储器函数命令33hReadR0M:33h读取程序存储器DS2438DS2438DS2438MasterTxTxTxTx55h MatchMaster TxFamily Code 1 Byte:DS2438发送一个字节的系列码Serial Number 6 Byte:DS2438发送六个字节的序列号CRC 1 Byte:DS2438发送一个字节的循环冗余码 Memory/Control FUnCtiOn :主机发送存储/控制函数 R0M:55h匹配程序存储器Bit 0:主机发送0比特位DS2438DS2438DS2438DS2438DS2438TxTxTxTxTxBit0Match?:0比特位匹配吗?MasterTxBit1:主机发送1比特位Bit1Match?:1比特位匹配吗?MasterTxBit63:主机发送63比特位Bit63Match?:63比特位匹配吗?FOhSearchRom:FOh搜索程序存储器Bit0:DS2438发送比特0(Bit0):DS2438发送非比特0BitBDS2438发送比特1”(Bit1):DS2438发送非比特1Bit63:DS2438发送比特63DS2438TxZ(Bit63):DS2438发送非比特63CChSkipROMrCCh跳过程序存储器13of29存储/控制函数流程图图6MasterTxMemory/ControlFUnCtion:主机发送存储/控制函数4EhWriteSP:4Eh写堆栈指针BEhReadSP:BEh读堆栈指针48hCopySP:48h复制堆栈指针MasterTxPage#:主机发送页#DS2438SetsAddressCount=0:DS2438将地址计数器置0MasterTxDataByte:主机发送数据字节MasterTxReSCt?:主机发送复位信号吗?AddreSS=7?:地址等于7吗?DS2438IncrementsAddreSs:DS2438地址自增DS2438TxPresencePulse:DS2438发送应答脉冲MasterRx8BitCRC:主机收到8位的循环冗余码MasterRxAll'Ts":主机接收所有的“Js”DS2438ShadowsSPPageXToEEPROM/SRAMPageX:DS2438将堆栈指针页X映射到EEPROM/SRAM页XoNVMemoryBusy?:NVMEMORY,ACELECTRICALCHARACTERISTICSNV寄存器,模拟电流电特性14of2944hConvertT:44h温度转换DS2438BeginsCOnVerSion:DS2438开始转换TempConvertBUSy?:温度转换忙吗?B4hConvertV:B4h电压转换VConvertBusy?:电压转换忙吗?B8hRecalMemory:重调寄存器DS2438StoresEEPROMPageXinSPPageX:DS2438将EEPROMPageX存入SPPageX中内存映射DS2438的存储器分配如图7所示。存储器由一个暂存寄存器和静态存储器/电可擦可编程只读存储器。这个暂存寄存器能确保数据完整性,当在单总线上通信时。数据首先被写入暂存,它可以被读回。在数据被验证后,一个复制暂存寄存器的命令将会把数据传到存储器中合适的页。(0-2页为主要是易失性的静态存储器,3-7页为EEPROM)。当修改寄存器时该过程确保数据完整性。这个DS2438的存储器被组织为64字节的存储器,8个8字节的页。每个页面都有自己的暂存空间,组织为8字节的内存。当阅读一个暂存时,有一个第9字节,这可以用一个读取暂存命令来读。这个字节包含一个循环冗余校验(CRC)字节,在当前的选择中这个字节是这八个字节的CRC。这个CRC比较流行的实现如“CRC产生”部分描述的一样。15of29第0页(OOh)第一页包含了DS2438中最经常访问的信息,除了状态/配置寄存器(0字节)和阈值寄存器(7字节),大多数的位置是易失的只读字节。状态/配置寄存器是一个非易失性的读/写字节,这里定义了DS2438那些特性是启动的,以及他们将会怎样工作。寄存器的格式如下所示:XADBNVBTBADEECAIADMSbLSbIAD二电流A/D控制位JTj电流A/D和ICA启用,电流测量将以36.4IHZ的频率采样;“0"=电流A/D和ICA被禁用。这一位的默认值是一个“1"(电流A/D和ICA启用)。CA二电流累加器配置。"1"=CCA/DCA启用,数据将被存储,并能从第7页,4-7字节取回数据。"0"=CCA/DCA被禁用,第7页可以用于通用EEPRoM存储。该位的默认值是”1"(电流CCA/DCA启动)。EE二电流累加器映射选择位。“1”二每次相应的寄存器递增时,CCA/DCA计数器数据能够被映射到EEPROM。"0"=CCADCA计数器数据将不会映射到EEPROM。随着电池组放电,CCA/DCA可能会丢失。如果状态/配置寄存器的CA位置0,EE位对DS2438功能上没有影响。这位的默认值是“1”。(电流CCA/DCA数据映射到EEPROM)oAD=电压A/D输入选择位。“1”二电池输入(VDD)被选作DS2438电压A/D转换器的输入,“0"=通用A/D输入(VAD)被选作DS2438电压A/D转换器的输入。对于任一种设置,电压转换命令将会初始化电压A/D转换器。该位的默认值是1(VDD作为A/D转换器的输入)。TB二温度忙碌标志。“1”二温度转换正在进行;“0”二温度转换完成。NVB=非易失性存储器忙碌标志。“1”二从中间结果暂存器复制到EEPRoM正在进行;“0”二非易失性存储器不忙。复制到EEPROM可能要花费2ms到IOms(在低供电电压下花费更长)。ADB=AD转换器忙碌标志。“1"二电池电压的A/D转换正在进行。“0”二转换完成,或没有测量值要被转换。A/D转换大约需要10msOX二无视第O页的字节1和字节2包含最后完成温度转换后的值,它的格式如“操作一温度测量”部分所述。字节3-4包含最后完成电压转换后的结果,字节5-6包含瞬时电流数据。字节7包含阈值寄存器。请参考适当的部分获得这些位置的数据格式。注意:状条和阈值寄存器暂存中的数据将决定设备的操作。16of29第1页(Olh)第2页,Pagel,包含ICA,历时计数器和电流偏置数据。因为历时计数器和ICA是易失性的读/写位置,所以他们可能被主机软件设置,改变和清除。字节0-3包含历时计数器数据,格式如“操作一一历时计数器”部分所述。字节4包含8位ICA。字节5和6包含偏置寄存器的数据。字节7被保留,将会读出全1。Page2(02h)寄存器(PagC2)的第三页包含断开寄存器(前4个字节)和充电结束时间戳(剩余4字节)。这一页是易失性能读/写的。参阅“操作一一历时计数器”部分得到这些位置的格式。Pages3-7(03h-07h)EEPROM带着DS2438中寄存器的剩余部分(PageS3through7)回来。这个寄存器提供40字节的用户寄存器,可以用来携带用户想要存储的任何信息。此外,如果DS2438配置恰当,则CCA/DCA的信息被存储在page7的字节4-7中。如果CCA/DCA被使用,page7不应该被写入或者电流累加器数据会被覆盖。查阅“操作一一电流累加器”获得详细描述。PAGEBYTECONTENTS6STATUS1 CONHGURATION1TEMPERATURELSBO 34567TEMPERATURELSBTEMPERATUREMSBVOLTAGE LSB VoLTAGE MSB CURRENT L¾ CURRENTNfSBTHRESHOL5-ETMBYTEO ETMBYTE T ETM BYTE 2 ETMBYTE 3一 ICAOFFSET LS>ROFFSET MSB'RESERVEDDISCONNECTBYTEODISCONNECTBYTE 1DISCONNECTBYTE 2DISCONNECTBYTE 3END OF CHARGEBYTEOEND OF CHARGEBYTE 1END OF CHARGEBYTE 2END OF CHARGEBYTE 3RMNVPAGEBYTECONTENTSR.',WYES0USER BYTERNO1USERBYIERRNONO334RNO5RNO6YES7R.'R.'R'R.'-RR'RUSER BYTE USERBYIE USERBYTE USERBYTE USERBYTEUbbKBI Ik USERBYTE USERBYTE USER BYTE I;SERBYTE USERBYlE USER BYTE USER BYTEUSER BYTEUSER BYTEUSERBYTEUSERBYTEUSERBYTEJCCA LSBUSERBYTECCA MSBUSER BYTE'DCA LSBUSERBYTEDCAMSBR/WYESR/WYESRWYESR/WYESR/WYESR/WYESR/WYESR/WYESR,wR/WRAVR'VSsssssssYEYEYEYEYESYEYEYESssEEEYYYS SYEYEY Y17of29单总线系统单总线是一种仅有一个主机及一个或多个从机的系统。DS2438是一个从机。这种总线结构可被分成三个主题讨论:硬件配置,事务序列和单总线信号(信号类型和时间)。硬件配置单总线只有一条线被定义。在合适的时间,总线上的每个设备都能驱动这条总线,是很重要的。为此,总线上的每个设备必须开漏或3态输出。DS2438的单总线端口是开漏的(DQpin),等效的内部电路如图8所示。多点的总线由单总线上接入多个从机构成。单总线需要一个大约5kQ的上拉电阻。HARDWARECONFIGURATIONFigure8单总线的空闲状态是高电平。由于某种原因一个事务被暂停,如果该事务要恢复,总线必须离开空闲状态。在恢复期间只要单总线处于不活动(高电平)状态,就可以触发无限的恢复时间。如果这没发生,并且总线一直处于低电平,总线上的所有器件将会复位。参阅单总线复位脉冲时序(图9)o事务序列通过单总线端口访问DS2438的协议如下所示:初始化ROM函数命令寄存器函数命令事务/数据初始化在单总线上所有的事务以初始化序列开始。初始化时序由主机发送的一个复位脉冲紧随从机发送的应答脉冲组成。应答脉冲能让主机知道DS2438在总线上并且已经做好准备。有关更多细节,请参阅“总线信号”部分。18of29ROM函数命令一旦主机监测到应答脉冲,它就发送四个ROM函数命令之一。所有的ROM函数命令长度为8位。这些命令如下列表所示(参阅流程图5):ReadROM33h这个命令允许主机读取DS2438的8位系列码,唯一的48位序列码和8位的CRCo这个命令仅能用于总线上只有一块DS2438的情形。如果在总线上不只一块2438存在,当所有从机同时尝试发送时,就会有数据冲突。(开漏将产生一个线与的结果)。MatchROM55h匹配ROM命令,随后跟一个64位的ROM序列;允许主机在多点总线上寻址一个特定的DS2438。只有DS2438完全匹配64位ROM序列,DS2438才会响应随后的寄存器函数命令。所有的从机都不匹配64位的ROM序列,DS2438将会等待一个复位脉冲。这个命令能被用在有一个或多个设备的总线上。SkipROMCCh在单点总线系统中这个命令能够节约时间,因为不用提供64位的ROM代码,就可允许主机访问寄存器函数。如果总线上存在不只一个从机,并且跳过ROM命令后还跟着发送了一个读取命令,由于多个从机同时传输,就会发生数据冲突。(开漏下拉将产生一个线与的结果)。SearchROMF0h当一个系统初始化拉高后,主机可能不知道总线上设备的数量或他们的ROM码。搜索ROM命令允许主机用一个排除过程识别总线上的所有从机设备的64位ROM代码。ROM的搜索示例ROM搜索过程是一个简单的三步程序的重复过程:读一位,读这个位的补码,向该位写入期望的值。总线上的主机早ROM的每一位执行这个简单的三步程序。在一个完整的过程后,主机就能知道一个设备中的RoM的内容。用额外的过程剩下的设备的数量和他们的ROM能够被识别出来。下面的ROM搜索过程的例子假设四个不同的设备连接到了同一条单总线上。四个设备的ROM数据如下所示,从最低有效位开始。ROMl=00110101.R0M2=10101010.R0M3=11110101.R0M4=00010001.搜索过程如下:1 .通过发送一个复位脉冲,主机开始初始化序列。从机同时发送应答脉冲响应。2 .主机将在单总线上发送搜索ROM命令(FOh)o19of293 .主机从单总线上读取一个位。每个设备将他们相应ROM数据的第一位的值发送到单总线上。ROMl和R0M4将0发送到单总线上,即将它拉低。R0M2和R0M3将发送1到单总线上,允许总线保持高电平。结果是总线上所有设备的逻辑与。因此主机看到了一个0.主机读取另一个位。由于正在执行搜索ROM数据命令,在单总线上的所有设备将他们相应ROM数据的第一位的补码发送到单总线上,以相应第二次读。ROMl和R0M4将1发送至总线,允许总线保持高电平。R0M2和R0M3将发送0到单总线,这样将把它拉低。主机再次观察到一个0,由ROM数据第一位的补码。主机已经确定在单总线上有一些设备,他们有的第一个位置是0,其他的是1.从三步程序的两次读取得到的数据有如下解释:00-在这个位置上,总线上一直有相互冲突的位。01-所有的设备在该位上都是0.10-所有的设备在该位上都是1.口-没有设备连接在该总线上。4 .主机写Oo剩余的搜索过程不选择R0M2和ROM30只留下ROMl和R0M4连接到单总线上。5 .主机执行两次读,收到一个0,接着一个L这表明所有设备向总线发送了0,由于他们RoM数据的第二位。6 .主机然后对ROMl和R0M4都写一个0.7 .主机执行两次读收到两个0位。这表明连接到总线上的设备中ROM数据的第三位上既存在0又存在1.8 .主机写一个0。这次ROMl取消选中,留下R0M4作为唯一的设备仍然连接总线。9 .主机读取R0M4中ROM的剩余字节,并继续访问需要访问的部分。这就完成了第一遍,唯一识别了单总线上的一个设备。10 .主机通过重复步骤1-7开始一个新的ROM时序。IL主机写一个1。这次断开ROM4,只剩下ROMl连接。12 .主机读取ROMl中ROM的剩余位,如果需要将和底层逻辑进行通信。这就完成了ROM的第二遍搜索,另一个ROM被找到。13 .主机通过重复1-3开始一个新的ROM搜索。14 .主机写一个1位,这次取消选中ROMl和R0M4,放弃剩余的搜索,只留下R0M2和ROM3连接系统。15 .主机执行两次读,得到两个0。20of2916 .主机写一个0位。这次RoM

    注意事项

    本文(DS2438中文数据手册详解.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开