线上期刊服务咨询,发表咨询:400-808-1701 订阅咨询:400-808-1721

嵌入式设计系统8篇

时间:2023-06-07 09:01:46

嵌入式设计系统

嵌入式设计系统篇1

关键词:UML;嵌入式系统;OOD建模;双向工程

中图分类号:TP311文献标识码:A文章编号:1009-3044(2009)34-9742-02

The Design on UML Embedded Systems

YU Hai-wen

(College of Information Engineering Nanchang University(Pre-Lake Campus), Nanchang 33000, China)

Abstract: UML is the the most popular standard modeling language, embedded systems are professional computer system on the centre of application and the base of computer technology, embedded systems are the integrity of software and hardware; The design's quality of embedded systems is the key of success about digital products. The paper discuss the important conception of UML,and how to use the technology of UML OOD in the design of embedded systems, then show us the steps based on the example of microwave light.

Key words: UML; embedded systems; OOD modeling; two-way engineering

近年来,数字家电、汽车电子、MP3、Smart Phone等跃居电脑产业的主流地位,数字整合的需求日益增长,嵌入式软件(Embedded Software)系统愈来愈复杂,涉及到的接口越来越多,这种软、硬件结合的协同设计(Hardware/Software Co-design)需要不同技术背景的人共同开发,如何使这些具有不同技术背景和专长的人联合开发、协同设计?UML可以解决这个问题。统一建模语言UML(Unified Modeling Language)采用一种简单而直观的图形化方式描述系统设计中的各个问题和细节。不同技术背景的设计师只需懂得UML 符号就可以与对方交流、共同设计。

本文将重点讨论如何在嵌入式系统设计中使用 UML 技术,并结合实例“微波炉小灯”演示采用 UML 的嵌入式系统设计过程。

1 UML OOD建模

1.1 UML基本概念介绍

1.1.1 UML事物

UML中事物是实体抽象化的最终结果,是模型中的基本成员,UML中包含结构事物、行为事物、分组事物和注释事物。

1.1.2 UML建模图

图是事物集合的分类,UML中包含多种图:1)类图(Class Diagram);2)对象图(Object Diagram);3)包图(Package Diagram);4)组件图(Compoment Diagram,也称构件图);5)部署图(Deployment Diagram);6)用例图(Usecase Diagram);7)时序图(Sequence Diagram);8)协作图(Collaboration Diagram);9)状态图(Statechart Diagram);10)活动图(Activity Diagram)。

由于篇幅原因,本文将结合一个需求非常简单的“微波炉小灯”的实例,给出几个重要的图。本文介绍的图采用业界使用最广泛的UML建模工具Rational Rose。Rational Rose为团队开发和规范的开发过程管理提供了良好的支持。

1.2 UML OOD建模

从应用的角度上来讲,面向对象的系统设计一般需要完成如下工作:

1)描述需求;2)根据需求建立系统的静态模型;3)建立系统的动态模型:即描述系统的行为。

1.2.1 描述需求

“微波炉小灯”的实例需求很简单,即微波炉里有个小灯,微波炉门打开时,它就亮起来,一旦关上门,就熄掉了。本文将根据此需求说明,采用UML设计一个控制程序来感应微波炉对象的状态变化,并且触发小灯对象的状态变化。

1.2.2 建立系统的静态模型

用例图(Use Case Diagram):UML的Use Case图1描述User对整体系统的功能需求,本例中,User会有两项动作――“开微波炉”与“关微波炉”,而且期待开微波炉时会亮小灯,关微波炉时小灯会自动熄掉。

类图(Class Diagram):如图2,类是OOD中一个重要概念。软件组件的模块通称为组件的类(Class),OOD设计理念是程序指令写在类里,其所检验测试的对象都是类,等到电脑执行时才由电脑在内存中定义实体组件(对象)。

1.2.3 建立系统的动态模型

建立系统的动态模型实质就是描述系统的行为。

时序图(Sequence Diagram):图3这个时序图反映了开微波炉过程中触发小灯亮的详细执行过程。

状态转换图4(Statechart Diagram):对对象行为做详细的描述。就小灯而言,消息的传达是个事件(Event),这事件令小灯改变状态(亮或熄)。

2 双向工程

2.1 正向工程

Rational Rose中可实现正向(为模型产生相应的代码,即程序框架)、逆向(从用户原来的软件系统导出该系统的模型)和双向工程(实现模型和代码之间的循环工程),从而保证模型与代码的高度一致,这个功能意味着降低了开发人员编写程序的复杂度和工作量。

Rational Rose支持C++、Visual C++、Java、Smalltalk、Ada、Visual Basic、PowerBuilder等语言和开发工具,并能为CORBA 应用生成接口定义语言(IDL),为数据库应用生成数据库描述语言(DDL)等。Rational Rose默认支持的语言是Java。

本例中,在完成了“微波炉小灯”类图制作后,选择菜单“Tools” “Java/J2EE”“generate code”即可生成Java代码,当原建模文件更新时,代码会同步更新。

2.2 逆向工程

前面所述正向工程虽然只是得到了代码框架,实现功能部分的代码仍需开发人员输入。随着软件功能的实现及新的用户需求的加入,原建模文件在需要更新时,可不需要重新画图,只需进行逆向工程操作即可。本例中,在完成了“微波炉小灯”代码后,选择菜单“Tools”“Java/J2EE”“reverse engineer”即可生成新的建模文件。

3 小结

在软、硬件设计领域中,采用UML进行软件组件设计及其架构(Architecture)规划技术逐渐成为业界关注的焦点。根据本文及“微波炉小灯”实例,显然从UML设计图到Java(C及C++)代码的过程很流畅。

参考文献:

[1] 徐宝文. UML与软件建模[M]. 北京:清华大学出版社,2006.

嵌入式设计系统篇2

关键词:CANopen;CANopen从站;嵌入式

引言

CANopen是建立在CAN总线的应用层协议,CAN总线是一种架构开放、广播式的新一代网络通信协议,是针对汽车电子系统中的数据交换而开发的控制局域网协议。由于其低成本、高可靠性、高传输速度原因,在工业控制领域得到广泛应用。CAN接口芯片定义物理层和数据链路层,由于系统使用STM32作为系统主控制芯片,内部集成CAN接口芯片,在使用时接上CAN收发器即可。CAN网络通信协议仅可以数据发送、接收、错误处理等底层数据传输问题,本身并不完整,对于应用层没有规定相应的解析协议。为了提高CAN总线效率,实现更加复杂、快速、标准化的CAN通信协议,即CANopen协议。

CANopen是在CAL基础上开发的,使用了CAL通讯和服务协议子集,提供了分布式控制系统的一种实现方案。CAL提供了所有的网络管理服务和报文传送协议,但没有定义CMS对象的内容或正在通讯的对象的类型(只定义How,没有定义What)。CANopen在保证网络节点互用性的同时允许节点的功能随意扩展。CANopen的核心概念是设备的对象字典,实现网络管理报文NMT、数据对象SDO、过程数据对象PDO预定义报文或者特殊功能对象核心报文。

1 CANopen从站模块设计

本文中CANopen从站模块是采用ST公司的STM32运行在?COS II上来实现与主站CAN通讯,并具备对CANopen协议报文分析和打包的功能得以实现与主站之间的数据传输和处理。主站方面,应用高级应用程序开发软件编制具备CANopen接口的人机交互界面,使用测试工具CANalyst-II 来实现主站的传输和调试。

2 CANopen从站硬件系统

本文中CANopen从站采用以STM32F103RET6为核心的硬件系统,主要负责CAN通讯与CANopen协议转换功能,从站还具有输入、输出和通讯等功能。

由于微控制器芯片内嵌了完全兼容CAN2.0B的CAN总线控制器,因此硬件系统中的CAN接口电路得到了简化,只需设计CAN总线收发器电路即可。设计中使用了外接隔离型CAN总线收发器,防止总线对从站的干扰,避免核心电路损坏。从站系统除了核心最小系统外,还有模拟量的输入输出、数字量输入输出、外存储器、CAN接口、串口、JTAG接口和电源等子电路。硬件系统整体结构框图如图1所示。

图1 硬件电路整体结构框图

2.1 STM32最小系统

STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。本系统采用STM32F103RET6做为系统主芯片,具有64K的片内RAM,512K的片内flash。系统时钟频率可工作在72MHz,若从flash执行代码,STM32功耗仅36mA。STM32内部集成高性能外设,如1μs的双12位ADC,4兆位/秒的UART,18兆位/秒的SPI,18MHz的I/O翻转速度,内部具有8MHz的RC震荡,可经过倍频后直接作为系统时钟。STM32提供了一个SysTick定时器,可以提供操作系统运行节拍。

2.2 CAN驱动器

CAN收发器(也就是协议控制器)的作用就是完成数据链路层组帧和生成物理层比特流,驱动器的作用是把控制器输出的高低逻辑电平变成CAN总线的差分式电平。STM32内部有CAN收发器,所以,不用考虑该部分硬件设计。协议相关的内容基本都由协议控制器完成,软件上只要配置需要的通信速率、帧ID以及发送的数据内容,然后通知收发器,让它发送就可以。不需要从软件上编写协议。

2.3 串口模块

MAX3232用于显示系统调试相关信息,包括错误提示信息,接收数据信息,系统运行状态。它是一款兼容RS232标准的芯片。由于电脑串口RS232电平是+10v~-10v,而一般的单片机应用系统的信号电压是TTL电平0~+5v,MAX3232就是用来进行电平转换的。

2.4 其他功能模块

从站可以实现模AD和DA功能、数字量的输入输出模块、存储器模块、串口功能,在STM32内部集成有多路AD和DA,可以很经济和快捷的实现以上功能,利用内置的SPI和I2C可以连接外存储器,实现数据的存储,利用内置的UART模块可以实现工业串口通讯。所以,在扩展必要的外部辅助电路接口以后,就可以实现以上几个外设功能。

3 CANopen从站软件系统

从站软件系统采用C语言开发嵌入式操作系统?COS-II下的应用,实现与主站的CANopen接口通讯,同时对模拟量数据的采集和输出、数字量信号的输入输出、串口通讯以及系统参数的存储等功能也都一并实现;主站采用高级应用程序开发软件开发具备CANopen接口的人机交互界面,实现对从站的控制。

根据系统结构,从站系统可以划分为五大模块:CANopen通信模块、模拟量采集和输出模块、数字量输入输出模块、存储器模块、串口模块,系统设计的重点是CAN及CANopen的收发函数,以及在?滋COS-II下实现CANopen协议的对象字典和相应功能。在实现核心功能后,设计几个外设功能模块,提供采集、控制、通信、存储功能,使系统更加完整和实用化备。软件系统的工作流程如图2所示。

图2 软件设计框图

嵌入式设计系统篇3

为解决公交车的高效便捷清洗问题,基于青岛理工大学韩旭东教授的团队设计的一款“垂直滚筒式公交清洗小车”,利用AT89C51单片机配合其他元器件,设计了相关的嵌入式系统,包括超声波测距系统和手动/自动双模平台升降控制系统,完善了原产品的设计。采用KeilC51软件编写了相应的控制程序,使用Proteus软件绘制了电路原理图,并进行了仿真模拟。

关键词:

公交清洗小车;嵌入式系统;超声波测距;平台升降控制

0引言

为解决公交车的高效便捷清洗问题,青岛理工大学韩旭东教授的团队设计了一款“垂直滚筒式公交清洗小车”[1]。但在该设计中,仅对机械结构与工作原理做了介绍,缺少相关的控制电路与控制程序的设计,给清洗小车的使用带来了极大的不便。本文在原产品的基础上,针对小车与公交车之间距离的控制不准确的问题,设计了超声波测距系统;针对平台升降控制不方便的问题,设计了手动/自动双模平台升降控制系统。有效地提高了该产品的实用性,完善了该产品的设计。

1超声波测距系统

1.1设计目的

清洗小车由人力推动并控制方向,但由于路面不平,人力控制精度有限,会使小车与公交车车体间的距离发生改变,距离过近会使滚筒挤压车体表面,阻碍滚筒旋转;距离过远,则会使滚筒毛刷与车体表面间间隙过大,影响清洗效果。需要一套测距系统使小车与公交车车体间的距离始终保持在一个合理范围之内。

1.2测距方式的选择

超声波测距是利用机械波反射来测量距离,适用于短距离测距,原理简单,成本低,远距离测量精度较低。公交清洗小车的使用环境比较复杂,对测距系统的精度要求不高,测量的距离在1~2m,且要求结构简单、成本低廉、性能稳定。根据需要和集中测距方式的特点,本文选择超声波测距方式。

1.3超声波测距原理

超声波在均匀介质中的传输速度为一恒定值,由发生器发射超声波,在遇到测量目标后反射回来,由接收器接收并记录由发射到接收经历的时间,便可以计算出发生器与测量目标之间的距离[2]。公式如下:L=12C•Δt。式中:L为测量距离;C为超声波在当前介质中的传输速度(空气中常温下速度为340m/s);Δt为从发射到接收经历的时间。

1.4设计内容

本文利用AT89C51单片机、HC-SR04超声波测距模块、LED灯组成了一个超声波测距警报系统。当距离过近时,指示距离过近的红灯点亮;距离适中时,指示距离适中的绿灯点亮;当距离过远时,指示距离过远的红灯点亮。工作人员可以根据灯光指示调整小车位置,使之与车体表面间的距离保持在一个合理范围。1.4.1HC-SR04超声波测距模块工作原理本文所采用的HC-SR04超声波测距模块,具有成本低、体积小、精度高、使用简单方便等优点,其基本工作原理为:1)采用I/O口TRIG触发测距,提供至少10μs的高电平信号;2)模块自动发送8个40kHz的方波,自动检测是否有信号返回;3)有信号返回,通过I/O口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间[3]。1.4.2程序控制过程利用AT89C51单片机自带的定时计数器资源,通过I/O口给超声波模块一个发射信号并开始计时,当收到超声波模块的反馈信号时,结束计时并计算距离。

2手动/自动双模平台升降控制系统

2.1设计目的

现行大多数公交车的高度在3m左右,为能够确保清洗整个车体表面,原产品采用双丝杠旋转驱动平台升降的设计,并利用直流电动机产生动力。为方便用户使用,能够快捷高效操作平台升降,提高清洗效率,本文设计了一套手动/自动双模平台升降控制系统。

2.2设计内容

根据计算,清洗平台需调整2次高度才可将车体表面清洗完毕,为了方便工作人员操作,本文设计了手动/自动双模控制系统。该系统采用AT89C51单片机,配合L289直流电动机驱动模块,通过控制电动机的正反转实现平台的升降,设计原理图见图4[5]。操作过程为:启动系统后,在自动模式下,按UP键,平台会上升一个固定高度;按DOWN键,平台会下降一个固定高度。该高度值是为实现最高清洗效率,以3m高的车身为标准,经优化计算得出的最适高度。因为公交车的型号差异,车身高度也各不相同,所以为满足实际使用要求,我们又设计了手动控制模式。在手动模式下,按住UP键,平台会上升,松开立即停止;按住DOWN键,平台会下降,松开立即停止。为防止工作人员误操作,本文增加了按键防抖动延迟,防止工作人员误触按键;如果UP和DOWN键同时按下,则电动机停转,直至其中一个按键松开。

3结语

嵌入式设计系统篇4

关键词:嵌入式 机顶盒 条件接受系统 STiH225

中图分类号:TN948.55 文献标识码:A 文章编号:1007-9416(2013)07-0150-01

1 引言

随着三网融合技术的发展,以及嵌入式Internet技术的日益成熟和普及,芯片硬件成本不断降低,基于嵌入式芯片、专业编解码芯片和通用嵌入式Linux操作系统的这种便于升级和扩展的松散型解决方案应用也日益广泛。事实上,交互式机顶盒已逐步成为家庭的网络控制中心,成为三网融合的一个重要信息终端。

2 硬件结构设计

考虑硬件的专用性和平台化,这里选择了意法半导体(STMicroelectronics,简称ST)推出的高集成度的有线互动高清录像机顶盒芯片STiH225来作为主芯片,再选择Sharp的VA1T1ED6060高频头和ST的STV0370解调器,即可作为交互式有线电视机顶盒的硬件平台(图1)。STiH225芯片内置100Mbit/s宽带上网(内置有线调制解调器)以及复杂数字录像功能。这种硬件平台,再加上嵌入式Linux系统下,就成为了一种功能强大的典型的网络双向交互式机顶盒,符合嵌入式系统平台化设计趋势,也能满足三网融合的需求。

