PADAUK PFS154-S16 微控制器应广单片机开发案例 低成本微控制器将简单的七段 LED 转变为可链接的显示集群,该器件具有闪存和足够的 I/O,无需多路复用即可控制 7 段显示器,成本仅为 0.07 美元,比使用多个 WS2811 等替代方案更便宜

整理编辑:逐高电子技术开发部 / 日期:2023-11-11

每个七段 LED 后面都有一个 PADAUK PFS154-S16 微控制器,Tim“cpldcpu”的数字显示非常智能。

PADAUK PFS154-S16

 

是时候进行另一个具有超低成本微控制器的项目了。 但要设计什么呢?

逐高电子技术开发部整理分享: 自从看到一个 0.03 美元的 MCU 控制价值 40 美元的智能 RGB LED 的项目以来,我一直想知道这是否是使用这些设备的正确场所。 在这个价位上,将一个 MCU 专用于一个 LED 并用它来实现一个精美的节点控制器似乎不是更有意义吗? 设计自己的协议一直吸引着我。 然而,仅仅复制 WS2812 RGB LED 或类似的东西似乎有点毫无意义……
看到这个(以及这个和这个)可链接和可寻址的 7 段显示器后,很清楚该怎么做:当单个微控制器可以以更低的成本更好地控制单个 7 段显示器时,为什么要使用三个 WS2811 IC 来控制单个 7 段显示器 成本?

WS2812 RGB LED

上图显示了一般概念:每个段都有一个串行数据输入和一个串行数据输出,可以控制显示的内容。 来自每个段输入的数据被转发到下一个段,以便可以将下一个数字直接连接到前一个数字的输出。 电源将穿过所有设备。
一个重要的问题是使用哪种协议:为了简化控制,我将自己的目标设置为允许通过 8N1 配置中的标准 UART 进行控制。 这与例如相反 WS2812 采用非标准协议进行控制,时序具有挑战性。
硬件
我选择使用 PADAUK PFS154-S16 作为每个部分的微控制器。 该器件具有闪存和足够的 I/O,无需多路复用即可控制 7 段显示器。 成本仅为 0.07 美元,因此比使用多个 WS2811 等替代方案更便宜。 数据输入引脚连接到 PA0,允许使用引脚更改中断来检测传入传输。 数据输出为PA6,而PB0-PB7用于控制显示。 示意图如下所示。

 

数据输入引脚连接到 PA0

 

为了避免为每个段添加一个电阻器,我决定仅使用单个限流器件并以多路复用模式运行显示器,以便一次仅打开一个段。 最初我计划使用 NSI50010,它是一个两端电流源。 不幸的是,事实证明,7 段显示器上的电压降太大,无法为电流源提供足够的电压。 因此,我用电阻器替换了它,并放弃了多路复用。

 

 NSI50010

 

PCB设计如上所示。 7 段显示器安装在背面。 成角度的连接器用于连接显示器的各个部分。 最初我计划使用正确的连接器进行编程,但事实证明使用 SOIC8 夹子直接连接到微控制器要容易得多。

 

MCU PCB

 

后侧

 

两个组装好的显示器

 

 

前面

上面显示了两个组装好的显示器。 正如您所看到的,它们整齐地对齐。
固件
该固件是使用 SDCC 开发的。 我使用 Easy PDK 编程器对微控制器进行编程。
协议
事实上,这个项目最有趣的部分是设计通信协议。 为了让事情变得简单,我定义了以下要求:
该链应可通过标准 UART 接口进行控制。 例如 USB 转 RS232 适配器。
该接口由单个输入引脚和输出引脚组成。 仅允许使用数字级别。
仅允许单向通信。 从链条到控制器没有返回通道。
链上的所有元素都会在同一交易中接收更新的信息。 不需要对各个单元进行寻址。
链上各段的显示内容应同步更新。
段应按其在链中的序号来寻址。
不需要错误检测或纠正。
第 2-7 项大大简化了事情,并且与众所周知的 WS2812 协议非常相似。 我们先解决1。
数据框

 

 

数据框

 

WS2812使用的“1N1”串行协议 在单线异步协议中,每次传输通常由一个起始条件和 1…n 位的有效负载组成。 上图展示了查看 WS2812 协议的一种方式:传输以低-高转换作为起始位开始,随后是单个数据位和一个停止位。 当使用标准 UART 符号时,这对应于正逻辑中的“1N1”协议。 Ts 表示一位的持续时间,它是波特率的倒数。 对于 WS2812,Ts 约为 450 ns,相当于 2.2 Mbaud。 无法直接将 WS2812 连接到标准 UART 输出的主要原因是信号反转。 很明显,1N1 协议在开销上浪费了大量带宽。 只有三分之一的传输用于实际数据。

 

UART 输出

 

标准8N1异步串口协议
串行传输通常依赖于 8N1 协议,如上所示。 这里,起始位后面跟着 8 个数据位,因此 80% 的传输实际上用于数据。
挑战在于,起始位后面的位数越多,计时精度要求就越严格。 假设我们在一位的中心进行采样,则最大时钟偏差需要小于一位时序的 50%。 当最大相对时钟偏差小于 delta<1/(2*(n+0.5)) 时,可以证明这一点得到满足,其中 n 是位数。 (推导稍微复杂一些)。

 

 

标准8N1异步串口协议

 

每帧位数与最大允许时钟偏差之间的关系如上所示。 人们必须考虑到发射器和接收器之间共享容差。 例如,对于 1N1 协议,发送器可能会出现 -17% 的偏差,接收器可能会出现 +17% 的偏差。
很明显为什么 WS2812 基于 1N1 协议:当时钟未调整时,需要 +-17% 来考虑制造工艺和操作温度变化。
对于 8 位数据帧,允许总误差小于 5%。 这对应于每个设备上时钟的 +-2.5% 容差。

 

 

由于可以调整 PFS154 微控制器上的时钟,因此可以获得比 WS2812 更好的容差。 数据表建议,如果器件在 5V 和 25°C 下运行,则为 +-1%,但在所有电压和温度条件下为 +-5%。 如果 VDD 保持在 4-6V 之间,容差应明显低于 +-5%(参见数据表中的图 4.5)。
最后我注意到每个 7 段显示器只需要 5 位有效负载。 因此我选择采用 8N1 协议,但仅使用 5 位。 这允许高达 4% 的时钟偏差。
状态机

 

 

现在我们已经决定了数据帧的样子,让我们来解决整个传输的工作原理。 要求是所有设备都可以按顺序寻址。 为了简单起见,没有实现特定的寻址机制,而是传输中数据的顺序与链中的顺序相对应。

 

这可以通过上面所示的状态机轻松实现,状态机可能看起来比实际情况复杂得多。
重置后,每个设备处于称为“接收”的第一状态。 当设备处于接收模式时,它将接受传输,但不会在其输出上发送任何内容。 第一个接收到的数据帧将被解释为显示更新信息并存储在内部。 完成接收有效数据帧后,设备将切换到“Forward”状态。
在转发状态下,所有接收到的数据帧都直接转发到输出,延迟为0.5 Ts。 收到有效数据帧后,设备将检查是否收到 EOT 代码。 如果是,设备将恢复到“接收”状态并等待新传输的开始。 EOT 符号定义为 0x00。

 

设备将切换到“Forward”状态

 

上图显示了链输入(CH1,黄色,3.3V 电平)和第一个设备之后的信号(CH2,5V 电平)的示波器迹线。
最后需要澄清的一件事:何时应该更新显示? 为了允许整个链同时更新,显示内容在接收到EOT符号后更新。

 

USB 转 RS232 接口

 

上图显示了 5 个正在运行的显示器链。 输入通过 USB 转 RS232 接口直接由 shell 脚本控制。

应广单片机技术资料

  • 台湾应广单片机官网
  • 应广单片机例程
  • 应广单片机编程指南
  • 应广单片机定时器
  • 技术开发工具
  • 应广单片机IDE&仿真器
  • 应广单片机烧录器
  • 代码生成器
应广单片机如何制作一个编程器,创建您的第一个项目,并实现“Hello world”功能,一些知名品牌的简单8位微控制器要么难以购买,而Padauk微控制器则成为了一个可能的替代品

应广单片机如何制作一个编程器,创建您的第一个项目,并实现“Hello world”功能,一些知名品牌的简单8位微控制器要么难以购买,而Padauk微控制器则成为了一个可能的替代品


应广单片机跃龙PFC161基于MINI-C的应广单片机编程测试代码,7触摸键8位MTP类型单片机PA5的2MS脉冲波

应广单片机跃龙PFC161基于MINI-C的应广单片机编程测试代码,7触摸键8位MTP类型单片机PA5的2MS脉冲波


PMS161触摸键OTP类型应广单片机开发方案,包含一个最多5键的电容式触摸控制电路

PMS161触摸键OTP类型应广单片机开发方案,包含一个最多5键的电容式触摸控制电路


PMS163是一款集成有PWM生成器、触摸功能、ADC模数转换器等组件的单片机

PMS163是一款集成有PWM生成器、触摸功能、ADC模数转换器等组件的单片机


PMS132/PMS132B单片机(MCU),模拟-数字转换器(ADC) 模块,当启用内部 BG/2v/3v/4v 为参考高电压时,必须保证 IHRC 为开启状态

PMS132/PMS132B单片机(MCU),模拟-数字转换器(ADC) 模块,当启用内部 BG/2v/3v/4v 为参考高电压时,必须保证 IHRC 为开启状态


