0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Magic Hercules模块中SPI信号到NZR协议的转换

电子设计 来源:电路城 作者:电路城 2021-04-28 11:19 次阅读

MH是适用于WS2812等数字LED条的初学者友好型SPI驱动器。照明项目从未如此轻松!

硬件组件:

Arduino Mega 2560 × 1个

Atnel开发板1.05a× 1个

STMicroelectronics STM32 Nucleo-64板× 1个

Raspberry Pi 4 B型 1个

我使用WS2812,WS2815或SK6812等数字LED已有很长时间,我通常将它们称为Magic LED。

我测试了许多基于Magic LED(甚至是RGBW类型)的带,环和显示器(甚至是我自己的)。我使用了Arduino,Nucleo(带有STM),Raspberry Pi和我自己的带有AVR微控制器的主板。

无论使用哪种平台,编写程序来控制魔术LED都是困难的(由于需要NZR协议软件),除非您正在使用易于使用的现成库,但是就代码使用而言,中断仍然不是完全最佳的,响应或内存利用率,并且只能在特定平台上使用(将它们从Raspberry移植到AVR微控制器是不可能的)。

由于我经常使用各种平台,因此我需要程序代码与Arduino,Raspberry Pi,ARM / STM(Nucleo)或AVR尽可能兼容-特别是在灯光效果方面。

我已经在youtube频道上工作了很长时间,并且准备了一份以上的指南,以C语言为AVR微控制器编程数字二极管(但到目前为止仅在波兰语中)。我经常与那些为魔术LED编程而苦苦挣扎的初学者接触。当然,根据平台的不同,有些人会为他们的一次性项目选择现成的库。但是,许多人正在寻找其他解决方案或尝试学习编程的秘密,而我就是其中之一。

我决定准备一个模块,该模块将使用NZR协议为用户完成肮脏的工作。与SPI一样,将用作SPI到NZR转换器的模块可以轻松地在任何平台上使用。下面的屏幕截图显示了Magic Hercules模块中SPI信号到NZR协议的转换。

SPI到NZR的转换:

基于Magic Hercules模块中SPI信号到NZR协议的转换

将数字LED连接到不同的系统时,应该记住不同微控制器的适当电压容限。ARM微控制器的大多数I / O引脚均以+3.3 V标准工作,而AVR微控制器则以TTL标准工作。因此,Magic Hercules模块的输入引脚的公差为+3.3 V,因此可以安全地连接到例如Raspberry P或+3.3 V供电的任何基于ARM的微控制器。

如前所述,我经常使用不同类型的数字LED。根据制造商的不同,LED中的各个颜色可以位于不同的位置,例如RGB,BGR,GRB,RGBW,GRBW等。制造商的文档中提到RGB序列并不少见,但实际上看起来有所不同。我已经为Hercules模块配备了颜色顺序测试,因此快速弄清楚如何为正确的颜色顺序编写程序没有问题。测试仪的几个附加功能使您可以快速检查数字LED灯条是否全部正常工作,以及该灯条上每个LED的所有颜色(最多1024个LED!)是否正常工作(无死像素)。而这一切都无需连接微控制器和编写任何程序。

色阶测试:

基于Magic Hercules模块中SPI信号到NZR协议的转换

我不认为使用简单且通用的SPI协议来控制数字LED还可以,该协议可以在任何平台或微控制器系列上运行。

当然,有许多控制数字LED的方法,有些是最优的,而有些则不是最优的。Magic Hercules模块是另一个选择,对我来说非常实用。

我认为有人可能喜欢这种不寻常的解决方案。我最近在众筹平台kickstarter上起飞,在那里我通过几个视频对Magic Hercules模块进行了更广泛的描述,包括在Arduino,Nucleo(STM),Raspberry Pi和AVR和PIC上使用它的简便性。微控制器。

我用C语言编写了一个程序-一个简单的stargate效果,它基于表操作和主循环中缓冲区的顺序发送。多亏了Magic Hercules模块,我能够轻松地将源代码转移到其他语言和平台上-检查源代码部分(适用于Raspberry Pi或Arduino的Python)。

各种平台的MH测试:Arduino 2560,STM32 Nucleo,ATB 1.05a(AVR):

基于Magic Hercules模块中SPI信号到NZR协议的转换

我认为MH可以是一个非常适合初学者的模块,无论它们使用的平台和语言如何。了解众所周知的SPI协议就足够了,并且开始检查数字LED灯条是否完全正常工作以及它具有什么颜色顺序的可能性仅仅是一个加号。

原理图:

DIP8封装板上的Magic Hercules模块

基于Magic Hercules模块中SPI信号到NZR协议的转换

MH模块是一块具有标准DIP8封装尺寸的电路板。

MH模块作为原理图元素