STiH225在软件功能上兼容Linux,硬件功能上整合了STi7141芯片,并配备了1个以太网物理层接口的STV0130三路输入模拟前端,其还集成双核处理器,以确保机顶盒和宽带上网功能最大化,并能充分发挥互联网协议V6的各项功能。通常基于STiH225,只需增加几个元器件,即可完成一个3路输入机顶盒设计。

高频头用来对同轴电缆的数字电视信号进行调谐,它将接收到的传输信号通过内部增益等电路转换为IF中频信号,然后送到单片全集成数字解调器STV0370,并经过A/D转换、QAM解调等信号处理,分离出包含音视频以及其他数据信息的传输流(TS)。

3 软件系统设计

软件嵌入式Linux系统通用的分层体系架构(图2),从下至上依次分为启动引导层(BSP)、硬件抽象层(HAL)、操作系统内核层、软件抽象层、应用系统层。其中硬件抽象层就是通常所指的设备驱动层,软件抽象层则包括各种接口函数库、中间件软件、虚拟机等,CAS系统的核心库是放在软件抽象层,而EPG显示、电子政务、股票信息等则放在应用层来实现。9600,1位开始位、8位数据位、1位停止位和1位偶校验位。

嵌入式Linux中提供了对ST40内核的支持,只需要做少许修改和设置即可实现对STIH225的支持。但一个重要工作就是要对嵌入式Linux内核进行裁减和优化设计,以适应机顶盒这种家用信息终端的需要。对于暂时不需网络、USB支持的机顶盒,一般只要编译一个能启动init进程的最小内核即可,这个编译后的内核体积大概400KB左右(2.6.2版的内核)。文件系统采用Ramdisk方式,让应用程序全在内存中运行,以加快应用程序的启动过程,提高系统速度性能。另外,需要通过输出重定向或者直接注释输出语句的方式来隐藏开机启动信息,并给出与运营商相对应的启动LOGO。

4 条件接受系统

CAS是用户收看数字电视等加扰保密节目信息的核心,其主要功能是要能提取传输流中与解扰、解密的有关信息,并通过串口与符合ISO7816协议的智能卡进行通讯,以获取密钥进行解密,从而进一步完成对电视节目的解扰。CAS的核心部分是加解密算法,主要是以函数库的形式存在于软件抽象层,并为应用程序提供编程调用接口。一个完整的条件接收系统,主要包括三个部分:智能卡读卡模块、CA解密模块、EPG信息显示模块。智能卡读卡模块的通信接口通常采用ISO7816接口协议,串行通讯方式;CA解密模块是CAS的核心部分,最终目的是对需要付费的加扰电视节目进行解扰;电子节目指南EPG包括节目的分类、节目的预告、内容简介以及节目预定等,提供给用户一个友好的人机操作界面。

5 结语

本文利用高性能嵌入式单芯片设计了一个交互式网络机顶盒,其基于嵌入式Linux解决方案,可扩展性和升级性好、功能强大,能充分发挥开源系统的优点,为集成更多的应用功能提供了良好的接口。本文的解决方案对希望进行多系列产品的平台化开发,以及三网融合的交互式嵌入式机顶盒设计,具有较重要的参考价值。

参考文献

[1]张慧鹏,孙彤,章明等.基于STi7105高清机顶盒实现视频通话[J].有线电视技术,2012(2):32-34.

[2]蒿琳,曹宝香,马兆丰等.面向机顶盒的数字版权管理模型[J].计算机工厂,2012(38)10:253-256.

嵌入式设计系统篇5

关键词:嵌入式系统;WinCE;扫频仪;流驱动

中图分类号:TP216;TP316;TP335文献标识码:B

文章编号:1004-373X(2010)02-031-03

Design of Portable Sweep Generator Based on Embedded System

SUN Peng,HU Bing,WANG Yusheng

(Department of Electrical Information Engineering,Xihua University,Chengdu,610039,China)

Abstract:A design and implemention of sweeper based on embedded WinCE operating system is introduced.Higher efficiency VS 2005 tools are used to develop the application interactive interface of the sweeper.The structure of sweeper′s hardware,the porting of WinCE operation system and how to add stream driver as an important aspect are proposed.Sufficiently applying the highly integrated characteristic and tailored system as the requirements of applications to implement portable sweep generator on low cost and low power consumption.Consequently,the portable sweep generator is stable,and achieves design requirements.

Keywords:embedded system;WinCE;sweeper;stream interface driver

0 引 言

扫频仪是用于测量系统频率响应的仪器。在现今扫频仪市场上,高端产品功能齐全,稳定性都已经很完善,但是价格非常昂贵;低端产品的硬件实现一般是基于8位单片机,软件实现一般采用单流程循环控制方式。其产品价格低廉,但是存在着运算能力差,硬件平台依赖性强,不利于应用软件的开发和移植等缺点。

基于32位Intel PXA270嵌入式处理器的扫频仪具有成本低,稳定性好,体积小,使用灵活等特点,通过编程模块的设计既可以让本款仪器单独当作波形发生器发生多种波形,如正弦波,方波,三角波,又可单独当作示波器进行使用,还可以增加或删减仪器的功能,可实现对测试的数据的存储、管理等操作,界面简单使用非常方便。

1 扫频仪的硬件组成

该系统的硬件部分由嵌入式模块、数据处理模块、波形发生模块、波形采集模块开口液晶显示模块等组成[1]。其系统框图如图1所示。

图1 扫频仪硬件系统框图

1.1 波形发生模块

波形发生模块采用AD7801BR,D/A模块的精度为8位,D/A的转换时钟为20 MHz,D/A循环输出让D/A以某一时钟频率自动把内部缓冲区中数据进行循环转换输出,延迟两个时钟周期输出当前数据的转换值,D/A时钟频率fc与分频系数N(9≤N≤1 023)关系如下:

