应用笔记 5064

通过SerDes远端I²C接口访问16位I²C外设寄存器地址

By: Alex Shih

摘要 : 本应用笔记介绍如何通过吉比特多媒体串行链路(GMSL) SerDes的远端I²C接口访问16位寄存器地址。

引言

Maxim吉比特多媒体串行链路(GMSL)串行器/解串器(SerDes)系列包括MAX9249MAX9259MAX9260MAX9263MAX9264,具有UART/I²C转换器,用于远端控制I²C接口外设。这些外设包括相机传感器、I/O端口扩展器、音频模/数转换器(ADC)和数/模转换器(DAC),以及LED照明。

在GMSL数据资料和相关技术文件中,通过UART端口直接连接至电子控制单元(ECU)的一端被称为“本地端”,另一端被称为“远端”。

I²C外设接口是控制通道基本模式中的默认设置。GMSL系列SerDes只转换器件地址不同于GMSL串行器或解串器地址的UART数据包。UART/I²C转换器接收(比如)汽车ECU发出的UART读或写数据包,并将其转换为I²C主控制器协议。

I²C接口支持外设使用的多种不同格式,有或没有变址寄存器以及8为或16位变址寄存器地址均可,通过远端寄存器位I2CMETHOD (寄存器0x05位7)设置实现。

  1. 对于没有变址寄存器的外设:

    设置I2CMETHOD = 1,按照标准GMSL UART协议发送读/写数据包。UART/I²C转换器将去掉读/写数据包中的8位寄存器地址,如图1所示。

    图1. 命令模式(I2CMETHOD = 1)下UART和I²C之间的格式转换
    图1. 命令模式(I2CMETHOD = 1)下UART和I²C之间的格式转换

  2. 对于采用8位变址寄存器的外设:

    设置I2CMETHOD = 0,按照标准GMSL UART协议发送读/写数据包,如图2所示。

    图2. 带有寄存器地址(I2CMETHOD = 0)时,UART和I²C之间的格式转换
    图2. 带有寄存器地址(I2CMETHOD = 0)时,UART和I²C之间的格式转换

  3. 对于采用16位变址寄存器的外设:

    3.1. 写操作。设置I2CMETHOD = 1,按照标准GMSL UART协议产生写数据包。将16为变址寄存器地址置于数据的前2个字节,使字节的数量等于发送数据的原始数量加2。UART/I²C转换器将去掉标准写数据包中的8位寄存器地址,如图1所示。

    例如,如果外设需要16位变址寄存器和8位数据,类似于:

    16位变址寄存器

    假设device_address = 0x22,index_register_address = 0x3344,及data = 0x55。主控ECU需要将数据包0x79 + 0x22 + 0x00 + 0x03 + 0x33 + 0x44 + 0x55写入UART端口,然后读取来自UART端口的ACK字节,检查写操作是否成功。

    0x79为同步字节,
    0x22为带有写操作指示的器件地址,
    0x00为虚拟字节,可为任意值;UART/I²C转换器在转换时将其删除,
    0x03为字节数量,
    0x33为16位变址寄存器地址的高位字节,
    0x44为16为变址寄存器地址的低位字节,
    0x55为8位数据。

    UART/I²C转换器之后,数据包将变为:

    16位变址寄存器

    3.2. 读操作。完成写操作需要2个UART数据包,1个写数据包后跟1个读数据包。写数据包设置变址寄存器地址,读数据包读取数据。

    假设外设的器件地址和变址寄存器地址相同,需要读取1个数据字节,需按以下步骤进行:

    设置I2CMETHOD = 1,
    ECU发送写数据包0x79 + 0x22 + 0x00 + 0x02 + 0x33 + 0x44至UART端口,
    ECU从UART端口读取ACK字节,
    ECU发送读数据包0x79 + 0x23 + 0x00 + 0x01至UART端口,
    ECU从UART端口读取ACK字节,
    然后ECU从UART端口读取数据。

    对于写数据包:
    0x79为同步字节,
    0x22为带有写操作指示的器件地址,
    0x00为虚拟字节,可为任意值;UART/I²C转换器在转换时将其删除,
    0x02为字节数量,
    0x33为16位变址寄存器地址的高位字节,
    0x44为16位变址寄存器地址的低位字节。

    对于读数据包:
    0x79为同步字节,
    0x23为带有读操作指示的器件地址,
    0x00为虚拟字节,可为任意值;UART/I²C转换器在转换时将其删除,
    0x01为字节数量。
关于基本模式下UART协议、同步字节、ACK字节和UART/I²C转换器的详细信息,请参阅Maxim的GMSL SerDes数据资料。
下一步
EE-Mail 订阅EE-Mail,接收关于您感兴趣的新文档的自动通知。
© , Maxim Integrated Products, Inc.
The content on this webpage is protected by copyright laws of the United States and of foreign countries. For requests to copy this content, contact us.
APP 5064:
应用笔记 5064,AN5064, AN 5064, APP5064, Appnote5064, Appnote 5064