TINI的硬件结构和软件环境

2006-05-07 15:50:09来源: 互联网

TINI(Tiny InterNet Interface)是一种基本一线制协议的网络互连设备。它不仅可将不具备外界通信能力的器件连入一线制网络,而且通过TINI还可实现与信息网络的连接,从而满足商业或工业的嵌入式网络应用的需求。

具有网络互连功能的TINI,一般可支持如下领域的应用:

①工业控制领域。集成有(CAN)Controller Area Network接口的TINI,实际上就是一个工业用仪器,用它可操作工厂的自动化设备以及网络化开关等设备。

②基于Web方式的设备监控。TINI可以直接与支持一线制协议的设备进行通信,并为这些设备进行远程诊断以及实现对远程设备的数据采集。

③协议转换。TINI可使一线制设备方便地接入Ethernet。尽管依靠某些一线制设备的I/O能力,PC机或工作站也可以使其与Ethernet网连接。但是,无论从连接成本还是设备尺寸考虑,TINI都是一个理想的选择。

一般而言,TINI的应用程序接口主要是面向度设备及网络的,而大多数嵌入式网络应用也是面向控制的,并以输入输出为中心。因此无需内建的硬件和API软件对人机接口提供支持。基于TINI的系统通常通过应用HTTP的网络服务器,提供远程的显示功能,也允许用户使用Web浏览器等客户端软件与TINI打交道。

TINI除了具有网络互连功能外,还可以应用于传统的孤立环境中,如监视、控制一个本的设备或系统。通过TINI的RS-232C串口、CAN总线接口或并口,本地设备或系统可以与外部世界实现通信。在TINI上运行的Java应用程序,担负着与相关设备在一定的协议支持下进行通信的任务,并通过TCP/IP网络,将通信结果传给远程系统。

1 TINI的硬件结构

TINI硬件部分提供有处理、控制以及设备级的通信和连网功能,包括微控制器、Flash ROM、SRAM、一线制网络接口、Ethernet接口、串行接口、CAN总线接口以及辅助电路等若干功能模块。如图1所示。

1.1 基本组成

微控制器、Flash ROM和SRAM是TINI的三大基本组成部分。

微控制器是TINI的核心,直接执行运行环境的Native Code。当前的微控制器是DS80C390,支持多种I/O形式,如串口I/O、一线制I/O以及CAN总线I/O;同时它还提供数个具有特功能的引脚,用于执行简单的控制任务,如驱动发光二极管等。该处理器的时钟频率达40MHz,具有32位的指令系统和24位的数据指针。其主要特性如下:

*与8051指令系统兼容;

*4个8位I/O口;

*3个16位定时/计数器;

*256字节scratchpad RAM;

*4KB SRAM;

*3倍于8051的运行速度;

*具有2个CAN2.0B控制器;

*具有2个全双工串口;

*寻址空间达4MB。

Flash ROM存储了TINI的运行环境。当系统断电时,数据不会丢失,并且数据可以重写,以便于TINI运行环境的升级与更新。目前所选用的FlashROM型号为AMD公司的AM29F040B,容量512KB,采用0.32μM制造,至少可重写数据1 000 000次以上。

静态RAM包括系统数据区及Java的运行空间,存储所有的文件系统数据。当系统掉电时,文件系统数据是否保留取决于静态RAM是否提供有备份电池。目前,所选用的SRAM是韩国HYUNDAI的产品,容量为512KB,可扩展到2MB。

1.2 地址空间及I/O

TINI的存储器、外围设备与微控制器统一编址。2种典型的外围设备是Ethernet控制器和时钟。微控制器的地址空间到达4MB,分代码段、数据段和外围设备段3部分地址空间。代码段和数据段的地址空间被存储芯片所占用,而外围设备段的地址空间则被Ethernet控制器和时钟等外设所占用。

TINT的地址空间如图2所示,其中代码段的最大空间为1MB,从0x000000开始编址;数据段的最大空间2MB,从0x100000开始编址;外围设备段的最大空间为1MB,从0x300000开始编址。若物理器件没有完全占用微控制器的约定空间,则各段的起始地址仍保持不变。如Flash ROM的容量仅为512KB,则代码段实际占用512KB,但是,数据段的起始地址仍为0x100000。

TINI的微控制器可支持如下几种低层次的通信协议:

*串行通信协议;

*CAN网络协议;

*一线制网络协议;

*TTL I/O。

2 TINI的软件环境

TINI的软件环境包括软件开发环境和软件运行环境2个方面。

2.1 TINI的软件开发环境

软件开发环境包括Java开发环境、Java通信API以及TINI软件开发包3个方面。进行TINI的应用开发,可采用JDK1.1.8以上版本实现,这可从SUN公司的网络上免费获得。Javax.comm包是JDK所扩充的函数包,提供给TINI一些特殊的I/O能力。为使开发工作顺序开展,需将Java串口API包javax.comm的有关文件拷到如下目录中:

.dll

.comm.properties

.jar

利用TINI SDK,可以方便地进行TINI的应用开发,它包括有tini.jar、tiniclasses.jar、tini.db、timi.tbin和slush.tbin等几部分。Tiniclasses.jar中封装有所有的TINI API类,它们是实现TINI应用开发的基础。Tini.jar中包括2个重要的工具:JavaKit和TINIConvertor。其中JavaKit用于引导固件、执行系统维护任务、设备端口号和通信速率、执行类Unix命令进行相应操作;TINIConvertor用于将应用程序中的类文件转换成TINI可执行的二进制文件。

2.2 TINI的软件运行环境

TINI的软件运行环境包括运行环境软件与实时操作系统RTOS两部分,如图3所示。运行环境软件包括由微处理器直接执行的Native Code,以及由JVM(Java Virtual Machine)解释运行的API;而实时操作系统RTOS,主要负责管理所有的系统资源、调度线程和进程的执行以及实现与外界通信。

Native Method层介于JVM和RTOS之间,是JVM和PTOS联系的桥梁。应用程序通过Native Method层来访问网络协议栈以及非网络设备的驱动程序,同时Native Method层还提供有配置和访问系统资源的方法。Native Method与JVM的接口称为Native Interface Layer。它构成了JVM所执行的Java Code和Native Method的边界。

TINI的JVM,虽然所占用的内存不足40KB,但是它却能够支持绝大部分JVM的功能,如对线程的完全支持、对所有基本类型的支持以及对Strings的支持等。唯一的不足是没有具备引导动态库的功能。TINI所使用的Java API函数,由2部分组成:一部分是JDK的Java.lang、Java.io、Java.net、Java.util包内的大部分函数;另一部分是TINI专用的com.dalsemi包。目前,JDK中Java.lang.math等函数暂时还无法被TINI所接受,有望在不久的将来被TINI所支持。

TINI操作系统处于运行环境的最底层,负责管理所有的系统资源。它主要由进程线程调度器、内存管理子系统和I/O管理子系统3部分组成,分别负责多个进程线程执行的调度安排、存储空间的管理以及实现内外部硬件的通信。TINI的应用程序可以访问所有的系统资源,可以实现底层的功能,包括操作系统所能实现的功能,这对于嵌入式系统是非常重要的。

编辑: 引用地址:http://www.eeworld.com.cn/designarticles/network/200605/3115.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved