随着嵌入式系统应用领域的不断扩大,系统复杂性也在不断提高。所以在嵌入式系统中实现用户图形化(gui),已经成为大势所趋。目前,嵌入式系统中大多数的用户图形化界面(gui)都是在操作系统(如os、wince、linix)的支持下, 调用系统的各种api函数实现的。这些操作系统为实现gui提供了大量的库函数,也为编程人员提供了界面设计的良好平台。如利用wince就可以十分方便的设计出具有windows风格的图形界面。
本文这款数字示波器是普源精电(rigol)公司推出的DS1000系列,其设计完全自主完成,贴近国人使用习惯。其用户图形界面(gui)是在visualdsp++ 4.0 kernel的基础上开发的,界面风格紧紧与仪器的功能相联系。在完成了仪器的波形和菜单等显示的基础上,rigol团队也做了一些通用性的用户图形界面,如文件管理器等。当然,所设计的用户图形界面,在功能强大方面是远不能与wince等所比拟的,但是对于仪器的使用者来说,已经是足够的方便因为这毕竟是仪器的用户图形界面,而不是掌上电脑pda的用户图形界面。
2 数字示波器上的用户界面实现原理
用户图形界面的实现,需要硬件、软件上的支持。如图1所示,通过操作平台(operation platform)的调配,调用显示程序,显示程序刷新显示缓存,再由显示驱动程序,将显示缓存中的内容显示到液晶屏上。下面简要的介绍一下上图中主要的几个组成部分:
2.1 实现图形化的硬件原理
rigol DS1000系列数字示波器采用的是320234分辨率的tft液晶显示器,通过液晶的驱动电路,可以使液晶正常显示,通过帧信号同步、行信号同步、数据信号的时钟(clock)同步,显示点阵的数据将被从sdram中写入到液晶显示器的显示buffer中,从而显示出彩色图像。
从图1可以看出,如果要更新液晶显示器显示的内容,我们只需更新lcdbuffer中的显示数据就可以了。