毕业论文设计嵌入式示波器软件设计

上传人:沈*** 文档编号:139999223 上传时间:2022-08-23 格式:DOC 页数:64 大小:604KB
收藏 版权申诉 举报 下载
毕业论文设计嵌入式示波器软件设计_第1页
第1页 / 共64页
毕业论文设计嵌入式示波器软件设计_第2页
第2页 / 共64页
毕业论文设计嵌入式示波器软件设计_第3页
第3页 / 共64页
资源描述:

《毕业论文设计嵌入式示波器软件设计》由会员分享,可在线阅读,更多相关《毕业论文设计嵌入式示波器软件设计(64页珍藏版)》请在装配图网上搜索。

1、嵌入式示波器软件设计专业名称: 计算机科学与技术 毕业论文摘 要随着现代工业及科学技术的迅速发展,示波器在电子研发、仪器测试等领域都发挥着越来越重要的作用。因此本人毕业设计选择开发一套便携式双通道的嵌入式数字存储示波器软件系统。嵌入式示波器系统由硬件系统和软件系统两大部分组成,硬件系统又由逻辑电器部分,键盘处理部分组成;软件系统由内核驱动和示波器应用软件组成。使用Quartus 开发示波器的硬件逻辑电路,Nios开发键盘处理部分。软件系统部分主要用Platform Builder裁剪操作系统内核,驱动以及生成示波器软件开发平台。应用程序部分使用Microsoft eMbedded Visual

2、 C+ 4.0为主要开发工具,以Windows CE.net操作系统为运行环境,实现了现在示波器的大部分功能。本论文首先介绍了嵌入式数字存储示波器的国内外发展现状,对嵌入式系统作了简要的叙述,然后详细阐述了系统的需求分析、工作流程及详细设计、实现以及测试。最后,针对系统开发过程中所遇到的问题进行了详细分析并提出了解决方案。关键字 数字存储示波器;嵌入式系统;数据采集;波形AbstractAlong with the modern industry and the science and technology rapidly development, the oscilloscope in El

3、ectronic R & D , instrument test and so on is playing the more and more vital role. Therefore my graduation project choice developint a set of portable double channels embedded digital storage software system.Digital Storage Oscilloscope is composed by two major part :the hardware system and the sof

4、tware system, the hardware system are also partial by the logical electric appliance, keyboard processing partially composes; The software system is composed by the essence actuation and the oscilloscope application software. Using Quartus II to develop the hardware logic circuit of the oscilloscope

5、, the Nios II development keyboard processing part. The software system are partial mainly cuts out the operating system essence with Platform Builder, the actuation as well as the production oscilloscope software development platform. The application procedu repartially uses Microsoft eMbedded Visu

6、al C+ 4.0 for the maindevelopment kit, operating system as moves the environment take Windows the CE.net, has realized the present oscilloscope majority offunctions.In my graduation project, Firstly I introduce the current development of Digital Storage oscilloscopes with embedded digital storage at

7、 home and abroad ,and state briefly the embedded system. Secondly, the need analysis of the system, workflow concrete design, realization and test are elaborated in detail. Finally, the problems to turn up in the development process of the system are analyzed minutely and solutions are put forward.K

8、eywords Digital Storage Oscilloscope; Embedded; Data Collecting; WaveformII目 录1 绪论11.1 示波器发展现状11.2 嵌入式系统介绍21.3 嵌入式示波器的工作原理32 系统需求分析52.1 功能分析52.1.1 硬件子系统52.1.2 内核子系统62.1.3 应用子系统62.2 性能需求72.3 环境需求72.3.1 硬件环境需求72.3.2 软件环境需求73 硬件子系统93.1 嵌入式示波器性能分析93.2 嵌入式示波器的键盘处理104 内核子系统154.1 Platform Builder介绍154.2 Wi

9、ndows CE.net重要组件164.3 添加硬件中断服务程序184.4 PB生成操作系统镜像的步骤214.5 PB生成软件开发平台SDK225 应用子系统235.1 系统概要设计235.1.1 总体功能概述235.1.2 数据采集245.1.3 数据处理245.1.4 数据显示255.1.5 系统设置295.2 系统界面设计315.2.1 波形显示背景图设计325.2.2 按钮设计335.2.3 菜单界面设计355.3 系统详细设计与实现365.3.1 数据采集模块365.3.2 数据处理模块375.3.3 数据显示模块385.4 系统设置模块435.4.1 存储设置模块的设计与开发435

