<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>技术与光影手记</title><description>NaBCWorkshop</description><link>https://tianyi.ink/</link><templateTheme>Firefly</templateTheme><templateThemeVersion>6.8.11</templateThemeVersion><templateThemeUrl>https://github.com/CuteLeaf/Firefly</templateThemeUrl><lastBuildDate>2026年4月7日 22:48:36</lastBuildDate><item><title>GP247AI芯片253x63VFD点阵屏折腾实录目录</title><link>https://tianyi.ink/posts/vfd/vfd/</link><guid isPermaLink="true">https://tianyi.ink/posts/vfd/vfd/</guid><description>蓝厘在咸鱼淘来的253x63VFD点阵屏，让我们看看他要拿这块屏幕来干什么呢（</description><pubDate>Fri, 03 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h1&gt;〇 · 序言&lt;a href=&quot;#〇--序言&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;几个星期前刷咸鱼，发现一个卖VFD屏幕模块的卖家，心血来潮，拿下这块屏幕。&lt;br /&gt;
好的那么闲言少叙，带上耳机（不戴也行），听着音乐，开始折腾。&lt;br /&gt;&lt;/p&gt;&lt;p&gt;【图片占位符——VFD本体照片】&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;卖家大哥人很好啊，见我是学生，给我免了10r，还包邮，太性情了大哥。&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;一 · 初识GP247AI VFD&lt;a href=&quot;#一--初识gp247ai-vfd&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;屏幕到货，将其从厚厚的泡泡纸中取出，可以看见该VFD本体由两部分组成，一部分是VFD真空管，一部分是VFD的控制电路板，主控芯片型号是STC15W4K56S4，控制电路板有五个接口。
1个3P供电口，电压为典型的5V，两个5P的口，尚不清楚具体作用，中部一个串口，用于stc芯片的烧录和外部通信，中部接口作用未知，有未焊接焊盘，暂不对此做研究。&lt;/p&gt;&lt;p&gt;STC芯片中烧录了示例程序，屏幕显示没有问题，不过有个小细节，屏幕上电会有滋滋声，这就是复古的味道啊（赞赏）。&lt;/p&gt;&lt;p&gt;不过我数了一下，纵向应该有64个像素，横向还没数，但我觉得应该不会是253这么奇怪的数字，更像是256个像素，凑成256x64，不知道为什么卖家说是253x63。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;二 · 控制电路板研究&lt;a href=&quot;#二--控制电路板研究&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;警告：该驱动板会通过一个 &lt;strong&gt;多级倍压整流升压电路&lt;/strong&gt; 将5V升压至将近&lt;strong&gt;90V&lt;/strong&gt;（图中的&lt;em&gt;&lt;strong&gt;VHA&lt;/strong&gt;&lt;/em&gt;），使用时请勿将手触碰VHA和临近的GND，否则会导致手受电击，&lt;em&gt;虽然不痛&lt;/em&gt;(其实还是有点刺痛)，但是会吓一跳而且有个小水泡，且如果你的手松掉让VFD被*&lt;em&gt;&lt;strong&gt;Drop it&lt;/strong&gt;&lt;/em&gt;，将有可能导致VFD碎裂导致真空环境被破坏，这损失可不小。&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;三 · 驱动文件研究&lt;a href=&quot;#三--驱动文件研究&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;玩过oled的小伙伴都知道，像oled这样的屏幕是用i2c来通信的，那么像VFD这样的屏幕，肯定也是通过某种方式来通信的。于是我在网络上搜索该VFD芯片模块&lt;strong&gt;GP247AI&lt;/strong&gt;，搜索结果比较少，但是发现了一些信息：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;一个Github仓库，不过是电路板制造相关文件&lt;br /&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;a href=&quot;https://github.com/StephiB/GP1247AI_PCB&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;StephiB&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;GP1247AI_PCB&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;一个叫做RS的供货商，其中一款日本双叶电子工业株式会社制造的VFD屏幕的货品，提到了i2c通信，i2c可疑度++&lt;br /&gt;
&lt;a href=&quot;https://www.rsonline.cn/web/p/vfd-displays/1701704&quot; target=&quot;_blank&quot;&gt;https://www.rsonline.cn/web/p/vfd-displays/1701704&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;一个在Gitee上对U8G2的移植库，内涵GP1247AI的相关文件&lt;br /&gt;
&lt;a href=&quot;https://gitcode.com/kvcx/OLED_IIC_DMA_Demo/blob/main/U8G2/u8x8_d_gp1247ai.c&quot; target=&quot;_blank&quot;&gt;https://gitcode.com/kvcx/OLED_IIC_DMA_Demo/blob/main/U8G2/u8x8_d_gp1247ai.c&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;商家大哥的原理图，VFD模块的连接部分引出了四根线：&lt;br /&gt;
&lt;strong&gt;VCLK时钟&lt;/strong&gt; &lt;strong&gt;VCS片选&lt;/strong&gt; &lt;strong&gt;VDAT数据&lt;/strong&gt; &lt;strong&gt;VRST复位&lt;/strong&gt;&lt;br /&gt;
可以知道这是一个串行通信接口&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;另一个PCB制造文件，不过是GP1287AI，&lt;br /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;a href=&quot;https://github.com/izilzty/GP1287AI_VFD_BOARD&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;izilzty&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;GP1287AI_VFD_BOARD&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;但是我在该github仓库找到了另一个仓库&lt;br /&gt;&lt;/p&gt;&lt;a href=&quot;https://github.com/izilzty/u8g2&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;izilzty&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;u8g2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;该仓库中的U8G2驱动文件似乎支持GP1247AI！&lt;br /&gt;
先保留这个仓库&lt;/p&gt;&lt;p&gt;因此，虽然找不到相关驱动，但是可以认为通信协议是i2c驱动的可能性很大，接下来让我们看看示例文件里的驱动文件&lt;/p&gt;&lt;p&gt;函数&lt;em&gt;Spi_Send_Byte&lt;/em&gt;：&lt;br /&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;void&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Spi_Send_Byte&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;unsigned&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;char&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;dat&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;unsigned&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;char&lt;/span&gt;&lt;span&gt; i;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;for&lt;/span&gt;&lt;span&gt; (i &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;; i &lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;8&lt;/span&gt;&lt;span&gt;; i&lt;/span&gt;&lt;span&gt;++&lt;/span&gt;&lt;span&gt;) {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;VFD_SCK &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;VFD_DAT &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; dat &lt;/span&gt;&lt;span&gt;&amp;amp;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;0x&lt;/span&gt;&lt;span&gt;01&lt;/span&gt;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;span&gt; // LSB first&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;VFD_SCK &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;dat     &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; dat &lt;/span&gt;&lt;span&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;。。。&lt;br /&gt;
看来是个LSB的半双工SPI通信协议，好吧破案&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;四 · 优化VFD驱动&lt;a href=&quot;#四--优化vfd驱动&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;/section&gt;</content:encoded></item></channel></rss>