fc=20 000/N+1

当分频系数N=9时产生最高1 MHz的波形,当分频系数N为1 023时产生最小20 kHz的波形信号输入到待测电路。

1.2 波形采集模块

波形采集模块采用AD7819YR,A/D模块的精度为8位,A/D的转换时钟为20 MHz,A/D自动缓冲采集让A/D以某一采样率自动进行采集数据,把数据放入内部缓冲区中,当缓冲区满时,自动停止采集。若中断控制寄存器中相应的中断允许位置1,则产生中断信号。主设备通过响应中断,把数据从缓冲区中读回。延迟7个时钟周期输出当前输入信号的转换值,其分频系数N的范围是1≤N≤2 047,A/D采样频率fs与分频系数N关系如下:

fs=200/(N+1)

从待测电路输出的信号由本单元接收,再由PXA270芯片进行频谱分析,扫频分析结果由液晶显示屏显示。

1.3 嵌入式平台模块

采用的嵌入式处理器PXA270是Intel公司设计开发的基于精简指令集的ARM9核的CPU,最高主频达到624 MHz,且具有丰富的组件,支持Linux,WinCE等主流嵌入式操作系统。配合FPGA(EP1C6Q240C8芯片)一起使用,高速低功耗,稳定性好。

2 扫频仪软件设计

如图2所示,系统的软件设计分为三部分:嵌入式平台内核的定制;流接口驱动程序的添加及应用程序的编写[2]。采用WinCE作为系统平台,使用PB(Platform Builder)根据需要定制所需系统[3]。由于嵌入式系统资源有限,C++编译器效率高、性能好,这里使用Visual Studio 2005工具开发应用程序[4]。

图2 整体框架图

系统启动后,显示启动界面。整个启动界面流程如图3所示。

2.1 平台内核的定制

Platform Builder(PB)工具是微软提供给开发人员进行基于WinCE平台下嵌入式操作系统定制的集成开发环境[5]。这里使用PB设计和定制内核的,在PB中创建工程,选择系统特性,定制满足自己要求的最简内核,由PB生成WinCE操作系统的镜像内核NK.BIN。

图3 系统流程图

2.2 流接口驱动的添加

接口函数表如表1所示。通常实现流式接口驱动程序只需4个步骤[6]:

(1) 流接口驱动程序选择一个前缀。通常须通过设备的名称对驱动程序进行访问。采用由3个大写的英文字母。

(2) 实现流接口驱动DLL所必须的接口函数[7]。

表1 接口函数表

函数名功能简述

XXX_Open()打开设备进行读/写

XXX_Close()关闭设备

XXX_Init()初始化设备,在设备被加载时调用

XX_Deinit()释放设备,在设备被卸载时调用

XXX_Read()从设备中读取数据

XXX_Write()向设备中写入数据

XXX_Seek()移动设备中的数据指针

XXX_IOControl()对设备发送控制命令

XXX_PowerUp()在设备从挂起状态中恢复时调用此函数

XXX_PowerDown ()供可使用软件控制关闭的设备关闭自身的电源

(3) 编写DLL的导出函数。可以有两种方法实现:使用编译器扩展关键字_declspec(dllexport)或是使用.DEF文件。

(4) 为驱动程序配置注册表。为实现流接口驱动程序正确地被设备管理器加载,必须初始化注册表[8]:

[HKEY_LOCAL_MACHINE\\DRIVERS\\BuihIn\\fpga]

"Dll"="fpga.dll"

"Prefix"="ISA"

"Index"=dword:1

"Order"=dword:0

Dll指明该驱动程序的实现位于fpga.dll中。

Prefix表明驱动的前缀。前缀一般都是三个大写的英文字母,这里是ISA。

Index指明驱动的索引,这里是“1”,如果应用程序要打开该驱动,那么CreateFile()的第一个参数就必须是ISA1。

Order指明了驱动的加载顺序。该值越小,驱动被加载得越早,这有助于解决驱动程序之间的依赖关系。

2.3 控制面板软件的设计

使用 Visual Studio 2005软件设计编写应用交互式界面[9,10],采用可视化编程,通过按钮调用各个模块。软件结构如图4所示。

图4 软件结构图

(1) 波形发生器模块,函数模块为OnProfilesGenerator()实现可以输出正弦波、方波、三角波三种波形。图5为产生正弦波的截图。

图5 波形发生器产生正弦波

(2) 波形发生器参数设置模块,通过波形发生器频率参数模块OndaFrequency()设置产生波形的频率,通过波形发生器幅度参数模块OndaAmplitude()设置产生波形的幅度。

(3) 波形采集卡模块,函数模块为OnOscilloscope()用来采集接收到的波形,并将波形显示在窗口显示。

(4) 波形采集卡参数设置模块函数OnadFrequency()和OnadAmplitude(),通过波形采集参数的设置调节波形的采样率用来得到适合的波形显示。

(5) 波形频谱分析模块,函数模块为OnSweeper(),对待测电路进行频谱分析并将分析的波形在窗口显示。

3 结 语

本扫频仪设计采用嵌入式WinCE系统,在嵌入式系统中实现高速实时的频谱分析。实现了一机三用,除了扫频功能还可以作为波形发生器或示波器单独使用,基于嵌入式技术可提供网络、打印等功能,通过软件编程增加或删减仪器的功能,可实现对测试的数据的存储、管理、等操作,成本低廉,使用非常方便。

参考文献

[1]伍玉,夏新凡.频率特性测试仪的设计\.电子设计工程,2009(2):30_32.

[2]何宗键.Windows CE嵌入式系统\.北京:北京航空航天大学出版社,2006.

