嵌入式开发 > 详情

基于GENE-8310的嵌入式TinyOs系统设计

发布时间:2020-06-19 发布时间:
|

无线传感器网络是当前国际上备受关注的、多学科高度交叉、知识高度集成的前沿热点研究技术,其核心技术Tinyos被誉为是“无线嵌入式系统”。Tinyos是一个开源的嵌入式操作系统,他由加州大学的伯利克分校开发出来,越来越多的无线传感器网络通信协议正不断被开发并加入Tinyos系统组件中,并应用于技术研究和系统开发中。

无线传感器网络通常利用无线技术在某个区域内实时部署一个专用的无线局域网络。传输传感器上采集到的数据是无线传感器网络的主要目标。在无线传感器网络的部署过程,Web服务器是确立网络部署和监控通信传输的关键。由于嵌入式操作系统具有高可靠性,在恶劣环境或突然断电的情况下,系统仍然能够正常工作,系统中的软件代码一般都固化在只读存储器中。因此,要求在恶劣环境中仍然能高稳定工作的无线传感器网络可以采用嵌入式操作系统作为其实现平台,这其中包括:嵌入式Linux,Windows CE,Windows XP Embedded,VxWorks,μCOSⅡ,QNX,FreeRTOS,还有定制版的NetBSD和FreeDOS等多种移植平台。本文主要采用Windows XPEmbedded设计平台。

本文主要致力于在嵌入式开发板GENE-8310上移植Tinyos应用操作系统,将GENE-8310作为无线传感器网络中的远程服务器,实现无线网络与有线网络的跨网段传输和远程网络监控。GENE-8310是研扬科技研制的第三代无风扇解决方案,与以往的3.5 in单板电脑相比GENE-8310在低功耗和高性能方面都有很大的改进,对于客户在低功耗控制下的优秀处理能力等更高需求方面都是最好的选择。

1 嵌入式Tinyos移植

嵌入式Tinyos移植方案方框图如图1所示:

首先,在开发机PC上,利用Microsoft Windows Embedded Studio工具套件中的组件设计器开发出网关MIB520的驱动组件,并结合第三方工具Dependencywalker,InCtr15开发出应用程序cygwin.bat的组件,之后把构建完成的驱动组件和应用程序组件通过工具套件中的组件数据库管理器导入到组件数据库中,以便开发操作系统时添加。接下来定制Windows XP Embedded操作系统的功能组件,确定系统所支持的功能,再利用目标设计器添加功能组件、组件数据库中的驱动组件和应用程序组件并生成Windows XP Embedded操作系统映像。最后再把操作系统映像部署到嵌入式目标平台——GENE-8310中,并将其作为无线传感器网络Web服务器,验证Tinyos移植的结果。

2 嵌入式Tinyos移植开发流程

无线传感器网络由节点、服务器和远程PC终端组成。节点负责采集外部数据,完成后把数据通过网关转发到服务器,最后由远程PC实时监测数据。其中网关的作用重大,但是需要手动安装驱动。通过网关驱动组件的开发,便可把网关驱动集成在操作系统映像中,实现自动识别网关。同理,应用程序也可作成组件。具体的移植开发流程如下:

(1)开发网关驱动组件。该功能的实现相对比较简单,可以将设备驱动程序.INF文件直接导入到组件设计器工具中。组件设计器会根据INF文件自动配置相关文件,之后便可生成该驱动组件。

(2)开发相关的应用程序组件。这里利用第三方工具软件和Windows Embedded Studio工具套件来共同开发。首先利用InCtr15从安装程序中捕获信息,确定应用程序所需的文件和注册表设置。然后再根据DependencyWalker获得应用程序依赖项,即程序运行所必须的DLL的列表。最后再利用Windows Embedded Studio工具套件中的组件设计器生成该应用程序组件。

(3)定制Windows XP Embedded操作系统映像。确定Windows XP Embedded操作系统所要支持的功能组件,如要支持USB设备,则添加相关USB功能组件,要支持网络功能,则添加TCP/IP协议。通过可实现缩小嵌入式系统的体积,这就嵌入式系统的可裁减特性,便于实现特定场合的应用。

(4)生成和部署Windows XP Embedded操作系统映像。定制完系统功能之后,利用目标设计器添加功能组件,进行关联性检查之后生成Windows XP Embedded操作系统映像。该映像可以在目标设备上直接运行,并可以运行特定的应用程序。

(5)移植应用及功能测试。当应用程序移植完后,必须测试其能否在目标设备正常运行。运行应用程序,如果应用程序无法运行,则其会出现相应的提示信息,如文件无法找到等,根据提示添加缺少的文件和注册表项即可解决。因为Tinyos的主要应用是无线传感器网络,故将其应用于无线传感器网络的Web服务器。

无线传感器将采集温度数据,在网络运行正常、应用程序移植成功的情况下,远程主机能接收到温度数据,并能显示出来。

2.1 MIB520网关驱动组件开发

MIB520具备网关的基本功能,接口为USB。安装完MIB520驱动之后,其会在计算机上生成2个虚拟串口,一般是COM3和COM4。COM3一般是编程端口,COM4为通信端口。驱动程序里包括2个FTDIBUS.INF和FT-DIPORT.INF文件,他含有网关的信息或脚本和控制网关的操作。在INF文件中指明网关驱动该如何安装到系统中,源文件在哪里、安装到哪一个文件夹中、怎样在注册表中加入自身相关信息。设计主要分为6步:

(1)在组件设计器里分别导入网关驱动自带的FT-DIBUS.INF和FTDIPORT.INF文件;

(2)在驱动程序目录里找出Files列出的文件名称,把这些文件拷贝到自己命名的文件夹里;

(3)在Repositories文件夹下新建一个Repositories,重命名为FTDIBUS,在Source Path中,找到刚才拷贝Files下文件所在的文件夹,并添加;

(4)点击Component下USB Serial Converter组件,在右边找到“Repositoty”,点击Repositories按钮,选中新建的Repository为FTDIBUS;

(5)在Components上点右键,选择release,在GroupMemberships上,右键选择Add Group Membership,并选择一个组;

(6)在目标设计器中搜索可找到4个与网关相关的组件USB Serial Converter,USB Serial Port1,USB SerialPort2,USB Serial Port3

2.2 应用程序组件开发

移植TinyOS嵌入式系统需要开发MoteWorks 2.0,Cygwin和XServe三个部分的组件。在移植过程中需要先利用InCtrl5导出应用程序组件所需的文件清单和注册表信息。在获得相关文件后,应用程序组件的开发过程与驱动组件开发大体上相似。不同的是,他没有.INF文件,故Components文件夹下的Files,Registry Data下的文件和注册表项需要手动添加,并且要设置好在目标设备上的路径。

2.3 构造Windows XP Embedded操作系统映像

(1)目标平台分析。分析目标设备上GENE-8310的硬件,使用的硬件分析工具TAP.EXE来识别硬件。他会对的系统进行检测,并创建一个硬件定义文件devices.pmq。

(2)创建初始化配置。在目标设计器上创建一个配置(Configuration),并重命名为WSN SERVER0.six,导入devices.pmg。文件导入过程,即分析硬件,并从组件数据库中选取相应组件的过程。完成后软件自动添加所有的硬件支持组件。此时,系统共添加了66组件,FAT格式下大小为6 676 kB,NTFS格式下为4 806 kB。

(3)关联性检查。在目标设计器的菜单栏Tools的Options…中对关联性检查进行设置。将DependencyCheek中的Auto-resolve dependencies选项钩上。设置完后,关联性检查会自动添加关联的组件,如果要把握组件的内在联系,则Auto-resolve dependencies前的钩可以去掉,但是要根据提示逐一添加。此时,系统添加的组件已达423个,压缩后大小为120 MB。但是提示有4errors。这是由于一些功能组件未添加进去,如要支持的语言、登陆方式、文件系统等。双击提示,分别选择NT Loader,English Language Support,Windows Logon,FAT Format,NTFS Format。

(4)定制功能组件。根据传感器网络应用,要求支持USB设备、TCP/IP协议,则这二者必须添加。其余的功能组件也适当添加,组件添加完成后,所有的组件列表如图2所示。

(5)生成映像

向WSN SERVER0配置中添加上述必须的核心组件。再次进行关联性检查,完成无误后,展开WSNSERVER0.slx,选中Settings,这时右边的属性设置面板会显示可以设置的选项。以上设置完成后,组件达527个,压缩后大小为186 MB。最后,按下Build按钮,目标设计器会完成映像的构建,并输出到指定的文件下。

2.4 部署Windows XP Embedded操作系统映像

将GENE-8310的硬盘格式化,分区并激活主分区。然后将开发机上生成的映像(D盘目录中)拷贝到GENE-8310 C盘的根目录下。

将显示器、硬盘、光驱、鼠标、键盘连接至GENE-8310,从光盘启动进入DOS环境下,运行BOOTPREP.EXE(可以在开发机C:\Program Files\Windows Embed-ded\utilities中找到)。重启进入FBA(First Boot Agent)阶段,第一次启动Windows XP Embedded后系统会进行必要的设置,会花费比较长的时间。FBA之后,系统就可以正常运行,到此,完成了整个开发过程。

3 系统测试

在系统测试过程中,本文使用了采用克尔斯博科技公司的Micaz和配套的网关MIB520搭建的实际的无线传感器网络。调试无线传感器网络的主要工作在于验证移植的应用程序cygwin.bat调用的XServe能否正常工作。调试完cygwin.bat界面如图3所示。

在命令提示符后输入xserve—device=com4,即调用XServe。XServe调用结果显示如图4所示。

最后,在客户端MoteView显示的温度数据如图5所示:

Data标签下显示的是该传感器网络实时的温度数据,在temp一栏显示为29.65C。至此,无线传感器网络的调试工作已经完成,GENE-8310实现了作为无线传感器网络Web服务器的功能,证明Tinyos应用操作系统移植成功。

4 结 语

作为一项正在研究中的新兴技术,无线传感器网络从20世纪90年代开始逐步为人熟知,目前有多种通信标准正在制定中。TinyOS平台的设计和移植一直是无线传感器网络研究的重要技术之一。在GENE-8310嵌入式开发板上移植TinyOS系统是一个新的技术尝试。




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
什么是总线压限