硬件功能模块

2024-05-21

硬件功能模块(精选8篇)

硬件功能模块 篇1

固件是与硬件紧密联系的软件, 通常工作在特权模式[1], 在以微处理器为核心的电子设备中, 为上层软件有效地使用硬件设备提供调用接口, 是电子系统中的重要组成部分。计算机系统中, BIOS和扩展ROM中的程序、以ARM为核心的嵌入式应用系统的启动代码Boot Loader、单片应用系统中的内嵌控制程序以及PCI控制器扩展ROM中的代码等都是典型的固件[2]。

本文选取目前使用最广泛的启动固件, 即U-Boot, 作为分析对象, 利用状态机抽取U-Boot工作行为, 进行形式化描述, 设计出一种异常行为判定方法。并且将此方法应用于S3C2440, 针对二进制文件, 分析出正常范围之外的操作, 证明了分析方法的有效性。

1 固件恶意行为判定性质

性质1不确定性质。通过分析代码的外部特征或执行功能的方法不能够确定一个程序是否具有恶意行为。

利用恶意程序的代码特征和所采用的特殊技术来定义恶意行为是不严谨的, 并不能反映恶意行为的本质特征。为了克服这种定义的不足, 文献[3]给出了基于程序规范的恶意代码定义, 即判断一个程序是否有恶意行为的依据是程序的行为是否在程序规范允许的范围内。但是这样的定义有两个严重的不足:

(1) 扩大了恶意行为的范围, 程序中有可能存在超出程序规范但对系统或用户没有恶意影响的功能, 这样的功能既不能造成任何性能上的影响也不会带来任何安全上的问题, 不能称为恶意行为。

(2) 不能包含大部分的恶意行为, 合法功能的特殊组合可以产生恶意的操作, 如数据库访问非一致性漏洞就属于此类情况。还有一些定义将一些典型的行为作为判断程序恶意性的标准, 如冒充用户身份、通过共享区域来穿越保护区域边界、窜改文件、改变统计特性等。因此, 很难从程序功能本身来判断恶意行为的存在, 即恶意行为具有不可判定性质。

性质2不可判定性质。不存在一个独立算法能够准确地检测恶意行为的存在。

有关不可判定性质的详细说明参见文献[4]。由于检测恶意行为存在的独立算法不存在, 研究人员开始从恶意行为本身之外来寻求恶意行为的准确定义, 引入了用户意愿的思想[5]。

结合上述两条性质, 本文提出以标准U-Boot设计规范为模板, 抽取执行状态点, 建立设计意愿模型[6]。将待检测固件与U-Boot进行比对, 当时序及内容不相符时, 可判定为异常行为[7]。结合反汇编以及静态分析, 进一步得出是否为恶意行为的判定。

2 U-Boot形式化建模

2.1 U-Boot流程分析

嵌入式linux系统从软件的角度可以分为以下4个层次:

(1) 引导加载程序, 针对大多数嵌入式系统而言, Boot Loader是上电后执行的第一个程序。

(2) Linux内核。特定于嵌入式具体版型的定制内核以及内核启动参数。

(3) 文件系统。包含了Linux运行所必须的应用程序、库等。

(4) 用户程序。用户的应用程序也存储在文件系统中。

显然, 在嵌入式系统的固态存储设备NAND FLASH上有相应的分区来存储它们, 如下图1所示为一个典型的分区结构。

Boot Loader的启动过程可以分为单阶段和多阶段两种。本文选取使用最广的U-Boot作为研究对象。U-Boot作为通用Boot Loader, 采用两阶段启动, 第一阶段的文件为start.S和lowlevel_init.S, 前者与平台相关, 后者与开发板相关。

(1) U-Boot第一阶段代码分析。1) 硬件设备初始化。设置CPU工作模式为管理模式SVC, 关闭Watch Dog, 设置时钟, 关闭MMU、Cache等。2) 为加载Boot Loader第二阶段准备RAM空间。设置存储控制器, 使得外接的SDRAM可用。3) 复制Boot Loader的第二阶段代码到RAM空间中, 设置栈, 跳转至第二阶段的代码的C入口点。

(2) U-Boot第二阶段代码分析。第二阶段要初始化该阶段使用到的硬件设备, 检测系统内存映射, 加载内核映像和文件系统映像, 为内核设置启动参数, 具体流程如图2所示。

2.2 U-Boot行为的形式化描述

硬件资源在计算机系统中表现为IO空间和存储空间。代码对硬件资源的使用是通过读写IO空间和存储空间来完成的。ARM嵌入式硬件系统中将IO空间和存储空间进行了统一编址, 统称为地址空间。

定义一:固件执行状态机。

利用有限状态机可以准确地描述一个固件程序的行为, 将基于硬件访问的固件行为建模为一个五元有限状态机R (28) (Q, M, D, , q) , 其中Q表示地址空间的状态, M表示对应执行平台的硬件模块库, D表示用户对于Boot Loader的设计意愿, 是状态迁移函数, 表示指令的语义, q表示对寄存器赋值, 当q0Q表示处理器重置时的地址空间的初始值。一段汇编指令I的运行可以表示为Q'*I (q) 。固件程序执行完成各项初始化, 可以表示为对地址空间状态的改变。

定义二:固件行为。

固件行为action是固件程序中访问硬件资源的操作, 可以用四元状态进行表示为:action (28) (interruption, module, I (q) , QS) , 其中interruption表示在固件代码执行过程中发生的中断;moduleM, 为相应访问控制的硬件子模块;I (q) 表示指令执行时对寄存器值的修改;SQQ, 表示地址子空间的状态。

定义三:固件设计意愿。

固件设计意愿D是指用户对Boot Loader进行移植生成相应固件的过程。可以表示为用户允许以规定执行顺序 (sequence) , 模式 (mode (28) {read, write, execute}) 完成对指定硬件模块 (moduleM) 访问控制, 从而使得子模块状态 (SQ) 改变。这一过程可以表示为4元组D (28) (sequence, modu le, mod e, QS) 。

定义四:固件异常行为判决。

固件异常行为是固件行为中超出设计意愿的部分[8], 即判定action (28) (interruption, module, I (q) , QS) 为异常行为, 当且仅当判决规则W (28) compare (mod ule*I (q) , D) 为假时。

3 基于关键地址匹配的固件安全分析技术

关键地址指的是硬件子模块涉及特殊寄存器的物理地址, 在固件运行时对底层硬件的访问通常都是直接使用此物理地址。对物理地址的匹配, 可以定位对硬件的具体控制行为。对于异常行为的判断, 可以将判定检测分为三个部分:一是硬件模块库的建立与划分;二是设计意愿的建模;三是异常行为分析模型。

3.1 硬件模块库的建立与划分

对于硬件地址空间Maddr, 明显有MaddrQaddr, 将硬件模块库M划分为不同的子集module, 需要满足:

即不同子模块间不存在交集

本文选用硬件平台为s3c2440, 将汇编指令可进行硬件访问控制的所有寄存器划分为19个子模块, 依据对系统运行影响将子模块划分为四个等级, 如下表1所示。

3.2 设计意愿建模

将U-Boot执行流程拆分为如图3表示的分支状态模型, 其中S1~S6, 表示主要的顺序执行流程, Z1回路表示简单的分支执行过程, 而Z2~Z5则表示相对复杂的分支执行过程。所有状态点均表示着U-Boot通过不同的action, 对某个modulei进行了访问控制, 并使得SQ发生相应的改变, 这一状态可用iD进行表示。

3.3 异常行为分析模型

将未知的待检测的U-Boot二进制文件进行结构分析和反汇编, 可以得到程序执行流图。对执行流图静态分析, 并拆解抽取成分支模块集di。将其与用户设计意愿的分支模块集Di进行时序和状态的对比, 输出异常结果集。对异常处, 结合反汇编结果, 采用静态分析方法, 分析异常处是否为恶意行为。具体模型如下图4所示。

4 实验分析

本文将拥有完整代码的s3c2410 U-Boot作为检测模板, 将二进制S3C2440的U-Boot作为检测目标, U-Boot版本为1.1.6。通过两者的对比分析验证本文方法能否对硬件模块进行识别。由于U-Boot涉及模块很多, 本文选取了时钟和电源管理模块的比对结果, 简要地进行说明分析。S3C2410/2440时钟和电源管理模块涉及的特殊寄存器展示如下表2。

时钟初始化模块的流程顺序为:1、设置C L K T i m e, 涉及LOCKTIME;2、设置分频系数, 涉及CLKDIVN;3、当FCLKHCLK, 需设置异步模式, 涉及对CPSR的MRC和MCR操作;4、设置FCLK;5、时钟初始化采用中断跳转方式, 所以模块最后是BL返回指令。

根据S3C2410源代码, 可以得到对时钟模块赋值的主要C代码, 如下所示:

ARM920T架构通常采用32位指令模式, 对于地址的读取访问有MOV+立即数/寄存器、LDR+立即数两种。对于MOV指令, 只需将MOV指令的低12位, 即立即数位段, 进行循环移位, 就可以得到对应的立即数。搜索匹配硬件子模块地址范围, 就可以得知是否存在对该子模块的访问。对于LDR, 由于采用相对跳转, 必须先使用字符串匹配方法, 先匹配地址范围, 再匹配调用地址。

使用自主设计的二进制分析软件ELF-Tools, 对模块调用涉及的特殊寄存器物理地址进行匹配。其中LOCKTIME由于采用默认值, 两者均没有访问;针对CLKDIVN匹配结果如下图5所示。

根据匹配结果, 反汇编二进制文件物理偏移ox8088处 (内存地址为0x31000088) 二进制代码如下所示:左边为S3C2410结果, 右边为S3C2440结果。另外0x8830处和0x88CC处为获取当前HCLK和PCLK的函数执行代码。

不同处为第2、8、11行。查看ARM920T的DATASHEET, 得知S3C2410将FCLK设为200MHz, 分频比FCLK:HCLK:PCLK=1:2:4, 而S3C2440将FCLK设为400MHz, 分频比FCLK:HCLK:PCLK=1:4:8。同时两者对UCLK的赋值均为48MHz, 从而支持USB控制器。但是S3C2410赋值为0x28012, S3C2440赋值为0x38042, 这是因为两者的时钟计算公式不同。

上述为以S3C2410固件为模板, 对S3C2440二进制的固件文件进行检测, 实验证明可以检测出对硬件子模块的访问控制, 结合反汇编结果, 也可以得知未知固件对子模块的具体操作。

本文也进行了恶意行为判定实验, 将从网络上下载的实现ARP攻击的U-BOOT作为检测对象。检测情况如下图6所示。

标准U-BOOT在完成网卡初始化后, 如果需要对网卡实现通讯, 必须通过bootcmd指令进行操作。将恶意U-Boot导入分析工具, 发现恶意固件在初始化网卡之后, 依旧存在对网卡的访问。反汇编之后, 发现恶意U-Boot进入了死循环, 不断发送ARP请求, 阻塞了正常网络连接。

5 结语

由于固件程序的硬件相关性, 代码执行的阶段性和高内聚性使得传统的程序恶意行为定义不能涵盖固件恶意行为, 本文在分析固件程序恶意行为判定性质的基础上, 结合ARM结构特点, 提出了一种新的基于硬件访问控制的异常行为检测方法。在传统恶意行为的定义基础上, 充分考虑了固件的特殊性, 以异常行为为入口, 静态分析判定是否是恶意行为。实验结果表明, 本文提出的方法确实有效可行。

摘要:固件作为一种固化在芯片内部, 不可随意更改的特殊软件, 与底层硬件紧密相连。同一般软件一样, 固件同样存在漏洞、木马、后门等各种恶意行为。但是针对固件中可能存在的恶意行为, 传统的程序恶意行为描述方法并不适用。以ARM为研究对象, 结合ARM指令体系的结构和特点, 本文提出基于底层硬件模块访问检测的异常行为判定方法, 并以U-Boot为实例, 对该方法进行了实验验证。

关键词:固件安全,ARM,U-Boot,异常行为判定方法

参考文献

[1]Scott Borg.Securing the Supply Chain for Electronic Equipment:A Srategy and Framework[R].Internet Security Alliance report, 2009.

[2]NECULAGC.Proof-carrying code[C]//Proc of the 24th ACM SIG PLAN SIGAC T Symposium on Principles of Programming Languages.Paris France:1997:106-119.

[3]BISHOPM.Computer security art and science[M].Singapore:Pearson Education, 2005:435-436.

[4]何鸿君, 罗莉, 董黎明, 等.广义病毒的形式定义及识别算法[J].计算机学报, 2010, 33 (3) :562-568.

[5]COHENF.Computation aspects of computer viruses[J].Computer sand Security, 1989, 8 (4) :325-344.

[6]陆炜, 曾庆凯.一种基于控制流的程序行为扩展模型[J].软件学报, 2007, 18 (11) .

[7]蒋剑琴, 罗宏.曾庆凯.程序缺陷分析与安全保护技术研究[M].计算机应用与软件, 2007, 24 (1) :19-23.

[8]刘智, 张小松.恶意代码检测与遏制技术研究:[硕士学位论文].成都:电子科技大学, 2009.

[9]李梦君, 李舟军和陈火旺.基于抽象解释理论的程序验证技术[J].软件学报, 2008, 19 (1) :17-26.

硬件功能模块 篇2

基于多功能数字基带硬件平台的通用卫星模拟平台及箭遥模拟器的设计

在新一代微波统一测控系统的研制改造过程中,基于软件无线电技术的多功能数字基带得到了广泛的应用,通过软件的现场重构,可以实现不同的.测控功能.为了有效利用已有的测控设备资源,充分挖掘多功能数字基带的可扩展能力,提出了基于多功能数字基带硬件平台的通用卫星模拟平台和箭遥模拟器的设计思路并进行了联试.

作 者:瞿元新 周朝猛 丛波 QU Yuan-xin ZHOU Chao-meng CONG Bo  作者单位:中国卫星海上测控部,江苏,江阴,214431 刊 名:电讯技术  PKU英文刊名:TELECOMMUNICATION ENGINEERING 年,卷(期): 48(3) 分类号:V448.15 关键词:测控系统   多功能数字基带   通用卫星模拟平台   箭遥模拟器   软件无线电  

多功能电子时钟的硬件设计 篇3

1 多功能电子时钟的主要功能

1.1 计时功能

计时是多功能电子时钟的基础功能, 也是人们最为常用的功能。为了使多功能电子时钟的计时更为精准, 可选用AT89S52单片机中的定时装置或是计数器实现中断定时, 同时结合软件实现延时完成时、分以及秒的计时。使用该方案实现钟表的计时功能, 不仅能够节省大量钟表硬件所需消耗的成本, 同时也可以使工作人员在定时设备或是计数器的使用、终端以及程序设定方面的效率均有所提高。除此以外, 更为全面与深入地了解电子钟表中单片机内指令系统, 有助于工作人员熟练掌握单片机这一技术, 也相应提高了钟表质量。

除了上述方式之外, 也可通过两片74160形成60进制递增计数器。该计时方案设计如图1所示:

如图1所示, C1代表个位计数器, 该计数器形成十进制计数方式。C2代表十位计数器, 应选取QC和QB一同形成反馈端, 经与非门输出控制清零端, 形成六进制计数方式。采用同步级连接方式将个位与十位计数器相连, 使得个位控制十位计数器的进制。当计数器处于59的状态, 则CO便会向外输出高电平, 因为内部结构所用级联方式为同步级联, 所以高位计数器可以同时计数。计数器在测试过程中所使用的钟源应选用信号源库中的1HZ方波信号。

还需利用两片74160形成24进制递增计数器, 个位计数器以及十位计数器都采用十进制计数方法, 应使用同步级连接方式。选取十位计数器的输送端以及个位计数器的输送端, 利用与非门NAND2操控两个计数器的清零端, 同时使用状态24反馈, 进行清零, 从而实现24进制递增计数。

1.2 显示功能

电子钟表的显示功能对使用者来说极为重要, 使用者需借助这一功能了解时间以及温度等相关内容。工作人员可将AT89S52单片机内P0以及P2同显示器相连。通常情况下, 显示器由LCD 1601A形成。LCD使用的数据口为P0口, 其控制口则为P2的P2.4、P2.5、P2.6口, 工作人员还需将两个按键外接于P3.2、P3.3、P2.0、P2.2口, 从而使得K1、K2、K3、K4形成键盘电路。

工作人员也可选用LCD1602作为显示模块, LCD1602借助5×7点阵图形进行显示, 其单行显示的最大容量为16个字符, 最大显示行数为两行, 总计32个字符。该液晶显示屏具有许多优点:其一, 功耗量较低, 不会产生大量能耗, 延长了电子钟表的使用时间;其二, 体积小, LCD1602显示器较小, 意味着电子时钟的携带更为便捷;其三, 显示内容量大, 能够向使用人员传递大量信息, 操作流程也更为简便, 设计难度相应降低。液晶显示设备显示较慢, 所以, 其必须判断模块忙碌标志位是否为低电平状态, 之后再执行命令。若确认为低电平, 则证明不忙, 若不处于低电平状态, 则判定该指令无效。显示字符之前, 工作人员应先录入字符显示地址, 告知模块字符的实际显示位置。

2 多功能电子时钟硬件设计

2.1 功能框图

多功能电子时钟硬件共包含如下电路以及模块:LCD1602液晶显示模块、按键模块、DS1302时钟模块以及STC89C52最小系统电路等。实际功能框图如图2所示:

根据图2所示, 电子时钟功能具体包括时间、日期、闹钟、计时、温度以及星期等功能, 工作人员按下K1控制键进入中断模式, 即判断模式, 便可进入不同功能的设置模式, 之后通过按键操作便能完成设置。设置模式不同, 数据输出方式也存在差异, 其中时间、日期、闹钟以及星期设置都是由DS1302完成数据的录入以及输出。而温度无法设置, 仅能读取, 所以可由DS18B20直接输出数据, 最后由LCD1602显示器统一显示时间、日期以及温度等。

2.2 按键电路

按键电路对多功能电子时钟的使用至关重要, 因为各项功能的操作以及实现都需依靠按键完成。通常情况下, 多功能电子时钟需设置四个微动按键, 按键是由P1口部分的P1.0、P1.1、P1.2、P1.4进行控制, 使用人员利用按键, 能够完成电子计时功能以及电子秒表功能之间的切换。除此之外, 使用人员也可利用按键对电子时钟的显示内容、时间校准以及闹钟时间设定等功能进行设置, 同时完成对秒表计时、停止、再次计时以及清零的操作, 从而使多功能电子时钟发挥其真正功能。

2.3 LED报时电路

大部分电子时钟所使用的显示电路为LED显示电路, 该电路中共含有7根红色共阳极数码管, 通过动态扫描的方式进行显示, P0口与限流电阻相连形成段选控制, P2口需要三极管作为驱动, 在驱动完成后形成位选控制。当电子时钟出现1ms定时停止服务软件时, 开始逐一对显示的各位实施动态进行扫描, 并显示扫描结果。电子时钟在接受到命令之后, 会显示7位数据, 第一位表示星期, 第二位与第三位则表示小时, 第四位与第五位表示分钟, 第六位与第七位则表示秒。同时也可以用于表示年、月、日。使用者可通过按键切换为秒表模式, 模式切换之后, 第一位表示小时, 第二位与第三位表示分钟, 第四位与第五位表示秒, 第六位与第七位分别表示秒的十分之一以及百分之一。

3 结语

多功能电子时钟因为其自身具备多项功能, 故而在生活中的运用极为广泛, 为人们的生活提供了便利, 具有良好的市场前景。为此, 钟表制造商应更为关注多功能电子时钟硬件设计方式, 以提高自身产量, 促进企业经济发展。

摘要:多功能电子时钟在生活中的应用愈发广泛, 受到众多人的青睐, 具有良好的发展前景, 大部分制造商开始制作多功能电子时钟。笔者简要分析了多功能电子时钟的主要功能, 同时从功能框图、按键电路以及LED报时电路等方面分析了工作人员应如何设计时钟硬件, 以期使电子时钟的设计更为完善, 提高多功能电子时钟的销量。

关键词:多功能电子时钟,功能,硬件设计

参考文献

[1]冉秦翠, 彭厚德, 汪海军.多功能电子时钟[J].物理实验, 2014 (4) :36-41.

[2]胡彪, 田亚菲.基于MSP430F149单片机的多功能电子时钟设计[J].数字技术与应用, 2015 (5) :180.

硬件功能模块 篇4

计算机硬件的更新是加速度的, 在这种情况下, 任何一个时期的计算机硬件教材相对当时的计算机硬件市场来讲都是滞后的。如果学生仅仅局限于课本中的硬件产品, 则所学知识将无法在以后的工作岗位上得到应用。因此在硬件学科中开展自选模块、自主探究性学习, 既能完善硬件基础性课程的内容, 使学生了解到最新的硬件知识, 同时也能培养学生的自主学习、自主探究的能力。

1 教学目的和特点

硬件模块探究性学习课程的教学目的是:在硬件基础性课程学习的基础上, 学生通过探究性学习课程的学习, 进一步提高软硬件知识水平、锻炼计算机软、硬件的操作技能, 基本掌握自主学习, 自主探究的一般方法。

在探究过程中, 要求学生亲自收集资料、实验证明、归纳分析以完成自选模块的探究。并且要求学生充分地进行交流, 相互提高, 共享大家的探究成果。同时在对课题探究成果进行评价时, 注重对探究过程的评价, 并且贯彻全面性评价原则。

2 教学内容的确定

在硬件模块中, 将“硬件性能评测”作为其切入口。所谓“硬件性能评测”就是利用各种测试软件对某个计算机硬件的性能进行测试, 以量化的数据进行说明。原因在于学生通过前面硬件基础课程的学习后, 已经对硬件建立了感性和理性上的认识。以“硬件性能测评”作为切入口, 有利于学生在自已原有的基础上探求新的计算机知识, 能够调动学生的学习积极性和主观能动性, 进而培养学生的自主学习、自主探究和实际操作的能力。

计算机硬件有许多种类, 在教学内容的设计时, 就需要充分考虑到学生和教学设备的实际情况, 既要满足学生的求知欲望, 也要考虑到时间和设备的条件限制, 不可能面面俱到。所以, 可尝试以下教学方案。

1) 每位同学确定一个自己感兴趣的硬件 (如CPU、内存、硬盘等, 只要求测试一种) ;

2) 所有测试相同硬件的同学组成一个测试小组, 共同探究;

3) 分小组查找有关的资料, 在充分交流的基础上确定测试软件和方法;

4) 测试小组按预定的测试方法, 个别或合作对多个计算机进行测试, 并将测试数据汇总、分析;

5) 每位同学完成自己的探究学习报告, 并在小组内进行交流、评价和修改。

6) 对全优秀的评测报各进行展示。

3 探究学习背景资料

在“硬件性能评测”展开之前, 必须完成硬件基础知识的讲授。比如硬件类型、功能、性能参数、测试指标、测试软件等。只有在充分了解情况下, 学生才能确定自己感兴趣的探究课题。

3.1 计算机硬件介绍

对主要的计算机硬件设备 (CPU、内存、硬盘、LCD、光驱、显卡、键盘、鼠标、机箱、打印机、扫描仪) 的功能与性能参数进行详细介绍。

1) CPU:主频、倍频、外频、FSB、CACHE容量、制作工艺、工作电压、超线程技术、多媒体指令集、内核架构等。

2) 内存:存储器类型、容量、存储速度、存取时间、CAS、双通道等。

3) 硬盘:接口方式 (SATA3.0或SATA2.0) 、盘片转速、平均寻道时间、平均访问时间、数据传输率 (内部传输率、外部传输率, 持续传输率真, 突发传输率) 、高速缓存容量和单碟容量等几个方面。

4) DVD:光驱的读写擦删的速度、读取方式、数据缓冲区大小和寻道时间。

5) LCD:尽寸、最佳分辨率、对比度, 这亮度, 可视角度等。

6) 显卡:显示芯片、显存类型、显存容量、显存位宽、显示核心频率、显示内存频率、像素填充率、纹理填充率、内存带宽等。

学生在只需选择其中一种, 有针对性地作全面、详细的性能测试。

3.2 常用测试软件

计算机硬件种类有很多, 有些硬件的性能指标比较简单, 通过阅读说明就能基本了解大致的情况, 但有些硬件的性能必须要通过严格的测试实验才能得出结论。

硬件测试软件是一些专门用于测试全部或部分计算机硬件性能, 对计算机硬件的性能进行量化评价的计算机专用软件。通过软件的测试, 就能用具体的数值, 在相同类型的计算机硬件中, 对不同型号和品牌的硬件进行分析比较。

目前, 用于计算机硬件测试的专业软件比较多, 主要有Si Software Sandra 2007、CPU-Z、3DMark 2006、Mem Test、HD Tune、Soft FSB、PCMark05 Basic、Win Bench 99 V2.0、Everest AIDA32、HWi NFO32等, 还有一些简单却有效的常用软件如Winrar、Ghost、Nforce系列主板驱动等。

另外, 也可提供一些参考书目或相关网站, 让学生自己查阅有关资料。

书目:电脑报、电脑商情报、计算机硬件;

网址:太平洋电脑网、中关村在线、倚天硬件门户。

4 典型探究学习课题举例

4.1 刻录机测评探究课题的主要内容是

刻录机评测的学生, 对多种品牌和型号的刻录机, 从读取速度, 缓存方式, 容错能力, 噪音, 平均寻道时间, 震动等方面, 使用SAN99和Nero CD-DVD Speed4.6等测试软件, 对刻录品质, 性能等进行了测试。

4.2 实验报告设计

1) 刻录机性能参数表。

2) 刻录能力测试表。

3) 分析上面数据, 得出结论。

4) 指导问题。

.影响刻录品质的因素?

.什么是刻录机的刻录策略?

.什么是刻录机的固件?

.什么是Jitter和Beta值?

.如何提升刻录品质?

.了解各品牌刻录机独有的刻录技术。

5 探究学习实施过程和评价

整个“硬件性能评测”探究学习课题的开展, 可分为了四个阶段实施。

5.1 资料收集阶段 (2课时)

1) 通过计算机刊物和互联网, 学生自己收集各种硬件评测资料, 了解各种硬件设备测试指标与所用软件。

2) 每位同学写出可用计算机的硬件配置表, 为确定探究课题作好准备。

5.2 课题确定阶段 (2课时)

1) 在了解可用计算机的硬件配置的基础上, 每位学生自主确定一个自己感兴趣的探究课题, 即评测哪个设备。

2) 每位学生根据自己的课题, 与探究相似课题的同学组成若干个探究小组。

3) 以小组为单位, 编写评测报告, 制定评测计划。

5.3 课题探究阶段 (10课时)

1) 每个课题探究小组成员在各自的计算机上安装测试软件, 对相同的测试参数分别进行测量, 对所测数据进行统计分析。每位同学的测评数据提供给同小组的其它成员供其参考。

2) 指导教师对每个探究小组和每位同学进行个别辅导, 帮助解决技术问题, 指导具体的操作方法。

3) 在进行实际测试的基础上, 每位同学独自填写评测的数据结课, 完成评测报告。

5.4 课题评价阶段 (2课时)

1) 评测报告完成后, 每们同学对自己探究课题的成果进行自我评价。

2) 其他同学根据每位同学课题完成的情况, 对其进行评价。

3) 指导教师根据每位学生课题探究过程中的学习态度、课题完成的质量以及答辩的表现, 对其进行总体评价。

4) 最后, 将测评报告以小组为单位汇集成册, 指导教师在每篇测评报告后附点评意见。

6 在开展“硬件性能评测”探究学习中的一些体会

1) 在实施过程中, 要坚持以学生为本的基本原则, 以学生作为本课程实施的主体, 所有的工作都应该由学生独自或相互帮助完成。

2) 指导教师主要起到一个组织、协调的作用, 侧重于指导学生把握探究的总体方向、探究进度, 审核探究方法, 辅导学生完成测评报告等。

3) 由于学生的基础和能力的差异, 在评测报告的设计, 评测软件的使用等难度较大的操作上, 可进行详细的指导。

4) 进行硬件评测过程中, 重点是要求掌握硬件性能评测的通用方法, 软件的操作方法, 培养自主学习, 自主探究的能力, 而不苛求具体的结果。同时, 要加强探究的过程管理, 在每一个探究的重点阶段进行检查, 重点检查探究数据的有效性、资料的权威性和科学性等。

综上所述, 计算机硬件教学的授课, 若是把以任务驱动为基础的教学方式上与探究性课题结合起来, 相信一定会取得很好的教学效果。

参考文献

[1]http://www.cce.com.cn中国电脑教育报.

[2]http://www.edu.cn中国教育和科研计算机网.

[3]http://www.jyb.com.cn中国教育报.

硬件功能模块 篇5

随着多媒体技术的不断发展,视频技术在军事系统、工业、医疗等领域得到广泛应用,由于拍摄环境和拍摄条件具有很大的不确定性,使得视频信号在采集和形成的过程中不可避免的受到干扰,细节信息模糊有时甚至会淹没图像的某些特征信息,给后续的观测和分析带来麻烦。因此,对视频进行滤波处理越来越重要。

视频信号具有连续性,是不间断的图像信号组成的数据流,对处理的实时性要求很高。数字视频图像滤波方法主要分为帧内(空域)滤波方法和帧间(时间域)滤波方法两种。本设计采用帧内滤波方法,将视频中的灰度信号提取出来,对独立的每帧视频数据在二维空间内进行滤波。这样,既可以有效地去除帧与帧之间的相关性和帧内噪声,又可以利用V4系列芯片强大的数字信号处理资源来实现滤波处理的实时性,使得以往滤波实时性和计算量这两个的技术指标能够在最大程度上得到协调统一[1]。

本文设计的滤波模块采用Xilinx公司生产的XC4VSX25的FPGA芯片为处理器,将其中高度整合的逻辑门资源例化为32位Micro Blaze软核和滤波处理所需的存储器件等,使整个滤波模块集成在FPGA芯片内部,以达到更高的实时性和更低的功耗。整个信号处理过程由VHDL语言实现。解码芯片和编码芯片的配置由C语言实现。

1 系统硬件构成

整个视频采集系统由CCD摄像头采集视频信号,经过TVP5150转换为8位的4:2:2的ITU-R BT.656信号(同步信号内嵌)进入FPGA芯片进行处理。TVP5150具有PCLK SCLK脚时钟信号可输出13.5 MHz和27 MHz两种频率。系统采用PCLK作为写入数据的时钟信号[1]。FPGA芯片基于VIRTEX-4平台设计,逻辑资源丰富。集成了10240个逻辑单元(slice),128个DSP逻辑单元,4个数字时钟管理模块(DCM),包含分布式RAM的容量高达160Kb和块RAM的容量高达2304Kb[2]。DSP逻辑单元为视频数据流进行滤波处理提供了计算能力上的支持[2]。存储资源为视频流在FPGA芯片内实现延时提供了缓存空间。DCM模块为内部例化器件提供系统时钟信号。

