目前常用的微机与外设串行总线主要有我们熟悉的12C总线,SPI总线,SCI总线。其中12C总线是以同步串行2线方式进行通信(一条时钟线,一条数据线),SPI总线是以同步串行3线方式进行通信(一条时钟线,一条数据输入线,一条数据输出线),SCI总线是以异步方式进行通讯(一条数据输入线,一条数据输出线)。这些总线至少需要有两条或两条以上的信号线。近年来,美国的达拉斯半导体公司(DALLAS SEMICONDUCTOR)推出了一套单总线(1-Wire Bus)技术,与上述总线不同,它采用单根信号线,即传输时钟,又传输数据,而且数据传输是双向的,在其线路简单、硬件开销少、成本低廉、便于总线的扩展和维护等优点。
单总线适用于单个主机系统,能够控制一个或多个从机设备。主机可以是微控制器,从机可以是单总线器件,如图1所示,
他们之间的数据交换只通过一条数据线。当只有一个从机设备时系统可按单节点系统操作;当有多个从机设备时,则系统按多节点系统操作。
单总线工作原理
顾名思义,单总线只有一根数据线系统中的数据交换、控制都在这根线上完成。设备(主机或从机)通过一个漏极开路或三态端口连至该数据线,这样允许设备不发送数据时释放总线,以便其他设备使用总线,其内部等效电路如图2所示。
单总线要求外接一个约4.7Ω的上拉电阻,这样当总线闲置时,状态为高电平。主机和从机之间的通信通过以下三个步骤完成:初始化1-wire器件,识别1-wire器件,交换数据。由于二者是主从结构,只有主机呼叫从机时,从机才能答应,因此主机访问1-wire器件都必须严格遵循单总线命令序列:初始化、ROM命令、功能命令。如果出现序列混乱,1-wire器件不会响应主机(搜索ROM命令,报警搜索命令除外)。[page]
信号方式
所有单总线器件要求遵循严格的通信协议,以保证数据的完整性。1-wire协议定义了几种信号类型:复位脉冲、答应脉冲、写0、写1、读0和读1时序。所有的单总线命令序列(初始化、ROM命令、功能命令)都是由这些基本的信号类型组成。这些信号,除了应答脉冲外都是由主机发出同步信号,并且发出的所有命令和数据都是字节的低位在前。初始化时序包括主机发送的复位脉冲和从机发出的应答脉冲主机通过拉低单总线至少480us,以产生TX复位脉冲:然后主机释放总线,并进入RX接收模式,当主机释放总线时,总线由低电平跳变为高电平时产生一上升沿,单总线器件检测到这上升沿后,延时15~60us,接着单总线器件通过拉低总线60~240us,以产生应答脉冲。主机接收到从机应答脉冲后,说明有单总线器件在线,然后主机就开始对从机进行ROM命令和功能命令操作。
写1、写0和读时序。在每一个时序中,总线只能传输一位数据。所有的读写时序至少需要60us,且每两个独立的时序之间至少需要1us的恢复时间。读写时序均起始于主机拉低总线。在写时序中,主机拉低总线后保持至少60us的低电平则向单总线器件写0。单总线器件又在主机发发出读时序时才向主机传送数据,所以当主机向单总线器件发出数据命令后,必须马上产生读时序,以便单总线能传输数据。在主机发出读时序之后,单总线器件才开始在总线上发送0或1,若单总线器件发送1,则保持总线高电平,若发送0,则拉低总线。单总线器件发送之后,保持有效时间,因而,主机在读时序期间必须释放总线,并且必须在15us之中采样总线状态,从而接收到从机发送的数据。
单总线器件
我们把挂在单总线上的器件称之为单总线器件,其器件内具有控制、收/发、储存等电路。为了区分不同的单总线器件,产家生产单总线器件时要刻录一个64位的二进制ROM代码,标志着单总线器件的ID号。目前,单总线器件的主要有数字温度传感器(如DS18B20));A/D转换器(如DS2450)门禁、身份识别器(如DS1990A);单总线控制器(如DSIWM)等等。这里介绍一种iButton形式的单总线器件,它是利用瞬间接触进行数字通信的,这些器件应用已经渗透到货币交易和高度安全的认证系统。IButton是采用纽扣状不锈钢外壳封装的微型计算机晶片,他具有抗撞击、抗水渍、耐腐蚀、抗磁扰、防折叠、价格便宜等特点,能交好的解决传统识别器存在的不足,同时又满足系统在可靠性、稳定性方面的要求。IButton主要有三种类型,分别是Memory iButton(储存型),Java—poweredcrptograhic iButton(加密型),Thermochron iButton(温度型),储存型iButton最大可具有64K的储存空间,可以储存数字或相片。加密型iButton是一种微处理器和高速算法加速器,可以产生大量的需要加密和解密信息的数据,它运行速度非常快,可与Internet应用相结合,并可用于远程鉴定识别。温度型iButton可以测量温度变化,内含温度计、时钟、热记录、储存单元。
单总线器应用例子
本文介绍单总线应用例子是iButton技术在安防系统上的应用,该安防系统就是利用iButton来进行门禁识别。门禁识别部分的硬件由3部分组成:主机微控制器;从机包括iButton信息读取头和iButton;三为主机通过RS485进行远程通信或MicroWeb连上Internet。 微控制器采用Microchip公司的PIC16F873芯片;API8108A 是语音芯片,用来告诉用户系统信息;iButton采用DS1990A,信息读取头使用DS9092L。当用户把iButton与信息读取头接触,iButton标识码进行比较判断,若吻合,则系统按设定要求程序工作,否则,系统给出语音提示。DS1990A与主机微控制器之间的通信软件设计流程图如图3所示。
与单总线器件通信都是通过初始化、写0、写1、读0、读1时序达到的。
基于单总线的iButton技术,能较好地解决了传统识别器普遍存在的携带不便、易损坏、易受腐蚀、易受电磁干扰等不足,可应于高度安全的门禁、身份识别领域。其通信可靠简单,很容易实现。因此单总线技术有着广阔的应用前景,是值得我们关注的一个发展领域。
关键字:单总线技术 信号方式 初始化
引用地址:单总线技术及其应用
单总线适用于单个主机系统,能够控制一个或多个从机设备。主机可以是微控制器,从机可以是单总线器件,如图1所示,
他们之间的数据交换只通过一条数据线。当只有一个从机设备时系统可按单节点系统操作;当有多个从机设备时,则系统按多节点系统操作。
单总线工作原理
顾名思义,单总线只有一根数据线系统中的数据交换、控制都在这根线上完成。设备(主机或从机)通过一个漏极开路或三态端口连至该数据线,这样允许设备不发送数据时释放总线,以便其他设备使用总线,其内部等效电路如图2所示。
单总线要求外接一个约4.7Ω的上拉电阻,这样当总线闲置时,状态为高电平。主机和从机之间的通信通过以下三个步骤完成:初始化1-wire器件,识别1-wire器件,交换数据。由于二者是主从结构,只有主机呼叫从机时,从机才能答应,因此主机访问1-wire器件都必须严格遵循单总线命令序列:初始化、ROM命令、功能命令。如果出现序列混乱,1-wire器件不会响应主机(搜索ROM命令,报警搜索命令除外)。[page]
信号方式
所有单总线器件要求遵循严格的通信协议,以保证数据的完整性。1-wire协议定义了几种信号类型:复位脉冲、答应脉冲、写0、写1、读0和读1时序。所有的单总线命令序列(初始化、ROM命令、功能命令)都是由这些基本的信号类型组成。这些信号,除了应答脉冲外都是由主机发出同步信号,并且发出的所有命令和数据都是字节的低位在前。初始化时序包括主机发送的复位脉冲和从机发出的应答脉冲主机通过拉低单总线至少480us,以产生TX复位脉冲:然后主机释放总线,并进入RX接收模式,当主机释放总线时,总线由低电平跳变为高电平时产生一上升沿,单总线器件检测到这上升沿后,延时15~60us,接着单总线器件通过拉低总线60~240us,以产生应答脉冲。主机接收到从机应答脉冲后,说明有单总线器件在线,然后主机就开始对从机进行ROM命令和功能命令操作。
写1、写0和读时序。在每一个时序中,总线只能传输一位数据。所有的读写时序至少需要60us,且每两个独立的时序之间至少需要1us的恢复时间。读写时序均起始于主机拉低总线。在写时序中,主机拉低总线后保持至少60us的低电平则向单总线器件写0。单总线器件又在主机发发出读时序时才向主机传送数据,所以当主机向单总线器件发出数据命令后,必须马上产生读时序,以便单总线能传输数据。在主机发出读时序之后,单总线器件才开始在总线上发送0或1,若单总线器件发送1,则保持总线高电平,若发送0,则拉低总线。单总线器件发送之后,保持有效时间,因而,主机在读时序期间必须释放总线,并且必须在15us之中采样总线状态,从而接收到从机发送的数据。
单总线器件
我们把挂在单总线上的器件称之为单总线器件,其器件内具有控制、收/发、储存等电路。为了区分不同的单总线器件,产家生产单总线器件时要刻录一个64位的二进制ROM代码,标志着单总线器件的ID号。目前,单总线器件的主要有数字温度传感器(如DS18B20));A/D转换器(如DS2450)门禁、身份识别器(如DS1990A);单总线控制器(如DSIWM)等等。这里介绍一种iButton形式的单总线器件,它是利用瞬间接触进行数字通信的,这些器件应用已经渗透到货币交易和高度安全的认证系统。IButton是采用纽扣状不锈钢外壳封装的微型计算机晶片,他具有抗撞击、抗水渍、耐腐蚀、抗磁扰、防折叠、价格便宜等特点,能交好的解决传统识别器存在的不足,同时又满足系统在可靠性、稳定性方面的要求。IButton主要有三种类型,分别是Memory iButton(储存型),Java—poweredcrptograhic iButton(加密型),Thermochron iButton(温度型),储存型iButton最大可具有64K的储存空间,可以储存数字或相片。加密型iButton是一种微处理器和高速算法加速器,可以产生大量的需要加密和解密信息的数据,它运行速度非常快,可与Internet应用相结合,并可用于远程鉴定识别。温度型iButton可以测量温度变化,内含温度计、时钟、热记录、储存单元。
单总线器应用例子
本文介绍单总线应用例子是iButton技术在安防系统上的应用,该安防系统就是利用iButton来进行门禁识别。门禁识别部分的硬件由3部分组成:主机微控制器;从机包括iButton信息读取头和iButton;三为主机通过RS485进行远程通信或MicroWeb连上Internet。 微控制器采用Microchip公司的PIC16F873芯片;API8108A 是语音芯片,用来告诉用户系统信息;iButton采用DS1990A,信息读取头使用DS9092L。当用户把iButton与信息读取头接触,iButton标识码进行比较判断,若吻合,则系统按设定要求程序工作,否则,系统给出语音提示。DS1990A与主机微控制器之间的通信软件设计流程图如图3所示。
与单总线器件通信都是通过初始化、写0、写1、读0、读1时序达到的。
基于单总线的iButton技术,能较好地解决了传统识别器普遍存在的携带不便、易损坏、易受腐蚀、易受电磁干扰等不足,可应于高度安全的门禁、身份识别领域。其通信可靠简单,很容易实现。因此单总线技术有着广阔的应用前景,是值得我们关注的一个发展领域。
上一篇:基于现场总线的能量管理系统及SIVACON低压开关柜
下一篇:精简ISA总线扩展应用
推荐阅读最新更新时间:2024-05-02 22:28
用STM32F4的库函数RCC_PLLConfig()代替SystemInit()手动初始化
STM32上电复位后首先执行Reset_Handler,然后调用SystemInit()函数完成时钟等基本初始化,再执行main函数。 ; Reset handler Reset_Handler PROC EXPORT Reset_Handler IMPORT SystemInit IMPORT __main LDR R0, =SystemInit BLX R0 LDR R0, =__main BX R0 ENDP SystemInit()函数在文件system_stm32f4xx
[单片机]
ARM初始化程序分析
1个多月前看完周立功的ARM基础与ARM基础实验教程二,然后专研了一段时间TI的TMS320C5402,弄不懂,迫于师傅要求要出另一产品的压力,现在重新又来看ARM基础实验二,今天下午在ADS下做了下Startup.s的实验,终于把第一次没懂的弄明白了。。。唉。。又收获啊。。。。 源代码与分析注释如下: ;初始化C程序运行环境,然后进入C程序代码 IMPORT |Image$$RO$$Limit| IMPORT |Image$$RW$$Base| IMPORT |Image$$ZI$$Base| IMPORT |Image$$ZI$$Limit| IMPO
[单片机]
STM32入门系列-使用库函数点亮LED,LED初始化函数
要点亮LED,需要完成LED的驱动, 在工程模板上新建一个led.c和led.h文件,将其存放在led文件夹内。这两个文件需要我们自己编写。 通常xxx.c文件用于存放编写的驱动程序,xxx.h文件用于存放xxx.c内的stm32头文件、管脚定义、全局变量声明、函数声明等内容。 因此在led.c文件内编写如下代码: #include led.h /******************************************************************************* * 函 数 名 : LED_Init * 函数功能 : LED 初始化函数 * 输 入 : 无 * 输 出 : 无
[单片机]
stm32 Usart 初始化
库文件中给出了初始化stm32 USART 的范例 /** * @brief Fills each USART_InitStruct member with its default value. * @param USART_InitStruct: pointer to a USART_InitTypeDef structure * which will be initialized. * @retval None */ void USART_StructInit(USART_InitTypeDef* USART_InitStruct) { /* USART_InitStruct members
[单片机]
单片机多机通信之变量初始化的重要…
单片机多机通信之变量初始化的重要性 博文题目之所以要加上变量初始化的重要性,是因为我在调试单片机多机通信程序时,也就是下面将给出的程序,花了一整个晚上才发出,原来是有一个变量没有初始化,从而导致,多机通信不成功。主机程序中为红色的注释的变量一定要初始化,否则将失败。 仿真图如下: 主机程序: 单片机多机通讯 说明:该程序为多机通讯程序,最多可以挂255个从机。 该程序主机发送端与多个从机的接收端相接,主机的接收端与多个从机的发送端相接。 该程序主要的目的为给从机发送作为命令的数据。 该程序调试成功,从机可正确接收。 */ //===============
[单片机]
MSP430F2619单片机时钟初始化故障始末
初次使用该芯片,问题说大不大,说小也折腾了挺久,写出来,让后来者能避免此类简单错误。 项目需要,使用MSP430F2619捕获功能对待测频率信号进行采样计算。 待测信号由信号发生器给出。 硬件上,MSP430F2619单片机XIN和XOUT并未按手册建议接入32.768kHz低频时钟,仅在XT2IN和XT2OUT引脚接入8MHz高频时钟。(此处是导致错误的根源) 在后期调试时,有尝试使用MSP430FG439芯片最小系统进行测试,因此查阅用户指南时,在时钟模块章节,有阅读到一句“If there is only one crystal in the system it should be connected to
[单片机]
U-boot 在 mini2440-S3C2440 上的移植(4):U-boot第二阶段代码:修改初始化代码
编译U-boot给mini2440时,要编译出能在ARM平台上使用的可执行文件-bin,首先要在ubuntu 中安装交叉编译工具链,因为我使用的是友善之臂的开发板,所以我使用的已经制作好的工具链,当然也可以自己制作工具链:如基于GCC和glibc制作工具链,可以使用cross tools编译; 我使用的工具链的版本是arm-linux-gcc-4.3.3版本,下载地址:下载地址 1.在pc端下载好以后,将压缩包用xftp传输到Ubuntu;当然也可以用其他软件上传;上传后把它放在根目录下的/usr/local文件夹中新建一个arm文件夹,然后把压缩包复制到这个文件夹;注意先建好文件夹再上传,可以减少很多工作量; 一定要上传压缩包,
[单片机]
尼桑天籁电动车窗初始化
尼桑天籁电动车窗初始化
问题描述:
天籁车断电或更换了玻璃或更换了电机,会出现自动档玻璃升到顶又降下来的现象,用常规的设定方法(升到顶再向上拉住开关5秒)会不起效果,此时的设定方法有别于其他的常规设定。
操作步骤:
1.拆开门板、拆下玻璃、拆下升降机的总成。
2.拆下玻璃升降电机。
3.打开钥匙,用玻璃升降开关向下点按2-3下,电机会短暂转动三下。
4.向上用自动档,电机会一直转,等电机停下来,关闭钥匙。
5.装上电机。再把所有的拆下来装上即可。
注意:
1,必须从升降机架子上拆下电机。
2,向下用向下第一档点按,向上用向上第二档。
3,向下3次左右,向上1次。
4,装
[传感器]