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

1. 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 为主的嵌入式系统,我们推荐的系统如下图所示:

主处理器

主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 卡程序的初始化,然后进入主循环, 如下图所示:

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 上运行。

dmx512如何帧同步_同步DMX512控制器的设计详解相关推荐

  1. hbase 二进制数据写入_分布式数据库HBase的架构设计详解(有彩蛋)

    原标题:分布式数据库HBase的架构设计详解(有彩蛋) 本文根据DBAplus社群第99期线上分享整理而成,文末还有好书送哦~ 讲师介绍 陈鸿威 云财经大数据CTO 曾任百度高级工程师,现主持设计开发 ...

  2. 单片机控制两个步进电机画圆_基于单片机的步进电机转速控制设计详解(附程序)...

    步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件.在非超载的情况下,电机的转速.停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角.这 ...

  3. 域控制器的深度详解!

    域控制器的深度详解! 参考链接:https://www.youcheyihou.com/news/595827 汽车智能网联化带来信息流大量增加,汽车电子电气(EE)架构将迎来升级,如同中国古代历史社 ...

  4. java每一个小时同步_Java同步块(synchronized block)使用详解

    Java 同步块(synchronized block)用来标记方法或者代码块是同步的.Java同步块用来避免竞争.本文介绍以下内容: Java同步关键字(synchronzied) 实例方法同步 静 ...

  5. 异步FIFO的设计详解(格雷码计数+两级DFF同步)

    文章目录 一.异步FIFO介绍 1.1.空满判断 1.2.跨时钟域问题 1.3.格雷码转换 1.4.格雷码计数器 二.代码code 一.异步FIFO介绍   FIFO有同步和异步两种,同步即读写时钟相 ...

  6. 同步FIFO + 异步FIFO 【设计详解及代码分享】

    FIFO表示先入先出,是一种存储结构.可满足一下需求: 1.当输入数据速率和输出速率不匹配时.可作为临时存储单元. 2.用于不同时钟域之间的同步. 3.输入数据路径和输出数据路径之间的数据宽度不匹配时 ...

  7. 中yeti不能加载_第二十章_类的加载过程详解

    类的加载过程详解 概述 在 Java 中数据类型分为基本数据类型和引用数据类型.基本数据类型由虚拟机预先定义,引用数据类型则需要进行类的加载 按照 Java 虚拟机规范,从 Class 文件到加载到内 ...

  8. 32通过tcp发送数组_【干货】TCP协议详解

    关注我,你的眼睛会怀孕 为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别.就好像圣经中上帝打乱了各地人的 ...

  9. mysqldump全量恢复_删库不跑路-详解MySQL数据恢复

    日常工作中,总会有因手抖.写错条件.写错表名.错连生产库造成的误删库表和数据的事情发生,那么,如果连数据都恢复不了,还要什么 DBA. 相关文章 MySQL备份策略:https://segmentfa ...

  10. ionic 修改组件默认样式_开源Magpie:组件库详解

    开源项目专题系列(八)1.开源项目名称:magpie_fly2.github地址: https://github.com/wuba/magpie_fly 3.简介:magpie_fly 是58集体出品 ...

最新文章

  1. zzlinux运维自动化shell脚本小工具
  2. 每天一个linux命令-用户之间切换
  3. 1029:计算浮点数相除的余
  4. tomcat小实验helloworld
  5. gesturedetector.java_我的flutter代码中的GestureDetector不起作用
  6. Selenium 自动化测试基础知识
  7. 【转】C#中ToString()格式详解
  8. 通用Key-Value存储系统的存储管理策略解析
  9. plc 上位机编译算法_西门子PLC的开放式TCP通信
  10. 分享一篇SCCM软件更新的故障排除
  11. Linux批量文件名大小写转换,Linux中批量把文件名大小写转换
  12. IT行业发展趋势及就业前景?
  13. 用VB制作自己的IE网页浏览器
  14. PS基础操作之照片处理
  15. Linux蓝牙系统(3) Linux 命令
  16. 回溯法输出自然数1~n的全排列。
  17. 5G Massive MIMO的基础知识
  18. Android Studio TCP客户端实现
  19. drozer 测试总结
  20. 电信网通全国DNS 列表

热门文章

  1. Python遥感图像处理基础篇(三):arcpy遥感图像镶嵌批量处理_镶嵌至新栅格
  2. APQC 7.0.5通用版流程框架
  3. Java动态生成excel模板、和动态模板数据导出
  4. 兰州中川机场停车费一天多少钱,中川机场附近停车便宜
  5. 全国各地区域码 --- (当地身份证号前六位)
  6. 微信小程序模板文件的引入
  7. 供应链SCOR模型搭建/改进
  8. 用python写网络爬虫-英文翻译
  9. 几款好看的css表格
  10. tongweb自动部署_将web应用迁到TongWeb