基于51单片机和FPGA的人机交互系统的设计

发布者:等风来88888最新更新时间:2011-11-16 关键字:人机交互  C805lF  T6963C  FPGA  键盘扫描 手机看文章 扫描二维码
随时随地手机看文章
    在现代各类仪器的开发中,人机交互功能正起着无可替代的作用。人机交互界面友好的仪器将更容易操作和使用,从而提高工作效率。液晶显示器(LCD)具有功 耗低、价格低、寿命长、接口控制方便等特点,在科研与设计领域正发挥着越来越大的作用。FPGA作为单片机外设的接口芯片,可以大大简化接口电路,通过对 FPGA进行编程,可以实现常用的译码、地址选通等功能。
    本文以C8051F020单片机与FPGA互连系统为控制核心,以液晶显示控制器T6963C为例,结合行扫描键盘,简述了一种人机交互功能的设计。

1 系统设计方案
    FPGA可在很大程度上扩展单片机的资源,然而人机交互功能仍应尽量减少对单片机及FPGA的资源消耗,以便将更多的片内资源用于其他功能的扩展。采用 FPGA扫描键盘可以节省单片机的资源,同时也能灵活地实现键盘的扩展。而考虑到液晶控制较复杂,依然采用单片机控制
LCD,使LCD的各种功能得到最大程度的利用,其系统框图如图1所示。

a.JPG


2 硬件电路及FPGA接口设计
2.1 总线接口设计
    这里采用单片机C8051F020与CycloneⅡFPGA互连的系统。C8051F020器件是完全集成的混合信号系统级MCU芯片,具有64个数字 I/O引脚,与8051完全兼容,而且速度得到了极大提高,70%的指令执行时间为l或2个系统时钟周期,只有4条指令的执行时间大于4个系统时钟周期。 此外,C8051F020系列MCU对CIP-51内核和外设有几项关键性的改进,提高了整体性能,更易于在最终应用中使用。如提供22个中断源、7个复 位源、可编程交叉开关、8位A/D转换器、12位D/A转换器等。
     CycloneⅡ系列FPGA将低功耗FPGA的密度规模扩展至68 416个逻辑单元,并提供高达622个可用的I/O接口以及高达1.1 Mb的片内存储单元。CycloneⅡ系列成功实现了高效与低功耗的结合,可用于自动化、通信、视频播放等领域。为兼顾成本问题,本系统采用性价比较高的EP2C8型FPGA作为接口器件。[page]

    为使单片机的资源可以得到最大的开发,将单片机的高端口,即P4~P7接入FPGA,并通过FPGA对外部设备进行访问。在FPGA中通过Vel-ilog HDL语言编程实现了3-8译码器,从而实现了对单片机地址总线的扩展。该3-8译码器对LCD以及键盘的键值读取提供使能信号,如图2所示。

b.JPG


2.2 T6963C及其接口设计
    T6963C液晶显示控制器多用于小规模的液晶显示器件,常被装配在图形液晶显示模块上,以内藏控制器型图形液晶显示模块的形式出现。
    单片机对T6963C有2种访问方式:直接访问与间接访问。直接访问利用三总线以I/O设备访问形式进行控制;间接访问则由单片机提供并行接口,以程序控制时序的方式进行控制。为简化程序,这里采用直接访问方式。
    该LCM的FS1引脚用于控制显示字符的字体。FS1为高时,LCD显示6x8字符;FS1为低时,LCD显示8x8字符。经实践,在显示英文与数字 时,6x8字符更为美观;在显示中文字符时,8x8字符更为方便。一般系统采用将FS1接地或接高的方式来固定字体,而本系统采用P2.1对FS进行控 制,通过改变地址实现改变字体的功能,使得界面的显示更灵活。
2. 3 键盘电路设计
    键盘是常用的单片机输入设备,分为编码键盘和非编码键盘。键盘上闭合键的识别由专用硬件译码器实现,并产生键编号或键值的称为编码键盘;靠软件识别的称为 非编码键盘。在单片机组成的测控系统及智能化仪器中使用最多的是非编码键盘,本系统设计在FPGA中编程实现3x6键盘的行扫描。
    由于按键的机械特性,在闭合和断开的瞬间会伴随着一连串的抖动,键抖动会引起一次按键被误读多次,所以必须进行去抖处理,常用的方法为延时去抖动。 FPGA产生键值之后向单片机发送中断,并等待单片机读取键值。由于人脑反应时间相对较长,键盘中断可以处于相对较低的优先级,因此本文将键盘中断接于外 部中断7。

3 软件设计
    软件设计遵循结构化和层次化的设计原则。底层函数直接与硬件沟通,而上层函数直接通过调用底层函数来实现相应功能,从而使上层函数与硬件环境彻底分开。当硬件环境发生变化时,仅修改底层函数便能实现程序的移植。
3.1 液晶驱动模块的编程设计
    本模块的底层函数需要实现写控制字、写参数、查忙等功能。由于采用直接访问,写控制字与写参数的函数只需向控制口或数据口的地址送数即可。由于LCD是慢 速器件,因此在每次写控制字及写参数之前都需要进行查忙。T6963C的状态字共有7位有效的状态位,如表1所示。其中STA1~STA3最为常用,一般 情况下可以不需要对STA5~STA7进行杏忙的程序。

c.JPG

[page]

3.1.1 液晶驱动模块的初始化
    T6963C的最大特点是具有独特的硬件初始值设置功能,显示驱动所需的参数如占空比系数。驱动传输的字节数/行及字符的字体选择等均由引脚电平设置,这 样T6963C的初始化在上电时就已经基本设置完成,软件操作的重心就可以全部用于显示画面的设计上。因此,初始化时仅需根据实际情况设置文本区域和图形 区域的首地址和宽度,以及CGRAM偏置地址、合成方式、光标形状等即可正常使用。
    液晶驱动模块的初始化函数如下:
d.JPG
e.jpg
3.1.2 英文及汉字的文本显示
    由于英文及数字等常用字符的字模已经固化在CGROM中,因此进行英文的显示时,只需指定显示的地址,再输入该字符对应的标号即可。汉字 的显示与英文的显示类似。然而出于其复杂性,一个汉字需要使用4组点阵才能完整显示。在初始化后将汉字的4部分字模顺序输入CGRAM中,在使用时仅需计 算好每一部分的显示地址即可对汉字进行完美显示。
    对于一串英文字符的输入,可以利用字符串的特性进行操作。通过检测‘\0’字符来判断英文字符串的结尾,从而避免了在调用此显示函数时人工计算句子长度的 工作。英文字符的ASCII码值与其在CGROM中对应的标号恰相差0x20,因此仅需简单的减法即可实现标号的转换。此外,在进行英文的连续显示时,使 用了T6963C的数据自动写指令,从而提高了显示效率。
    对于一串中文的显示,则仅需通过循环调用单个中文的显示程序进行实现。注意由于C51语言中字符串无法支持中文,因此必须人工计算中文字串的长度并将其作为函数传递给此显示函数。[page]

    字符发生器CGRAM中总共可存储32个汉字,对于需显示较多汉字的应用,可从需显示的汉字中选出16个最常用的汉字,固定存放于CGRAM中,其余汉字仅在需要使用时动态写入CGRAM。这样,既提高了显示效率,又解决了CGRAM过小的问题。

f.jpg


3.1.3 图形显示
    除使用文本显示汉字外,还可采用图形显示的方式。具体方式是将字模以数组的方式保存于单片机的代码段,在需要显示时将数据送入图形区即可。此外,利用图形显示,还可以编写描点程序显示相应波形或者编写绘图程序绘制简易表格,使系统显示结果更加直观,便于分析。
3.1.4 文本特效
    T6963C可以设置文本属性区,并对文本实现反白、正向闪烁、反向闪烁等特效。使用时仅需将图形显示设置为文本属性区即可。此时图形区的内容将无法显 示,若图形区与文本属性区划分在CGRAM的不同区域,则图形区的内容可以得到保存。利用文本特效,可通过反白或闪烁等效果指示可选选项以及当前选项,从 而使界面更易于操作。
3.2 人机交互界面设计
    除基本的10个数字键以外,还设定了上、下、左、右、确定、取消等按键。此外,按键位置的设计,更符合人们的按键习惯。在界面中采用分级的菜单,在一级菜 单中选定功能之后将进入下一级菜单对功能进行更详细的设定。在人机交互界面中可以使用方向键进行功能的选择,数字键仅用于数据的输入。
    界面充分利用了文本特效,对选项采用反向显示表示该选项已选定:对选项采用反向闪烁表示用户可通过方向键改变选项。在需要进行数字输入的界面中打开光标,即可向用户标示数字输入的地方。此外,必要的警告和出错界面的设计将为用户提供更多信息,使人机交互界面更为友好。

4 结束语
    本系统采用键盘+LCD的输入输出设备,并且可以通过FPGA实现各种其他外设的接口电路的设计,减少了对单片机资源的占用,使得设计灵 活、方便。同时FPGA还可以为单片机提供存储器和I/0口等资源。本文设计的电路可扩展性强,在此基础上可将其扩展成各种拥有友好界面的系统,如可控增 益放大器、音频信号分析仪、集成运放分析仪等。经实践,该系统稳定易用,实用性强。

 

关键字:人机交互  C805lF  T6963C  FPGA  键盘扫描 引用地址:基于51单片机和FPGA的人机交互系统的设计

上一篇:基于51单片机和FPGA的位移测量装置的设计
下一篇:基于8031设计的工业顺序控制

推荐阅读最新更新时间:2024-03-16 12:46

FPGA新贵Flex Logix获5500万美元D轮融资
Flex Logix是一家独特的公司。它是为数不多能基于专有可编程互连同时提供FPGA和嵌入式FPGA技术的少数企业之一。该公司的可编程互连使用传统FPGA互连的一半晶体管和一半金属层。他们的体系结构提供了一些相当重要的优势。据介绍,该公司在诸如AI推理之类的高增长市场中获得了巨大的动力。它们的低功耗为边缘带来了很多可能性。 最近,Flex Logix宣布获得5500万美元的D轮超额认购。这是一笔重要的投资,为公司开辟了新的可能性。 为此,我花了一些时间与他们的首席执行官杰夫·泰特(Geoff Tate)交流,以了解本轮融资背后的背景故事。 首先,介绍一下杰夫·泰特(Geoff Tate)。杰夫(Geoff)在半导体领
[嵌入式]
LCD人机交互的数据采集系统
  本文以MSC1210作为测量、信号处理以及通讯的核心,设计了高精度温度采集系统模块。该系统测量通道易于扩充,测量精度高,可以快速地进行高精度数据测量。   系统总体方案设计   本系统的硬件部分主要由前端数据采集、处理电路和后端数据处理、LCD电路组成。两部分通过RS-232串行接口进行通信。系统的总体方案构图如图1所示。      图1 系统总体结构   数据采集部分的软硬件设计   硬件电路设计   数据采集部分的核心器件选用了MSC1210Y5。这主要是因为该微处理器具有24位的 ADC,其有效精度高于22位。其内部包含完整的前向通道(包括输入缓存器、模拟开关电路、可编程增益放大器和ADC
[单片机]
LCD<font color='red'>人机交互</font>的数据采集系统
触控,交互操作的人性化回归
技术越是进步,“回归传统”、“渴望人性化沟通”的呼声就越高。而PC上的触控功能恰好满足了这两种需求,让你能够保持高效率沟通的同时,享受自然直观的人机互动。 触控,交互操作的人性化回归 触控为消费者带来了与PC交互的新选择,手指快速“划”过屏幕即可实现。“划”是一个无需停顿、一气呵成的动作。在调整文件大小、表格长短、翻页浏览等操作时,鼠标或触控板通常需要点击选中、拖放等几个步骤才能完成,而“划”则似乎通过一个简单动作,就将心中所想、眼中所见,不打折扣地在指尖实现似的,简单得让人愕然。 PC上的触控功能,正如汽车的自动档,都是摒弃繁琐的操作,简化复杂的步骤。触控PC操作的人性化,正是表现在其动作的简单、直观和自然。英特尔在
[嵌入式]
莱迪思即将举办《使用FPGA重塑5G网络和ORAN电信安全解决方案》的网络研讨会
中国上海——2022年11月15日——莱迪思半导体公司,低功耗可编程器件的领先供应商, 今日宣布即将举办线上安全研讨会,探讨全球通信产业的挑战、机遇和最新的可编程逻辑解决方案。 在研讨会期间,莱迪思的技术专家将探讨电信行业5G网络和ORAN应用的发展前景、5G和ORAN的最新安全要求,以及FPGA如何帮助系统和应用设计人员在其电信安全解决方案中实现真正的网络安全。 • 主办方: 莱迪思半导体 • 活动主题: 使用FPGA重塑5G网络和ORAN电信安全解决方案 • 时间: 北京时间11月30日(周三)14:00 • 地点: 莱迪思安全研讨会(需要提前注册) 关于莱迪思半导体 上海莱迪思半导体有限公司是
[嵌入式]
基于FPGA的RGB到YCrCb颜色空间转换
   0 引 言   随着多媒体和通信技术的发展,视频图像处理的实时性成为人们关注的热点。视频图像处理一般都是用数字信号处理器(digital signal processor,DSP)来完成的。为了满足实时性要求,往往采用多DSP或DSP阵列的方法,使系统在成本、重量、功耗等方面都会快速升高。现场可编程门阵列(FPGA)运算的并行性和内嵌DSP核等特点,能够提高运算速度满足视频处理的实时性要求。在视频图像显示、处理时,采用的颜色空间主要有RGB,YCrCb两种。RGB基于三基色原理,颜色实现简单,在计算机、电视机显示系统中应用广泛,YCrCb将颜色的亮度信号与色度信号分离,易于实现压缩,方便传输和处理。在视频压缩、传输等应用中
[嵌入式]
基于<font color='red'>FPGA</font>的RGB到YCrCb颜色空间转换
在嵌入FPGA的IP核8051上实现TCP/IP的设计
0 引言 随着芯片规模的越来越大、资源的越来越丰富, 芯片的设计复杂度也大大增加。事实上, 在芯片设计完成后, 有时还需要根据情况改变一些控制, 这在使用过程中会经常遇到。这时候如果再对芯片设计进行改变将是很不可取的, 因为需要设计人员参与这种改变, 这无论是对设计者还是用户都是不能接受的。于是就有必要让这种可以改变的简单控制在芯片设计时就存在, 而且同时还应该使这种改变相对容易, 比较通用, 并且与芯片的其它设计部分尽量不相关。为了满足上述的要求, 在FPGA中嵌入一个比较理想的选择, 而这个即通用又控制简单的IP核最好选择8051微处理器。 在FPGA中植入8051后, 还可在上面实现简单的TCP/IP协议, 以支持远程访
[应用]
使用低成本FPGA巧妙地扩展微处理器的连接
微处理器连接的挑战 在现代电子系统设计中,微处理器是不可缺少的一个部件。然而,随着系统变得越来越复杂,拥有更广泛的功能和用户接口时,使用中档微处理器的系统架构在连接一个或多个微处理器时面临着三个关键的挑战: •运行超过150个通用I/O(GPIO); •在100至150个GPIO范围内 寻找符合成本效益的解决方案; •匹配系统所需要的I/O外设。 采用FPGA(现场可编程门阵列)可以很容易地应对这些挑战,在过去10年里,FPGA的成本和功耗已经大幅下降,使它们非常适合于各种大批量、低成本的应用,包括移动电子产品。 微处理器连接的回顾 对中档微处理器的回顾揭示了三种常见的连接特性。首先,大多数系列GPIO的数量被限制在100和150
[电源管理]
使用低成本<font color='red'>FPGA</font>巧妙地扩展微处理器的连接
基于DSP与FPGA的蓝牙数据采集系统设计
    数据采集系统广泛地应用于工业、国防、图像处理、信号检测等领域。DSP处理器是一种高速的数字信号处理器,蓝牙技术作为一种低成本、低功耗、近距离的无线通信技术,已广泛应用于许多行业和领域 。本设计采用了DSP与FPGA协同控制处理,并用蓝牙传输代替有线电缆传输,有效地解决了DSP和FPGA单独处理的不足与有线电缆传输的弊端,大大提高了数据采集处理能力,拓宽了系统在环境较为恶劣或特殊场所的应用。 1 系统硬件设计 1.1系统总体设计     基于DSP与FPGA的蓝牙数据采集系统由下位机和上位机两部分组成。其中下位机主要由前端传感器、信号调理电路、ADC模数转换电路、DSP与FPGA协同处理模块以及蓝牙模块组成,主要完成前端数据
[网络通信]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved