| TINI的硬件结构和软件环境 |
| 类别:通信网络 |
|         作者:华东理工大学 姜 捷      王永红 凌志浩 来源:《单片机与嵌入式系统应用》      摘要:概述新型网络互连设备——TINI的基本概念,介绍TINI硬件结构的基本组成、地址空间及I/O,并分析TINI应用的软件开发环境和软件运行环境。                关键词:TINI      网络互连 RTOS      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的有关文件拷到如下目录中:      <jdk>.dll      <jdk>.comm.properties      <jdk>.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的应用程序可以访问所有的系统资源,可以实现底层的功能,包括操作系统所能实现的功能,这对于嵌入式系统是非常重要的。      |
- 城市交通COOT和..
- 2007-10-27
- ADSL CO局端..
- 2007-8-9
- DSP在移动通信中..
- 2007-8-7
- 高性能RF收发器C..
- 2007-8-9
- HPC相关新技术的..
- 2007-8-9
- 微格教学及远程管理..
- 2007-7-29
- 宽动态范围的VGA..
- 2007-8-9
- CDMA/FM接收..
- 2007-8-9
- 单线CAN总线收发..
- 2007-8-9
- 多点共线无中心载波..
- 2007-8-9
- 基于80C196K..
- 2007-8-9
- IRIG-E标准F..
- 2007-8-9
- 三一重工CIMS网..
- 2007-8-7
- 中国民航AFTN电..
- 2007-8-7
- 数字语音混沌保密通..
- 2007-7-29
- 网络通信中的基本安..
- 2007-7-29
- 一种高码速率的微波..
- 2007-8-9
- WIN95下虚拟设..
- 2007-8-9
- Java的线程机制
- 2007-7-29
- 北京公交GPS车辆..
- 2007-8-9



