单总线的简介
1-wire,即单线总线,又叫单总线。
单总线技术(1-Wire Bus)是美国的达拉斯半导体公司(DALLAS SEMICONDUCTOR)推出了一项特有的技术,它采用单根信号线,既可传输时钟,又能传输数据,而且数据传输是双向的,因而这种单总线技术具有线路简单,硬件开销少,成本低廉,便于总线扩展和维护等优点。
单总线特点
1、部件独立性
采取异步工作方式各部件的运行速度可以与总线上其他部件完全无关,而不是一切以存贮器周期为转移。因此可以局部更新,增强系统适应性延长系统使用寿命。积木化也有利于各部件独立地设计、生产、调试和改进。
2、面向外围
单总线结构是一种面向外围的系统组织方法,I/O设备“直接存贮器存取"(DMA)可以绕过CPU;外围设备之间可以直接通信,例如显示器可从磁盘直接获得画面数据形成与CPU独立的I/O子系统;与另一台单总线计算机互连,也只要两者的总线互连,易于扩充为多机系统。
3、总线限制
系统中所有设备都连接在单总线上,使总线实际上比较长,电气负载很重,决定了单总线不能成为高速总线。而总线速率限制了系统性能,限制了可扩充性。总线可靠性则限制了系统可靠性。事实上,CPU和主存之间的信息交换是系统中最经常的事件,并主要由它决定了整个系统性能。可是单总线系统却忽视了主存的特殊地位,只放在外围设备同等地位。因此改进单总线系统性能的途径自然是在主存与CPU之间增加一条独立的高速总线,实际上部分地转移到以存贮器为中心组织系统。
协议
1-Wire协议定义了复位脉冲、应答脉冲、写0、读0和读1时序等几种信号类型。所有的单总线命令序列(初始化,ROM命令,功能命令)都是由这些基本的信号类型组成的。在这些信号中,除了应答脉冲外,其他均由主机发出同步信号,并且发送的所有命令和数据都是字节的低位在前。
典型的单总线命令序列如下:
第一步:初始化
第二步:ROM 命令(跟随需要交换的数据)
第三步:功能命令(跟随需要交换的数据)
每次访问单总线器件,必须严格遵守这个命令序列,如果出现序列混乱,则单总线器件不会响应主机。但是,这个准则对于搜索ROM 命令和报警搜索命令例外,在执行两者中,任何一条命令之后,主机不能执行其后的功能命,令必须返回至第一步。
使用方法
目前常用的微机与外设之间进行数据传输的串行总线主要有I2C总线、SPI总线和SCI总线。其中I2C总线以同步串行2线方式进行通信(一条时钟线,一条数据线),SPI总线则以同步串行3线方式进行通信(一条时钟线,一条数据输入线,一条数据输出线),而SCI总线是以异步方式进行通信(一条数据输入线,一条数据输出线)的。这些总线至少需要两条或两条以上的信号线。近年来,美国的达拉斯半导体公司(DALLASSEMICONDUCTOR)推出了一项特有的单总线(1-Wire Bus)技术。该技术与上述总线不同,它采用单根信号线,既可传输时钟,又能传输数据,而且数据传输是双向的,因而这种单总线技术具有线路简单,硬件开销少,成本低廉,便于总线扩展和维护等优点。
单总线适用于单主机系统,能够控制一个或多个从机设备。主机可以是微控制器,从机可以是单总线器件,它们之间的数据交换只通过一条信号线。当只有一个从机设备时,系统可按单节点系统操作;当有多个从机设备时,系统则按多节点系统操作。
通信方式
主机对1-Wire总线的基本操作分为复位、读和写三种,其中所有的读写操作均为低位在前高位在后。复位、读和写是1-Wire总线通信的基础。