模块化植入式(精选7篇)
模块化植入式 篇1
中文引用格式:田安琪,金天.嵌入式测姿系统软件的模块化[J].电子技术应用,2015,41(7):26-29.
英文引用格式:Tian Anqi,Jin Tian.The modularization of embedded attitude determination system software[J].Application of Electronic Technique,2015,41(7):26-29.
0 引言
随着全球定位系统的发展,姿态测量技术逐渐成为卫星导航应用领域研究的热点。姿态测量一般应用于卫星、航天器、载人机、无人机等高动态的载体上,这些载体要求姿态测量系统具有精度高、实时性强、安装方便等特点。嵌入式系统是一种完全嵌入到受控器件内部,为特定应用而设计的专用计算机系统,具有响应时间短、系统内核小、可扩充、可移植、实时和可靠性较强等优点。ARM处理器体积小,功耗低,成本低,性能高,执行效率高。目前,嵌入式测姿系统软件趋于成熟,但由于功能复杂,程序冗长,可操作性低。
近年来,利用全球导航卫星系统(Global Navigation Satellite System,GNSS)接收机载体进行姿态测量的技术已经逐步成熟,但随着接收机板卡种类、导航系统种类、姿态算法种类的增加,对嵌入式测姿软件的实时性、可用性以及可扩展性提出了更高的要求。2008年,荷兰代尔伏特理工大学实现了GPS单频单历元姿态解算系统[1]。2012年,该大学实现了多天线GNSS测姿系统[2]。2012年,澳大利亚科廷大学进行了多星座测姿试验[3]。2008年,北京理工大学设计了单基线测姿系统,并进行静态和动态试验[4,5,6]。2007年~2009年,上海交通大学完成姿态测量系统样机的研制[7,8,9]。2012年,中国卫星导航定位应用管理中心与54所联合研制了GPS卫星导航系统多频姿态测量系统[10]。
此外,国内外几大GNSS厂商均有相应的测姿产品。美国Trimble公司的BX982利用GPS/GLONASS/BD进行测姿,加拿大Novatel公司、比利时Septentrio公司利用GPS/GLONASS测姿。中国星网宇达研发BDS/GPS定向接收机,东方联星的TOAS100D利用双天线进行测向、PNS200-BGI利用BD/GPS/INS进行定位测姿。
综上所述,国内外针对姿态测量技术已经开展了较为深入的研究,相关姿态测量方法已经在姿态测量样机上开展了静态及动态实验验证,而本文将在之前的研究基础上重点进行嵌入式测姿软件模块化方法介绍并对其可用性进行实验验证。
1 软件模块化
由于程序需实现不同导航系统、不同接收机板卡、不同姿态解算算法的选择,且要求程序具有通用性及可扩展性,因此将其模块化。模块化即根据程序的流程和调用的顺序等将程序以功能为单位划分为一个个单元的形式,模块化后每一部分的功能划分很清晰,模块之间通过接口传递参数和变量,操作简单,可有效提高工作效率和程序的运行效率。
1.1 模块划分
测姿软件模块化后可设计为由1个主程序和7模块组成,主程序声明如何调用各个模块及界面显示;模块分别为:读数模块、解码模块、预处理模块、单点定位模块、RTK定位模块、模块测姿模块、结果处理模块。
1.2 模块功能
主程序的功能为调用各个模块并进行导航系统、接收机板卡、频点的选择以及界面的显示。读取二进制数据流模块可进行二进制文件数据以及二进制串口数据的读取,此模块需使用多线程模式处理多个终端的数据流。解码模块将二进制数据流进行解码,可兼容OEMStar、BDM605、BDM670等型号接收机板卡,且此模块可进行扩展。预处理模块进行各通道数据对齐及参考星的选择。单点定位模块可计算卫星位置以及利用最小二乘法实现单点定位。RTK模块利用实时载波相位差分技术得到载体的精确位置。姿态解算模块实现3种姿态解算算法,分别为GNSS单历元CLAMBDA算法、GNSS递推多历元姿态解算算法以及GNSS卡尔曼滤波算法,此模块可扩展其他算法。结果处理模块将定位定姿的结果进行整合处理,并返回至主程序。
1.3 模块接口
每个模块具有4个接口(Get Default、Init、Process、Un Init),分别完成接口信息查询、初始化、信号处理和退出功能。其中,Get Default函数将返回本模块功能、配置参数接口、配置参数默认数值和配置参数说明等内容;Init函数将完成全局变量指针的传递工作,Process函数具体实现模块信息的处理,Un Init函数实现退出功能。各模块间输入、输出接口如表1所述。
1.4 主程序
主程序读取配置文件,配置文件可对频点、基线长度等进行设置。读取配置文件后根据读取到的参数进行各模块的初始化,再分别进入每个模块的process函数,按照图1所示流程依次完成各部分功能,最后进行界面更新。
主程序对每个模块的功能函数循环调用,每次循环解出一个历元姿态、定位结果。
2 实验性能分析
2.1 RTK定位测试结果
为验证嵌入式测姿软件模块化后系统的RTK定位效果,现将基站架设于北京航空航天大学新主楼F座楼顶,流动站位于北航田径场看台北侧,流动站接收机选用支持的OEMStar L1单频板卡,天线选用NovAtel ANT-35C2GA-TW外置天线。解算结果如图2~图4所示。
为测试系统RTK定位性能,特统计解算的流动站位置坐标的均值与标准差结果,统计结果如表2所示。
由此可见,嵌入式测姿系统模块化后RTK定位结果可以达到毫米级。
2.2 测姿测试结果
为验证嵌入式测姿系统的测姿结果,在北京航空航天大学操场看台上,选用3个全频天线以及北斗星通公司GPSBD双系统接收机进行试验。基线长度均为1 m。使用3种定姿算法,分别为CLAMBDA算法、递推多历元算法、卡尔曼滤波算法,实验结果如图5所示。
3 结论及建议
本文探讨利用嵌入式软件模块化的方法,通过不同GNSS姿态测量算法,解决可操作性、可扩展性等问题,实现对GNSS测姿软件的模块化。实际数据验证表明嵌入式软件模块化后:(1)可移植性强;(2)扩展性强;(3)可用性高;(4)适合在一般载体上使用;(5)资源利用率高。
由于GNSS测姿算法复杂度较高,需进一步探讨其在嵌入式ARM平台上实现时遇到的问题。
参考文献
[1]BUIST P.The baseline constrained LAMBDA method for single epoch,single frequency attitude determination applications[C].Proceedings of the 20th International Technical Meeting of the Satellite Division of the Institute of Navigation.Fort Worth Convention Center,Fort Worth,TX ION GPS,2007:2962-2973.
[2]GIORGI G,TEUNISSEN P J G,VERHAGEN S,et al.Testing a new multivariate GNSS carrier phase attitude determination method for remote sensing platforms[J].Advances in Space Research,2010,46(2):118-129.
[3]NADARAJAH N,TEUNISSEN P J G,BUIST P J,et al.First results of instantaneous GPS/Galileo/COMPASS attitude determination[C].Proceedings of the 6th ESA Workshop on Satellite Navigation User Equipment Technologies(NAVITEC′12),Noordwijk,ESA,2012:22-29.
[4]王博.GPS姿态测量系统中的关键技术研究[D].北京:北京理工大学,2009.
[5]WANG B,MIAO L,WANG S,et al.An integer ambiguity resolution method for the global positioning system(GPS)-based land vehicle attitude determination[J].Meas.Sci.Technol.,2009(20):075108.
[6]WANG B,MIAO L,WANG S,et al.A constrained LAMBDA method for GPS attitude determination[J].GPS Solutions,2009,13(2):97-107.
[7]王永泉.长航时高动态条件下GPS/GLONASS姿态测量研究[D].上海:上海交通大学,2008.
[8]JIN W,ZHAI C,WANG L.Hybrid analytical resolution approach based on ambiguity function for attitude determination[J].Journal of Zhejiang University SCIENCE A,2009,10(7):1038-1048.
[9]靳文瑞.基于GNSS的多传感器融合实时姿态测量技术研究[D].上海:上海交通大学,2009.
[10]李献球,甘兴利,李隽.GPS卫星导航系统多频姿态测量技术研究[J].无线电工程,2012,42(4):27-29.
模块化植入式 篇2
1 嵌入式系统概述
1.1 嵌入式系统的概念
嵌入式系统是建立在计算机技术基础上的应用型专用计算机系统, 其软件和硬件都可以剪裁, 系统对成本、功耗、功能都提出了更高的要求, 具有可靠性强、体积小等优点, 可以实现对其他设备的监视、控制和管理。随着嵌入式系统的不断发展, 嵌入式系统已经渗透到人们的生活中, 无论是在工业、服务业还是消费电子等领域都得到了广泛的应用。
1.2 嵌入式系统的特点
与普通的计算机系统相比, 嵌入式系统的专用性更强, 一般是面向特定运用的, 嵌入式处理器一般应用在用户设计的特定系统中, 集成性高、体积小、功耗低, 不仅具有方便携带的优点, 操作系统更是实时操作的, 可以满足实时性较强的场合要求。将嵌入式系统运用到应用程序中, 在芯片上直接运行而不需要操作系统, 未来可以充分利用更多的系统资源, 用户需要选择RTOS开发平台, 保障软件的质量。嵌入式系统主要包括硬件系统和软件系统, 其中硬件系统是基础, 软件系统是灵魂, 复杂程度非常高。
2 系统软件设计
基于RF5软件系统总体设计:
嵌入式图像处理系统和传统处理系统一样, 主要包括硬件和软件两个方面, 硬件包括系统的硬件平台, 软件包括嵌入式操作系统和图像处理算法两个方面。其中硬件平台又包括图像储存模块、通信模块和显示模块等, 主要是为系统的软件系统提供支持。在图像处理过程中, 硬件系统可以为其提供计算、显示、存储等条件[1]。RF5是以DSP和XDAIS为基础的代码参考框架, 在DSP软件的设计和开发中具有重要的作用, 参考框架在整个程序中具有非常重要的作用, 是整个运用应用程序的蓝本。RF5的数据处理元素包括通道、单元、任务和XDAIS算法, 这4个元素之间具有紧密的联系, 独立又联系, 他们之间的关系如下图1。嵌入式操作系统是整个系统的核心系统, 提供了包括图形处理任务管理在内的各项管理, 经过硬件的初始化、图像信息存储、图像信息显示等过程实现图像处理和存储。
3 软件模块化程序实现
3.1 初始化模块
软件系统的初始化模块主要包括处理器、RF5模块化初始化、图像处理算法、视频捕获、视频显示通道等。处理器和系统板初始化是指设备重启之后, 通过软件配置的方式对外围设备进行配置和选择。系统在进行工作的时候, 初始化模块是其执行的第一个任务, 执行完初始化模块之后, 程序的控制权将会转变到调度程序中, 由调度程序来调度接下来的任务。
3.2 视频捕获和显示模块
3.2.1 视频捕获的实现
视频捕获主要负责将外部的视频解码器解码生成的数字视频信号采集收集起来, 并且这个采集的过程非常方便, 可以实现实时采集, 最终形成的图形处理也是可以实时处理的, 可以随时随地对大数据的图像进行处理, 这也是其最大的优点和特点。采集到的数字视频信号进入到系统外扩的存储器中, 从而实现视频的捕获。视频采集可以自动采集, 当单元进入自动采集状态, 完成了图像的采集之后, 视频端口都会向系统自动发出中断请求, 中断服务程序便开始发挥自身的功能, 对图像的存储区进行连续更新, 图像存储区一旦更新之后, 图像采集系统就会采集下一个图像数据, 最终进入一个循环。当视频端口的FIFO装满了采集的数据之后, 会发生中断信息, 进入EDMA ISR中断服务程序将视频数据送入到SDRAM中[2]。
3.2.2 视频显示的实现
视频显示的实现是通过视频图像显示模块来实现的, 视频图像处理模块处理后的图像经过显示模块处理, 处理之后将图像编码成数字视频流, 标准数字视频流经过系统编码转化为虚拟视频信号, 经过解码器之后视频流就变成了标准的模拟视频信号, 分别经过EDMA控制器和EDMA ISR之后最终进入到视频端口的缓冲区中, 经过缓冲器之后, 信号会使EDMA中断, 送入新的图像信号, 并在显示器上显示出来, 视频显示的流程如下图2。输出作用在外部编辑器中。
3.3 图像处理模块
图像处理模块比较灵活, 是指在嵌入式的环境下实现对图像的处理。在图像处理系统中, 又包括系统功能模块和图像增强模块。系统功能中包含图像增强功能, 除了图像功能之外, 还包括图像的几何变换、形态运输和图像分析。在图像增强模块中又包括图像的预处理和边缘检测、直方图修正、中值滤波、灰度变换调整, 而图像预处理又包括图像平滑和图像锐化。图像平滑就是消除噪声对图像造成的影响, 图像平滑的处理是通过高斯低通滤波法来实现, 这样做虽然可以消除图像受到噪声的影响, 但同时也存在着一定的弊端, 图像经过处理之后会变得模糊。图像锐化的目的就是让模糊的图像重新变得清晰。图像模糊是由于图像受到平均或积分运算而造成的, 图像锐化就是对其进行逆运算, 重新使图像变得清晰[3]。
4 结论
嵌入式图像处理系统的软件系统主要包括初始化模块、视频捕获模块、视频显示模块和图像处理模块, 在确定了整个软件系统的程序流程之后, 就可以分别设计纷纷模块的程序, 最终完成整个软件系统的设计。
参考文献
[1]吴锡强.探析嵌入式图像处理系统的设计与实现[J].计算机光盘与软件, 2015, 12 (3) :307-309.
[2]蒋立丰.嵌入式图像处理系统的设计与研究[D].东华大学, 2013, 22 (21) :11-13.
模块化植入式 篇3
关键词:STM32嵌入式处理器,实验平台,教学改革
0 引言
随着互联网+、智能制造2025、工业4.0[2]等概念的提出,我国嵌入式系统产业人才需求量一路高涨,嵌入式开发将成为未来几年最热门、最受欢迎的职业之一,为此,各高校都开设了嵌入式方向课程。学好嵌入式方向课程,不但要有扎实的理论基础,更需要一个适用的嵌入式开发实训平台。目前,市场上供应的嵌入式处理器实训平台主要是针对本科教学设计的,不适合高职高专培养技能型人才教学需求。构建低成本、技术先进、符合高职学生职业岗位需求的嵌入式实验教学系统,对嵌入式领域技能型人才培养具有重大的现实意义。
1 存在问题
目前嵌入式教学实训平台种类繁多,总体上分为3类:
(1)以8位嵌入式处理器为核心的开发平台。该类实验平台的难度属于入门级,如基于STC单片机开发的实验平台、基于AVR系列单片机开发的实验平台等。由于学习内容过于简单,对于嵌入式开发方向的学生,学习上没有提升空间,直接导致学习积极性不高。同时,这类嵌入式处理器也不符合嵌入式产品开发低成本、低功耗、高性能的设计要求。
(2)以STM32为核心的嵌入式实验平台。该类实验平台以STM32嵌入式处理器为核心,结合外围控制电路设计开发而成。这类实验平台没有采用模块化的设计方法,设计特点往往有两个极端。一类是“小而精”,只有一个核心板,外围的引脚全部只能飞线连接。如果没有外围接口实验板,这类实验平台根本没法使用。另一类是“大而全”,一个实验平台上,鼠标、键盘、TFT液晶屏、电机、红外接口等应有尽有,并且有的实验平台为了节省成本,采用端口复用的方式,这对于设计能力不强的学生不适合使用。
(3)以ARM9[3]为核心的嵌入式处理器实训平台。该类实验平台以ARM9芯片为控制核心,需要移植操作系统,比如Linux操作系统,在Linux操作系统下编写各类驱动。这类实验平台比较适合本科院校大四甚至研究生使用,而高职院校的学生对操作系统的理解以及对驱动程序的开发都较陌生,不适合高职院校使用。
综上所述,尽管高职院校中使用的嵌入式实验实训平台很多,但是从教学的难度、学生的水准、成本等多方面考虑,现有的实验平台显然不利于高职嵌入式方向的人才培养和课程教学,开发适合高职院校嵌入式产品开发类专业技能训练的实验、实训平台势在必行。
2 整体设计
为了更好地为嵌入式方向教学服务,模块化实验平台的整体设计应把握当前嵌入式产品应用趋势[4]。STM32嵌入式处理器由于控制功能强、可靠性高和体积小、价格低等特点,在智能仪器仪表、医疗电子行业、通信、工业控制、外设控制、家用电器、机器人、军事装置等领域有着非常广泛的应用[2]。用一片体积很小的STM32嵌入式处理器替代复杂而庞大的传统数字电路和模拟电路,已成为电子产品开发趋势。因此,模块化实验平台以STM32嵌入式处理器为控制核心来构建整个硬件设计。
根据高职院校嵌入式方向人才培养要求[5],结合软件工程的模块化思想,对实验平台进行硬件模块划分与设计。图1为实验平台的整体设计框架,具体设计思路如下:首先设计硬件电路的各个功能模块,然后编写软件模块化功能代码,最后实现整个实验平台的开发与调试。
嵌入式产品开发过程中,经常用到并行通信、串行通信以及各类总线技术[6]。因此,实验平台的设计主要以各类接口和通信模块为单元,各自独立与STM32嵌入式处理器进行通信[7]。各个模块在设计过程中,不但要在硬件PCB设计上考虑模块化的设计方式,使各模块相互独立、互不影响,并且在软件代码设计上,各模块控制代码要相互独立,既可以单独控制对应的模块,又可以将几个控制代码融为一体,实现一些复杂的控制功能。
3 设计与实现
3.1 硬件模块化实现
根据总体设计方案,硬件电路设计包括6个基本实验模块和3个提升实验模块。基本实验模块包括:基于STM32嵌入式处理器最小系统电路设计、电源电路设计、JTAG下载仿真电路设计、USART串行通信接口下载电路设计、按键接口电路设计、A/D及D/A电路设计;提升实验模块包括:WiFi模块接口电路设计、LCD显示屏接口电路设计、智能小车驱动电路接口设计。以上功能模块单独与STM32嵌入式处理器连接,没有端口复用以及模块之间相互连接问题。
以智能小车驱动电路设计为例,智能小车的驱动采用L298N[8]芯片,该芯片内含两个全桥式驱动器,可以同时驱动两个直流电机。通过4个I/O口与STM32嵌入式处理器相连接,采用TLP521光耦隔离器技术,防止电机运行对嵌入式处理器及其它功能模块产生电磁干扰。硬件模块的设计还需要完成硬件电路原理图绘制、电路板PCB图绘制、硬件电路元件的焊接、调试等。
3.2 软件模块化实现
硬件电路设计完后,需要编写软件测试程序,实现嵌入式产品开发“以芯为主,软硬结合”的设计思想。软件代码编写是否规范、设计流程是否合理,是决定嵌入式产品开发成败的关键[9]。因此,不但要设计一套实用性强的硬件开发平台,而且要编写一套规范的软件代码,提供一套规范的范例程序。
在软件代码编写过程中完全遵循模块化的设计思想。每一个控制模块的软件代码设计成相互独立的头文件,主要包括LED流水灯测试程序、蜂鸣器测试程序、按键测试程序、A/D转换测试程序、串口通信测试程序、DS18B20测试程序、显示屏测试程序、智能小车测试程序、WiFi模块测试程序等。这些测试程序相互独立,可以单独实现某个功能模块的单独控制,也可以相互融合实现一些复杂的功能控制。比如,将智能小车的控制程序和WiFi模块的控制程序相结合,可以实现智能小车的手机遥控等。
3.3 教学应用
嵌入式产品一般以CPU处理器为核心,结合外围硬件电路,在软件程序的控制下实现智能化的功能或算法[9]。因此,嵌入式方向课程教学,一定要严格把握软硬件相结合的教学思路。在理论教学中,要讲解实训平台每个模块的硬件结构设计思路以及软件代码编写方法。在实训过程中,让学生应用硬件画图工具,比如Protel软件,绘制出对应模块电路图,并且调试出对应的程序代码,最终在实训平台上显示。教师在这个过程中,只起到积极引导的作用,更多的时间是让学生自己动手,这样,不但能提高学生的学习积极性,而且能够提高嵌入式应用能力。
4 结语
根据当前嵌入式方向教学实验平台的不足,设计了一款适合高职院校嵌入式方向的实验开发平台。基于STM32嵌入式处理器的模块化实验平台已应用于笔者学校2013级软件技术专业嵌入式方向课程教学,取得了较好的教学效果:学生的应用开发能力和岗位适应能力均有一定的提升,嵌入式方向的学生获得2014年“挑战杯”电子设计大赛全国二等奖。嵌入式实验平台的开发和嵌入式方向的教学改革任重道远,必须继续探索,不断改革创新,为提高嵌入式方向教学效果而努力。
参考文献
[1]卢有亮.基于STM32的嵌入式系统原理与设计[M].北京:机械工业出版社,2013.
[2]王彦华.“工学结合”模式下高职院校单片机课程的教改[J].装备制造技术,2009(12):158-159.
[3]丰海.嵌入式Linux系统应用及项目实践[M].北京:机械工业出版社,2012.
[4]冼进.嵌入式系统实验课的教学改革初探[J].计算机技术与应用,2011(8):282-284.
[5]潘登.面向卓越人才培养的嵌入式系统教学改革[J].计算机教育,2013(13):1-5.
[6]宋焱翼.嵌入式系统实验教学改革与实验教学装置开发[J].实验室研究与探索,2011(7):239-241.
[7]霍华.嵌入式技术课程教学方法改革[J].计算机教育,2012(6):48-50.
[8]张晓东.高校嵌入式系统课程教学改革探索[J].中国电力教育,2013(8):35-38.
嵌入式系统可信平台模块探究 篇4
一、嵌入式系统的发展对可信平台模块提出的新挑战
嵌入式系统具有一些特点, 这个系统有特定的应用场景, 硬件设计较为自由, 自主设计性强, 系统软件硬件设计都很灵活, 具有可裁剪性, 嵌入系统对TPM的功能、可靠性、成本、体积、功能等都有严格的要求。而目前, 传统的TPM还存在一些不足核问题, 比如, TPM的芯片缺乏主动控制能力, 而嵌入式系统的灵活性很强, 与之相比, TPM的主控能力却相对不足, 这就与嵌入式系统之间产生较大的矛盾, 对嵌入式系统的TPM提出了新的挑战。另外, TPM密码机制存在不足。
二、嵌入式系统可信平台模块设计
结合嵌入式系统的特点, 需要设计一种能够满足其需要的可信平台模块, 这种模块需要在传统TPM的基础上, 进行创新改进, 增加新的功能, 这对于TPM研究是一种新的挑战。通过可信平台模块的设计需要提升嵌入式系统的可靠性, 有效减低信息传递过程中的损失。新型的模块具体有总线仲裁模块、对密码引擎和备份恢复魔抗, 通过建立可信平台模块提升传统TPM的控制能力, 保障整个嵌入式系统的稳定新, 安全性和可靠性。
1. 总线仲裁模块。在可信计算平台中, 引入TPM后会产生两个问题, 第一, 启动流程问题, 在上电后, TPM需要先进行完整性的检验, 这是, 平台处理器和外设不能通电启动, 只有在TPM检验完毕后, 才能使平台处理器和外设开启, 第二, TPM与平台处理器对需要对外部存储器上的数据进行读取, 这种情况下, 必然会产生对存储器的互斥访问问题。主要解决以上的两个问题。通过总线总线仲裁模块对外部存储器总线控制权进行仲裁后, 对整个嵌入系统进行控制, 通过启动控制和系统仲裁功能, 以解决上述问题。
在进行设计的过程中, 为了保障TPM能够完成工作, 还需要增加两个寄存器, 也就是控制寄存器和状态寄存器。通过设置两个寄存器对信号进行复位, 并保障信号传播的有效性。
总线总裁模块引入到嵌入式系统可信平台模块建设中, 可以使传统的TPM突破自身的限制, 成为主设备控制计算机系统, 对计算机系统进行有效地控制, 使系统更具良好的扩展性能。同时, 新设计的ETPM能够进行平台启动控制, 进行系统完整性度量, 系统总线互斥访问和外设控制等功能都能实现, 这样, 不需要添加其他配件, 系统的安全可靠性能就可以得到有效的提升。这种设计使TPM更加符合嵌入式系统灵活多变的性能特点, 能够有效解决嵌入式系统中的一些问题, 提高系统的可信度。
2. 备份恢复模块。在TPM中加入备份恢复模块, 可以有效提高整个可信计算机平台的可靠性, 如果系统被非法更改, 备份恢复在发现异常时就会将系统关键数据进行恢复, 有效保障系统的稳定性和可靠性。加入备份恢复可以提高嵌入式系统平台的持续工作能力和抗击数据信息的篡改能力, 保障系统的高效性和安全性。
3. 对称密码引擎模块。在TPM内部设计一个对称密码引擎可以满足嵌入式系统对对称加解密的需求, 通过可信软件栈能够为上层应用提供对称密码加解密服务。加入对称密码引擎后, TPM就具有了对称密码和非对称密码加解密的功能, 从而有效发挥出系统的安全性能, 为用户提供安全的可靠的服务。
总之, 总线仲裁模块、对称密码引擎模块和系统备份恢复模块的设计都将有效提升TPM的稳定性, 使TPM更加符合嵌入式系统的工作环境, 通过可信平台模块在嵌入式系统环境下的功能设计, 嵌入式系统的功能价值将得到进一步提升, 嵌入式系统安全性将得到有效的保障。
参考文献
[1]张焕国, 李晶, 潘丹铃, 赵波.嵌入式系统可信平台模块研究[J].计算机研究与发展, 2011 (07) .
凌华科技ETX嵌入式模块计算机 篇5
凌华科技推出嵌入式模块计算机系列最新成员ETX-CV, 搭载支持32nm制程技术的IntelRAtomTM双核处理器与NM10高速芯片组, 其功耗远低于上一代ETX规格模块计算机, 并可以取代以往较低端与老旧的产品。ETX-CV的推出代表着凌华科技履行了其对ETX客户群持续开发产品的承诺。
ETX-CV定位为入门级ETX嵌入式模块计算机, 可进行VGA显示器输出最高可达WUXGA 1920 x1200分辨率, 并且支持单/双信道18/24位LVDS、及Display Port图像输出接口, 不论是针对一般系统或是着重图像功能的系统, 都能完全满足客户需求。其应用领域包括:医疗诊断与显影设备、游戏机台、工业自动化与量测设备、销售点管理系统 (POS) 、工业控制设备等。
ETX-CV采用与IntelRCore TM2 Duo相同架构的双核心IntelRAtom TMN2000及D2000系列处理器, 体积更小, 并且支持IntelR超线程技术 (IntelRHyper-Threading Technology) , 提供多任务运算能力。由于具备优异的散热设计与高性能处理器的特性, ETX-CV可提供相对于其他低功耗模块更好的性能表现。
ETX-CV符合ETXR最新版本3.02规格, 备有两个Serial ATA (SATA) 端口, 也与之前的ETXR版本兼容, 因此客户使用此模块在已有的ETXR载板时, 不需要经过任何修正, 即可支持SATA储存功能。ETX-CV具备在单个SODIMM插槽上支持最多4 GB的DDR3内存、IntelR10/100BASE-T以太网络端口、两个IDE PATA通道、一个双端口SATA控制器、四个USB 2.0接口、两个串行端口、一个与FDD共享的并列接口 (SPP/ECP/EPP) 、一个PS/2端口与HD Audio。ETX-CV通过高速PCITM/ISA bridge完全支持PCI?与ISA接口, 同时也配有AMI Aptio BIOS, 可支持嵌入式功能包括远程维护、CMOS备份、CPU与系统监控, 及Watchdog控制器等。
模块化植入式 篇6
关键词:嵌入式系统,实时控制,通信测试仪器
随着现代通信技术的发展,通信测试仪器不断推陈出新。各种新型设备对系统的实时响应能力的要求越来越高,一种通信测试仪器的实时响应性能,就成为系统设计能否成功的关键因素之一。笔者曾在多个通信测试仪器项目中,成功地应用ARM处理器、C51单片机等为主控芯片的嵌入式系统,实现了对仪器相关模块的实时控制功能。因此提出一种在某通信测试仪器中使用C51单片机来实现实时控制的设计方案。
1 硬件设计与实现
1.1 总体方案设计
在该通信测试仪器中,实时控制模块主要实现对射频接收频综、射频发生频综、滤波器组件、射频输入模块、射频输出模块等实时控制作用。对射频检波信号进行A/D转换以获取数据。与上位计算机进行通信等功能[1]。
根据待实现的系统功能要求,综合考虑系统资源,及芯片性价比等因素,确定采用以C51单片机为主控芯片的嵌入式系统方案,芯片为Silicon Labs的C8051F120[2],具有128 kB片内Flash存储器、8×1 024+256 Byte的片内RAM,可寻址64 kB地址空间的外部数据存储器接口、SPI、UART、定时器、时钟振荡器、PLL等,片上外设资源丰富、控制方便。
系统资源分配:射频接收、发射频综模块,内含DDS,PLL等,外部控制接口是微控制接口,因此直接用单片机的地址、数据、控制三总线实施控制。滤波组件、射频输入/输出模块等的工作状态与接口上信号电平高低有关,因此用GPIO的方式进行控制。A/D转换控制使用串行外围设备接口SPI。与上位机的通信使用RS-232串口[3]。总体设计框图如图1所示。
1.2 总线及I/O控制的设计
对于射频接收频综、射频发射频综模块,直接采用总线控制,为避免不同的模块控制时相互干扰,用3-8译码器对总线地址译码,产生不同模块的片选信号。同时数据线通过总线收发器以提高带负载能力[4]。对于滤波组件、射频输入/输出等用I/O控制的模块,并未直接使用51芯片的GPIO引脚,则是将数据总线经锁存后模拟GPIO信号供相关模块使用,如图2所示,其中,IO_/WR1由B_/CS7与单片机写线逻辑或后产生[5]。
1.3 SPI及RS232控制接口
C8051F120芯片上本身自带了A/D转换器,但只有12位,不适合该系统的需求,故在片外另加一片ADI公司的AD7707。其分辨率为16位,是∑-Δ体系结构,转换的是输入电平的平均值。三通道,输入电平范围可达±10 mV~±10 V。根据实际要求,该系统使用AIN3高电平输入端口,Unbuffered模式,HICOM、REF-接模拟地,VBIAS与REF+均接+2.5 V参考电压,模拟电源5 V,数字电源3.3 V,能检测输入范围为0~10 V的单极性电平。其控制接口是同步串行口,用51芯片的SPI直接控制。图3是AD7707的电气连接图[6]。
单片机与上位计算机的通信使用通用异步收发器UART,外接MAX3224,将UART信号转换为RS-232信号进行传输,MAX3224在3~5.5 V低电压下工作,却可产生RS-232的±12 V电压,只需连接Tx、Rx和地线即可实现异步串行通信。系统中仍有一些时钟、复位电路和电源等,在此不再赘述。
2 软件设计与实现
2.1 主程序框架
主程序流程图如图4所示。
主程序是顺序结构,较为简单。主要分两部分:一是对系统各部分进行初始化设置,使其能够工作在正常状态。二是正常工作循环状态,当收到上位机的控制命令时,即进行相应的操作,无命令时则等待。对于嵌入式程序而言,无限循环是必要的。
2.2 串口通信程序
串口通信程序实现与上位机的通信功能。具体操作中使用一个循环队列存放接收到的上位机命令,分别用头指针和尾指针指向队头和队尾,将各命令字节取出,进行相应操作。命令执行完毕(队列取空),清标志位,等待新命令。如图5所示。
2.3 SPI通信程序
C51采用SPI主模式与AD7707进行通信。主模式写AD7707较为简单,单片机先写1 Byte的配置数据给AD7707,其会自动将该数据放入自身的通信寄存器,随后AD7707根据该配置值确定下一步要写的寄存器及数据大小,再将单片机随后输入的数据放入指定位置。C8051F120发数据前,先根据SPICN寄存器的TXBMT位的值判断是否能够发送数据,再向自身的SPIDAT寄存器写数据即可,硬件会自动将数据发出。
主模式读AD7707较为困难。当C51已设置AD7707的通信寄存器,表明下一步操作是读AD7707的某个寄存器值后,C51向SPIDAT写任意值,之后SPI数据线(MOSI)上会串行移出数据,同时时钟线上产生串行时钟,从设备(AD7707)收到时钟,将预备的数据送到MISO线上交给C51,同时不采纳主设备发送的任意值。C51将发送的串行数据放在移位寄存器中,当最后一位收到后即移入收缓冲器,再读SPIDAT便可读出数据。
2.4 其他软件模块
其他软件模块均是根据各部分硬件的具体要求,通过向所分配的对应地址空间按序发送所需数据来实现相关功能。
3 结束语
文中提出以C51单片机C8051F120为核心控制芯片的嵌入式系统,已成功应用于某通信测试仪器中,该系统通过中断及查询等方式较好地实现了对整机的实时控制功能。
参考文献
[1]JOHN C.嵌入式硬件设计[M].北京:中国电力出版社,2004.
[2]潘琢金.C8051f12x数据手册[M].深圳:新华龙电子有限公司,2004.
[3]肖利平.基于LWIP的嵌入式串口服务器的设计与实现[J].电子科技,2009,22(5):14-16.
[4]魏毅,柯赓.基于SOPC的商品信息查询系统设计与实现[J].西安邮电学院学报,2005(3):87-91.
[5]王巍,吴智铭.嵌入式Linux中的仿真集成开发环境设计[J].计算机仿真,2005(9):248-250,260.
模块化植入式 篇7
导航功能模块的设计需要考虑以下几个问题:如何快速获取电子地图数据,如何及时使电子地图更新数据,对于这些问题的不同对策,使得导航系统的设计也不尽相同。在有限的处理器速度下,如何提高导航效率,节约内存空间是模块设计的关键。本文所研究的导航功能模块采用了多线程技术方案。
(一)导航多线程技术原理
嵌入式软件开发中使用多线程技术主要是为了线程(Thread)间方便的通信机制。对不同进程(Process)来说,它们具有独立的数据空间,要进行数据的传递只能通过通信的方式进行,这种方式不仅费时,而且很不方便。线程则不然,由于同一进程下的线程之间共享数据空间,所以一个线程的数据可以直接为其它线程所用,这不仅快捷,而且方便。
由于嵌入式导航系统的微处理器能力有限,导航定位过程中遇到的任务比较多,数据量大,实时性高。如果采取传统的顺序执行各模块的控制方式,将会严重影响系统的响应速度,因而在具体的软件实现过程中采用多线程技术,将一些功能模块 (导航定位、路径规划和地图数据库查询) 用线程在后台异步运行,可更好地利用系统资源,提高运行效率。原理框图如图1所示。
(二)导航多线程技术实现
在本课题中根据需要创建了定位导航、路径规划及地图数据库查询等线程。
如图1所示主控线程主要实现界面功能、导航功能中的地图匹配和导航引导模块、浏览功能中的地图浏览模块以及这些模块间的消息派送、接收和处理,同时协调各个工作线程异步运行。
导航定位线程主要完成接收经纬度数据的功能,在导航过程中运行线程,线程处理函数把接收到的经纬度数据实时通过消息发到主线程,由主线程调用地图匹配模块处理。
路径规划线程主要完成在道路网中求解最佳路径的任务,在用户要求提供最佳路径时根据用户的出发地和目的地求出一条最佳路径。在最佳路径求解算法中采用Dijkstra算法。
地图数据库查询线程主要完成对导航地图数据库的查询功能,根据用户要求生成线程,完成相关地理信息查询。
结合多任务多线程同时进行,导航的主控线程控制实现流程如下:1.运行导航定位线程,从通信端口读取定位硬件接收到的当前位置的经纬度坐标值;2.将经纬度坐标转换到屏幕的像素坐标;3.根据当前位置结合导航地图进行匹配处理,把当前位置信息匹配到地图上;4.显示并实时刷新导航地图和当前位置;5.是否求解最佳路径。若是运行Dijkstra算法,否则重复执行4;6.在导航数据库中选择起始和终止位置,运行路径规划线程在地图数据库中解算出最佳路径,并显示到地图上。
本系统导航模块在Windows Mobile5.0平台上运行,并用EVC++4.0开发。在EVC++中,MFC应用程序线程由CWinThread对象表示。EVC++把线程分为两种:用户界面线程和工作者线程。用户界面线程能够提供界面和用户交互,通常用于处理用户输入并处理相应各种事件和消息,而工作者线程主要用来处理程序的后台任务。程序一般不需要直接创建CWinThread对象,通过调用AfxBeginThread () 函数就会自动创建一个CWinThread对象,从而开始一个进程。
系统中主线程通过主控线程中的CThreadAbstract线程类来实现对工作线程的管理。它是一个示范的线程类,通过事件对象来控制线程的开始和结束。
工作线程CThreadAbstract用MFC的CWinThread类实现线程对象成员m_Thread,成员m_hShutdownEvent为线程终止事件,用来终止线程。
Start () 是线程开始函数,它调用AfxBeginThread函数开启以ThreadProc () 为线程处理函数的线程。
Start () 函数代码如下:
线程处理函数接收到线程终止事件激发后,就结束线程。
线程的终止取决于下列事件之一,也就是说下列事件任一个发生都会调用线程结束函数Close () :
(1)主线程函数返回;
(2)主线程及后台进程调用ExitThread () 退出;
(3)异常情况下用线程的句柄调用TerminateThread () 退出;
(4)线程所属的进程被终止;Close函数代码如下:
(三)开发平台实现
嵌入式系统导航模块的基本功能是在移动的环境中为用户提供基于位置的导航服务功能。其主要需求有:1.为用户提供其所需要的服务城市基本信息;2.用户对自己所在区域的地图的浏览,包括对地图的放大、缩小和平移等操作;3.为用户提供实时位置信息并匹配到地图上;4.用户分别输入起始地点与目的地点为其规划一条最佳路径;5.用户查询相关的服务单位、公共交通等信息。
嵌入式开发调试所需环境,除了调试运行的嵌入式操作系统外,还需要与嵌入式操作系统进行通信的工具。将所有上述各种开发调试用的软件与硬件(模拟器)的合集称为嵌入式开发系统。本文在安装有Microsoft Embedded Visual Tools 4.0和Microsoft Pocket PC 2003 SDK的PC机上调试运行。由于系统在调试环境下的仿真器运行,便于系统程序和仿真器之间通信还要安装Microsoft ActiveSync和EmuASConfig, 其中后者是用于前者和仿真器通讯的连接软件,导航模拟如图2所示。
(四)小结
本文提出了在嵌入式导航系统开发中使用多线程技术的设计方案。试验结果表明,该方案能够很好的满足设计的要求,从运行时刻CPU使用记录也可以分析出占用处理器和内存资源十分有限。而且该系统可以根据用户不同的需要,扩展一些外围设备,如GPRS模块,使其功能更加的智能化和多功能化。
参考文献
[1]桑楠.嵌入式系统原理及应用开发技术[M].北京航空航天大学出版社, 2002.
[2]魏忠, 等.嵌入式开发详解[M].电子工业出版社, 2003.
[3]周炎涛.Windows中的多线程编程技术和实现[J].计算机技术与自动化, 2002 (3) .
【模块化植入式】推荐阅读:
嵌入式模块06-07
基于模块化设计的嵌入式软件测试方法07-17
嵌入式计算机系统模块06-28
模块化05-08
模块化教学07-06
模块化改革07-17
本体模块化10-13
模块化设计05-26
模块化组合06-10
模块化思想06-20