0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Magic Hercules模塊中SPI信號(hào)到NZR協(xié)議的轉(zhuǎn)換

電子設(shè)計(jì) ? 來源:電路城 ? 作者:電路城 ? 2021-04-28 11:19 ? 次閱讀

MH是適用于WS2812等數(shù)字LED條的初學(xué)者友好型SPI驅(qū)動(dòng)器。照明項(xiàng)目從未如此輕松!

硬件組件:

Arduino Mega 2560 × 1個(gè)

Atnel開發(fā)板1.05a× 1個(gè)

STMicroelectronics STM32 Nucleo-64板× 1個(gè)

Raspberry Pi 4 B型 1個(gè)

我使用WS2812,WS2815或SK6812等數(shù)字LED已有很長(zhǎng)時(shí)間,我通常將它們稱為Magic LED。

我測(cè)試了許多基于Magic LED(甚至是RGBW類型)的帶,環(huán)和顯示器(甚至是我自己的)。我使用了Arduino,Nucleo(帶有STM),Raspberry Pi和我自己的帶有AVR微控制器的主板。

無論使用哪種平臺(tái),編寫程序來控制魔術(shù)LED都是困難的(由于需要NZR協(xié)議軟件),除非您正在使用易于使用的現(xiàn)成庫,但是就代碼使用而言,中斷仍然不是完全最佳的,響應(yīng)或內(nèi)存利用率,并且只能在特定平臺(tái)上使用(將它們從Raspberry移植到AVR微控制器是不可能的)。

由于我經(jīng)常使用各種平臺(tái),因此我需要程序代碼與Arduino,Raspberry Pi,ARM / STM(Nucleo)或AVR盡可能兼容-特別是在燈光效果方面。

我已經(jīng)在youtube頻道上工作了很長(zhǎng)時(shí)間,并且準(zhǔn)備了一份以上的指南,以C語言為AVR微控制器編程數(shù)字二極管(但到目前為止僅在波蘭語中)。我經(jīng)常與那些為魔術(shù)LED編程而苦苦掙扎的初學(xué)者接觸。當(dāng)然,根據(jù)平臺(tái)的不同,有些人會(huì)為他們的一次性項(xiàng)目選擇現(xiàn)成的庫。但是,許多人正在尋找其他解決方案或嘗試學(xué)習(xí)編程的秘密,而我就是其中之一。

我決定準(zhǔn)備一個(gè)模塊,該模塊將使用NZR協(xié)議為用戶完成骯臟的工作。與SPI一樣,將用作SPI到NZR轉(zhuǎn)換器的模塊可以輕松地在任何平臺(tái)上使用。下面的屏幕截圖顯示了Magic Hercules模塊中SPI信號(hào)到NZR協(xié)議的轉(zhuǎn)換。

SPI到NZR的轉(zhuǎn)換:

基于Magic Hercules模塊中SPI信號(hào)到NZR協(xié)議的轉(zhuǎn)換

將數(shù)字LED連接到不同的系統(tǒng)時(shí),應(yīng)該記住不同微控制器的適當(dāng)電壓容限。ARM微控制器的大多數(shù)I / O引腳均以+3.3 V標(biāo)準(zhǔn)工作,而AVR微控制器則以TTL標(biāo)準(zhǔn)工作。因此,Magic Hercules模塊的輸入引腳的公差為+3.3 V,因此可以安全地連接到例如Raspberry P或+3.3 V供電的任何基于ARM的微控制器。

如前所述,我經(jīng)常使用不同類型的數(shù)字LED。根據(jù)制造商的不同,LED中的各個(gè)顏色可以位于不同的位置,例如RGB,BGR,GRB,RGBW,GRBW等。制造商的文檔中提到RGB序列并不少見,但實(shí)際上看起來有所不同。我已經(jīng)為Hercules模塊配備了顏色順序測(cè)試,因此快速弄清楚如何為正確的顏色順序編寫程序沒有問題。測(cè)試儀的幾個(gè)附加功能使您可以快速檢查數(shù)字LED燈條是否全部正常工作,以及該燈條上每個(gè)LED的所有顏色(最多1024個(gè)LED!)是否正常工作(無死像素)。而這一切都無需連接微控制器和編寫任何程序。

色階測(cè)試:

基于Magic Hercules模塊中SPI信號(hào)到NZR協(xié)議的轉(zhuǎn)換

我不認(rèn)為使用簡(jiǎn)單且通用的SPI協(xié)議來控制數(shù)字LED還可以,該協(xié)議可以在任何平臺(tái)或微控制器系列上運(yùn)行。

當(dāng)然,有許多控制數(shù)字LED的方法,有些是最優(yōu)的,而有些則不是最優(yōu)的。Magic Hercules模塊是另一個(gè)選擇,對(duì)我來說非常實(shí)用。

我認(rèn)為有人可能喜歡這種不尋常的解決方案。我最近在眾籌平臺(tái)kickstarter上起飛,在那里我通過幾個(gè)視頻對(duì)Magic Hercules模塊進(jìn)行了更廣泛的描述,包括在Arduino,Nucleo(STM),Raspberry Pi和AVR和PIC上使用它的簡(jiǎn)便性。微控制器。

我用C語言編寫了一個(gè)程序-一個(gè)簡(jiǎn)單的stargate效果,它基于表操作和主循環(huán)中緩沖區(qū)的順序發(fā)送。多虧了Magic Hercules模塊,我能夠輕松地將源代碼轉(zhuǎn)移到其他語言和平臺(tái)上-檢查源代碼部分(適用于Raspberry Pi或Arduino的Python)。

各種平臺(tái)的MH測(cè)試:Arduino 2560,STM32 Nucleo,ATB 1.05a(AVR):

基于Magic Hercules模塊中SPI信號(hào)到NZR協(xié)議的轉(zhuǎn)換

我認(rèn)為MH可以是一個(gè)非常適合初學(xué)者的模塊,無論它們使用的平臺(tái)和語言如何。了解眾所周知的SPI協(xié)議就足夠了,并且開始檢查數(shù)字LED燈條是否完全正常工作以及它具有什么顏色順序的可能性僅僅是一個(gè)加號(hào)。

原理圖:

DIP8封裝板上的Magic Hercules模塊

基于Magic Hercules模塊中SPI信號(hào)到NZR協(xié)議的轉(zhuǎn)換

MH模塊是一塊具有標(biāo)準(zhǔn)DIP8封裝尺寸的電路板。

MH模塊作為原理圖元素

基于Magic Hercules模塊中SPI信號(hào)到NZR協(xié)議的轉(zhuǎn)換