FPGA芯片内部,将逻辑资源例化为Micro Blaze软核,片上外围总线(OPB)模块,IIC模块,数据处理及滤波模块,DCM(数字时钟管理)模块,数据进出FPGA芯片的接口模块(VPIN和VPOUT)以及验证模块。视频数据从VPIN口进入到OPB总线中,OPB总线和数据处理模块存在通信协议以便于数据在这两个模块之间进行传输。数据经过处理返回到OPB模块,经过VPOUT口传输至SAA7121。这种VP口内嵌支持BT.656格式的IP核,与SAA7121进行无缝连接以便于显示[3]。DCM为OPB总线模块和数据处理模块提供系统时钟,由于DCM对这2个模块的输出路径不同,这两个模块接收的时钟相位不可能相同,这样数据在这两个模块的传输过程中容易丢失。所以,我们要在这两条时钟路径上加入IBUFG(输入全局缓冲),或者手动调整DCM输出时钟的相位,务必使两个模块接收到的时钟信号起始相位保持一致。

FPGA片上合计占用2317个逻辑单元,占了总数的27%。VP口为标准的IO口。其电压标准为LVTTL(Low Voltage Transistor-Transistor Logic),驱动电流为12MA。极大地降低整个系统的功耗。

2 帧内滤波模块

帧内滤波几个邻域象素灰度的平均值代替每个象素的灰度值。二维滤波的窗口可以选取方形十字形和圆形,通常选择3×3或5×5方形[2]。标准均值滤波的数学表达式如下

其中,M是邻域N内像素点总数,i,j是中心像点,我们要对i,j点的邻域进行处理,需要读取9个数据。以往设计中,大多是将9个数据存入一个二维数组再进行运算。这样,一帧图像所耗费的时钟达到408620个。而本设计除了开始的9个数据需要9个时钟来形成滤波窗口外,以后每读取一个数据,却能够形成滤波所需要的一个窗口。图1是本设计采用的方案,其结构如下:

如结构所示,有效视频数据流的第一帧第一行按照图示结构经过前两个FIFO到达第三个FIFO,第一行数据将第三个FIFO写满后,3号FIFO读使能打开,开始将第一行数据的前两个数,也就是R11和R12读入到后面的5号,6号两个寄存器中。当6号寄存器中存储第一行第一个数的同时,2号和3号FIFO分别存入了第二行和第三行的数据,1号和2号移位寄存器的输出寄存器分别存入了第三行的R31和R32,3号4号寄存器的输出寄存器也已存入第二行的前两个数,也就是R21和R22。这九个数据构成了以R22为中心的3×3模块,同步写入到计算模块开始进行中值计算。

其中,每一帧图像的第一行、第一列、最后一行和最后一列的象素点是无法作为窗口中心点进行滤波算法处理的。一般来说,图像的边缘不包含图像的重要信息,所以,很多图像处理的算法都是将这些边界点的值取为零值。本文将边界点象素灰度值取零的方法。

整个系统的数据处理部分的结构依靠FPGA强大的逻辑门资源,都集成在芯片内部,功耗和系统稳定性都得到了明显的增强[4]。4输入的INPUT LUTS(Look Up Tables)使用了2714个,占用13%。FIFO16使用了35个,占了总数的27%。Xilinx的LUT由SRAM构成。系统占用2412个,作为逻辑使用的占1937个。

3 滤波结果分析

以上是两幅视频的截图,从去除信息冗余的角度来看,中间茶字作为主要的信息得到了很好的保存,茶字左上角的一些凹凸不平的点,以及这些点在拍摄过程中所引起的反光作用在滤波后得到了平滑,这些冗余的缓变信息在一定程度上得到去除。从特征提取的角度来看,由于选用3×3滤波模块,茶字的边缘部分得到的保存,为后续视频处理模块进行特征提取创造了条件。同时,又将左上的凹凸点进行了平滑,使其灰度值处在特征提取的阈值以下,保证了特征提取的有效性。从视频的角度来说,滤波后视频具有良好的实时性。由于选取滤波模块较小,芯片硬件资源丰富,视频中也没有出现块状现象。符合设计之初的预期。

4 结论

本文设计并实现了FPGA片内的视频滤波处理模块。该模块采用帧内滤波,兼顾了噪声减少和保留图像细节,最大化的去除了帧间相关性。整个模块采用软硬件协同设计,利用FPGA丰富的高密度集成逻辑门资源,实现了视频信号在FPGA芯片内部的均值滤波处理。由于FPGA具有丰富的逻辑门资源,可以根据不同的拍摄环境和特征提取的要求例化出功能不同的滤波模块,例如锐化滤波。甚至在资源允许的情况下增大滤波模块范围,如5×5,8×8模块等。总之,该模块具有很高的实用性和可编辑性。因此,利用FPGA芯片内部资源设计出更多的功能的信号处理模块是下一步的工作。

摘要:在拍摄环境复杂的情况下,视频采集系统采集到的视频信号往往受到噪声的干扰,不能反映被拍摄物的真实情况。本文设计了一种基于FPGA的视频图像滤波模块,能够对采集的视频信号进行滤波处理。该模块采用Xilinx公司XC4VSX25的FPGA芯片作为运算核心,实时性强。利用其强大的整合逻辑资源对视频信号运算处理,使其集中在FPGA片内,具有良好的整合性和可复用性。

关键词:视频采集,FPGA,逻辑资源,滤波

参考文献

[1]David Katz,Rick Gentile.Fundamentals of Embedded VideoProcessing[A].2008:42-45.

[2]田耘,胡彬,徐文波.Xilinx ISE Design Suite10.x FPGA开发指南[M].北京:人民邮电出版社,2008.

[3]田耘,徐文波.Xilinx FPGA开发实用教程[M].北京:清华大学出版社,2008.

硬件功能模块 篇6

关键词:GPS/GSM,移动终端