10、.4.2 系统使用设置模块的设计与开发455.5 多线程实现455.5.1 系统中多线程的设计与开发455.5.2 提高显示速度506 软硬件联合测试516.1 测试内容516.2 测试目的516.3 示波器键盘正确性测试516.4 示波器键盘抖动测试536.5 测试总结53结束语54致谢55参考文献56附录:主要功能菜单58河北经贸大学毕业论文嵌入式示波器软件设计1 绪论1.1 示波器发展现状在电子测量测试仪器中,示波器的使用范围是很广泛的,有人称:示波器像是电子工程师的第二双眼睛。示波器自诞生至今已经有60多年的历史。二十世纪四十年代是电子示波器兴起的时代,第一台示波器的结构十分简单,是由

11、一支示波管、一个电源和一个简单的扫描电路组成,只能用于观察信号。雷达和电视的开发需要性能良好的波形观察工具,泰克成功开发出带宽10MHz的同步示波器,这是近代示波器的基础。五十年代半导体和电子计算机的问世,促进电子示波器的带宽达到100MHz。六十年代美国、日本、英国、法国在电子示波器开发方面各有不同的贡献,出现带宽6GHz的取样示波器、带宽4GHz的行波示波管、1GHz的存储示波管;便携式、插件式示波器成为系列产品。七十年代模拟式电子示波器达到高峰,行谱系列非常完整,带宽1GHz的多功能插件式示波器标志着当时科学技术的高水平,为测试数字电路又增添逻辑示波器和数字波形记录器。模拟示波器从此没有

12、更大的进展,开始让位于数字示波器,英国和法国甚至退出示波器市场,技术以美国领先,中低档产品由日本生产。八十年代的数字示波器处在转型阶段,还有不少地方要改进,美国的TEK公司和HP公司都对数字示波器的发展做出贡献。它们后来停产模拟示波器,并且只生产性能好的数字示波器。进入九十年代,数字示波器除了提高带宽到1GHz以上,更重要的是它的全面性能超越模拟示波器。目前,在中国大陆示波器主要还是传统的模拟实时示波器技术,数字存储示波器技术的研发还未全面开花,但这是方向,几年内将有大的飞跃。数字存储示波器将在电子研发、汽车制造、维修及仪器测试,此外,在教育及职业培训,如EDA试验室的建设、电子设计领域的日常

13、教学等领域都将有很大的应用与发展。1.2 嵌入式系统介绍嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。嵌入式系统具有以下几个特点: 嵌入式系统是先进的计算机技术、半导体技术以及电子技术与各个行业的具体相结合物。 嵌入式系统实现的功能单一,通常是面向用户、面向产品、面向特定应用的,一般只实现某行业的特定功能。 成本低、体积小、功耗低及可靠性高,在运行速度及存储容量上有一定的限制

14、。嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般就具备以下4个特点: 对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核的执行时间减少到最低限度。 具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。 可扩展的处理器结构,以能最迅速地开展出满足应用的最高性能的嵌入式微处理器。 嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,如需要功耗只有mW甚至W级。嵌入式计算机系统同通用型计

15、算机系统相比具有以下特点: 嵌入式系统通常是面向特定应用的嵌入式CPU与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。 嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。 嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在

16、具体应用中对处理器的选择更具有竞争力。 嵌入式系统和具体应用结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。 为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。 嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发。现在市场上已经有许多嵌入式操作系统,比如VxWorks,pSoS,PalmOS,嵌入式Linux和WinCE等。本文用的是WinCE操作系统。嵌入式处理器目前主要有 Am186/88 、 38

17、6EX 、 SC-400 、 Power PC 、 68000 、 MIPS 、 ARM 系列等。本文用的是ARM系列CPU。1.3 嵌入式示波器的工作原理之所以称其为嵌入式示波器,是因为其软件部分是基于WinCE操作系统、ARM系列CPU上开发的。其性能远远优于普通示波器。嵌入式示波器也称为数字存储示波器,是用数字电路来完成存储功能的,数字存储示波器英文是“Digital storage oscilloscope”,简称DSO。在DSO中在输入信号接头和示波器CRT之间的电路不只是仅有模拟电路。输入信号的波形在CRT上获得之前先要存储到存储器中去。它用A/D变换器将模拟波形转换成数字信号,然

18、后存储在存储器RAM中,需要时再将RAM中存储的内容调出,通过相应的变换,显示在示波管的屏幕上。在数字存储示波器中,信号处理功能和信号显示功能是分开的,其性能指标完全取决于进行信号处理的A/D、D/A变换器RAM。在示波器的屏幕上看到的波形总是有所采集到的数据重建的波形,而不是输入连接端上所加信号的立即的、连续的波形显示。2 系统需求分析需求分析在系统的开发过程中是非常重要的一个环节。通常,软件工程项目的开发过程,称为软件生存期过程。一般可分为项目定义期、设计开发期和运行维护期。每个时期又由不同阶段组成。需求分析阶段不同于项目定义和可行性分析阶段,那两个阶段只是为了争取一个新项目,但并不一定能

19、够获得这个项目。需求分析是在可行性研究的基础上,确定项目必须完成哪些工作,即对项目最终目标提出完整、准确、清晰和具体的要求。2.1 功能分析本项目为嵌入式示波器,分为三个部分:1、硬件子系统,主要包括嵌入式示波器的特性、工作原理的分析,以及键盘处理。2、内核子系统,主要负责WinCE的系统裁剪、驱动开发、硬件中断处理等。3、应用子系统,主要是示波器软件开发,其主要功能是设制示波器采集参数,采集数据并显示、处理、分析数据,实现示波器的所有通用功能。下面分别对这些功能进行分析。2.1.1 硬件子系统此功能主要包括嵌入式示波器的特性、工作原理的分析,以及键盘处理。数字存储示波器不是将波形存储在示波管

20、内存储栅网上,而是存在存储器中,存储时间可以无限长。因此,数字存储示波器是一种既具有实时观察,具有电路分析功能,又具有波形存储能力精确度高,操作简单既具有信号处理能力又可以通过计算机进行程序自动测量的高智能化示波器。其组成通常包括控制、取样存储、CRT;控制部分包括键盘、ROM、CPU;取样存储部分由A/D、D/A转换器组成;最后是CRT。在存储部分为了提高其采集速度,在硬件上开双缓冲区,交替采集数据。在键盘处理上采用单片机处理,以解决抖动现象,有效防止丢键情况发生,并控制发光二极管以标识当前操作。按钮的抖动现象在平常中是非常常见的,一般的消抖方式有两种:一种是硬消抖,即硬件在电路上实现其消抖

21、功能,或是添加专门的处理芯片,但由于示波器键盘按键比较多,电路和编码规则复杂,我们未采用硬消抖方法,而是采用了第二种去抖方式,软消抖方式,由独立的时钟去扫描电路变化,其变化持续20mS以上认为按键有效,并独立开辟FIFO缓冲区,以解决操作按键或旋钮的速度比较快,软件反应慢而造成的丢键现象。在发光二极管上我们采用两片74HC595搭接16位的LED控制器,利用串行移入并行输出的方式驱动发光二极管。2.1.2 内核子系统此部分的主要功能是合理的裁剪内核,并正确添加驱动程序,以保正软件正确高效的运行。在内核裁剪方面,为了在程序能正确运行的前提下最大限度的减小系统开支和最大限度的提高程序的运行效率,我

22、们只裁剪其系统的基本功能,例如:TCP/IP协议、显示屏驱动、USB驱动、外扩存储器驱动、C运行库支持、字体支持、文件管理支持、内存管理支持等等。在中断处理方面,由于硬件键盘中断无法直接通知到应用软件,所以只能先由内核接收硬件中断,然后再通知到应用层软件,再由应用层软件读取硬件设备端口,接收键盘信息并正确设制软硬件。2.1.3 应用子系统示波器应用软件部分主要负责数据采集、显示、处理、分析等,包括了示波器的所有通用功能,为用户的正常使用提供各种软件模块。该软件采用多线程,将数据的采集和显示处理分开进行,通过对多线程的控制来完成数据采集与显示处理的正确配合。数据的采集即对硬件的读写,首先编写硬件

23、读写操作模块,并且为应用程序提供此硬件的端口读写函数;显示模块采用双缓冲技术以提高效率,此模块主要是为方便用户的测量及使用,为用户提供各种显示处理方法,从而得到波形的各种特性值。大体上系统可分为数据采集、数据处理、数据显示、多线程配合、系统设置五大模块。数据采集模块可分为:采集控制、时基及电压或电流衰减控制、触发控制。数据处理模块可分为:波形计算、波形属性值的测量。数据显示模块可分为:波形显示控制、测量线测量。系统设置模块可分为:存储设置、系统设置。2.2 性能需求 带宽: 150MHz 实时采样: 1GHz 等效采样: 5GHz 存储深度: 4KB 系统支持: USB鼠标、USB键盘、最多外

24、扩8个USB设备、支持音/视频、支持MMC、CF存储卡、支持Word、Excel等基本的办公软件 输入灵敏度: 20mV/div to 10V/div 最高输入电压:400V(DC+VCpeak) 时基精度: 20ppm 输入耦合方式:DC, AC, GND 时基范围: 200nS to 10S 衰减范围: 2mV to 10V 触发源: 通道1触发、通道2触发、外触发 外触发: TTL/CMOS兼容,沿触发 触发灵敏度: 0.2格,20mV/div时为4mV2.3 环境需求2.3.1 硬件环境需求 CPU:Intel Xscale PXA255 400MHz 主存:64M以上 FLASH:3

25、2M以上 显示屏:LCD,320240,真彩色 附件:支持MMC、CF存储卡、各种USB设备 接口:支持串口、网口2.3.2 软件环境需求硬件以Quartus 和Nios为开发工具,Quartus开发示波器的硬件逻辑电路,Nios主要开发键盘处理部分。系统部分主要以Platform Builder裁剪WinCE系统内核,驱动以及生成示波器软件开发平台。应用部分以Microsoft eMbedded Visual C+ 4.0为主要开发工具,以Windows CE.net操作系统为运行环境,实现目前示波器的绝大部分功能。其中EVC支持MFC类库的子集,可以给开发者提供最强大的支持,也使Win32

26、平台上的VC程序员可以很容易地迁移到WinCE平台上。Windows CE.net下的EVC编程都是对特定目标硬件的编程,运行Windows CE.net的机器通常资源比较贫乏,所以编程时首先要明确目标硬件的特点和要求。对于本数字存储示波器系统,有下面几点需要注意:内存管理本示波器的内存为64M, WinCE支持一些特有的管理有限内存的函数、结构、消息等,编程时要合理利用这些资源。电源管理本示波器除了外接电源外,还支持了电池供电功能。由于电池电量很有限,在编程时要避免占用不必要的CPU资源,节省用电。用户界面本示波器显示屏的分辨率为320240,不能显示某些高分辨率的图像信息,并且要合理的设计

27、用户界面。3 硬件子系统由于本人主要完成软件系统的设计,对于硬件系统不做详细论述,现只将嵌入式示波器性能分析和键盘处理介绍如下:3.1 嵌入式示波器性能分析嵌入式数字存储示波器的一个显著特点是能够对采集数据进行幅度、频率等各种时域参数实时运算,并且,采集的波形数据在液晶(Liquid Crystal Display, LCD)上显示刷新速率越高,波形再现的实时性就越好。采用一般的微处理器对波形数据进行处理、显示,很难达到理想的波形刷新速率。所以,采用(Digital SignalProcessor, DSP)与现场可编程门阵列(Field Programmable Gate Anray)DSP

28、+FPGA结构能充分利用DSP强大数据处理能力以及FPGA电路设计灵活、硬件资源丰富的特点,使总体结构简洁、高效和可靠。系统总体框架如图3.1所示。CH2CH1A/D转换控制信号FPGA和DSPCH1衰减电路CH2衰减电路控制电路时基电路键盘扫描电路触发电路SOCPU键盘(灯)处理程序应用层示波器软件中断LCD显示器FIFOFLASHDARA/ADDRESSRAM图3.1 系统总体框架图图中,系统采用FPGA加一片DSP芯片结构,DSP读取采集的数据后,将其存入RAM中。应用层示波器从RAM中读取数据,处理并输出到LCD显示器上显示。FLASH用于存储WinCE内核和装载各种程序所需要的驱动、

29、字库等等。为了提高键盘响应速度,由一个独立的时钟信号去扫描键盘变化,并由SOCPU将其变化编码读入键盘处理程序,并把分析结果写入FIFO后发出键盘中断信号给内核,内核收到中断信号立刻用事件通知上层应用软件,由应用软件发出控制命令设制软硬件各项参数。硬件子系统的核心部分就是FPGA,布FPGA的主要开发工具是Quartus II,现将Quartus II简单介绍如下:Quartus II是Altera公司推出的CPLD/FPGA开发工具,Quartus II提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括:(1)可利用原理图、结构框图、VerilogHDL、AHDL和

30、VHDL完成电路描述,并将其保存为设计实体文件;(2)芯片(电路)平面布局连线编辑;(3)LogicLock增量设计方法,用户可建立并优化系统,然后添加对原始系统的性能影响较小或无影响的后续模块;(4)功能强大的逻辑综合工具;(5)完备的电路功能仿真与时序逻辑仿真工具;(6)定时/时序分析与关键路径延时分析;(7)可使用SignalTap II逻辑分析工具进行嵌入式的逻辑分析;(8)支持软件源文件的添加和创建,并将它们链接起来生成编程文件;(9)使用组合编译方式可一次完成整体设计流程;(10)自动定位编译错误;(11)高效的期间编程与验证工具;(12)可读入标准的EDIF网表文件、VHDL网表

31、文件和Verilog网表文件;(13)能生成第三方EDA软件使用的VHDL网表文件和Verilog网表文件。3.2 嵌入式示波器的键盘处理由于键盘对示波器的信号采集和波形显示起到了不可缺少的控制作用,所以键盘的处理显得尤为重要,针对嵌入式示波器的键盘处理分为两个部分:1 键盘的编码规则和输出格式的处理本示波器键盘共有8个旋钮48个按钮,所以在硬件上用8个字节表示其键的变化信息,其中每一个字节的前两位表示旋钮状态,后六位表示按钮状态,由一个独立的固定的扫描时钟扫描键的变化,然后对比前后8个字节的状态位,如果前后8个字节有不一样的位信息,说明该位所表示那个键有变化,计算出该键的位置并封装成16位信

32、息写入FIFO,然后发出硬件中断信号,内核接到中断信号以后即用事件方式通知上层应用软件读取FIFO的16位信息,以正确控制软硬参数。16位信息各位所表示的含义如表3-1所示:表3-1 FIFO 16位信息对应表高8位信息(旋钮步进)12345678低8位各位表示信息:第1位:相临数据区分标志由于FIFO采用写优先方式控制,可能出现读写冲突的现象,导致数据重复读。为了解决这一现象,我们用这一位0或1来标志区分前后两次数据。第2位:旋钮和按键区分标志 该位为1表示旋钮有变化,为0表示按钮有变化。第3-8位:旋钮和按键区分标志 如果是按钮有变化,则3-8位表示按钮位置。如果是旋钮有变化,第3位为1表

33、示顺时针,为0表示逆时针,第4、5位无效,第6、7、8位表示旋钮位置。高8位表示信息:如果是按钮高8位无效。如果是旋钮高8位表示步进次数,由于硬件的扫描速度比较快,有可能出现软件反应慢的现象,这时硬件应给出综合步进值,以提高反应速度,有效防止丢键现象。2 发光二极管的处理根据规划,目前有11个按钮需要用灯的亮灭来标识,其中RUN/STOP是双色灯,即两个发光二极管,进行时为绿灯,停止时为红灯,一共有12个发光二极管,所以我们选用了两片74HC595搭接出16位LED控制器,74HC595SERL DATA 14SRCLKL SCLK 1110SRCLRL CS 12RCKLK13EO0O1O2

34、O3O4O5O6O7Q7LED17LED18LED19LED20LED21LED22LED23LED2474HC595SER14SRCLK10SRCLR12RCKLK13EO0O1O2O3O4O5O6O7Q7LED25LED26LED27LED281191512345679151234567黄红白LED26 LED25选择LED19粗调LED18测量LED20光标LED22采样LED21显示LED24存储LED23系统LED17自动LED27单次LED28开始/停止图3.2 LED控制器电路图LED控制器电路图和菜单与发光二极管的对应关系如图3.2所示。其中选择和粗调是交替亮灭,测量、光标、采

35、样、显示、存储、系统为菜单显示,只有切换菜单时或关闭菜单是当前的按钮的发光二极管才灭。单次功能开启时,开始/停止按钮LED25红灯亮,正常运行时LED26绿灯亮。自动设置时,LED27灯亮,等自动设置完成时,LED27灯自动灭掉。LED的核心控制代码如下:alt_u16 KeyLed_data;/当前16位LED控制信息alt_u16 SendKeyLed_data;/写入74HC595的16位控制信息KeyLed_data=0xffff;SendKeyLed_data=KeyLed_data; for(k=0;k16;k+) IOWR_ALTERA_AVALON_PIO_DATA(PIO_7

36、_BASE,SendKeyLed_data); /最高位串行输入74HC595 IOWR_ALTERA_AVALON_PIO_DATA(PIO_6_BASE,1);/移位脉冲 IOWR_ALTERA_AVALON_PIO_DATA(PIO_6_BASE,0);SendKeyLed_data=SendKeyLed_dataGPDR_y &= (GPIO_32); v_pGPIOReg-GFER_y |= GPIO_32;/down v_pGPIOReg-GEDR_y |= GPIO_32; v_pICReg-icmr |= INTC_GPIO80_2;/允许GPIO80-2中断 break;vo

37、id OEMInterruptDisable(DWORD idInt)/对按键中断的OEMInterruptDisable处理case SYSINTR_NEWKEY:/*v_pGPIOReg-GRER_y &= GPIO_32;/upv_pGPIOReg-GFER_y &= GPIO_32;/down break;void OEMInterruptDone(DWORD idInt) case SYSINTR_NEWKEY:/*v_pGPIOReg-GFER_y |= GPIO_32;/down v_pICReg-icmr |= INTC_GPIO80_2;/允许GPIO80-2中断 break

38、;(2) 修改文件intxsc1.CD:WINCE420PLATFORMX-Hyper255BKERNELHALARM intxsc1.c在OEMInterruptHandler函数的“else if(ipreg_copy & INTC_GPIO80_2)”语句后面加入: if(v_pGPIOReg-GEDR_y & GPIO_32) v_pGPIOReg-GEDR_y |= GPIO_32;/清楚中断标志 v_pGPIOReg-GFER_y &= GPIO_32;/down v_pICReg-icmr &= (INTC_GPIO80_2);return SYSINTR_NEWKEY;(3)

39、修改文件oalintr.CD:WINCE420PLATFORMX-Hyper255BINC oalintr.h在空白处加入#define SYSINTR_NEWKEY(SYSINTR_FIRMWARE+20)其中SYSINTR_NEWKEY为中断标示,用于把系统中断和逻辑中断联系起来。(4) 编写驱动程序在驱动程序中有初始化等,关键是中断服务线程IST。INT WINAPI NewKeyIntrThread(void)while(1)if(WaitForSingleObject(gNewKeyIntrEvent, INFINITE) = WAIT_OBJECT_0) SetEvent(gKey

40、NotifyEvent);/事件通知上层软件InterruptDone(SYSINTR_NEWKEY);/清除中断return 0;(5) 编译进内核1)PLATFROM BUILDER 导入souce特性。2)修改OAL 层:C:WINCE420PLATFORMXSBase255INCoalintr.h#define SYSINTR_NEWKEY(SYSINTR_FIRMWARE+20)C:WINCE420PLATFORMXSBase255KERNELHAL cfwxsc1.cOEMInterruptDoneOEMInterruptEnableOEMInterruptDisable 三个函数

41、中添加 case SYSINTR_NEWKEY:break;3)在文件中添加 在文件project.bib模块中添加:NewKey.dll$(_FLATRELEASEDIR)NewKey.dllNK SH4)修改注册表 在文件project.reg 模块中添加: IF BSP_KEYBD_NEWKEYHKEY_LOCAL_MACHINEDriversBuiltinNEWKEY Index=dword:1 Prefix=KEY Dll=NewKey.dll Order=dword:0ENDIF5)修改XSBase255.bat的相应部分(D:WINCE4.2PLATFORMXSBase255)s

42、et BSP_KEYBD_NEWKEY1 4.4 PB生成操作系统镜像的步骤WINDOWS CE的PLATFORM BUILDER生成OS IMAGE的步骤共4个阶段:Sysgen阶段、Feature Build阶段、Release Copy阶段、Make Image阶段。经过4个阶段最终生成好的IMAGE名字为NK.BIN。Sysgen阶段: PB负责将所有选定的Feature对应的VARIABLE搜集起来. 根据创建PLATFORM后对应的Feature,生成针对PLATFORM的头文件。 导入一堆库文件。在Sysgen阶段最后一步是把BSP BUILD好。Feature Build阶段:

43、 PB将其他不属于OS组件的Feature BUILD好。Release Copy阶段: PB将所有的编译好的文件, 无需编译但是属于指定Feature的文件(例如帮助文件等)复制到Release目录下。Make Image阶段: PB生成最终的WINDOWS CE IMAGE文件。4.5 PB生成软件开发平台SDK将NK.BIN下载到目标机后,WinCE系统就可以启动了,但是还有一步就是为我们的应用软件生成开发平SDK(software development kit),在PB的platform菜单下选择Build SDK,等编译完成后选择Configure SDK,PB会自动生成一个SDK

44、的安装文件,将安装文件安装在计算机上,这时打开Microsoft eMbedded Visual C+,在平台选择上就可以找到刚装上的SDK平台,就可以在基于该SDK平台上开发应用软件了。WinCE启动界面如图4.2所示。图4.2 WinCE启动界面5 应用子系统5.1 系统概要设计概要设计的基本目标就是概要地回答系统应该如何实现。设计在任何工程产品或系统中,是开发阶段的第一步。设计可以定义为应用各种技术和原理,对一个设备、一个过程或一个系统,做出足够详细的决策,使这有可能在物理上得以实现的过程。系统的总体设计是在前面系统分析的基础上,为后期将要构造的系统实体建立一个模型或表达式。构造这样的模

45、型需要有开发人员的直觉和以前开发这类实体经验的判断、开发方法的采用、产品质量的准则,是一个综合的过程。而且经过多次的重复,直到最终拿出最后的设计模型。5.1.1 总体功能概述系统的总体结构主要根据系统欲实现的基本功能来设计的,大体上系统可分为数据采集、数据处理、数据显示、多线程配合、系统设置五大模块。数据采集模块可分为:数据采集、时基及衰减控制、触发控制。数据处理模块可分为:波形计算、波形属性值的测量。数据显示模块可分为:波形显示控制、测量线测量。系统设置模块可分为:存储设置、系统设置。另外,为了实现采集与显示的配合系统采用了多线程,多线程主要是为前两大模块服务,实现采集和显示的同步,解决内存

46、访问的冲突,使系统正常有序的运行。本系统对数据的处理如图5.1所示。内存数据处理LCD显示器示波卡采集片上RAM图5.1 系统数据处理示意图系统总体功能图如图5.2所示。数据处理采集波形计算波形测量数据显示采集波形显示控制测量线测量系统设置采集存储设置系统使用设置嵌入式数字存储示波器软件系统设计衰减控制触发控制采集控制时基控制数据采集采集键盘设置采集设制软硬件参数图5.2 系统总体功能图5.1.2 数据采集数据采集包括采集控制、时基及衰减控制、触发控制四部分。数据采集主要涉及到硬件方面,在本论文中不作详细介绍。5.1.3 数据处理数据处理功能包括波形计算、波形测量两部分。波形测量是一台示波器的

47、主要功能,包括:频率、周期、峰峰值、最大、最小、平均值、高、低、幅值、脉冲宽度、周期平均值、周期均方根、延迟、下降时间、均方根、正占空比、正向超调、正宽度、上升时间、负占空比、负向超调、负脉冲宽度、相位等。(1) 接口设计1) 用户接口用户可以通过按测量按钮调出波形测量的菜单,通过菜单可以选择波形测量的测量类型。系统会根据用户的测量类型对波形数据进行相应的运算,并在波形显示区域将测量结果显示出来。2) 内部接口波形测量是系统进行数据处理时的一个中间过程,其它模块可以通过调用PrepareForMeasurementsMeasure函数完成此功能。(2) 数据结构设计为了实现波形的测量显示,定义了结构ShowMeasureInfo,此具体定义为:typedef struct BOOL ShowMeasureFlag;/有无测量信息(1 有测量 0 无测量)BYTE ShowMeasureWave;/测量波行(CH1/CH2/Math/REF1-4)

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!