基于GMSL在汽车电子控制单元中的应用分析
Maxim的吉比特(千兆)多媒体串行链路(GMSL)方案可以对数字视频和音频数据进行串行转换,然后通过一对双绞线串行传输。另外,集成双向控制通道可以使能单个微处理器(C)对串行器、解串器和所有连接外设编程。在典型应用中可以省去远端微处理器及相关器件,如:时钟源/晶体和低压电源。此方案不但简化了远端设计,而且降低了系统成本、尺寸和功耗。但是,有些情况下,考虑到GMSL之外的特殊需求,系统中仍然在链路的两端驻留了μC.这篇应用笔记描述了如何连接两个μC,控制GMSL.
1双μC应用基础
使用单μC时,如果μC位于串行器侧,通常将串行器/解串器两端控制方向选择引脚(CDS)置为低电平;如果μC位于解串器侧,则将方向控制选择置为高电平。然而,如果将串行器的CDS置低、解串器的CDS置高,则每个GMSL芯片都可以同时连接到各自对应的μC(图1)。
图1.简单的双μC应用原理图,CDS设置如图所示
1.1内部操作
使用两个μC时,串行器和解串器的I?C主机都被禁用,而且RX/SDA和TX/SDL由其对应的μC配置为UART接口。由于每个器件都作为本地器件运行,所以不能进入休眠状态。利用对应的低电平有效PWDN引脚控制每个器件进入低功耗状态。切记,当从电源关断状态唤醒时,所有器件设定都复位到它们的上电初始值。
图2.串行器状态图(CDS =低电平)
图3.解串器状态图(CDS =高电平)
1.2双μC应用中的冲突问题
图1所示配置中,每个μC都可以按照GMSL UART协议与MAX9259串行器、MAX9260解串器或其它μC通信。GMSL不提供防冲突措施,用户需要自行提供冲突处理措施。
2独立组网
防冲突最简单的方法是让每个μC将其附属的串行器/解串器的FWDCCEN和REVCCEN位置0(0x04 D[1:0])。这种方案禁用正向和反向控制通道的接收器、发送器,而且有效地将控制网络分成两个独立网络(图4)。任何通过串行链路的通信首先需要每一侧的μC重新使能相应链路端的通信。这种设置在“常通”应用中非常有效,其关键链路特定寄存器的设置不会从初始状态改变。
图4.独立控制网络避免了冲突的可能性
2.1软件冲突处理
在那些两端串行链路间必须通信的应用中,用户可以通过更高层的协议避免冲突(图5)。以下例子中,每个μC都会等待ACK帧来判定其指令是否成功。发生冲突时,串行器/解串器不会发出ACK帧。接收ACK帧失败后,在重新发送指令前,μC会根据它们的器件地址等待一段时间。由于此设计中,微处理器有不同的器件地址,在重试通信时不会出现冲突。
图5.软件处理冲突的示例
3单/双μC应用
某些应用不要求两个μC始终保持工作。工作时,如果任一端的CDS输入改变了状态,相应器件将按照MAX9259数据手册中介绍的链路启动步骤恢复工作。根据需要,在单μC和双μC工作中切换,轮流使能GMSL会占用更少资源。可以关断不用的C以降低功耗,有助于延长电池寿命。
3.1远端显示示例(解串器)
在下面应用中,链路的解串器侧是一个配置用于遥控电源开/关的显示面板。板子关断输入和单/双μC控制都连接到MAX9260 GPIO0的输出端(图6)。一旦上电,GPIO输出高电平,以保持远端器件关闭,解串器由于附加的反相器配置为远端器件。由于MS连接到GPIO,MAX9260在休眠模式下上电,其余所有器件处于低功耗状态。
为了开启遥控面板,串行器唤醒MAX9260并建立串行链路。然后,串行器端的μC设置GPIO0为低电平,使MS置低、反相器输出高电平。反相器设置MAX9260为本地器件,并唤醒远程显示面板的其它电路。MS必须置为低电平,以保持MAX9260 UART接口的基本模式。
如需关断远端面板,则串行器设置GPIO0为高电平来关断远端器件并将MAX9260置为远端器件。然后,在MAX9260内设置SLEEP = 1,使器件进入睡眠模式。
图6.单/双μC远端显示举例
3.2远程摄像机举例(串行器)
类似于上述例子,链路的串行器侧为配置成远端电源开/关的摄像模组。MAX9259的INT输出控制板子的关断输入和单/双μC切换(图7)。在此应用中,INT作为GPO使用,通过设置SETINT(MAX9259的0x0D D7)或解串器的INT输入对输出进行控制。一旦上电,INT输出为低电平,保持远端器件关断。反相器输出连接到CDS,将串行器配置为远端器件。由于低电平有效AUTOS置为高电平,MAX9259在休眠模式下上电。
如要开启远端面板,解串器通过GMSL UART指令唤醒MAX9259.然后,解串器设置MAX9259的INT输出为高电平,使所有远端器件上电。反相器输出将MAX9259置为本地器件,可通过本地μC接收UART指令。
如要关断远端面板,解串器设置MAX9259的INT输出为低电平,关断远端器件且将MAX9259设置为远端器件。然后,解串器在MAX9259内设置SLEEP = 1,使器件进入睡眠状态。
图7.单/双μC远端摄像机举例
4结语
双μC应用并不仅仅限于上述示例。对称、双向控制面板,随着实时的CDS和旁路设置(通过MS)可以启动众多串行器/解串器和μC配置。设计人员需要更高的控制手段提高系统能力并使系统功耗降至最低,最大限度地利用现有资源。
评论