当前位置:首页 期刊杂志

基于IIC的车载多联屏通信设计方案

时间:2024-06-19

朱家俊,刘剑琴,时雪涵

(安徽信息工程学院 计算机与软件工程学院,安徽 芜湖 241000)

随着汽车行业车载多媒体多屏和联屏技术的发展,目前市场上出现了越来越多的双联屏、三联屏配置[1],部分车型已经进化到四联屏的阶段,例如保时捷Taycan、理想ONE、拜腾M-Byte等车型都在副驾驶前方加入一块液晶屏,形成“四屏联动”的视觉效果[2]。汽车多联屏主要是将车内的仪表屏、中控屏、抬头显示器HUD以及副驾驶专属影音等若干显示装置与一台主机进行连接,主机端与显示屏端可以进行视频、数据以及控制信号的通信。主机端与显示屏端对于数据信号和控制信号的传输速度以及可靠性直接影响了车载多媒体的功能和呈现的感官效果。

目前,国内外进行一机多屏研发的主要企业包括哈曼、伟世通、安波福、德赛西威、东软等[3]。在现有的主机联屏方案中,主机与显示屏之间采用LVDS进行视频信息的传输[4],而对于数据信号或者控制信号的传输则普遍采用CAN总线传输或者LIN总线的传输方式[5]。其中,LIN总线方案由于可以大大节省成本、减少线束的复杂性,同时又具有很好的容错性,所以在主机联屏方案中得到更多应用。但是,LIN通信的传输速率不高于20 kb·s-1[6],属于低速传输的网络,部分功能无法满足传输速度的应用要求。而且,无论是基于CAN总线还是LIN总线的通信设计方案,不仅需要增加独立的消息收发器,还需要设置专门的线束实现消息传递,具有结构复杂、成本高等缺点。文中提出了一种基于IIC通信的汽车多联屏设计方案,不仅可以实现视频信号、控制信号以及数据信号共用同一通信设备,且对通信协议进行了一定的优化,具有结构简单、传输速度快、通信可靠、成本低等优点。

1 总体设计

文中设计包括车载显示屏端的通信设计和主机端的通信设计。由于车载多联屏的主要功能包括视频显示、背光调节、诊断、故障反馈以及触摸功能,所以主机端需要控制显示屏端进行图像视频的显示、背光调节以及发送诊断请求,同时,显示屏端也需要向主机端反馈其故障状态(DTC)、反馈诊断消息以及发送触摸按键消息等。总体而言,在主机和显示屏之间需要传输三类消息:视频信号、控制信号和数据信息。主机端和显示屏端的通信原理如图1所示,视频信号在主机端通过图像处理设备输出,形成4路差分信号D0+/-~D3+/-,并送入加串器DS90UB947进行加串。加串器DS90UB947是一款从OpenLDI到FPD-Link III的桥接器件,与解串器DS90UB948配合使用[7]。DS90UB947和DS90UB948的FPD-Link III接口除了支持视频和音频数据传输外,还支持IIC通信,允许从本地主机控制器对其进行IIC通信配置。基于此,对于主机端输出的控制信号和数据信息采用IIC通信方式,与视频信号一起,经加串器加串形成两路串行差分信号DOUT0+/-和DOUT1+/-,通过主机端LVDS端口,经100 Ω差分屏蔽双绞线(STP)电缆到显示屏端LVDS端口,显示屏端解串器DS90UB948对收到的串行差分信号RIN0+/-和RIN1+/-解串后,形成8路并行视频数字同步信号D0+/-~D7+/-以及IIC信号,视频信号在显示屏端进行显示,IIC信号送入MCU解析,实现相应的控制功能。

图1 主机端和显示屏端通信原理

主机端加串器和显示屏端解串器之间的视频信号、控制信号以及数据信息是以差分信号方式进行传送,即LVDS,它是一种低振幅差分信号技术,主要采用幅度非常低的信号(约350 mV)通过一对平衡电缆,以高达数千兆位每秒的速度传送串行数据[8]。由于电压信号幅度较低,故只产生极低的噪声,消耗非常小的功率[9]。这里主机和显示屏端进行通信的LVDS端口引脚定义如图2所示。

图2 LVDS端口引脚定义

图3为一个一机双联屏的总体设计框图,即一个主机连接两个显示屏。主机端包括电源模块、MCU、加串器以及主机端辅助电路。显示屏端分别独立设有电源模块、MCU、解串器、显示屏模块以及屏端辅助电路。采用该种通信方案,信号在传输距离方面,由于加串器和解串器与相应的MCU在同一块PCBA上,IIC总线的长度一般为几厘米到十几厘米,因此,传输距离不会影响信号质量[10],且主机端和显示屏端的视频信号、控制信号以及数据信息都是通过LVDS线束进行传输,极大地节省了通信成本。

图3 一机双联屏总体设计

2 硬件设计

2.1 显示屏端硬件电路设计

如图4所示,显示屏端MCU选用适用于汽车车身电子的32位微控制器SPC560B64L,该系列32位系统片上(SoC)微控制器是集成汽车应用控制器的最新产品。它采用先进且经济高效的e200z0h主处理器为核心,符合Power Architecture技术,运行速度高达64 MHz,且有多种低功耗模式配置,同时提供CAN、LIN以及IIC等多种通信接口,满足高性能处理和低功耗的应用需求[11]。该MCU的工作电压是3.3 V,由稳压器SSP1117-3.3 V提供,它将显示屏端12 V的总电源WakeUp转换成3.3 V进行输出。单片机端口PA[10]、PA[11]作为IIC通信接口,与解串器DS90UB948引脚I2C_SDA和I2C_SCL互连,将解串后的IIC信号送入单片机。单片机的GPIO口PE[12]与解串器DS90UB948的INTB_IN引脚相连。INTB_IN引脚是一个有效的低中断输入引脚,该引脚的变化将会映射到与主机端配合使用的加串器DS90UB947的INTB口,以通知主机端读取显示屏端发送的信息,进而实现显示屏向主机主动发送IIC消息的功能。解串器DS90UB948的内核电压是1.2 V,另有3.3 V的端口电压通过电容10 μF、1 μF、0.1 μF到GND。解串器的GPIO1与单片机引脚PC[2]连接,用于系统初始化阶段,告知主机显示屏端状态。对于主机输入的视频信号、控制信号以及数据信息经LVDS端口输入至DS90UB948的RIN0+/-和RIN1+/-端口,解串器端口D0+/-~D7+/-与LCD显示模块互连,将解串后的视频信号送至LCD显示模块。另外,解串器DS90UB948的Lock端口与单片机PA[5]端口互连,反馈视频信号解串完成情况,以便正常显示。

2.2 主机端硬件电路设计

如图5所示,主机端的MCU也是32位微控制器SPC560B64L,其处理能力能够满足主机端对通信速率和处理性能的需求。MCU的PA[10]、PA[11]引脚作为IIC的通信接口,分别与加串器DS90UB947的SDA和SCL引脚连接,实现主机端IIC通信。PE[12]与DS90UB947的INTB相连,显示屏端解串器INTB_IN的变化将映射到该引脚,用于实现IIC信号由显示屏端向主机端主动外发。主机端的图像处理芯片选用的是RK3288,它是一款低功耗、高性能的处理器,可用作对图像的预处理和后处理[12]。这里将视频图像经过处理以后,通过引脚LCDC0_D10~LCDC0_D15、LCDC0_D2、LCDC0_D3与加串器互连,对视频信息进行加码。

3 软件设计

3.1 通信协议

本方案对IIC帧结构进行优化,采用和CAN协议类似的帧结构,同时,在信号中加入累加校验和CRC校验,保证信号传输的可靠性。新的IIC信号帧结构如图6所示。

图6中,“Start”是IIC的起始位。“Slave Address”是从设备的地址信息,在以IIC作为总线进行通信的系统中,一条IIC总线可以连接多个从设备,每个连接到IIC总线上的器件都有唯一的地址。在该主机联屏系统中,每个显示屏都有唯一的从设备地址,IIC总线就是根据设备地址进行信息的识别和接收。“Write/Read”标记了当前该帧指令是写指令或读指令。“Message ID”是消息地址,规定了当前消息的种类,根据多联屏的功能需要,会有多种消息类型,例如:背光控制信号、诊断指令等,每种消息定义唯一的消息地址。“累加校验位”是用来校验是否有重复帧或丢帧,保证消息的可靠性。主机端发送的帧消息,累加校验位的值在0~255之间进行循环变化,每次变化1个单位。显示屏端接收主机发送的帧消息,并保存当前帧的累加校验值,将该值与保存的上一帧校验值进行比对,如果不是连续值,就会记录DTC(Diagnostic Trouble Code,DTC),并丢弃当前帧,接收下一帧作为初始信号,具体如图7所示。图中展示的是单个消息的CRC校验策略,由于本系统中有多种信号,信号种类为N,则用来存放校验位的变量count可以使用数组count[N],实现对每个信号分别做累加校验。

图7 累加校验位原理

“Data1~DataN”是有效数据域,是该帧消息传送的有效信息,与Message ID相对应,不同的消息具有不同的控制意义。“CRC校验位”是使用帧结构中的“Message ID”到“DataN”的数据以及“Data Length”作为参数值通过CRC-8标准多项式计算出8位CRC校验值。其中,“Data Length”指的是数据长度,即N+2。显示屏每收到一帧IIC消息,都会计算一次CRC值,并与接收值进行比较,若不相同,则通知主机重新发送该消息。

3.2 双向通信处理

IIC通信方式为半双工,只有一根SDA线,同一时间只能单向通信,且都是由主设备发起,从设备被动响应,这在车载多媒体应用过程中受到很大限制,也就是主机作为主设备只能对显示屏进行控制,但是显示屏端作为从设备发生状态变化时,无法主动通知主机,如果采用主机端不断查询的方式,会存在效率低、成本高的问题。基于此,采用DS90UB947和DS90UB948的I/O映射来解决此问题,使通信实现全双工。在此方案中,配置车载主机作为主设备,显示屏端为从设备,如果有多个显示屏,则配置多个从设备。当主机向显示屏发送消息时,也即主设备向从设备发送信息,直接发送write信息,从设备根据消息内容进行处理,并在主设备发送read信息时,将反馈结果发送出去。当显示屏端有状态变化需要向主机发送信号时,会将DS90UB948的INTB_IN端口拉低,与之对应的主机端DS90UB947的INTB端口也会拉低,这时主机MCU检测到引脚电平变化,发送read信息,获取显示屏的信号,实现双向通信,以触摸消息的通信过程为例,具体如图8所示。

