当前位置:文档之家› 基于嵌入式QT平台下GIS(GPS)电子定位系统设计

基于嵌入式QT平台下GIS(GPS)电子定位系统设计

基于嵌入式QT平台下GIS(GPS)电子定位系统设计
基于嵌入式QT平台下GIS(GPS)电子定位系统设计

基于嵌入式QT平台下GIS/GPS电子定位系统设计

兰见春

三明学院物理与机电工程学院 08电子科学与技术

[摘要]:本设计主要由三星ARM9芯片s3c2440、nand flash、nor flash、sdram、群创7寸触摸屏、GPS模块等硬件组成,使用linux2.6.30.4内核,QT4.5嵌入式开发环境,mitab 源码,madplay源码等等软件组成,软硬件组合搭建好嵌入式环境,实现电子地图的显示和定位、语音提示功能。具有精简、高效、调试简单的特点

[关键字]:linux 嵌入式 QT mitab GPS/GIS

第一章引言

1.1背景意义

GPS 是英文Global Positioning System(全球定位系统)的简称,GIS 是在地理学、地图学、测量学和计算机科学等学科基础上发展起来的一门学科,目前市面上的导航仪大部分都是使用WinCE系统,界面很漂亮,支持很多PPC版的导航软件。但是WinCE不开源,对于嵌入式开发不利。本系统采用了开源linux做为系统内核,很好的支持了开发者的开发,同时也支持大量的开源软件。满足嵌入式开发者的各种需求。

系统使用开源的mitab和QT4.5,解决了电子地图图形界面要求,搭配GIS开发软件mapinfo制作的基于WGS84坐标系的电子地图,与sirf第三代的GPS模块,共同实现了电子定位,同时调用madplay MP3播放器,实现语音播报功能。

目前国内关于GPS/GIS的研究已经很火热了,关于GPS的周边学科也得到迅速发展,地图数据公司群雄崛起,导航软件也很出色,往嵌入式发展的趋势已经很明显。Linux平台下的开源导航软件很少,但是支持GPS的源码和工具还是很多,像GPSd,GPSdriver等,这些开源的工具软件给开发者提供很好的开发思路。同时QT4也是linux开发的利器,这几年QT发展迅猛,已超越MFC,仅次与java 。

最近Android(一种以Linux为基础的开放源码操作系统)操作系统很热门,大部分的导航软件的开发都有往安卓发展的趋势。当下苹果的mac操作系统和谷歌的Android系统竞争手持智能设备终端,已经趋于白热化了。

综合上述信息,使用Linux内核+QT4+mitab+mapinfo地图制作嵌入式电子地图,是一种比较精简的做法,满足嵌入式平台小内存、小体积的要求,程序设计过程中,采用尽量压缩地图数据内存的方法,以提高嵌入式平台的反应速度与工作效率。

1.2嵌入式发展和QT介绍

1.2.1嵌入式的发展

近几年,嵌入式系统产品日臻完善,并在全世界各行业得到广泛应用。嵌入式系统产品的研制和应用已经成为我国信息化带动工业化、工业化促进信息化发展的新的国民经济增长

点。

随着消费家电的智能化,嵌入式更显重要。像我们平常见到的手机、PDA、电子字典、可视电话、VCD/DVD/MP3Player、数字相机(DC)、数字摄像机(DV)、U-Disk 、机顶盒(Set Top Box)、高清电视(HDTV )、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等,都是典型的嵌入式系统。据预测,随着Internet的迅速发展和廉价微处理器的出现,嵌入式系统将在日常生活里形成更大的应用领域。

在中国,嵌入式软件发展过程中,政府已充分认识到它的重要作用,并在政策、资金等方面给予了大力支持。 2004 年国家发改委、科技部、商务部联合颁布的《当前优先发展的高技术产业化重点领域指南》,把嵌入式软件产业作为国家发展的一个重要领域。

最近几年来,中国的嵌入式软件发展速度一直高于中国软件产业的发展速度和全球嵌入式软件的发展速度,在中国软件产业和全球嵌入式软件产业中所占的比重越来越大。目前,中国嵌入式软件产业在整个软件产业中的比重已经超过了三分之一强。

从2006年至2010年,中国嵌入式软件产业规模仍将保持快速增长态势,年均复合增长率为25.8%,到2010年将达到3339.6亿元的规模。

中国嵌入式软件产业的发展面临着良好的发展环境与机遇,这包括政府的重视与扶植、信息产业与传统产业的融合机遇、垄断局面尚未形成、中国制造的良好基础、自由软件运动的兴起等等。

1.2.2 QT简介

Qt是诺基亚开发的一个跨平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程。自从1996年早些时候,Qt进入商业领域,它已经成为全世界范围内数千种成功的应用程序的基础。Qt也是流行的Linux桌面环境KDE 的基础。基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等图形界面库和 Windows 平台上的 MFC,OWL,VCL,ATL 是同类型的东西,但Qt具有优良的跨平台特性、面向对象、丰富的API、大量的开发文档等优点。

信号和槽机制是 QT 的核心机制,要精通 QT 编程就必须对信号和槽有所了解。信号和槽是一种高级接口,应用于对象之间的通信,它是 QT 的核心特性,也是 QT 区别于其它工具包的重要地方。信号和槽是 QT 自行定义的一种通信机制,它独立于标准的 C/C++ 语言,因此要正确的处理信号和槽,必须借助一个称为 moc(Meta Object Compiler)的 QT 工具,该工具是一个 C++ 预处理程序,它为高层次的事件处理自动生成所需要的附加代码。

第二章设计方案与系统架构

2.1总体方案论证

目前关于电子导航地图的方案有好多,选择一个合适的方案,实现在嵌入式平台下稳定运行显得尤为重要,下面是几种比较成熟的方案。

方案一:

使用谷歌地图API和百度地图API函数接口,实现地图浏览显示功能。

下面是使用方案一在windows下的运行效果

优点:实现方法简单,界面简介。

缺点:需要网络支持,不能离线浏览地图,不利于嵌入式手持设备上应用。

在windows下运行卡顿现象明显,由网速决定地图显示效果,

在嵌入式linux下基本是不能运行的。

方案二:

下载地图图片在QT Graphics View架构中添加,实现平移和缩放等等显示功能

由于地图图片在高精度下,数据量很大,而且像素值巨大。这里考虑把大图分割成多张小图,小图片根据经纬度进行编号。当需要显示某个经纬度范围时,在QT Graphics Scene中实现多张图片无缝拼接。然后根据经纬度显示当前的位置。

优点:界面质量比较高,显示效率比较高

无缝拼接显示图片有效的降低了系统内存,提高了系统效率

缺点:无缝拼接图片操作麻烦,显示区域较大(不能显示较小区域)

下面是下载的拼接图片显示效果:

再来看看google地球的效果

从图中很明显的看到当放大到很大的时候图像毛边现象明显,显示比较模糊

方案三:

使用mitab源码解析地图信息或者使用数据库存储地图信息

这两种方法都是现在比较流行的方法,特别是数据库存储地图信息,是一种万金油做法。只要是涉及到数据存储处理,常规做法都是使用数据库。而且嵌入式平台下数据库SQLite 操作简单,节省内存,有效的提高了系统效率。

Mitab是一个专用于GIS平台处理TAB、MIF等地图文件的源码。能够直接从地图文件中读取出经纬度、地图要素,中间省去了一些步骤,直接操作文件,接下来把数据交给QT 去处理,显示地图界面,进一步提高了系统效率

综合上面三种方法,得到运行在嵌入式上的最优方案:mitab源码解析地图文件

2.2系统的体系结构设计

根据上面得到的方案,设计出下面的系统架构

硬件部分:

操作系统层面:

QT4图形界面(map_layer类中包括了mitab解析):

2.3开发工具链

Window下使用的开发工具:

Qt SDK by Nokia v2010.05 (open source) QT开发工具包

VS2005 Windows下编译mitab获取动态库文件SecureCRT.exe 串口调试工具远程登录linux工具串口调试助手用于模拟GPS数据发送

VMware Workstation 虚拟机

