远程信息处理控制单元上的脚本的制作方法

文档序号:11277423阅读:247来源:国知局
远程信息处理控制单元上的脚本的制造方法与工艺

本公开涉及在车辆远程信息处理控制单元上运行脚本。



背景技术:

车辆远程信息处理控制单元(tcu)提取车辆中产生的数据、准备提取的数据用于传输、然后通过天线传输数据。传统的tcu根据指令执行这些操作,该指令根据预编译的代码产生。预编译的代码很难动态地更新,因此tcu制造商在制造的时候必须预加载(即,硬编码)整套tcu软件。术语“硬编码”——如在本领域中所使用的——意味着在程序的源代码中嵌入代码,使得修正嵌入式代码要求用户供应新的源代码。这种方法论导致以不适合于发现快速改变车辆参数的ms(毫秒)分辨率的方式收集数据的失真系统。



技术实现要素:

本公开通过提供动态地更新在车辆tcu上运行的代码的方法和系统来解决上述问题。在某些实施例中,本公开提供远程信息处理控制系统,该远程信息处理控制系统包括:配置为用外部协议缓冲区序列化脚本并且传输序列化脚本至tcu的外部服务器;具有传感器和tcu的车辆,tcu配置为:用tcu协议缓冲区反序列化脚本、通过预加载在tcu上的解释器执行脚本、基于脚本存储来自传感器的数据。

本公开也提供控制包括传感器的车辆中的远程信息处理控制单元(tcu)的方法,tcu包括天线、处理器和存储器,方法包括:用外部服务器协议缓冲区序列化脚本、传输序列化脚本至tcu、用tcu协议缓冲区反序列化脚本、通过预加载在tcu上的解释器执行脚本、基于脚本存储来自车辆传感器的数据。

附图说明

为了更好地理解本发明,可以参考在下列附图中显示的实施例。附图中的部件不一定按比例绘制并且相关元件可以被省略、或在某些情况下比例可能已经被放大,以便强调并且清楚地说明在此描述的新颖特征。此外,如本领域已知的,可以不同地设置系统部件。此外,在附图中,相同的附图标记指定在几个视图中的相应部分。

图1是数据传输至车辆以及从车辆传输数据的框图;

图2是包含在脚本代码内的模块的框图;

图3是用脚本执行的虚拟机的框图;

图4是传输脚本代码至车辆的方法的框图;

图5是车辆硬件的框图;

图6是脚本与车辆硬件交互的框图。

具体实施方式

虽然本发明可以以各种形式具体体现,但一些示例性且非限制的实施例在附图中被显示并且将在下文被描述,理解为本公开被认为是本发明的例证并且不旨在将本发明限制于图示的具体实施例。

在这个申请中,转折连词的使用旨在包括连词。定冠词或不定冠词的使用不旨在指示基数。特别地,对“该”物体或“一(a)”和“一(an)”物体的引用也旨在表示多个可能的这样的物体中的一个。此外,连词“或”可以用于表达同时存在而不是相互排斥的可选方案的特征。也就是说,连词“或”应该理解为包括“和/或”。

参考图5,总体上显示并且说明车辆110的硬件部件500。车辆110可以是具有发动机或马达、电池、方向盘、车窗、车门、安全带、轮胎等的乘用车辆。车辆110可以是轿车、suv(运动型多用途车)、摩托车、或卡车。车辆可以是汽油动力的、柴油动力的、天然气动力的、混合动力的或电动的。

车辆110具有主数据总线501,该主数据总线501可操作地连接一个或多个处理器502、比如随机存取存储器这样的易失性存储器503、比如硬磁盘驱动器或固态装置这样的非易失性存储器504、控制比如变速器或燃料喷射器这样的机电车辆部件的运动的执行器506、以及配置为测量在车辆内或在车辆附近发生的事件的维度的局部传感器505。局部传感器505的示例包括发动机温度传感器、环境温度传感器、乘客舱温度传感器、发动机rpm(每分钟转速)传感器、电池温度传感器、电池电荷水平传感器、速度传感器等。传感器可以是数字的或模拟的。

车辆110通过远程信息处理控制单元(tcu)550无线地通信,该远程信息处理控制单元550可以用作车辆的调制解调器。如图5所示,tcu550可以可操作地连接至主数据总线501。tcu是具有可操作地连接至tcu处理器552、tcu易失性存储器553、tcu非易失性存储器554、以及天线555的tcu数据总线551的独立的处理包。tcu存储器可以包括多个硬编码的远程信息处理协议。tcu的硬件配置在本领域中是已知的并且例如在美国公布号2007/0055414的专利文献中公开,该美国公布号2007/0055414的专利文献通过引用其全部内容的方式合并于此。

在正常操作期间,各种局部传感器505测量在车辆内或在车辆附近的状况。局部传感器输出一连串序列化数据至车辆数据总线501,该序列化数据(a)识别传感器以及(b)包括测量结果或维度。适合的局部车辆传感器在本领域中是已知的并且目前存在于消费者车辆上。

返回至tcu,一个或多个tcu天线555可以配置为产生和接收通过一个或多个服务交付网络实现无线连接的无线信号。网络可以是比如由包括at&t(美国电话电报公司)、verizon(威瑞森)、t-mobile(德国电信公司)等的常见蜂窝运营商拥有和操作的那些的消费者蜂窝网络。网络可以是专有的无线网络或车辆间网络。适合的天线是商业上可获得的并且在本领域中是已知的。

tcu550包括存储在tcu存储器上的用于在tcu处理器上执行的远程信息处理协议。远程信息处理协议配置为接收标记为传输至外部源的数据,然后将数据转换为适合于通过一个或多个天线555作为信号或波传输的一系列比特。如上面所提到的,远程信息处理协议可以是硬编码至tcu存储器上的。

现在转至图1,总体上显示并且说明动态地更新在tcu550上运行或存储在tcu550上的软件的方法。人把数据输入至网络服务功能人机界面101。网络服务功能人机界面101响应于人访问比如网站这样的计算机程序而显示。人以非结构化形式把比如多行脚本代码这样的数据输入至网络服务功能人机界面中。非结构化数据通常是人可读的原始信息。例如,本专利申请的文本是非结构化数据。相比之下,根据一些逻辑规则组织结构化数据。结构化数据通常是机器可读的。

返回至图1,网络服务功能人机界面101将非结构化数据转化为结构化数据或机器可读的数据。例如,人可以输入旨在用于在车辆上执行的一行代码。人机界面101然后系统安排该数据以便使它遵循这组逻辑规则,这组逻辑规则可以由其他软件读取和实施。

网络服务功能协议缓冲区102接收结构化数据并且将结构化数据转换为序列化数据。序列化数据可以以比特格式具体体现,该比特格式使序列化数据能够存储在计算机上或作为一系列的物理电(或磁)信号或脉冲在计算机之间传输。在本发明的一实施例中,协议缓冲区102是谷歌协议缓冲区(gpb)。在不同的实施例中,协议缓冲区102操作为tcu550的api(应用程序编程接口)。更具体地说,协议缓冲区102配置为传输比如多行代码这样的序列化数据至tcu以用于在tcu上执行。协议缓冲区102也配置为将从tcu发送的数据反序列化为用户指定的数据结构。在developers.google.com/protocol-buffers/docs/techniques上可获得的gpb开发者指南中描述了gpb的附加特征,该gpb开发者指南通过引用其全部内容的方式合并于此。

参考图1,协议缓冲区102可以传输结构化数据至在与协议缓冲区相同的服务器上运行的其他应用程序108。其他应用程序108可以序列化该数据以用于传输至托管数据云109的外部服务器。

在序列化结构化数据之后,协议缓冲区102通过服务交付网络103传输序列化数据至车辆110,以及特别是传输至tcu550。服务交付网络包括比如由包括at&t、verizon、t-mobile等的常见蜂窝运营商拥有和操作的那些的消费者蜂窝网络。

车辆110通过tcu调制解调器104接收作为电信号或脉冲的序列化数据,该tcu调制解调器104包括tcu天线555以及存储在tcu存储器上并且在tcu处理器552上执行的程序。tcu调制解调器把在天线上接收的物理信号或脉冲解码为机器可读的序列化数据。在不同的实施例中,tcu天线555包括专用的处理器和存储器。

机器可读的比特格式是通过服务交付网络103从网络服务功能协议缓冲区102传输的序列化数据的副本。为了与数据交互,tcu通过存储在tcu存储器553和554上并且在tcu处理器552上执行的协议缓冲区将一系列比特反序列化为结构化数据。tcu协议缓冲区可以包括与网络服务功能协议缓冲区102相同的序列化程序或软件。通过反序列化数据,tcu协议缓冲区105复制最初在网络服务功能协议缓冲区102中序列化的结构化数据。

tcu用从tcu调制解调器104接收的反序列化数据构建虚拟机。更具体地说,反序列化数据包括在tcu上执行的脚本。预加载在tcu存储器上的软件——如下面所解释的——配置为在tcu处理器上运行脚本,因此创建虚拟机。

图6说明脚本如何与硬件和预加载在车辆上的软件交互的框图。更具体地说,车辆包括比如在图5中说明的tcu硬件这样的硬件604。tcu固件603(或tcu操作系统)预加载到车辆上并且配置为与tcu硬件604交互。解释器602也预加载到tcu上并且配置为将lua脚本转换为固件603可读的指令。lua脚本与固件的交互在本领域中通常是已知的并且例如在美国公布号2007/0046821的专利文献中描述,该美国公布号2007/0046821的专利文献通过引用其全部内容的方式合并于此。

图2总体上说明比如lua脚本这样的脚本601的多行代码的各种操作。每一行代码200可以包括源模块201、操纵模块202和转换模块203中的一个或多个。源模块201识别一个或多个特定传感器和传感器数据的结构。操纵模块202包括tcu硬件对来自特定传感器的输入执行的数学操作。转换模块203识别脚本如何响应于操纵模块202的输出。

图3是用多行代码200生成的虚拟机300的框图。在301,虚拟机以特定的格式或结构从特定传感器(根据源模块201)接收数据。在302,虚拟机根据操纵模块202中的指令对接收的数据执行操作。在303,虚拟机输出新的结构化数据。在304,虚拟机将转换模块203中的代码或函数应用于新的结构化数据以产生一个或多个结果。

图3描绘可能的结果305至310。结果可以使虚拟机在tcu存储器中在特定位置上保存数据、丢弃数据、通过tcu调制解调器传输数据、或执行特定行的脚本代码。通过引用其全部内容的方式合并于此的lua5.3参考手册包括lua中可能的脚本操作的种类的更完整的描述。

参考图1,新的结构化数据作为序列化数据通过tcu协议缓冲区105、tcu调制解调器104和服务交付网络103返回至网络服务功能协议缓冲区102。在不同的实施例中,tcu配置为在行驶周期结束时通过服务交付网络仅传输(或仅用协议缓冲区102序列化)数据。也就是说,tcu配置为局部地存储(a)结构化数据或(b)序列化结构化数据直到tcu检测到行驶周期的结束。tcu可以参考车辆钥匙的位置、驾驶员座椅中驾驶员的存在、某些网络的可用性(即,家庭wifi(无线保真)网络的检测)以及车辆马达的当前状态(例如,活动的或停用的)中的一个或多个来检测行驶周期的结束。

应该领会的是,网络服务功能协议缓冲区102可以用从其他应用程序108接收的指令补充从网络服务功能人机界面101接收的数据。其他应用程序108可以与存储在云109上的数据库通信。同样地,网络服务功能协议缓冲区102可以向网络服务功能人机界面101和连接至云109的其他应用程序108报告从车辆110接收的数据。

转至图4,用框图400总体上显示并且说明在车辆上安装新的虚拟机的方法。网络服务功能401代表在远程计算机上运行的程序。服务交付网络402是配置为从远程计算机传送数据至车辆的无线网络。远程信息处理控制单元(tcu)403加载在比如车辆110这样的车辆上。防火墙404监测并且控制网络服务功能和车辆tcu403之间的通信流量。

在一示例中,系统如下操作:在405中,网络服务功能准备指示tcu预计定义新的虚拟机200的包的警告。在406中sdn(软件定义网络)发送该警告至tcu。在407中tcu处理警告并且确定它准备接受新的虚拟机。在408中tcu通过tcu调制解调器发送就绪状态至sdn。在409中sdn发送该就绪状态至网络服务功能。

在410中网络服务功能响应定义新的虚拟机的序列化数据。在411中sdn发送数据至tcu。在412中,tcu反序列化数据,导致结构化数据具体体现脚本。紧随其后,tcu把脚本加载至存储器中并且准备产生虚拟机。

其后,在413中tcu通过sdn发送确认。在414中sdn发送确认至网络服务功能。在415中人或在网络服务功能上运行的软件指示tcu执行虚拟机。在416中sdn发送指令至tcu。在417中tcu执行虚拟机并且在418和419中发送确认至网络服务功能。

在420和421中,人或在网络服务功能上运行的软件指示tcu终止执行虚拟机。在422中tcu终止执行虚拟机。在423和424中tcu确认虚拟机关闭。

为了权利要求的目的,应该领会,术语“tcu”在此定义为意思是“包含一个或多个天线、一个或多个处理器、和存储器的远程信息处理控制单元”。为了权利要求的目的,应该进一步地领会的是,术语“加载车辆”是定义为意思是“一种车辆,该车辆包含:驱动一个或多个车轮的马达、用于车轮的制动器、配置为调整至少一个车轮的方向的转向系统、配置为驱动马达的存储能量的源、一个或多个处理器、存储器以及配置为向处理器报告测量结果的局部车辆传感器。”。

上述实施例、以及特别是任何“优选”的实施例,是实施方式的可能示例并且仅提出以用于清楚地理解本发明的原则。在大体上不背离在此描述的技术的精神和原则的情况下,可以对上述实施例做出许多变化和修改。所有的修改旨在在此包括在本公开的范围内并且由下面的权利要求保护。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1