图8 双向通信实例

3.3 部分高速传输数据的处理

在主机联屏系统中,主机和显示屏之间数据的高速传输与读取的延迟会导致信息丢失,所以在这里需要增加缓冲机制,尤其是针对短周期信号以及对响应速度有较高要求的信号。以下以触摸信号为例介绍缓冲机制。在文中系统中,触摸信号的周期为5 ms,经测量,DS90UB947和DS90UB948的传输延时约为5.2 us,触摸数据外发在显示屏端是事件型触发发送,在主机端中断触发读取,因此,估算正常响应时间为2 ms。考虑到软件运行时MCU负荷的波动性,将整个周期扩大10倍即20 ms(忽略传输延时),以此时间计算数据缓冲的大小。按照目前常用的触摸需求和数据字节的对齐,设定一帧触摸数据的长度为32 B。IIC配置足够的传输速率,20 ms可外发4帧数据,则可设计触摸数据缓冲大小为4×32 B,即可用如图9所示的环形数据缓冲区实现上述缓存功能。

图9 环形数据缓冲原理

缓冲区具体实现如图10所示,设置数据进出缓冲区的标志位分别为DataIn和DataOut。当一条触摸数据存储进入环形缓冲区时,DataIn加1,当一条触摸数据从环形缓冲区取出时,则DataOut加1。

图10 环形数据缓冲逻辑

DataIn和DataOut均在1~4之间循环。正常数据存取时DataOut等于DataIn。当DataOut小于DataIn时,即表示外发延时超过5 ms;当DataOut大于DataIn时,即超过一个循环,说明外发延时超过20 ms。当显示屏端或者主机端出现上述异常情况时,为保证触摸数据的实时性,清空数据缓冲区,将DataIn和DataOut同时清空为1,缓冲区重新运行。该策略不仅适用于触摸数据等有较高响应需求的信号,同样也适用于其它短周期消息,当传输的数据较少,设置缓冲区足够大时,可有效避免数据的丢失。

4 系统运行及结果展示

4.1 系统运行及上下电控制流程

主机端和显示屏端的上电和下电流程如图11所示。在上电的过程中,主机端启动12 V电源,同时显示屏端的硬线电源引脚WakeUp拉高,显示屏端也开始上电启动。主机端和显示屏端都开始初始化,主机端MCU设置为主设备,加串器DS90UB947为从设备,MCU对加串器进行IIC通信地址、通信速率的配置,也即对加串器进行初始化。其中,通信地址设置为0x40,通信速率为400 kb·s-1。同理,对于显示屏端,显示屏MCU切换为master,解串器DS90UB948为slave,MCU对解串器进行IIC通信地址、通信频率的配置,通信地址为0x20,通信速率为400 kb·s-1,配置完成以后,将屏端MCU切换为从设备。由于主机端初始化的过程相对复杂,所以正常情况下屏端会优先完成初始化。屏端初始化完成以后,会将解串器DS90UB948的引脚GPIO1拉低,通过LVDS传输,通知主机端显示屏初始化已完成。主机端发送诊断消息,请求读取屏幕信息,例如屏幕尺寸、分辨率等,显示屏根据相应的请求反馈回复。主机根据读取的显示屏信息,将视频信号准备好,并向屏端发送背光开关信号,屏端接收该信息,同时判断解串器DS90UB948的Lock引脚,如果变为低电平,则驱动显示屏点亮。

图11 系统上下电控制流程

对于下电过程,硬线电源引脚WakeUp拉低以后,将延迟200 ms,显示屏关闭背光,主机端关闭视频信息,DS90UB948的Lock引脚拉高,显示屏端再关闭MCU供电。

4.2 系统运行中部分通信信号展示

设置系统两个显示屏端的从设备地址分别为0x20和0x30,在系统运行的过程中,主机端与显示屏端进行通信的部分通信信号如表1所示。

表1 系统部分通信信号

使用逻辑分析仪截取上述通信数据,如图12所示,图12(a)~(d)是主机端向显示屏端发送的消息,其中,图12(a)~(b)是主机向两个显示屏分别发送的背光控制信号,图12(e)则是显示屏端通过拉中断的方式,向主机端发送的诊断响应信号。

(a)背光开关信号与显示屏1通信界面

5 结束语

基于IIC的车载多联屏通信设计方案是利用IIC进行控制信号和数据信息的传输,在硬件设计和软件设计上保证了系统通信的传输速率和传输可靠性,同时简化了系统的结构设计,保证了传输质量,降低了成本。但是,文中系统在通信的安全性上没有做充分的考虑,后期可进一步完善和改进。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!