[3]余宏兵,李宝安,申功勋.基于ARM的WinCE系统定制\.现代电子技术,2008,31(10):73_75.

[4]周毓林,宁杨,陆贵强,等.Windows 内核定制及应用开发\.北京:电子工业出版社,2005.

[5]张晶,李心广.基于Intel PXA270的WinCE操作系统移植\.微计算机信息,2008,24(5):39_41.

[6]罗家兵,腾少华下流接口驱动研究与实现\.微计算机信息,2007,23(9):230_292.

[7]李君懿,赵利,邹柏程.WinCE 5.0的USB Camera流接口驱动开发\.单片机与嵌入式系统应用,2008(1):76_79.

[8]张建畅,陶会荣,王建超,等.基于WinCE的嵌入式系统注册表的研究\.微计算机信息,2008,24(5):44_46.

[9]汪兵,李存斌,陈鹏.EVC高级编程及其应用开发\.北京:中国水利水电出版社,2005.

[10]牛力,傅韵.Visual C++.NET编程宝典\.北京:电子工业出版社,2006.

作者简介

孙 鹏 男,1981年出生,黑龙江鸡东人,硕士研究生。主要研究方向为嵌入式技术及应用、信号与信息系统。

嵌入式设计系统篇6

关键词:DSP嵌入式系统;硬件设计

中图分类号:TP391.41文献标识码:A文章编号:1007-9599 (2011) 06-0000-01

DSP-based Hardware Design of Embedded Computer System

Chen Cheng

(Affiliate Hospital of North Sichuan Medical College Hospital,Nanchong637000,China)

Abstract:The embedded system has penetrated into every corner of our lives,this paper introduces A design of embedded system based on DSP hardware design.This paper mainly discusses the choice of memory chips and A/D conversion module circuit design.

Keywords:DSP embedded system;Hardware design

DSP嵌入式系统是把DSP系统嵌入到应用电子系统中的一种通用系统。这种系统具有DSP系统的所有技术特征,同时还具有应用目标所需要的技术特征。DSP嵌入式系统不再是一个专用的DSP系统,而是一个完整的、具有多任务和实时操作系统的计算机系统,以这个计算机系统为基础,可以十分方便地开发出用户所需要的应用系统。

一、嵌入式系统的微处理器介绍

在嵌入式系统中,微处理有着至关重要的作用,它负责系统的启动,协调各个模块电路的工作,并将信息反馈给上位机等。我们主要介绍处理器DSP芯片TI公司针对于控制领域应用推出的TMS320F2812。

TMS320F2812是基于TMS320C2000内核的定点数字信号处理器。器件上集成了多种先进的外设,为电机及其他运动控制领域应用的实现提供了良好的平台。同时代码和指令与F24x系列数字信号处理器完全兼容,从而保证了项目或产品设计的可延续性。与F24x系列数字信号处理器相比,F28l2系列数字信号处理器提高了运算的精度(32位)和系统的处理能力(达到150MIPS)。该系列数字信号处理器还集成了128KB的Flash存储器,4KB的引导ROM,数学运算表以及2KB的OTPROM,从而大大改善了应用的灵活性。128位的密码保护机制有效地保护了产品的知识产权。两个事件管理模块为电机及功率变换控制提供了良好的控制功能。

二、嵌入式计算机系统硬件设计

本设计采用的所采用的TMS320F2812内部含有最多达128K*16位的Flash存储器;最多达128K*16位的ROM;1K*l6位的OTPROM。128K的Flash对于绝大多数的用户来说已经完全够用,所以本设计无需对程序存储器进行扩展。

(一)外部存储器的设计

选取RAM芯片时需要考虑的最重要的问题是存储器的存取速度是否与DSP的读写速度相匹配。本系统中,F2812工作时CPUCLK是20MHz,单指令周期是50ns。考虑到实际电路中芯片相互连接及片选需要用CPLD构成一些门电路的功能,而一级门电路的最大延时在6ns左右,所以在选取RAM时,选用读写周期为40ns的存储器是比较合适的。在本设计选取ISSI公司的61LV25616AL芯片作为外扩存储器。61LV25616系列芯片的读写周期在5ns-45ns之间,根据上述分析同时考虑价格因素和系统的扩展升级后,系统确定使用61LV25616AL(读写周期是10-12ns),该芯片是256K*16位的SRAM,工作电压是3.3V,而且数据宽度是16位,可以和DSP芯片直接相连。

(二)内部寄存器的设计

RTL8019AS网络控制器的寄存器,分为兼容NE2000寄存器组和PnP寄存器组。本系统设计中主要使用NE2000寄存器组,该组寄存器共包括4页:PAGE0、PAGE1、PAGE2、PAGE3,每页包含16个寄存器,页的选择可通过设置CR(Command Register命令寄存器)中的PS0和PS1位实现。RTL8019AS具有32个输入输出地址,地址偏移量为00H-1FH。其中00H-0FH共16个地址,为寄存器地址;远程DMA地址包括10H-17H,都可以用来作为远程DMA端口,只要用其中的一个即可;复位端口包括18H-1FH共8个地址,功能一样,用于RTL8019AS复位。

(三)A/D转换模块电路设计

对于一个基于DSP的计算机系统,A/D转换电路主要完成对模拟信号的数据采集,数据采集系统各器件的定时关系是严格的,以确保系统精度,DSP中的定时电路和逻辑控制电路按照各个器件的工作次序产生时序信号和依据时序信号产生逻辑控制信号,最后完成数据的预处理和存储。对于本系统,采用片内自带的AD转换器,上述过程都在F2812处理器内部完成。

