GMSL SerDes在双汽车电子控制单元(ECU)中的应用(2)
2012年04月09日 10:20 来源:电子发烧友网 作者:灰色天空 我要评论(0)
图1所示配置中,每个µC都可以按照GMSL UART协议与MAX9259串行器、MAX9260解串器或其它µC通信。GMSL不提供防冲突措施,用户需要自行提供冲突处理措施。
独立组网
防冲突最简单的方法是让每个µC将其附属的串行器/解串器的FWDCCEN和REVCCEN位置0 (0x04 D[1:0])。这种方案禁用正向和反向控制通道的接收器、发送器,而且有效地将控制网络分成两个独立网络(图4)。任何通过串行链路的通信首先需要每一侧的µC重新使能相应链路端的通信。这种设置在“常通”应用中非常有效,其关键链路特定寄存器的设置不会从初始状态改变。
图4. 独立控制网络避免了冲突的可能性
软件冲突处理
在那些两端串行链路间必须通信的应用中,用户可以通过更高层的协议避免冲突(图5)。以下例子中,每个µC都会等待ACK帧来判定其指令是否成功。发生冲突时,串行器/解串器不会发出ACK帧。接收ACK帧失败后,在重新发送指令前,µC会根据它们的器件地址等待一段时间。由于此设计中,微处理器有不同的器件地址,在重试通信时不会出现冲突。
图5. 软件处理冲突的示例
单/双µC应用
某些应用不要求两个µC始终保持工作。工作时,如果任一端的CDS输入改变了状态,相应器件将按照MAX9259数据手册中介绍的链路启动步骤恢复工作。根据需要,在单µC和双µC工作中切换,轮流使能GMSL会占用更少资源。可以关断不用的µC以降低功耗,有助于延长电池寿命。
远端显示示例(解串器)
在下面应用中,链路的解串器侧是一个配置用于遥控电源开/关的显示面板。板子关断输入和单/双µC控制都连接到MAX9260 GPIO0的输出端(图6)。一旦上电,GPIO输出高电平,以保持远端器件关闭,解串器由于附加的反相器配置为远端器件。由于MS连接到GPIO,MAX9260在休眠模式下上电,其余所有器件处于低功耗状态。
为了开启遥控面板,串行器唤醒MAX9260并建立串行链路。然后,串行器端的µC设置GPIO0为低电平,使MS置低、反相器输出高电平。反相器设置MAX9260为本地器件,并唤醒远程显示面板的其它电路。MS必须置为低电平,以保持MAX9260 UART接口的基本模式。
如需关断远端面板,则串行器设置GPIO0为高电平来关断远端器件并将MAX9260置为远端器件。然后,在MAX9260内设置SLEEP = 1,使器件进入睡眠模式。
图6. 单/双µC远端显示举例
本文导航
- 第 1 页:GMSL SerDes在双汽车电子控制单元(ECU)中的应用(1)
- 第 2 页:双µC应用中的冲突问题
- 第 3 页:远程摄像机举例(串行器)
标签: