久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > DMX512協(xie)議及對接口(kou)電路的(de)分析(xi)

DMX512協議及對接口電路的分析 時間:2018-04-25      來源:未(wei)知(zhi)

1、DMX512協議簡(jian)介

DMX 是(shi)(shi)Digital MultipleX 的縮寫,意為多(duo)路數(shu)字(zi)傳(chuan)輸(具有512條信息的數(shu)字(zi)多(duo)路復(fu)用”)。DMX512控(kong)制協議是(shi)(shi)美國舞臺燈光協會(usITT)于1990年(nian)發布(bu)的燈光控(kong)制器(qi)與燈具設備(bei)進(jin)行數(shu)據傳(chuan)輸的工(gong)業(ye)標準(zhun),全(quan)稱是(shi)(shi)USITTDMX512(1990);

DMX512 在其物(wu)理層采(cai)用(yong)EIA-485差分信號(hao),結合可(ke)變尺寸(cun),基(ji)于分組的(de)通信協議。它是(shi)單(dan)向的(de)。DMX512不(bu)包(bao)含(han)自(zi)動錯誤(wu)檢查和糾正(zheng)功能(neng),因此不(bu)適用(yong)于危險應用(yong),如煙火或(huo)舞臺(tai)裝置的(de)移動。電(dian)(dian)(dian)(dian)磁干(gan)擾,靜電(dian)(dian)(dian)(dian)放電(dian)(dian)(dian)(dian),不(bu)正(zheng)確的(de)電(dian)(dian)(dian)(dian)纜端接(jie),電(dian)(dian)(dian)(dian)纜過長(chang)或(huo)電(dian)(dian)(dian)(dian)纜質(zhi)量(liang)都可(ke)能(neng)造成虛假觸(chu)發,但是(shi)在連接(jie)控制(zhi)器(如照(zhao)明(ming)控制(zhi)臺(tai))與調光器和特效設備等都有廣泛應用(yong)。

2、DMX512協議分析

2.1、DMX512指令幀介(jie)紹:

每一個(ge)DMX 控(kong)(kong)制(zhi)字(zi)節叫做(zuo)一個(ge)指令幀,稱作一個(ge)控(kong)(kong)制(zhi)通道,可以控(kong)(kong)制(zhi)燈光設備的(de)一個(ge)或幾(ji)個(ge)功能。一個(ge)DMX 指令幀由(you)1個(ge)開(kai)始位(S)、8個(ge)數(shu)據位(D0-D8)和2個(ge)結束(shu)位(E)共(gong)11位構成,采用單向異步串行(xing)傳輸,如圖1所示。

圖1 DMX512 定時程序的幀結構(上圖)和(he)信息(xi)包結構(下(xia)圖)

圖1 中(zhong)虛線內(nei)控制指令中(zhong)的(de)S 為(wei)開始位,寬度為(wei)一個比特,是受(shou)控燈具準備接收并解碼(ma)控制數據的(de)開始標志;

E為結(jie)束(shu)位,寬度(du)為兩個(ge)比(bi)特(te),表(biao)示一(yi)個(ge)指令幀的結(jie)束(shu);

D0~ D7為8 位控制數(shu)據,其電(dian)平(ping)組合從00000000一11111111 共(gong)有(you)256個(ge)狀態(tai)(對(dui)應(ying)十(shi)進制數(shu)的0~255),控制燈光的亮(liang)度時,可產生256個(ge)亮(liang)度等級(ji),0000~ (0)對(dui)應(ying)燈光最暗,11111111(255)對(dui)應(ying)燈光最亮(liang)。

DMX512指(zhi)令的位寬(kuan)(kuan)(每比特寬(kuan)(kuan)度(du))是(shi)4 us,每一個指(zhi)令幀11位,故指(zhi)令幀寬(kuan)(kuan)度(du)為44 us,傳輸速率為1/44us = 250 kbps。

2.2、DMX512信(xin)息包

一個(ge)(ge)(ge)完整的DMX512信(xin)息包(Packet)由(you)一個(ge)(ge)(ge)MTBP位(wei)、一個(ge)(ge)(ge)Break 位(wei)、一個(ge)(ge)(ge)MAB位(wei)、一個(ge)(ge)(ge)SC 和512個(ge)(ge)(ge)數據幀構成。

MTBP(Mark TimeBetween Packets)標志著一個完整的信息包(bao)發送完畢,是下(xia)一個信息包(bao)即(ji)將(jiang)開(kai)始的“空(kong)閑位”,高電(dian)平有(you)效。

Break為中(zhong)斷位,對應(ying)一個信息包結(jie)束后(hou)(hou)的(de)程(cheng)序復位階段,寬度不少于兩個幀(22 比特)。程(cheng)序復位結(jie)束后(hou)(hou)應(ying)發送控制數(shu)據,

MAB位(wei),由于(yu)每一個(ge)(ge)數(shu)據幀的第一位(wei)(即(ji)開始位(wei))為低電(dian)平,所以(yi)必須用一個(ge)(ge)高電(dian)平脈沖(chong)間隔(ge)(ge)前后兩個(ge)(ge)低電(dian)平脈沖(chong),這個(ge)(ge)起間隔(ge)(ge)、分離作(zuo)用的高電(dian)平脈沖(chong)即(ji)MAB(Mark After Break),此脈沖(chong)一到(dao),意味(wei)著“新一輪”的控制又開始了。

SC(Start Code)意為開始代碼幀(圖(tu)1中的(de)第(di)0幀),和(he)此(ci)后(hou)(hou)到(dao)來的(de)數(shu)據幀一樣(yang),也是由11 位(wei)(wei)構成,除最(zui)后(hou)(hou)的(de)兩個(ge)高電平的(de)結束位(wei)(wei)之外,其他9位(wei)(wei)全部是低電平,通常將其叫(jiao)做第(di)0 幀或(huo)第(di)0通道(dao)(Ch~nel No 0),可理(li)解為一個(ge)不(bu)存在的(de)通道(dao)(Non一~istent Channe1)。

表(biao)1 DMX512 信息包定時表(biao)

表(biao)1 是(shi)DMX512 信息包的(de)定時表(biao),表(biao)中NS意為自己(ji)設定,寬度沒有嚴格限制,由程序設計者自行決定,比如MTBP的(de)寬度可以(yi)介于0~1秒(miao)之(zhi)間,其他建議采用典型值(zhi)。

調光(guang)控(kong)(kong)(kong)(kong)制(zhi)臺每(mei)發送(song)一(yi)個(ge)信(xin)息(xi)包,可以對全(quan)部(bu)512個(ge)受(shou)控(kong)(kong)(kong)(kong)通(tong)道(dao)形成一(yi)次(ci)全(quan)面的(de)控(kong)(kong)(kong)(kong)制(zhi)。發送(song)一(yi)個(ge)信(xin)息(xi)包的(de)時間(jian)大約(yue)是23 ms,每(mei)秒鐘(zhong)將對所有512個(ge)受(shou)控(kong)(kong)(kong)(kong)通(tong)道(dao)完(wan)成44 次(ci)控(kong)(kong)(kong)(kong)制(zhi),即受(shou)控(kong)(kong)(kong)(kong)光(guang)路的(de)刷(shua)新(xin)頻(pin)率(lv)44 Hz,如果實際受(shou)控(kong)(kong)(kong)(kong)通(tong)道(dao)少于512個(ge),那(nei)么刷(shua)新(xin)頻(pin)率(lv)將相應提高。

3、DMX512接口電路

以下(xia)是使(shi)用RJ45連(lian)接器的接線及驅動電(dian)路 :

(XLR-5和RJ45基本類似)

表2 DMX512 設(she)備(bei)使用RJ45連接器的接線(xian)表

圖2 DMX512 設備接口驅動電路(lu)

4、C51開發的DMX512發送程序

[cpp] view plain copy

1. // 串口工作在(zai)方式3

2. void send_dmx (void)

3. {

4. unsigned int count;

5. EA = 0;

6. TXD = 1; //break

7. TXD = 0;

8. Delay88us();

9. TXD = 1;

10. Delay8us();

11. TB8 = 1; //MAB

12. SBUF = 0x00;

13. while (!TI);

14. TI = 0;

15. for (count=0 ; count

16. TB8 = 1;

17. SBUF = XBYTE[count];

18. while(!TI);

19. TI = 0;

20. }

21. TXD = 1;

22. EA = 1;

23. }

5、C51開(kai)發的DMX512接(jie)收程(cheng)序

[cpp] view plain copy

1. // 串口工(gong)作在方(fang)式(shi)3

2. void uart(void) interrupt 4

3. {

4. static bit flag = 0;

5. if(RI) {

6. if(RB8 == 0) {

7. if(SBUF == 0)

8. flag = 1; //set flag when meet a break

9. Recv.count = 0; //reset uart data counter

10. }

11. else if (flag == 1) {

12. if(Recv.count == 0) //byte after reset

13. if(SBUF != 0) //not a start code

14. flag = 0; //error, reset flag

15. if(Recv.count >= Recv.addr && Recv.count <; Recv.addr + CTL_LEN) {

16. Recv.dat.Byte[Recv.count - Recv.addr] = SBUF;

17. }

18. If (Recv.count < 512) Recv.count++;

19. else flag = 0;

20. }

21. RI = 0;

22. }

23. }

上一篇:MPPT工作流程及算法和硬件的選擇

下一篇:exynos4412處理器對行業影響

熱點文章推薦
華清學員就業榜單(dan)
高薪學員經(jing)驗分享
熱點新聞推薦
前臺專線:010-82525158 企業(ye)培訓洽談專(zhuan)線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,,京公海網安備11010802025203號

回到頂部