PMS150G应广单片机在编程期间在PA5上使用较低的电压,但在VCC上使用比PMS150C更高的电压,PMS150G 可以在1.8V下运行而 PMS150C 至少需要2.0V

PMS150G应广单片机在编程期间在PA5上使用较低的电压,但在VCC上使用比PMS150C更高的电压,PMS150G 可以在1.8V下运行而 PMS150C 至少需要2.0V


触摸键OTP类型单片机选型padauk(应广)PMS1606,时钟源内部高频RC振荡器(IHRC),内部低频 RC 振荡器(ILRC),Bandgap 电路提供1.2V Bandgap电压

触摸键OTP类型单片机选型padauk(应广)PMS1606,时钟源内部高频RC振荡器(IHRC),内部低频 RC 振荡器(ILRC),Bandgap 电路提供1.2V Bandgap电压


PMS150C应广单片机构建了一个简单的闪烁自行车灯开发案例,虽然许多人可能会使用滑动开关和555定时器来实施此项目,BOM成本也要低得多

PMS150C应广单片机构建了一个简单的闪烁自行车灯开发案例,虽然许多人可能会使用滑动开关和555定时器来实施此项目,BOM成本也要低得多


PMC-APN011应广半自动烧录机台使用说明,提高烧录,适用范围所有单片机系列,针对所有单片机型号(特别是 PMS150B)在半自动机台做烧录时,其烧录过程有可能会受 到半自动机台

PMC-APN011应广半自动烧录机台使用说明,提高烧录,适用范围所有单片机系列,针对所有单片机型号(特别是 PMS150B)在半自动机台做烧录时,其烧录过程有可能会受 到半自动机台


PFC151应广单片机工业级8位 MTP IO 类型单片机,2KW MTP 程序储存器 (可编程1,000次以上),128 Bytes 数据储存器,两个8位定时器可产生6/7/8-bit PWM波形

PFC151应广单片机工业级8位 MTP IO 类型单片机,2KW MTP 程序储存器 (可编程1,000次以上),128 Bytes 数据储存器,两个8位定时器可产生6/7/8-bit PWM波形


PFS122B 8位MTP类型应广科技单片机,带12位电阻式 ADC 最新开发资料更新,不建议使用于 AC 阻容降压供电或有高 EFT 要求的应用,应广8位高性能精简指令集CPU

PFS122B 8位MTP类型应广科技单片机,带12位电阻式 ADC 最新开发资料更新,不建议使用于 AC 阻容降压供电或有高 EFT 要求的应用,应广8位高性能精简指令集CPU


应广单片机MCU关于休眠的设置与注意事项,分两个部分写,省电模式和掉电模式,这也是规格书上描述的官方叫法,本文统称为休眠模式

应广单片机MCU关于休眠的设置与注意事项,分两个部分写,省电模式和掉电模式,这也是规格书上描述的官方叫法,本文统称为休眠模式


PGS134应广单片机8bit MCU带12bit ADC&EEPROM,KW 程序储存器,256 Bytes 数据存储器(128*16),对所有带唤醒功能的IO,都支持两种可选择地唤醒速度

PGS134应广单片机8bit MCU带12bit ADC&EEPROM,KW 程序储存器,256 Bytes 数据存储器(128*16),对所有带唤醒功能的IO,都支持两种可选择地唤醒速度


语音单片机方案,应广科技芯片型号PMS121的应用说明,1.5KW OTP 程序储存器,PB0提供NMOS开漏及PB7提供PMOS特大电流输出,ADC模块时有6个寄存器需要配

语音单片机方案,应广科技芯片型号PMS121的应用说明,1.5KW OTP 程序储存器,PB0提供NMOS开漏及PB7提供PMOS特大电流输出,ADC模块时有6个寄存器需要配


应广科技2024新产品型号目录,逐高电子一级代理,应广单片机(MCU)报价选型包含:G Series(MTP +EEP),B Series(Battery Charger+MCU),l/O型-OTP Series,A/D型- MTP Series, I/O型MCU,A/D型MCU,触控型MCU ,高抗EFT干扰MCU

应广科技2024新产品型号目录,逐高电子一级代理,应广单片机(MCU)报价选型包含:G Series(MTP +EEP),B Series(Battery Charger+MCU),l/O型-OTP Series,A/D型- MTP Series, I/O型MCU,A/D型MCU,触控型MCU ,高抗EFT干扰MCU


开发实力

专业资深的软硬件开发工程师团队,熟悉行业客户产品硬件技术平台解决方案

全球渠道

为客户提供高性价比的产品和服务,满足客户及时快速的电子生产制造需求

品质保证

专业的测试保证团队,保证每批方案的稳定性,兼容性,和抗干扰性

售后服务

专业的技术服务团队,24小时为客户提供各种软硬件的技术支持和售后服务

服务热线

0755-88364040
18902464556

义隆代理

烧录开发

技术支持

申请样品

扫描微信二维码