VFD的实现原理和驱动设计

2023-10-28 06:20
文章标签 实现 设计 驱动 原理 vfd

本文主要是介绍VFD的实现原理和驱动设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

VFD的实现原理和驱动设计

单片机音响技术网 2008/2/21

VFD 的简单介绍

VFD 是指真空荧光显示器,是 Vacuum Fluorescent Display 的缩写,利用电子撞击玻璃基板上的荧光粉而发光,通过VFD上面的各个亮点的组合一起发亮来显示字符,数字,特定的图标等等。由于VFD的显示,清晰 明亮 低工耗等特点被广泛用于家用电器,仪器设备,自动动化设备等上面,用来显示数字信息如温度,字符信息 如:名称 和一些标记指示信息。有关VFD的硬件结构,工作原理,在网上有很多的介绍,在官方网站可以很容易的找到非常准确的介绍。VFD原理及使用请在本站下载

DVD视盘机的VFD显示典型硬件电路

电路图

VFD的硬件电路可根据VFD屏的SPEC了解其需要驱动的段,位,选择相应的驱动IC,常用的包括PT6312,PT6311,PT6311相对驱动的段,位多些,可连接的按键也多些。驱动电路的外围元件参数参照PT6311,PT6312的SPEC即可,需要注意的是,6312,6311有很多品牌均可通用,不同品牌的驱动注意其振荡电阻阻值的差异,其余基本相同,另外在电路半设计中驱动电压+5V的去藕电容尽量靠近IC,驱动数据线(DATA,STB,CLK)各连接一个101瓷片到地,保证IC,数据线不受干扰或减轻干扰。

VFD显示屏的供电

电路图

VFD显示屏的供电包括交流~3V3灯丝电压和驱动芯片需要的-21V~-27V以及+5V,上图是典型的变压器次级供电处理电路。
还有一种方法是用直流逆变得到或者使用开关电源,现在市场上很多专门的DVD开关电源,满足DVD解码板以及VFD显示的电源要求,电源组包括:+5V,±12V,-21V,~3V3,有些还带常用集成功放的电源,使用他们也非常方便。笔者设计的TOPAV-2008开发平台,其VFD供电采用了直流逆变交流的方式,结构非常简洁,使用方便,详细可到单片机音响技术网了解。

VFD 的软件控制驱动设计

前面说过VFD用途广泛,所以就非常有必要搞清楚如何通过软件去驱动它了,怎样让VFD显示我们要显示的内容,这就是一个程序员要思考的问题了,也是本文的目力所在。市场上有很多电子产品都要用到VFD,其中目前比较火热的数字电视,机顶盒(DVB)还有DVD上面都在使用VFD显示。要想让VFD正常的工作还要依赖一个工作的平台,比如说,你是在 Sunplus平台上,还是在Cheertek,Ali,ST,MTK,ESS的等平台上做。要让程序能高效的工作,并且具备最大可能性的移植和扩展性是非常重要的,例如让一个VFD的驱动模块同时可以在 Sunplus,cheertek,Ali等多个平台上工作,也可以能在其它单片机上工作,只要它能支持 C语言编程。为了让整个模块更加的模块化,我们就需要对整个模块进行进一步的细份。哎!废话少说,太激动了。

驱动三步走

我们把VFD的驱动分成三步或三部分来实现,各个部分实现相应的功能:

第一步:上层接口,用于适应市场上不同公司和种类的VFD。
第二步:中间层 ,VFD各中显示功能的的实现,用语满足显示需求。例如:一般显示,闪动, 滚动,旋转,等....
第三步:平台接口,用于实现和各个平台之间的接口,主要是和CPU的通信。
基于上面的构想,下面就来分步实现它

简单的介绍一下实现环境:

编译环境:GCC

语言 :C

测试平台:Cheertek(CT219,909),和Ali(Ali3330,3329)(DVB的外部显示,用来显示电台名称等等…)

VFD硬件:CS16312。

第一步:建立通用接口:用于适应市场上不同公司和种类的VFD 8段编码在开始写成程序实现之前,先了解字符显示的原理,字符是根据8段编码的方式在VFD上面显示的,当然也有更多段的编码方式。8段编码用一个字节来描述一个ASCII字符,对扩展的ASCII 码如包含德语,法语等就要用到更多段的编码,也就是用多个字节来表示一个字符。

在一个八段编码的VFD中,把8段分别定义为 a,b,c,d,e,f,g,h段,用一个字节来表示就是
h g f e d c b a
h是字节的最高位,a是字节的最低位。
显示字符的原理如下:

电路图

电路图

VFD常用字母的写法
“米”字8和8的区别请注意有不同根据上面的原理,0 表示熄灭,1 表示点亮,可以得出,8段分别点亮后的对应编码是:

8段的每一段对应一个字节的一个位的:

h : 1000 0000 ---> 0x80
g : 0100 0000 ---> 0x40
f : 0010 0000 ---> 0x20
e : 0001 0000 ---> 0x10
d : 0000 1000 ---> 0x08
c : 0000 0100 ---> 0x04
b : 0000 0010 ---> 0x02
a : 0000 0001 ---> 0x01
根据上面的每段编码,如果要显示字符 'A' 需要同时点亮a,b,c,e,f,g段并且d段熄灭,这样一个 'A' 的字符轮廓就出来了,如上图”AbCd”中的'A',所以的字母A的编码是0111 0111 也就是把相应要点亮的段编码或起来就可以了'A'的编码值 = a|b|c|e|f|g 各个段的对应关系如下:

7 6 5 4 3

这篇关于VFD的实现原理和驱动设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/291281

相关文章

AJAX请求上传下载进度监控实现方式

《AJAX请求上传下载进度监控实现方式》在日常Web开发中,AJAX(AsynchronousJavaScriptandXML)被广泛用于异步请求数据,而无需刷新整个页面,:本文主要介绍AJAX请... 目录1. 前言2. 基于XMLHttpRequest的进度监控2.1 基础版文件上传监控2.2 增强版多

Redis分片集群的实现

《Redis分片集群的实现》Redis分片集群是一种将Redis数据库分散到多个节点上的方式,以提供更高的性能和可伸缩性,本文主要介绍了Redis分片集群的实现,具有一定的参考价值,感兴趣的可以了解一... 目录1. Redis Cluster的核心概念哈希槽(Hash Slots)主从复制与故障转移2.

springboot+dubbo实现时间轮算法

《springboot+dubbo实现时间轮算法》时间轮是一种高效利用线程资源进行批量化调度的算法,本文主要介绍了springboot+dubbo实现时间轮算法,文中通过示例代码介绍的非常详细,对大家... 目录前言一、参数说明二、具体实现1、HashedwheelTimer2、createWheel3、n

使用Python实现一键隐藏屏幕并锁定输入

《使用Python实现一键隐藏屏幕并锁定输入》本文主要介绍了使用Python编写一个一键隐藏屏幕并锁定输入的黑科技程序,能够在指定热键触发后立即遮挡屏幕,并禁止一切键盘鼠标输入,这样就再也不用担心自己... 目录1. 概述2. 功能亮点3.代码实现4.使用方法5. 展示效果6. 代码优化与拓展7. 总结1.

Mybatis 传参与排序模糊查询功能实现

《Mybatis传参与排序模糊查询功能实现》:本文主要介绍Mybatis传参与排序模糊查询功能实现,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、#{ }和${ }传参的区别二、排序三、like查询四、数据库连接池五、mysql 开发企业规范一、#{ }和${ }传参的

Docker镜像修改hosts及dockerfile修改hosts文件的实现方式

《Docker镜像修改hosts及dockerfile修改hosts文件的实现方式》:本文主要介绍Docker镜像修改hosts及dockerfile修改hosts文件的实现方式,具有很好的参考价... 目录docker镜像修改hosts及dockerfile修改hosts文件准备 dockerfile 文

基于SpringBoot+Mybatis实现Mysql分表

《基于SpringBoot+Mybatis实现Mysql分表》这篇文章主要为大家详细介绍了基于SpringBoot+Mybatis实现Mysql分表的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录基本思路定义注解创建ThreadLocal创建拦截器业务处理基本思路1.根据创建时间字段按年进

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态