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

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

3天内不再提示

基于MC9S08QG8微控制器和nRF905实现OLED显示模块的设计

电子设计 来源:世界产品与技术 作者:王志峰 2020-12-09 10:07 次阅读

引言

我们跑步或骑自行车时,手臂的振动常常使我们手中的电子设备所显示的图像看起来模糊不清,长时间观看(如观看MP4视频、收发短信等)容易造成视觉疲劳。汽车轮船的显示设备(如车载GPS),强振动机床的数控系统以及一些工程机械(如挖掘机、推土机等)也会发生类似的问题。可见,由于振动而导致显示效果模糊不清的现象是普遍存在的。

究其原因,在于这些显示设备输出的均为静态图像,基础的振动使其成为(相对于人)振动图像,由于人神经系统的滞后(人的正常反应时间大约需要0.3s),造成大脑所接收到的是模糊不清的画面。当然对于人的神经系统我们暂时束手无策,但是我们可以首先检测出基础的振动状态,由微控制器控制显示器件的输出图像朝反方向偏移(如此,实时的偏移即是动态显示),综合的显示效果自然是(相对于人)静止不动的图像,上面的问题就迎刃而解了。

问题的描述

问题的产生

正常情况下显示器件相对观察者是静止的,但很多情况下显示器件会发生振动,这些振动会使显示器件所显示的图像看起来模糊不清,长时间观看容易造成视觉疲劳。如图1所示,基础振动在⊿t时间内,产生(⊿x,⊿y)的绝对位移(这里假定人静止不动),由于显示器件所显示的图像是静态的或者是与基础振动无关的动态图像流,那么图像也会在这⊿t时间内产生(⊿x,⊿y)的绝对位移。人的视觉系统的反应速度(人的正常反应时间大约需要0.3s)低于基础振动的速度,几幅相互间有偏移的图像就会重叠在一起如图1所示,造成图像看起来模糊不清。

问题的解决方法

最容易也是最简单的解决办法就是测量出在⊿t时间内产生的(⊿x,⊿y)绝对位移值,然后控制显示器件使输出图像产生相反方向的偏移量(-⊿x,-⊿y)。这样综合的效果是图像相对观察者是静止的,图像又变得清晰了!

要实现这种对振动图像的补偿会遇到几个挑战。首先,是基础振动的绝对位移值的测量,我们先来分析基础振动的特点:

·振动频率低(3Hz~30Hz);

·振幅较小(1mm~3mm),据此我们可以计算基础振动的最大加速度(amax=4π2f2?A=10.87g);

·对显示效果影响最大的是显示器件平面内的平面运动;

·振动多发生在便携设备上。

针对这种振动最简单的测量方法是实时测得振动的加速度a,然后对其作时间的二次积分得到基础振动的绝对位移值,这种方法不适合做长时间的测量,因为积分的起始点选择可靠性和加速度的噪声会使长时间的积分运算后误差放大。现在问题归纳为对一个加速度a<10.87的振动进行实时测量,并对加速度a作二次积分计算位移值。其次,是如何实时输出具有相反方向偏移量的动态图像。这涉及到两个速度:处理器的运算速度和显示器件的响应速度。因为实时动态图像的显示需要很大的计算量(处理每秒钟40帧的128×64的单色图像就需要每秒40 kBytes的处理量,这对MCU是个较大的挑战);普通的LCD屏幕也要有较长的响应延时,刷新一幅128×64的单色图像就需要1024×72μs=73.7ms(ST7920),这简直无法实现图像的动态显示。还有一个问题是显示模块与信源的通讯,模块化设计要有方便的数据接口以适应不同的要求,还要考虑到显示模块长期的振动会使通讯电缆造成疲劳损坏。

设计概述

基础振动的绝对位移值的测量

上文提到,基础振动的绝对位移值的测量可归纳为对一个加速度 a<10.87的振动进行实时测量,并对加速度a作二次积分计算位移值。本系统中加速度传感器采用低量程三轴向加速度传感器MMA7260QT,最大量程为±6g,响应频宽为fXY=350Hz、fZ=150Hz,MMA7260QT的敏感方向如图3所示,XY轴输出电压与芯片平面内的加速度成比例。

因为所要测量的加速度值和重力加速度值在一个量级,所以要考虑重力加速度的影响。让传感器平面平行于显示器件平面(如图4中的ABC平面为显示器平面,平面为水平面),初始位置时传感器各轴所测得的加速度分量aX0、aY0、aZ0反映了显示器相对水平面的倾角(图4中的θ1、θ2)。如果显示器只在当前平面内做平动,aX0、aY0、aZ0就是X、Y、Z的加速度的常值分量;如果显示器还在当前平面内有转动,只有aZ0是Z轴加速度的常值分量,aX0、aY0是随转角θ1、θ2而变的变量;如果显示器Z轴与铅垂线夹角还有变化,aZ0也是随转角θ1而变的变量。第一种情形的处理比较简单,直接将aX0、aY0、aZ0作为初始位置静止的初值,是积分不变量,进行二次积分即可得到位置;第二、三种情形处理较为复杂,要将aX0、aY0、aZ0作为初始位置运动的初值,也看作积分不变量,但是进行二次积分时要知道初始位置的运动参数,这要选择振动加速度的极值点(此时速度为零)作为运动的起始点开始积分,当然这种算法会稍微复杂。

还要考虑加速度的噪声会因为积分而被放大,使积分结果不准。加速度噪声的来源有:传感器本身的噪声、周边电路的电磁串扰、电源的波动、负载的波动(OLED的功耗与被点亮的点数成比例)。MMA7260QT传感器内部集成信号电路输出纹波较小(nRMS=4.7mVrms),为了滤去由于电磁干扰等引起的高频噪声,给系统加一个通频带在50Hz内的RC低通滤波器。由于模拟滤波器难以调整,系统的软件还加入了简单而且快速的数字惯性滤波器,能很好地消除周期性干扰和较宽频率的随机干扰信号。

实时输出具有相反方向偏移量的动态图像

上文已述及处理器的运算速度和显示器件的响应速度是两个关键。本系统显示器件选择OLED器件即有机发光二极管Organic Light-Emitting Diode,OLED)该显示器件具有轻薄、易携、全彩、高亮度、省电、视角宽广及高应答速度等优点,为未来人机互动的接口开启了新的纪元,如今采用OLED作为显示器件的电子产品几乎已经普及。

本系统所采用的OLED显示材料的响应时间在μs量级,OLED器件的驱动芯片SSD1303的并行总线写入时间仅为300ns,因此总的响应时间(包括驱动芯片的延迟和OLED材料的延迟)仍然是μs,只要MCU速度足够快,是完全能实现图像的动态显示的。另外SSD1303支持垂直偏移指令和水平滚动指令,因此只需将GDDRAM一次写满,图像需要平动时仅需要写一条偏移或滚动指令,而不是刷新整个GDDRAM。

本系统所采用的微控制器MC9S08QG8工作频率高达20MHz,有8kBytes的FLASH存储器,512Bytes的RAM。如果处理器仅用来完成图像数据的变换和GDDRAM的刷新是没有问题的,但是处理器还要进行数字滤波等处理,难以完成所有的工作,因此系统采用偏移或滚动指令来实现平动。

显示模块与信源的通讯

为了方便与信源接口,本系统采用MC9S08QG8自带的SPI控制器,提供SPI接口作为信号输入通道。考虑到显示模块可能工作在比较恶劣的场合,通讯线缆连接固定的信源和振动的显示模块,会因为长期的弯曲而疲劳破坏,本系统特意设计集成了单片射频收发芯片,可以进行短距离无线数据传输。单片射频收发芯片采用挪威Nordic VLSI公司推出的单片射频收发芯片nRF905,它能简单地实现200m范围内的传输速率在100kb/s内的数据传输。

硬件描述

本系统的硬件框图如图5所示。整个硬件系统由微控制器电路、加速度传感器电路、滤波器电路、OLED电路、射频收发电路和稳压电路组成。

本系统所设计的微控制器电路如图6所示,MC9S08QG8包含上电复位电路(POR)和内部时钟源(ICS),这会简化微控制器电路且减少外部时钟电路造成的高频干扰。MC9S08QG8具有单线的背景调试接口(BDM),能够进行实时总线捕捉,系统采用BDM进行系统调试并附加LED作为工作指示。

OLED电路

本系统如图7所示,是用双色OLED12864显示屏,采用SSD1303驱动。支持64级亮度控制,工作电压在2.4V-3.5V之间,最大列电极输出电流320μA,最大行电极吸入电流45mA,单色256级对比度控制,内置振荡器,垂直、水平滚动显示支持。OLED的片选端接到PA0,数据输入端与加速度采集端分时复用。由于本系统不需要读GDDRAM,为了节省I/O,将RD、RES端置高。

责任编辑:gt

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

    关注

    104

    文章

    5575

    浏览量

    167700
  • 控制器
    +关注

    关注

    112

    文章

    16339

    浏览量

    177853
  • OLED
    +关注

    关注

    119

    文章

    6198

    浏览量

    224125
收藏 人收藏

    评论

    相关推荐

    基于NRF905的无线窗帘控制器模块电路设计

    控制器主要包括五个部分:单片机控制部分,NRF905无线传输控制部分,手动控制部分,电压变换部分,电机
    发表于 10-11 14:51 4790次阅读
    基于<b class='flag-5'>NRF905</b>的无线窗帘<b class='flag-5'>控制器</b><b class='flag-5'>模块</b>电路设计

    高性能S08微控制器系列的演示板

    DEMO9S08QG8E,MC9S08QG8高性能S08微控制器系列的演示板。通过集成的USB-to-BDM接口,CodeWarrior Development Studio和软件示例
    发表于 07-23 10:35

    微处理MC9S08QG8电子资料

    概述:MC9S08QG8是飞思卡尔半导体公司出品的一款低成本、高性能HCS08系列8微控制器单元(MCU)的一员。该系列中的所有MCU都使用增强型HCS
    发表于 04-13 06:38

    基于MC9S08QG8 SPI的串行LED动态显示

    本文介绍了MC9S08QG8 单片机与74HC595A 两种芯片的特点和使用方法,介绍了基于MC9S08QG8 SPI口实现LED 动态显示的设计方法,并给出了软硬件的设计实例。
    发表于 09-16 09:32 27次下载

    MC9S08QG8英文资料 pdf

    MC9S08QG8英文资料 The MC9S08QG8 is the newest member of the Freescale 8-bit family of highly
    发表于 01-11 14:28 35次下载

    飞思卡尔经济高效型8位MCU售价低于1美元

        飞思卡尔半导体日前推出了S08QG系列高集成度的经济高效型8微控制器(MCU)。S08QG系列现已正式推
    发表于 03-13 13:04 459次阅读

    MC9S08QG8数据手册(中文)

    MC9S08QG8是低功耗,高性能8控制器HCS08家族中的一员,家族汇总所有的微控制器使用增强型HCS
    发表于 05-12 15:19 196次下载
    <b class='flag-5'>MC9S08QG8</b>数据手册(中文)

    飞思卡尔MC9S08QG4-8快速入门

    The MC9S08QG8 is the newest member of the Freescale 8-bit family of highly
    发表于 08-31 15:25 92次下载
    飞思卡尔<b class='flag-5'>MC9S08QG4-8</b>快速入门

    基于加速度传感MC9S08QG8的自动摇篮

    本文介绍了一种基于飞思卡尔加速度传感的自动动作摇篮的控制电路系统。本系统以飞思卡尔MC9S08QG8单片机为核心,主要使用飞思卡尔三轴低G加速度传感MMA7260QT作为判断依据,
    发表于 08-31 15:35 87次下载
    基于加速度传感<b class='flag-5'>器</b>和<b class='flag-5'>MC9S08QG8</b>的自动摇篮

    MC9S08JM60开发USB设备模块深度理解

    MC9S08JM60 是Freescale Flexis 系列微控制器的组成部分。Flexis 系列微控制器是Freescale 控制器连续性的连接点,它使得
    发表于 09-19 14:15 62次下载
    <b class='flag-5'>MC9S08</b>JM60开发USB设备<b class='flag-5'>模块</b>深度理解

    NRF905工作模式

    NRF905工作模式NRF905工作模式NRF905工作模式NRF905工作模式NRF905工作模式NR
    发表于 11-19 15:24 10次下载

    nRF905无线收发模块开发指南

    基于nRF905的无线收发模块开发指南,主要介绍模块的功能特点及开发应用
    发表于 03-09 10:59 14次下载

    基于nRF905射频收发模块的设计

    本文介绍了单片射频收发nRF905的芯片结构、工作模式、射频收发流程以及nRF905片内SPI接口的配置,最后给出了一个典型的应用电路图和电路的设计方法。
    发表于 10-25 18:04 29次下载

    MC9S08QG8低端微控制器为核心的无线控制器设计

    本无线控制器设计的核心器件即选择Freescale该系列中的仅有16引脚的MC9S08QG8,它是采用高性能、低功耗的HCS08内核的飞思卡尔8
    发表于 08-21 16:49 2212次阅读
    以<b class='flag-5'>MC9S08QG8</b>低端<b class='flag-5'>微控制器</b>为核心的无线<b class='flag-5'>控制器</b>设计

    采用MMA7260QT和MC9S08QG8无线遥控直升机飞行姿态传感电路的设计

    本项目设计的是无线遥控直升机接收控制电路。本设计采用飞思卡尔公司生产的MMA7260QT低量程三轴向加速度传感和低功耗的MC9S08QG8 微控制器,并配合极少量的外围器件。该电路能
    的头像 发表于 11-06 07:54 3404次阅读
    采用MMA7260QT和<b class='flag-5'>MC9S08QG8</b>无线遥控直升机飞行姿态传感<b class='flag-5'>器</b>电路的设计