物联网技术概论实验报告模板.docx
- 文档编号:10908231
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:16
- 大小:3.25MB
物联网技术概论实验报告模板.docx
《物联网技术概论实验报告模板.docx》由会员分享,可在线阅读,更多相关《物联网技术概论实验报告模板.docx(16页珍藏版)》请在冰豆网上搜索。
物联网技术概论实验报告模板
大连民族大学
计算机科学与工程学院实验报告
实验题目:
IMX6综合实验平台之八段数码管实验
课程名称:
物联网技术概论
实验类型:
□演示性□验证性□操作性■设计性□综合性
实验日期:
2017年11月8日实验地点:
嵌入式系统实验室F209
实验学时:
4
指导教师签字:
2017年月日
小组成员及分工(最多三人)
专业
班级
学号
姓名
组长
分工
成绩
计科
2015-154
2015081416
石德超
是
具体操作
计科
2015-154
2015081505
单俊华
否
观察结果
实验一
1实验目的
了解IMX6平台下数码管的用法及控制。
2实验内容
学习IMX6项目的数据管原理与程序控制
3实验环境
硬件:
imx6教学平台,PC机酷睿i3以上,硬盘120G以上,内存2G以上
软件:
VmwareWorkstation+ubuntu14.04
4实验原理
4.1硬件接口原理
1.简介
led数码管(LEDSegmentDisplays)由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。
数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。
这些段分别由字母a,b,c,d,e,f,g,dp来表示。
发光二极管的阳极连接到一起连接到电源正极的称为共阳数码管,发光二极管的阴极连接到一起连接到电源负极的称为共阴数码管。
驱动方式编辑
LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据LED数码管的驱动方式的不同,可以分为静态式和动态式两类。
静态显示静态驱动也称直流驱动。
静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。
静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。
动态显示
LED数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码
管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低
2.原理图
4.2软件接口介绍
1.EIM概述
EIM可扩展处理芯片外部的接口设备,包括芯片选择、时钟和控制外部设备与内存。
它提供了异步访问设备SRAM-like接口和同步访问设备与NOR-Flash-like或PSRAM-like接口。
2.工作原理
本数码管是arm通过16位EIM地址总线与cpld通信,cpld转换后控制数码管工作。
EIM总线选择接法:
3.imx6系统内存映射图如下
4.下图为cpld偏移地址:
4.代码解析
#include
#include
#include
#include
#include
#include
#include
#include
Unsignedchartube[]=
{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x7f,0xff};
unsignedcharaddr[]={0x11,0x22,0x44,0x88};
intmain(intargc,char*argv[])
{
intnum=0;
inti=0,j=0;
intmem_fd;
unsignedchar*cpld;
mem_fd=open("/dev/mem",O_RDWR);
cpld=(unsignedchar*)mmap(NULL,(size_t)0x10,PROT_READ|PROT_WRITE|
PROT_EXEC,MAP_SHARED,mem_fd,(off_t)(0x8000000));
if(cpld==MAP_FAILED)
return;
while
(1)
{
for(j=0;j<245*4;j++)
{
switch(i)
{
case0:
*(cpld+(0xe6<<1))=addr[i];//数码管地址(0xe6<<1)为地址
*(cpld+(0xe4<<1))=tube[num%10];//数码管个位(0xe4<<1)为地
址
break;
case1:
*(cpld+(0xe6<<1))=addr[i];//数码管地址
*(cpld+(0xe4<<1))=tube[(num%100)/10];//数码管十位
break;
case2:
*(cpld+(0xe6<<1))=addr[i];//数码管地址
*(cpld+(0xe4<<1))=tube[(num%1000)/100];//数码管百位2
break;
case3:
*(cpld+(0xe6<<1))=addr[i];//数码管地址
*(cpld+(0xe4<<1))=tube[num/1000];//数码管千位
break;
default:
break;
}usleep(1000);
if((++i)==4)
i=0;
}if((++num)==10000)
num=0;
}munmap(cpld,0x10);
close(mem_fd);
return0;
}
5、实验步骤
5.1验证性实验
1.启动imx6型实验系统,连好网线、串口线。
通过串口终端挂载宿主机实验目录。
首先在虚拟机终端上运行ifconfig来查看主机的ip,例如10.203.67.90.接下来,在超级终端上,通过ifconfigeth010.203.67.88将试验箱网卡ip设置为何主机网卡一个网段。
接下来,就可以通过:
mount-tnfs10.203.67.90:
/IMX6/mnt/命令,将主机上的IMX6目录和试验箱的mnt连接起来。
2.进入串口终端的NFS共享实验目录。
[root@imx6dlsabresd:
/mnt]#cd/mnt/exp/module/01_ledSegmentDisplays/
[root@imx6dlsabresd:
01_ledSegmentDisplays]#ls
Makefiledemodemo.cdemo.o
[root@imx6dlsabresd:
01_ledSegmentDisplays]#ps-e|grepimx6_V1_0
[root@imx6dlsabresd:
01_ledSegmentDisplays]#killallimx6_V1_0
3.执行程序
[root@imx6dlsabresd:
01_ledSegmentDisplays]#./demo
4.运行截图:
6、实验总结
在实验之前,我们先将实验指导书仔细阅读了一遍,理解实验原理和工作原理,分析代码,接下来进行实验操作。
由于是第一次通过自己的理解来完成实验,并且之前跟老师共同完成的实验过程中还有许多地方不太理解,所以在本次试验中,出错的时候比较多。
在超级终端上,将试验箱网卡ip设置为和主机网卡一个网段这个步骤出错,导致无法将主机上的IMX6目录和试验箱的mnt连接起来。
经过我们排查错误,解决之后可以继续进行实验。
尽管我们三人的操作都有点跟不上,中间可能会有断线的时候,但是好在有同学的帮助,实验进行的还算顺利。
同时在这个实验中了解了秒表的生成原理,感觉我们进行的还不错。
实验二
1实验目的
了解IMX6平台下点阵的用法及控制。
2实验内容
学习IMX6项目的点阵原理与程序控制
3实验环境
硬件:
imx6教学平台,PC机酷睿i3以上,硬盘120G以上,内存2G以上
软件:
VmwareWorkstation+ubuntu
4实验原理
LED点阵显示屏作为一种现代电子媒体,具有灵活的显示面积(可分割、任意拼装)、高亮度、长寿命、数字化、实时性等特点,应用非常广泛
LED点阵内部原理图如图所示,从7-2图上可以看出来,其实点阵LED点亮原理还是很简单的。
左侧
的8个引脚是接的内部LED的阳极,上侧的8个引脚接的是内部LED的阴极。
那从图上可以看出来,我
们的9脚如果是高电平,13脚是低电平的话,最左上角的那个LED小灯就会亮
5实验步骤
5.1操作性实验步骤
•启动imx6实验系统,连好网线、串口线。
通过串口终端挂载宿主机实验目录。
[root@imx6dlsabresd:
~]#ifconfigeth010.203.67.88
[root@imx6dlsabresd:
~]#mount-tnfs10.203.67.90:
/imx6/mnt/
2、进入串口终端的NFS共享实验目录。
[root@imx6dlsabresd:
/mnt]#cd/mnt/exp/module/02_Matrix/
[root@imx6dlsabresd:
02_Matrix]#ls
Makefiledemodemo.cdemo.o
[root@imx6dlsabresd:
02_Matrix]#
3、执行程序。
[root@imx6dlsabresd:
02_Matrix]#./demo
5.2创新性实验步骤,创新性源码修改说明及运行结果拍照截图。
1、进入实验目录:
[uptech@uptech/]#cd/imx6/exp/module/02_Matrix/
[uptech@uptech:
01_ledSegmentDisplays]#ls
Makefiledemodemo.cdemo.o
2、清除中间代码,重新编译
[uptech@uptech:
01_ledSegmentDisplays]$source
/opt/poky/1.7/environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi
[uptech@uptech:
01_ledSegmentDisplays]#makeclean
rm-f../bin/demo./demo*.elf*.elf2flt*.gdb*.o
[uptech@uptech:
01_ledSegmentDisplays]#make
[uptech@uptech:
01_ledSegmentDisplays]#ls
Makefiledemodemo.cdemo.o
3、执行程序。
[root@imx6dlsabresd:
02_Matrix]#./demo
6实验总结
通过本次实验,加深了我们对物联网技术的了解,学会了IMX6系统的操作流程,学会了,更深一步的物联网编程与实际操作。
丰富了学习生活,锻炼了动手能力,加深了小组成员之间的感情,提高了个人素养,为今后的工作生活积累了宝贵的经验财富。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 联网 技术 概论 实验 报告 模板