




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入式系嵌入式系统统开开发发 课课程程设计设计 (题目:基于(题目:基于 LinuxLinux 下下 FPGAFPGA 的设计与实现)的设计与实现) 院 (系) 信息工程学院 专 业 班 级 11 计科本 2 班 学 生 姓 名 李城城、操玮康、方刚 聂顺涛、王忠伟 学 号 1142151214、01、05、17、25 设 计 地 点 13 号楼 605 指 导 教 师 王华本 起止时间:2014 年 11 月 3 日至 2014 年 11 月 14 日 安徽新华学院嵌入式系统开发课程设计 基于基于 LinuxLinux 下下 FPGAFPGA 的设计与实现的设计与实现 摘 要 本文基于嵌入式系统和 ZigBee 技术的智能交通灯系统的设计并实现了 功能。主要是通过 LED 矩阵显示东西方向及南北方向导通,蜂鸣器的间断发声 作为通行提示音,数码管的倒计时标志着通行时间。通过该系统实现车辆的直 线通行和转弯、方向变换的提醒、车辆注意时间是否足够通行。通过传感器检 测车流量实现合理的红灯时间,缓解交通压力,确保为十字路口的交通安全提 供了保障。 关键词:嵌入式系统 ; ZigBee ; 智能交通灯;传感器 Based on the embedded system and the design and implementation of intelligent traffic light of ZigBee Abstract In this paper, based on the embedded system and ZigBee technology of intelligent traffic system was designed and implemented. Mainly by dot matrix display straight arrow arrow and curve, use the arrow to indicate traffic direction, buzzer of discontinuous voice prompt as impassable, digital tube countdown marks the passage of time. Through the system to realize the linear passage of vehicles and alert, vehicle time, direction turning transform enough traffic. Has provided the safeguard for intersection traffic safety. Key words: embedded system ZigBee intelligent traffic lights 安徽新华学院嵌入式系统开发课程设计 目目 录录 1 综述综述.1 1.1 嵌入式系统简介 .1 1.1.1 嵌入式开发环境.1 1.1.2 嵌入式 Linux 操作系统的应用.2 1.2 ZIGBEE技术简介.3 1.2.1 ZigBee 技术介绍.3 1.2.2 ZigBee 的应用现状.6 1.2.3 ZigBee 技术的应用前景.7 1.2.4 ZigBee 技术的优点与不足.7 2 搭建平台搭建平台.9 2.1 虚拟机概述.9 2.2 LINUX系统.9 2.3 虚拟机安装 LINUX系统.10 2.4 超级终端的设定 .11 3 硬件设计硬件设计.13 3.1 ARM 实验箱简介 .13 3.2 数码管倒计时显示硬件设计.15 3.3 点阵显示硬件设计.15 3.4 蜂鸣器设计.16 4 功能实现功能实现 .17 4.1 ZIGBEE模块 LED 矩阵的功能 .17 4.2 ZIGBEE模块上数码管功能实现.19 4.3 ZIGBEE模块上蜂鸣器功能实现.21 5 测试结果与分析测试结果与分析.23 5.1 源代码的测试与分析 .23 5.1.1 源代码实现的功能.23 5.1.2 源代码运行结果.23 5.2 优化代码的测试与分析.23 5.2.1 优化代码的功能.23 5.2.2 虚拟机上程序的挂载.24 5.2.3 超级终端上程序挂载.24 5.2.3 测试结果与分析.25 6 实验总结实验总结 .26 附件附件 1 1.29 附件附件 2 2.43 安徽新华学院嵌入式系统开发课程设计 1 1 1 综述综述 嵌入式系统一般指非 PC 系统,有计算机功能但又不称之为计算机的设备或 器材。它是以应用为中心,软硬件可裁减的,适应应用系统对功能、可靠性、 成本、体积、功耗等综合性严格要求的专用计算机系统。嵌入式系统主要由嵌 入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等 4 个部 分组成,它是集软硬件于一体的可独立工作的器件。 1.1 嵌入式系统简介 随着计算机技术和微电子技术的迅速发展,嵌入式系统应用 领域越来越广 泛。当今,嵌入式系统已成为一个时髦的名词,就像当初的计算机热潮,似乎 比当初的计算机热潮涉及的领域更广泛,应用技术人员更多,相关国民经济产 值也更庞大。报纸、杂志、网络都把嵌入式系统当作讨论的热门话题1。嵌入 式系统的软件部分包括操作系统软件(要求实时和多任务操作)和应用程序编程。 操作系统控制着应用程序编程与硬件的交互作用,而应用程序控制着系统的运 作和行为。嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是 嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的 底层驱动软件、系统内核、设备驱动接口、通信协 议、图形界面、标准化浏览 器等。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越 复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和 维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序。与通用 操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软 件固态化以及应用的专用性等方面具有较为突出的特点。 1.1.1 嵌入式开发环境 一个嵌入式系统的开发环境一般包括嵌入式目标板、开发用的宿主 PC 机和 硬件调试器,他们之间通过串口、JTAG 或 BDM 等调试接口和网络等接口互相连 接。其中,嵌入式软件系统运行于嵌入式目标板上,这些软件所对应的程序开 安徽新华学院嵌入式系统开发课程设计 2 发和编译在宿主机上运行,程序的调试则由宿主机通过硬件调试器控制目标机 执行相应的操作实现。在运行嵌入式 Linux 的系统时,硬件调试器只在 Bootloader 程序开发以及 Linux 内核移植时有可能需要使用。应用程序的开发 通常是 Linux 操作系统在嵌入式目标机上运行起来之后进行7。此时,更多的 是在宿主机上使用 GDB 通过网络与目标板通信,进行程序的调试。也就是硬件 调试器多在底层软件开发调试时使用,对于应用程序的开发调试通常使用其他 手段。嵌入式 Linux 操作系统开发的第一步就是在宿主机上建立交叉开发所需 的交叉编译环境。交叉编译环境的建立主要是在宿主机上安装交叉编译工具 Cross-gcc。Cross-gcc 工具链通常是使用别人已经编译好的交叉编译的 GCC 工 具链。 在交叉编译环境建立好之后,就可以在宿主机上利用交叉编译环境构造一 个嵌入式 Linux 系统。Linux 操作系统是由 Linux 内核和应用程序两大部分组 成。Linux 内核的开发主要是根据实际的需要进行内核裁剪和配置,然后用交 叉编译器编译生成内核的二进制文件映像。对于许多自行设计的嵌入式系统, 内核的开发还包括根据实际的硬件系统进行内核和外设驱动程序的移植开发。 应用程序 通常都放在 Linux 的根文件系统中。根文件系统主要存放了嵌入式 的配置文件、设备文件、应用程序、动态链接库以及其他一些相关的程序和文 件。通常最初的根文件系统只是一个基本的根文件系统,只包含了一些必要的 系统支撑程序。 在宿主机 PC 机上完成嵌入式 Linux 软件系统的构建之 后,就在嵌入式硬件系统上测试、运行构造好的嵌入式 Linux 软件系统。其中, 测试工作需要在宿主机上通过远程终端操控嵌入式开发板完成。通常在嵌入式 开发板上存在一个内核的引导加载程序,它用于硬件的初始化,给用户提供一 个操作界面,将嵌入式 Linux 加载到内存中运行。除此之外,它对于嵌入式 Linux 系统的开发调试也起到很大的作用。一个基本的嵌入式 Linux 系统在目 标板上运行起来之后,就要进行程序移植开发和调试。 1.1.2 嵌入式 Linux 操作系统的应用 由于 Linux 具有对各种设备的广泛支持性,因此,能方便地应用在机顶盒、 IA 设备、PDA、掌上电脑、WAP 手机、寻呼机、车载 盒以及工业控制等智能 安徽新华学院嵌入式系统开发课程设计 3 信息产品中。 安徽新华学院嵌入式系统开发课程设计 4 2 2 搭建平台搭建平台 要想进行嵌入式开发,首先,必须搭建一套完整的嵌入式开发环境。本章 介绍了在 windows+Vmware 虚拟机环境下嵌入式开发环境的搭建。 2.1 虚拟机概述 用虚拟机软件,你可以在一台计算机上使用多台逻辑计算机,这些逻辑计 算机可以安装操作系统、安装应用程序、访问网络资源等等。总的来说,它只 是运行的一个应用程序在物理计算机上,但是在虚拟机中运行的应用程序而言, 它就是一台真正计算机。因此,在虚拟机中进行软件应用的时候,系统也一样 有崩溃的危险;但是,崩溃的只是虚拟机上的逻辑计算机,而不是物理计算机 上的操作系统,并且,使用虚拟机的“Undo”(恢复)功能,你可以马上恢复 虚拟机到安装软件之前的状态7。如图 2.1 所示。 图图 2.1 虚拟机界面虚拟机界面 2.2 Linux 系统 Linux 可用于多种硬件平台。Linux 是开源的软件,代码的修改维护由世界 安徽新华学院嵌入式系统开发课程设计 5 各地的程序员进行,因此 Linux 有可靠保证的应用。可以根据需要进行配置, 不需要获得任何的许可证,源代码可以无偿获得。同时 Linux 网络支持性良好, 驱动程序采用模块化设计,开发过程中可动态调试驱动模块,便于开发。有利 于添加对新硬件的驱动支持。 Linux 是以内核为基础,通过虚拟文件系统支持对各类型物理介质的硬件 资源访问。Linux 系统提供了具有设备类的面向对象的设备模型、热插拔事件, 以及用户空间的设备文件系统,使其更容易进行新硬件设备的扩展与驱动的开 发应用。Linux 系统有完善的开发工具,用不同的交叉编译工具,匹配不同的 嵌入式处理器,建立嵌入式系统开发环境是简单快捷的。不仅如此,Linux 系 统还继承了 UNIX 稳定并且有效率的特点,系统稳定,能长期运行而不会出现宕 机的现象。 2.3 虚拟机安装 Linux 系统 虚拟机 vmware 下安装 Linux 过程: 第一步:启动 VMware,在其主界面“主页”标签页中点击“新建虚拟机” 按钮打开新建向导,单击“下一步”按钮; 第二步:在虚拟机配置界面中有两个选择:一是“典型”方式,它根据虚拟 机的用途自动调整配置;二是“自定义”方式,它允许用户自行设置虚拟机的主 要参数。这里用“典型”方式安装,比较方便。 第三步:单击“下一步”按钮进入虚拟机操作系统选择界面,可以看到 Windows、Linux、Novell 等多种不同的系统,这里我们点选“Linux”。 安徽新华学院嵌入式系统开发课程设计 6 图图 2.2 系统界面系统界面 图 2.2 是安装完成后的虚拟机启动界面,我们这里使用的是 Fedora 系统, 用户为 root,密码 123456,是在有权限下进行操作。 2.4 超级终端的设定 (1) 打开超级终端输入名称 图图 2.3 超级终端连接图超级终端连接图 图图 2.4 超级终端端口选择图超级终端端口选择图 安徽新华学院嵌入式系统开发课程设计 7 (2) 选择端口,如果是台式电脑就直接选择 COM1,如果是笔记本电脑根据 实际情况选择。 (3) 端口设置,每秒位数(B)选择 115200,数据流控制(F)选择无。 图图 2.5 超级终端端口设置图超级终端端口设置图 打开电源启动超级终端,如下图: 图图 2.6 内核启动内核启动 Linux 启动时 BOIS 首先加电自检,然后会加载主引导加载程序再加载次加 安徽新华学院嵌入式系统开发课程设计 8 载引导程序,对 Linux 内核进行映射,初始化进程。 3 3 硬件设计硬件设计 根据设计任务要求,自行选择电子元件,画出电气原理图,并调试。一个 完整的系统除了主控芯片以外,还需配上电源系统、时钟电路、复位电路等。 独立的芯片是不能工作的 3.1 ARM 实验箱简介 随着微电子技术的快速发展,ARM 处理器经历了包括 ARM7、ARM9 在内的多 个发展历程,而 ARM11 的成熟应用必将为嵌入式的发展带来新的活力,使更高 端的产品应用成为可能,与 ARM9 的 5 级流水线相比,ARM11 拥有一条具有独立 的 load-store 和算术流水的 8 级流水线,在同样工艺下,ARM11 处理器的性能 与 ARM9 相比大约提高了 40%。ARM11 执行 ARMv6 架构的指令,ARMv6 指令包含 了针对媒体处理的单指令流多数据流(SIMD)扩展,采用特殊的设计,以改善 视频处理性能。为了能够进行快速浮点运算,ARM11 增加了向量浮点单元。所 有这些结构上的提高,都是 ARM9 处理器不可比拟的。 ARM11 为便携式和无线应用,提供了从未有过的高超性能,并且使我们主 要关心的成本和功耗减到最小。ARM11 的微架构保证了系统性能可以从基本的 350-500MHz 范围扩展到最终的 1GHz 以上。其微架构的高效率表现,允许开发 者根据不同的应用来调节时钟频率和电源电压,从而在性能和功耗之间达到最 佳的折衷。例如,一个基于 ARM11 的微架构的处理器在 1.2V 工作电压下,使用 0.13um 工艺实现,其功率将不会超过 0.4mW/MHz。 ARM11 微处理器是一种高性能、低功耗的准 64 位微处理器。对于目前 大多数嵌入式应用,一个真正的 64 位处理器仍然被认为是不必要的,其巨大的 功耗和面积让人难以接受。对此,ARM11 选择了一个折中的方案,以较小的代 价,部分实现了一个 64 位微架构。ARM11 只在处理器整数单位和高速缓存之间, 以及在整数单位和协处理器之间实现了 64 位数据总线。这些 64 位数据道路允 安徽新华学院嵌入式系统开发课程设计 9 许处理器在一个时钟周期中同时获取两条指令,还允许在一个时钟周期执行多 个数据读写指令。这使得 ARM11 在执行很多特定序列的代码时能够达到非常高 的性能,特别是那些允许数据搬移与数据处理并行处理的代码序列。 S3C6410 是由三星公司推出的一款低功耗、高性价比的 RSIC 处理器,它基 于 ARM11 内核(ARM1176JZF-S),可广泛应用于移动电话和通用处理等领域; S3C6410 为 2.5G 和 3G 通信服务提供了优化的硬件性能,内置强大的硬件加速 器:包括运动视频处理、音频处理、2D 加速、显示处理和缩放等;集成了一个 MFC(Multi-Format video Codec)支持 MPEG4 /H.263/H.264 编解码和 VC1 的解 码,能够提供实时的视频会议以及 NRSC 和 PAL 制式的 TV 输出;除此之外,该 处理器内置一个采用最先进技术的 3D 加速器,支持 OpenGL ES 1.1/ 2.0 和 D3DM API, 能实现 4M triangles/s 的 3D 加速;同时,S3C6410 包含了优化的 外部存储器接口,该接口能满足在高端通信服务中的数据带宽要求。由于以上 突出的性能表现,著名的苹果公司手机 IPHONE 就是基于 S3C6410 处理器。 CVT-6410 开发板基于三星公司最新的 ARM11 处理器 S3C6410,拥有强大的 内部资源和视频处理能力,可稳定运行在 667MHz 主频以上,支持 Mobile DDR 和多种 NAND Flash。CVT-6410 开发板上集成了多种高端接口,如复合视频信号、 摄像头、USB、SD 卡、液晶屏、以太网,并配备温度传感器和红外接收头等。 这些接口可作为应用参考帮助用户实现高端产品级设计。CVT-6410 开发板采用 核心板+底板结构,核心板尺寸规格为5CM6CM,底板尺寸为 10.5CM14CM,核心板与底板之间采用 4 组高质量进口连接器(镍金工艺, 接触好、抗氧化),共计 320 个引脚(804),方便客户进行二次开发,进行 各种形式的扩展应用。 CVT-6410 开发板的设计严格按照 CE、CCC 等国内外电子产品认证标准,充 分考虑高速信号的完整性等电磁兼容措施,确保 CVT-6410 开发板在严酷电磁环 境下的可靠运行。 CVT-6410 的软件系统目前支持 WinCE 6.0、 LINUX2.6.36、Android2.3.4 以及 uC/OS-II,提供标准板级支持包(BSP)并开放源码,其中包含了所有接 口的驱动程序,客户可以直接加载使用。另外,该板可连接武汉创维特公司与 之相配套使用的串口扩展板、WIFI 模块、摄像头模块等。随着微电子技术的快 安徽新华学院嵌入式系统开发课程设计 10 速发展,ARM 处理器经历了包括 ARM7、ARM9 在内的多个发展历程,而 ARM11 的 成熟应用必将为嵌入式的发展带来新的活力,使更高端的产品应用成为可能。 3.2 数码管倒计时显示硬件设计 数码管是一种很普遍的显示器件,数码管的主要部分是七段发光二极管; 数码管分为共阴极和共阳极两种,为了保护各段 LED,需外加限流电阻。有的 产品还附加有一个小数点,因此有人也称之为八段式发光二极管。 图图 3.1. 数码管外形图及阴阳两极连接示意图数码管外形图及阴阳两极连接示意图 如图 3.1 所示,数码管由 8 个发光段(第八段表示小数点)的不同组合, 从而实现十进制数的显示。通过段选端可以控制数码管显示内容,位选端用于 控制整个数码管是否工作:对于共阴极数码管,位选端要接低电平,对于共阳 极数码管,位选端接高电平。数码管有两种显示方式:动态显示和静态显示。 静态显示让数码管要点亮的数码管同时持续点亮;动态显示则利用了人眼的视 觉暂留原理,在一个时间内只点亮一个数码管。本次设计采用一位的数码管控 制绿灯通行的计时,这次的设计中,主要是控制南北和东西方向的通行,在同 一方向通行时,另两个方向就不允许通行。通行的时间控制为 8 秒,在 8 秒倒 计时结束时,通行方向发生变化。 3.3 点阵显示硬件设计 点阵内部结构及外形如下,8*8 点阵共由 64 个发光二极管组成,且每个发 安徽新华学院嵌入式系统开发课程设计 11 光二极管是放置在行线和列线的交叉点上,当对应的某一行置 1 电平,某一列 置 0 电平,则相应的二极管就亮。 8*8 点阵的工作原理:若要用点阵发光二极管显示汉字或者图形,首先要 将图形、汉字、字母放在一个方块内,方格块分成 8*8 共 64 个小方格,在方块 内写上所需要的内容,在字笔划下落处的小方格里填上“1”,无笔划处填上 “0”,这样就形成了一个图形二进制数据。 图图 3.2 8*8 点阵图点阵图 上图是一只 8*8 阵列的点阵发光显示器,该点阵发光显示器是由 8*8 阵列 组成,共 8 行,每行 8 只发光二极管,共 64 只发光像素,每列的 8 只发光二极 管的所有负极(阴极)相连。每行发光管的正极相连,点阵发光显示器在同一 时间只能点亮一列,每列点亮的情况是根据从显示器 P1P8 送入的数据点亮, 要使一个字符在显示器整屏显示,点阵发光显示器就必须通过快速逐列点亮, 而且是周而复始的循环点亮,使人眼的暂留视觉效应形成一个全屏字符。 3.4 蜂鸣器设计 在 ZigBee 模块中通过程序控制设计蜂鸣器在方向变化时会发出提示音。 具体实现是在绿灯开始时蜂鸣器会响起,以此作为通行的提示。发光二极管达 到电流放大作用。如图 3.3 所示。 安徽新华学院嵌入式系统开发课程设计 12 图图 3.3 蜂鸣器电路图蜂鸣器电路图 4 4 功能实现功能实现 在本次的课程设计中,主要是基于嵌入式系统和 FPGA 的 4.1 ZigBee 模块 LED 矩阵的功能 SBuff12至 SBuff19为 LED 矩阵点亮数据,如 SBuff14 = 0 x42 表示为 LED 矩阵第三列从高往低第二个灯和第七个灯点亮。 实现代码如下: if(LED) if(i=0) printf( 南北方向通行,东西方向禁止通行n); printf(n); /控制 LED 矩阵 unsigned char SBuff21; SBuff0 = 0 x02; SBuff1 = 0 x12; SBuff2 = 0 xB9; SBuff3 = 0 x46; SBuff4 = 0 xF1; SBuff5 = save_byte4; SBuff6 = save_byte5; SBuff7 = 0 x01; SBuff8 = 0 x07; SBuff9 = 0 x04; SBuff10 = 0 x0; 安徽新华学院嵌入式系统开发课程设计 13 SBuff11 = 0 x0; /LED 控制南北方向 SBuff12 = 0 x00; SBuff13 = 0 x00; SBuff14 = 0 x42; SBuff15 = 0 xff; SBuff16 = 0 xff; SBuff17 = 0 x42; SBuff18 = 0 x00; SBuff19 = 0 x00; SendNum+; if(SendNum = 8) SendNum = 0; SBuff20 = 0 x0; SBuff20 = XorVerifySend(SBuff);/异或校验 nwrite = write(serial_fd,SBuff,sizeof(SBuff); /printf(nwrite1=%dn,nwrite); buffer_has_send = 0; else printf( 东西方向通行,南北方向禁止通行n); printf(n); /控制 LED 矩阵 unsigned char SBuff21; SBuff0 = 0 x02; SBuff1 = 0 x12; SBuff2 = 0 xB9; SBuff3 = 0 x46; SBuff4 = 0 xF1; SBuff5 = save_byte4; SBuff6 = save_byte5; SBuff7 = 0 x01; SBuff8 = 0 x07; SBuff9 = 0 x04; SBuff10 = 0 x0; SBuff11 = 0 x0; /LED 显示东西方向 SBuff12 = 0 x18; SBuff13 = 0 x3c; SBuff14 = 0 x18; SBuff15 = 0 x18; SBuff16 = 0 x18; 安徽新华学院嵌入式系统开发课程设计 14 SBuff17 = 0 x18; SBuff18 = 0 x3c; SBuff19 = 0 x18; SBuff20 = 0 x00; SBuff20 = XorVerifySend(SBuff);/异或校验 nwrite = write(serial_fd,SBuff,sizeof(SBuff); /printf(nwrite1=%dn,nwrite); buffer_has_send = 0; sleep(2); 实验截图如下: 图图 4.1 南北方向南北方向 图图 4.2 东西方向东西方向 4.2 ZigBee 模块上数码管功能实现 安徽新华学院嵌入式系统开发课程设计 15 SBuff10为数码管显示的数据值,如 SBuff10 = 0 x08 表示为数码管显 示数值为 8。 实现代码如下: if(SEG) /控制数码管 printf( 还剩%d 秒n,tempj); printf(n); unsigned char SBuff21; SBuff0 = 0 x02; SBuff1 = 0 x12; SBuff2 = 0 xB9; SBuff3 = 0 x46; SBuff4 = 0 xF1; SBuff5 = save_byte4; SBuff6 = save_byte5; SBuff7 = 0 x01; SBuff8 = 0 x07; SBuff9 = 0 x01;/b0-1:数码管显示数据有效;0:无 效 SBuff10 = tempj;/显示计数时间 j+; if(j=10) j=0; i+; i=i%2; SBuff11 = 0 x0; SBuff12 = 0 x0; SBuff13 = 0 x0; SBuff14 = 0 x0; SBuff15 = 0 x0; SBuff16 = 0 x0; SBuff17 = 0 x0; SBuff18 = 0 x0; SBuff19 = 0 x0; SBuff20 = 0 x0; SBuff20 = XorVerifySend(SBuff); nwrite = write(serial_fd,SBuff,sizeof(SBuff);/ /printf(nwrite1=%dn,nwrite); 安徽新华学院嵌入式系统开发课程设计 16 buffer_has_send = 0; sleep(5); 实验截图如下: 图图 4.3 ZigBee 数码管显示图数码管显示图 4.3 ZigBee 模块上蜂鸣器功能实现 蜂鸣器控制,1 个字节。0:停止发声(SBuff11) ,其它值:发声长度 实现代码如下: if(PWM) /控制蜂鸣器 printf( 控制蜂鸣器n); printf(n); unsigned char SBuff21; SBuff0 = 0 x02; SBuff1 = 0 x12; SBuff2 = 0 xB9; SBuff3 = 0 x46; SBuff4 = 0 xF1; SBuff5 = save_byte4; SBuff6 = save_byte5; SBuff7 = 0 x01; SBuff8 = 0 x07; SBuff9 = 0 x02;/b1-1:蜂鸣器数据有效;0:无效 SBuff10 = 0 x0; SBuff11 = 0 x1f+SendNum; SendNum+; SBuff12 = 0 x0; 安徽新华学院嵌入式系统开发课程设计 17 SBuff13 = 0 x0; SBuff14 = 0 x0; SBuff15 = 0 x0; SBuff16 = 0 x0; SBuff17 = 0 x0; SBuff18 = 0 x0; SBuff19 = 0 x0; SBuff20 = 0 x0; SBuff20 = XorVerifySend(SBuff); nwrite = write(serial_fd,SBuff,sizeof(SBuff); /printf(nwrite1=%dn,nwrite); buffer_has_send = 0; sleep(1); 安徽新华学院嵌入式系统开发课程设计 18 5 5 测试结果与分析测试结果与分析 此次课程设计由于使用 ZigBee 扩张模块显示效果。每次发送的指令及数据 只控制一个模块导致实验效果多次与预期结果不一致, 5.1 代码的测试与分析 分析实验结果:由于每次发送的数据都是控制一个模块且通过网络端口将 数据传送至 ZigBee 某块。指令及数据传送频率过高导致数据总线繁忙导致有些 发送的数据发送错误导致有些数据没有正确的显示。 5.1.1 优化代码的功能 主要功能完成 LED 矩阵显示东西方向及南北方向箭头,通过该模块,实现 交通的直线通行和转弯,让行人明确行走的方向是否可行;蜂鸣器的主要功能 是方向变换的发声,通过该模块,实现交通的方向变换的提醒,让行人注意安 全;数码管的主要功能是倒计时,通过该模块,实现交通的方向变换的时间, 让行人注意时间是否足够通行。 安徽新华学院嵌入式系统开发课程设计 19 5.1.2 虚拟机上程序的挂载 图图 5.1 优化代码虚拟机程序挂载图优化代码虚拟机程序挂载图 安徽新华学院嵌入式系统开发课程设计 20 5.1.3 超级终端上程序挂载 图图 5.2 优化代码超级终端程序挂载图优化代码超级终端程序挂载图 5.1.4 测试结果与分析 图图 5.3 优化代码运行结果图优化代码运行结果图 安徽新华学院嵌入式系统开发课程设计 21 测试结果分析: 实验结果为:数码管显示的数据可能出现某个数据没有显示直接跳到另一 个不连的数据。 分析实验结果:由于每次发送的数据都是控制一个模块且通过网络端口将 数据传送至 ZigBee 某块。指令及数据传送频率过高导致数据总线繁忙导致有些 发送的数据发送错误导致有些数据没有正确的显示。 解决方案:通过延迟每次指令及数据发送的间隔确保数据能够完整的被 ZigBee 模块接收到。 最终结果:数据能够正确的显示。 安徽新华学院嵌入式系统开发课程设计 22 6 6 实验总结实验总结 通过此次的课程设计我们不仅检验了所学习的知识,也培养了我们如何 去做一件事情,又如何完成一件事情。在课程设计过程中,与小组成员分工 设计,和小组成员相互探讨、相互学习、相互监督,学会了合作、 学会了宽 容、也学会了理解、更明白了团队协作的重要。课程设计是我们专业课程知 识综合应用的实践训练,也是我们迈向社会,从事职业工作前一个必不少的 过程。“千里之行始于足下”,通过此次课程设计,我们深深体会到这句千 古名言的真正含义。我们今天认真的进行课程设计,学会了脚踏实地迈开这 一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础。通过这次交 通灯设计,培养综合运用所学知识、独立分析和解决实际问题的能力,培养 创新意识和创新能力,并获得科学研究的基础训练。了解所选择的 ARM 芯片 各个引脚功能,工作方式,计数/定时,I/O 口,中断等的相关原理,并巩固 学习嵌入式的相关内容知识。通过软硬件设计实现利用 ARM 芯片完成交通灯 控制功能。首先查阅相关文献资料,熟悉所选 ARM 芯片。第二步总体设计方 案规划,设计车辆遇到红灯停绿灯行情况,红绿灯时间均为 9s,切换时间为 1s。接下来 系统硬件设计,熟悉 IO 接口,定时器计数器工作原理。最后系 统软件设计,包括交通信号灯的工作流程软件实现,用 C 语言编程。提高了 计算能力、绘图能力以及熟悉了规范和标准,同时各科相关的课程都有了全 面的复习,独立思考的能力也有所提高。 在这次课程设计过程中,做到了 学以致用,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。 安徽新华学院嵌入式系统开发课程设计 23 致致 谢谢 嵌入式系统课程设计是网上、图书馆借鉴相关资料,根据自己的理解、 老师的指导建议完成的。可以说,此次论文没有老师的帮助和督促,我将无从 下手。在此由衷的感谢王华本老师。 感谢学校,给予我一个良好的学习环境,轻松安逸的学习氛围。 感谢教导过我的老师们,在我的求学过程中,教育我怎样为人,给我树立 了正确的人生观、价值观、世界观。让我在求学的旅途不至于茫然无措。 感谢室友们在我头脑发昏,思绪混乱的时候,能转移我的注意力,缓解我 的压力,让我以最好的状态去学习。 感谢同学们,因为有你们的陪伴,学习才不会孤单。 感谢我伟大的父亲母亲,生育了我,抚养了我,教导了我,在我人生的道 路中默默的支持陪伴我。在此,向所有人表示最崇高的敬 参考文献参考文献 1 林声伟. 物联网的体系结构与相关技术研究J. 信息通信. 2012(06) 2 柳平增,孟祥伟,田盼,邓振民,王文山,王玉存,毕树生. 基于物联网的精准农业信息感知系 统设计J. 计算机工程与科学. 2012(03) 3 曾小虎,蒋永平,徐杜,章敏鹏,钟敏富,王德才. 基于多级路由的 ZigBee 无线温室监测系 统设计J. 安徽农业科学. 2012(07) 4 汪华斌,罗中良,曾少宁,杨俊,郭天赐. ZigBee 技术在数据采集系统中的应用J. 现代计 算机(专业版). 2011(31) 5 苗洁. 我国创意农业发展的现状、思路及对策研究J. 中州学刊. 2011(06) 6 杨校权,张毅,马钧元. LPC1227 的远距离 ZigBee 无线网关设计J. 单片机与嵌入式系 统应用. 2011(11) 7 吴良峰,叶宇煌. 多生理参数的无线实时监护系统设计J. 单片机与嵌入式系统应用. 2011(11) 8 张莉侠,曹黎明. 中国低碳农业发展现状与对策探讨J. 经济问题探索. 2011(11) 9 田立国,李猛,刘玥,胡山,李韶远. 基于 ZigBee 的农作物冠层温度采集节点的设计J. 安 徽农
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉安职业技术学院《幼儿健康教育与活动指导》2023-2024学年第二学期期末试卷
- 吉林职业技术学院《基础医学总论二:病理生理学、病理学、药理学》2023-2024学年第一学期期末试卷
- 宁波卫生职业技术学院《大学生创新创业意识》2023-2024学年第二学期期末试卷
- 云南省昆明盘龙区联考2024-2025学年初三下学期开学考试(普通班)数学试题试卷含解析
- 湛江市高一上学期期末调研考试英语试题
- 企业财务成本管理培训
- 2025简约店面租赁合同
- 2025芦笋种植合同 管理资料
- 2025漯河市商品房买卖合同
- 2025房屋租赁合同有效期
- 艾滋病知识培训课件
- 0-3岁婴幼儿常见疾病与伤害防护知到智慧树章节测试课后答案2024年秋杭州师范大学
- 专题07 等差数列与等比数列(考点清单+知识导图+ 13个考点清单-题型解读)(原卷版)-25学年高二数学上学期期末考点大串讲
- 博士科研计划书模板
- 《Origin的使用方法》课件
- 2024年WPS计算机二级考试题库350题(含答案)
- 医疗设备仪器培训
- 2023中考道德与法治十大热点预测-2023年中考道德与法治考场速查宝典(部编版)
- 高中英语必背3500单词表(完整版)
- GB/T 44570-2024塑料制品聚碳酸酯板材
- 2024年新人教版五年级数学下册《教材练习20练习二十附答案》教学课件
评论
0/150
提交评论