1、GPS/GSM移动终端基本功能设计

本设计主要工作是设计基于GPS/GSM的移动终端, 从题目可以得出, 该设计要实现GPS定位和GSM传输的移动终端, 进一步来说从现实生活中来看, 主要涉及到车载监控系统, 因此还要求对车辆的状态以及车辆各种纤细的实时监控。车载移动终端具备以下主要功能:

(1) GPS定位功能:这就需要涉及到GPS信息接收装置, 可以及时的确定车辆的位置, 即可以不受时间, 空间, 气候, 昼夜等因素, 随时都可以通过GPS接收机知道车辆目前的位置信息。

(2) 信息采集功能:车辆状态信息的采集, 如车辆的油量, 行车速度, 是否有其他故障, 以及一旦车辆被盗, 是否能及时跟踪并确定车辆位置状况等信息能够很好的采集并转化成数据形式以便传输和存储。

(3) 信息发送接收功能:当数据采集好以后, 若不及时传输给远方的监控中心, 采集的数据也就变的毫无意义可言, 这里主要是通过GSM网络, 利用短消息的传输时间短, 网络覆盖率高, 信息包含量大等优点使监控中心和移动终端进行对话。因此要求移动终端不仅可以发送采集到的数据, 还应该接受来自监控中心的指挥信号, 并且作出相应的动作来完成服从指挥的整个过程。整个系统实物如图1所示:

2、GPS/GSM移动终端硬件构架设计

本设计的硬件主要包括三个方面, 由GPS接收机, GSM MODEM以及连接和处理信息的中间设备组成。GPS接收机采用目前比较流行的美国GARMIN公司的GARMIN25接收机, 其具有并行12通道瞬间锁定可视卫星、全屏敝封装具备优秀抗电磁干扰特点、标准NMEAO183语句可选择输出等特点。GSM MODEM采用西门子的3508手机模块, 主要用于发送和接收短消息, 该手机主要是可以直接将数据线与电脑相连, 通过串口工具或者程序来控制手机的短消息的收发。处理信息的中间模块主要采用市场占有率很高的三星公司的ARM7芯片S3C44B0X为核心的开发板, 选择S3C44B0X是因为其主要是为手持设备设计的低功耗, 其片内外资源十分丰富, 处理器工作主频达到了66MHz, 开发十分方便, 已经被广泛应用于PDA、移动通信等领域, 而且价格也相对较低廉。将以上三个部分适当的组合起来就是本课题的硬件部分, 系统整体设计结构图如上图2:

3、结语

本论文主要从设计的角度出发, 着重阐述了本设计的主体框架, 包括基本功能设计、硬件构架设计。其中, 基本功能设计详细阐述了本次设计主要要实现的功能, 包括定位和监控, 硬件构架设计主要介绍了本次设计所采用的硬件及其型号, 以及硬件实现框图。

参考文献

[1]俞侃.GPS车载定位终端的设计和实现.华中科技大学硕士论文, 2005.

[2]GPS/GSM通信协议.上海麦宏北京科技分公司技术文档.

[3]管耀武, 杨宗德.《ARM嵌入式无线通信系统开发实例精讲》.北京:电子工业出版社, 2006.

硬件功能模块 篇7

关键词:电机控制,轻小型控制模块,直流无刷电机 (BLDC) ,模块化

直流无刷电机 (BrushlessDirectCurrent, BLDC) 在需要考虑空间与重量因素的场合得到了越来越多的应用[1]。通常采用脉宽调制 (PulseWidthModulation, PWM) 方式来对BLDC进行控制。市场上有不少固化了PWM波产生功能的BLDC专用控制芯片, 其原理通常是把直流电压作为输入信号转换为PWM波, 从而控制电机转速。因此, 要实现BLDC的数字化控制, 须引入数模变换电路, 增加了电路复杂度和实现成本。另一方面, 分压电阻调速控制方式不利于适应复杂多变的控制对象与环境。

市面上基于DSP的无刷电机驱动模块, 可通过改写软件实现控制策略的灵活性, 但是往往整体电路尺寸较大, 有的还需要与电机驱动板配套使用, 增加了整个控制模块的体积和成本。

本文所设计的BLDC控制模块具备轻小型的特点, 适用于机器人与航空领域等对空间与载重要求严格的场合。

1系统硬件设计

系统硬件主要由AVR单片机、电源转换电路、过流检测电路、RS232接口电路、场效应管电路、ISP与仿真器接口等子模块组成, 每个模块分别完成不同的功能。其总体方框图如图1所示。

硬件工作原理:单片机通过检测霍尔传感器的位置判断转子的位置, 并产生相应的PWM波确定功率管导通切断序列, 从而驱动电机的转动。系统采用三相星形连接全控电路和两两导通控制方式。每一瞬间有2个功率管导通, 每隔1/6周期 (60°电角度) 换向一次, 每次换向一个功率管, 每一功率管导通120°电角度。正确的同步换相会产生一个旋转的磁场, 使转子相对定子转动, 得到稳定转矩。

主控芯片为ATMEL公司的AT90PWM3/3B, 其工作温度为-40℃至+105℃, 在要求更高的环境, 可采用其后续系列的汽车工业级AT90PWM324。AT90PWM3/3B有三个功率输出级控制器 (Power Stage Controller, PSC) [3]。每个PSC为了避免短路它会自动产生死区时间, 避免上下级功率管同时导通导致大电流。

无刷直流电机的三相绕组在运行中任何时刻都只有两相导通, 且为同一电流, 在主回路串接一个采样电阻Rf来完成电流检测、限流和过流保护功能。当故障输入 (过流) 时, 单片机的PSCIN0引脚被置为高电平, 并关掉所有的PSC输出;同时产生中断信号, 在中断处理程序中对故障进行判断。在不同的应用场合, 可通过AT90PWM3/3B的ISP或Debug Wire接口改写代码中的DAC_OUT来调整过流保护动作值 (如Rf=0.1 Ω, DAC_OUT为0.6 V, 则相应的过流保护动作值为0.6 V/0.1Ω=6 A) 。制作PCB板时还应该注意主回路印制导线横截面应不小于0.3平方毫米, 保证6A电流可以工作。Rf电阻值与过流保护动作值应综合考虑具体的控制对象与应用场合做相应修改。

