同步DMX512控制器的设计详解

控制/MCU

1814人已加入

描述

  在灯具调光和控制中,人们大量采用了DMX512 的控制协议,它是由美国剧 场技术协会(United State Institute for Theatre Technology,Inc)于1986 年8 月提出的一个能在一对线上传送512 路可控硅调光亮度信息的标准。 DMX512 通信方式是采用了异步通信格式,每个调光点由11 位组成,其中一个 是起始位,8 位调光数据,两个停止位。每一次传输能512 个调光点。

  1. DMX512 控制协议及其改进

  DMX512

  与DMX512 兼容的灯具一般使用一颗单片机来实现DMX512 的解码。如使用8051 或者Microchip 公司的PIC16F628A 等。单片机内部的程序要读取一组DIP 开关 SDMX5124 APPLICATION NOTES DOC NO:051201设置的地址,根据自己的地址,去接收DMX512 数据中的第几个字节,然后来实 现调光的功能。如果一个灯中要使用多个调光数据,该灯要占用多个地址。

  DMX512 的接口

  DMX512 电气特性为RS485 接口,物理接口为CANON 三芯或5 芯接口,采 用级联方式联结。因此有一个输入口,一个输出口。 Pin 1 = signal reference = cable shield Pin 2 = signal inversion = ‘ - ’ Pin 3 = signal = ‘ + ’Pin 4 = optional (e.g. acknowledgment) Pin 5 = optional (e.g. acknowledgment) DMX512 在传统的舞台灯光控制应用中还是能简单实用的,但是,面对新型的LED 灯具来讲,DMX512 显的有点力不从心 了。

  首先,LED灯具要求每个灯具中要有一个控制器,而每个灯要设置地址是很 麻烦的,维修更换也不便。其此,异步的传输方法效率也不高。

  正因为如此,人们也使用LED显示屏的技术来控制LED灯具,通常使用S PI移位寄存器的方法来传送调光数据。这样作的方法省去了地址的设定,靠移 位的先后来确定灯的位置,另一方面,它们的传输速度能很高。

  但是,新的问题又出现了,实现调光数据的移位传输,要使用三根线:SSSCK,和SCK 线。这三根信号线如果以RS485 方式传输时,就变 成了六根线,输入和输出一共要使用12 根线, 这对LED 灯具来讲是太多了。左边是一个使用 这种芯片做的灯。

  SDMX5124 APPLICATION NOTES DOC NO:051201 同步DMX512,SDMX5124 芯片使用了一种同步串行传输的方式,它吸取了DMX512 和SPI 移 位总线两者的优点。

  首先,SDMX512 在电气特性,数据结构方面尽量和DMX512 相同,采用同步 传输的方法来两线移位传输。其次,SDMX512 协议采取了SPI 移位传输的方法来 避免DMX512 协议中要设定地址的问题。 SDM512 协议的速率设定为128KBPS。 左图是采用SDMX512 生产的像素灯,可以看 出灯与灯之间的连线为四根线, DATA+ DATA- +24V GND。如果灯与灯之间的距离不远,不使用RS485, 那么,信号线为三根就可以了。

  2.SDMX512 灯具的设计

  以SDMX512 芯片设计的灯具能接收同步DMX512 调光数据的LED 灯具,它由SDMX5124 控制芯片,LED 光源,电源和外壳等附件组成。

  在这里我们以一个典型的LED 像素灯为例介绍以SDMX512 为主的LED 灯具的设计。

  (1) 光源采用***光鼎光电公司的EP2 SMT RGB LED 芯片

  (2) 控制芯片:SDMX5124

  (3) 开关电源芯片

  同步DMX512 控制器的设计

  同步DMX512 控制器能根据LED 灯光控制数据,产生一路或多路SDMX512 控 制信号,控制一路或者多路同步DMX512 控制线,每一路同步DMX512 控制线能 控制512 个同步DMX512 灯具。

  LED 灯光控制数据可以存储在同步DMX512 控制器的FLASH ROM 中,或者在 控制器中增加一个CF 卡或SD 卡,将LED 灯光控制数据存储在其中,同步DMX512 控制器也能够增加一个上位机网络接口,使PC 上位机联机控制灯光系统。 同步DMX512 控制器是以一个CPU 为主的嵌入式系统,我们推荐的系统如下图所示:

  DMX512

  主处理器

  主CPU 使用MicroChip 公司高性能8 位RISC 单片计算机实现,主频为40Mhz. 外扩了16K BYTE 的SRAM 用于存放LED 控制数据。 网络控制器采用RealTek 公司单片10BASE T 控制器其中,sdmx512 transmitter 采用xilinx 9572 CPLD 实现, 控制器软件的编程。

  在SDMX512 参考设计中,控制器由Microchip PIC18F4525 实现,软件系统 包括了TCP/IP 堆栈软件,SD 卡文件系统和LED 驱动部分组成。 主控软件件的主程序主要完成CPU,TCP/IP,SD 卡程序的初始化,然后进入主循环, 如下图所示:

  DMX512

  SDMX512 控制器主程序框图 TCP/IP 堆栈软件

  SDMX5124 APPLICATION NOTES DOC NO:051201

  TCP/IP 堆栈软件包括了MAC,UDP 层软件。 SD 卡文件系统

  colorPixel 控制器软件支持一个SD 卡座,SD 卡的文件格式为FAT16 格式。 LED 驱动程序。

  由两个主要的软件组成,send_it 和中断软件

  LED 的控制数据存放在SBUF 中,由于Microchip 的sram 内存比较小,最大 有6KBYTE,去掉TCP/IP 和SD 文件系统使用的单元,SBUF 的最大长度为6K 左右, SBUF 的大小决定了一根线上最大的灯数, SBUF 长度=4+N*12

  使用时钟信号CLK 的下降延产生PIC18F4525的中断,每次中端发送一位数据(并 行八路)。每一帧发送4+N*12+8 位。 时钟的频率为128KBPS。前四位是引导码(0101),N*12 是灯光控制数据,8 位为停止位。

  软件要控制ENABLE 信号,当开始发送时,ENABLE 为低电平,当发送完4+NX12 位后,ENABLE 为高低电平,延时8 个时钟周期后,开始发送下一帧。

  Send_it 和中断程序源码

  Int16 send_max;//sbuf 长度=4+N*12 位

  Byte cc;//最后一位的状态

  void send_it(void)

  {

  TRISD=0x00;

  PORTD=0xff; PORTD 为8 位数据口

  PORTEbits.RE0=1; // dis rtl8019

  LED_CS=1;

  send_p=0; SBUF 指针

  cc=~ll; send_busy=1;

  INTCONbits.INT0IE=1;

  INTCONbits.GIEH = 1;//开中断

  while(send_busy){};//等待结束

  }

  #pragma code InterruptVectorHigh = 0x08

  void

  InterruptVectorHigh (void)//中断矢量

  DMX5124 APPLICATION NOTES

  DOC NO:051201

  {

  _asm

  goto InterruptHandlerHigh jump to interrupt routine

  _endasm

  }

  #pragma code

  #pragma interrupt InterruptHandlerHigh

  ;中断处理软件

  void InterruptHandlerHigh ()

  {

  if (INTCONbits.INT0IF==1 )//判断是否为外部中断1

  {

  INTCONbits.INT0IF=0;//清除中断标志

  if (send_p ==(send_max+8) ) {INTCONbits.INT0IE=0;send_busy=0;}

  else {if (send_p 》(send_max) ) {ENABLE=1;send_p++;}

  else {ENABLE=0;PORTD=cc;

  ll=cc; cc=sbuf[send_p++];

  }

  };//end of if

  }

  网络

  对于一个大型的LED 灯光系统,可能要使用多个SDMX512 控制器协同控制, 多个SDMX512 控制器要通过网络与PC 机联网,在我们介绍的方案中,推荐使用 标准的10 BASE T 网,因为采用标准的网络,能使用大量经济的标准LAN 产品, 如HUB,交换机等等,它们比专用设备便宜的多。

  PC 联机控制软件

  PC 机上的软件包括三类,

  (1) 灯光照明变化的图形设计软件,这部分软件可以利用WINDOWS 上大量的多媒体设计软件来完成, 如 Dreamwave FLASH 动画设计软件。

  (2) SDMX512 控制数据的转换软件它将图形设计软件产生的数据转换成SDMX512 格式的控制数据

  (3) 联机控制软件。该软件向SDMX512 控制器实时发送SDMX512 控制数据。

  YDS data system 对SDMX512 开发的支持

  (1) colorPixel 像素灯设计

  见<colorPixel schematic>

  (2) colorPixel 控制器参考设计

  包括了demo 板SDMX5124 APPLICATION NOTES DOC NO:051201 逻辑图,GERBER 文件 软件目标码/源代码

  (3) Windows 控制软件

  colorPixel 控制软件完成COLORPIXEL 像素灯控制数据的转换,PC 显示屏图像的实时采集,网 络实时控制。FONTPlace 吸塑字灯光控制软件上述两个软件使用delphi7 编写,在WINDOW2000 和WINDOWS/XP 上运行。

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分