一种优化车载T-BOX数据存储和转发方法转让专利

申请号 : CN201810351409.6

文献号 : CN108564678B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 邹密秦贵和崔杰孙迪赫工博许骞艺戴培森任一帆张钟翰姜慧明

申请人 : 吉林大学

摘要 :

本发明提供了一种优化车载T‑BOX数据存储和转发方法,用于存储和转发车载T‑BOX采集的车载实时数据。该方法在综合考虑通信信道传输速率变化、各个存储设备写入速度差异、各个存储设备剩余储存空间变化和采集数据传输优先级的前提下,实现了一种基于数据传输优先级、信道传输速率、存储介质存储速率和剩余存储空间的车载实时数据存储和转发方法,解决了车载T‑BOX所采集车载实时数据因无法在内存、多个外部存储设备和数据通信模块之间合理存储或发送而可能被覆盖或造成内存溢出的问题,同时解决了车载T‑BOX所采集车载实时数据没有发送优先级的问题。

权利要求 :

1.一种优化车载T-BOX数据存储和转发方法,包括以下步骤:

1)对车载T-BOX进行初始化:

设置数据采集时钟周期、内存空间剩余容量临界点,清除车载T-BOX存储器中所有数据;

2)数据采集:

车载T-BOX根据采集时钟周期采集车内控制器中各种实时状态信号,并将获取的车内实时状态信号加上所对应的信号ID发送至数据封装模块,信号ID用自然数描述;

3)数据封装:

数据封装模块接收到数据采集模块传输的车内实时状态信号后,封装成车载实时数据帧,其中:自定义的数据帧共十六字节,第零字节表示帧起始,值为十六进制的0xAA;

第一至第六字节为帧优先级域,第一字节和第二字节表示控制器信号优先级,使用信号ID表示,值越小,优先级越高;

第三至第六字节表示时间优先级,使用车载T-BOX系统时间表示,用自然数描述,时间格式为年月日时分秒毫秒,单位为毫秒;其中,年为4位数值、月为2位数值、日为2位数值、时为24小时制的2位数值、分为2位数值、秒为2位数值、毫秒为3位数值;时间值越小,表示时间越早,时间优先级越高;车载实时数据帧的优先级由帧优先级域所表示的优先级决定,帧优先级域优先级越高,车载实时数据帧优先级越高;帧优先级域所表示优先级由控制器信号优先级和时间优先级共同构成;判断帧优先级域优先级时,先比较控制器信号优先级,控制器信号优先级越高,则帧优先级域优先级越高,车载实时数据帧优先级越高;在控制器信号优先级相同的情况下,比较时间优先级,时间优先级越高,则帧优先级域优先级越高,车载实时数据帧优先级越高;

第七字节至第十四字节为数据域,数据域中第七字节为数据域数据长度;

第八字节至第十四字节为具体车载实时数据值,用于储存控制器信号数据;

第十五字节表示帧结束,值为十六进制的0x55;封装的车载实时数据帧存储在数据封装模块使用的内部存储器空间中;

4)数据调度:

当计算得到的数据调度时钟周期到来时,触发数据调度模块;计算数据调度时钟周期的公式1.0如下:其中:

μ表示数据调度时钟周期,单位秒;

Tw表示通信模块的数据传输速率,单位b/s(位每秒);

由于通信模块的数据传输速率的单位为b/s(位每秒),每个车载实时数据帧的大小为

16字节,1个字节是8个二进制位,公式1.0计算得出数据调度时钟周期;

当数据调度时钟周期到来时,将数据封装模块使用的内部存储器空间中优先级最高的车载实时数据帧传输到数据调度模块,并由数据调度模块传输到仲裁模块;传输到仲裁模块的车载实时数据帧在数据封装模块使用的内部存储器空间中仍然保存一个副本;

当数据调度时钟周期到来时,如果车载T-BOX的数据存储模块中的第一外部存储器有数据帧,选出该外部存储器中优先级最高的车载实时数据帧传输到数据调度模块,并由数据调度模块传输到数据仲裁模块,该外部存储器中保留该数据帧的副本;如果数据存储模块中的第二外部存储器有数据帧,选出该外部存储器中优先级最高的车载实时数据帧传输到数据调度模块,并由数据调度模块传输到数据仲裁模块,该外部存储器中保留该数据帧的副本;如果数据存储模块中的第一外部存储器和第二外部存储器都有数据帧,选出每个外部存储器中优先级最高的车载实时数据帧传输到数据调度模块,并由数据调度模块传输到数据仲裁模块,每个外部存储器中保留所选数据帧的副本;

如果步骤3)中数据封装模块没有接收到数据采集模块传输的车内实时状态信号,当数据调度时钟周期到来时,如果数据存储模块中的第一外部存储器有数据帧,选出该外部存储器中优先级最高的车载实时数据帧传输到数据调度模块,并由数据调度模块传输到数据仲裁模块,该外部存储器中保留该数据帧的副本;如果数据存储模块中的第二外部存储器有数据帧,选出该外部存储器中优先级最高的车载实时数据帧传输到数据调度模块,并由数据调度模块传输到数据仲裁模块,该外部存储器中保留该数据帧的副本;如果数据存储模块中的第一外部存储器和第二外部存储器都有数据帧,选出每个外部存储器中优先级最高的车载实时数据帧传输到数据调度模块,并由数据调度模块传输到数据仲裁模块,每个外部存储器中保留所选数据帧的副本;

5)数据仲裁:

数据仲裁模块中的车载实时数据帧,可能经过数据调度模块来自数据封装模块使用的内部存储器,也可能经过数据调度模块来自数据存储模块中的第一外部存储器或第二外部存储器,数据仲裁模块选取优先级最高的车载实时数据帧传输到通信模块;

同时如果传输到通信模块的车载实时数据帧来自数据存储模块中的第一外部存储器或第二外部存储器,数据仲裁模块向数据存储模块发送一个仲裁成功消息,数据存储模块收到该消息后删除对应外部存储器中的对应车载实时数据帧副本;如果传输到通信模块的车载实时数据帧来自数据封装模块使用的内部存储器,数据仲裁模块向数据封装模块发送一个仲裁成功消息,数据封装模块删除所使用内部存储器中的对应车载实时数据帧副本;

传输到通信模块的车载实时数据帧在第一外部存储器、第二外部存储器或数据封装模块所使用内部存储器中的副本被删除;没有传输到通信模块的车载实时数据帧在第一外部存储器、第二外部存储器或数据封装模块所使用内部存储器中的副本被保留;

6)数据通信:

传输到通信模块的车载实时数据帧,通过车载T-BOX的网络传输模块发送至远程控制终端,完成优化车载T-BOX的数据存储和转发。

2.如权利要求1所述的一种优化车载T-BOX数据存储和转发方法,其特征在于:步骤4)还可以为:

如果数据采集时钟周期小于数据调度时钟周期,或者多次仲裁成功的车载实时数据帧均来自数据存储模块中第一外部存储器或数据存储模块中第二外部存储,数据封装模块使用的内部存储器空间会因为不断存储新产生的车载实时数据帧而造成剩余容量空间逐渐减少;

如果数据封装模块所使用内部存储器空间剩余容量小于系统设定内存空间剩余容量临界点,当数据采集时钟周期到来时,将数据封装模块使用的内部存储器空间中优先级最高的车载实时数据帧传输到数据调度模块,并在数据调度模块调用公式1.1和公式1.2;

使用公式1.1计算存储介质的存储速率和剩余存储空间对车载实时数据存储和转发的影响权重;

公式1.1如下:

ωtr=ω-ωsr

ωte=ω-ωse

其中:

ωsr表示第一外部存储器的剩余存储空间所占的权重,其初始值为1;

Sr表示第一外部存储器的剩余存储空间容量,单位为字节;

ASr表示第一外部存储器的存储空间总容量,单位为字节;

ωtr表示第一外部存储器的存储速率所占的权重,其初始值为0;

ω表示总权重,其值为1,恒定不变;

ωse表示第二外部存储器的剩余存储空间所占的权重,其初始值为1;

Se表示第二外部存储器的剩余存储空间容量,单位为字节;

ASe表示第二外部存储器的存储空间总容量,单位为字节;

ωte表示第二外部存储器的存储速率所占的权重,其初始值为0;

公式1.2将传输到数据调度模块的车载实时数据帧,根据当前存储器状态,传输到数据存储模块中的第一外部存储器或第二外部存储器;公式1.2使本方法能够存储的车载实时数据帧数量主要受外部存储器空间大小约束,不会因为内存空间不足而丢失或删除车载实时数据帧;

公式1.2如下:

τ=max(Tr·ωtr+Sr·ωsr,Te·ωte+Se·ωse)其中:

τ表示第一外部存储器和第二外部存储器中优先级最高的优先级值;

Tr表示第一外部存储器的存储速率,单位为字节每秒;

ωtr表示第一外部存储器的存储速率所占的权重,由公式1.1计算得出;

Sr表示第一外部存储器的剩余存储空间容量,单位为字节;

ωsr表示第一外部存储器的剩余存储空间所占的权重,由公式1.1计算得出;

Te表示第二外部存储器的存储速率,单位为字节每秒;

ωte表示第二外部存储器的存储速率所占的权重,由公式1.1计算得出;

Se表示第二外部存储器的剩余存储空间容量,单位为字节;

ωse表示第二外部存储器的剩余存储空间所占的权重,由公式1.1计算得出;

max表示取最大值。

说明书 :

一种优化车载T-BOX数据存储和转发方法

技术领域

[0001] 本发明提供一种优化车载T-BOX数据存储和转发方法,用于实现车载T-BOX设备根据采集数据的传输优先级、当前通信信道传输速率、各个存储设备写入速度和各个存储设备剩余空间情况,对数据进行存储和转发,属于通信技术领域(车联网领域)。

背景技术

[0002] 车载T-BOX(Telematics Box,远程信息处理终端)是一种车联网标准终端设备,通常包含GPS模块、加速度传感器模块、移动通信模块、CAN通信模块和存储器等。车载T-BOX的主要功能是实时采集车内数据发送至TSP(Telematics Service Provider,汽车远程服务提供商),实现行驶轨迹记录、驾驶行为分析、车辆远程监控、远程控制、安全监测和报警、远程诊断等多种应用。
[0003] 现有的车载T-BOX数据存储和转发方法如下:
[0004] 当数据通信链路正常时,将采集的实时数据先存储到内存(内部存储介质),再通过数据通信链路发送到远程终端。当内存满时,自动循环覆盖已存储的内存数据。
[0005] 当数据通信链路异常时,例如遇到网络信号不稳定导致网络掉线,将采集的实时数据存储到本地存储介质中,例如FLASH。等待数据通信链路恢复正常后,在发送实时数据的空闲时间补发存储在本地存储介质中的数据。
[0006] 当车载T-Box断电停止工作时,将断电前保存在内存中的数据存储到本地存储介质中。
[0007] 现有的车载T-BOX数据存储和转发方法存在以下不足或缺陷:
[0008] 1、当数据通信链路正常时,不能解决实时数据产生速率与数据通信链路传输速率不匹配的问题。当实时数据产生速率较快,而数据通信链路传输速率较慢时,为防止内存溢出,已采集的实时数据可能被自动覆盖。在车辆行驶时,由于移动通信技术的特点,数据通信链路传输速率可能不断变化,现有方法在存储和转发实时采集数据时,未考虑数据通信链路传输速率变化这一特点。
[0009] 2、当数据通信链路异常时,将采集的实时数据存储到本地存储介质中,反复对同一储存介质读写将缩短该存储设备使用寿命。随着技术发展,在车载T-BOX上可以接入多种外部存储介质,如FLASH芯片和各种存储卡等,不同的外部存储介质在存储空间容量和读写速度上各不相同。随着智能汽车的发展,需要采集的实时数据越来越多,这将需要使用更多的本地存储设备进行存储。
[0010] 3、在存储和转发过程中,未考虑车载实时数据的传输优先级,可能造成重要的数据无法及时上传,例如车辆故障数据。

发明内容

[0011] 本发明提供了一种优化车载T-BOX数据存储和转发方法,用于存储和转发车载T-BOX采集的车载实时数据。该方法在综合考虑通信信道传输速率变化、各个存储设备写入速度差异、各个存储设备剩余储存空间变化和采集数据传输优先级的前提下,实现了一种基于数据传输优先级、信道传输速率、存储介质存储速率和剩余存储空间的车载实时数据存储和转发方法,解决了车载T-BOX所采集车载实时数据因无法在内存、多个外部存储设备和数据通信模块之间合理存储或发送而可能被覆盖或造成内存溢出的问题,同时解决了车载T-BOX所采集车载实时数据没有发送优先级的问题。
[0012] 本发明所述的一种优化车载T-BOX数据存储和转发方法,包括以下步骤:
[0013] 1)对车载T-BOX进行初始化:
[0014] 设置数据采集时钟周期、内存空间剩余容量临界点,清除车载T-BOX存储器中所有数据;
[0015] 2)数据采集:
[0016] 车载T-BOX根据采集时钟周期采集车内控制器中各种实时状态信号,并将获取的车内实时状态信号加上所对应的信号ID发送至数据封装模块,信号ID用自然数描述;
[0017] 3)数据封装:
[0018] 数据封装模块接收到数据采集模块传输的车内实时状态信号后,封装成车载实时数据帧,其中:
[0019] 自定义的数据帧共十六字节(参照图2所示),第零字节表示帧起始,值为0xAA(十六进制);
[0020] 第一至第六字节为帧优先级域,第一字节和第二字节表示控制器信号优先级,使用信号ID表示,值越小,优先级越高;
[0021] 第三至第六字节表示时间优先级,使用车载T-BOX系统时间表示,用自然数描述,时间格式为年月日时分秒毫秒,单位为毫秒;其中,年为4位数值、月为2位数值、日为2位数值、时为2位数值(24小时制)、分为2位数值、秒为2位数值、毫秒为3位数值;时间值越小,表示时间越早,时间优先级越高;车载实时数据帧的优先级由帧优先级域所表示的优先级决定,帧优先级域优先级越高,车载实时数据帧优先级越高;帧优先级域所表示优先级由控制器信号优先级和时间优先级共同构成;判断帧优先级域优先级时,先比较控制器信号优先级,控制器信号优先级越高,则帧优先级域优先级越高,车载实时数据帧优先级越高;在控制器信号优先级相同的情况下,比较时间优先级,时间优先级越高,则帧优先级域优先级越高,车载实时数据帧优先级越高;
[0022] 第七字节至第十四字节为数据域,数据域中第七字节为数据域数据长度;
[0023] 第八字节至第十四字节为具体车载实时数据值,用于储存控制器信号数据;
[0024] 第十五字节表示帧结束,值为0x55(十六进制);封装的车载实时数据帧存储在数据封装模块使用的内部存储器空间中;
[0025] 4)数据调度:
[0026] 当计算得到的数据调度时钟周期到来时,触发数据调度模块;计算数据调度时钟周期的公式1.0如下:
[0027]
[0028] 其中:
[0029] μ表示数据调度时钟周期,单位秒;
[0030] Tw表示通信模块的数据传输速率,单位b/s(位每秒);
[0031] 由于通信模块的数据传输速率的单位为b/s(位每秒),每个车载实时数据帧的大小为16字节,1个字节是8个二进制位,公式1.0计算得出数据调度时钟周期;
[0032] 当数据调度时钟周期到来时,将数据封装模块使用的内部存储器空间中优先级最高的车载实时数据帧传输到数据调度模块,并由数据调度模块传输到仲裁模块;传输到仲裁模块的车载实时数据帧在数据封装模块使用的内部存储器空间中仍然保存一个副本;
[0033] 当数据调度时钟周期到来时,如果车载T-BOX的数据存储模块中的第一外部存储器有数据帧,选出该外部存储器中优先级最高的车载实时数据帧传输到数据调度模块,并由数据调度模块传输到数据仲裁模块,该外部存储器中保留该数据帧的副本;如果数据存储模块中的第二外部存储器有数据帧,选出该外部存储器中优先级最高的车载实时数据帧传输到数据调度模块,并由数据调度模块传输到数据仲裁模块,该外部存储器中保留该数据帧的副本;如果数据存储模块中的第一外部存储器和第二外部存储器都有数据帧,选出每个外部存储器中优先级最高的车载实时数据帧传输到数据调度模块,并由数据调度模块传输到数据仲裁模块,每个外部存储器中保留所选数据帧的副本;
[0034] 如果步骤3中数据封装模块没有接收到数据采集模块传输的车内实时状态信号,当数据调度时钟周期到来时,如果数据存储模块中的第一外部存储器有数据帧,选出该外部存储器中优先级最高的车载实时数据帧传输到数据调度模块,并由数据调度模块传输到数据仲裁模块,该外部存储器中保留该数据帧的副本;如果数据存储模块中的第二外部存储器有数据帧,选出该外部存储器中优先级最高的车载实时数据帧传输到数据调度模块,并由数据调度模块传输到数据仲裁模块,该外部存储器中保留该数据帧的副本;如果数据存储模块中的第一外部存储器和第二外部存储器都有数据帧,选出每个外部存储器中优先级最高的车载实时数据帧传输到数据调度模块,并由数据调度模块传输到数据仲裁模块,每个外部存储器中保留所选数据帧的副本;
[0035] 5)数据仲裁:
[0036] 数据仲裁模块中的车载实时数据帧,可能经过数据调度模块来自数据封装模块使用的内部存储器,也可能经过数据调度模块来自数据存储模块中的第一外部存储器或第二外部存储器,数据仲裁模块选取优先级最高的车载实时数据帧传输到通信模块;
[0037] 同时如果传输到通信模块的车载实时数据帧来自数据存储模块中的第一外部存储器或第二外部存储器,数据仲裁模块向数据存储模块发送一个仲裁成功消息,数据存储模块收到该消息后删除对应外部存储器中的对应车载实时数据帧副本;如果传输到通信模块的车载实时数据帧来自数据封装模块使用的内部存储器,数据仲裁模块向数据封装模块发送一个仲裁成功消息,数据封装模块删除所使用内部存储器中的对应车载实时数据帧副本;传输到通信模块的车载实时数据帧在第一外部存储器、第二外部存储器或数据封装模块所使用内部存储器中的副本被删除;没有传输到通信模块的车载实时数据帧在第一外部存储器、第二外部存储器或数据封装模块所使用内部存储器中的副本被保留;
[0038] 6)数据通信:
[0039] 传输到通信模块的车载实时数据帧,通过车载T-BOX的网络传输模块发送至远程控制终端,完成优化车载T-BOX的数据存储和转发。
[0040] 本发明所述的一种优化车载T-BOX数据存储和转发方法,其特征在于:
[0041] 步骤4)还可以为:
[0042] 如果数据采集时钟周期小于数据调度时钟周期,或者多次仲裁成功的车载实时数据帧均来自数据存储模块中第一外部存储器或数据存储模块中第二外部存储,数据封装模块使用的内部存储器空间会因为不断存储新产生的车载实时数据帧而造成剩余容量空间逐渐减少;
[0043] 如果数据封装模块所使用内部存储器空间剩余容量小于系统设定内存空间剩余容量临界点,当数据采集时钟周期到来时,将数据封装模块使用的内部存储器空间中优先级最高的车载实时数据帧传输到数据调度模块,并在数据调度模块调用公式1.1和公式1.2;
[0044] 使用公式1.1计算存储介质的存储速率和剩余存储空间对车载实时数据存储和转发的影响权重;
[0045] 公式1.1如下:
[0046]
[0047] ωtr=ω-ωsr
[0048]
[0049] ωte=ω-ωse
[0050] 其中:
[0051] ωsr表示第一外部存储器的剩余存储空间所占的权重,其初始值为1;
[0052] Sr表示第一外部存储器的剩余存储空间容量,单位为字节;
[0053] ASr表示第一外部存储器的存储空间总容量,单位为字节;
[0054] ωtr表示第一外部存储器的存储速率所占的权重,其初始值为0;
[0055] ω表示总权重,其值为1,恒定不变;
[0056] ωse表示第二外部存储器的剩余存储空间所占的权重,其初始值为1;
[0057] Se表示第二外部存储器的剩余存储空间容量,单位为字节;
[0058] ASe表示第二外部存储器的存储空间总容量,单位为字节;
[0059] ωte表示第二外部存储器的存储速率所占的权重,其初始值为0;
[0060] 公式1.2将传输到数据调度模块的车载实时数据帧,根据当前存储器状态,传输到数据存储模块中的第一外部存储器或第二外部存储器;公式1.2使本方法能够存储的车载实时数据帧数量主要受外部存储器空间大小约束,不会因为内存空间不足而丢失或删除车载实时数据帧;
[0061] 公式1.2如下:
[0062] τ=max(Tr·ωtr+Sr·ωsr,Te·ωte+Se·ωse)
[0063] 其中:
[0064] τ表示第一外部存储器和第二外部存储器中优先级最高的优先级值;
[0065] Tr表示第一外部存储器的存储速率,单位为字节每秒;
[0066] ωtr表示第一外部存储器的存储速率所占的权重,由公式1.1计算得出;
[0067] Sr表示第一外部存储器的剩余存储空间容量,单位为字节;
[0068] ωsr表示第一外部存储器的剩余存储空间所占的权重,由公式1.1计算得出;
[0069] Te表示第二外部存储器的存储速率,单位为字节每秒;
[0070] ωte表示第二外部存储器的存储速率所占的权重,由公式1.1计算得出;
[0071] Se表示第二外部存储器的剩余存储空间容量,单位为字节;
[0072] ωse表示第二外部存储器的剩余存储空间所占的权重,由公式1.1计算得出;
[0073] max表示取最大值。
[0074] 本发明涉及的车载T-box设备采用的Cortex-A9芯片,并且包含数据采集模块,数据封装模块,数据调度模块,数据存储模块,数据仲裁模块以及通信模块。
[0075] 其中,数据采集模块包含CAN控制器和CAN收发器;
[0076] 数据封装模块包含内部存储器;
[0077] 数据存储模块包含第一外部存储器(例如可以使用SD卡)以及第二外部存储器(例如可以使用CF卡);
[0078] 通信模块包含2G、3G或4G通信模块。
[0079] 本发明所述数据存储模块中的外部存储器数量可以扩充,例如车载T-BOX设备新增加64G的SD卡,车载T-BOX采集的车载实时数据就增加了64G的存储空间,可拓展性好。
[0080] 本发明的积极效果在于:
[0081] 在综合考虑通信信道传输速率变化、各个存储设备写入速度差异、各个存储设备剩余储存空间变化和采集数据传输优先级的前提下,实现了一种基于数据传输优先级、信道传输速率、存储介质存储速率和剩余存储空间的车载实时数据存储和转发方法,解决了车载T-BOX所采集车载实时数据因无法在内存和多个外部存储设备之间合理存储而可能被覆盖或造成内存溢出的问题;本发明所述数据帧结构在帧优先级域综合考虑了控制器信号优先级和时间优先级,解决了车载T-BOX所采集车载实时数据没有发送优先级的问题。当数据通信链路从异常状态恢复到正常状态后,数据存储模块的外部存储器中优先级高的数据帧(例如故障数据帧),可以通过数据仲裁模块立即传输到通信模块发送到TSP,不用等待当前被采集的实时数据发送结束后再补发。
[0082] 本发明具有普遍意义和可拓展性,能够适应移动通信技术和嵌入式存储技术发展,具有广阔的市场前景和极高的应用价值。

