1341901124-武易-嵌入式系统设计实验报告_第1页
1341901124-武易-嵌入式系统设计实验报告_第2页
1341901124-武易-嵌入式系统设计实验报告_第3页
1341901124-武易-嵌入式系统设计实验报告_第4页
1341901124-武易-嵌入式系统设计实验报告_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、江苏科技大学嵌入式系统设计实验报告学号:1341901124姓名:武易专业:计算机科学与技术2016-12-30实验一 嵌入式硬件系统设计一、实验目的通过该实验使学生掌握在Protel进行电路原理图设计和PCB 制版设计,电路原理图的检测等;培养学生的硬件电路设计能力。二、实验内容1)安装Protel,设置库文件2)电路原理图设计3)PCB设计三、实验步骤1、安装Protel并导入库文件由于本机操作系统为Windows 10,不能够安装实验所指定的Protel 99软件,因此使用了Altium Designer 6.9作为代替。2、电路原理图设计本实验中设计了一个基于8051内核的电路,可进行

2、下载程序,并扩展了一个蜂鸣器。 连接好所有线路后进行原理图检测。3、PCB设计使用上面的原理图进行PCB设计。绘制Bottom Solder层确定板子尺寸,Keep-Out Layer层确定线路范围,导入原理图后手动排列元件布局,使用规则自动布线,双层板。四、实验结果五、实验心得通过本次实验,我学到了制作PCB电路板的基本流程和方法。实验过程中由于我所使用的软件版本和老师的不同,因此在整个过程中遇到不少困难,最后在老师的指导以及通过查找资料解决了问题。实验二 基于QT的界面设计一、实验目的通过使用Qt软件,使学生掌握使用Qt进行嵌入式软件的UI设计。二、实验内容1)掌握Qt软件安装和使用2)使

3、用Qt编写图形用户接口三、实验步骤使用QT Designer编写一个图形用户界面-密码验证程序1. 安装QDevelop和Qt Designer2. 界面设计3. 编辑信号和槽4. 编写代码5. 编译6. 测试四、代码Mainwindow.h#ifndef MAINWINDOW_H#define MAINWINDOW_H#include #includeui_mainwindow.hnamespace Ui class MainWindow;class MainWindow : public QMainWindow, public Ui:check Q_OBJECTpublic: explic

4、it MainWindow(QWidget *parent = 0, Qt:WindowFlags f=0);private slots: void passwdslot(); void zero0(); void one1(); void two2(); void three3(); void four4(); void five5(); void six6(); void seven7(); void eight8(); void nine9();#endif / MAINWINDOW_HMainwindow.cpp#include mainwindow.h#include#include

5、MainWindow:MainWindow(QWidget *parent, Qt:WindowFlags f) : QMainWindow(parent, f) setupUi(this);void MainWindow:passwdslot() if(lineEdit-text()!=123456) QMessageBox:information(this,Input Erro,tr(Please input again); lineEdit-setText(); lineEdit-setFocus(); return; else QMessageBox:information(this,

6、Input correct!,tr(yes!); return; void MainWindow:zero0() QString add; add=lineEdit-text()+zero-text(); lineEdit-setText(add); lineEdit-setFocus();void MainWindow:one1() QString add; add=lineEdit-text()+one-text(); lineEdit-setText(add); lineEdit-setFocus();void MainWindow:two2() QString add; add=lin

7、eEdit-text()+two-text(); lineEdit-setText(add); lineEdit-setFocus();void MainWindow:three3() QString add; add=lineEdit-text()+three-text(); lineEdit-setText(add); lineEdit-setFocus();void MainWindow:four4() QString add; add=lineEdit-text()+four-text(); lineEdit-setText(add); lineEdit-setFocus();void

8、 MainWindow:five5() QString add; add=lineEdit-text()+five-text(); lineEdit-setText(add); lineEdit-setFocus();void MainWindow:six6() QString add; add=lineEdit-text()+six-text(); lineEdit-setText(add); lineEdit-setFocus();void MainWindow:seven7() QString add; add=lineEdit-text()+seven-text(); lineEdit

9、-setText(add); lineEdit-setFocus();void MainWindow:eight8() QString add; add=lineEdit-text()+eight-text(); lineEdit-setText(add); lineEdit-setFocus();void MainWindow:nine9() QString add; add=lineEdit-text()+one-text(); lineEdit-setText(add); lineEdit-setFocus();五、实验结果六、实验心得本次实验虽然是第一次使用Linux平台上的图形用户界

10、面编程工具,但由于使用的编程语言是C+,并且制作的界面比较简单,遇到一点小困难,但是在互联网的帮助下最终解决。还有使用终端进行编程和其他的复杂操作没有进行,因此尚需学习。实验三 嵌入式应用系统设计1一、实验目的通过该实验使学生掌握应用系统设计设计的方法和流程,掌握设计案例中需求分析和设计方法,硬件平台搭建等。要求学生通过查阅资料,自己设计制作一个完整的嵌入式系统项目。二、实验内容1)掌握嵌入式应用系统设计方法和流程2)撰写需求分析和设计方案3)硬件平台设计和驱动调试三、实验步骤设计一个成本低、可靠性好且通用性高的嵌入式图像采集系统其应具有如下特点:1、控制成本;2、保证硬件设备兼容性、安全性;

11、3、具有一定的安全性(断电转储、身份认证)。系统总体架构设计系统总体架构分为硬件和软件两部分内容。1、系统的硬件架构本设计采用基于ARM9的嵌入式模块作为系统的中心处理模块,是整个设计中的核心模块。摄像装置采用USB摄像头,中心处理模块通过USB接口连接摄像头,并驱动摄像头采集视频信号,经过相应的处理后通过以太网或USB进行传输。为实现断电转储功能,电源由外部电源及备份电源两路组成,当外部电源掉电时,自动切换到备份电源工作,同时停止视频信号对外传输,并将信号经过编码后存储到自带的存储设备中。2、系统的软件架构系统的软件架构主要由五个模块组成,即USB驱动程序模块、视频服务器模块、TF Card

12、读写模块、电源信息处理模块和终端视频信号处理模块。USB驱动程序模块中包含了USB总线驱动程序,USB摄像头数据输入驱动程序,这个模块的功能即驱动摄像头设备并采集视频信号,和与终端计算机的通信;视频服务模块包括视频信号处理模块,基于USB的视频信号传输模块,基于TCP/IP协议的视频信号传输模块和视频编码模块,这个模块的功能即处理摄像头采集到的视频信号,可将视频信号传输到被允许的视频监控终端,也可将视频信号编码转储;TF Card读写模块包括TF Card Reader驱动模块和数据写入模块,这个模块的功能即将已编码的视频数据存储到TF Card;电源信息处理模块的功能即识别电源信息,判断应将

13、视频信号做何处理;终端视频信号处理模块包括视频信号接收、存储及播放程序。3、系统的安全性考虑在本设计中,采取了硬件级和软件级两种方式加强系统的安全性。硬件层面由断电转储功能保证系统在外部电源失效时保证视频信息得以保存,软件层面在嵌入式视频服务器软件内做IP地址过滤,对发出视频信号传输请求的IP地址进行过滤。总体硬件模块根据系统设计的要求与综合考虑,GT2240开发板核心板的硬件配置与外围扩展电路完全可以满足本课题的前期设计与后期的实验要求,使用其作为整个系统的核心模块进行硬件扩展以及程序设计、刻录、运行具有可行性。该电路使用LM358运算放大器作为电压比较器使用,分别输入外接电源以及备份电源的

14、电压,输出经过一个反向器后输出给三极管和中央处理器。三极管控制电磁继电器,达到切换电压的目的。USB摄像装置本设计中采用的视频摄像的实验装置为目前使用广泛的采用USB输出的数字摄像头。数字摄像头的工作原理为:景物通过镜头生成的光学图像投射到图像传感器表面上,转为电信号,经过模数转换后变为数字信号,并送到专用的数字信号处理芯片中进行压缩编码处理,再通过接口电路传输到PC中进行处理。采用USB输出的数字摄像头相比于其他种类的视频采集装置,具有如下优点:1.分辨率一般都大于或等于30W像素,均可实现VGA级(640480)的压缩视频信号输出。2.内置专用DSP芯片,可对原始视频信号做前期压缩编码处理

15、,减少系统中MCU时间占用与程序编写的工作量。3.USB接口传输速度较快,且向下兼容低版本协议,USB1.1接口设备带宽也完全满足VGA级压缩视频数据传输。USB总线英文全名为Universal Serial Bus,即通用串行总线,是目前应用最为广泛的一种连接外围设备的总线标准。其最大的优点在于支持USB硬件设备的热插拔,并且可以通过一个USB控制器管理最多7级127个USB设备。在S3C2440片内集成了一个USB Host Controller,也就是说它可以直接通过USB硬件接口电路与USB设备相连,并可以通过USB HUB进行USB设备数量的扩展。S3C2440的USB Host C

16、ontroller是符合USB1.1协议标准的硬件控制器,由于USB协议的向下兼容性,符合USB2.0协议标准的设备同样可以接在这个接口上使用USB1.1的协议进行数据传输。系统调试接口本设计使用RS232串口作为系统的调试接口与PC机进行通信。系统与PC机通过串口线连接,加电后在PC机上使用Linux操作系统下的Minicom或Windows操作系统下的超级终端等串口终端软件,即可以查看系统输出的启动、运行状态信息,并可以通过输入命令行进行系统配置或运行相关程序。四、实验结果系统硬件架构信息及信号流向图前置电源管理模块原理图及PCBUSB Host Controller与USB设备的硬件接口

17、电路五、实验心得本次实验是第一次进行系统级别的软硬件综合设计,难度相较之前的所有实验都有了不小的提升。一开始的设计过程可谓是磕磕绊绊,进展缓慢。但是在老师的帮助下,渐渐理清了思路,有了一些想法,再通过查阅资料,终于完成了一些初步的设计和细节的设计。实验四 嵌入式应用系统设计2一、实验目的通过该实验使学生掌握嵌入式应用系统开发、编译和调试的方法,掌握嵌入式应用系统单个功能模块的设计以及功能模块的联合调试等。二、实验内容1)掌握嵌入式应用系统功能模块的设计术2)掌握嵌入式应用系统功能模块的联合调试技术三、实验步骤1、Linux下通用USB摄像头数据输入驱动程序Linux系统的先进性就在于其开放性,

18、任何人都可以了解其内核架构、运行机制,这样的一种开放性又反过来对Linux的进一步发展形成了有力地促进。在研究Linux下摄像头驱动及视频采集的过程中,本设计参考一个开源网站提供的Linux下通用的摄像头驱动程序进行架构研究与驱动测试。经过研究、分析、编写与移植,在本设计中实现了基于S3C2440的嵌入式开发板与ARM-Linux下的通用摄像头的驱动。本设计中使用的是针对Linux2.6版本内核的spca5xx-Light-Edition,这个版本的特点是编译生成后的驱动程序文件体积比较小,节省驱动程序加载及应用程序运行的存储空间,比较适合运行嵌入式Linux的嵌入式系统使用。经过对源代码的研

19、究与分析,发现spca5xx-Light-Edition与其他版本在功能上的主要不同之处如下:1.减少了音频部分的驱动及接口函数,简化了应用程序的编写。2.减少了对视频信号的JPEG编码、压缩的功能,大大减少系统中CPU的工作量,更适合低工作频率、无协处理器的嵌入式MCU使用。3.只能支持JPEG视频流输出的摄像头,也就是说,视频图像的编码、压缩在摄像头内的DSP处理器中完成。综上所述,spca5xx-Light-Edition驱动程序是适合在嵌入式Linux系统下使用的一款通用USB摄像头数据输入驱动程序,尽管在功能上有一定的裁剪,但是对于实现视频监控的主要功能来说已经足够了,而且保持着对目

20、前市场上绝大多数USB摄像头的支持与良好的兼容性,其对音频等功能的裁剪也在一定程度上减少了视频服务器与客户端播放软件的复杂程度。2、USB数据输入驱动程序移植Linux的设备驱动程序有两种加载模式,一种是内核直接加载,也就是说Linux启动后驱动程序直接进入内核,在映射内存中占用一定的空间;另一种就是模块加载,即Linux启动以后通过insmod命令加载驱动程序到内核,并且可以rmmod命令从内核中卸载该程序。比较这两种驱动程序加载方式,无疑模块加载方式更加能够适应嵌入式系统的资源条件与功能要求。在本设计中,摄像头的驱动程序将以模块的方式加载入内核。1.将spca5xx的驱动程序选项加入到ME

21、NUCONFIG的MENU之中,以供选择并在编译中编译进入内核。在文件/drivers/usb/config.in中,“CONFIG_VIDEO_DEV”项如下。Dep_tristate USB Philips Cameras CONFIG_USB_PWC $CONFIG_USB $CONFIG_VIDEO_DEV添加如下代码。Dep_tristate USB SPCA5XX Cameras CONFIG_USB_SPCA5XX $CONFIG_USB $CONFIG_VIDEO_DEV后面的参数代表其依赖于$CONFIG_USB $CONFIG_VIDEO_DEV。然后再在代码:/DRICE

22、RS/USB/MAKEFILE中,#Objectfiles in subdirectories选项中,Subdir-$(CONFIG_USB_STORAGE)+=storage中加入下面代码。Subdir-$(CONFIG_USB_SPCA5XX)+=spca5xxIfeq($(CONFIG_USB_SPCA5XX),y)Obj-y+=spca5xx/spca5xx.oEndif这样,就可以依次从MENUCONFIG中的“DEVICE DRIVER”“USB”“VIDEO_DEV”下面找到spca5xx的视频设备驱动程序选项。2.在根目录下修改MAKEFILE。将“CC=gcc”改为“CC=/

23、usr/local/arm/2.95.3/bin/arm-gcc-linux”保存后,编译器的默认编译器即变成了V2.95.3的cross-complier。3.接着配置内核编译参数并编译内核。在终端的相应目录下运行如下命令。$make clean$make menuconfig进行内核编译参数设置,选择load装载一个默认的也就是SAMSUNG公司给出的一个配置文件,打开目录/arch/arm下的smdk2440.config文件,手动修改几项设置(其余设置根据自己的需要添加或修改),具体步骤如下:选择对视频设备支持,依次选择“MEDIA DEVICES”|“V4L”|”静态编译入内核”,启动时自动加载。配置USB设备,选择支持USB DEVICE并选择静态编译入内核。选中S3C2440的OHCI支持。在VIDEO DEVICE中选择对spca5xx的模块化编译,开机后手动加载,也可通过配置/usr/etc/rc.local自动加载。保存MENUCONFIG后进行编译,具体命令如下。$make$make modules编译结束后会在目录“/drivers/usb/spca5xx”下产生三个.o的驱动程序文件,即为产生的摄像头设备的驱动程序。在“/arch/arm/boot”下会产生zImage这样一个压缩内核文件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论