一站式电子元器件采购平台

华强商城公众号

一站式电子元器件采购平台

元器件移动商城,随时随地采购

华强商城M站

元器件移动商城,随时随地采购

半导体行业观察第一站!

芯八哥公众号

半导体行业观察第一站!

专注电子产业链,坚持深度原创

华强微电子公众号

专注电子产业链,
坚持深度原创

电子元器件原材料采购信息平台

华强电子网公众号

电子元器件原材料采购
信息平台

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

来源:analog 发布时间:2023-08-14

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

引言

Maxim吉比特多媒体串行链路(GMSL)串行器/解串器(SerDes)系列包括  MAX9249  、  MAX9259  、  MAX9260  、  MAX9263  和  MAX9264  ,具有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之间的格式转换

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

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



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

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

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

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


    假设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转换器之后,数据包将变为:


    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数据资料。                            

声明:本文观点仅代表作者本人,不代表华强商城的观点和立场。如有侵权或者其他问题,请联系本站修改或删除。

社群二维码

关注“华强商城“微信公众号

调查问卷

请问您是:

您希望看到什么内容: