0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于DSP的数字示波器GUI开发与软件设计流程

2oON_changxuemc 2018-02-02 15:07 次阅读

随着嵌入式系统应用领域的不断扩大,系统复杂性也在不断提高。所以在嵌入式系统中实现用户图形化(GUI),已经成为大势所趋。在测量仪器中,图形化界面也是广泛采用,一种是嵌入操作系统,大多数的用户图形化界面(GUI)都是在操作系统(如OS、WinCE、Linix)的支持下, 调用系统的各种API函数实现的。这些操作系统为实现GUI提供了大量的库函数,也为编程人员提供了界面设计的良好平台。但是这种嵌入技术,对硬件要求高,相当于嵌入一台计算机,如利用WinCE就可以十分方便的设计出具有Windows风格的图形界面。另一种是,直接利用DSP技术,开发小型系统。这种系统精简,对硬件要求低,但功能相对单一。 其用户图形界面(GUI)是在VisualDSP++ 4.0 Kernel的基础上开发的,界面风格紧紧与仪器的功能相联系。在完成了仪器的波形和菜单等显示的基础上,团队也做了一些通用性的用户图形界面,如文件管理器等。当然,所设计的用户图形界面,在功能强大方面是远不能与WinCE等所比拟的,但是对于仪器的使用者来说,已经是足够的方便——因为这毕竟是仪器的用户图形界面,而不是掌上电脑PDA的用户图形界面。

用户界面实现原理

用户图形界面的实现,需要硬件、软件上的支持。通过操作平台(operation platform)的调配,调用显示程序,显示程序刷新显示缓存,再由显示驱动程序,将显示缓存中的内容显示到液晶屏上。

下面简要的介绍主要的几个组成部分。

GUI图形标准库

要在用户图形界面上显示各种的图形、图案,除了硬件电路的支持外,还需要强大的软件支持。而其中(GUI)的图形标准库为最基础,而不可或缺的。用户图形界面(GUI)的图形标准库包括最基本的画点、画线、画矩形、填充矩形、画圆形、放置bmp格式的图案、显示中、英文等函数,该图形库功能越强大,就越可以支持复杂的用户图形界面(GUI)。

GUI的操作平台的支持

仅仅有了绘制图形的图形标准库,要实现用户图形界面,还是远远不够。图形库是单一画面不可缺少的,但是要形成有机的、可操作的用户图形界面,还需要后台有一个稳定、功能强大的操作系统平台。

操作平台根据用户的外界输入(一般是键盘),以及系统当前的状态来决定下一步系统的状态,从而调用相应的GUI界面。如此,便实现了用户图形界面。

实现图形化的硬件原理

RIGOL DS1000系列数字示波器采用的是320×234分辨率的TFT液晶显示器,通过液晶的驱动电路,可以使液晶正常显示,通过帧信号同步、行信号同步、数据信号的时钟(clock)同步,显示点阵的数据将被从SDRAM中写入到液晶显示器的显示缓冲器中,从而显示出彩色图像。

用户图形界面(GUI)软件的设计思路

界面种类的划分

对于用户图形界面(GUI)的设计不能简单、统一的完成,要考虑到用户在各种情况下的操作界面。根据这些界面所具备的共同点,我们将这些界面分成如下的种类,同一种类的界面中将具备相同或者相似的功能区域。每一种界面都会有相应的处理程序,也有专门的数据结构。

根据实现的不同功能划分出如下的界面种类:

A. 背景网格显示界面;B.波形显示界面;C. 帮助文档浏览界面;D.菜单显示界面;E. 文件管理浏览器界面;F. 文件名称输入界面;J.前景内容显示界面(包括各种参数显示信息,测量信息以及提示信息等)。

界面区域与外界输入的相互配合响应

由以上可知,显示的图形虽然形形色色,但是它们都可以抽象成具有共同属性的某种数据结构。数据结构就好比是图形界面的灵魂,掌握了数据结构,就可以让图形界面随之而变。

那么如何设计、控制、改变这些数据结构就成为实现用户图形界面(GUI)的关键了。要响应外界用户的输入,我们需要制定一套机制运行法则,而这套机制运行法则就是状态机(system status machine),也是用户用以操作仪器的操作平台(operation platform)。依据这套运行法则,我们的系统根据外界的输入来更改各种界面下使用的数据结构,从而实现用户对图形界面的操作。

当然,在实际的设计中,操作平台不仅仅是改变GUI的数据结构,还要考虑任务调度以及其他任务模块中的数据结构的改变。

数字示波器的用户图形界面(GUI)的软件设计流程

设计出一个好的用户图形界面,是一个庞大而巨细的工程。涉及到方方面面的相互关系,也涉及到实现过程中的许多细节的问题。

如何理清这些繁多的变化关系是设计的关键。RIGOL团队曾经使用一些全局变量作为各种状态、各种模式下的标志,用以改变用户的图形界面。但是因为变量的众多,导致变量之间的搭配的可能性成倍的增加,状态的转移关系也就会成倍的增加。这对于编程者来说,与其说是在编程,还不如说是在做一道极其庞杂的逻辑组合题。

所以,这样的思路在理论上是可行的,但在实际中是不可取的。我们应该尽量的去其枝叶,找到能够贯穿整个系统、标志不同状态以及模式的变量或者结构。最终,我们以键盘的输入键值为主线,辅以各种的全局变量,来控制系统状态的变化。键值虽然有许多,但是因为只有这么一个变量作为状态量,系统状态的变化就可以在掌控之中了。所以,在这个系统中,键值变量KEY_ID成为了主角,用户界面将围绕其进行改变。

键值变量KEY_ID要根据用户的输入进行改变。这里就不描绘状态变量是如何转移的。我们介绍对于既定的键值变量KEY_ID是如何完成用户图形界面输出的。

结语

目前,国内的数字示波器,除了测量信号的性能指标较低外,在系统的整体性、用户的可操作性等功能上都不及国外产品考虑得周详。

为了弥补国内产品在这方面的缺陷,RIGOL开发团队开发出的这款DS1000系列数字示波器除了实现高存储深度、高测量精度等功能之外,更是注重了图形用户界面的设计。继续保持其在技术上的创新和人性化、本土化的优势,新的用户图形界面使得用户能够比以往更加容易测量与分析波形。

随着仪器的功能增多,会对用户图形界面(GUI)提出更高的要求,那么就要求GUI更加系统化、模块化、功能化。所以,在这方面还有许多工作要做。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • dsp
    dsp
    +关注

    关注

    544

    文章

    7687

    浏览量

    344387
  • 数字示波器
    +关注

    关注

    6

    文章

    478

    浏览量

    33249
  • GUI
    GUI
    +关注

    关注

    3

    文章

    611

    浏览量

    38801

原文标题:基于DSP的数字示波器GUI开发

文章出处:【微信号:changxuemcu,微信公众号:畅学单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    招聘 高性能计算驱动软件设计师(多核DSP,含ARM+DSP) 1人 ...

    四、高性能计算驱动软件设计师(多核DSP,含ARM+DSP) 1人 (51job网站搜索“航天晨信”)1.职位标签:ARM+DSP 多核DSP
    发表于 05-08 14:07

    【TL6748 DSP申请】基于DSP的以太网接口及协议软件设计

    申请理由:研究中心需要完成一个基于DSP的以太网接口设计及其协议软件设计,恰好是TMS320 6748型号的DSP,希望能够得到申请开发板利于项目进行。项目描述:研究中心需要完成一个基
    发表于 09-23 11:46

    基于Labview的多路TCP通信GUI软件设计

    我的毕设题目是基于Labview的多路TCP通信GUI软件设计 不太懂啊 平时没好好学 现在着急了
    发表于 03-20 15:59

    怎么实现基于DSP数字示波器用户图形化的开发

    怎么实现基于DSP数字示波器用户图形化的开发
    发表于 05-18 06:58

    如何运用MES M-XRAY®工具软件来提升其基于模型的软件设计流程

    奔驰北美研发中心通过汽车软件质量工具提升嵌入式软件的安全性梅赛德斯-奔驰北美研发中心(MBRDNA)是如何运用MES M-XRAY®工具软件来提升其基于模型的软件设计
    发表于 12-20 07:26

    基于DSP的光纤高温测量仪的软件设计

    介绍了一种基于DSP 处理器的光纤高温测量仪的设计方案。该测量仪以TMS320F2812芯片为核心,在硬件设计的基础上,借助CCS2.0 软件开发系统完成了仪器的软件设计。实验表明,DSP
    发表于 08-13 10:25 7次下载

    基于多软核技术的数字示波器的实现

    本文阐述了应用双32 位NIOS 软核的数字示波器的实现方法,综合SOPC 配置灵活的优势,定制了硬件系统,给出了软件设计流程及主要设计要点。实验表明,由双软核技术实现的数
    发表于 01-20 15:35 14次下载

    基于Qt的AUV水面监控软件设计开发_陈巩

    基于Qt的AUV水面监控软件设计开发_陈巩
    发表于 01-13 21:36 2次下载

    基于DSP的高精度测频方法与软件设计_薛海东

    基于DSP的高精度测频方法与软件设计_薛海东
    发表于 03-19 19:07 1次下载

    基于DSP数字示波器GUI开发的设计方案

    介绍了应用在RIGOL DS1000系列数字示波器上的用户图形界面的实现,重点分析了用户图形界面(GUI)的设计思路,并简单介绍了软件设计结构和流程
    发表于 10-29 11:28 1次下载
    基于<b class='flag-5'>DSP</b>的<b class='flag-5'>数字</b><b class='flag-5'>示波器</b><b class='flag-5'>GUI</b> 的<b class='flag-5'>开发</b>的设计方案

    数字信号处理教程之DSP软件设计的详细资料说明

    本文档的主要内容详细介绍的是数字信号处理教程之DSP软件设计的详细资料说明主要内容包括了:1.软件系统开发及调试,2.
    发表于 03-21 17:24 10次下载
    <b class='flag-5'>数字</b>信号处理教程之<b class='flag-5'>DSP</b><b class='flag-5'>软件设计</b>的详细资料说明

    DSP开发工具与软件设计

    本文档的主要内容详细介绍的是DSP开发工具与软件设计包括了:*开发工具* Visualdsp介绍*DSP汇编语言程序设计*
    发表于 02-26 10:04 14次下载
    <b class='flag-5'>DSP</b><b class='flag-5'>开发</b>工具与<b class='flag-5'>软件设计</b>

    使用示波器开发和解决硬件和软件问题

      所有这些触发器对于调试硬件和软件问题都很有价值。对于数字示波器,“触发快乐”是一件好事。学习如何使用这些功能可以真正帮助您在使用示波器以及开发
    的头像 发表于 07-05 10:25 2365次阅读
    使用<b class='flag-5'>示波器</b><b class='flag-5'>开发</b>和解决硬件和<b class='flag-5'>软件</b>问题

    汽车软件开发流程介绍

    在汽车软件开发中,软件开发流程软件工程的核心,因为它们为软件开发实践“提供了一个骨架并确保了它的严谨性”。
    发表于 08-15 12:03 1.3w次阅读

    X-NUCLEO-GFX01M1开发板的GUI开发流程介绍

    电子发烧友网站提供《X-NUCLEO-GFX01M1开发板的GUI开发流程介绍.pdf》资料免费下载
    发表于 08-01 15:51 0次下载
    X-NUCLEO-GFX01M1<b class='flag-5'>开发</b>板的<b class='flag-5'>GUI</b><b class='flag-5'>开发</b><b class='flag-5'>流程</b>介绍