电路板外形尺寸为80 mm×60 mm×13 mm (长×宽×高) , 硬件实物图如图2所示:

2 系统软件设计

2.1 嵌入式软件设计

PID控制器以其结构简单、稳定性好、工作可靠、调整方便成为工业控制的主要技术之一[3]。本嵌入式软件通过PID调节器来控制速度, KP用来调电机的响应时间, KI用来消除电机转速的静态误差。PID控制器在偏差绝对值小于特征设定值时工作, 比例系数KP设定为较小值, 积分系数KI设定为较大值, 微分系数KD设定为较小值, 这样可以减少超调, 提高系统稳态精度, 增加对扰动的抑制能力[4]。

嵌入式软件流程图如图3所示

2.2 上位机程序设计

软件是虚拟仪器工作的核心[5], 上位机程序采用LABVIEW语言编写, 通过计算机技术和仪器技术的结合, 把本模块虚拟成一台运行于计算机之上的电机控制器。

图4显示的是本电机控制模块应用到国家863计划项目“机载天然气管道泄漏探测红外激光雷达研制”的上位机软件程序。此程序具较强的通用性, 不同的电机和应用场合只需要更改某些参数即可。

上位机程序除了可以通过串口给出指令进行控制的模式外, 还提供有LIN协议控制接口, 以及可调电阻分压调速模式。在多种模式中, 通信控制策略为:

(1) 串口通信与LIN通信属于第一级别, 可调电阻分压属于第二级别。

(2) 在开始启动时, 第一级别通信与第二级别通信同时无异常存在的情况下, 控制模块执行第一级别通信指令;若同一级别内有两个通信指令无异常存在, 则以时间先后为准。

(3) 电机被某一通信指令启动后, 如PC机异常或可调电阻失压等故障情况下导致该通信再失效, 则电机停转, 必须以新的通信指令触发才能开始新的运转。

通过以上策略, 可以解决通信指令冲突的问题, 使系统运行稳定。

3 测试

本文设计的电机控制模块在国家十一五计划项目“航空遥感系统宽谱段成像光谱仪”的扫描电机转速控制中得到应用, 电机选用的是上海心远电气有限公司为该项目定制的3对极无刷直流电动机, 对本电机控制模块进行如下测试。

测试条件:环境为室内。温控设备为Beatronic Supply ApS (Ltd.) 出品的VCS7048—10, 控制温度为18 ℃ (1 h运行时间) 和40 ℃ (1 h运行时间) 两种测试环境。电源为台湾固纬GPS-4303C数字直流电源, 调试为双通道28 V 3A并联输出。转速检测采用AK4-06-2-9-3R-5000型增量式光电编码器。

测试方法:将电机控制模块放入环境模拟温度控制箱内, 上位机采用USB转RS232转换器与主控电路板进行通讯。通过上位机设定电机转速, 用示波器测量装在电机上的光电编码器来检测电机的实际转速。分别测试了设定转速为 (300~1 200) r/min下电机的实际转速。

测试结果:对实验数据分析得到本控制模块转速控制的稳定性和准确度如图5及图6。

图5反映的是转速控制的稳定性, 横轴为设定转速, 纵轴为实测转速最大波动值。实验表明, 三种情况下的转速最大波动范围均不超过1%。由于本测试环境在室内, 电机转动时受到外界干扰较少, 闭环控制在稳定性方面并没有表现出其突出的优越性。

图6反映的是转速控制的准确度, 横轴为设定转速, 纵轴为实测转速最大误差值。实验表明, 18℃闭环控制时的实测转速最大误差总体来看最小, 18℃开环控制时为次之, 在40℃开环时误差最大, 但最大转速误差控制在1.5%以内。

4 结论

本文设计的轻小型直流无刷电机控制模块在设计时考虑了模块化与多种控制模式, 具有体积小、重量轻、控制方式灵活的特点, 经过实际测试与应用, 证明转速控制的稳定性与准确度较高, 目前已在863项目“机载天然气管道泄漏探测红外激光雷达”和十一五项目“航空遥感系统宽谱段成像光谱仪”中得到了应用。

参考文献

[1]Yedamale P.Brushless DC (BLDC) Motor Fundamentals.http//www.microchip.com, 2003

[2]Atmel Corporation.AT90PWM3B Microcontroller Data Sheet.http//www.atmel.com, 2008

[3]Kaya I, Nusret T, Atherton D.A refinement procedure for PID con-trollers.Electrical Engineering, 2006;88 (3) :215—221

[4]夏晶晶, 何仁, 张涌, 等.基于模糊PID的CVT夹紧力控制.江苏大学学报:自然科学版, 2008;29 (6) :474—477

硬件功能模块 篇8

Intel全资子公司风河系统公司 (Wind River) 日前在欧洲航空电子大会 (Avionics Europe) 上宣布, 即时推出最新版本的Vx Works 653平台。Vx Works 653是风河面向安全关键级别ARINC 653集成模块化航空电子系统 (IMA) 系统的专用实时操作系统, 专门针对复杂的控制功能做了特殊设计。最新发布的Vx Works 653不仅继续支持Freescale e600Power Architecture架构, 而且增加了针对Curtiss-Wright Controls VPX6-185和W ind River SBC8641D开发板的全新板级支持包 (BSP) , 扩展了对Intel的32位处理器架构的支持, 包括面向GE Intelligent Platforms V7768开发板的BSP。此外, 全新Vx Works 653平台还提供了新的DO-178B文件系统, 具备电源故障安全保护功能。

Vx Works 653是面向安全关键级别集成模块化航空电子系统 (IMA) 的ARINC 653专用实时操作系统, 目前已经成功应用于全球100多家公司、40多种飞机机身设备中的180多个子系统, 其中也包括波音787 Dreamliner客机。Vx Works 653实现了严格的两级时间与空间调度, 以及支持单芯片实例下不同DO-178B安全认证级别应用部署的隔离环境, 能够达到较高的性能和较低的抖动 (jitter) 。Vx Works 653还提供了通过DO-178B安全认证的开发工具, 使开发人员能够快速地将新的软件模块插入共享的航空电子系统平台, 而不必对整个系统环境进行强制重测试, 从而实现了高级别的系统集成和更新。

上一篇:传媒与恐怖主义的共生下一篇:外汇储备过剩