本文档描述了PCF8584 12C串行总线控制器的结构和功能。合我们的主题之一,给出了PCF8584在系统中的应用。FC总线;控制器; PCF8584; DS1624PCF8584PCF 8584是由PHILIPS(NXP后改名)制造的总线控制电路I2 CMOS,微处理器/微控制器和I2C串行最标准的并行总线。
线之间的接口。主从模式下,它可以与I2C串行总线设备通信,允许并行总线系统和I2 C串行总线之间的双向通信。断或查询模式可用于完成序列,所有12C总线规范的协议和仲裁。

控制时间。的操作中,英特尔和摩托罗拉(后更名飞思卡尔)两种模式,无论从Intel或Motorola微处理器微处理器,它可以容易地与PCF 8584,其被自动写入接口内部由芯片组成。测到序列被实现。认模式为Intel模式。PCF8584有五个内部寄存器,其中三个(来自SO’地址寄存器,S2时钟寄存器和S3中断向量寄存器)用于初始化PCF8584。常,这三个寄存器用于在复位器件后初始化芯片。外两个寄存器是多路复用的,数据缓冲器/移位寄存器SO和控制/状态寄存器S1用于传输和接收实际数据。用替代功能的寄存器通过读取和写入来区分,这减少了它们的使用。SO寄存器具有偏移功能和数据缓冲。SO寄存器满足I2C总线中的所有串并转换功能。存器S1包括I2C,关于总线状态的信息。I2C总线I2C总线使用两条线(SDA和SCL)在芯片和模块之间传输信息。
SDA是串行数据线,SCL是串行时钟线,这两条线必须通过电阻连接到正电源,数据只能在总线不忙时传输。12C总线的系统配置如图1所示。生信号的设备是发送器,恒温阀芯接收信号的设备是接收器,控制信号的设备是主设备和接收控制信号的设备是从设备。启动和停止条件未被占用时,数据和时钟线保持高电平。数据线(SDA)处于下降沿且时钟线(SCL)为高电平时,这是START条件;当数据线处于上升沿且时钟线为高电平时,这是STOP条件,参见图2. 3指示灯位于启动条件和停止条件,并且发送器发送到接收器的数据量没有限制。
过在每个8位字节后添加一个指示器,发送器产生一个高指示器,此时主器件产生一个额外的标志时钟脉冲。接收器必须在接收到每个字节后生成指示位,并且主接收器在接收到发送器发送的每个字节后还必须生成指示位。指示位时钟脉冲发生时,SDA线必须保持低电平(必须考虑启动和保持时间)。从设备接收到最后一个字节时,发送器必须丢弃,这迫使接收器生成一个标志,此时主设备可以产生停止条件。I2C总线协议使用VC总线传输数据之前,接收设备必须首先指定地址,然后在I2C总线启动后,在发送的第一个字节发送该地址。PCF8584可用作从机接收器或从机发送器。
时,SCL时钟信号线只能输入信号线,SDA数据信号线是双向信号线。用示例在我们的一个问题中,需要控制检测装置的恒定温度,还需要对电路的工作环境进行温度检测。测需要四个总温度值。
们选择了DS1624芯片集成在数字DALLS温度,能够测量从-55到125℃的温度范围内,提供的13位中的0.03125℃的增量的温度值的,与时间最多1秒转换。2线串行接口具有接线方便,可满足我们的设计需求。A0,A1,A2芯片用于芯片选择,最多可连接8个温度传感器。之前的设计中,我们还选择DS1624组成一个系统,与微处理器的接口直接编程,通过两个端口访问DS1624。制面板调试一次后,一旦选择了温度菜单,系统就会挂起。过分析,这是由于DS1624虚拟焊接。
据图2和3的分析,微处理器在发送控制字和控制字之后从DS1624接收ACK信号。旦DS1624焊接或损坏,微处理器就不会收到正确的ACK信号,软件进入无限循环状态会导致系统崩溃。避免这种现象,经过比较,选择通过12C PCF8584总线控制器访问DS1624,这不会发生,控制器会自动完成数据的读取。

果发生错误,也会激活相应的状态位,以防止因设备损坏或接触不良而导致系统故障。系统中,PCF8584采用主模式,DSl624采用从模式。统设计系统的原理图如图4所示.PCF8584访问由端口地址实现,其地址由软件编程定义,软件编程占用800H和801H两个端口。
个DS1624的地址为0-3。了执行发送和接收数据的功能,定义了以下功能:初始化功能,主寄存器的初始化,数据传输功能,数据接收,起始位的设置功能和停止位等结论I2C总线由于其简单的接口和方便的PCB布局等优点而获得越来越多的应用。该系统中,I2C串行总线与微处理器的接口由PCF8584实现,满足系统的设计要求,简化了系统的设计,取得了良好的效果。
本文转载自
恒温阀芯 https://www.wisdom-thermostats.com
