This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

IIC bootload



各位专家:

我在看DSP 6678的数据手册时看到IIC的加载方式有这样一个选项:

经过询问,IIC的总线地址的值0X51 0X50是固定在DSP内部不能改变的,那么IIC 上连接的芯片如EEPROM怎么确定它的地址是多少的?如果DSP需要读取地址空间为0X50的数据,那么EEPROM哪一部分的地址空间是0x50呢?

我发现6678开发板上,通过IIC连接了一块EEPROM,那么是不是只会用到一个地址,0x51,还是0x50?

  •   一般EEPROM器件的地址8bits结构为:(1)(0)(1)(0)(A3)(A2)(A1)(R/W), DSP访问该EEPROM的时候发送的地址为高7bit,:(1)(0)(1)(0)(A3)(A2)(A1),其中A3, A2,A1一般为EEPROM的管脚可配置。所以EEPROM可以确定它的地址是多少。

      对于C6678EVM,使用的是ST M24M01-HRMN6TP EEPROM, 在C6678EVM上,该器件对应的(A3)(A2)管脚(E1,E2)已经配置为0.而(A1)在该器件上对应A16(请参考 M24M01-HRMN6TP data sheet

    www.st.com/.../CD00147128.pdf).该器件为128 Kbytes (1 Mbits),有17个地址位,A16是最高位。

      当DSP发送地址0x50的时候,A16为0,访问该器件的低64K bytes; 发送地址0x51的时候,A16为1,访问该器件的高64K bytes。所以在C6678EVM上,你可以使用0x50和0x51两个地址。

  • 解答非常详细,多谢