UltraEdit和Insight 代码编辑查看工具

MapInfo Professional 7.0 SCP 地图绘制软件

MIFandTAB MIF、TAB相互转换工具

Google地球地图数据来源、后期调试工具

Linux下使用的开发工具:

4.3.3 交叉工具链

QT4.5 包括QT/X11和QT/Embedsky

第三章硬件部分

3.1系统硬件平台

本系统使用的是天嵌科技的TQ2440开发板,TQ2440体积小,便于携带;接口丰富,易于扩展;功耗低。

3.1.1 处理器电路

主控芯片为s3c2440的6层核心板,该核心板性能稳定、工艺精良

部分电路的原理图

3.1.2 外围电路

Nand flash 部分

Nor flash 部分

Sdram 部分

3.2 sirf3代 GPS模块

本系统使用的是韩国产的NSA-C3M3535BR的sirf第三代的GPS模块

该模块提高了搜星的速度和定位精度(精确到小数点后4位)、冷启动时间也缩短了。

GPS输出的数据格式遵循NMEA0183协议,后面GPS应用程序设计中只使用到GPEMC这一条语句读取出经纬度。

$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>

1) 标准定位时间(UTC time)格式:时时分分秒秒.秒秒秒(hhmmss.sss)。

2) 定位状态,A = 数据可用,V = 数据不可用。

3) 纬度,格式:度度分分.分分分分(ddmm.mmmm)。

4) 纬度区分,北半球(N)或南半球(S)。

5) 经度,格式:度度分分.分分分分。

6) 经度区分,东(E)半球或西(W)半球。

7) 相对位移速度, 0.0 至 1851.8 knots

8) 相对位移方向,000.0 至 359.9度。实际值。

9) 日期,格式:日日月月年年(ddmmyy)。

10) 磁极变量,000.0 至180.0。

11) 度数。

12) Checksum.(检查位)

3.3 max232串口

制作MAX232串口 RS232转TTL 用于模拟GPS数据格式和串口调试

第四章电子地图设计

4.1地图设计方案

一般使用最多的GIS软件有AutoCAD Map3d和Mapinfo ,这两款软件都有各自的优点和缺点,AutoCAD Map3d对地图的3D模型绘制比较方便,而Mapinfo是2D地图绘制的主流,大多数的地图数据制造商都是使用后者,后者对其他程序的兼容性很好,并且有自己的编程语言,方便开发人员使用。所以,电子地图设计使用Mapinfo软件。

4.2 MapInfo Professional简介

MapInfo是美国MapInfo公司的桌面地理信息系统软件,是一种数据可视化、信息地图化的桌面解决方案。它依据地图及其应用的概念、采用办公自动化的操作、集成多种数据库数据、融合计算机地图方法、使用地理数据库技术、加入了地理信息系统分析功能,形成了极具实用价值的、可以为各行各业所用的大众化小型软件系统。MapInfo 含义是“Mapping + Information(地图+信息)”即:地图对象+属性数据。

MapInfo Professional 7.0 SCP

MapInfo Professional是一套强大的基于Windows平台的地图化解决方案,可以方便地将数据和地理信息的关系直观的展现,其复杂而详细的数据分析能力可帮助用户从地理的角度更好地理解各种信息;可以增强报表和数据表现能力,找出以前无法看到的模式和趋势,创建高质量的地图以便做出高效的决策;凭借其新特性和增强功能,MapInfo Professional 使得桌面地图化和分析功能更快和更容易-并可延伸至整个企业。

MapInfo Professional提供一整套功能强大的工具来进行复杂的商业地图化、数据可视化和GIS功能。通过MapInfo Professional可连接本地及服务器端的数据库,创建地图和图表以揭示数据行列背后的真正含义。也可以定制MapInfo Professional 以满足用户的特定需要。支持Oracle8i完全读/写,通过OCI对Oracle8i及通过ODBC对其它数据源的实时访问。

4.3电子地图设计

一般地图都是由一个个地图要素组成,Mapinfo中分别定义了这九种地图要素:点(point)、直线(line)、折线(polyline)、区域(region)、圆弧(arc)、文本(text)、矩形(rectangle)、圆角矩形(rounded rectangle)、椭圆(ellipse)。每个要素由多个属性构成,如名称,是否显示,更新时间,点,对应点的经纬度等属性,每种要素的属性类型和个数是不相同的。但要素的名字和经纬度数据则是必须的。同时使用Mapinfo绘图时,可以把地图分为多层,每一层都可以显示响应的地图要素。mapinfo格式的地图是由四个文件构成的,如map.TAB,map.ID,map.MAP,map.DAT四个文件共同构成一个地图。如果是多层地图,每一层都是由这四个文件组成。

4.3.1获取地图栅格文件

绘制地图时使用的参考图,对比参考图绘制地图很方便,数据偏差较小。Mapinfo地图所需的栅格文件支持几乎所有的图片格式。所以直接使用截图工具在google地球上获取三明学院的地图图片

4.3.2绘图坐标系的选择

由于市面上的GPS模块大部分都遵循NMEA0183协议,NMEA0183协议中规定的经纬度是采用WGS84坐标系,为了省去坐标系转换,设计地图时同样采用WGS84坐标绘制,这样用mitab读取出来的经纬度就可以直接使用,省去了中间繁琐的坐标系转换。

4.3.3分层次绘制地图

分为4层来绘制,把4层全部显示出来就是我们所绘制的地图。

Background层:

该层中把三明学院分为南北区两部分,分别用不同颜色的画刷来显示。

Build层:

该层中把三明学院的建筑物都绘制出来,同时用不同颜色区分建筑物。

红色:行政中心

蓝色:教学楼

绿色:宿舍区和田径场、蓝球场

墨绿色:食堂

黑色:商业区

紫色:图书馆

浅蓝色:教学辅楼

Road层:

该层中显示三明学院的主要道路。

黄色:道路

粉红色:阶梯、楼道

Char层:

该层中显示三明学院的建筑名称及标注信息。

将上面的4层地图显示出来,在QT SDK中显示效果:(1000*1000像素)

(使用VS2005编译mitab获取动态链接库)

4.4 TAB文件转换MIF与MID

由于制作的地图是由.TAB、.ID、.MAP、.DAT组成,而mitab源码解析的文件是mid和mif 格式的地图数据,所以要把TAB文件转换为MID和MIF文件。使用MapInfo Professional自带的转换工具和MIFandTAB(网友制作的转换器),再做适当的修改。获取的正确的MIF和MID文件

下面是MIF和MID的文件格式:

MID中一般存放的标注信息,包括所需标注的内容和标注的位置。

MIF中存放地图要素及坐标位置、画笔颜色、画笔大小、画笔线型、画刷颜色。

REGION 1

5 地图要素:区域类型

117.559479 26.202542

117.559479 26.202782

117.559902 26.202782 坐标位置:闭合区域的顶点坐标

117.559902 26.202542

117.559479 26.202542

PEN(1,2,16711680) 画笔的大小和颜色(RGB格式)、类型

Brush (2,16711680,16777215) 画刷的颜色(RGB格式)

第五章软件部分

5.1 GIS mitab源码介绍

Mitab是国外的一个开源项目,它是一个动态链接库,支持多个平台。程序可以调用库直接进行文件操作,实现地图文件中信息的读取。Mitab本身是C++编写的,它的功能很强大,不仅可以读取,也可写入即实现地图的编辑。同时,为了方便调用,此项目还提供了一个简便的C语言的函数接口,方便开发人员使用。

下面列举部分函数加以说明:

mitab_c_get_pen_color 获取画笔颜色

mitab_c_get_pen_pattern 获取画笔类型

mitab_c_get_pen_width 获取画笔线宽

mitab_c_get_vertex_x 获取经度

mitab_c_get_vertex_y 获取纬度

mitab_c_get_text 获取文本信息

还有好多函数,这里就不一一列举了。

5.2 QT Graphics View Framework简介

Qt Graphics View 提供了用于管理和交互大量定制的 2D 图形对象的平面以及可视化显示对象的视图 widget,并支持缩放和旋转功能。Graphics View 使用 BSP(二进制空间划分)树形可非常快速地找到对象,因此即使是包含百万个对象的大型场景,也能实时图形化显示。

