基于arm的图像采集系统(编辑修改稿)内容摘要:
改条件编码( condition 成都理工大学 2020 届本科毕业设计(论文) 8 code) 32bit 筒型位移器( barrel shifter)可用来执行大部分的算数指令和寻址计算而不会损失效能强大的索引寻址模式( addressing mode)精简但快速的双优先级 中断 子系统,具有可切换的 暂存器 组有个附加在 ARM 设计中好玩的东西,就是使用一个 4bit 条件编码在每个指令前头,表示每条指令的执行是否为有条件式的,这大大的减低了在内存存取指令时用到的编码位。 目前,有关 ARM 处理器应用较多的有 ARM ARM ARM9E、 ARM10 及 StrongARM等系列。 本文中选用的是 ARMv7A 架构的 CortexA8内核的芯片。 ARM CortexA8处理器 是第一款基于 ARMv7 架构的应用处理器,并且是有史以来 ARM 开发的性能最高、最具功率效率的处理器。 ARM CortexA8 处理器 复杂的流水线架构基于双对称的,顺序发射的, 13 级流水线,带有先进的动态 分支预测 ,可实现 DMIPS/MHz。 CortexA8处理器 的速率可以在 600MHz 到超过 1GHz 的范围内调节,能够满足那些需要工作在 300mW 以下的 功耗 优化的移动设备的要求;以及满足那些需要 2020 Dhrystone MIPS 的性能优化的消费类应用的要求。 成都理工大学 2020 届本科毕业设计(论文) 9 第 3 章 总体设计 功能需求 根据项目需求,要实现的图像采集系统应该具有如下的功能: : 设计是应尽量减少不必要的模块以及算法,使系统在对硬件的 依赖性上做到尽力最低。 :由于图像采集系统会运用在各种环境下,又饿环境很恶劣,因 此需要系统具有高可靠性高稳定性以及长期连续工作的能力。 的图像显示在液晶显示屏上。 工作原理 如图 21 所示,在采集图像时,首先光线会照射到被拍摄物体上,物体将光线反射到 USB摄像头中的 CMOS 传感器,传感器中的感光二极管接收到光照,产生模拟的电信号, 经过预中放电路放大、 AGC 自动增益控制,于由图像处理芯片处理的是数字信号,所以经模数转换到图像数字信号处理 IC( DSP)。 同步信号发生器主要产生同步时钟信号(由晶体振荡电路来完成),即产生垂直和水平的扫描驱动信号,到图像处理 IC。 然后,经数模转换电路通过输出端 子输出一个标准的复合视频信号 ,按照寄存器中的配置处理以后的图像数据通过 ARM芯片将图像格式转换后控制存入内存中缓冲,当采集完一帧数据后,处理器从缓冲数据中读取数据然后通过显示接口显示到液晶显示屏上。 图 31 系统框图 被摄物体 USB 摄像头 ARM 处理器 LCD 液晶显示屏 成都理工大学 2020 届本科毕业设计(论文) 10 软硬件规划 硬件规划 硬件部分包括嵌入式处理器、图像采集模块、图像显示模块。 嵌入式处理器是整个嵌入式系统的核心部分。 目前世界上的嵌入式处理器早已超过 1000 种,不同的处理器有各自不同的功能以及优势。 低成本、低功耗、高性能是嵌入式应用的首要 要求。 ARM CortexA8 控制器是 第一款基于 ARMv7架构的应用处理器,并且是有史以来 ARM 开发的性能最高、最具功率效率的处理器。 本文选择三星公司生产的 s5pc100 芯片作为本项目的主控芯片。 并且使用华清远见所生产的 FS_s5pc100 开发板作为硬件平台,本文忽略无用的模块,模拟实现嵌入式最小 系统。 图像采集方 面,本文选择的是 CMOS USB 摄像头,选择这类摄像头的原因是USB摄像头成本低,极其易于购买,使用方便。 CMOS 摄像头可以直接输出数字信号,方便对于图像的采集以及处理,在短时间内完成系统的功 能设计。 图像显示方面,选择 LCD 液晶显示屏,满足显示成本并且达到显示要求。 软件规划 软件是针对需求而编写的适合用于本系统的专用程序,本设计初步将其大体分为底层驱动程序以及顶层业务程序。 本文中顶层软件是基于 Linux 操作系统之来设计,用 Linux C 语言实现。 首先,基于操作系的软件开发更易于程序的研发设计。 本文中,基于开发板的项目设计需要搭建嵌入式开发平台,首先需要烧写与开发板适合的 Bootloader 对开发板硬件进行初始化,然后就是嵌入式开发的核心:进行文件系统、 LCD 以及 USBamp。 摄像头驱动 的移植。 对于 PC 机开发环境,需要安装嵌入式交叉编译工具链。 在此基础之上设计顶层软件。 首先需要移植关于图像操作的函数库 — jlib,然后通过摄像头驱动 v4l2 提供的函数以及命令对摄像头操作,包括图像采集,对图像的格式转换,然后通过操作帧缓存进行图像实时显示控制。 这样设计,将硬件的初始化全部固定在底层驱动操作,在程序编写时就无需设计硬件,不仅易于程序设计,而且很好的实现了层次隔离划分,分工明确。 成都理工大学 2020 届本科毕业设计(论文) 11 第 4 章 硬件设计 开发板 amp。 主控芯片 s5pc100 4. s5pc100 芯片介绍 随着 ARM公司在 ARM 11 内核架构基础上,升级推出了第一代基于 ARMv7指令集的 CortexA8 内核架构之后,三星也及时跟进推出了基于 CortexA8 内核架构的 S5PC100 型处理器。 除了内核架构更为先进之外,三星 S5PC100 也采用了更为先进的 65nm工艺制程技术,核心主频可达 667MHz(最高可达 833MHz)。 如图 41 是 s5pc100 架构图解。 S5PClO0 处理器采用 64 位内部总线构架,包括强大的硬件加速器,如:动态视频处理,显示控制和缩放。 支持多种格式的硬件编解码 MPEF— l/ 2/ H263/ H26 CV D1vX。 其硬件加速功能支持实时的视频会议和模拟电视输出,支持 NTSC~DPAL 模式的 HDMI。 提供了 24bitLCD接口、 TVout 接口、 Ca mera 输入接口、 4路串口、 SD 卡接口、 SPI、 1OOM 网口、USB2. O 一 0TG 接口, USBHost 接口、音频输入输出接口、按键接口、 12C 接口等硬件资源,具有更高的主频和更丰富外设,能适用于对性能和处理能力有更高要求的嵌入式系统应用场合。 UT— S5PC100 专为消费类电子、工业控制、车载导航、行业 PDA等电子产品的开发而设计,主要供广大企业用户进行产 品前期软硬件性能评估验证、设计参考用。 图 41 S5PC100 结构图 如图 42 所示是核心处理器 S5pc100 的电路图:成都理工大学 2020 届本科毕业设计(论文) 12 图 42 S5PC100 芯片电路图 开发板简介 FS_S5PC100 开发平台用三星公司先进的基于 CortexA8 内核 S5PC100 处理器设计而成。 如图 42所示,是开发板底板与核心板实物图。 如表 41所示是开发板硬件列表。 在本文中,只用到核心处理器, NAND Flash,串口, USB 接口,LCD 50 针显示输出接口。 图 43 开发板实物图 成都理工大学 2020 届本科毕业设计(论文) 13 表 41 开发板硬件列表 处理器 Samsung 公司的 S5pc100处理器 NAND Flash 256MB NAND Flash Nor Flash 2MB DDR2内存 256MB 显示输出接口 LCD 接口、 VGA接口、 TVout 接口、 HDMI接口 视频输入接口 Camera 接口 串口 2路 5线串口、 1路 3线串口 SD 卡接口 支持大容量 SD 卡 SPI Flash 用于 SPI 实验 温度传感器 基于 I2C 接口 电位器 用于模拟量输入 4路 USB Host 1路 蜂鸣器 用于 PWM 实验 100M 网络接口 DM9000AE WIFI 接口 Marvell8686 AC97音频接口 WM9714芯片 按键 6个按键 LED 4个 LED 音频功放接 口 可直接驱动喇叭 以下是每个模块的电路图: 1)串口: (1) (2) 成都理工大学 2020 届本科毕业设计(论文) 14 图 44 串口电路图 2)VGA 接口: (1) (2) 图 45 LCD 接口电路 3)USB 接口 图 46 USB 接口电路图 图像数据采集设备 成都理工大学 2020 届本科毕业设计(论文) 15 本文采用的图像采集设备是普通家用 USB 摄像头,如图 47 所示为本文采用摄像头实物图。 最高像素可达 100 万。 满足本文研究图像采集需求。 图 47 图像采集设备实物图 显示设备 本文所用显示设备为 AUO 的 A043FW02 液晶屏, 寸,电阻触摸屏。 分辨率为: 480*272,信号接口为: RGB|Paralle。 图 48 LCD 显示屏 成都理工大学 2020 届本科毕业设计(论文) 16 第 5 章 软件设计 Linux amp。 开发环境搭建 Linux系统及 Linux内核简介 一个完整的系统主要 5 部分组成:硬件、 Bootloader、操作系统内核、操作系统服务和用户应用程序,用户应用程序是指那一个系统的组成些字处理程序、互联网应用程序或其它用户自行编制的各种应用程 序;操作系统服务程序是指向用户提供的系统调用等接口程序, Bootloader 主要完成硬件检测和系统引导。 操作系统内核是操作系统的主要核心部分,是整个系统的灵魂。 操作系统服务程序、操作系统内核及 Bootloader 被看作是操作系统部分。 Linux 内核主要由进程调度模块、内存管理模块、文件系统模块、进程间通信模块和网络接口模块 5个模块构成如图 51所示。 图 51 Linux 内核系统模块结构及相互依赖关系 Linux 是开放源代码的, Linux 操作系统设计本身具有的不同平台之间的可移植性,而且所需的存储空间也 很小。 Linux 内核是 Linux 最底层、最核心的部分, Linux 操作系统就是在 Linux 内核上发展壮大起来的,而内核的移植则是任何嵌入式 Linux 开发中最关键部分。 所有的内核源程序都可以在/ usr/ src/linux 下找到,大部分应用软件也都是遵循 GPI,而设计,遍布全球的众多 Linux 爱好者又是 Linux 开发者的强大技术支持。 Linux环境搭建步骤概述 1)从网络上下载 Linux源码及 ARM平台上的补丁; 2)给 Linux内核打补丁,使其源码符合 ARM的系统结构; 3)对 Linux内核进行 配置与裁减; 成都理工大学 2020 届本科毕业设计(论文) 17 4)建立交叉编译环境; 5)交叉编译和链接; 6)最后通过一些手段把生成的映象文件烧写 (安装 )到我们目标平台中。 Linux交叉编译环境搭建 由于嵌入式系统没有足够的内存和存储资源来编译可执行代码,这要求建立好的交叉开发环境中进行交叉编译和链接。 交叉编译环境就是在一个平台上生 成另一个平台的可执行代码,在同一个体系结构下可以运行不同的操作系统。 交叉编译开发环境一般由宿主机、目标机和两者之间通信信道组成。 在开发过程一般使用 Intel 公司 X86系列 CPU 作为宿主 机, 而 ARM微处理器作 为目标机。 目标板和宿主机之间的通信连接方式通常可以使用串口、以太网接口、 USB 接口以及JTAG 接口等.在宿主机上,可以安装开发工具,编辑目标板的 Linux 引导程序、内核和文件系统,然后在目标机上运行。 如图 42所示。 图 52 交叉编译开发环境模型 Linux内核必须使用 GNU的 C编译器 gcc来编译,而不是任何一种 C编译器都可以使用。 gcc编译器对标准 C进行了必要的扩展,这使得它更适合开发操作系统内核。 Linux内核与编译器的关系非常紧密,甚至不同的内核版本需要依赖于特定的 gcc编译器。 通常 GNU工具以源代码的方式发行,针对不同的硬件体。基于arm的图像采集系统(编辑修改稿)
相关推荐
r)表示第 r 个灰度级出现的概率,直方图表示了原图的灰度值分布情况。 灰度直方图表示了图像的灰度分布情况,基本上可以描述一幅图像的相貌,但是为了能更好的的进行图像识别,改善识别效果,必须对直方图进行修正。 如果用 s(0≤s≤1)表变换后 来图 像的灰度, r(0≤r≤1) 表示 原始图像 的灰度 (0代表黑, 1 代表白 )。 在 [0,1]的区间任意取一个 r 值,都对应着一个 s 值,且
推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。 DS18B20 的性能特点如下: • 独特的单线接口仅需一个端口引 脚进行通讯 • 简单的多点分布应用 • 无需外部器件 • 可通过数据线供电 • 零待机功耗 • 测温范围 55~+125℃,以 ℃递增。 华氏器件 67~+2570F,以 递增
为目标 ,坚持以人为本 ,着力打造优秀的企业团队。 公司领导经常深入生产经营一线 ,密切了与员工的关系 ,促进了企业内部的和谐。 现存的主要问题是:该公司目前还没有一个专门的部门和一套专业的系统对人事进行管理,所以该公司急需一套科学的管理人事的方案和 系统来解决公司在人事管理方面存在的问题。 选题的 目的和 意义 在企业信息化建设中人事管理信息化是企业各项管理职能的核心,人事管理的优劣
、图形窗口以及用户界面等功能;具有大量的应用程序接口,开发应用程序简单;嵌入式应用软件丰富。 嵌入式系统的组成 一个完整的嵌入式系统由硬件和软件俩部分组成,其中硬件系统又可分为嵌入式微处理器、存储器和 I/O 等嵌入式外部设备俩部分,软件系统又可分为嵌入式操作系统和嵌入式应用程序两部分,如图所示。 嵌入式应用程序 嵌入式软件 嵌入式操作系统 嵌入式硬件 微处理器 外设 图 目前基于各种嵌入式处理
,带给顾客良好的体验。 本文的主要工作 及组织结构 本文的主要工作: 无线点餐系统服务器端是整个点餐系统的后台运行支持: (1) 在实现方式上 服务器端和客户端通过 WLAN,利用 Web Service 进行通信,使得服务器端只需要关注点餐数据的处理,而不需要对客户端发送的请求进行解析,相比较于 HTTP请求 的 方式 ,不需要对每次通信进行确认,提高了数据交换的效率。 同时, Web
本模块主要由学生反映登记。 学生根据宿舍的物品需要修理的情况,向宿舍管理员反映,管理员针对报修情况,做出登记,以方便学校物业及时进行维修。 7 维修登记: 维修人员根据学生的报修情况,对损坏物品进行维修,维修完成之后,再系统登记维修。 以实时的更新系统维修信息 维修查询: 管理员通过此功能可以查看到需要维修的物品情况,以及已经维修好的物品情况。 4. 系统管理