附图说明

[0083] 图1为本发明涉及的车载T-BOX功能结构图;
[0084] 图2为本发明涉及的车载实时数据帧结构图;
[0085] 图3为本发明涉及的一种优化车载T-BOX数据存储和转发方法系统结构图。

具体实施方式

[0086] 结合图1、图2和图3,通过以下实施例对本发明做进一步描述。并不以任何方式限制本发明,在不背离本发明的技术解决方案的前提下,对本发明所作的本领域普通技术人员容易实现的任何改动或改变都将落入本发明的权利要求范围之内。
[0087] 实施例1
[0088] 参照图1、图2和图3,本发明的装置“奥迪”车的车载T-BOX,采用Cortex-A9芯片,并且包含数据采集模块,数据封装模块,数据调度模块,数据存储模块,数据仲裁模块以及通信模块。其中第一外部存储器采用容量大小为256MB(M表示兆,B表示字节),标准存储速率为4MB/s(M表示兆,B表示字节,s表示秒)的SD卡(Secure Digital Memory Card),第二外部存储器采用容量大小为512MB,标准存储速率为6MB/s的CF卡(Compact Flash),数据封装模块使用内存空间为512MB(M表示兆,B表示字节),通信模块使用3G通信模块。
[0089] 其中,数据采集模块连接在车内CAN总线上,用于与车内控制器通信。
[0090] 远程控制终端与优化车载T-BOX数据存储和转发方法的通信过程如下:
[0091] 1、初次使用本发明提供的优化车载T-BOX数据存储和转发方法时,该车载T-BOX设备需要进行初始化设置,首次初始化后,数据采集模块、数据封装模块、数据调度模块、数据存储模块、数据仲裁模块和通信模块中均无数据,设置数据采集时钟周期为1秒,同时根据设备内存情况设置内存空间剩余容量临界点为128MB。
[0092] 2、该车载T-BOX设备正常工作后,数据采集模块根据数据采集时钟周期采集控制器中的各种车内实时状态信号,如实时车速信号、发动机状态信号等,将获取得到车内实时状态信号加上所对应的信号ID发送至数据封装模块。
[0093] 3、数据封装模块接收到数据采集模块发送的车内实时状态信号后,按照附图2所示的数据帧结构图将信号状态数据封装成车载实时数据帧;产生的车载实时数据帧存储在数据封装模块使用的内部存储器空间中。由调度模块对数据封装模块内部存储器空间中的车载实时数据帧进行调度,数据调度模块由计算得到的数据调度时钟周期触发,计算数据调度时钟周期的公式1.0如下:
[0094]
[0095] 本实施例中,当通信模块的传输速率为64Kb/s时,μ的值为2s,即是数据调度模块的触发周期为2s。当数据调度模块的时钟周期到来时,将数据封装模块使用的内部存储器空间中优先级最高的车载实时数据帧传输到数据调度模块,并由数据调度模块传输到仲裁模块。传输到仲裁模块的车载实时数据帧在数据封装模块使用的内部存储器空间中仍然保存一个副本。此时数据存储模块中的第一外部存储器和第二外部存储器都没有数据,数据仲裁模块裁决出此车载实时数据帧优先级最高,通过通信模块中的3G网络传输发送至远程控制终端。同时数据仲裁模块向数据封装模块发送一个仲裁成功消息,数据封装模块删除使用的内部存储器中此车载实时数据帧副本。
[0096] 4、由于本实施例中数据采集时钟周期为1秒,当前数据调度模块的触发周期为2秒,系统运行一段时间后,数据封装模块中封装的大量车载实时数据帧由于没有得到及时调度,导致数据封装模块中的内部存储器内存空间剩余容量小于内存空间剩余容量的临界点128MB,此时会根据数据采集时钟周期触发公式1.1和公式1.2,将数据封装模块中具有最高优先级的车载实时数据帧调度至数据存储模块。
[0097] 公式1.1如下:
[0098]
[0099] ωtr=ω-ωsr
[0100]
[0101] ωte=ω-ωse
[0102] 本实施例中,公式1.1中各参数初始值为:
[0103] ωsr=1;Sr=256MB;ASr=256MB;ω=1;
[0104] ωse=1;Se=512MB;ASe=512MB;
[0105] 将各参数代入公式,得到ωsr=1;ωtr=0;ωse=1;ωte=0。
[0106] 公式1.2如下:
[0107] τ=max(Tr·ωtr+Sr·ωsr,Te·ωte+Se·ωse)
[0108] 本实施例中,公式1.2中各参数初始值为:
[0109] Tr=4MB/s;Sr=256MB;Te=6MB/s;Se=512MB;
[0110] 将上述初始化参数及公式1.1中计算得到的参数代入公式1.2,得到τ=512,该值表示第二外部存储器CF卡具有最高的优先级值。因此,数据封装模块使用的内部存储器中具有最高优先级的车载实时数据帧通过数据调度模块被调度至数据存储模块的第二外部存储器CF卡中。同理,当数据采集时钟周期到来时,数据封装模块使用的内部存储器中的其他车载实时数据帧也将被调度至数据存储模块中的第一外部存储器SD卡或第二外部存储器CF卡中存储,直至数据封装模块中的内部存储器内存空间剩余容量大于或等于内存空间剩余容量的临界点128MB。系统运行一段时间后,数据存储模块中的第一外部存储器SD卡或第二外部存储器CF卡都保存有车载实时数据帧。
[0111] 5、此时如果通信模块的传输速率为128Kb/s,通过公式1.0计算,μ的值为1s,即是数据调度模块的触发周期为1s。当数据调度模块的时钟周期到来时,数据存储模块中的第一外部存储器SD卡、第二外部存储器CF卡以及数据封装模块使用的内部存储器中都有数据帧,从每个外部存储器和数据封装模块使用的内部存储器中各自选出优先级最高的车载实时数据帧传输到数据调度模块,由数据调度模块传输到数据仲裁模块进行仲裁,每个外部存储器和数据封装模块使用的内部存储器中均保留所选取数据帧的副本。如果此时数据封装模块使用的内部存储器中选出发动机状态车载实时数据帧,数据存储模块中的第一外部存储器SD卡选出灯光信号车载实时数据帧,数据存储模块中的第二外部存储器CF卡选出车速车载实时数据帧,经过数据仲裁模块比较车载实时数据帧优先级,仲裁出发动机状态车载实时数据帧优先级最高。发动机状态车载实时数据帧进入通信模块,由通信模块中的3G网络将数据帧传送至远程控制终端。同时仲裁模块向仲裁成功的数据封装模块发送一个仲裁成功消息,数据封装模块删除内部存储器中对应车载实时数据帧副本。
[0112] 该实施例保证车载实时数据帧不会因为数据封装模块内存不足而导致数据丢失或内存溢出,同时保证各个外部存储器都得到充分使用。
[0113] 实施例2
[0114] 参照图1、图2和图3,本发明的装置“宝马”车的车载T-BOX,采用Cortex-A9芯片,并且包含数据采集模块,数据封装模块,数据调度模块,数据存储模块,数据仲裁模块以及通信模块。其中第一外部存储器采用容量大小为512MB(M表示兆,B表示字节),标准存储速率为10MB/s(M表示兆,B表示字节,s表示秒)的SD卡(Secure Digital Memory Card),第二外部存储器采用容量大小为128MB(M表示兆,B表示字节),标准存储速率为6MB/s(M表示兆,B表示字节,s表示秒)的CF卡(Compact Flash),数据封装模块使用内存空间为1024MB(M表示兆,B表示字节),通信模块使用4G通信模块。
[0115] 其中,数据采集模块连接在车内CAN总线上,用于与车内控制器通信。
[0116] 远程控制终端与优化车载T-BOX数据存储和转发方法的通信过程如下:
[0117] 1、初次使用本发明提供的优化车载T-BOX数据存储和转发方法时,该车载T-BOX设备需要进行初始化设置,首次初始化后,数据采集模块、数据封装模块、数据调度模块、数据存储模块、数据仲裁模块和通信模块中均无数据,设置数据采集时钟周期为0.5秒,同时根据设备内存情况设置内存空间剩余容量临界点为256MB。
[0118] 2、该车载T-BOX设备正常工作后,数据采集模块根据数据采集时钟周期采集控制器中的各种车内实时状态信号,如实时车速信号、发动机状态信号等,将获取得到车内实时状态信号加上所对应的信号ID发送至数据封装模块。
[0119] 3、数据封装模块接收到数据采集模块发送的车内实时状态信号后,按照附图2所示的数据帧结构图将信号状态数据封装成车载实时数据帧;产生的车载实时数据帧存储在数据封装模块使用的内部存储器空间中。由调度模块对数据封装模块内部存储器空间中的车载实时数据帧进行调度,数据调度模块由计算得到的数据调度时钟周期触发,计算数据调度时钟周期的公式1.0如下:
[0120]
[0121] 本实施例中,当通信模块的传输速率为128Kb/s时,μ的值为1s,即是数据调度模块的触发周期为1s。当数据调度模块的时钟周期到来时,将数据封装模块使用的内部存储器空间中优先级最高的车载实时数据帧传输到数据调度模块,并由数据调度模块传输到仲裁模块。传输到仲裁模块的车载实时数据帧在数据封装模块使用的内部存储器空间中仍然保存一个副本。此时数据存储模块中的第一外部存储器和第二外部存储器都没有数据,数据仲裁模块裁决出此车载实时数据帧优先级最高,通过通信模块中的4G网络传输发送至远程控制终端。同时数据仲裁模块向数据封装模块发送一个仲裁成功消息,数据封装模块删除使用的内部存储器中此车载实时数据帧副本。
[0122] 4、由于本实施例中数据采集时钟周期为0.5秒,当前数据调度模块的触发周期为1秒,系统运行一段时间后,数据封装模块中封装的大量车载实时数据帧由于没有得到及时调度,导致数据封装模块中的内部存储器空间剩余容量小于内存空间剩余容量的临界点256MB,此时会根据数据采集时钟周期触发公式1.1和公式1.2,将数据封装模块中具有最高优先级的车载实时数据帧调度至数据存储模块。
[0123] 公式1.1如下:
[0124]
[0125] ωtr=ω-ωsr
[0126]
[0127] ωte=ω-ωse
[0128] 本实施例中,公式1.1中各参数初始值为:
[0129] ωsr=1;Sr=512MB;ASr=512MB;ω=1;
[0130] ωse=1;Se=128MB;ASe=128MB;
[0131] 将各参数代入公式,得到ωsr=1;ωtr=0;ωse=1;ωte=0。
[0132] 公式1.2如下:
[0133] τ=max(Tr·ωtr+Sr·ωsr,Te·ωte+Se·ωse)
[0134] 本实施例中,公式1.2中各参数初始值为:
[0135] Tr=10MB/s;Sr=512MB;Te=6MB/s;Se=128MB;
[0136] 将上述初始化参数及公式1.1中计算得到的参数代入公式1.2,得到τ=512,该值表示第一外部存储器SD卡具有最高的优先级值。因此,数据封装模块使用的内部存储器中具有最高优先级的车载实时数据帧通过数据调度模块被调度至数据存储模块的第一外部存储器SD卡中。同理,当数据采集时钟周期到来时,数据封装模块使用的内部存储器中的其他车载实时数据帧也将被调度至数据存储模块中的第一外部存储器SD卡或第二外部存储器CF卡中存储,直至数据封装模块中的内部存储器空间剩余容量大于或等于内存空间剩余容量的临界点256MB。系统运行一段时间后,数据存储模块中的第一外部存储器SD卡或第二外部存储器CF卡都保存有车载实时数据帧。
[0137] 5、如果此时通信模块的传输速率为256Kb/s,通过公式1.0计算,μ的值为0.5s,即是数据调度模块的触发周期为0.5s。当数据调度模块的时钟周期到来时,数据存储模块中的第一外部存储器SD卡、第二外部存储器CF卡以及数据封装模块使用的内部存储器中都有数据帧,从每个外部存储器和数据封装模块使用的内部存储器中各自选出优先级最高的车载实时数据帧传输到数据调度模块,由数据调度模块传输到数据仲裁模块进行仲裁,每个外部存储器和数据封装模块使用的内部存储器中均保留所选取数据帧的副本。如果此时数据封装模块使用的内部存储器中选出灯光信号车载实时数据帧,数据存储模块中的第一外部存储器SD卡选出车速车载实时数据帧,数据存储模块中的第二外部存储器CF卡选出发动机状态车载实时数据帧,经过数据仲裁模块比较车载实时数据帧优先级,仲裁出发动机状态车载实时数据帧优先级最高。发动机状态车载实时数据帧进入通信模块,由通信模块中的4G网络将数据帧传送至远程控制终端。同时仲裁模块向仲裁成功的数据存储模块发送一个仲裁成功消息,数据存储模块删除第二外部存储器CF卡中对应车载实时数据帧副本。
[0138] 6、如果在步骤5中,每次仲裁成功的都是数据存储模块中的车载实时数据帧,会导致大量优先级较低的车载实时数据帧停留在数据封装模块。当数据封装模块中的内部存储器空间剩余容量小于内存空间剩余容量的临界点256MB时,系统会根据数据采集时钟周期触发公式1.1和公式1.2,将数据封装模块中具有最高优先级的车载实时数据帧调度至数据存储模块。调度方法同步骤4。直至数据封装模块中的内部存储器空间剩余容量大于或等于内存空间剩余容量的临界点256MB。
[0139] 该实施例保证无论车载实时数据帧保存在数据封装模块的内部存储器或数据存储模块的外部存储器中,优先级最高的车载实时数据帧都会最先发送。同时保证数据封装模块不会因为保存大量优先级低的车载实时数据帧而造成内存不足,而导致数据丢失或内存溢出。
[0140] 测试例:
[0141] 1、初次使用本发明提供的优化车载T-BOX数据存储和转发方法时,该车载T-BOX设备需要进行初始化设置,首次初始化后,数据采集模块、数据封装模块、数据调度模块、数据存储模块、数据仲裁模块和通信模块中均无数据,设置数据采集时钟周期为0.001秒,内存大小为256MB,内存空间剩余容量临界点为64MB。
[0142] 2、数据采集周期为每0.001秒采集一帧车载实时数据帧,每帧大小为十六个字节,则T-BOX装置每秒需通过通信模块传输16000字节的数据。
[0143] 3、假设网络通信模块的传输速率为128KB/s,根据公式1.0,数据调度模块的触发周期为1s,则T-BOX装置每秒通过通信模块传输成功的字节数为16字节,剩余15984字节的数据将存储在T-BOX装置数据采集模块中的内部存储器中。
[0144] 4、内存大小为256MB,运行279.9分钟后,系统会因为产生内存不足而导致数据丢失。而采用本发明的优化车载T-BOX采集数据存储和转发方法,由于内存空间剩余容量临界点为64MB,运行209.9分钟后,数据封装模块中的内部存储器内存空间剩余容量小于内存空间剩余容量的临界点值,系统会根据数据采集时钟周期触发公式1.1和公式1.2,将数据封装模块使用的内部存储器中的车载实时数据帧调度至数据存储模块的各个外部存储器中,直至数据封装模块中的内部存储器内存空间剩余容量大于或等于内存空间剩余容量的临界点值。最大限度地使用了内部存储器和外部存储器存储空间,将数据合理地分布存储,不会因为内存溢出而导致数据丢失。
[0145] 结论:
[0146] 优化车载T-BOX采集数据存储和转发方法在综合考虑通信信道传输速率变化、各个存储设备写入速度差异、各个存储设备剩余储存空间变化和采集数据传输优先级的前提下,提出了一种基于数据传输优先级、信道传输速率、存储介质存储速率和剩余存储空间的车载实时数据的存储和转发方法,保证了车载实时数据传输优先级,提高了车载存储介质使用的合理性。
[0147] 本发明所使用的公式具有普遍意义和可拓展性,能够适应移动通信技术和嵌入式存储技术的发展,具有广阔的市场前景和极高的应用价值。