单总线原理

1.简介

       单总线即one-wire总线,与SPI、I²C串行数据通信方式不同。它采用单根信号线,既传输时钟又传输数据,而且数据传输是双向的。

       单总线是DALLAS公司研制开发的种协议由一个总线主节点、或多个从节点组成系统,通过根信号线对从芯片进行数据的读取。每一个符合OneWire协议的从芯片都有一个唯一的地址,包括48位的序列号、8位的家族代码和8位的CRC代码。主芯片对各个从芯片的寻址依据这64位的不同来进行。

       单总线利用一根线实现双向通信。因此其协议对时序的要求较严格,如应答等时序都有明确的时间要求。基本的时序包括:复位、应答时序、写1位时序、读1位时序。在复位及应答时序中,主器件发出复位信号后,要求从器件在规定的时间内送回应答信号;在位读和位写时序中,主器件要在规定的时间内读出或写出数据。

2.单总线原理

        单总线器件内部设置有寄生供电电路。当单总线处于高电平时,一方面通过二极管向芯片供电,另方面对内部电容C(约800pF)充电;当单总线处于低电平时,二极管截止,内部电容C向芯片供电。由于电容c的容量有限,因此要求单总线能间隔地提供高电平以能不断地向内部电容C充电、维持器件的正常工作。这就是通过网络线路“窃取”电能的“寄生电源”的工作原理。要注意的是,为了确保总线上的某些器件在工作时(如温度传感器进行温度转换、E2PROM写入数据时)有足够的电流供给,除了上拉电阻之外,还需要在总线上使用MOSFET(场效应晶体管)提供强上拉供电。

  单总线的数据传输速率一般为16.3Kbit/s,最大可达142 Kbit/s,通常情况下采用100Kbit/s以下的速率传输数据。主设备I/O口可直接驱动200m范围内的从设备,经过扩展后可达1km范围。

2.1单总线通信信号类型

       单总线通信协议定义了如下几种类型,即复位脉冲、应答脉冲、写0、写1、读0和读1。除了应答脉冲外,所有的信号都由主机发出同步信号,并且发送的所有的命令和数据都是字节的低位在前

(1)复位脉冲和应答脉冲

         单总线上的所有通信都是以初始化序列开始。主机输出低电平,保持低电平时间至少 480us ,以产生复位脉冲。接着主机释放总线, 4.7K 的上拉电阻将单总线拉高,延时 15 60 us 并进入接收模式 (Rx) 。接着 DS18B20 拉低总线 60~240 us ,以产生低电平应答脉冲, 若为低电平,再延时 480 us
 
(2)写时序
       写时序包括写 0 时序和写 1 时序。所有写时序至少需要 60us ,且在 2 次独立的写时序之间至少需要 1us 的恢复时间,两种写时序均起始于主机拉低总线。
       写 0 时序:主机输出低电平,延时 60us ,然后释放总线, 延时 2us
       写 1 时序:主机输出低电平, 延时 2us ,然后上拉电阻拉至高电平,延时 60us
 
      

    在写时隙开始后15us~60us期间,单总线器件采样总电平状态。如果在此期间采样值为高电平,则逻辑1被写入器件;如果为0,写入逻辑0。

(3)读时序

        单总线器件仅在主机发出读时序时,才向主机传输数据。所以,在主机发出读数据命令后,必须马上产生读时序,以便从机能够传输数据。所有读时序至少需要 60us ,且在 2 次独立的读 时序之间至少需要 1us 的恢复时间。每个读时序都由主机发起,至少拉低总线 1us。 主机在读 时序期间必须释放总线,并且在时序起始后的 15us 之内采样总线状态。
       典型的读时序过程为: 主机输出低电平延时 2us,然后主机转成输入模式延时 12us,然后读取单总线当前的电平,然后延时 50us

 2.2单总线通信的ROM命令

      当主机检测到应答脉冲后,就发出ROM命令,这些命令与各个从机设备的唯一64位ROM代码相关,允许主机在单总线上连接多个从设备时,指定操作某个从设备。

      主机在发出功能命今之前,必须发出ROM命令。

3.总结

DS18B20 的典型温度读取过程为:复位 SKIP ROM 命令( 0XCC 发开始转换命令( 0X44 延时 发送 SKIP ROM 命令( 0XCC 发读存储器命令( 0XBE 连续读出两个字节数据 ( 温度 ) 结束。

 

 

 
 

 

 

  • 9
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Logisim单总线CPU是一种基于Logisim软件设计和模拟的计算机中央处理器。该CPU采用单总线结构,意味着所有与CPU连接的组件和设备共享同一个数据总线。 单总线CPU主要由以下几个关键组件组成: 1. 控制单元(CU):负责指令的解码和执行。它从内存中读取指令并将相应的控制信号发送给其他组件,以实现指令的执行。 2. 算术逻辑单元(ALU):负责执行算术和逻辑操作,如加法、减法和逻辑门运算。它从寄存器中读取数据,并根据指令进行相应的操作。 3. 寄存器堆:用于存储临时数据和存储器地址。它包含一组可读可写的寄存器,供CPU使用。 4. 存储器(RAM):用于存储指令和数据。CPU通过地址总线将读取和写入数据发送到存储器。 5. 输入输出设备:用于与外部设备进行数据交互。CPU通过输入输出接口将数据从外部设备传输到存储器中,或从存储器中输出数据到外部设备。 单总线CPU的工作原理如下: 1. 程序从存储器中加载到指令寄存器中。 2. 控制单元解码指令,并发送相应的控制信号给其他组件。 3. ALU执行指令所需的算术和逻辑运算,并将结果存储在寄存器中。 4. 如果需要从存储器中读取数据,CPU发送地址到存储器,并从数据总线读取数据。 5. 如果需要将数据写入存储器,CPU发送地址和数据到存储器。 6. 输入输出设备通过输入输出接口与CPU进行数据交互。 通过以上过程,单总线CPU能够执行各种指令,并与外部设备进行数据交互。它为计算机提供了基本的计算和数据处理能力。 ### 回答2: Logisim是一款数字电路仿真软件,可以用于设计和模拟各种数字电路。单总线CPU是一种简单的中央处理器设计,它使用单个总线连接所有的组件,并且只能执行一条指令。 单总线CPU由多个组件组成,包括指令寄存器、程序计数器、ALU、寄存器文件等。指令寄存器用于存储当前执行的指令,程序计数器用于存储下一条指令的地址。 单总线CPU的工作流程如下:首先,从存储器中获取指令,并将其加载到指令寄存器中。然后,程序计数器自动加1,以指向下一条指令的地址。接下来,根据指令寄存器中的指令,CPU执行相应的操作。 执行操作时,CPU通常需要从寄存器文件中读取数据,并根据指令执行相应的运算操作。运算结果可以存储回寄存器文件中,或者发送到其他组件进行进一步的处理。 在单总线CPU中,所有组件通过单个总线进行数据传输。因此,在执行操作之前,CPU需要使用总线进行访问权限的控制,以防止多个组件同时访问总线引发冲突。 总之,单总线CPU是一种简单的中央处理器设计,采用单个总线连接所有组件,并且只能执行一条指令。它适用于一些简单的应用场景,但在复杂的计算任务中可能性能有限。这只是关于Logisim单总线CPU的简要说明,实际的设计和实现涉及更多的细节和技术。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值