网友开发者热议应广单片机(Padauk) PMS150C 成功驱动 300个WS2812B LED,实际上只需修改8Mhz微控制器就可以做很多事情

整理编辑:逐高电子技术开发部 / 日期:2024-12-5

3美分的Padauk应广科技单片机 PMS150C 至少可以说很有趣。首先,这个小型 MCU 有很多功能无法实现。它没有太多代码空间(1K 字),没有太多 RAM(64 字节),甚至无法进行硬件乘法。它也没有从 ROM 加载数据的指令(虽然有办法解决这个问题)

当然 - 您只能对其进行一次编程。

 

PMS150C U06 不适合 SOIC8 突破 那么..它能做什么?闪烁的灯光?是的,还有更多。

尽管它有其局限性,但实际上只需修改 8Mhz 微控制器就可以做很多事情。正如您在下面 IDE 的屏幕截图中看到的

 

 

它实际上可以与许多外围设备配合使用

尽管其中任何一个都没有硬件支持。

 

当然,论坛上有一些非常聪明的人正在努力为这些芯片创建一个开放的工具链,但我决定不再等待开始并陷入制造商

 IDE、ICE 和程序员的困境。 为了充分利用触手可及的工具,IDE 似乎希望您混合使用纯 C、宏和汇编指令,

所有这些都混合在一些看起来非常有趣的代码中。我这样说可能不会受欢迎,但一旦你习惯了它,它实际上感觉非常直观。

这很奇怪,但却很“有趣”。 在我的第一次强制性“闪烁测试”之后,我决定尝试一些稍微有用的东西 - 控制 WS2812B LED。

由于协议本身依赖于时间相当紧迫的位碰撞,我认为这是一个很好的测试。

 

但是如何做到呢?Adafruit 的 Arduino 库为每个 LED 使用 3 个字节的 RAM,那么如何仅使用 64 个字节的 RAM 来运行 300 个 LED?

 事实证明,这个问题有一个简单的解决方案:不要将每个 LED 都放在 RAM 中。 由于 WS2812B 的时序不是那么紧凑,因此在发送

每个 LED 的 24 位值之间实际上有很多备用周期的空间。基本上只是即时执行逻辑,而不是将每个 LED 存储在 RAM 中。

 

唯一的缺点是你不能只更改单个 LED 值而保留其余值。 一旦你理解了,控制 LED 的逻辑就非常简单了。

为每个 LED 发送 24 位,并以足够长的延迟结束以使数据锁存。

在这种情况下,将每个位保持在 1.25uS 左右,“0”是短高,后跟“长”低,“1”是长高,后跟短低。

简单来说:高点->低点 24 次。高点多头为 1,高点空头为 0。以下是数据表的片段:

 

 

那么.. 代码怎么样? 下面是我用来与 LED 串通信的最小代码。还有优化的空间,如果你习惯在 AVR 上看到纯 C 项目,我敢肯定其中很多看起来很有趣。

首先,Padauk IDE 在数据类型方面有点模糊。没有“long”这样的东西,在我看来,默认情况下所有类型都是无符号的 - 虽然我还没有彻底研究过这一点。

 Padauk IDE 中唯一可用的数据类型是: 位(1 位)字节(8 位)整数(8 位(!))字(16 位) EWORD(24 位) DWORD(32 位) 但是,这些类型的便利之处在于,可以通过宏访问单个位和字节,而无需对它们进行任何移动。

 

例如: mybyte.4 = 0; //清除 mybyte 的第 4 位 myEWORD$1 = mybyte; //设置 24 位 EWORD 的中间字节 此外,内置宏非常方便。请参阅下面的代码。

控制 WS2812B 所需的所有代码都包含在宏“send1”、“send0”和函数 SendRGB(); SendRGB() 函数是 Padauk IDE 怪异的一个典型例子,包含汇编指令、宏和普通的 C。但我能说什么呢:它有效。

 

我可能可以在 while 循环中移动 rgb EWORD x(比 24 个宏 if 更有效),但我决定尝试宏,它对于此目的来说已经足够有效了。其余代码(我没有在这里包含)是对 r、g 和 b 值的基本操作,然后是 show(); 以设置正确的颜色。想看的话就留言吧,我会把完整的项目放到github上。

 

 

 

热帖讨论应广单片机PMS150C开发:

LCSC 是购买 Padauk 产品的非常好的来源。在 LCSC,我以每台 0.26 美元的价格购买了模拟器、编程器和一百台 PMC234-S28。我使用两个内核中的一个来接收 MIDI 数据。另一个内核管理电路板的 I/O,非常特别,但使用这个处理器非常有趣


1.  -----------------------------------------


它似乎是一个双核 8 位 risc 处理器:非常不寻常
您能为我做定制工作吗?我认为这个芯片将是我们低成本玩具的完美解决方案。


2.  --------------------------------------------


我同意,完美的解决方案!
恐怕我没有太多时间用于项目,但欢迎您通过电子邮件向 anders @ this website’s domain 提出建议。


3.  ------------------------------------------


如何为 pms150 供电,我使用 2 个 7.4V 的锂离子电池,而不是一个 3.4V 的电池。使用电压调节器会消耗几毫安的电流?pms 芯片会在 7.4 V 下运行吗?


4.  -------------------------------------


任何超过 5.5V 的电压都可能导致它过早地冒烟死亡。


5.  -------------------------------------


您应该能够获得一个静态电流至少在微安范围内的调节器 - 并且 PMS150 将在 3.4V->4.2V 下运行(只是速度没有那么快)。


6.  ---------------------------------------


Pingback:让 Three Cent 微控制器变得有用
嗨!您的项目很棒!您可以在 github 上公开它吗?感谢您的项目


7.  ---------------------------------------


下一个?哦,也许一些简单实用的东西……莫尔斯键 USB HID 键盘……? 😛
Pingback:Padauk PMS150C“3 美分”MCU 支持 SDCC 开源工具链


8.  ---------------------------


这些 3 美分微控制器有什么用?


9.  -------------------------------------------


您是如何对这个芯片进行编程的?
除了 Arduino、ESPxxx 和其他一些……之外,我对这种芯片还不熟悉。
有没有简单的分步说明,让我可以在花钱购买编程器之前先试用一下?

我使用了官方 PDK 编程器。这是一个带有开源编程器的开放工具链。但不提供调试功能。


10.  ---------------------------------------------------------


您能对微控制器进行编程,使其执行 0 到 255 的波形和一些全部打开的操作吗?我的一个项目是基于 ws2812b led 为急救人员、石油和天然气、建筑工人警察和任何人制作安全装备。我在帽子上贴了一条条带,我数不清有多少人对它感兴趣。只是为了晚上遛狗。

在条带上嵌入一个 OTP 芯片和按钮将使制造成本更低。


11.  -------------------------------------------------------


是的,这没问题——基本上任何不占用大量内存的东西,比如不遵循特定模式的图形,都是可行的。

谢谢你的回复。抱歉耽搁了 5 个月;现在工作有点忙。我不太擅长写代码,但我看不到按钮命令。另外,你有项目的示意图吗?我在哪里可以买到芯片和编程器?

12.  ---------------------------------------------------------------


感谢 Anders 的这篇文章,但我有一些疑问:
- 这款 Padauk PMS150C 可靠吗?
- 它活跃吗?因为我正在考虑在一个项目中使用它,而且从现在起至少五年内我都需要它;
-关于程序存储器,它是一个OTP(一次性可编程)存储器,这意味着我只能编程和调试一次(?!),那么我该如何解决这个问题呢?

应广单片机技术资料

  • 台湾应广单片机官网
  • 应广单片机例程
  • 应广单片机编程指南
  • 应广单片机定时器
  • 技术开发工具
  • 应广单片机IDE&仿真器
  • 应广单片机烧录器
  • 代码生成器
应该科技单片机PMC-APN006PMC150/153/156/166对抗电源急速波动的重要通知,遇电源急速波动(例如电源 被手动快速开关,或者是因为强烈的电源杂讯)

应该科技单片机PMC-APN006PMC150/153/156/166对抗电源急速波动的重要通知,遇电源急速波动(例如电源 被手动快速开关,或者是因为强烈的电源杂讯)


应广单片机,PMC-APN-017提升IC 在电源插拔测试下的抗干扰能力,IDE 0.91M1 后的版本将针对.Adjust_IC Macro 做优化调整,有助于提升 IC 在小部份特定 应用环境下做电源反复插拔测试时的稳定性及抗干扰能力。

应广单片机,PMC-APN-017提升IC 在电源插拔测试下的抗干扰能力,IDE 0.91M1 后的版本将针对.Adjust_IC Macro 做优化调整,有助于提升 IC 在小部份特定 应用环境下做电源反复插拔测试时的稳定性及抗干扰能力。


应广科技提醒用户在使用PMS134G系列单片机IC时避免常犯的一些错误,IO 作为数字输入时,Vih 与 Vil 的准位,会随着电压与温度变化

应广科技提醒用户在使用PMS134G系列单片机IC时避免常犯的一些错误,IO 作为数字输入时,Vih 与 Vil 的准位,会随着电压与温度变化


应广单片机烧录PMC-APN011半自动烧录机台提高烧录稳定性,应广科技烧录器操作方法说明,烧录器在烧录IC时会进行精确的相关特性校正如 IHRC…等等

应广单片机烧录PMC-APN011半自动烧录机台提高烧录稳定性,应广科技烧录器操作方法说明,烧录器在烧录IC时会进行精确的相关特性校正如 IHRC…等等


应广科技八核心平行处理单片机 (FPPA) 介绍,有什么优点?相信许多研发人员都有选择 MCU 的痛苦经验, 选这颗 MCU少个UART,选那颗Timer又不够,就算选好了MCU写软体才是真正痛苦

应广科技八核心平行处理单片机 (FPPA) 介绍,有什么优点?相信许多研发人员都有选择 MCU 的痛苦经验, 选这颗 MCU少个UART,选那颗Timer又不够,就算选好了MCU写软体才是真正痛苦


网友热论开发应广单片机,工业级8-bit MTPIO 类型PFC154单片机具体应广的讨论帖子,在分析了READ和WRITE后,发现:PFC154程序字=14位,但使用19位进行读/写。

网友热论开发应广单片机,工业级8-bit MTPIO 类型PFC154单片机具体应广的讨论帖子,在分析了READ和WRITE后,发现:PFC154程序字=14位,但使用19位进行读/写。


模数转换器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 型单片机带充电,内置一个硬件充电器,此充电器为完全恒流/恒压线性充电,可用于单节锂离子电池充电管理


开发实力

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

全球渠道

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

品质保证

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

售后服务

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

服务热线

0755-88364040
18902464556

义隆代理

烧录开发

技术支持

申请样品

扫描微信二维码