总线的寻址
(1)寻址字节位定义
I2C总线采用7位的寻址字节,寻址字节是起始信号后的第一个字节。
D7~D1位组成从机的地址。D0位是数据传送方向位,为“0”时表示主机向从机写数据,为“1”时表示主机由从机读数据。
(2)寻址方式
主机发送地址时,总线上的每个从机都将这7位地址码与自己的地址进行比较,如果相同,则认为自己正被主机寻址,根据R/位将自己确定为发送器或接收器。
从机的地址由固定部分和可编程部分组成。在一个系统中可能希望接入多个相同的从机,从机地址中可编程部分决定了可接入总线该类器件的最大数目。如一个从机的7位寻址位有4位是固定位,3位是可编程位,这时仅能寻址8个同样的器件,即可以有8个同样的器件接入到该I2C总线系统中。
(3)寻址字节中的特殊地址
固定地址编号0000和1111已被保留作为特殊用途。
特殊情况,00000000”时,称为通用呼叫地址。通用呼叫地址的用意在第二字节中加以说明。格式为:
例如当第二字节为06H时,所有能响应通用呼叫地址的从机器件复位,并由硬件装入从机地址的可编程部分。能响应命令的从机器件复位时不拉低SDA和SCL线,以免堵塞总线。
关键字:I2C总线 寻址
引用地址:
I2C总线学习(三)--寻址
推荐阅读最新更新时间:2024-03-16 15:30
I2C总线与串行EEPROM
在I2C总线上,数据是串行传输的,但数据的读/写是以8位为单位的,不可以只指定存储器内部某特定的比特位进行读或者替换操作,至少需要以8位为单位进行存取。
M24Cxx与主机的连接实例如图1所示,简单的传输格式实例如图2所示。在PC总线对应的 EEPROM 中,认为最多可以连接8个地址,每个地址至多为8位(256字节,2K位)的存储器,基于I2C总线的规范标准,利用起始字节的0位区分读或写操作,利用1~4位指定器件编号。这样,就可以指定接收数据的器件。然后接着的第2字节是存储器地址,第3字节以后为数据。
图1 I2C总线对应的存储器与主机的连接
因为可以连接地址为8位(256字节,2K位)的8个器件,
[嵌入式]
DSP虚拟I2C总线软件包的设计及应用实例
引言 数字信号处理器(DSP)在各领域中的应用已日趋广泛,其中TI(Texas Instrument)公司的TMS320系列芯片占据了主导地位。TMS320F206(简称F206)由于具有片内32K字的Flash,支持JTAG扫描端口的仿真调试,并支持程序的串行下载,便于开发设计及产品的软件升级,因而在中高档仪器开发中受到青睐。 DSP的处理速度虽然较高,但直接支持的I/O口线较少,控制能力相对较弱,因而与外部器件接口采用串行方式较为适合。常用的串行接口和串行总线有UART、I2C总线,由于I2C总线提供了较完善的总线协议,且接口电路简单,因而得到广泛的应用。目前,已有很多外围器件支持I2C接口,但多数MCU并不直接支持I2C
[单片机]
32位cpu寻址小结
32位cpu 地址线扩展成了32位,这和数据线的宽度是一致的。因此,在32位机里其实并不需要采用 物理地址=段:偏移 这种地址表达方式。原来在16位机里规定的每一个段不大于64kb在32位机里也不是必要的。所以,对于32位机来讲,最简单的方法就是用一个32位数来标识一个字节的存储地址,寻址时只要给出一个32位数就可以直接找到地址。这种地址储存模型就属于 平展储存模型 。 但是,新产品一般都希望遵循 向下兼容 这个原则。所以,32位机里完整的保留了16位寻址模式。即:寻址能力为1M;分段机制;每段不超过64kb。这就是通常所说的 实模式 。在地址储存模型中属于 实地址储存模型 。 其次,考虑到程序通常都是功能化的模块,
[单片机]
TMS320VC5402 HPI接口与PCI总线接口设计
数字信号处理器DSP(Digital Signal Processor)是一种特别适合于进行数字信号处理的微处理器,凭借其运算速度快、功能强等特点,在各个领域的应用越来越广泛。但在很多场合下需要将DSP的各种外围设备同计算机连接,以实现数据传输。通常情况下可利用DSP的串口或I/O口来实现,但无论是接串口还是接I/O口都要占用DSP的硬件资源,同时数据的传输速度有时也不能满足系统的要求。为了解决这一问题,将DSP的HPI口通过PCl2040芯片桥接到PCI总线。本文以TMS320VC5402(简称VC5402)为例,介绍DSP的HPI口及其与PCl2040的接口设计。 1 HPI接口功能及特点 主机接口HPI(Host Pott
[嵌入式]
半年之殇:困扰半年的MSP430的I2C总线问题在今天解决
搞过嵌入式开发的程序员一定知道有I2C总线,手机和电视中的主要串行技术,通过两条线SDA,SCL解决总线传输,地址区分和热插拔问题的技术。 可是就是这么一个简单的东西,让我这个自认为有些经验的单片机开发者浪费了整整五个月!这还是我有比较充分的经验,在一年半前就已经非常了解I2C协议的情况下!这段时间我花了无数的时间在调试,思考,解决问题而没有一丝进展。反复的检查问题,想要的结果死活不出来!昨晚的反思让我今天早上我一大早起来第一件事就是调代码,结果正确出来的时候,眼泪都快出来了。这篇文章,总结下这五个月来的问题,这五个月给我好好的上了一课。 五个月前,初步规划方案阶段: 我做的体感项目发展到了第四代,为了尽可能的减少尺寸
[单片机]
BMW轿车音响I2C总线控制多路音源电路
宝马(BMW)轿车配装的数字式高级汽车音响根据配置和要求不同而不一样,大多属于CCR系列类,主要有CCR-800系列、CCR-610系列、CCR-690系列、CCR-890系列等。这些系列的产品基本电路大致相同,基本功能大同小异,有的仅是功能有所增加或不同,使用的元器件不一样,本文主要介绍基本电路中的I2C总线控制多路音源电路。(以CCR-800DH型音响为例)。 宝马(BMW)轿车数字式高级音响I2C总线控制多路音源处理电路如图1所示,主要由IC601(TDA7313DA)、lC602(KID4558D)两块集成电路为主构成。 1、TDA7313DA简介 TDA7313DA是飞利浦公司生产的专用于数字音响的I2C总线控制式
[汽车电子]
I2C总线的读操作的流程
M24Cxx的读操作模式及其各种模式的操作流程如图1、图2所示。 1. 当前地址读 EEPROM内部具有保持当前地址的寄存器。读取当前地址的数据时,不需要指定地址。只要单纯给出读指令就可读出数据。读取完毕后,内部所保持的当前地址将自动进位。
图1 I 2 C存储器的读操作(1)
图2 I 2 C存储器的读操作(2)
数据读操作后的ACK/NoACK信号由主机返回,但必须返回NoACK信号。
2. 随机读 随机读是由主机指定任意的地址读取的。利用写指令设定地址,如果赋予读指令则可以读出当前地址。所以,与字节写操作时相同,在第1字节的数据后面给出地址。在这里,一旦发送
[嵌入式]
I2C器件与I2C总线的接线方式
I2C总线允许利用不同制造工艺生产的器件以及使用不同电源电压的器件进行通信。对于电源电压固定为5×(1±10%)V的器件,其逻辑电平规定如下:
VILmax=1.5V(最大输入低电平);
VIHmax=3V(最大输入高电平)。
对于能够适应电源电压范围较宽的器件(如CMOS类),其逻辑电平规定如下:
VILmax=0.3VDD(最大输入低电平);
VIHmax=0.7VDD(最大输入高电平)。
具有固定输入电平的I2C总线器件,可以分别单独连接适合自己的电源电压,但是公共的I2C总线上拉电阻必须连接到一个电压为5×(1±10%)V的电源上,如图1所示,其中VDD2~VDD4是由器件决
[嵌入式]