Magic Hercules模塊既可以在面包板上使用,也可以在自己的PCB中使用。SPI總線的引腳6和7耐壓+3.3V。引腳1用于定義測(cè)試的魔術(shù)LED燈帶的類型-RGB(3字節(jié))或RGBW(4字節(jié))。引腳5是連接到數(shù)字LED輸入的輸出。+5 V電源應(yīng)正確連接到引腳4和8。
責(zé)任編輯:pj

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7336

    瀏覽量

    150112
  • led
    led
    +關(guān)注

    關(guān)注

    240

    文章

    22907

    瀏覽量

    650135
  • 顯示器
    +關(guān)注

    關(guān)注

    21

    文章

    4862

    瀏覽量

    139357
  • SPI
    SPI
    +關(guān)注

    關(guān)注

    17

    文章

    1669

    瀏覽量

    90736
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    驅(qū)動(dòng)LMG5200的Hercules模塊設(shè)計(jì)

    將其與圖7比較一下,圖7顯示的是所捕獲的由Hercules微控制器生成的信號(hào)。 圖7:Hercules PWM和死區(qū)時(shí)間的捕獲圖圖7黃色
    發(fā)表于 06-01 11:31

    Hercules? LaunchPad? 開發(fā)套件控制GaN功率級(jí)—第1部分

    比較一下,圖7顯示的是所捕獲的由Hercules微控制器生成的信號(hào)。 圖7:Hercules PWM和死區(qū)時(shí)間的捕獲圖 圖7黃色和藍(lán)色
    發(fā)表于 08-31 07:15

    請(qǐng)問在STM32怎么實(shí)現(xiàn)SPI協(xié)議和IIC協(xié)議轉(zhuǎn)換?

    在STM32怎么實(shí)現(xiàn)SPI協(xié)議和IIC協(xié)議轉(zhuǎn)換啊?
    發(fā)表于 04-13 23:44

    SPI協(xié)議

    21.1 關(guān)于 SPI21.1.1 SPI 協(xié)議SPI(Serial Peripheral Interface,串行外設(shè)接口)是由摩托羅拉(Motorola)在1980前后提出的一種全
    發(fā)表于 08-12 07:19

    SPI協(xié)議相關(guān)資料推薦

    處理器上定義的。SPI接口主要應(yīng)用在 EEPROM,F(xiàn)LASH,實(shí)時(shí)時(shí)鐘,AD轉(zhuǎn)換器,還有數(shù)字信號(hào)處理器...
    發(fā)表于 01-24 07:06

    高速串行總線使用mibspip Hercules?型微控制器模塊

    could be used to implement a high-speed SPI link between two or more Hercules devices, for example
    發(fā)表于 11-14 14:34 ?0次下載
    高速串行總線使用mibspip <b class='flag-5'>Hercules</b>?型微控制器<b class='flag-5'>模塊</b>

    SPI接口的應(yīng)用與基于FPGA的SPI自動(dòng)發(fā)送模塊設(shè)計(jì)

    一種基于FPGA 的將并行數(shù)據(jù)以SPI 串行方式自動(dòng)發(fā)送出去的方法。 二、關(guān)鍵字: VHDL、FPGA、SPI、串行數(shù)據(jù)輸出選擇模塊、移位脈沖產(chǎn)生模塊
    發(fā)表于 10-19 10:33 ?19次下載
    <b class='flag-5'>SPI</b>接口的應(yīng)用與基于FPGA的<b class='flag-5'>SPI</b>自動(dòng)發(fā)送<b class='flag-5'>模塊</b>設(shè)計(jì)

    基于FPGA與MCU通信的SPI協(xié)議設(shè)計(jì)

    typora-copy-images-to: typora_picture基于FPGA與MCU通信的SPI協(xié)議設(shè)計(jì)1. SPI總線協(xié)議介紹及硬件設(shè)計(jì)1.1
    發(fā)表于 11-05 15:35 ?14次下載
    基于FPGA與MCU通信的<b class='flag-5'>SPI</b><b class='flag-5'>協(xié)議</b>設(shè)計(jì)

    SPI協(xié)議詳解

    處理器上定義的。SPI接口主要應(yīng)用在 EEPROM,F(xiàn)LASH,實(shí)時(shí)時(shí)鐘,AD轉(zhuǎn)換器,還有數(shù)字信號(hào)處理器...
    發(fā)表于 11-29 12:06 ?16次下載
    <b class='flag-5'>SPI</b><b class='flag-5'>協(xié)議</b>詳解

    SPI協(xié)議

    目錄SPI協(xié)議簡(jiǎn)介SPI物理層SPI協(xié)議SPI協(xié)議
    發(fā)表于 12-22 19:17 ?32次下載
    <b class='flag-5'>SPI</b><b class='flag-5'>協(xié)議</b>

    FPGA實(shí)現(xiàn)的SPI協(xié)議(一)----SPI驅(qū)動(dòng)

    ,在芯片中只占用四根管腳用來控制及數(shù)據(jù)傳輸,廣泛用于 EEPROM、Flash、RTC(實(shí)時(shí)時(shí)鐘)、ADC(數(shù)模轉(zhuǎn)換 器)、DSP(數(shù)字信號(hào)處理器)以及數(shù)字信號(hào)解碼器上,是常用的、重要的低速通訊
    發(fā)表于 12-22 19:29 ?19次下載
    FPGA實(shí)現(xiàn)的<b class='flag-5'>SPI</b><b class='flag-5'>協(xié)議</b>(一)----<b class='flag-5'>SPI</b>驅(qū)動(dòng)

    簡(jiǎn)述UART、SPI、I2C協(xié)議區(qū)別

    I2C、SPI、UART都是常見的低速板級(jí)通信協(xié)議 ,目前主流的SoC都內(nèi)置了這些通訊協(xié)議的控制器,同樣,各種傳感器、Touch控制器、指紋模塊、藍(lán)牙
    的頭像 發(fā)表于 02-17 10:50 ?2361次閱讀
    簡(jiǎn)述UART、<b class='flag-5'>SPI</b>、I2C<b class='flag-5'>協(xié)議</b>區(qū)別

    STM32F1的SPI模塊協(xié)議介紹

    SPI是是一種高速的,全雙工,同步的總線通信方式。STM32F1低容量設(shè)備的SPI模塊支持主從兩種模式。
    的頭像 發(fā)表于 07-24 15:32 ?3076次閱讀
    STM32F1的<b class='flag-5'>SPI</b><b class='flag-5'>模塊</b><b class='flag-5'>協(xié)議</b>介紹

    振弦信號(hào)轉(zhuǎn)無線485步驟信號(hào)采集、處理、轉(zhuǎn)換和發(fā)送

    。 數(shù)模轉(zhuǎn)換:將處理后的信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)。 通信協(xié)議轉(zhuǎn)換:將數(shù)字
    的頭像 發(fā)表于 08-08 17:46 ?665次閱讀

    如何使用RS232轉(zhuǎn)SPI實(shí)現(xiàn)串口和SPI接口的轉(zhuǎn)換?

    通過使用專門的轉(zhuǎn)換器來完成,這些轉(zhuǎn)換器將串口數(shù)據(jù)轉(zhuǎn)換SPI數(shù)據(jù),實(shí)現(xiàn)串口和SPI協(xié)議之間的交互
    的頭像 發(fā)表于 09-14 17:52 ?1807次閱讀