当前位置:首页 > 电源 > 数字电源
[导读]摘要:本应用笔记介绍如何通过吉比特多媒体串行链路(GMSL) SerDes的远端I2C接口访问16位寄存器地址。引言Maxim吉比特多媒体串行链路(GMSL)串行器/解串器(SerDes)系列包括MAX9249、MAX9259、MAX9260、MAX9263和

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

引言

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

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

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

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

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

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

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

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

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

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

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

3.1. 写操作。设置I2CMETHOD = 1,按照标准GMSL UART协议产生写数据包。将16为变址寄存器地址置于数据的前2个字节,使字节的数量等于发送数据的原始数量加2.UART/I2C转换器将去掉标准写数据包中的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/I2C转换器在转换时将其删除,

  0x03为字节数量,

  0x33为16位变址寄存器地址的高位字节,

  0x44为16为变址寄存器地址的低位字节,

  0x55为8位数据。

  UART/I2C转换器之后,数据包将变为:

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/I2C转换器在转换时将其删除,

  0x02为字节数量,

  0x33为16位变址寄存器地址的高位字节,

  0x44为16位变址寄存器地址的低位字节。

  对于读数据包:

  0x79为同步字节,

  0x23为带有读操作指示的器件地址,

  0x00为虚拟字节,可为任意值;UART/I2C转换器在转换时将其删除,

  0x01为字节数量。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

74LS175是一款4D触发器集成电路,它包含6个D触发器,这些触发器可以组合起来形成寄存器或抢答器等多种功能部件。

关键字: 74ls175 触发器 寄存器

单片机复位电路的作用是:使单片机恢复到起始状态,让单片机的程序从头开始执行,运行时钟处于稳定状态、各种寄存器、端口处于初始化状态等等。

关键字: 复位电路 单片机 寄存器

串行通信是一种通信方式,数据在通信线上按位进行传输。每位数据占据固定的时间长度,使用少数几条通信线路就可以完成系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。

关键字: 串行通信 UART

虽然 USB 几乎完全取代那些旧电缆和连接器,但 UART 绝对不会成为过去。您会发现许多 DIY 电子项目都使用 UART。

关键字: UART 串口通信 USB

UART(通用异步收发器),这是用于全双工串行通信的最常见协议。它是设计用于执行异步通信的单个LSI(大规模集成)芯片。该设备将数据从一个系统发送到另一系统。

关键字: 数据通信协议 UART 异步收发器

UART将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对它的相关情况以及信息有所认识和了解,详细内容如下。

关键字: UART 通信协议

寄存器变量是计算机中一种重要的存储方式,它使用CPU中的寄存器来存储数据和指令。寄存器直接与CPU的运算和控制部件相连,因此访问速度非常快,通常在一个CPU周期内就能完成数据的读写操作。相比于内存和硬盘等存储设备,寄存器...

关键字: 寄存器 存储器

寄存器和存储器是计算机及其它电子设备中的两种重要存储组件,它们在存储方式、存储容量和访问速度等方面存在明显的差异。

关键字: 寄存器 存储器

寄存器和内存是计算机系统的两个重要组成部分,它们之间存在着密切的关系。本文将介绍寄存器和内存的基本概念、功能、类型以及它们之间的关系,旨在帮助读者更好地理解计算机系统的运行原理。

关键字: 寄存器 内存

寄存器是计算机硬件中的重要组件,用于临时存储数据和指令。正确地使用寄存器能够提高程序的执行效率,然而不正确的使用也可能导致各种问题。本文将详细介绍寄存器的使用方法以及在使用时需要注意的事项。

关键字: 寄存器 计算机硬件
关闭
关闭