TRON(The Real-time Operating system Nucleus)是一种在国内的知名度非常低的嵌入式实时操作系统,但是却占据了全球微处理器操作系统市场大约60%的份额,这远远超过了Windows的普及程度。它已经安装到了全球30亿到40亿台电子产品当中,涉及从数码相机、通信设备、媒体播放器到汽车电子等广泛领域。主要用户包括NTT DoCoMo、Toyota、Cannon、Ricoh、Panasonic、Sony、NEC、Toshiba、Hitachi、Fujitsu等国际著名企业,且已在其各自的领域使用了20年。本文简单地介绍TRON的发展、结构及其典型应用等,希望能有助于推动其在国内的研究和应用。
2 TRON与T-Engine简介
TRON是由日本东京大学Ken Sakamura教授于1984年提出的计算机操作系统规范,目的是构建一种理想的计算机结构,实现新的计算体系——泛在计算环境(Ubiquitous Computing Environment)。所谓“泛在计算环境”是指将微型计算机嵌入到日常生活中的所有机器、设备、工具中,通过网络相互通信,协调运行,以实现高度计算机化的社会环境。为了使计算机嵌入到包括移动通信器等在内的各种机器中,需要这种计算机结构必须小型化并有很好的实时性能。为此,1984年Ken Sakamura教授提倡启动了“TRON项目”。在这20年间,先后推出了ITRON(嵌入式系统实时多任务操作系统规范)、JTRON(Java与ITRON的混合操作系统规范)、BTRON(计算机及手机等终端的操作系统规范体系)、CTRON(以通信控制及信息处理为目的的操作系统接口规范)及TRON HMI(面向各种电子设备的人机界面标准)等规范。
TRON项目为了向世界推广,一直采用自由开源、弱标准化的方针,也曾经出现过多种版本的开发环境及操作系统式样。随着嵌入式系统的高功能、网络化、高度HMI化,软件开发和调试都变得非常复杂。TRON相关软件的可移植性、可重用性出现了问题。加之嵌入软件开发技术人员严重不足,缺乏可以兼容的软件中间件。
为了实现更为有效的实时操作系统的嵌入式计算结构,TRON项目启动了T-Engine项目。T-Engine是为了在短时间内高效开发实时嵌入式系统而设计的,由标准化硬件结构(T-Engine)与标准开源实时操作系统核心(T-Kernel)组成的嵌入式系统的开放式标准平台。
在T-Engine开发过程中,搭载的CPU为可变的,而规定了其他硬件结构规范、操作系统核心界面规范、对象数据格式规范等要素,使TRON在标准化的基础结构上,具备充分的外围资源及开发环境。这个开放式标准平台结构的最大目标是将CPU从基础结构中独立出来,使在T-Kernel上开发的中间件可不依存于CPU结构而移植。
通过使用丰富的中间件,可以做到大幅度缩短应用系统开发时间及降低成本;通过使用高质量的硬件和软件,可方便地进行调试;在小批量生产时可照原样开发平台;系统既稳定、尺寸又小,很容易使其直接成为产品,可在很短时间内投向市场。
为将T-Engine这种体系结构向世界推广,使之成为一种国际标准,2002年成立了T-Engine论坛,目前已经在全世界拥有478家会员公司(截至2006年8月2日)。就连微软也不敢小视,在2003年的年底,微软也加入了TRON阵营,使Windows CE兼容TRON系统。由此,在计算技术向前迈出了一大步。
3 T-Engine基础架构
3.1 T-Engine 硬件结构规范
按照应用和尺寸来划分,如图1所示,T-Engine硬件平台可分为以下4大类。
图1 T-Engine基础架构示意图
(1) 标准T-Engine
这种开发硬件平台面向于具有高级用户接口的设备,例如有液晶屏和触摸屏的便携式信息设备。其具有如USB、串口等通用接口,还具有75mm×120mm的紧凑尺寸,不做修改即可直接应用于多种产品。
(2) μT-Engine (micro T-Engine)
这种微型开发硬件平台面向于专门的设备控制,具有60mm×85mm的尺寸,没有液晶屏和触摸屏等用户接口。常用于开发移动信息设备、家用电气及计量测绘机器等。
(3) nT-Engine (nano T-Engine)
这种毫微型平台用于驱动并控制照明器具、开关、锁、阀门等小型设备,将这些节点组成实时网络,构成泛在计算环境。
(4) pT-Engine(pico T-Engine)
这种微微型平台是一种低功耗的超小型网络节点,可以组装到泛在计算环境的所有物品中来构建一个传感器网络。
3.2 T-Engine软件结构规范
T-Engine的软件环境主要包括T-monitor、T-Kernel、设备驱动、T-Kernel标准扩展、中间件和应用软件这几个部分。如图1所示。
(1) T-monitor
作为启动实时操作系统核心及支援调试的软件。
(2) T-Kernel
T-kernel是在标准T-Engine、μT-Engine上运行的开放式实时操作系统核心软件。它有别于其他开源软件的地方在于它是单一源代码软件,具有强标准化特点,这保证了其作为各种中间件发布的平台。T-kernel的使用许可(T-License)还规定,T-kernel源代码的改变和发布必须经过许可,用其开发的新产品的软件不要求必须公开,这有别于GPL(General Public License)。使用T-kernel源代码是不收版权费的,这样就可以同时满足产品低成本和保密的需要。
(3) 设备驱动
在T-Engine上搭载的设备驱动,规定了标准的API规范,用来针对各种硬件以实现软件的硬件无关性。另外,为了便于开发新设备以及专用设备的驱动软件,还将公开设备驱动的参考代码。
(4) T-kernel标准扩展
T-kernel标准扩展是提供更高级的标准功能的自身扩展部分,使得T-kernel可以使用诸如内存管理、多任务管理、进程通信与同步、文件系统等多种高级功能。
(5) 中间件
在T-Kernel上运行的各种中间件,实现代码的包括各种网络用的协议堆栈、文件系统、日语处理、假名汉字变换、eTRON相关的安全软件、GUI、语音处理、Java运行环境等。为了推动更多中间件的发布和保证它们的使用兼容性,T-Dist项目广泛地公开和发布中间件的信息,并通过eTRON给出相应软件列表。这样就可大大地降低产品开发难度,减少产品开发周期。
(6) 开发环境系统
开发环境并没有标准化,但为了确保软件的兼容性,源代码及二进制目标代码以GNU C编译器中的标准为参考。
4 TRON的应用和展望
T-Engine的设计目标就是随时随地的计算,组网的目的也是为了计算。它的这种泛在计算环境特性十分适合应用于智能家居。为了获得舒适便利的居住环境,在住所安装各种nT-Engine设备和pT-Engine传感器,它们通过有线或无线的方式相互通信,构成大规模的分布式处理系统。光线弱的时候,光线传感器将通知灯光控制器开启照明;当气温不在设定的舒适范围时,温度传感器将通知空调控制器开启空调,同时还可以对空气湿度、空气质量等进行监控;当发生火灾时,烟感等传感器会通知发出报警信号,报告着火位置,并做出相应的处理,如开启喷水消防管等。佩戴有电子标签的人在室内活动可被完全监视,房门可自动开启或禁入,钟爱的音乐会自动响起,还可以通过声音等方式直接控制各种家用设备。当人们离开家时,同样可以通过通信网络掌控家中的一切。
在工业上,TRON也有着广泛的应用。基于TRON的泛在代码标签(Ubiquitous code tags),可作为RFID或超微型传感器安装在各种各样的物体中。由于体积的限制,泛在代码标签存储信息有限,大量的信息被存储在网络数据库中;通过各种泛在通信器(Ubiquitous Communicator)读取代码标签的身份信息;然后通过有线或无线网络查询分布式关系数据库,获取更详尽的信息;通过地址协议、网关或高速缓存保证了查询的高效性。除了如条形码这种被动式的信息读取外,泛在代码标签还可实现主动式的信息交互,在数据安全性和可操作性方面优势明显。这样也就实现了实时的泛在身份(Ubiquitous ID)系统。这种泛在身份技术已经应用在食品追踪系统中,利用它可以获取食品在生产、加工、运输、销售和消费全过程的详细信息,不仅可用来提高物流效率,还可有效地加强食品安全管理。TRON的架构特点及实时的优点使之成为连接虚拟信息世界和真实世界的桥梁。
5 结束语
TRON项目在Ken Sakamura教授领导下正在快速地推广,日本、中国、韩国、新加坡、澳大利亚等国的很多企业和机构已经开展了T-Engine方面的研究和应用。在国内,东软公司等企业已经在TRON基础上开发汽车电子软件;中科院也一直在使用基于TRON的嵌入式系统平台开发图像压缩技术;北京大学开设了使用T-Engine开发板的嵌入式系统研发课程。随着TRON在国内逐渐扩大影响,将会有更多企业和机构加入到TRON项目中来,市场上将会出现更多的TRON项目产品,对TRON的研究和应用也会逐渐升温。