TMS320F2812ADC模块是一个12位带流水线的模数转换器(ADC),模数转换单元的模拟电路包括前向模拟多路复用开关、采样/保持电路、变换内核、电压参考以及其他模拟辅助电路。模数转换单元的数字电路包括可编程转换序列器、结果寄存器、与模拟电路的接口、与芯片外设总线的接口以及同其他片上模块的接口。

模数转换模块ADC有16个通道,可配置为2个独立的8通道模块,分别服务于事件管理器A和B,两个独立的8通道模块也可以级联构成一个16通道模块。尽管在模数转换模块中有多个输入通道和两个排序器,但仅有一个转换器。两个8通道模块能够自动排序,每个模块可以通过多路选择器(MUX)选择8通道中的任何一个通道。在级联模式下,自动排序器将变成16通道。对于每个通道而言,一旦ADC转换完成,将会把转换结果存储到结果寄存器中。

参考文献:

[1]刘乐善.微型计算机接口技术及应用[M].湖北:华中科技大学出版社,2000

嵌入式设计系统篇7

关键词:嵌入式 网络控制系统 Linux操作系统

中图分类号:TP274 文献标识码:A 文章编号:1007-9416(2016)04-0000-00

网络控制系统并不仅仅为一个进行数据传输的通信系统,更是一个利用网络来实现控制功能的自控系统,在满足数据传输的基础上,还需要通过所传输数据与指令,来完成各项计算、操作以及控制等功能。网络控制系统设计具有较高的难度,而嵌入式网络控制系统的设计,必须要明确系统设计需求,从整体上确定系统构架,然后以实现各项功能为目的完成设计。

1嵌入式Linux操作系统分析

对嵌入式Linux操作系统进行分析,可以确定其具有多项特点如具有高效可裁剪微小内核、开放源代码,且可支持多种硬件运行,具有优秀的网络功能,操作运行更安全可靠。Linux操作系统内核最小可以达到134KB,运行时产生的消耗非常少,并且资源运用具有很高的可靠性与稳定性。在实际应用中其可以支持多种CPU与硬件平台运行,并且可以无故障运行多年,现在已经被广泛的应用到数据中心[1]。另外,嵌入式Linux操作系统在网络应用方面具有良好的效果,可以向TCP/IP协议提供可靠的支持,以及可以支持以太网、令牌网、无线网络以及光纤等。

2嵌入式网络控制系统设计需求分析

2.1 服务器可行性

主要包括两个方面,即应用可行性与技术可行性。随着计算机网络技术的快速发展,以太网现在已经被广泛的应用到生活工作中,嵌入式技术在网络产品中的应用具有广阔的发展前景。就嵌入式技术与以太网技术连接进行分析,势必会推动嵌入式设备远程控制与管理效果的发展。

2.2数据采集功能

嵌入式网络控制服务器可以通过以太网来满足现场数据采集的要求,以太网选择用UDP协议,则应保证其能够按照指定数据通信协议,对现场数据进行采集与分析,且还应实现与数据节点的连接,并保证通信链路的正常运行。另外,嵌入式网络的设计,还应保证数据的有效性,对于未按照指定通信协议祖帧传送的数据,应将其丢弃。

2.3 数据存储功能

应建立指定需求数据库以及数据库表,且此创建工作只有在嵌入式网络控制服务器相关功能运行前完成,并确定数据库能够稳定运行。嵌入式网络控制系统数据存储功能的实现,还需要保证数据的完整性,确保收集到的数据不会被丢失。在对设备节点所发数据接收后,及时对数据进行存储,并且要做好数据采集相关信息的记录。

3嵌入式网络控制系统设计方式

3.1 系统结构设计

嵌入式网络控制系统的设计,其中服务器通过HTTP协议与Web浏览器实现信息交互,并提供设备控制页面与数据查询页面。并且嵌入式网络控制服务器还可以支持多个Web浏览器访问与数据同步,并对系统用户进行设限,提高系统运行安全性。系统控制服务器需要满足四项功能,即实时采集网络节点数据、远程控制设备节点、Web浏览器用户配置与动态采集和显示以及数据库存储。为实现各项目功能,需要进行模块设计,且利用多线程技术来对应各功能模块,接受并处理各项业务,如图1所示。

3.2 模块功能设计

3.2.1主模块设计

(1)数据变量初始化。执行主函数时,需要对部分重要数据进行初始化处理,如服务端与网络节点端套接字描述符、网络地址结构等变量、程序运行状态标志位等。(2)设备节点表缓存。设备节点表缓存为嵌入式网络控制系统服务器中关键的全局变量,其中缓存主要存放设备节点实时采集的数据。(3)线程池初始化。能够对线程池进行初始化处理,其中包括内存设置、线程创建以及线程属性设置等。

3.2.2网络采集节点模块

嵌入式网络控制服务器与设备节点选择利用UDP协议进行通信,因此在系统设计时,需要对线程建立UDP网络,实现与各节点间的数据交换。

3.2.3通信模块

积极嵌入式网络控制服务器与Web界面通信模块设计,两部分主要通过Java Applet程序进行通信的线程,线程选择用TCP协议进行通信,能够提高程序运行的稳定性。其中,利用socket()函数建立TCP流式套接字描述符,bind()函数进行网络地址结构绑定,以及listen()函数进行网络监听。

4结语

嵌入式网络控制系统的设计,需要明确系统各功能模块,以满足实际应用需求为目的,建立系统结构并完成对所有模块的设计。嵌入式系统现在已经有着广泛的应用,在基于嵌入式技术进行网络控制系统设计时,可以提高系统可靠性与适应性。

参考文献

[1] 王治家.基于Linux的嵌入式网络控制系统设计与实现[D].厦门大学,2014.

嵌入式设计系统篇8

关键词:嵌入式导航系统;S3C2440A;Win CE5.0;iTrax300;GPS;ARM920T

中图分类号:TP271+.5文献标识码:B

文章编号:1004-373X(2009)12-031-02

Design of Embedded Navigation System Based on S3C2440A and Win CE

WANG Pangwei,XIA Luyi

(Taiyuan University of Technology,Taiyuan,030024,China)

Abstract:Nowadays,navigation system has became one part of our daily life.The thesis introduces the design of embedded navigation system based on S3C2440A with the kernel of ARM920T and the embedded operating system of Win CE 5.0.The Method of orientation and navigation with the iTra300 of UART interface is introduced,the results meet the need of daily life.Application of the chip with UART interface lowers the difficulties of design and improves the precision of orientation.

Keywords:embedded navigation system;S3C2440A;Win CE5.0;iTrax300 GPS;ARM920T

如今,随着人们现代化生活节奏的加快和当今城市化速度的不断膨胀,迫使越来越多的人必须在紧凑的时间及地点进行工作,不仅导致交通网络日益复杂,也使人们必要的移动性越来越呈频繁趋势,这使得每个人对空间信息有了更多的依赖,迫切要求导航系统走入每个人的生活。基于S3C2440A微处理器和Win CE 5.0嵌入式操作系统,设计了一套可靠且实用的嵌入式导航系统,所提供的功能可以满足人们现阶段日常生活的需要。

1 嵌入式导航系统主要组成

嵌入式导航系统由硬件层、软件层和中间层组成。硬件层主要由一片嵌入式处理器核心控制模块,再加上的功能模块组成;软件层主要由系统软件和应用软件组成,其中系统软件主要指嵌入式操作系统,应用软件实现对被控对象的控制功能;中间层也称为板级支持包(BSP),它将上层软件和底层硬件分离开来,使系统的底层驱动与硬件无关。

2 嵌入式导航系统硬件设计

2.1 系统硬件总体设计

构成嵌入式导航系统的硬件核心是S3C2440A微处理器。它是一款ARM920T的内核RISC处理器。外接部分包括:存储模块SDRAM,NAND FLASH,SD卡;输入模块有GPS模块、矩阵键盘模块;接口模块中包括:RS 232,USB。GPS嵌入式导航系统硬件组成如图1所示。

图1 嵌入式导航系统硬件组成

2.2 GPS核心模块电路设计

该导航系统上使用的GPS接收芯片是芬兰Fastrax公司的iTrax300 GPS接收芯片。iTrax 300是具有可编程NEMA协议的OEM GPS接收芯片,具有极低功耗、最少的硬件设计等特点。模块与S3C2440A接口电路如图2所示。其中,RX_GPS,RX_GPS接入UART端。

3 嵌入式导航系统软件设计

该系统软件由嵌入式系统软件(Win CE 5.0)和应用软件(GPS导航软件)组成。

图2 iTrax 300 GPS接收芯片的模块电路原理图

3.1 Win CE 5.0嵌入式操作系统的构建

Windows CE是Microsoft公司针对有限资源的平台而设计的多线程、完整优先权、多任务、可裁减的32位嵌入式操作系统。Platform Builder 5.0 是基于 Windows CE 5.0平台下嵌入式操作系统定制的集成开发环境。它提供了所有进行设计、创建、编译、测试和调试 Windows CE 5.0操作系统平台的工具。Platform Builder 5.0开发Windows CE 5.0的流程为定制内核,导入硬件BSP,裁剪模块,生成NK镜像文件和导出SDK。

3.2 Win CE操作系统下的应用软件设计

应用软件是基于Win CE 5.0嵌入式操作系统开发的导航软件应用程序,用来实现对被控对象的控制功能。导航软件需要提供一个友好的人机界面,同时配合多功能电子地图,完成对GPS信号的解析和定位;最终将路径规划和语音导航功能映射到整个系统的硬件和软件的设计过程中。Embedded Visual C++4.0下编写GPS导航软件设计流程如图3所示。

图3 嵌入式导航软件设计流程

应用软件编辑好后,建立PC机与嵌入式系统的ActiveSync连接,将导航软件移植到Win CE 5.0操作系统,最终实现界面如图4所示。用户根据导航软件的当前位置,确定现在所处的方位,通过矩阵键盘的输入目的地。导航软件可进行路径规划和语音导航。

图4 导航软件最终实现界面

4 结 语

这里从硬件、软件两部分入手,简述了嵌入式导航系统的整个设计过程,涉及到S3C2440A,Windows CE5.0和GPS模块在系统中的实现。该系统的可运用在手持式、车载式卫星导航系统中,使人们日常生活中出行更加便捷,行车更加安全,有广阔的应用前景。

参考文献

[1]周立功.ARM&Win CE实验与实践[M].北京:北京航空航天大学出版社,2007.

[2]三恒星科技.ARM9应用实例[M].北京:电子工业出版社,2008.

[3]薛大龙,陈世帝,王韵.Windows CE嵌入式系统开发[M].北京:电子工业出版社,2008.

[4]王田苗,魏洪兴.嵌入式系统设计与实例开发[M].北京:清华大学出版社,2008.

[5]何宗键.Windows CE嵌入式系统[M].北京:北京航空航天大学出版社,2006.

[6]王惠南.GPS导航原理与应用[M].北京:科学出版社,2003.

[7]李洪涛,许国昌.GPS应用程序设计[M].北京:科学出版社,1999.

[8]田东风.Windows CE应用程序设计[M].北京:机械工业出版社,2002.

[9]周毓林,宁杨,陆贵强.Windwos 内核定制及应用开发[M].北京:电子工业出版社,2004.

推荐期刊