基于三星嵌入式平台的传感器驱动开发及测试本科毕业论文内容摘要:
define SENSOR_TYPE_MAGNETIC_FIELD 2 //磁力 define SENSOR_TYPE_ORIENTATION 3 //方向 define SENSOR_TYPE_GYROSCOPE 4 //陀螺仪 define SENSOR_TYPE_LIGHT 5 //光线感应 define SENSOR_TYPE_PRESSURE 6 //压力 define SENSOR_TYPE_TEMPERATURE 7 //温度 define SENSOR_TYPE_PROXIMITY 8 //接近 define SENSOR_TYPE_GRAVITY 9 //重力 define SENSOR_TYPE_LINEAR_ACCELERATION 10//线性加速度 define SENSOR_TYPE_ROTATION_VECTOR 11//旋转矢量 利用这些传感器我们可以制作出各种 有趣的应用程序和游戏。 在这些传感器 5 中,比较重要和常用的,也是笔者在本项目中参与驱动开发的传感器是加速度计传感器、磁传感器和陀螺仪。 本文的主要内容 在 TC4 平台上实现九轴传感器驱动 操作系统中, Google 提供了 11 中传感器供应用层使用。 包括返回 x、 y、 z 三轴的加速度数值的加速度 TC4 平台是 SSCR(三星半导体中国研究所)为了开发以多核处理器 Exynos4x12 为核心的平板电脑手机的嵌入式系统开发平台。 根据摩尔定律计算机以每 18 个月提升一倍的速度不断 在提高性能,向着速度更快、效率更高、性能更强的方向发展。 但由于受到器件的限制,在集成电路尺寸小到一定程度的时候,我们必须考虑到量子效应。 因此,单独从提供一个内核的运行效率的方法是有局限性的。 现代处理器正在朝着多个处理器核心并行运算的方向发展。 本项目采用 Exynos 系列处理器便是多核处理器。 在处理器的名称中, x 表示核心的数量,即 4212 表示双核处理器; 4412 表示 4 核处理器。 Exynos 4212 是三星公司于 2020 年 9 月发布的新型双核处理器。 该处理器采用32 nm 制程,拥有两枚主频为 GHz 的 CortexA9 通用处理核心,拥有 32/32 KB I/D Cache, 1 MB L2 Cache,并且集成 ARM Mali 400 MP 图形处理核心。 在视频方面, Exynos 4210 支持单路 WXGA 和双路 WSVGA 视频输出,支持 HDMI ,可以拍摄 1080p、 30fps标准高清视频; Exynos 4210提供了 的内存带宽,支持 LPDDR2/DDR2/DDR3 内存。 Exynos 4412 则是今年年初才推出的四核处理器,拥有 32nm HKMG(高 K金属栅极技 术)制程,支持双通道 LPDDR2 1066。 新的 32nm HKMG 技术可以帮助降低功耗,和其前代比,会减低 20% 的功耗。 Exynos 4412 四核处理器仍然集成 Mali400MP 图形处理器,但三星公司已将这颗图形处理器主频由此前的266MHz 提升至 400MHz,新闻稿指出会比现有的双核机型整体性能提升 60%,图像处理提升 50%。 [3] 6 在传感器方面, TC4 平台就之前的 tablet 而言,将新加入陀螺仪传感器。 使得传感系统更加准确。 从而带来更加的用户体验。 总之, TC4 平台相对于之前的三星嵌入式开发平 台,在处理器性能上提升了一个台阶。 第一、从之前的单核处理器升级到了多核处理器;第二、处理器运行主频更高,达到了 ;第三、在外设方面更加丰富,特别是与传感器相关的 I2C 接口数量上,达到了 8 个之多。 这些都使得 TC4 平台的总体性能达到了世界领先的水平。 传感器( Gsensor);返回 x、 y、 z 三轴的环境磁场数据的磁力传感器( Msensor);返回三轴的角度数据,方向数据的单位是角度的方向传感器( Osensor);返回 x、 y、 z 三轴的角加速度数据的陀螺仪传感器( Gyrosensor);检测实时的光线 强度的光线感应传感器;返回当前的压强的压力传感器;返回当前的温度的温度传感器;检测物体与手机的距离的接近传感器;输出重力数据的重力传感器( GVsensor);返回减去重力加速度之后加速度值的线性加速度传感器( LAsensor)以及返回旋转矢量的旋转矢量传感器( RVsensor)。 [4] 利用这些传感器我们可以制作出各种有趣的应用程序和游戏。 在这些传感器中,比较重要和常用的,也是笔者在本项目中参与驱动开发的传感器是加速度计传感器、磁传感器和陀螺仪。 研究的重点和难点 在主流的 平板电脑和只能手机当中,加速度传感器和磁传感器已经成为标配。 加速度传感器通过 MEMS 器件向处理器提供三个方向的加速度数值。 经过一系列的算法之后,在手势识别、环境感知、游戏控制、磁盘保护等方面,为智能手机带来了许多前所唯有的应用。 磁传感器的本质是一个电子罗盘,最主要的功能就是导航和定位。 它通过霍尔传感器来检测地球磁场倾角,而磁传感器能提供精确的 3D 行进方向。 自 2020 年 iPhone4 采用陀螺仪起,陀螺仪在手机中被迅速采用。 陀螺仪的应用包括提升各种 “Motion Control”界面的用户 体验、图形稳定、游戏和导航等,成为提升高端手机体验的重要配置。 在许多应用方案中,三轴加速度传感器、三轴陀螺仪、三轴磁传感器已经被 7 集成到了一起,组成了九轴感测组件。 比如整合加速计、陀螺仪和磁感应计,并均衡地利用三者的各自优点,可在在导航解决方案的核心部分实现一个所谓的惯性测量单元( IMU)。 整合 MEMS 加速计、陀螺仪和地磁感应计的模块正在进入更多市场。 论文研究的目的:在 TC4 平台上实现九轴传感器驱动 在 TC4 项目中,开发组分为 BSP(板极支持包)部门、 Midware(中间件)部门、 Hardware(硬件)部门和 SQA(软件质量保证)部门等。 本课题涉及到的驱动程序设计属于 BSP 部分。 TC4 平台将采用最新的 操作系统,这在业界是领先的。 全新的 版本的操作系统,将带来全新的 UI 人性化体验界面、提供针对多核处理器的优化功能、全面提升运行速度;最重要的是, 将统一智能手机和平板电脑系统:谷歌新一代安卓系统 Ice Cream Sandwich 将只有一个版本,同时支持智能手机、平板电脑,这将解决安卓 系统和安卓 操作系统版本分化的问题,开发者 为平板电脑和智能手机开发的应用也将可以通用。 本论文的目的就是首次在 Exynos4x12 的多核处理器 tablet 平台下实现九轴传感器的驱动。 使得 TC4 平台下, 操作系统能使用九轴传感器。 在实现的方法上,由于传感器要求的传输速率并不高,因此在通信协议上考虑使用 I2C 的接口方式。 Exynox4x12 芯片在内部已经集成了 I2C 的模块。 所以只需要操控内部的控制器就可以实现数据的传输。 系统在底层采用的是 的内核。 和之前的 Linux内核一样,它支持 I2C 的体系结构,在内核代码中已经定义好了规范的结构体和接口函数。 开发人员需要理清各个结构之间的关系,正确调用接口函数,来实现对设备的驱动,使得处理器可以和器件通信。 在选择器件的时候,器件生产商会提供一些解决方案。 这些方案是编写驱动程序的参考材料。 和操作系统抽象封装下层一样。 驱动程序也会提供一些操作系统之上与硬件无关的函数库。 正确使用这些函数库,是编写正确驱动的关键。 总之,在三星平板电脑的开发平台上首次实现九轴传感器是本课题的重点和创新点,解决新版本 Android 的兼容性问题是本课题的难点。 8 第二章 TC4 平台简介 基于 Exynos4x12 处理器的 tablelet 开发平台 随着智能手机、平板电脑等便携式手持设备的快速发展,应用处理器( AP)被广泛应用到各种嵌入式系统当中。 应用处理器市场也以每年 10%左右的增长率不断壮大。 笔者实习所在的三星公司,是世界领先的应用处理器供应商。 其芯片因性能优越,被联想、富士通、英华达等多家移动终端制造商使用。 TC4 平台是面向平板电脑的开发平台,采用的主处理器是 Exynos4x12。 是三星公司推出多核处理器( x 表示内核的数量, x 为 2 时表示双核, x 为 4 时表示 4核)。 下面以 4212 为例做简单介绍。 Exynos4212 采用 32 纳米高 K 金属栅极 (HK/MG)低功耗工艺。 双核 Exynos 4212 为移动设备系统架构师提供了一个新的解决方案,支持高品质用户体验及智能手机和平。 4212 处理器内置两个 CortexA9 1GHz 核心和 1MB 二级缓存,拥有 1G LP DDR2 800 内存,并内置有 Mali400 MP 图形处理芯片,绑定 8GB 存储卡。 其他配置方面,该芯片包含了 TFT24 位真彩色 LCD 控制器、相机接口、 MIPI DSI、 CSI电源管理、嵌入式 GPS 和 GLONASS、 MIPIslim 接口管理、 MIPI HSI 等;还包含有 4 个 UART、 24 通道 DMA、定时器、通用 IP 口、 3 个 I2S、S/PDIF 输出、 8 个 IIC 总线接口、 3 个 HSSPI、 2 个 、 4 个 SD 主机及高速多媒体卡接口和四个锁相环时钟等。 大大提高了整体功能。 4212 常采用双核架构,五倍的图形性能的提高和广泛的内存带宽使其能够满足消费者对栩栩如生的多媒体内容立即地、有反应般地传输的需求。 此外, 4210支持先进的多媒体功能,诸如视频编码器 /解码器,使消费者用每秒 30 帧的速度录制和播放 1080P 全高清的高分辨率图像。 还 4212 提供了一个来源广泛的高速内存接口,包括低功耗 DDR2, DDR3 和一个非易失性内存主机。 多种编解码器是可提供给用户环境更方便的利用的,尤其是作为多媒体来源不同的用户。 对于 4412,它与 4212 具有相似的特征,依然采用了 的主频,但是 9 核心的数量从双核上升到了四核。 值得一提的是,在传感器支持方面, TC4 平台在传感器的支持方面非常领先,不但支持光传感器、加速度传感器等。 还可以加入陀螺仪、磁传感器等新型传感器,实现更加丰富多彩的应用。 TC4 项目 BSP 简介 BSP(Board Support Packet)是针对嵌入式系统开发用的工具包,里面包含了针对开发板的各种开发软件、工具和文档等等。 在本课题涉及的 TC4 项目中,具体的内容如下: 交叉编译器 本项目使用 arm2020q3 交叉编译器,能将 C 语言的源程序编译成机器可以识别的二进制文件,生成镜像供板子开发使用。 对于小的程序,可以通过 arm2020q3 o hello 命令来编译;当工程文件复杂时,则通常使用 Makefile文件中的 CC/CFLAGS选项来配置 编译器的类型,使用 make 命令就能快捷编译。 Bootloader 程序 Bootloader 程序是用来完成系统启动和系统软件加载工作的程序。 它完成处理器和周边电路正常运行所需要的初始化工作,屏蔽了底层硬件的差异,使上层软件的编写和移植更加方便。 [5] TC4 项目使用了 Uboot 模板,通过修改 代、更改 Makefile文件,可以编译生成能启动到开发板上的 bootloader 镜像。 本项目的 bootloader 原理框图如下, bootloader 可以大致分成 4 个步骤,bl1(Bootloader Stage1)、 bl2(Bootloader Stage 2)、 TZ(TrustZone)和 uboot(Universal Bootloader)。 通过分配空间、加载程序、加密之后跳转到操作系统启动。 Bootloader 除了有启动操作系统的功能之外,还具有烧录功能。 在裸板的情况下,硬件部门只能通过 JTAG 口来烧录程序至芯片中的 emmc 中,当 uboot 已 10 经录入,在 uboot 模式下,可以通过 fastboot 等工具直接烧写操作系统内核的镜像、操作系统的外壳镜像,甚至新的 bootloader 的镜像。 嵌入式操作系统 TC4平台是针对 Samsung公司 Exynos 4x12应用处理器片上系统开发的平台。 该平台面向平板电脑、智能手机等手持设备,重点开发 系统。 Android系统的内核基于 linux。 比如最新的 Icecream Sandwich(ICS)系统的内核版本是。 在这个内核之上, Android 还定义了系统运行库层、应用程序框架层和应用程序层。 Uboot 可以从官网 Linux 内核的源程序可以从 , Android代码可以通过 linux系统从 的 open source project 中下载。 整个解决方案的开发的核心就是对这三个 prject的修改,能够移植到 TC4 的硬件平台上。 调试、下载工具 TC4 平台使用一系列工具连接开发用的 PC 机和开发板,用于烧录和调试代码,以发现系统 bug、完善功能。 具体的工具如下:。基于三星嵌入式平台的传感器驱动开发及测试本科毕业论文
相关推荐
Uk。 Uk1=Uk。 基本 PID算法+惯性环节 加热器(对象) R PV E U(t) Y 图( 2)加热器温度控制图 11 Ek2=Ek1。 Ek1=Ek。 da=(unsigned short int)(Uk*)。 AC6611_DA(hDevice,da)。 Edit3Text=FloatToStrF(Uk,0,4,4)。 } 5 控制算法程序设计
11bit 模式,带有奇偶校验控制 SPI: 全双工( FullDuplex) /半双工( HalfDuplex)同步通讯端口 支持 Master/Slave 模式 CRC: CRC 功能由 SPCP825A 芯片硬件电路产生 —— CRC16/CRCCCITT Memory: ROM(OTP)、 192B RAM 东北大学秦皇岛分校 毕业设计 (论文 ) 第 19 页 19 I/O
se() 语法: void F_FlashErase(sector) 描述:擦除 256 字节 参数 : 擦除页的起始地址 第 9 页(共 18 页) 返回:无 位操作模块 由于 SPCE061A 没有位操作指令,而在程序控制电机的时候需要经常操作某一位,为了方便程序的编写,增强可读性,编写了位操作模块。 函数 void Set_IOB_Bit(unsigned int,unsigned int
.......................................................................................16 MC13213 活动模式 ................................................................................................
用户接口 )资源两大部份,两部份最后以 RC 编译程序整合为一个完整的 EXE 文件。 所谓 UI 资源是指功能菜单、对话框、程序图标、光标形状等等东西。 这些 UI 资源的实际内容(二进制代码)系借助各种工具产生,并以各种扩展名存在,如 .ico .bmp .cur 等等。 程序员必须在一个所谓的资源描述档( .rc )中描述它们。 RC 编译器( )读取 RC 文件的描述后将所有 UI
计数输入),时钟输出 T2EX(定时器 /计数器 T2 的捕捉 /重载触发信号和方向控制) MOSI(在 系统 编程用) MISO(在 系统 编程用) SCK(在 系统 编程用) P2 口: P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口, P2 输出缓冲器能驱动 4 个 TTL 逻辑电平。 对 P2 端口写 “1” 时,内部上拉电阻把端口拉高,此时可以作为输入口使用。 作为输入使用时