Graphics View提供一个model和一个view。所谓model就是我们添加的种种对象,所谓view就是我们观察这些对象的视口。同一个model可以由很多view从不同的角度进行观察,这是很常见的需求。使用QPainter就很难实现这一点,这需要很复杂的计算,而Qt 的Graphics View就可以很容易的实现。

Graphics View提供了一个QGraphicsScene作为场景,即是我们添加图形的空间,相当于整个世界;一个QGraphicsView作为视口,也就是我们观察的窗口,相当于照相机的取景框,这个取景框可以覆盖整个场景,也可以是场景的一部分;一些QGraphicsItem作为图形元件,以便scene 添加,Qt内置了很多图形,比如line、polygon等,都是继承自QGraphicsItem。

设计程序时,我们先将所有的地图元素都添加到item中,让后再把item中的元素在Scene中显示,最后在主界面中显示Scene,这样地图就显示出来了。移动、缩放功能Graphics View 都自动帮你实现了。

5.3 GPS应用程序设计

GPS模块输出的是TTL电平,S3C2440芯片的串口同样是TTL电平,所以中间不要再经过什么转换了,只需把两个串口交叉连接。GPS模块波特率为9600,设置和普通的串口差不多。由于Linux内核中包括了三星官方的开发板SMDK2410的配置,只需稍作修改就可以在TQ2440上使用,驱动程序就直接拿来用。GPS的应用程序设计的目的是为了解析GPS数据中

的经纬度等信息。完成这个目的,可以参考单片机串口通信模式,首先要初始化串口,设置波特率、起始位、停止位等等,然后用中断或者是查询方式读数据。LINUX编程中为串口设置等问题得到了完美的解决,它提供一个库,波特率等的设置只需调用函数,输入参数,当然具体的设置远远没有这么简单。解决了串口初始化的问题,下面就是数据处理的问题。

GPS模块输出的是ASCII码的字符型,而且每秒输出的数据量大,单片机处理的思想是:将接收到的数据(ASCII码)转换为2进制的数据,而且只能一位一位的转换,显示处理速度就慢很多了。Linux编程中提供了处理fifo数据的接口函数,一次处理的数据量大,使用strstr函数可以快速的获取一个数组的指定格式的起始位置,使用sscanf函数可以用一个数组中获取指定格式的数据,并且自动将数据转换为字符型,整型,浮点数据等等,相比单片机一个一个的解析数据要快得多,操作也跟简单。

5.4 madplay移植与使用

Madplay的编译是参考国嵌的试验手册来做的,移植只需用交叉编译器编译即可。

把编译好的madplay放在文件系统中

Madplay *.mp3 就可以播放mp3的歌曲了

第六章系统组合与调试

6.1系统组合

将上述的软硬件组合,添加mypoint类(定位点),设置在最上层显示,在QT程序中添加timerEvent事件,设置每秒读取一次GPS的数据,调用update(),实时刷新显示图像。同时在指定区域内设计程序,实现在某个区域内调用madplay播放器,实现语音播报功能。

6.2 调试

由于地图是用软件绘制的,与栅格图像还存在偏差,栅格图像是从google地球上获取的,google地球与GPS输出的经纬度同样也有偏差,所以系统有两个误差,这两个误差都只是水平和竖直方向的漂移,应该是没有线性漂移的,所以只需要计算水平和竖直方向上的偏移就可以了

6.2.1串口模拟调试

从google地球上获取一点的坐标,再在绘制好的地图上获取这个点的坐标。经过多次测量,发现水平方向偏移较小,可以忽略,竖直方向偏移较大,多点平均值得到的数据为0.0093度。修改程序,用串口模拟GPS的数据格式,可以准确的显示当前点在指定位置上

6.2.2室外调试

系统连上GPS模块,实地测量经纬度数据,对比界面上的位置,记录数据

系统经度实地经度精度偏差系统纬度实地纬度纬度偏差

正门117.5595 117.5598 0.0004 26.2040 26.2037 -0.0003

理工一117.5608 117.5608 0.0000 26.2013 26.2010 -0.0003

图书馆117.5600 117.5601 0.0001 26.1980 26.1979 -0.0001

田径场117.5601 117.5603 0.0002 26.1953 26.1954 -0.0001

南校门117.5579 117.5583 0.0004 26.1976 26.1973 -0.0003

平均偏差0.00022 -0.00022

得到的偏移经纬度分别为: 0.00022 和-0.00022

根据偏差修改程序,再次实地测量,记录数据

系统经度实地经度精度偏差系统纬度实地纬度纬度偏差

正门117.5597 117.5598 0.0001 26.2039 26.2037 -0.0002

理工一117.5610 117.5608 -0.0002 26.2011 26.2010 -0.0001

图书馆117.5600 117.5601 0.0001 26.1980 26.1979 -0.0001

田径场117.5602 117.5603 0.0001 26.1956 26.1954 -0.0002

南校门117.5582 117.5583 0.0001 26.1973 26.1973 -0.0000

平均偏差0.00006 -0.00012

平均偏差较小可以忽略,系统总体调试完成。

从系统运行速度和显示速度来看,没有卡顿的情况,系统效率较高。

总结

本次毕业设计是在谢华老师精心指导下完成的。不管是论文的选题、资料查询,还是论文定稿过程中,谢华老师都给了我很多的帮助。她多次询问我的课题设计的进程,帮助我开拓研究思路,精心点拨、热忱鼓励。还要感谢在旁边一直无私帮助我的老师、同学,正是他们的帮助、鼓励支撑着我想办法尽量去解决遇到的每一个问题,使我顺利完成了毕业设计。当然,本次设计的成功与帮助我的网友离不开,他们给了我一些建议和宝贵的资料,谢谢他们的帮助。

同时通过这次毕业设计,我熟悉了整个嵌入式软件开发的流程,从中得到锻炼,为我将来进入社会参加工作提供了帮助。最后,祝愿老师、同学们工作顺利,心想事成!

嵌入式简易电子琴系统设计.

嵌入式开发试验 嵌入式简易电子琴系统设计 ARM2110实验开发板,外接矩阵键盘、蜂鸣器、LED显示屏、LED灯模块(带4.7K电阻)主程序 #include "systemInit.h" #include "buzzer.h" #include "music.h" #include "systemInit.h" #define lcden GPIO_PIN_0 //PB0; #define lcdrs GPIO_PIN_2 // 定义LED #define LED1_PERIPH #define LED1_PORT #define LED1_PIN #define LED2_PERIPH #define LED2_PORT #define LED2_PIN #define LED3_PERIPH #define LED3_PORT #define LED3_PIN #define LED4_PERIPH #define LED4_PORT #define LED4_PIN #define LED5_PERIPH #define LED5_PORT #define LED5_PIN #define LED6_PERIPH #define LED6_PORT #define LED6_PIN #define LED7_PERIPH #define LED7_PORT #define LED7_PIN #define LED8_PERIPH #define LED8_PORT #define LED8_PIN

