方案介紹設(shè)計思路
1. 設(shè)計思路:采用高時鐘頻率的MCU的內(nèi)部定時器產(chǎn)生中斷,使用計數(shù)的方式生成8位分辨率的PWM,IO口使用映射表的方式,可以在里面任意設(shè)置IO對應(yīng)的DMX512數(shù)據(jù)位置,100個IO分成10組,每中斷一次對一組IO進(jìn)行狀態(tài)更新,最終可以生成400HZ左右的8位PWM,送RGBW燈的驅(qū)動電路,進(jìn)行調(diào)光。串口設(shè)置成9位數(shù)據(jù)接收,250Kbps波特率,1位停止位,通過MAX485轉(zhuǎn)換芯片,接收燈光控制臺送來的DMX512數(shù)據(jù),保存在緩沖區(qū),PWM生成程序可以從緩沖區(qū)里即時更新PWM占空比數(shù)據(jù)。
2. 主控芯片采用GD32F207ZET6,IO口超過110個,100個作為PWM輸出的IO,1個串口(PD5、PD6) + IO用于DMX512信號(P4D)使用,4個IO接編碼開關(guān)用于設(shè)置地址(PA8-PA11),2個IO作為操作按鍵(PA0,PA1),1個IO連接LED作為工作狀態(tài)指示燈(PA12),上面用掉的IO從PWM映射表里去掉就好了。原理圖很簡單就不畫了,板上IO沒有全部引出,簡單搭電路做了6路PWM,板上3個LED,杜邦線連接一組RGB燈測試功能。
3方案結(jié)構(gòu)框圖
4設(shè)計應(yīng)用描述及心得總結(jié)
1. 本案例的核心在于軟件PWM的生成,100路8分辨率PWM輸出對于普通單片機(jī)來說還是有一定的壓力,還要同時處理DMX512數(shù)據(jù)的接收,得益于GD32F207的120M運行速度,可以在短時間內(nèi)處理更多的指令,將100路PWM計數(shù)變量分成10組,通過輪流的方式更新每一組IO的計數(shù)變量,同時更新IO的狀態(tài),有效的減少中斷處理的數(shù)據(jù)量,縮短處理時間,本案例中實現(xiàn)了8位分辨率400Hz以上的PWM輸出,用來控制調(diào)光燈,完全不會出現(xiàn)閃爍的情況。串口中斷方式接收DMX512數(shù)據(jù)幀,即時保存在DMX512的緩沖區(qū)中,按DMX512數(shù)據(jù)每秒40幀的更新速度,最多在第2幀數(shù)據(jù)到來時可以把當(dāng)前狀態(tài)更新到所控制的燈上。
2. 本案例控制IO輸出采用了數(shù)據(jù)表映射的方式,可以任意修改IO所對應(yīng)DMX512數(shù)據(jù)字節(jié),操作時讀取數(shù)據(jù)表里的映射數(shù)據(jù),直接操作GPIO控制寄存器,也有效的減少操作指令,提高了操作效率。
3. 采用高頻率的單片機(jī)模擬多路PWM的方式,取代市場上現(xiàn)有的使用FPGA的方案,在滿足性能的同時有效的降低了產(chǎn)品的設(shè)計復(fù)雜程度和產(chǎn)品成本。
5作品實物圖+視頻
-
控制器
+關(guān)注
關(guān)注
112文章
16448瀏覽量
179483 -
寄存器
+關(guān)注
關(guān)注
31文章
5363瀏覽量
121199 -
控制板
+關(guān)注
關(guān)注
5文章
255瀏覽量
31339
發(fā)布評論請先 登錄
相關(guān)推薦
AN207 GD32G5x3三角函數(shù)加速器TMU的使用說明
![AN<b class='flag-5'>207</b> <b class='flag-5'>GD32G5x</b>3三角函數(shù)加速器TMU的使用說明](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
AN030 GD32F47x&F42x與GD32F45x&F40x系列間的差異
![AN030 <b class='flag-5'>GD32F47x</b>&<b class='flag-5'>F42x</b>與<b class='flag-5'>GD32F45x</b>&<b class='flag-5'>F40x</b>系列間的差異](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
GD32F207xx數(shù)據(jù)表
![<b class='flag-5'>GD32F207</b>xx數(shù)據(jù)表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
SM18522PH 裝飾照明驅(qū)動 IC 兼容并擴(kuò)展 DMX512(1990)協(xié)議
![SM18522PH 裝飾照明驅(qū)動 IC 兼容并擴(kuò)展 <b class='flag-5'>DMX512</b>(1990)協(xié)議](https://file1.elecfans.com//web1/M00/F5/73/wKgZoWc9fyOAJ3UEAAE1cAAD1-Q939.png)
【GD32 MCU 移植教程】9、從 STM32F10x 系列移植到 GD32F30x 系列
![【<b class='flag-5'>GD</b>32 MCU 移植教程】9、從 STM32<b class='flag-5'>F10x</b> 系列移植到 <b class='flag-5'>GD32F30x</b> 系列](https://file1.elecfans.com/web2/M00/04/DF/wKgZombVHYWASdt6AAA4EF8E1O4442.png)
【GD32 MCU 移植教程】6、從GD32F1x0和GD32F3x0移植到GD32E230
![【<b class='flag-5'>GD</b>32 MCU 移植教程】6、從<b class='flag-5'>GD32F1x</b>0和<b class='flag-5'>GD32F3x</b>0移植到<b class='flag-5'>GD</b>32E230](https://file1.elecfans.com/web2/M00/05/2B/wKgZombXuiGAMp0PAAAraaER_q4744.png)
【GD32 MCU 移植教程】1、從 GD32F10x 移植到 GD32F30x
![【<b class='flag-5'>GD</b>32 MCU 移植教程】1、從 <b class='flag-5'>GD32F10x</b> 移植到 <b class='flag-5'>GD32F30x</b>](https://file1.elecfans.com/web2/M00/04/A7/wKgZombRJfWAB6RJAACAM1OtBAQ761.png)
Hi512E小功率差分并聯(lián)DMX512解碼恒流驅(qū)動規(guī)格書
【GD32F303紅楓派開發(fā)板使用手冊】第二十講 SPI-SPI NAND FLASH讀寫實驗
![【<b class='flag-5'>GD32F</b>303紅楓派開發(fā)<b class='flag-5'>板</b>使用手冊】第二十講 SPI-SPI NAND FLASH讀寫實驗](https://file1.elecfans.com/web2/M00/F1/AD/wKgaomZzisiAamI-AABGtAQwDgo073.png)
SM17500P:一款功能強(qiáng)大的DMX512與歸零碼協(xié)議芯片轉(zhuǎn)發(fā)控制器
![SM17500P:一款功能強(qiáng)大的<b class='flag-5'>DMX512</b>與歸零碼協(xié)議芯片轉(zhuǎn)發(fā)<b class='flag-5'>控制</b>器](https://file1.elecfans.com//web2/M00/C8/B1/wKgaomYWVN-AL3hAAAC05kgCkWU825.png)
DMX512驅(qū)動芯片SM18522PS:4通道65536級調(diào)光灰度
![<b class='flag-5'>DMX512</b>驅(qū)動芯片SM18522PS:4通道65536級調(diào)光灰度](https://file1.elecfans.com//web2/M00/C1/0C/wKgZomXcUiKASoFpAACsyuZWOzA909.png)
DMX512并聯(lián)led驅(qū)動芯片大全及SM16512PK詳解
![<b class='flag-5'>DMX512</b>并聯(lián)led驅(qū)動芯片大全及SM16512PK詳解](https://file1.elecfans.com//web2/M00/C2/21/wKgZomXgPziAdfqXAABC1Hgk4eA919.jpg)
麥爵士madrix幻彩燈帶的供電和信號分離的基本邏輯
![麥爵士madrix幻彩燈帶的供電和信號分離的基本邏輯](https://file1.elecfans.com/web2/M00/C1/67/wKgZomXdqqmAAqkCAACLBuWJokk878.png)
?用于LED裝飾照明DMX512并聯(lián)驅(qū)動控制芯片作用與應(yīng)用領(lǐng)域
![?用于LED裝飾照明<b class='flag-5'>DMX512</b>并聯(lián)驅(qū)動<b class='flag-5'>控制</b>芯片作用與應(yīng)用領(lǐng)域](https://file1.elecfans.com//web2/M00/C0/C4/wKgZomXYWfiAaVwDAAG7_B3C08o693.png)
評論