基于同步DMX512的LED控制系统设计

发布者:艺泉阁最新更新时间:2011-04-06 手机看文章 扫描二维码
随时随地手机看文章

摘要:介绍DMX512灯光控制协议的帧及其数据格式、传输方式,分析DMX512的优缺点和异步DMX512的缺点;提出采用SD5128芯片实现同步DMX512协议以及对RGB LED灯的控制,并给出了软硬件设计方法。
关键词:DMX512;同步;SD5128;单片机;LED

引言
    灯光控制系统大量采用了由USITT(美国剧场技术协会)提出的DMX512通信协议,该通信协议采用异步通信格式。灯具控制方案主要包括DMX512协议、DALI总线方案、SPI移位总线方案。DMX512是现在最流行的控制方法,但是在实际应用中多采用控制器互联来进行控制的照明方案,软件比较复杂。DALI总线是欧洲提出的一种灯光控制总线方案,DALI系统中每个灯具都有一个地址和一组控制命令,但其通信的速度不够快。SPI移位总线方案是采用级联的方法,变化速率很高,但是此方法数据量比较大,灯之间的线较多,软件难度大,产品可靠性差。
    DMX512标准要求每个灯具都要有一个控制器,而每个灯都要设置地址很麻烦,异步传输方式也很麻烦。针对此缺点,本文提出了基于SD5 128的同步DMX512的LED控制系统设计。本文给出了同步DMX512实现的软硬件设计方法,在硬件上增加了存储接口芯片以实现灯光控制数据的移动存储,具有更好的拓展性。
    同步DMX512是采用同步MX512总线(用一根线实现控制数据的移位和置入)的同步串行传输的方式,吸取了DMX512和SPI移位总线两者的优点。同步DMX512在电气特性、数据结构方面与DMX512协议大致相同,采用同步传输的方法来进行两线移位传输,并且采取了SPI一位传输的方法来避免DMX512协议的地址设置问题。同步DMX512保留了DMX512的电气特性,故在灯与灯之间的距离不是很远的情况下,不使用RS485总线。

1 DMX512灯光控制协议
    DMX512协议是一个数字调光协议,应用它能够对舞台、剧场、演播室等场所的调光器以及其他的控制设备进行数字控制,适用于一点对多点的主从控制。其互联形式采用了多点总线结构,不存在信息通路阻塞问题,可靠性较高。
    协议规定控制信号数据包的传输通过异步通信的方式进行。一个DMX512数据包包含起始码和512个数据帧。每一帧数据包括1位低电平起始位、8位数据位、2位高电平停止位。一个数据帧代表一个控制通道,因此该协议支持512个控制通道。DMX512协议的帧结构与数据包结构如图1所示。

a.jpg

2 SD5128及其同步DMX512协议
    SD5128是高集成度低功耗LED控制芯片。它采用的单线传输模式,内置采样/时钟再生电路、数字锁相电路、移位寄存器、脉宽调制模块,级联能力超过1024颗芯片;提供3个I/O通道,每通道最大8 mA输出电流,采用外置驱动的工作模式,可驱动三极管和MOS管。SD5128采用24位真彩色(8R+8G+8B),结合DMX512协议数据格式,SD5128的帧结构与数据包结构如图2所示。

a.jpg


    图2中,数据帧和结束符都是高位先移入,每个数据位在时钟的上升沿被采样,下降沿被打出;第一个数据帧对应距移入端最近的LED灯,N表示芯片数量。结束符=1位“0”+24位“1”,但在实际编程中,按字节发送1位的“0”和31位的“1”,所以结束符实际为“0x7FFF-FFFF”。
    对比图1与图2,可以发现SD5128的帧结构和数据包结构比DMX512更简洁。SD5128帧结构没有起始位和停止位,数据位从8位增加到24位(8R+8G+8B);SD5128的数据包包括24×N位数据(即N帧数据)和1个结束符,没有DMX512的MTBP位、BREAK位、MAB位、SC位。更简洁的数据结构对实现快速的同步DMX512协议有很大的作用,SD5128的单线级联移位串行控制使控制系统更加简洁,接线更加简单。
    SD5128的级联方式能实现多像素点控制,每个SD5128控制一个LED像素点,级联方式如图3所示。

c.jpg



3 LED控制系统设计
3.1 硬件设计
    硬件结构如图4所示。相比传统的DMX512主从控制模式要简单很多,只有一个主控制器(MCU)、级联的SD5128芯片和存储DMX512数据文件的USB接口芯片。
    SD5128与RGB LED灯的连接方式如图5所示。可以实现单色256个灰度变化以及2 563种混合颜色变化,达到更好的混色效果。
    USB接口选择南京沁恒电子公司研发的USB接口芯片CH375,采用被动并行接口方式。CH375工作在主机方式下,主要实现单片机读U盘功能以及对灯光数据的移动控制,增强了可拓展性和易用性。CH375与MCU的接口电路如图6所示,CH375的D0~D7与MCU的P1总线相连。

d.jpg


3.2 软件设计
    MCU通过读取U盘中存储的灯光控制文件来实现对LED灯的控制。U盘中可以存放多个文件,且每个文件都是一组数据的组合,并以文件名区分和识别。CH375提供了U盘文件级子程序库,MCU可以直接调用子程序库读写U盘中的灯光控制数据,无需考虑文件系统,这不仅降低了研究难度,而且也降低了综合开发成本。主程序流程如图7所示。

e.jpg


    当确定U盘插入时,先搜索U盘里指定文件的个数,再读取指定的文件,判断该文件的大小,打开文件并发送一组控制数据。当一组控制数据的末尾是0x7FFFFFFF时,说明是一组控制数据的结束符,再发送下一组控制数据,直到文件中数据发送完为止,关闭文件并打开下一个文件。这样,U盘中多个文件可以组合成绚丽的控制效果。

结语
    传统DMX512协议采用多控制器互联的控制方法,较为复杂。本文采用基于SD5128的同步DMX512实现LED系统的控制,用单个控制器来实现DMX512协议,不仅让控制系统更加简单,而且使用U盘存储灯光控制数据能够极大地方便用户。

引用地址:基于同步DMX512的LED控制系统设计

上一篇:基于C8051F020的自动测控LED节能照明系统的设计
下一篇:基于C8051F060和AD9834的频率响应测试仪设计

小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved