物联网技术概论实验报告模板_第1页
物联网技术概论实验报告模板_第2页
物联网技术概论实验报告模板_第3页
物联网技术概论实验报告模板_第4页
物联网技术概论实验报告模板_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

大连民族大学计算机科学与工程学院实验报告实验题目:IMX6综合实验平台之八段数码管实验课程名称:物联网技术概论实验类型:□演示性□验证性□操作性■设计性□综合性实验日期:2017年11月8日实验地点:嵌入式系统实验室F209实验学时:4指导教师签字:2017年月日小组成员及分工(最多三人)专业专业班级学号姓名组长分工成绩计科2015-1542015081416石德超是具体操作计科2015-1542015081505单俊华否观察结果 实验一1实验目的了解IMX6平台下数码管的用法及控制。2实验内容学习IMX6项目的数据管原理与程序控制3实验环境硬件:imx6教学平台,PC机酷睿i3以上,硬盘120G以上,内存2G以上软件:VmwareWorkstation+ubuntu14.044实验原理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<stdio.h>#include<fcntl.h>#include<sys/types.h>#include<sys/time.h>#include<unistd.h>#include<string.h>#include<sys/mman.h>#include<stdlib.h>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];//数码管百位2break;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]#lsMakefiledemodemo.cdemo.o[root@imx6dlsabresd:01_ledSegmentDisplays]#ps-e|grepimx6_V1_0[root@imx6dlsabresd:01_ledSegmentDisplays]#killallimx6_V1_03.执行程序[root@imx6dlsabresd:01_ledSegmentDisplays]#./demo4.运行截图:6、实验总结在实验之前,我们先将实验指导书仔细阅读了一遍,理解实验原理和工作原理,分析代码,接下来进行实验操作。由于是第一次通过自己的理解来完成实验,并且之前跟老师共同完成的实验过程中还有许多地方不太理解,所以在本次试验中,出错的时候比较多。在超级终端上,将试验箱网卡ip设置为和主机网卡一个网段这个步骤出错,导致无法将主机上的IMX6目录和试验箱的mnt连接起来。经过我们排查错误,解决之后可以继续进行实验。尽管我们三人的操作都有点跟不上,中间可能会有断线的时候,但是好在有同学的帮助,实验进行的还算顺利。同时在这个实验中了解了秒表的生成原理,感觉我们进行的还不错。实验二实验目的了解IMX6平台下点阵的用法及控制。实验内容学习IMX6项目的点阵原理与程序控制3实验环境硬件:imx6教学平台,PC机酷睿i3以上,硬盘120G以上,内存2G以上软件:VmwareWorkstation+ubuntu4实验原理LED点阵显示屏作为一种现代电子媒体,具有灵活的显示面积(可分割、任意拼装)、高亮度、长寿命、数字化、实时性等特点,应用非常广泛LED点阵内部原理图如图所示,从LED点阵内部原理图如图所示,从7-2图上可以看出来,其实点阵LED点亮原理还是很简单的。左侧的8个引脚是接的内部LED的阳极,上侧的8个引脚接的是内部LED的阴极。那从图上可以看出来,我们的9脚如果是高电平,13脚是低电平的话,最左上角的那个LED小灯就会亮5实验步骤5.1操作性实验步骤•启动imx6实验系统,连好网线、串口线。通过串口终端挂载宿主机实验目录。[root@imx6dlsabresd:~]#ifconfigeth10.203.67.88 [root@imx6dlsabresd:~]#mount-tnfs10.203.67.90:/imx6/mnt/进入串口终端的NFS共享实验目录。[root@imx6dlsabresd:/mnt]#cd/mnt/exp/module/02_Matrix/[root@imx6dlsabresd:02_Matrix]#lsMakefiledemodemo.cdemo.o[root@imx6dlsabresd:02_Matrix]#执行程序。[root@imx6dlsabresd:02_Matrix]#./demo5.2创新性实验步骤,创新性源码修改说明及运行结果拍照截图。进入实验目录:[uptech@uptech/]#cd/imx6/exp/module/02_Matrix/[uptech@uptech:01_ledSegmentDisplays]#lsMakefiledemodemo.cdemo.o清除中间代码,重新编译[uptech@uptech:01_ledSegmentDisplays]$source/opt/poky/1.7/environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi[uptech@uptech:01_ledSegmentDisplays]#makecleanrm-f../bin/demo./demo*.elf*.elf2flt*.gdb*.o[uptech@uptech:01_ledSegmentD

温馨提示

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

评论

0/150

提交评论