关于I2C总线 LEGO 通讯协议 IIC总线

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

I2C通信总线

NXT的I2C通信总线能力很强大,使无限扩张的输入和输出成为可能。最初由飞利浦公司开发,I2C代表Inter-Integrated 电路。虽然I2C接口的物理位置在NXT输入端口上,但它实际上可以用于输入和输出。

因为I2C数据传输是顺序进行的,所以它只需要使用三根电线。一线用于发送和接收数据(SDA),而其他提供同步时钟信号(SCL)。SDA是第6针,时钟是第5针,也就是蓝色和黄色的NXT电缆。地是第2针或第3针,也就是黑色或红色的NXT电缆。

■注意旧的NXT 固件I2C通信有一些问题,因此,请确保您正在运行1.05以上的固件。

■注意如果您I2C程序出现挂起或崩溃,你需要重启I2C硬件电源,拔出连接线然后重新连接NXT。

I2C通讯

幸运的是,NXT支持详细的底层i2c通信,但您应该了解几个基本点。I2C 总线都有一个主——NXT——和多达127个从设备。然而,每个端口的硬件限制大约只能有八个从。每个从有一个特有的7 位地址。当NXT想要与设备通信时,它将发送这7位地址并加上一位读取控制位。然后从设备将会回复一个一位的应答。下图是具体通讯过程。

PCF8574

PCF8574:此I/O扩展器是最有用的I2C设备之一。它是单个的集成电路,其中包括八个针脚,可以输入或输出。下图所示,在其中只标记了P0 -P7八个I/O引脚。因为其他未标记的引脚在本系列教程中不会被使用。

You use address pins A0, A1, and A2 to generate one of eight possible addresses for the expander. That means you can have eight PCF8574s on the same I2C bus by connecting the address pins either high to VDD or low to VSS. A PCF8574 with all address lines tied to VSS will have the address 40 hexadecimal (0x40) or 64 decimal. There’s an alternate version of the part with an A suffix that has a base address of 70 hexadecimal (0x70) or 112 decimal. Figure 13-3 illustrates how to compute the address for the two devices.

使用地址针脚A0、A1、A2可以修改设备的物理地址。这意味着您可以通过将地址针脚连接到VSS或VDD在相同的I2C总线上连接八个PCF8574芯片。PCF8574所有地址针与VSS相连他的地址为0x40(十六进制)或64(十进制)。还有一个是升级版本PCF8574A 的地址为0x70(十六进制)或112(十进制)。如下图所示。

相关文档
最新文档