




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
邮局订阅号 :/年 技 术 创 新ARM 开 发 与 应 用PLC 技术应用 200例 基于嵌入式 ARM 的信号采样及 QT 图形显示Signal Acquisiton Based on Embedded ARM and QT Image Display(1. 郑州大学; 2. 中科院北京高能物理研究所胡 磊1,2初元萍2朱科军2郑国恒1HU Lei CHU Yuan-ping ZHU Ke-jun ZHENG Guo-heng摘要 :在 嵌 入 式 的 应 用 中 , 数 据 获 取 占 据 着 非 常 重 要 的 位 置 。 各 种 自 动 控 制 的 信 号 采 集 , 远 程 数 据 和 状 态 信 号 的 获 取 和 监 测 ,语 音 和 图 像 智 能 识 别 , 都 需 要 与 外 界 互 动 获 取 信 息 , 而 这 些 就 是 数 据 获 取 的 主 要 工 作 。 本 文 主 要 研 究 数 据 获 取 在 嵌 入 式 系 统 中 模 拟 到 数 字 的 通 用 模 型 , 特 别 是 ADC 应 用 的 关 键 技 术 , 并 对 信 号 的 快 速 中 断 采 集 , 共 享 中 断 以 及 ADC 中 断 在 Linux 系 统 中 的 相 关 性 能 进 行 了 测 试 分 析 ; 并 介 绍 了 目 前 流 行 的 QT/Embedded的 图 形 库 动 态 显 示 数 据 的 方 法 。 关键词 :嵌入式 linux;QT; 实时图像绘制 ; 共享中断 ; 中断响应最大值 中图分类号 :TP274+.2文献标识码 :AAbstract:In the field of the embedded applications, Data Acquisition has occupy a very important position. Various Signal Acquisi -tion of automatic control, access and monitoring of remote data, intelligent recognition of voice and images, All this need to access to information from the outside, and that is all major work of Data Acquisition. This paper focus primarily on universal models of data acquisition from analog to digital in embedded systems, and especially key technology of ADC applications, testing analysis of quick interruption and interrupt sharing and ADC interruption in Linux systems;in the end introduces methods of dynamic display of data with popular graphics library of QT/embeddedKey words:embedded Linux; QT graphics ; realtime image rendering; interrupt sharing; the maximum of interrupt response文章编号 :1008-0570(200902-2-0111-031引言伴随信息技术与网络技术的高速发展, 嵌入式技术已经渗 入到我们日常生活的各个方面 。 自第一个 linux 内核问世以来,Linux OS 已经以它的高效,灵活和开放性吸引人们去开发和应 用; 而嵌入式系统和 Linux 的有机结合, 不仅继承了 Linux 源代 码开放, 内核稳定高效, 应用软件丰富, 强大的网络支持, 而且 还具备嵌入式设备硬件平台小型化, 成本低等特点, 已成为众 多领域中普遍的应用模式 。数据获取, 特别是利用模数转换模块来实现数据获取是嵌 入式应用的关键技术 。 如何将采集到的数据通过 FFT 频谱分析 得到硬件 AD 性能, 如何解决实时数据采集中触摸屏和数据采 集轮流工作的问题,如何测试出关于基于 ARM 的时钟中断最 高响应频率, 如何利用触摸屏实现嵌入式图形系统在数据获取 中的应用等都是模数转换整体解决方案中的研究重点 。 本文基 于 ARM920T 体系结构,以及 linux2.4内核和 QT 图像系统, 对 以上问题进行了深入的研究 。2系统开发环境和工具系统开发环境由信号发生器 、 示波器 、 ARM 嵌入式开发 板 、 开发主机等组成 。 开发板 (目标机 的 CPU 采用三星s3c2440A (主频 400MHZ , SDRAM 与 NAND Flash 各为 64M 容量; 并配有 sharp(夏普 2.4英寸触摸屏 。 开发板运行 linux 内核 版本为 2.4.18操作系统; BootLoader 采用三星提供的 VIVI 引 导; 文件系统采用 cramfs 根文件系统; 图形界面是奇趣公司的 QTOPIA1.7.0。 测试中使用的外部信号源是 HP 公司的 33120A 信号发生器产生 。开发主机操作系统为 Linux redhat9.0,使用 NFS 系统与目标机进行远程开发 。 系统环境参看图 1。3工作流程图图 2是研究中的工作流程 。 为了实现测量数据的准确性, 信号发生器产生外接标准信号, 用于实验测量源 。 信号源通过 ARM 开发板上的 ADC 模块处理后产生数字信号,接着 Linux 通过中断处理程序也就是驱动来读取产生的数据信息, 并通过 内核和上层应用程序处理, 最后由上层图形应用程序输出实时 图像 。胡 磊 :在读研究生图 2工作流程图111-技术 创 新 微计算机信息 (嵌入式与 SOC2009年第 25卷第 2-2期 年 邮局订阅号 现场总线技术应用 200例 ARM 开 发 与 应 用4Linux 系统中关于 AD 模块的驱动程序设计AD 驱动程序模块设计是实现整个系统的关键 。 在 AD 模块驱动程序模块设计中, 中断采集的定时方式, 转换频率的选 择 , 数据采集模式以及设定中断共享模式和启用内存缓冲池等 是必须解决的关键技术 。4.1ADC 模块软硬中断选择嵌入式系统上 ADC 设备是一个可循环使用的 8通道模拟 输入的设备,在 2.5MHz 的 A/D转换时钟条件下最高转换频率 是 500KSPS 。 采样分软件定时和硬件定时 。 软件采样可以通过 usleep 等系统定时函数和多线程编程来处理,但是因为通用Linux 系统内核的时钟嘀嗒间隔为 10ms ,在稍高频率测试中软 件定时误差会非常大,当软件定时间隔小于 10ms 时定时仍然 为 10ms 间隔, 软件定时不能产生足够精细的定时间隔, 所以使 用硬件实时时钟 RTC 中断来控制采样间隔 。4.2A/D转换速度的设定由于涉及到相对比较高频率测试, 需要有一个比较合适的 转换频率 。 由转换公式A/Dconverter freq.=50MHz/(prescale+1这里预值选择 24, 转换频率算出为 2MHz 。 4.3数据采集模式的选择A/D转换数据可以由中断(interrupt 和轮询 (polling 两种 方式处理 。 选择中断方式, 则中断转换完毕后进程切换会推迟 数据访问时间 。 选择轮询方式, 通过检查结束转换寄存器标志 位 ADCCON , 可以决定 ADCCON 寄存器的读取时间 。 中断方式 主要是延时比较大, 但是不占用系统资源; 论询没有延时, 缺点 是高频率响应会完全占用掉 CPU 资源 。 中断读取数据方式会 造成硬件 RTC 中断间隔与数据中断读取之间的中断冲突, RTC 实时中断优先级高于 ADC 转换中断,因此当 RTC 足够快的时 候, ADC 中断就会被扔掉; 相反轮询因为是在 RTC 驱动程序里 实现, 所以采集到的数据不会因为优先级低被丢掉 。 对于此次 测试, 考虑选择轮询方式 。4.4ADC 设备和触摸屏设备共享中断及中断屏蔽问题由于 4.3的理由我们选择轮询方式 。 在 s3c2440硬件系统 里, ADC 设备和触摸屏设备复用 8个通道,共用一个中断响应 号 。 为了保证在采集间隙触摸屏仍能够正常工作, 有两种选择:在 ADC 采集驱动程序里屏蔽掉触摸屏中断;或者通过共享中 断来处理 。因为普通中断处理函数只能对应一个中断号, 而共享中断 可以多个处理函数对应同一个中断号; 共享中断的处理机制是 当中断响应时, 内核里对应此中断号的所有中断处理程序都将 顺序执行,这样当 ADC 中断没有响应时,触摸屏可以自动工 作, 所以选择共享中断 。4.5起用内存映射机制与循环缓冲池 当采集频率足够高和采集时间足够长, 数据量就会越来越 大 。 普通的内存拷贝函数 copy_to_user(等需要在驱动里通过功 能函数来实现,并且需要外部应用程序在需要时进行系统调 用, 对小数据量和调用频率不是很高的数据量可以使用这种方 式 。 普通内存拷贝函数的缺点是需要在用户空间和内核空间之 间不停地来回拷贝数据,为了减少这种时间和空间上的损失, 在驱动程序里引入内存映射机制 mmap 。mmap 映射机制,可以向应用程序提供一个直接查看自己驱动程序缓冲区的方法 。 设计中考虑使用头和尾两个指针, 为 循环缓冲区提供了一个保护机制; 为了判断循环缓冲区是否溢 出, 当头指针位于尾指针下一位时判定循环缓冲区满, 这时候 程序正常退出 。4.6中断程序主要内核调用函数下面是驱动程序中主要调用的功能模块:static struct file_operationsrtc_fops=owner:THIS_MODULE,llseek:no_llseek,read:rtc_read,write:rtc_write,/写入设备模块函数,负责传 递通道号和预值参数等 poll:rtc_poll,mmap:rtc_mmap,/内存映射文件操作函数 ioctl:rtc_ioctl,/ioctl控制模块,负责 RTC 的开启和时间间隔设定open:rtc_open,/系统文件打开功能,负 责初始化 RTC 的一些环境变量release:rtc_release,fasync:rtc_fasync,;5有效数字测量和最大中断响应5.1有效位定量分析采样精度 利用目前比较流行的 FFT (傅立叶变换法 测试 ADC 的信 噪比 。 根据理论上的信噪比公式SNR=6.02N+1.76dB+101g(fs/2B;式中, N 是 ADC 的位数, fs 是采样频率, B 是模拟输入信号 的带宽 。利用 MATLAB7.0计算处理软件将采集到的数据进行处 理,输入信号为峰峰值为 3.3V 的正弦交流信号,频率测试为1HZ 。 数据测试结果算出 SNR ,估算出有效数字位为 8.53。 上图是使用 FFT 反变换结果图, 可以看见采集的数据很好的反应了单一频率的输入信号 。5.2最大中断响应通过中断模块可以控制每秒钟系统产生的采集中断信号, 就可以测试系统的中断响应能力 。 基于三星 ARM2440测试的 结果是每秒钟响应达到 2.4K , 高于这个数值系统因为一直处于 中断处理状态, 不能执行别的程序应用, 始终忙状态 。6QT 绘图程序实现目 前 主 要 使 用 的 嵌 入 式 GUI 系 统 有 Microwindows,- 邮局订阅号 :/年 技 术 创 新ARM 开 发 与 应 用PLC 技术应用 200例 MiniGUI, Qt/Embedded。 Qt/Embedded延续了 Qt 的强大功能, 在底层摒弃了 X lib ,采用 framebuffer 作为底层图形接口, 可以 运行在多种不同的处理器上部署的嵌入式 Linux 操作系统 。 Qt/Embedded 提供了一种类型安全的被称之为信号和插槽的真正的组件化的编程机制 。基于 QT 强大的特性和技术支持, 确定结 合 linux 系统和 Qt/Embedded图形工具来进行图像处理 。6.1程序设计框架和 Linux 多线称编程机制用 QT 来实现的程序功能是同时进行数据采集任务和根据 采集出的数据实时进行图形绘制 。 为了完成多任务的功能, 引 入多线程机制来协调 。 QT 对多线程提供了支持,基本形式有独 立于平台的线程类,线程安全方式的时间传递和一个全局 QT 库互斥量允许从不同的线程调用 QT 方法 。6.2图像闪烁问题触摸屏实时显示并同时采集数据图像时, 在整个屏幕高频 率重新绘制的情况下, 屏幕会出现明显的闪烁问题 。 解决这个 问题的本质:每次准确地在每一个像素上画 。 程序中采用分时 小范围刷新绘制,在需要动态刷新的地方尽可能缩小刷新面 积, 这样就避免了明显的闪烁问题 。7结束语本文主要阐述了在嵌入式处理系统中, 基于开源操作系统 Linux ,采用强大的嵌入式图形界面 QT 工具, 通过实时时钟中 断进行实时数据采集和图像显示的基本设计原理和实现方法 。 重点设计了通用的数据获取驱动和数据存取方式, 详细阐述了 在嵌入式 Linux 中 ADC 处理全过程,实现了绘图和实时数据处 理同时进行,解决了 ADC 转换和触摸屏同时工作和触摸屏闪 烁等问题,最大中断响应能力验证了 Linux 系统可以完成普通 低频段的数据获取的要求, 并为以后进一步的实际应用奠定了 坚实基础 。本文作者创新点:基于三星 ARM2440的数据获取系统中, 实现了中断共享模式数据采集, 在数据获取系统中启用内存映 射机制, 完成在嵌入式 Linux 系统中快速数据采集任务的需要 。 参考文献1NeilMatthew,Richard Stones.Beginning Linux Programming , Second Edition.Canada:WileyPublishing.2004.2魏永明,耿岳, 钟书毅 .Linux 设备驱动程序, 第 3版 . 北京:中 国电力出版社 .2005.11.3谭浩强 .C 程序设计 (第二版 . 北京:清华大学出版社 . 1999-12. 4田泽,于敦山 .ARM SoC 体系结构 . 北京:北京航空航天大学出 版社 .2002.9.5锐极电子科技有限公司 .ARM&Linux嵌入式系统开发祥解 . 北 京:北京航空航天大学出版社 .2007.3. 6ArnoldBerger 著, 吕骏译 . 嵌入式系统设计 . 北京:电子工业出 版社 .2002.9.7JasminBlanchette,Mark Summerfield.C +GUI Programming with Qt3.American :Pearson Education.January 15,2004.8MichaelJang 著, 邱仲潘 等译 . 红帽 Linux9从入门到精通 . 北 京:电子工业出版社 .2003,10.9JohnMuster 著,王玉馨 等译 .UNIX 和 Linux 权威教程 . 北京:清华大学出版社 .2003.1.1.10梁会军 . 基于 ARM S3C2410和流媒体技术的网络视频采集 . 微计算机信息 ,2007,6-2:142-144作 者 简 介 :胡磊 (1981-,男 (汉族 , 郑州大学 , 在读研究生 , 主研 :嵌入式数据获取 .Biography:HU Lei (1981-,Man (theHan nationality, Zhengzhou university, reading of postgraduate, Research area:DAQ on embedded systems.(450001河南郑州 郑州大学物理工程学院 胡 磊 郑国恒(100039北京 中科院北京高能物理研究所 胡 磊 初元萍 朱科军 (Schoolof Physical Engineering,Zhengzhou University,Zhengzhou 450001,China HU Lei ZHENG Guo-heng (Instituteof High Energy Physics Chinese Academy of Sciences,Beijing 100039,China HU Lei CHU Yuan -PingZHU Ke-Jun ZHENG Guo-Heng通讯地址 :(450001河南省郑州市科学大道 100号 胡 磊(收稿日期:2009.01.03(修稿日期:2009.02.05(上接第 309页 吕国强, 男, (1962- , 汉族, 教授, 硕士生导师, 合肥工业大学光 电技术研究院, 主要研究方向:显示技术; 胡跃辉, 男, (1970- , 汉族, 博士, 合肥工业大学光电技术研究院, 主要研究方向:显 示技术 。Biography :FANG Yong , Male , (1980- , Han Nationality , Mas -ter , Research Field :FPGA Technology/DisplayTechnology ;(230009安徽合肥 合肥工业大学光电技术研究院 方 勇 吕国强 胡跃辉(Academeof Opto Electronic Technology , Hefei University of Technology , Hefei230009, ChinaFANG Yong LV Guo-qiang HU Yue-hui通讯地址 :(230009安徽省合肥市屯溪路 193号 合 肥工 业 大 学94号信箱 方 勇(收稿日期:2009.01.03(修稿日期:2009.02.05 现场总线技术应用 200例 现场总 线技 术是 现代工 厂 、 商 业设 施 、 楼 宇 、 公共 设施 运行 、生产过程中的现场设备 、 仪表 、 执行机构与控制室的监测 、 控制装置及管 理与控 制系 统之 间的 数字式 、多点通信互连的, 数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年小学教师资格考试《综合素质》教育资源整合与教育心理辅导研究成效试题(含答案)
- 2025年消防设施检测与维护消防执业资格考试消防设施安装试题
- 2025年乡村医生考试题库:农村常见传染病防治疫情信息共享机制完善试题
- 解州关帝庙结义园建筑详解
- 2025年马术教练资格认证考试马术教练团队建设与管理模拟试卷
- 网络安全与电信诈骗主题班会
- 互联网信息内容管理规定
- 爱的教育读书报告
- 营销心态培训
- 2024年珠海首席技师用人单位年度评估申请表
- 第二课 让美德照亮幸福人生(课时3)(课件)-【中职专用】中职思想政治《职业道德与法治》高效课堂课件+教案(高教版2023·基础模块)
- 《工程建设标准强制性条文电力工程部分2023年版》
- 事故应急救援和调查处理
- 《陶瓷装饰工培训》课件-陶瓷彩绘设计与制作-釉下彩绘
- 《混凝土板桩支护技术规程》
- 2024年重庆市公安局辅警招聘笔试参考题库附带答案详解
- 2024低温液化气体气瓶充装站安全技术条件
- 人教版六年级数学下册全册课时练分层作业
- 2021年10月自考00150金融理论与实务试题及答案含解析
- 设备管理制度的规范标准和流程
- 小学中高年级语文整本书阅读教学策略
评论
0/150
提交评论