《传感器接口.docx》由会员分享,可在线阅读,更多相关《传感器接口.docx(19页珍藏版)》请在三一办公上搜索。
1、传感器接口1-wire温度传感器LTM8877接口 1-wire的原理及工作过程: 1-wire总线仅用一根数据线与外围设备进行信息的交互,工作电源完全从总线上获取,不需要单独的电源支持,允许直接插入热/有源设备;宽广的工作范围;每个器件都有通过工厂光刻的64位ROM ID,是唯一的识别,它存储在只读的ROM中。通过唯一的64位器件序列号和网络操作协议,1-wire存储器允许挂接在同一条1-wire总线上,并可独立工作,主控制器通过每个器件的唯一的ROM ID来识别与之通信的从设备。ROM ID由8位校验码,48位序列号和8位家族码组成,家族码标示了此1-wire设备的类型,序列号标示此设备的
2、ID,校验码用于保证通信的可靠性。1-wire设备在工作时不能主动发送数据,只有在主控器对其进行命令指示时才会响应。通常的1-wire设备都有两套命令,一套命令操作设备内部的ROM,包括读,匹配,搜索等命令,但不包括写命令。ROM中的内容由厂家写入,用户不得更改,通信时,总线控制器先发出一个“复位”信号以使总线同步,然后选择受控制器件进行随后的通信。既可以通过选择一个特定的受控器件或者通过半搜索法找到总线上的下一个受控件来实现,也可以选择所有的受控器件,一旦一个特定的器件被选中,那么在总线控制器发出下一次“复位”信号之前,所有的其他器件都被挂起而忽略随后的通信。如果1-wire从设备与主控制器
3、尚未建立连接,则不能进行数据的传输;一旦成功建立,1-wire从设备将数据线置为低电平,以此通知主控制器已经建立了连接,等待接收命令,这个脉冲称为在线脉冲。主控制器也可以通过发送“复位”信号使数据线变为低电平。当从设备接收到“复位”信号时,通过检测数据线的电平状态,可在数据线变为高电平后立即发出一个在线脉冲。主设备和从设备之间的通信是半双工的双向通信。 小结一下,所有的1-wire通信器件所使用的不同的API有着共同的特性,这反映出源于协议的信息交换的原理,下面通过不同API功能进行分类:大多数的1-wire器件具有存储器,尽管存储器的输入输出功能并不适用于所有器件,但我们还是把它们分为一个通
4、用的API集。 会话功能 分时使用总线。当多项操作在同一器件上运行而不能被打断时,需要独占总线的使用权。 链路 基本的1-wire总线通信功能。所有的1-wire总线的通信功能可以归结为:复位所有的器件和读写位。 网络 查找和选择器件的网络功能。每一个1-wire总线器件都有一个固定的序列号,作为它的唯一的网络地址。 传输 块通信和基本的存储器读/写功能。 所谓一总线,就是把地址线,数据线和控制线合为一条线,可以在总线上挂接多个1-wire器件,可以节省I/O口,便于总线扩展,1-wire单总线适用于单个主机系统,能够控制一个或多个从机设备。当多个从机位于总线上时,系统按照多节点系统操作。1-
5、wire是一种总线连接方式传输,只需在总线上接上符合标准的1-wire器件,按照1-wire的时序去操作它。 1-wire的整体结构与特点: 图1 这里指的单总线,即就是一根数据线,系统中的数据交换,控制都由这根线完成。从机通过一个漏极开路或三态端口连接至该数据线,以允许设备在不发送时,能够释放总线,而让其它设备使用总线。 单总线通常要求外接一个约为4.7K的上拉电阻,保证在总线闲置时,总线上的状态为高电平。 主机和从机之间的通信通过3个步骤完成的,分别是初始化1-wire器件、识别1-wire器件和交换数据。 由于它们是主从结构,只有主机呼唤从机时,从机才应答,因此主机在访问1-wire器件
6、时,都必须严格遵循单总线命令。即初始化,ROM命令,功能命令。 根据以上要求,我们知道要构建一个1-wire总线系统,至少要有两部分,在一条总线上连接一个主控器+多个从机设备。1-wire系统有:硬件配置,处理流程和1-wire信令。 1-wire的主机配置 在应用1-wire技术时,需要通过1-wire主机发送信号来识别总线上的器件并与它们通信。构建一个1-wire主机的方法有很多,下面讨论嵌入式的应用主机。 1-wire主机控制器,它们均与1-wire从器件通信。1-wire主机控制器不能作为单独的主体,需要一个主机告诉它们在1-wire侧如何工作。主机接口是指1-wire主控器和“系统中
7、更高级的指挥官”之间的连接类型。 工作电压 通常情况下,1-wire器件的工作电压范围为2.8V5.25V之间。当1-wire器件中没有电源引脚时,可以以寄生电源供电方式从1-wire通信电路上获取电源。但为了减少1-wire器件的转换误差等,我们通常选择的1-wire器件是要带一个电源引脚,通过外部供电方式,且要加强上拉电阻,那么,工作电压越高,1-wire器件所得到的功率就越高。电压越高,网络中的可挂接的从器件也越多,时隙之间恢复时间也越短。 强上拉 强上拉是指一种在时隙之间向1-wire网络提供额外电源的方法。需要额外电源额部件如下:EEPROM器件;1-wire温度传感器。当这些1-w
8、ire器件用于3V电压供电时,强上拉是必须的。当其工作在5V环境中时,强上拉是可选的。 1-wire时序 对于1-wire时隙和复位/应答检测时序波形的一般方法。以及产生这些波形的方法。一般来说,采用特殊的硬件或通过软件直接产生波形。当选择的硬件较容易时,则会增加软件成本。产生的时序是跟我们的所选的主控制器的CPU时钟有关。 支持的传输模式 多数的1-wire从器件可以有两种速度通信:标准模式和高速模式。高速模式下的速度比标准的速度约快8倍。所有1-wire从器件均支持标准的速度通信。2类至4类主机均支持高速模式。1类主机是否支持高速模式取决于微控制器的性能。 有源上拉 1-wire总线网络是
9、一个开漏环境,0V为有效状态。空闲时,总线通过一个电阻拉高到上拉电压。因此,下降沿是陡峭的。上升沿由于电阻和寄生电源的作用相当平缓。有源上拉是指一种测试上升沿的方法,如果已经规定门限,通过低阻通道在有限的时间内旁路上拉电阻。小型网络或只有一个从器件的网络一般不需要有源上拉。如果带有源上拉,1-wire总线再充电的速度比电阻上拉的速度快得多,因此,网络中支持多个1-wire从器件时,无需延长时隙之间的恢复时间。各种1-wire主机的旁路上拉强度和控制有源上拉时间的方法有所不同。 1-wire的主机电路 1-wire的主机电路分为四种。 1类微处理器端口-引脚的连接 a 下图中为最基本的1-wir
10、e主机 电路的唯一先决条件是需要一个备用的双向端口及一定的程序存储空间。电路的优点在于它的额外硬件成本较低,仅仅需要一个上拉电阻。缺点在于1-wire时序通过软件产生。增加了前期的软件开发的时间和成本。但只要选择我们满足要求的接口就行。根据应用中1-wire从器件的数目和1-wire上拉电压,需要其它端口引脚来实现上拉。1-wire总线最高工作电压取决于双向端口特性。 1-wire总线上挂接多个从器件时,RPUP值应取低一些。如果那样的话,检查VOLmax是否与1-wire从器件和微处理器端口的输入特性有关。高速通信模式要求微处理器具有高时钟频率和/或较低的每指令周期时钟数。 图2 b 下图的
11、是一种与图一相似的另一种基本的电路。 它的先决条件是需要两个备用的单向的端口,下拉晶体管及一定的程序存储空间。电路的优点是不需要双向端口。缺点在于,1-wire时序通过软件产生,增加了前期的软件开发时间和成本。根据应用中1-wire从器件和1-wire的上拉电压,有时需要其它端口引脚提供强上拉。1-wire总线最高工作电压取决于双向端口特性。1-wire总线上挂接多个从器件时,RPUP的值应取低一些。此时,应检查VOLmax是否与1-wire从器件和微处理器端口的输入特性兼容。高速模式要求微处理器具备较高的时钟频率和/或较低的每指令周期时钟数。虚线部分为带可强上拉的电路的单向端口引脚。 以上两
12、图的区别在于接的I/O口一个是双向的,一个是单向的。一个接的是单向的上拉电阻。一个接的是两个单向的上拉电阻。 图3 内置1-wire主机的微控制器 下图是内置的1-wire主机的的微控制器。它与第一个图不同之处在于位处理器的类型。它的电路所需要主要的前提是需要一个内置的1-wire主机的位控制器,如DS80C400、DS80C410或DS80C411以及一定的程序存储空间。电路的优点在于1-wire时序有硬件产生,可以减少前期软件开发时间和成本。因此,整个应用软件可以用高级语言编写。DS80C400系列微处理器端口带有5V容限。缺点在于,只有高端的微处理器才内置有1-wire主机。根据应用中1
13、-wire上的从器件和上拉电压,可能需要其它端口引脚提供强上拉。1-wire总线上的从器件不止一个时,RPUP值应取低一些。此时,应检查VOLmax是否与1-wire从器件和微处理器端口的输入特性兼容。虚线部分内置1-Wire主机的微控制器及可选的强上拉电路。 图4 合成的1-wire总线主机 图4电路与上图很类似,不同之处在于微处理器和1-wire端口是内置在ASIC或FPGA中。 下图电路工作的前提是具有单片机能力的ASIC或FPGA,至少有一个空闲的双向端口引脚,3470个未使用的门和一定的程序存储空间。电路的优点在于1-wire时序由硬件产生,可以减少前期的软件开发的成本和时间。软件可
14、由高级语言编写。缺点在于并非所有的ASIC和/FPGA都有5V的容限端口。1-wire工作电压取决于ASIC/FPGA的端口特性。一些2.5V的FPGA有5V容限I/O端口,比3.3V的FPGA理想。根据应用中1-wire从器件和-wire上拉电压,可能需要其他端口引脚提供强上拉。1-wire总线上挂接多个从器件时,RPUP值应取低一些。此时,应检查VOLmax是否与1-wire从器件和微处理器端口的输入特性兼容。虚线部分是带可选强上拉电路的ASIC/FPGA。 图5 串行接口协议的转换 下图讨论的是只需一个额外器件即可构成一个功能齐备的1-wire主机。 此电路的主要前提是需要一种控制UAR
15、T方式,例如微处理器、FPGA或PC串行端口,还需要一定的程序存储空间,电路的优点在于1-wire时序由硬件产生,可以减少前期软件的开发成本和空间。因此,整个应用软件可以由高级语言来编写。1-wire时序可以通过控制寄存器微调,不过,内置的4位搜索加速器使1-wire ROM搜索在软件中更易实现。就缺点而言,DS2480B元件较昂贵。DS2480B仅采用5V工作电压。它是功能最强的单芯片的1-wire主机,适合和大量从机通信。有源上拉持续直至超过第二个门限。DS2480B也可以编程1-wire EPRPM器件。 图6 还有基于IIC总线的控制器,USB总线控制器控制器等。 小结: 为了适合嵌入
16、式应用的1-Wire主机应该在附加成本尽可能低的前提下符合1-Wire器件电气要求(即工作电压,若有必要还应带强上拉)。最终选择取决于应用中空闲的(未使用的)资源,包括端口引脚、UART、IC总线甚至USB端口,以及程序存储器空间。当有足够的资源时,完全可以保证在不降低系统特性的情况下,降低成本。如果空闲资源不足,有必要升级为带有更多端口和/或程序存储器的微控制器或FPGA。 在串行接口协议转换类型方面,DS2482-100是最具性价比的选择。对于从器件数目比较多时的应用,DS2482-800每1-Wire通道成本更低。虽然微处理器端口引脚附件电路的成本大大低于DS2482-100,但在软件开
17、发方面投入的额外精力(尤其是当需要写“位拆裂”的低级驱动器时)只能通过构建的单元数目分担。对于基于FPGA的应用,合成1-Wire总线主机是一个值得关注的解决方案。如果DS80C4XX微控制器的其他功能可以很好的满足应用要求,则利用内置1-Wire主机所需的额外组件成本只有几美分。采用DS80C400时,1-Wire时序由硬件产生,所以软件开发成本微乎其微。虽然DS2480B和DS2490适合嵌入式应用,但它们通常应用在PC机端口适配器中。 小结:综合考虑硬件和软件的因素,选择第一种方案是比较合理的。因为ARM9的I/O引脚资源丰富且电平特性符合1-wire电气特性。我们只需在空闲的引脚上接上
18、1-wire从器件的数据脚DQ,且1-wire 上可以挂接多个1-wire从设备。每组都外接上拉电阻,在使用多个从设备之前,我们首先得测出每个1-wire从设备的64位ROM,然后操作它。或者采用一种搜索命令加算法实现。当我们要接多路时,在多接上几组空闲的I/O口,可以很方便的实现硬件的连接。就完全可以实现1-wire技术应用在嵌入式中。我们必须选择微处理器的通信端口必须是双向的,其输出为漏极开路,且线上具有弱上拉。这也是所有1-Wire总线的基本要求。因为ARM9263的GPIO口有如下特性: 所有的I/O线是被并行I/O线控制器,它是集成了一个可编程上拉电阻最小 100K欧的控制器所有的控
19、制器。对这个上拉电阻的独立地编程给每一条I/O线通过PIO控制器。 在复位之后,所有的I/O线默认的作为输入且带有上拉电阻使能的,除了那些被用作复用的引脚外围总线接口信号在复位之后需要被使能。复位之后的I/O引脚的状态可以通过查表来取得。 并行输入/输出控制器管理着32位的全编程的输入/输出线。每一条I/O线可以被直接当做GPIO口或是复用成另一种嵌入式设备的功能来用,这样可以保证这个引脚最优化的功能。 PIO控制器的每一个I/O线有如下特性: 一种输入变化的中断使能电平改变的方向在任一条I/O线上。 一种短时的脉冲干扰低于时钟周期的一半。 多驱动能力类似于开漏的I/O线。 I/O线上拉的控制
20、。 输入的可见性和输出控制 PIO控制器同样以同步的输出提供总到达32位的数据输出再一次信号的写操作。 每一个引脚是可以被配置的,根据产品定义,或者作为任意一个GPIO口,或者I/O线复用为一个或两个设备的I/O口线。作为复位是硬件定义的和产品依靠的,硬件设计者和编程者必须仔细地决定PI/O控制器被配置成特定的应用,当一个I/O线仅仅是GPIO线时,例如,没有被复用成任何外围的设备,那么关于给一个外围设备的编程是不起作用的。仅仅PIO控制器可以控制如何使这个引脚配置成相应的复用功能。 上拉电阻的控制 每一条I/O线被设计成带有一个嵌入式上拉电阻。这个上拉电阻是在GPIO口内部接的。可以通过软件
21、分别写控制寄存器PIO_PUER和PIO_PUDR来使能和禁止上拉电阻。写这些寄存器也就是设置或清除相关的位在PIO_PUSR。在PIO_PUSR寄存器读一个“1”意味着上拉电阻被禁止。读“0”意味着上拉电阻被使能。 每一条I/O线可以被独立地编程在开漏驱动使用多驱动特性。这些特性允许几个驱动被连接在I/O线上它被拉低。一个外部的上拉电阻是被需要该I/O线上输出高电平。 硬件配置 1-wire总线仅定义了一根信号线,所以让总线上的每个设备在适当的时刻运行是很重要的。每一个接入1-wire总线的设备都采用开漏连接或三态输出。下图显示了其与单片机的等效电路。总线控制器可以采用与其一致的等效电路。可
22、将独立的输入和输出连接起来用。在主控端需要加一个上拉电阻,一般取得是在4.7K5K之间,当从器件工作于3V环境时,强上拉电阻是必须的,为了提供给足够的能源,在5V的环境中,强上拉电阻是可选的,那么一个多点系统是由一个1-wire总线和连接在上面的多个从机设备组成的。1-wire总线的通信速率有两种:标准模式为16.3kbps。驱动模式为142kbps。 下图说明了在接多个1-wrie从器件时而定的硬件配置,该连接很简单,1-wire总线向所有的器件提供通信链路,总线通过一个上拉电阻接到3.3V5V的电源上。DS18B20通过三个引脚与微处理器连接,外部单独供电,微处理器和DS18B20的地线要
23、共地。一根数据线引到微处理器的I/O口上。 在接口时序上,要严格控制操作时隙才能完成1-wire总线上的数据传输。每一个通信周期都起始于微控制器发出的复位脉冲,其后紧跟1-wire从器件的应答脉冲。 为了精确的控制1-wire接口的特殊时序,我们首先建立几个函数,第一个函数是延时函数,它是所有读和写的组成部分。这个函数完全依赖于微处理器的速度。 注意的是:1-wire单总线的闲置状态为高电平,无论是何种原因,当传输操作过程需要暂停下来,且要求传输过程还能继续,则总线必须处于闲置状态;如果不是上述情况或者总线保持低电平超过120us,那么总线上的所有器件将要复位。 图7 处理流程 处理流程包括:
24、初始化,ROM功能命令,读取数据。 1-wire的信令,也就是主从设备在工作时,按照单总线的协议,此协议定义了在单线上的四种类型的信号命令,包括“复位脉冲”和“在线应答脉冲”的复位过程、写0、写1、读数据。除了在线脉冲的应答是由从设备主动发起的。其它类型的信号是由主机发起的。 A 初始化及读写时隙 1-wire总线上的所有的传输操作均是由初始化序列开始的,主机输出低电平,保持低电平480us到960us,产生复位脉冲,接着主机释放总线,4.7K上拉电阻将1-wire总线拉高,延时15us60us。并进入接收模式。接着从机将总线拉低60us240us,以产生低电平的应答脉冲,若为低电平,再延时4
25、80us。 图8 初始化序列由主机发出的复位脉冲和从机发出的在线应答脉冲组成的。 在线应答脉冲使主机检测到从机在总线上,并且已经准备就绪。 每一次通信之前,必须进行复位,复位的时间,等待的时间,应答的时间都应严格按照时序进行。 b 写时隙 1-wire上的从机的数据读写是通过时隙处理位和命令字来确认信息交换的。 写时隙包括写“0”和写“1”时隙。在写数据进行的前15us,总线被控制器拉低,接着是芯片对总线的采样时间,采样时间在15us60us,采样时间内,如果控制器将总线拉高,则表示写“1”,如果拉低则表示写“0”,每一位的发送,都应该有一个至少15us的低电平起始位,随后的数据“0”或“1”
26、 应在45us内完成。整个位的发送应该在60us到120us之间。否则,整个通信会不正常。2次独立的写时隙之间至少需要1us的恢复时间。无论是写“1”还是写“0”,均始于主机拉低总线。 图9 c 读时隙 读时隙时,采样的时间应该更加精确,读时隙必须由主机产生至少1us的低电平来表示读时隙的开始,随后在主机释放总线后的15us中从机会发送内部数据位,这时控制器如果发现总线为高电平,则是读出“1” ,如果是低电平,则读出“0”。每一位的读取之前,都由控制器加一个起始信号。必须在读时隙开始的15us内读数据才可以进行正常的通信。且两次独立的读时隙之间至少需要1us的恢复时间。每个读时隙都有主机发起,
27、至少拉低总线1us。 通信时,是以8位“0”或者“1”为一个字节,字节的读或写是高位在前,低位在后。 图10 ROM命令 a 搜索ROM命令F0H 当系统上电时,主机必须找出总线上的所有从设备的ROM代码,这样主机就能够判断出从设备的数目和类型。如果总线上只有一个从设备的,则可以采用读ROM命令来替代搜索ROM命令。这条命令我们也可以在使用从设备之前,首先将它的64位ROM命令测出来,后面直接匹配就可以了。 b 读ROM33H 该命令仅适用于总线上只有一个从设备,它允许主机直接读出64位ROM命令,而无需进行搜索ROM命令过程,如果该命令用于多节点,则会产生数据冲突,因为每个从设备都会响应该命
28、令。 c 匹配ROM命令55h 匹配ROM命令是跟随64位ROM位代码,从而允许主机访问多节点系统中的某个指定的设备,仅当从机完全匹配64位ROM代码时,才会响应主机随后发出的功能命令,其它设备将处于等待复位脉冲状态。 d 跳越ROM命令CCh 主机能够采用该命令同时访问总线上的所有设备,无需发出任何ROM代码信息,主机可以通过发出此命令后跟着发转换温度命令44h,就可以同时命令总线上的从设备开始转换温度,可以大大节省主机的时间。一般编程时,我们通过发此命令后跟着发送转换温度命令,让所有的从设备开始转温度,跟着发送匹配ROM命令,之后再发出读暂存器命令BEh命令,从机就可以按照匹配的顺序将温度
29、数据传上来,从而避免了数据冲突。 e 报警搜索ECh 该命令的工作方式等同于搜索ROM命令,该命令允许主机判断哪些从设备发生了报警。 DS18B20温度传感器是符合1-wire协议的,根据Dallas的1-wire协议,可以从中提取64位的ROM码,8位家族码,48位序列号码,8位CRC校验码。1-wire通信协议规定总线的收发是在特殊时隙下的总线状态下进行的,是每次收发之前,主机都要初始化总线,由主机发复位脉冲开始的。 DS18B20的硬件结构图 一,DS18B20温度传感器它主要有4个主要的数据部件组成: 64位的激光ROM,从高位到低位依次是8位CRC,48位序列号,8位家族码组成。 全
30、数字温度转换及输出。 温度灵敏部件。 非易失性温度报警触发器TH和TL。可通过软件写入用户报警上下限值。 配置寄存器。可以设置DS18B20的温度转换精度,可设置精度为9位,10位,11位,12位精度,上电时缺省分辨率为12位。 DS18B20的温度传感器内部结构存储器结构:共分为9个字节。前两个字节是测得的数字温度值的低8位和高8位。第三和第四个字节是高温和低温存储器,因此,我们读和写入的字节一般是它的前两个字节。根据需要也可将其余的字节数据读回。还有高温寄存器和低温寄存器等共9个字节。 DS18B20的操作顺序: DS18B20的初始化: 基于1-wire总线的所有传输都是以初始化开始的,
31、主机发出复位脉冲,从机响应应答脉冲,应答脉冲使主机知道,总线上有从机设备,且准备就绪。 ROM命令 在主机检测到应答脉冲后,就可以发出ROM命令。这些命令与各个从机设备唯一的64位ROM命令代码相关。允许主机在1-wire总线上连接多个从机设备时,指定操作某个从机设备。这些命令还允许主机检测到总线上有多少个从机设备以及其设备类型,或者有没有处于报警状态。共有5种ROM命令,读ROM,搜索ROM,匹配ROM,跳过ROM,报警搜索。 对于只有一个温度传感器的单点系统,可以跳过ROM命令,主机不必发64位序列号,可以节省大量的时间,对于1-wire总线的多点系统,通常是先把 二:一总线温度传感器的供
32、电方式: 寄生电源方式,适合于在远程温度探测和空间受限的场合有用。当1-wire的信号线DQ为高电平时,窃取信号能量给DS18B20供电。当一总线上挂接的传感器较多时,电源电压下降,能量会不够,会导致温度转换有误差。不采用。 外部电源供电方式,直接将传感器的VDD引脚接电源,供给足够的能量,采用这种方式供电。 三:LTM8877温度传感器的结构,它是美国DALLAS公司出产的一总线温度传感器,长英公司将其封装成温度探头,我们按照DS18B20的时序可以操作它。它的接线是:分为三根线:电源端VDD,地GND,数据端DQ。 它有如下特性: 独特的单线总线接口,DS18B20在与微处理器连接时仅需要
33、一条口线即可实现微处理器与DS18B20的双向通讯。 测温范围 55+125,固有测温分辨率0.5。 支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。 工作电源: 35V/DC。 在使用中不需要任何外围元件。 测量结果以912位数字量方式串行传送。 DS18B20的工作原理及应用: DS18B20的温度检测与数字输出完全集成于一个芯片之上,从而抗干扰力更强,其一个工作周期可分为两个部分,即温度检测和数据处理。DS18B20共有三种形态存储资源,ROM,用于存放DS18B20 ID编码,共6
34、4位ROM。 RAM 数据暂存器,用于内部计算和数据存取,数据再掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。第1、2个字节是温度转换后的数据信息,第3,4个字节是用户EEPROM的镜像。在上电复位时其值将被刷新。第5个字节则是用户第3个EEPROM的镜像。第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的。同样也是内部温度转换,计算的单元,第9个字节为前8个字节的CRC码。 DS18B20的结构 8路1-wire温度传感器接口通过8条传输电缆线接口与ARM9的IO口相连,这样在每个传输电缆上接上8个DS18B20温度传感器,每条传输电缆上有三根线,电源,地
35、和数据线。电源线和地线共用一个电源和地线,8条数据线通过接插件引用到将数据分发出去, 长英公司的一总线温度传感器探头LTM8877产品是与DS18B20一总线传感器相同的,就是封装不相同。现在考虑传感器与9263的接法。 从物理层上,DS18B20温度传感器采集到的是温度模拟量,输出数字量。根据器件的测温原理,有高温度系数振荡器和低温度系数振荡器进行计数,最后通过计数器比较器得到实际的温度。内部的RAM寄存器来存储温度数据。 图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1
36、和温度寄存器被预置在55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1 ,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图2中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。 四:接线说明: 独特的一线接口,只需要一条口线通信多点能力,简化了分布式温度传感应用无需外部元件可用数据总线供电,电压范围为3.0 V至5.5 V 无需备用电源 测量温度范围为-55 C至+
37、125 。华氏相当于是67 F到257华氏度 -10 C至+85 C范围内精度为0.5 C。 温度传感器可编程的分辨率为912位 温度转换为12位数字格式最大值为750毫秒,用户可定义的非易失性温度报警设置 应用范围包括恒温控制,工业系统,消费电子产品,温度计,或任何热敏感系统。 描述该DS18B20的数字温度计提供9至12位。信息被发送到/从DS18B20, 通过1线接口,所以中央处理器与DS18B20只有一个一条口线连接。为读写以及温度转换可以从数据线本身获得能量,不需要外接电源。 因为每一个DS18B20的包含一个独特的序号,多个ds18b20s可以同时存在于一条总线。这使得温度传感器放置在许多不同的地方。它的用途很多,包括空调环境控制,感测建筑物内温设备或机器,并进行过程监测和控制。 AT91SAM9263的GPIO口共有160个。