基于Magic Hercules模块中SPI信号到NZR协议的转换

Magic Hercules模块既可以在面包板上使用,也可以在自己的PCB中使用。SPI总线的引脚6和7耐压+3.3V。引脚1用于定义测试的魔术LED灯带的类型-RGB(3字节)或RGBW(4字节)。引脚5是连接到数字LED输入的输出。+5 V电源应正确连接到引脚4和8。
责任编辑:pj

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    6808

    浏览量

    147612
  • led
    led
    +关注

    关注

    237

    文章

    22445

    浏览量

    645848
  • 显示器
    +关注

    关注

    21

    文章

    4736

    浏览量

    137833
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1614

    浏览量

    89586
收藏 人收藏

    评论

    相关推荐

    单片机实现SPI差分信号转换

    各位大神,小弟求助:如何实现SPI与差分信号的互相转换
    发表于 03-29 09:26

    驱动LMG5200的Hercules模块设计

    将其与图7比较一下,图7显示的是所捕获的由Hercules微控制器生成的信号。 图7:Hercules PWM和死区时间的捕获图图7黄色
    发表于 06-01 11:31

    Hercules™ LaunchPad™ 开发套件控制GaN功率级—第1部分

    比较一下,图7显示的是所捕获的由Hercules微控制器生成的信号。 图7:Hercules PWM和死区时间的捕获图 图7黄色和蓝色
    发表于 08-31 07:15

    请问在STM32怎么实现SPI协议和IIC协议转换

    在STM32怎么实现SPI协议和IIC协议转换啊?
    发表于 04-13 23:44

    SPI通信协议

    LOTO虚拟示波器采集的数据波形并进行对比分析,方便大家的理解。SPI通信协议一般只需要四根线将主控芯片与从芯片连接起来,其中四根线分别为:(1)SDO– 主设备数据输出,从设备数据输入(2)SDI– 主设备数据输入,从设备数
    发表于 08-09 07:49

    SPI协议

    21.1 关于 SPI21.1.1 SPI 协议SPI(Serial Peripheral Interface,串行外设接口)是由摩托罗拉(Motorola)在1980前后提出的一种全
    发表于 08-12 07:19

    SPI总线协议简介

    的。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI是一种高速的,全双工
    发表于 12-13 07:37

    SPI协议相关资料推荐

    处理器上定义的。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器...
    发表于 01-24 07:06

    高速串行总线使用mibspip Hercules™型微控制器模块

    could be used to implement a high-speed SPI link between two or more Hercules devices, for example
    发表于 11-14 14:34 0次下载
    高速串行总线使用mibspip <b class='flag-5'>Hercules</b>™型微控制器<b class='flag-5'>模块</b>

    SPI接口的应用与基于FPGA的SPI自动发送模块设计

    一种基于FPGA 的将并行数据以SPI 串行方式自动发送出去的方法。 二、关键字: VHDL、FPGA、SPI、串行数据输出选择模块、移位脉冲产生模块
    发表于 10-19 10:33 19次下载
    <b class='flag-5'>SPI</b>接口的应用与基于FPGA的<b class='flag-5'>SPI</b>自动发送<b class='flag-5'>模块</b>设计

    SPI协议详解

    处理器上定义的。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器...
    发表于 11-29 12:06 16次下载
    <b class='flag-5'>SPI</b><b class='flag-5'>协议</b>详解

    SPI协议

    目录SPI协议简介SPI物理层SPI协议SPI协议
    发表于 12-22 19:17 30次下载
    <b class='flag-5'>SPI</b><b class='flag-5'>协议</b>

    FPGA实现的SPI协议(一)----SPI驱动

    ,在芯片中只占用四根管脚用来控制及数据传输,广泛用于 EEPROM、Flash、RTC(实时时钟)、ADC(数模转换 器)、DSP(数字信号处理器)以及数字信号解码器上,是常用的、重要的低速通讯
    发表于 12-22 19:29 19次下载
    FPGA实现的<b class='flag-5'>SPI</b><b class='flag-5'>协议</b>(一)----<b class='flag-5'>SPI</b>驱动

    简述UART、SPI、I2C协议区别

    I2C、SPI、UART都是常见的低速板级通信协议 ,目前主流的SoC都内置了这些通讯协议的控制器,同样,各种传感器、Touch控制器、指纹模块、蓝牙
    的头像 发表于 02-17 10:50 1918次阅读
    简述UART、<b class='flag-5'>SPI</b>、I2C<b class='flag-5'>协议</b>区别

    如何使用RS232转SPI实现串口和SPI接口的转换

    通过使用专门的转换器来完成,这些转换器将串口数据转换SPI数据,实现串口和SPI协议之间的交互
    的头像 发表于 09-14 17:52 1280次阅读