摘要:概述TINI的基本概念和工作原理,分析TINI的软件环境;简述基本一线制技术的温度型iButton DS1920和小型气象仪,给出利用TINI实现一线制网络与Internet连接的应用实例。
关键词:TINI 一线制网络 气象仪 iButton 网络互连
许多器件(如照相机、自动售货机、实验设备等)都具有内置的外界进行通信的能力。这些设备通常有处理器,用来管理低层的可与其它电子设备进行通信的端口。而那些不具备与外界通信能力的器件要实现连网则必须借助于某些硬件的支持和实现手段。通过TINI可使本来不具备连网能力的器件有效地连入一线制网络,进而被赋予与Internet连接的能力,从而满足商业的和工业的嵌入式网络应用的需求。
1 TINI的基本概念及原理
TINI(Tiny InterNet Interface)是基于一线制通信协议的设备,能够各种不具备连网能力的硬件简易、灵活、低成本地实现连网。TINI由软、硬件两部分构成,硬件部分提供有处理、控制以及设备级的通信和连网功能;而软件部分则实现了Java的编程运行环境,为系统设计者和用户提供了一系列Java应用编程接口。利用TINI可以方便地实现一线制网络与信息网络(如Internet/Interanet)的互连。
一线制网络作为一种新型的网络技术,采用的是主从结构,其中总线主控器具有总线控制、网络管理等功能,而支持一线制网络通信协议的一线制元器件可充当一线制网络的节点。TINI作为一种特殊的一线制网络主控器,除了具有一定主控器所具备的功能外,还具有异型网络互连功能,能有效实现一线制网络与Internet/Inteanet的连接。若对TINI设置IP地址后,可使之成为Internet/Intranet的一个网络节点,供远程用户访问。TINT可通过其一线制网络接口,不断收集一线制网络上的实时信息,并提供给远程Internet/Intranet用户访问。
图1为TINI的一般硬件结构示意图,主要包括CPU、Flash存储器、SRAM、一线制网络接口、信息网络接口、RS-232C接口以及辅助电路等若干功能模块。些TINI甚至还带有CAN总线接口,直接支持与CAN总线网络的连接。
CPU是TINI的核心,控制着其它的功能模块。在此,采用由8051发展而来的A390处理器,其时钟频率可达40 MHz,指令系统为32位,数据指针为24位,并带有2个串口和6个外部中断输入口。
Flash存储器和SRAM的容量均为512KB(字节),TINI将Flash存储器的512KB空间分为8页,每页64KB。每0页放置bootstrap loader引导程序。第1~6页放置TINI OS操作系统和Java API包,其中TINI OS提供任务管理、文件系统管理、存储器管理、I/O管理等功能,以有效协调多个应用程序并发运行;而Java API包为用户应用程序的开发提供了支持和便利。第7页留给用户应用程序使用。
RS-232C串口是为PC机或其它串口设备保留的连接接口。PC机可通过该接口初始化TINI以及下载有关应用程序到TINI上。各种串口设备也可通过该接口与TINI相连,进而实现与信息网络的连接。
由于TINI OS支持FTP和Telnet等服务功能,使得远程用户可通过Internet向TINI发FTP或Telnet请求。TINI监听并接收到来自远程用户的FTP或Telnet连接请求后,可在两者之间成功建立起FTP或Telnet连接,并允许远程用户通过执行类UNIX命令(如增删文件、创建文件目录、查询当前访问者、设置IP地址及子网掩码等),实现对TINI进行操作。
2 TINI的软件环境
TINI所需要的软件环境主要包括如下几部分:Flash存储器中运行的实时操作系统RTOS、TCP/IP栈、Java虚拟机以及Java API包;FTP、Telnet、DHCP、DNS等高层网络协议;JDK软件开发工具;TINI SDK等。
TINI操作系统是一个非常小的嵌入式操作系统,提供有文件管理、内存管理、I/O及任务调度等基本服务。与大多数小型嵌入式操作系统有所不同的是,TINI操作系统可在多任务间切换,能够非常好地在多个Java字节码解释器正在执行的事件间进行切换,因而可以并发运行多个Java应用程序。
TINI上的Java虚拟机与Sun公司的嵌入式Java平台1.1版本的Java API包一致。TINI的Flash存储器中装载有java.lang、java.net、java.io、java.util和javax.comm等函数包。Javax.comm包是JDK所扩充的函数包,提供给TINI特殊的I/O能力。另外,在Flash存储中还有com.dalsemi包,该函数包为进入TINI的命令内核Slush以及操作1-Wire总线、设置众多系统参数等提供支持。若需再装入其它的函数包,可以将它作为应用程序放在RAM空间内。
TINI SDK是进行TINI应用开发的软件我,包括tini.jar、tiniclasses.jar、tini.db、tini.tbin和slush.tbin等。Tiniclasses.jar中封装有所有的TINI API类,它们是实现TINI应用开发的基础。Tini.jar中包括两个重要的程序:JavaKit和TINIConvertor。其中JavaKit用于引导固件、执行系统维护任务,而TINIConvertor则用于将应用程序中的类文件转成TINI可执行的二进制文件。Slush.tbin是TINI可执行的Slush应用程序。在系统初始化即将结束时,该程序开始运行。Slush的一个线程创建服务器套接字(server socket),用来侦听和连接来自客户端(client)的FTP和Telnet连接请求。当没有与远程客户建立FTP和Telnet连接时,Slush占用很少的CPU资源;当建立起连接并成功登录后,远程用户可以执行类Unix风格的命令来操作文件系统、设置或获取配置信息、启动或停止其它的Java应用程序等。
3 基于TINI的网络互连及应用
3.1 温度型iButton DS1920
DS1920是一种温度型iButton器件,支持一线制通信协议。该器件带有接触式温度传感器,可以数字形式串行输出温度测量值,改变了以往温度传感器需加A/D转换器才能转换为数字量的模式。其测量的温度可从-50~+125℃,分辨率为0.5℃。其内部电路包括三部分:64位ROM、温度传感器和温度报警触发器。工作电源采用“寄生电源”方式供电。
3.2 基于一线制技术的小型气象仪
图2为支持一线制通信协议的小型气象仪,上面为风速涡轮,下面是风向标,中间装有温度传感器。温度、风速、风向三个基本气象参数可以方便地通过该气象仪测得。若再装上支持一线制协议的雨量传感器、湿度传感器,则可以获取雨量、湿度等气象参数信息。
3.3 通过TINI实现网络互连的应用系统
通过TINI,可以方便地实现一线制网络与Internet的连接,如图3所示。一方面,若干DS1920和TINI通过双绞线组建成一线制网络。TINI在一线制网络中处于主控地位,具网络控制、网络管理等功能;DS1920处于从设备的地位,主要负责采集所在地的实时温度信息,并送到TINI中。另一方面,TINI通过其所带的信息网络接口,与上层的Internet相连。DS1920采集到的温度信息可以通过TINI送到Internet上。TINI在此过程中沟通两个网络的“桥梁”作用。若在TINI上运行Web服务程序,不断收集一线制网络上的实时温度信息供远程用户访问,该TINI则成为Internet上的一个Web服务器。若分布于各地的TINI将所检测到的实时温度信息送入Internet上的某个大型数据库系统中,则构成一基于Internet的分布式实时温度监测系统。
根据Web服务器需要从DS1920或一线制气象站获取有关信息并通过其向网上发布的应用要求,软件设计应考虑两方面的功能需求:其一,以主控器的身份对DS1920或一线制气象站进行寻址并获取有关信息;其二,为远程客户提供Web服务。整修程序采用JDK结合TINI SDK来进行应用编程。
上一篇:RS422/RS485网络的无极性接线设计
下一篇:一种RS-485总线自定义通信协议及其应用
- 热门资源推荐
- 热门放大器推荐
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况