摘要:概述新型网络互连设备——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的有关文件拷到如下目录中:
利用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的应用程序可以访问所有的系统资源,可以实现底层的功能,包括操作系统所能实现的功能,这对于嵌入式系统是非常重要的。
上一篇:SX系列通信控制器
下一篇:宽带通信系统与可配置平台
- 热门资源推荐
- 热门放大器推荐
- Wi-Fi 8规范已在路上:2.4/5/6GHz三频工作
- 治理混合多云环境的三大举措
- Microchip借助NVIDIA Holoscan平台加速实时边缘AI部署
- 是德科技 FieldFox 手持式分析仪配合 VDI 扩频模块,实现毫米波分析功能
- 高通推出其首款 RISC-V 架构可编程连接模组 QCC74xM,支持 Wi-Fi 6 等协议
- Microchip推出广泛的IGBT 7 功率器件组合,专为可持续发展、电动出行和数据中心应用而设计
- 英飞凌推出新型高性能微控制器AURIX™ TC4Dx
- Rambus宣布推出业界首款HBM4控制器IP,加速下一代AI工作负载
- 恩智浦FRDM平台助力无线连接
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况