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&仿真器
  • 应广单片机烧录器
  • 代码生成器
模数转换器ADC 如何工作?应广科技官网公布的PMS132/PMS132B8单片机,ADC 装进程的步骤,有 7 个寄存器需要配置

模数转换器ADC 如何工作?应广科技官网公布的PMS132/PMS132B8单片机,ADC 装进程的步骤,有 7 个寄存器需要配置


应广单片机烧录方法,PMS133/PMS134 的烧录脚为 PA3,PA4,PA5,PA6,VDD,GND 这 6 只引脚,随着烧录器版本的不同,每种封装形式烧录方法也不尽相同

应广单片机烧录方法,PMS133/PMS134 的烧录脚为 PA3,PA4,PA5,PA6,VDD,GND 这 6 只引脚,随着烧录器版本的不同,每种封装形式烧录方法也不尽相同


应广单片机YFS1224 系列12bit ADC 型 MTP MCU 带 2K-bit EEPROM,包含两个部分:PFS122B MCU,2Kbit EEPROM,是一款 12bit ADC 类型的 MTP MCU

应广单片机YFS1224 系列12bit ADC 型 MTP MCU 带 2K-bit EEPROM,包含两个部分:PFS122B MCU,2Kbit EEPROM,是一款 12bit ADC 类型的 MTP MCU


应广单片机PMB180 8 位 OTP 型单片机带充电,IC充电器使用与设定,PMB180 的充电器做电性量测V1 电压波形:(CC Mode, R1 = 10Kohm, C1 = 1uF)

应广单片机PMB180 8 位 OTP 型单片机带充电,IC充电器使用与设定,PMB180 的充电器做电性量测V1 电压波形:(CC Mode, R1 = 10Kohm, C1 = 1uF)


单片机选型指南,项目开发如可购买单片机,这里分享干货让你少找弯路,选择微控制器(MCU)的10个步骤,推荐几款常用的单片机

单片机选型指南,项目开发如可购买单片机,这里分享干货让你少找弯路,选择微控制器(MCU)的10个步骤,推荐几款常用的单片机


PMS152G应广科技8 位 OTP SuLED IO 型单片机,工作温度范围:-40°C ~ 85°C,烧录方法,请使用 PDK5S-P-003x 烧录,1.25KW OTP 程序存储

PMS152G应广科技8 位 OTP SuLED IO 型单片机,工作温度范围:-40°C ~ 85°C,烧录方法,请使用 PDK5S-P-003x 烧录,1.25KW OTP 程序存储


应广科技单片机应用开发中PMC-APN003 IO 输出引脚连接长导线时的应用需知,PA3 用于控制 TRIAC,线路接法为 PA3 输出引脚先接100 公分长的导线

应广科技单片机应用开发中PMC-APN003 IO 输出引脚连接长导线时的应用需知,PA3 用于控制 TRIAC,线路接法为 PA3 输出引脚先接100 公分长的导线


应广触摸单片机 PMS161 触摸功能内含一个触摸检测电路,用户可通过寄存器 ESOCR配置触摸模块电源

应广触摸单片机 PMS161 触摸功能内含一个触摸检测电路,用户可通过寄存器 ESOCR配置触摸模块电源


应广科技 PMB183 8 位 OTP 型单片机带充电,内置一个硬件充电器,此充电器为完全恒流/恒压线性充电,可用于单节锂离子电池充电管理

应广科技 PMB183 8 位 OTP 型单片机带充电,内置一个硬件充电器,此充电器为完全恒流/恒压线性充电,可用于单节锂离子电池充电管理


低功耗高效能语音控制IC,为您的设备赋予语音交互能力,应广科技语音单片机芯片打造极致语音控制体验的IC选择

低功耗高效能语音控制IC,为您的设备赋予语音交互能力,应广科技语音单片机芯片打造极致语音控制体验的IC选择


PMB180应广单片机8 位 OTP 型单片机带充电,内置一个硬件充电器。此充电器为完全恒流/恒压线性充电,可用于单节锂离子电池充电管理

PMB180应广单片机8 位 OTP 型单片机带充电,内置一个硬件充电器。此充电器为完全恒流/恒压线性充电,可用于单节锂离子电池充电管理


PMC-APN002 过电压保护应用需知,IO 输入电压高过 VDD 或低于 GND,都可能造成应广单片机损伤,或是因内部电流引发单片机不正常工作

PMC-APN002 过电压保护应用需知,IO 输入电压高过 VDD 或低于 GND,都可能造成应广单片机损伤,或是因内部电流引发单片机不正常工作


语音芯片IC_MCU单片机语音方案,使用Arduino和蓝牙DIY语音控制家庭自动化案例,用语音命令无线控制家用电器和灯光

语音芯片IC_MCU单片机语音方案,使用Arduino和蓝牙DIY语音控制家庭自动化案例,用语音命令无线控制家用电器和灯光


PMS154C单片机8位PWM计数器/比较器使用,选择 PA3 为负输入和 Vinternal R 为正输入,Vinternal R 的电压为(18/32)*VDD,AC 阻容降压供电

PMS154C单片机8位PWM计数器/比较器使用,选择 PA3 为负输入和 Vinternal R 为正输入,Vinternal R 的电压为(18/32)*VDD,AC 阻容降压供电


语音控制IC应广单片机(MCU)如何设计声控灯应用解决方案?将介绍设计过程中的关键阶段,包括组件选择、电路设计、电源、编程和测试

语音控制IC应广单片机(MCU)如何设计声控灯应用解决方案?将介绍设计过程中的关键阶段,包括组件选择、电路设计、电源、编程和测试


开发实力

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

全球渠道

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

品质保证

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

售后服务

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

服务热线

0755-88364040
18902464556

义隆代理

烧录开发

技术支持

申请样品

扫描微信二维码