1341901124武易嵌入式系统设计实验报告Word格式文档下载.docx
- 文档编号:20054111
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:18
- 大小:803.85KB
1341901124武易嵌入式系统设计实验报告Word格式文档下载.docx
《1341901124武易嵌入式系统设计实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《1341901124武易嵌入式系统设计实验报告Word格式文档下载.docx(18页珍藏版)》请在冰豆网上搜索。
绘制BottomSolder层确定板子尺寸,Keep-OutLayer层确定线路范围,导入原理图后手动排列元件布局,使用规则自动布线,双层板。
四、实验结果
五、实验心得
通过本次实验,我学到了制作PCB电路板的基本流程和方法。
实验过程中由于我所使用的软件版本和老师的不同,因此在整个过程中遇到不少困难,最后在老师的指导以及通过查找资料解决了问题。
实验二基于QT的界面设计
通过使用Qt软件,使学生掌握使用Qt进行嵌入式软件的UI设计。
1)掌握Qt软件安装和使用
2)使用Qt编写图形用户接口
使用QTDesigner编写一个图形用户界面------密码验证程序
1.安装QDevelop和QtDesigner
2.界面设计
3.编辑信号和槽
4.编写代码
5.编译
6.测试
四、代码
Mainwindow.h
#ifndefMAINWINDOW_H
#defineMAINWINDOW_H
#include<
QMainWindow>
#include"
ui_mainwindow.h"
namespaceUi{
classMainWindow;
}
classMainWindow:
publicQMainWindow,publicUi:
:
check
{
Q_OBJECT
public:
explicitMainWindow(QWidget*parent=0,Qt:
WindowFlagsf=0);
privateslots:
voidpasswdslot();
voidzero0();
voidone1();
voidtwo2();
voidthree3();
voidfour4();
voidfive5();
voidsix6();
voidseven7();
voideight8();
voidnine9();
};
#endif//MAINWINDOW_H
Mainwindow.cpp
#include"
mainwindow.h"
#include<
QMessageBox>
qstring.h>
MainWindow:
MainWindow(QWidget*parent,Qt:
WindowFlagsf):
QMainWindow(parent,f)
setupUi(this);
voidMainWindow:
passwdslot()
if(lineEdit->
text()!
="
123456"
)
{
QMessageBox:
information(this,"
InputErro"
tr("
Pleaseinputagain"
));
lineEdit->
setText("
"
);
setFocus();
return;
}
else{
Inputcorrect!
yes!
zero0()
QStringadd;
add=lineEdit->
text()+zero->
text();
setText(add);
one1()
text()+one->
two2()
text()+two->
three3()
text()+three->
four4()
text()+four->
five5()
text()+five->
six6()
text()+six->
seven7()
text()+seven->
eight8()
text()+eight->
nine9()
五、实验结果
六、实验心得
本次实验虽然是第一次使用Linux平台上的图形用户界面编程工具,但由于使用的编程语言是C++,并且制作的界面比较简单,遇到一点小困难,但是在互联网的帮助下最终解决。
还有使用终端进行编程和其他的复杂操作没有进行,因此尚需学习。
实验三嵌入式应用系统设计1
通过该实验使学生掌握应用系统设计设计的方法和流程,掌握设计案例中需求分析和设计方法,硬件平台搭建等。
要求学生通过查阅资料,自己设计制作一个完整的嵌入式系统项目。
1)掌握嵌入式应用系统设计方法和流程
2)撰写需求分析和设计方案
3)硬件平台设计和驱动调试
设计一个成本低、可靠性好且通用性高的嵌入式图像采集系统
其应具有如下特点:
1、控制成本;
2、保证硬件设备兼容性、安全性;
3、具有一定的安全性(断电转储、身份认证)。
系统总体架构设计
系统总体架构分为硬件和软件两部分内容。
1、系统的硬件架构
本设计采用基于ARM9的嵌入式模块作为系统的中心处理模块,是整个设计中的核心模块。
摄像装置采用USB摄像头,中心处理模块通过USB接口连接摄像头,并驱动摄像头采集视频信号,经过相应的处理后通过以太网或USB进行传输。
为实现断电转储功能,电源由外部电源及备份电源两路组成,当外部电源掉电时,自动切换到备份电源工作,同时停止视频信号对外传输,并将信号经过编码后存储到自带的存储设备中。
2、系统的软件架构
系统的软件架构主要由五个模块组成,即USB驱动程序模块、视频服务器模块、TFCard读写模块、电源信息处理模块和终端视频信号处理模块。
USB驱动程序模块中包含了USB总线驱动程序,USB摄像头数据输入驱动程序,这个模块的功能即驱动摄像头设备并采集视频信号,和与终端计算机的通信;
视频服务模块包括视频信号处理模块,基于USB的视频信号传输模块,基于TCP/IP协议的视频信号传输模块和视频编码模块,这个模块的功能即处理摄像头采集到的视频信号,可将视频信号传输到被允许的视频监控终端,也可将视频信号编码转储;
TFCard读写模块包括TFCardReader驱动模块和数据写入模块,这个模块的功能即将已编码的视频数据存储到TFCard;
电源信息处理模块的功能即识别电源信息,判断应将视频信号做何处理;
终端视频信号处理模块包括视频信号接收、存储及播放程序。
3、系统的安全性考虑
在本设计中,采取了硬件级和软件级两种方式加强系统的安全性。
硬件层面由断电转储功能保证系统在外部电源失效时保证视频信息得以保存,软件层面在嵌入式视频服务器软件内做IP地址过滤,对发出视频信号传输请求的IP地址进行过滤。
总体硬件模块
根据系统设计的要求与综合考虑,GT2240开发板核心板的硬件配置与外围扩展电路完全可以满足本课题的前期设计与后期的实验要求,使用其作为整个系统的核心模块进行硬件扩展以及程序设计、刻录、运行具有可行性。
该电路使用LM358运算放大器作为电压比较器使用,分别输入外接电源以及备份电源的电压,输出经过一个反向器后输出给三极管和中央处理器。
三极管控制电磁继电器,达到切换电压的目的。
USB摄像装置
本设计中采用的视频摄像的实验装置为目前使用广泛的采用USB输出的数字摄像头。
数字摄像头的工作原理为:
景物通过镜头生成的光学图像投射到图像传感器表面上,转为电信号,经过模数转换后变为数字信号,并送到专用的数字信号处理芯片中进行压缩编码处理,再通过接口电路传输到PC中进行处理。
采用USB输出的数字摄像头相比于其他种类的视频采集装置,具有如下优点:
1.分辨率一般都大于或等于30W像素,均可实现VGA级(640×
480)的压缩视频信号输出。
2.内置专用DSP芯片,可对原始视频信号做前期压缩编码处理,减少系统中MCU时间占用与程序编写的工作量。
3.USB接口传输速度较快,且向下兼容低版本协议,USB1.1接口设备带宽也完全满足VGA级压缩视频数据传输。
USB总线英文全名为UniversalSerialBus,即通用串行总线,是目前应用最为广泛的一种连接外围设备的总线标准。
其最大的优点在于支持USB硬件设备的热插拔,并且可以通过一个USB控制器管理最多7级127个USB设备。
在S3C2440片内集成了一个USBHostController,也就是说它可以直接通过USB硬件接口电路与USB设备相连,并可以通过USBHUB进行USB设备数量的扩展。
S3C2440的USBHostController是符合USB1.1协议标准的硬件控制器,由于USB协议的向下兼容性,符合USB2.0协议标准的设备同样可以接在这个接口上使用USB1.1的协议进行数据传输。
系统调试接口
本设计使用RS232串口作为系统的调试接口与PC机进行通信。
系统与PC机通过串口线连接,加电后在PC机上使用Linux操作系统下的Minicom或Windows操作系统下的超级终端等串口终端软件,即可以查看系统输出的启动、运行状态信息,并可以通过输入命令行进行系统配置或运行相关程序。
系统硬件架构信息及信号流向图
前置电源管理模块原理图及PCB
USBHostController与USB设备的硬件接口电路
本次实验是第一次进行系统级别的软硬件综合设计,难度相较之前的所有实验都有了不小的提升。
一开始的设计过程可谓是磕磕绊绊,进展缓慢。
但是在老师的帮助下,渐渐理清了思路,有了一些想法,再通过查阅资料,终于完成了一些初步的设计和细节的设计。
实验四嵌入式应用系统设计2
通过该实验使学生掌握嵌入式应用系统开发、编译和调试的方法,掌握嵌入式应用系统单个功能模块的设计以及功能模块的联合调试等。
1)掌握嵌入式应用系统功能模块的设计术
2)掌握嵌入式应用系统功能模块的联合调试技术
1、Linux下通用USB摄像头数据输入驱动程序
Linux系统的先进性就在于其开放性,任何人都可以了解其内核架构、运行机制,这样的一种开放性又反过来对Linux的进一步发展形成了有力地促进。
在研究Linux下摄像头驱动及视频采集的过程中,本设计参考一个开源网站提供的Linux下通用的摄像头驱动程序进行架构研究与驱动测试。
经过研究、分析、编写与移植,在本设计中实现了基于S3C2440的嵌入式开发板与ARM-Linux下的通用摄像头的驱动。
本设计中使用的是针对Linux2.6版本内核的spca5xx-Light-Edition,这个版本的特点是编译生成后的驱动程序文件体积比较小,节省驱动程序加载及应用程序运行的存储空间,比较适合运行嵌入式Linux的嵌入式系统使用。
经过对源代码的研究与分析,发现spca5xx-Light-Edition与其他版本在功能上的主要不同之处如下:
1.减少了音频部分的驱动及接口函数,简化了应用程序的编写。
2.减少了对视频信号的JPEG编码、压缩的功能,大大减少系统中CPU的工作量,更适合低工作频率、无协处理器的嵌入式MCU使用。
3.只能支持JPEG视频流输出的摄像头,也就是说,视频图像的编码、压缩在摄像头内的DSP处理器中完成。
综上所述,spca5xx-Light-Edition驱动程序是适合在嵌入式Linux系统下使用的一款通用USB摄像头数据输入驱动程序,尽管在功能上有一定的裁剪,但是对于实现视频监控的主要功能来说已经足够了,而且保持着对目前市场上绝大多数USB摄像头的支持与良好的兼容性,其对音频等功能的裁剪也在一定程度上减少了视频服务器与客户端播放软件的复杂程度。
2、USB数据输入驱动程序移植
Linux的设备驱动程序有两种加载模式,一种是内核直接加载,也就是说Linux启动后驱动程序直接进入内核,在映射内存中占用一定的空间;
另一种就是模块加载,即Linux启动以后通过insmod命令加载驱动程序到内核,并且可以rmmod命令从内核中卸载该程序。
比较这两种驱动程序加载方式,无疑模块加载方式更加能够适应嵌入式系统的资源条件与功能要求。
在本设计中,摄像头的驱动程序将以模块的方式加载入内核。
1.将spca5xx的驱动程序选项加入到MENUCONFIG的MENU之中,以供选择并在编译中编译进入内核。
在文件/drivers/usb/config.in中,“CONFIG_VIDEO_DEV”项如下。
Dep_tristate‘USBPhilipsCameras’CONFIG_USB_PWC$CONFIG_USB$CONFIG_VIDEO_DEV
添加如下代码。
Dep_tristate‘USBSPCA5XXCameras’CONFIG_USB_SPCA5XX$CONFIG_USB$CONFIG_VIDEO_DEV
后面的参数代表其依赖于$CONFIG_USB$CONFIG_VIDEO_DEV。
然后再在代码:
/DRICERS/USB/MAKEFILE中,#Objectfilesinsubdirectories选项中,
Subdir-$(CONFIG_USB_STORAGE)+=storage
中加入下面代码。
Subdir-$(CONFIG_USB_SPCA5XX)+=spca5xx
Ifeq($(CONFIG_USB_SPCA5XX),y)
Obj-y+=spca5xx/spca5xx.o
Endif
这样,就可以依次从MENUCONFIG中的“DEVICEDRIVER”“USB”“VIDEO_DEV”下面找到spca5xx的视频设备驱动程序选项。
2.在根目录下修改MAKEFILE。
将“CC=gcc”改为“CC=/usr/local/arm/2.95.3/bin/arm-gcc-linux”保存后,编译器的默认编译器即变成了V2.95.3的cross-complier。
3.接着配置内核编译参数并编译内核。
在终端的相应目录下运行如下命令。
$makeclean
$makemenuconfig
进行内核编译参数设置,选择load装载一个默认的也就是SAMSUNG公司给出的一个配置文件,打开目录/arch/arm下的smdk2440.config文件,手动修改几项设置(其余设置根据自己的需要添加或修改),具体步骤如下:
选择对视频设备支持,依次选择“MEDIADEVICES”|“V4L”|”静态编译入内核”,启动时自动加载。
配置USB设备,选择支持USBDEVICE并选择静态编译入内核。
选中S3C2440的OHCI支持。
在VIDEODEVICE中选择对spca5xx的模块化编译,开机后手动加载,也可通过配置/usr/etc/rc.local自动加载。
保存MENUCONFIG后进行编译,具体命令如下。
$make
$makemodules
编译结束后会在目录“/drivers/usb/spca5xx”下产生三个.o的驱动程序文件,即为产生的摄像头设备的驱动程序。
在“/arch/arm/boot”下会产生zImage这样一个压缩内核文件,启动MINICOM将其刻录入开发板。
至此,spca5xx摄像头驱动程序的ARM-Linux移植过程基本完成,接着即可进行相关的测试与功能程序的运行。
3、USB摄像头数据输入驱动程序测试
测试的具体步骤如下。
1.挂载驱动程序模块及摄像头设备。
具体输入命令如下。
$cdtmp
$ls
Binlinuxrctestspca5xx.odevmnt
Usretclibsbin
进入开发板控制台,可以发现系统已经将宿主机NFS目录下的文件挂载到开发板“/tmp”目录下,显示内容如下。
$insmodspca5xx.o
$usb.c:
registerednewdriverspca5xx
$spca_core.c:
spca5xxdriver00.57.06LEregistered
加载驱动程序模块,出现如下所示信息,说明加载驱动程序模块成功。
$hub.c:
USBnewdeviceconnectonbus1/1,assigneddevicenumber2
Spca_core.c:
USBSPCA5XXcamerafound.TypeVimicroZc301P0x301b
2.建立设备挂载点,其具体命令如下。
$mknod/dev/video0c810
查看设备是否挂载成功,可以看到设备video0已被创建,可以被应用程序操作。
3.测试驱动程序加载的正确性。
具体使用如下命令。
#cat/dev/video0>
/tmp/1.jpeg
/tmp/2.jpeg
若可以看到在宿主机的NFS目录下有1.jpeg和2.jpeg两个图像文件,说明摄像头已经驱动成功。
本次实验相对于上次实验来说比较容易,因为这些已经是之前就学过的知识,稍加熟悉就能够进行操作,遇到的问题不大。
而且软件的设计相较于硬件设计来说比较好查错,因此整个实验比较顺利。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 1341901124 嵌入式 系统 设计 实验 报告