历史上的今天
返回首页

历史上的今天

今天是:2025年03月24日(星期一)

正在发生

2018年03月24日 | 基于DDS的任意波信号发生器机交互系统设计

2018-03-24 来源:互联网

1 引言


信号源作为一种基本电子设备无论是在教学、科研还是在工程技术保障中,都有着广泛的使用。随着科学技术的发展和DDS技术的成熟,基于DDS的任意波信号发生器已成为信号源的主流。目前DDS任意波信号发生器广泛使用中文液晶显示器已成为一个趋势。


本文以Hynix公司生产的HMS30C7202工业级处理器作为控制器,以矩阵键盘作为输入设备,以AMPIRE公司生产的AM-320240LTNQW-00H TFT LCD显示屏作为显示输出设备,研究设计了相应的硬件电路与显示驱动程序,在此基础上完成了人机交互中英文显示系统的设计。


2 显示系统总体方案设计


显示系统由硬件和软件两部分构成,如图1、图2所示。


硬件部分以HMS30C7202微处理器为核心,FLASH和SDRAM作为存储设备,从矩阵键盘接受输入,并在LCD上显示相应内容,同时通过UART与DDS信号源进行通讯。存储系统中的FLASH用来固化程序及保存波形数据和系统参数;SDRAM是系统上电正常运行后的代码和数据载体。


软件部分又可分成底层驱动程序和上层控制程序两部分。底层驱动包括设置系统模式和时钟,初始化存储器,代码拷贝,初始化LCD控制器,中断控制器和UART控制器等。上层控制程序不断查询是否有键按下。若有键按下,则执行相应的任务,LCD显示相应内容;同时若需要,通过UART向DDS信号源发出控制命令。


3 LCD驱动电路组成


HMS30C7202本身集成LCD控制器,支持STN和TFT LCD液晶屏。AM-320240LTNQW-00H TFT LCD显示屏接口共有54个引脚,它和LCD控制器的连接方法如图3所示。



4 软件系统设计


DDS任意波信号发生器人机交互系统中的LCD显示包括汉字和字符的显示、位图的显示以及窗口的显示。


4.1 汉字和字符的显示


由于标准字库太大,而DDS任意波信号发生器LCD显示的字符只占很少的一部分,因此需要自己制作一个字库。结合LCD显示屏的大小,汉字字符采用16*16点阵,英文字符和数字采用12*24点阵。为了软件操作上的方便,汉字字库和英文字库相互独立。汉字字模和英文字模的定义如下。



所有汉字字模数据构成数组HZFONT DDSHZTable[],所有英文和数字的字模数据构成数组YWFONT DDSENTable[],这就是DDS任意波信号发生器自己的字库。显示时,首先找到当前要显示的字符在字库中的位置,然后通过显示算法将字符在LCD 上显示出来。


4.2 位图的显示


位图的显示用于DDS任意波信号发生器显示开机画面或波形图像。其实现方法是将开机画面对应的位图图像转化成320*240格式的数据,放在数组const char gImage_hello[153600]中,然后将数组起始地址直接赋给LCD显存开始地址就行了。当显示比LCD画面小的位图时,则要定位该位图在LCD屏中的显示位置,然后通过一定的算法显示出位图图像。


4.3 窗口的显示


DDS任意波信号发生器窗口的显示内容如图4所示。窗口大致分三个区,一区为左上角的波形显示及说明区,用来显示各种波形或操作提示信息;二区为右边和下边的功能菜单区,用来设置参数和进行波形调制;三区为中部的参数菜单显示区,用于显示波形和调制参数。


为了有效管理窗口显示,给窗口定义了结构体。



菜单分两种,一种是功能菜单,如图4中的频率菜单、调制菜单。这种菜单只要求显示菜单名,则对应Menu结构体中的ParaFlag=0。另一种菜单为参数菜单,见图4中的参数菜单显示区。每个参数菜单有一个参数名和一个参数值,则对应Menu结构体中的ParaFlag=1,Text指向参数名字符串,pData指向参数值字符串。


4.4 键值处理及LCD显示模块


DDS任意波信号发生器的上层控制程序的主体就是键值处理及LCD显示模块,其软件流程图如图5所示。它主要完成三方面的功能。(1)按了不同的波形键。由于各种波形的形状、参数种类和个数不尽相同,当按了波形键且和上一次按的波形键不一样时,LCD要刷屏并显示当前波形窗口。(2)按了设置参数键。这一般用来修改波形参数或系统参数。LCD必须提供编辑框或选择框,动态显示键盘输入的数字和单位。对一些需要保存的参数,则还要将这些数据保存在FLASH中。(3)按了输出键。LCD不需要修改显示画面,HMS30C7202通过串口向DDS信号源发送命令控制字。


另外为了提高LCD的换屏速度,在换屏显示时并不是更新所有内容,而是只有当前操作修改了哪些参数,LCD才更新显示哪一块内容。


5 结论


本文设计的DDS任意波信号发生器人机交互系统已在实际硬件环境中调试通过。LCD显示画面简洁,操作简单直观。同时若要修改菜单内容,调整菜单显示位置,只需修改窗口结构体变量的值,无需修改程序代码,软件系统易于扩展和移植。

推荐阅读

史海拾趣

Daykin Electric Corp公司的发展小趣事

1969年,大金成功开发了一台室外机连接多台室内机的家用多联系统空调。这一创新产品不仅提高了空调的能效比,还满足了大型住宅和办公场所的多样化需求。多联系统空调的诞生,使得大金在家用中央空调领域取得了领先地位。

First Sensor公司的发展小趣事

1969年,大金成功开发了一台室外机连接多台室内机的家用多联系统空调。这一创新产品不仅提高了空调的能效比,还满足了大型住宅和办公场所的多样化需求。多联系统空调的诞生,使得大金在家用中央空调领域取得了领先地位。

宁波晨翔电子(CONNFLY)公司的发展小趣事

在市场竞争日益激烈的环境下,晨翔电子始终坚持产品创新,不断推出具有市场竞争力的新产品。同时,公司还注重品牌建设,通过提升产品质量、优化服务流程、加强市场营销等方式,不断提高品牌知名度和美誉度。这一时期的努力,使得晨翔电子在电子连接器行业树立了良好的品牌形象。

Hi-Tech Resistors Pvt Ltd公司的发展小趣事

作为一家有社会责任感的企业,晨翔电子始终关注环保问题。公司在生产过程中积极采用环保材料和工艺,减少对环境的影响。同时,公司还积极参与社会公益活动,回馈社会。这些举措不仅体现了公司的环保意识和社会责任感,也为公司赢得了更多客户和社会的认可和支持。

Gang Song Electronics Co Ltd公司的发展小趣事

作为物联网领域的领军企业之一,Telit(包含GainSpan的技术)不仅致力于技术创新和市场拓展,还积极参与行业标准的制定和生态建设的推动。通过与其他企业和组织的合作与交流,Telit推动了物联网技术的标准化和规范化发展。同时,它还积极构建物联网生态系统,与上下游企业建立紧密的合作关系,共同推动物联网产业的繁荣和发展。这些努力不仅提升了Telit在行业内的地位和影响力,也为整个物联网产业的发展做出了重要贡献。

CHERRY公司的发展小趣事

Cherry公司的研发部门一直是其核心竞争力所在。在一位年轻小伙子的带领下,Cherry在1983年成功研发出了具有里程碑意义的MX机械轴。这一创新产品不仅提升了键盘的使用寿命和舒适度,还解决了多个按键同时按下时的冲突问题。MX轴的诞生标志着Cherry在机械键盘领域取得了重大突破,也为公司赢得了更多的市场份额。

问答坊 | AI 解惑

紧急求教一个电路 很茫然

我只知道是三轴位置传感器接口电路 也不知道是不是 高手来讲解一下哈 谢谢…

查看全部问答>

触摸屏驱动采样请教

DdsiTouchPanelGetPoint(         TOUCH_PANEL_SAMPLE_FLAGS        *pTipStateFlags,         INT                      ...…

查看全部问答>

求助:CodeWarrior for ADS 1.2中编译出错

工程中,用ADS编译,出现了Errors: Could not find or load the file 襐IC.a?for target 褼ebugRel?for project 襱est1.mcp? Could not find or load the file 褻omm.a?for target 褼ebugRel?for project 襱est1.mcp? The following access p ...…

查看全部问答>

请问下PCI PCIE在配置空间的区别

如何通过读取判断机器是PCIE为还是PCI呢???…

查看全部问答>

MSP430F435学习板 超低价格出售 仅售100元

请登陆淘宝进行详细的细节查询 淘宝地址:      http://auction1.taobao.com/auction/0/item_detail-0db2-a975eaf6e989403d6987eeb2fde3c9d9.jhtml    欢迎购买. …

查看全部问答>

跪求 :用VB.Net 在Wince 平台下画一个点

小弟刚入道,就遇到棘手的问题,希望大家帮忙啊,谢谢! 问题如下 在Wince下 我在Form1中添加了一个PictureBox1,想在上面画个点,或者圆 结果发现连Paint()函数都没 ,郁闷;还有 CreatGraphic函数也没,该怎么办啊? 使用VB.net2005 谁能发个 ...…

查看全部问答>

实用型应急灯

    [ 本帖最后由 ddllxxrr 于 2010-8-24 10:49 编辑 ]…

查看全部问答>

《匠人手记》之新手三忌

1.第一忌 自己不动脑筋,一遇到问题就问别人有句话说的好“吃别人咀嚼过的馍不香”。对于新手来说,做每一件事都是一次学习的好机会。有时候,探索的过程比最终的结果更重要。当你经过自己的努力,解决问题时,成就感和自信心会随之逐渐建立。如果 ...…

查看全部问答>

wanghongyang我还惦记着那个3.5液晶

不知道准备的怎么样了?准备随时出手了:D…

查看全部问答>

今早用altium designer6.9画原理图时突然出现了这么一个问题··不得其解啊

就是我放置导线时··本来把我想要连接上的两个引脚端连上就可以了··可是呢··导线的终点却与多个引脚连到一起了··自动产生了很多我不想要连接上的节点··这是怎么回事呢?之前放导线的时候貌似没出现这情况··…

查看全部问答>