// 定义KEY #define KEY_PERIPH2 #define KEY_PORT2 #define KEY_PIN2 //PB2; SYSCTL_PERIPH_GPIOA GPIO_PORTA_BASE GPIO_PIN_4 SYSCTL_PERIPH_GPIOA GPIO_PORTA_BASE GPIO_PIN_5 SYSCTL_PERIPH_GPIOA GPIO_PORTA_BASE GPIO_PIN_6 SYSCTL_PERIPH_GPIOG GPIO_PORTG_BASE GPIO_PIN_0 SYSCTL_PERIPH_GPIOF GPIO_PORTF_BASE GPIO_PIN_2 SYSCTL_PERIPH_GPIOG GPIO_PORTG_BASE GPIO_PIN_1 SYSCTL_PERIPH_GPIOE GPIO_PORTE_BASE GPIO_PIN_0 SYSCTL_PERIPH_GPIOE GPIO_PORTE_BASE GPIO_PIN_1 SYSCTL_PERIPH_GPIOB GPIO_PORTB_BASE GPIO_PIN_6|GPIO_PIN_5|GPIO_PIN_4 //连接方式矩阵键盘的行线接PC4~7 列线接PA0~3 unsigned char data; //PD0-PD7; unsigned char num; int guan; int jian; int numm;//lcd显示模块技术 //lcd模块 void write_com(unsigned char com) //写命令 { GPIOPinWrite(GPIO_PORTB_BASE,lcdrs,0x00); // lcdrs=0; GPIOPinWrite(GPIO_PORTD_BASE,GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2| GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7,com);//PD=com; SysCtlDelay(5 * (TheSysClock / 4000)); // 延时 5ms } void write_data(unsigned char date) { GPIOPinWrite(GPIO_PORTB_BASE,lcdrs,0xFF); // lcdrs=1; GPIOPinWrite(GPIO_PORTD_BASE,GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2| GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7,date);//PD=date; SysCtlDelay(5 * (TheSysClock / 4000)); GPIOPinWrite(GPIO_PORTB_BASE,lcden,0xFF); // lcden=1;

Qt嵌入式开发环境的建立

Qt/Embedded嵌入式开发环境的建立 一.开发环境 (1)Red Hat Linux 9 (2)Linux Kernel 2.6.14 (3)qt-x11-2.3.2.tar.gz (Qt开发包) (4)qt-embedded-2.3.10-free.tar.gz (Qt/Embedded开发包) (5)tmake-1.13.tar.gz (自动创建Makefile文件的工具) (6)gcc-2.95 (C编译器,RH9自带) 二.解压安装包并设置环境变量 (如下均假设在/root/qte目录下进行) (1)安装tmake: #cd ~/qte #tar zxvf tmake-1.13.tar.gz #export TMAKEDIR=$PWD/tmake-1.13 (2)安装qt: #cd ~/qte #tar zxvf qt-x11-2.3.2.tar.gz #export QT2DIR=$PWD/qt-2.3.2 (3)安装qte: #cd ~/qte #tar zxvf qt-embedded-2.3.10-free.tar.gz #export QTEDIR=$PWD/qt-2.3.10 三.编译Qt和Qt/Embedded (1)编译Qt: #cd $QT2DIR //设置环境变量 #export TMAKEPA TH=$TMAKEDIR/lib/linux-g++ #export QTDIR=$QT2DIR #export PATH=$QTDIR/bin:$PA TH //将Qt库加入到系统共享库中 #ldconfig $QTDIR/lib //开始编译 #make clean //configure命令对Qt进行编译设置,其包含很多选项,可通过./configure –help //来获取详细的帮助信息。 #./configure -no-xft –system-jpeg #make //将uic工具复制到Qt/Embedded目录中,可覆盖原文件 #cp bin/uic $QTEDIR/bin/ (2)编译qvfb: //qvfb工具用来生成Virtual Frame Buffer,它可以模拟在嵌入式开发板上的显示 //状况,如果在qvfb中模拟运行没有问题的话,就可以直接通过交叉编译在

电子系统综合设计报告

电子系统综合设计报告 姓名: 学号: 专业: 日期:2011-4-13 南京理工大学紫金学院电光系

摘要 本次课程设计目的是设计一个简易温度控制仪,可以在四联数码管上显示测得的温度。主要分四部份电路:OP07放大电路,AD转换电路,单片机部分电路,数码管显示电路。设计文氏电桥电路,得到温度与电压的关系,通过控制电阻值改变温度。利用单片机将现在温度与预设温度进行比较,将比较结果在LED数码管上显示,同时实现现在温度与预设温度之间的切换。 关键词放大电路转换电路控制电路显示

目录 1 引言 (4) 1.1 系统设计 (4) 1.1.1 设计思路 (4) 1.1.2 总体方案设计 (4) 2 单元模块设计 (5) 2.1 各单元模块功能介绍及电路设计 (5) 2.1.1 温度传感器电路的设计 (5) 2.1.2 信号调理电路的设计 (5) 2.1.3 A/D采集电路的设计 (5) 2.1.4 单片机电路 (6) 2.1.5 键盘及显示电路的设计 (6) 2.1.6 输出控制电路的设计 (6) 2.2元器件的选择 (6) 2.3特殊器件的介绍 (7) 2.3.1 OP07A (7) 2.3.2 ADC0809 (7) 2.3.3 ULN2003 (9) 2.3.4 四联数码管(共阴) (9) 2.4各单元模块的联接 (10) 3.1开发工具及设计平台 (11) 3.1.1 Proteus特点 (11) 3.1.2 Keil特点 (11) 3.1.3 部分按键 (12) 4 系统测试 (17) 5 小结和体会 (20) 6 参考文献 (21)

1 引言 电子系统设计要求注重可行性、性能、可靠性、成本、功耗、使用方便和易维护性等。总体方案的设计与选择:由技术指标将系统功能分解为:若干子系统,形成若干单元功能模块。单元电路的设计与选择:尽量采用熟悉的电路,注重开发利用新电路、新器件。要求电路简单,工作可靠,经济实用。 1.1 系统设计 1.1.1 设计思路 本次实验基于P89L51RD2FN 的温控仪设计采用Pt100温度传感器。 1.1.2 总体方案设计 热敏电阻测温调理电路 设计要求 1.采用Pt100温度传感器,测温范围 -20℃ --100℃; 2.系统可设定温度值; 3.设定温度值与测量温度值可实时显示; 4.控温精度:±0.5℃。 设定输入 单片机 LED 显示 控制输出 双向可 控硅 继电器 控制 对象 风扇 信号调 理电路 A/D 采集 电路 加热丝 传

嵌入式电子琴设计

前言 现代的流行音乐离不开电子琴,键盘手一般是现代电声乐队的中坚力量。(单排键)电子琴、电吉他、架子鼓是流行音乐的三项主流乐器。电子琴的发明使人们可以演奏出未曾拥有的音色,丰富了人们情感的表现;电子琴创造出了许多其他乐器无法演奏出的音色,甚至自然不存在的音色,这些音色帮助了人们通过音乐表现自己的情感,在很多电视节目或者音乐作品中都有运用。电子琴的发明推动了音乐的普及,它让音乐真正成为了大众的音乐,成为了人类社会不可缺少的东西。电子琴是目前用于音乐普及教育和音乐素质培养最多的乐器,它的经济性为他在普通家庭中的普及带来了可能。 本文主要介绍的是使用LM3S8962来实现基于Cortex-M3简易电子琴系统设计的方法,本设计由嵌入式芯片LM3S8962、音乐播放、单音节按键和数码管显示为核心,辅以必要的电路,构成了一个简易的电子琴。当程序开始执行后,播放梁祝音乐,按下功能键后,切换至单音节演奏。本设计的主要内容:了解嵌入式技术的发展现状,熟悉电子琴各模块的工作原理;选择适当的芯片和元器件,确定系统电路,绘制电路原理图,尤其是各接口电路;熟悉嵌入式使用方法和编程规则,编写出相应模块的应用程序;分别在各自的模块中调试出对应的功能,并使用真实器件播放音乐,实现功能切换,验证程序的正确性。

1.课题知识介绍 1.1 Cortex-M3概述 ARM Cortex-M3处理器结合了多种突破性技术,令芯片供应商提供超低费用的芯片,仅33000门的内核性能可达1.2DMIPS/MHz。该处理器还集成了许多紧耦合系统外设,令系统能满足下一代产品的控制需求。 Cortex-M3内核主要是应用于小管脚数、低成本和低功耗的场合,并且具有极高的运算能力和极强的中断响应能力。Cortex-M3采用了新型的单线调试(Single Wire)技术,专门拿出一个引脚来做调试,从而节约了大笔的调试工具费用。同时,Cortex-M3中还集成了大部分存储器控制器,这样工程师可以直接在MCU外连接Flash,降低了设计难度和应用障碍。 CM3是一个32位处理器内核,内部数据路径是32位,寄存器是32位,存储器接口也是32位。CM3采用哈佛结构,拥有独立的指令总线和数据总线,可以让取指与数据访问并行不悖。这样一来,数据访问不再占用指令总线,从而提升了性能。为了实现这个特性,CM3内部含有好几条总线接口,每条都为自己的应用场合优化过,并且可以并行工作。但是,指令总线和数据总线共享同一个存储器空间,一个统一的存储器系统。也就是说,不是因为有两条总线,可寻址空间就变成了8G。 1.2 LM3S8962概述 LM3S8962微控制器的优势还在于能够方便的运用多种微控制器的优势还在于能够方便的运用多种ARM的开发工具和片上系统(SoC)的底层IP应用方案,以及广大的用户群体。另外,该微控制器使用了兼容ARM Thumb?的Thumb2指令集来减少存储容量的需求,并以此达到降低成本的目的。最后,LM3S8962微控制器与tellaris?系列的所有成员是代码系列兼容的,这为用户提供了灵活性,能够适应各种精确的需求。

电子围栏系统设计方案1

电子围栏系统设计方案 为了最大程度保障周界的安全和适应新形势下的要求,项目采用先进可靠的脉冲电子围栏安全防范设备,相信在人防和技防的紧密结合下,将充分发挥先进的现代科学技术防范手段的积极作用,很大程度上提高安全系数。系统具有集中统一管理能力,为管理提供便捷 每台脉冲主机都有RS485信号输出,通过传输线缆连接到监控机房或者门卫室的报警主机上,实时显示每个防区的电压值、防区状态(高压/低压/撤防),当围墙上某个防区报警,机房报警主机实时显示报警防区以及报警类型(短路/断路)。 系统应具有开放性、可扩充性、兼容性和灵活性 整个脉冲电子围栏系统除了接入自身的电网系统,还可以通过地址模块接入红外、声光、喇叭等信号,如果原有系统或者最初设计已有报警主机,脉冲主机也可以通过地址模块接第三方报警主机。 系统的设计和产品的选择确实符合标准化、规范化 按照电子围栏国家标准以及人体翻越围栏的高度,设计出4线电子围栏共0.8米,6线电子围栏共1米的防范高度。 系统必须具有较高的安全性、可靠性 脉冲主机输出的脉冲信号,每秒钟1个脉冲,而且持续时间为0.1秒,能量为2.5毫库仑(监狱高压电网为50毫库仑),所以对人体是安全可靠的。系统运行的智能化 脉冲电子围栏系统可以连接报警主机、电脑软件、模拟LED电子屏,可以进行多级管理,远程访问、还可以联动监控系统、高音喇叭等,当系统出现短路、断路、设备故障、断电、线路故障,机房报警主机都会报警。 合理的性价比 脉冲电子围栏在市场上运营有10多年,目前产品非常成熟,寿命能达到8-10年,比起市场上熟知的周界报警系统(如:红外),性价比非常高。

应用的广泛性 目前脉冲电子围栏系统已广泛应用于小区、工厂、变电站、部队、铁路交通、学校、监狱、看守所、水利、养殖业等行业。 设计依据 (1)国家标准《脉冲式电子围栏机器安装和安全运行》(GB/T7946-2009);以及《本市安防工程用高压电子脉冲式探测器基本技术要求》(沪公技防[2008]0013号) (2)安全技术防范系统的设计、施工程序应符合《安全防范工程程序与要求》GA/T75的规定,系统设计原则应符合《安全防范工程技术规范》 GB50348-2004第3、4章的规定。 (3)《防盗报警控制器通用技术条件》GB12663-2001 (4)《入侵探测器通用技术条件》GB10408.1-2001;《安全防范报警设备安全要求和试验方法》(GB16796-1997);《入侵探测器第一部分通用条件》GB·10408·1-2000;《入侵探测器第四部分:主动红外入侵探测器》GB·10408·4-2000; (5)《银行营业场所紧急报警系统基本技术要求》沪公技防21-96 (6)《金融机构营业场所、金库安全防护暂行规定》银发(1998)588 号 (7)《安全防范系统通用图形符号》GA/T74-2000 (8)《金融营业场所安全防范工程设计规范》GB/T16676-1996 (9)《重点单位重要部位安全防范技术要求》第三部分金融营业场所 GB3239-2005 (10)《银行营业场所风险等级和防护级别的规定》GA38-92 (11)《安全技术防范工程技术规范》GB 50348-2004 (12)《安全防范系统验收规则》GA 308-2001 (13)《出入口控制系统工程设计规范》(GB50396-2007) (14)《建筑电气安装工程质量检验评定标准》(GBJ303-88)

电子系统设计报告

课程设计实践报告 一、课程设计的性质、目的与作用 本次电子系统设计实践课程参照全国大学生电子设计模式,要求学生综合利用所学的有关知识,在教师的指导下,分析和熟悉已给题目,然后设计系统方案、画原理图及PCB、软件编程,并做出课程设计报告。因此,在设计中,要求学生应该全面考虑各个设计环节以及它们之间的相互联系,在设计思路上不框定和约束同学们的思维,同学们可以发挥自己的创造性,有所发挥,并力求设计方案凝练可行、思路独特、效果良好。 本课程设计的目的是为了让学生能够全面了解电子电路应用系统的整个设计过程,逐步掌握系统开发的以下相关技术: (1)熟悉系统设计概念; (2)利用所学数电、模拟电路知识,设计电路图; (3)利用PROTEL软件画原理图及PCB; (4)熟悉系统项目设计报告填写知识; (5)培养团队合作意识。 通过本课程设计,有助于学生更好地了解整个课程的知识体系,锻炼学生实际设计能力、分析和思考能力,使其理论与实践相结合,从而为后续课程的学习、毕业设计环节以及将来的实际工作打好坚实的基础。 二、课程设计的具体内容 电子系统设计实践课程就是锻炼学生系统设计、分析和思考能力,全面运用课程所学知识,发挥自己的创造性,全面提高系统及电路设计、原理图及PCB 绘画等硬件水平和实际应用能力,从而体现出电子系统设计的真谛。下面是各个设计阶段的具体内容。 1.系统方案认识 根据所设定的题目,能够给出系统设计方案与思路

题目:信号发生器产生电路,请设计一个能产生正弦波、方波及三角波电路,并制作原理图,然后阐述其原理。 基本原理: 系统框图如图1所示。 图1 低频信号发生器系统框图 低频信号发生器系统主要由CPU、D/A转换电路、基准电压电路、电流/电 压转换电路、按键和波形指示电路、电源等电路组成。 其工作原理为当分别按下四个按键中的任一个按键就会分别出现方波、锯齿 波、三角波、正弦波,并且有四个发光二极管分别作为不同的波形指示灯。2、各部分电路原理 (1)DAC0832芯片原理 ①管脚功能介绍(如图5所示) 图5 DAC0832管脚图 1) DI7~DI0:8位的数据输入端,DI7为最高位。

第1节 电子系统设计的发展趋势

(1) 电子系统设计的发展主要受以下两个技术的推动: 微电子技术——使得硅片单位面积上集成的晶体管数目越来越多。 计算机技术——软硬件技术的发展推动EDA技术的发展。 (2) 集成电路设计都是从器件的物理版图设计入手 EDA技术发展的推动 (3) 出现集成电路单元库,集成电路设计进入逻辑级,极大地推动IC产业的发展。 电子系统是IC之间通过PCB板等技术进行互联来构成的。PCB板上IC芯片之间连线的延时、PCB板的可靠性、PCB板的尺寸等因素,会对系统的整体性能造成很大的限制。 由IC互联构成的嵌入式系统设计 (4) IC互联构成的系统 (设计和工艺EDA技术 ) SOC——片上系统 SOC是指将一个完整产品的功能集成在一个芯片上或芯片组上。 SOC从系统的整体角度出发,以IP (Intellectual property)核为基础,以硬件描述语言作为系统功能和结构的描述手段,借助于以计算机为平台的EDA工具进行开发。由于SOC设计能够综合、全盘考虑整个系统的情况,因而可以实现更高的系统性能。SOC的出现是电子系统设计领域内的一场革命,其影响将是深远和广泛的。 由SOC构成嵌入式系统设计:

IC:集成电路。 ASIC:专用集成电路。 通用集成电路:FPGA、CPLD等。 SOC:属于专用集成电路。 (1)SOC: 它是指将一个完整产品的各功能集成在一个芯片中,可以包括有CPU、存储器、硬 件加速单元(AV处理器、DSP、浮点协处理器等)、通用I/O(GPIO)、UART接口和模 数混合电路(放大器、比较器、A/D、D/A、射频电路、锁相环等),甚至延伸到传感器、 微机电和微光电单元。(如果把CPU看成是大脑,则SOC就是包括大脑、心脏、眼睛和 手的系统。) SOC系统的构建一个重要特性: 使用可重用的IP来构建系统。可以缩短产品的开发周期,降低开发的复杂度。可重 复利用的IP包括元件库、宏及特殊的专用IP等,如通信接口IP、输入输出接口IP;各家 开发商开发的微处理器IP,如ARM公司的RISC架构的ARM核。SOC嵌入式系统就是微 处理器的IP再加上一些外围IP整合而成的。SOC以嵌入式系统为核心,集软、硬件于一体,并追求最高的集成度,是电子系统设计追求的必然趋势和最终目标,是现代电子系统 设计的最佳方案。SOC是一种系统集成芯片,其系统功能可以完全由硬件完成,也可以由 硬件和软件协同完成。目前的SOC主要指后者。 SOC存在的问题: SoC初衷很好,但现实中却缺乏好的解决方案。由于是基于ASIC实现SoC系统,设 计周期长、费用高昂、成功率不高而且产品不能修改显得系统的灵活性差,往往使得学术 科研机构、中小企业难以承受。但是SoC以系统为中心、基于IP核的多层次、高度复用,可实现软硬件的无缝结合,综合性高。 (2)片上可编程系统(SoPC—System on a Programmable Chip)

嵌入式系统之基于QT的简单计算器

嵌入式系统课程设计报告 题目:基于QT的简单计算器 专业:计算机科学与技术 班级: 姓名: 学号: 指导老师: 日期:2012-12-26 第一章前言 设计背景 计算器(calculator;counter)一般是指“电子计算器”,计算器是能进行数学运算的手持机器,拥有集成电路芯片,其结构简单,比现代电脑结构简单得多,可以说是第一代的电子计算机(电脑)。计算器这一小小的程序机器实际上是从计算机中割裂出来的衍生品,虽然功能较单一,但因其操作模式的方便快捷和价格的低廉,携带方便等特点,已经被广泛应用于工程、学习、商业贸易等日常生活中,极大的方便了人们对于数字的整合运算,成为人们生活和办公中的必备品之一,深得使用者的青睐。 设计目的 本程序是基于linux下的嵌入式开发,所用软件为QT Creator,程序虽然简单,但是通过本程序的设计,可以进一步了解嵌入式系统开发工具以及熟悉linux环境下的常用命令,为以后进入嵌入式领域打下一定的基础。 通过该计算器程序软件的设计,培养独立思考、综合运用所学有关相应知识的能力,更好地巩固《C++程序语言设计》和《高级程序设计》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手编程能力,体验理论与实践相结合的过程。

第二章功能需求分析 功能描述 本次设计的计算器在功能上大致与Windows系统自带的计算器程序相似,对于所设计的科学计算器,其功能大致为可以进行加(+)、减(-)、乘(*)、除(/)、简单算术计算。由于接触QT时间还不太久,所以目前只能简单地实现这些功能,相信随着以后逐步的了解,本程序将实现更多的功能。 第三章开发工具简介 QT简介 由于本次设计的小程序是用QT Creator所设计的,所以我觉得有必要先介绍下QT开发工具的背景。 Qt是一个1991年由奇趣科技开发的跨平台C++图形界面应用程序开发框架。它既可以开发GUI程式,也可用于开发非GUI程式,比如控制台工具和服务器。Qt是面向对象语言,易于扩展,并且允许组件编程。 QT所具有的优势是:优良的跨平台特性,Qt支持下列操作系统: Microsoft Windows 95/98,Microsoft Windows NT,Linux,Solaris,SunOS,HP-UX,Digital UNIX (OSF/1,Tru64),Irix,FreeBSD,BSD/OS,SCO,AIX,OS390,QNX 等等。 面向对象:Qt 的良好封装机制使得Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。Qt 提供了一种称为signals/slots 的安全类型来替代callback,这使得各个元件之间的协同工作变得十分简单。 丰富的API:Qt 包括多达250 个以上的C++ 类,还提供基于模板的collections,serialization,file,I/O device,directory management,date/time 类。甚至还包括正则表达式的处理功能。支持2D/3D 图形渲染,支持OpenGL大量的开发文档。 第四章详细设计过程 开发环境的搭建 本次所用系统环境为Ubuntu LTS,内核为Ubuntu搭建QT环境大致过程为: 1.安装g++,ubuntu默认是不带g++的,如果不安装的话,后面是无法进行桌面版的qt应用程序进行编译的,在终端中执行以下命令: sudo apt-get install g++ 2. Qt桌面版的安装 3.安装arm-linux-gcc (配置环境变量gedit /.bashrc 添加路径 export PATH=$PATH:/opt/FriendlyARM/toolschain/) 使配置文件立即生效:source /.bashrc或者注销logout 最好重启

电子系统综合设计实验报告

电子系统综合设计实验报告 所选课题:±15V直流双路可调电源 学院:信息科学与工程学院 专业班级: 学号: 学生姓名: 指导教师: 2016年06月

摘要本次设计本来是要做±15V直流双路可调电源的,但由于买不到规格为±18V的变压器,只有±15V大小的变压器,所以最后输出结果会较原本预期要小。本设计主要采用三端稳压电路设计直流稳压电源来达到双路可调的要求。最后实物模型的输出电压在±13左右波动。 1、任务需求 ⑴有+15V和-15V两路输出,误差不超过上下1.5V。(但在本次设计中,没有所需变压器,所以只能到±12.5V) ⑵在保证正常稳压的前提下,尽量减小功效。 ⑶做出实物并且可调满足需求 2、提出方案 直流可变稳压电源一般由整流变压器,整流电路,滤波器和稳压环节组成如下图a所示。 ⑴单相桥式整流 作用之后的输出波形图如下:

⑵电容滤波 作用之后的输出波形图如下: ⑶可调式三端集成稳压器是指输出电压可以连续调节的稳压器,有输出正电压的LM317三端稳压器;有输出负电压的LM337三端稳压器。在可调式三端集成稳压器中,稳压器的三个端是指输入端、输出端和调节端。 LM317的引脚图如下图所示:(LM337的2和3引脚作用与317相反)

3、详细电路图: 因为大容量电解电容C1,C2有一定的绕制电感分布电感,易引起自激振荡,形成高频干扰,所以稳压器的输入、输出端常并入瓷介质小容量电容C5,C6,C7,C8用来抵消电感效应,抑制高频干扰。 参数计算: 滤波电容计算: 变压器的次级线圈电压为15V ,当输出电流为0.5A 时,我们可以求得电路的负载为I =U /R=34Ω时,我们可以根据滤波电容的计算公式: C=т/R,来求滤波电容的取值范围,其中在电路频率为50HZ 的情况下,T 为20ms 则电容的取值范围大于600uF ,保险起见我们可以取标准值为2200uF 额定电压为50V 的点解电容。另外,由于实际电阻或电路

第1节 电子系统设计的发展趋势

(1)电子系统设计的发展主要受以下两个技术的推动:?微电子技术——使得硅片单位面积上集成的晶体管数目越来越多。 计算机技术——软硬件技术的发展推动EDA技术的发展。?(2) 集成电路设计都是从器件的物理版图设计入手 EDA技术发展的推动 ?(3) 出现集成电路单元库,集成电路设计进入逻辑级,极大地推动IC产业的发展。?电子系统是IC之间通过PCB板等技术进行互联来构成的。PCB板上IC芯片之间连线的延时、PCB板的可靠性、PCB板的尺寸等因素,会对系统的整体性能造成很大的限制。 由IC互联构成的嵌入式系统设计 (4) IC互联构成的系统 (设计和工艺EDA技术) SOC——片上系统 SOC是指将一个完整产品的功能集成在一个芯片上或芯片组上。 SOC从系统的整体角度出发,以IP (Intellectual property)核为基础,以硬件描述语言作为系统功能和结构的描述手段,借助于以计算机为平台的EDA工具进行开发。由于SOC设计能够综合、全盘考虑整个系统的情况,因而可以实现更高的系统性能。SOC的出现是电子系统设计领域内的一场革命,其影响将是深远和广泛的。 由SOC构成嵌入式系统设计:

IC:集成电路。?ASIC:专用集成电路。 通用集成电路:FPGA、CPLD等。 SOC:属于专用集成电路。 (1)SOC: 它是指将一个完整产品的各功能集成在一个芯片中,可以包括有CPU、存储器、硬件加速单元(AV处理器、DSP、浮点协处理器等)、通用I/O(GPIO)、UART接口和模数混合电路(放大器、比较器、A/D、D/A、射频电路、锁相环等),甚至延伸到传感器、微机电和微光电单元。(如果把CPU看成是大脑,则SOC就是包括大脑、心脏、眼睛和手的系统。) SOC系统的构建一个重要特性: 使用可重用的IP来构建系统。可以缩短产品的开发周期,降低开发的复杂度。可重复利用的IP包括元件库、宏及特殊的专用IP等,如通信接口IP、输入输出接口IP;各家开发商开发的微处理器IP,如ARM公司的RISC架构的ARM核。SOC嵌入式系统就是微处理器的IP再加上一些外围IP整合而成的。SOC以嵌入式系统为核心,集软、硬件于一体,并追求最高的集成度,是电子系统设计追求的必然趋势和最终目标,是现代电子系统设计的最佳方案。SOC是一种系统集成芯片,其系统功能可以完全由硬件完成,也可以由硬件和软件协同完成。目前的SOC主要指后者。 SOC存在的问题: SoC初衷很好,但现实中却缺乏好的解决方案。由于是基于ASIC实现SoC系统,设计周期长、费用高昂、成功率不高而且产品不能修改显得系统的灵活性差,往往使得学术科研机构、中小企业难以承受。但是SoC以系统为中心、基于IP核的多层次、高度复用,可实现软硬件的无缝结合,综合性高。?(2)片上可编程系统(SoPC—Systemona Programmable Chip) ?SoPC是一种灵活、高效的SoC解决方案。它将处理器、存储器、I/O口、LVDS等系统需要的功能模块集成到一个PLD器件上,构成一

电子系统综合设计方案设计

电子系统综合设计 方案设计

1引言 温控仪是调控一体化智能温度控制仪表,它采用了全数字化集成设计,具有温度曲线可编程或定点恒温控制、多重PID调节、输出功率限幅曲线编程、手动/自动切换、软启动、报警开关量输出、实时数据查询、与计算机通讯等功能,将数显温度仪表和ZK晶闸管电压调整器合二为一,集温度测量、调节、驱动于一体,仪表直接输出晶闸管触发信号,可驱动各类晶闸管负载。YWK-CT温度控制器采用智能PID控制,当通过热电偶(热电阻)采集的被测温度偏离所希望的给定值时,YWK-CT温度控制器可根据测量信号与给定值的偏差进行比例(P)、积分(I)、微分(D)运算,从而控制继电器通断比率,促使测量值恢复到给定值,达到自动控制的效果;控制器还具有上、下限温度告警和继电器输出功能,性价比高,可广泛用于电力、化工、注塑、包装、食品等企业。此次设计温控仪主要想用温度传感器采集当前温度,在数码管上显示。通过这次课程设计锻炼我们的单片机应用能力以及对电子设备的实际操作能力,也可以说是为最后的毕业设计做铺垫。希望通过这次设计,能让自己对电子设计有更清晰的概念,而不是纸上谈兵。能够让所学与实际相结合。 2 系统设计 2.1总体方案设计

温控仪电路原理图

2.1.3总体电路图 2.1.4温控仪设计文字说明 温度传感器输出为电阻值,经信号调理电路得到电压值,再经AD转换电路实现数模转换。由单片机控制显示管输出。除此,可设置预置温度,通过单片机外部中断,用按键控制预置温度。当实际温度高于预置温度,红灯亮,蜂鸣器响;低于时,则绿灯亮。 A/D采集电路: 启动、等待、采集数据。单片机电路:最小系统。键盘及显示电路:键盘数据输入和温度显示。输出控制电路:I/O驱动、继电器、指示灯、负载。 2.2总体设计要求 主要技术指标 (1)温度范围为:-20 ℃~ +100℃, 最小区分度为1℃,标定温度≤ 1℃; (2)温度采样时间:500ms ~1min (可调);

基于QT和ARM的嵌入式点菜系统

基于QT和ARM的嵌入式点菜系统 摘要:餐饮企业的传统点菜方式既费时又增加开销,而且经常会出现丢单,漏单的情况的发生。最近流行的点菜宝等系统一方面采用Wince操作系统,增加额外开销,令一方面它们都是服务员手持,顾客面对的还是纸质菜单,虽然说是电子点菜,但是它为我们解决的无非是客人点完菜后服务员不用往厨房跑。从某种意义上说,这些不能称之为真正的电子点菜。在总结以往电子电子点菜的基础上,我们利用S3C2440芯片开发了基于Linux 操作系统和Arm9处理器的电子点菜系统。该系统利用QT进行图形界面设计,利用Sqlite 数据库进行数据存储,依赖TCP/IP网络进行数据传输。 关键词:嵌入式ARM 点菜系统Linux Qt 嵌入式点菜系统是利用计算机技术、网络通信技术、Sqlite数据库,QtGui图形界面设计等,根据当今餐饮企业的需求而设计的餐饮企业智能控制和管理的一种嵌入式系统。 一、嵌入式系统 目前,在嵌入式系统应用领域中,不少人对什么是嵌入式系统不甚了解。有些人搞了十多年的单片机应用,不知道单片机就是一个最典型的嵌入式系统;也有些人在解释什么是嵌入式系统时,不是从定义出发,而是列举了嵌入式系统的一些特点,往往不知所云。因此,有必要从现代计算的发展历史,了解嵌入式系统的由来,从学科建设的角度来探讨嵌入式系统较为准确的定义。 嵌入式系统诞生于微型机时代,嵌入式系统的嵌入性本质是将一个计算机嵌入到一个对象体系中去,这些是理解嵌入式系统的基本出发点。由于嵌入式计算机系统要嵌入到对象体系中,实现的是对象的智能化控制,因此,它有着与通用计算机系统完全不同的技术要求与技术发展方向。 通用计算机系统的技术要求是高速、海量的数值计算;技术发展方向是总线速度的无限提升,存储容量的无限扩大。而嵌入式计算机系统的技术要求则是对象的智能化控制能力;技术发展方向是与对象系统密切相关的嵌入性能、控制能力与控制的可靠性。

电子系统设计的基本原则和方法

电子系统设计的基本原则和设计方法 一、电子系统设计的基本原则: 电子电路设计最基本的原则应该使用最经济的资源实现最好的电路功能。具体如下: 1、整体性原则 在设计电子系统时,应当从整体出发,从分析电子电路整体内部各组成元件的关系以及电路整体与外部环境之间的关系入手,去揭示与掌握电子系统整体性质,判断电子系统类型,明确所要设计的电子系统应具有哪些功能、相互信号与控制关系如何、参数指标在那个功能模块实现等,从而确定总体设计方案。 整体原则强调以综合为基础,在综合的控制与指导下,进行分析,并且对分析的结果进行恰当的综合。基本的要点是:(1)电子系统分析必须以综合为目的,以综合为前提。离开了综合的分析是盲目的,不全面的。(2)在以分析为主的过程中往往包含着小的综合。即在对电子系统各部分进行分别考察的过程中,往往也需要又电子局部的综合。(3)综合不许以分析为基础。只有对电子系统的分析了解打到一定程度以后,才能进行综合。没有详尽以分析电子系统作基础,综合就是匆忙的、不坚定的,往往带有某种主管臆测的成分。 2、最优化原则 最优化原则是一个基本达到设计性能指标的电子系统而言的,由于元件自身或相互配合、功能模块的相互配合或耦合还存在一些缺陷,使电子系统对信号的传送、处理等方面不尽完美,需要在约束条件的限制下,从电路中每个待调整的原器件或功能模块入手,进行参数分析,分别计算每个优化指标,并根据有忽而

指标的要求,调整元器件或功能模块的参数,知道目标参数满足最优化目标值的要求,完成这个系统的最优化设计。 3、功能性原则 任何一个复杂的电子系统都可以逐步划分成不同层次的较小的电子子系统。仙子系统设计一般先将大电子系统分为若干个具有相对独立的功能部分,并将其作为独立电子系统更能模块;再全面分析各模块功能类型及功能要求,考虑如何实现这些技术功能,即采用那些电路来完成它;然后选用具体的实际电路,选择出合适的元器件,计算元器件参数并设计个单元电路。 4、可靠性与稳定性原则 电子电路是各种电气设备的心脏,它决定着电气设备的功能和用途,尤其是电气设备性能的可靠性更是由其电子电路的可靠性来决定的。电路形式及元器件选型等设计工作,设计方案在很大程度上也就决定可靠性,在电子电路设计时应遵循如下原则:只要能满足系统的性能和功能指标就尽可能的简化电子电路结构;避免片面追求高性能指标和过多的功能;合理划分软硬件功能,贯彻以软代硬的原则,使软件和硬件相辅相成;尽可能用数字电路代替模拟电路。影响电子电路可靠性的因素很多,在发生的时间和程度上的随机性也很大,在设计时,对易遭受不可靠因素干扰的薄弱环节应主动地采取可靠性保障措施,使电子电路遭受不可靠因素干扰时能保持稳定。抗干扰技术和容错设计是变被动为主动的两个重要手段。 5、性能与价格比原则 在当今竞争激烈的市场中,产品必须具有较短的开发设计周期,以及出色的性能和可靠性。为了占领市场,提高竞争力,所设计的产品应当成本低、性能好、

用QT Designer快速开发嵌入式系统gui概要

用QT Designer快速开发嵌入式系统 gui 用QT Designer快速开发嵌入式系统gui 类别:嵌入式系统 用QT Designer快速开发嵌入式系统guiRAD(快速应用程序开发)是一种高效的软件开发形式,可以让用户在极短的时间里创建一个图形化的用户界面。通常情况下,在一张空白的表单上,开发人员可以通过拖拉或点击的方式,在窗口的适当位置上添加一些输入框和按钮等窗口组件。这时,RAD工具 会自动编写和维护代码。而用户所要做的只是确定当点击按钮或选择选单选项时将要发生什么事件。在Linux下,一个非常流行的RAD工具就是Qt Designer。它是嵌入式公司Trolltech的Qt软件包的一个组成部分。如果用户使用的是KDE桌面,那么Qt已经自动安装上了,Qt Designer也很有可能已经被安装好。如果用户的系统没有安装,那么针对不同的版本,可以很方便地找到KDE Development Tools,并安装之。以Red Hat 9.0为例,用户可以从主 选单→系统设置→添加/删除应用程序中选择KDE软件开发,即可完成Qt Designer的安装(如图1所示)。图1 安装Qt Designer创建为了快速地向大家展示一下Qt Designer功能,先创建一个简单的摄氏温度和华氏温度的转换程序。本文里将设计一个简单的GUI,并且添加一些简单的代码来实现温度 的转换。因为是为了展示一下快速的开发过程,而不是一个严谨的软件项目的开发,所以这里不会进行任何的错误检查,也不进行输入检验(也就是检查用户的输入是否为合法的温度形式)、缓冲溢出检查等在日常软件开发中一定要做的步骤。如果用户使用的是KDE,那么选单上应该已经有Qt Designer的图标。不同的发行版,图标的位置会有所不同。如果用户的发行版没有Qt Designer图标,那么可以在命令行模式下输入“designer”命令来启动该开发工具。在Red Hat 9.0中,可以通过点击主选单→编程→更多编程工具→Qt Designer来启动(如图2)。图2 启动Qt DesignerQt Designer首先呈现给用户的是一个New/Open对话框(如图3所示)。因为这里要创建一个C++程序,所以在此选择C++ Project,点击“OK”继续。图3 New/Open对话框选 择一个想要保存文件的位置,并且给出一个文件名,在此使用的文件名是cfconv。注意这里文件名的扩展名一定要是.pro。点击“Save”后,返回到了Project Settings对话框(见图4)。图4 保存文件图5 Qt Designer主窗口现在就已经在Qt Designer主窗口上了(见图5),确保Property Editor 可见。如果它是不可见的,用户可以通过Windows→Views→Property Editor/Signal Handlers选单选项来使其可见(缺省情况下是可见的)。图6 创建一个新的表单图7 更改表单的属性通过选择File→New选单,然后选择Dialog来创建一个新的对话框。这时Qt Designer会创建一个新的空白表单(见图6),用户可以在其上放置输入框和按钮。打开Property Editor(见图7),把name的值改为“cfconvMainForm”,把caption的值改为

电子系统综合设计报告

电子系统综合设计报告 姓名:陈丹 学号:100401202 专业:电子信息工程 日期:2013-4-2 南京理工大学紫金学院电光系

1 引言 温控仪是调控一体化智能温度控制仪表,它采用了全数字化集成设计,具有温度曲线可编程或定点恒温控制、多重PID调节、输出功率限幅曲线编程、手动/自动切换、软启动、报警开关量输出、实时数据查询、与计算机通讯等功能,将数显温度仪表和ZK晶闸管电压调整器合二为一,集温度测量、调节、驱动于一体,仪表直接输出晶闸管触发信号,可驱动各类晶闸管负载。YWK-CT温度控制器采用智能PID控制,当通过热电偶(热电阻)采集的被测温度偏离所希望的给定值时,YWK-CT温度控制器可根据测量信号与给定值的偏差进行比例(P)、积分(I)、微分(D)运算,从而控制继电器通断比率,促使测量值恢复到给定值,达到自动控制的效果;控制器还具有上、下限温度告警和继电器输出功能,性价比高,可广泛用于电力、化工、注塑、包装、食品等企业。此次设计温控仪主要想用温度传感器采集当前温度,在数码管上显示。通过这次课程设计锻炼我们的单片机应用能力以及对电子设备的实际操作能力,也可以说是为最后的毕业设计做铺垫。希望通过这次设计,能让自己对电子设计有更清晰的概念,而不是纸上谈兵。能够让所学与实际相结合。

2 系统设计 2.1总体方案设计 2.1.1总体设计流程 2.1.2温控仪原理图 开始 理解课题技术指标 子系统设计 单元电路设计 元器件选择 仿真、安装调试 正式样机设计 结束 调整 是否合格 N Y 设定输入 单片机 LED 显示 控制输出 双向可 继电器 控制 风扇 信号调 A/D 采集 加热丝 传感器

万年历电子系统设计方案

万年历电子系统设计方案 一、设计要求与方案论证 1.1 项目设计容、功能、指标: (1)基本要求 ①具有年、月、日、时、分、秒等功能; ②具有自动判别闰年闰月的功能 ③有一路闹钟 ( 2 ) 创新要求 ①具有闹钟功能,时间到后蜂鸣器响,led灯亮。 ②设置的时间日期掉电不丢失 ③具有温度计功能; 1.2项目设计方案和比较 1.2.1单片机芯片的选择方案和论证: 方案一: 采用89C51芯片作为硬件核心,采用Flash ROM,部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。 方案二: 采用STC89C52,片ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片部存储器为8KB ROM 存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。 所以选择采用AT89S52作为主控制系统. 1.2.2 显示模块选择方案和论证: 方案一: 采用Lcd液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见。 方案二: 采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示. 方案三: 采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。 由于显示的容较多,采用led数码管不方便,所以采用了LCD液晶作为显示。

相关主题
文本预览
相关文档 最新文档