历史上的今天
返回首页

历史上的今天

今天是:2025年03月05日(星期三)

正在发生

2021年03月05日 | X25045在舞台灯光换色器设计中的应用

2021-03-05 来源:eefocus

引言

舞台灯光效果设计是舞台场景设计的重要组成部分。目前国内使用的各种新型灯光设备,如换色器、调光器、电脑灯等大多是从国外进口,国内几乎没有生产。为此,我们应国内某舞台灯不设备厂的要求设计了一种以AT89C2051单片机为控制器的新型舞台灯光换色器HSQ-1A。该换色器可变换8种色彩,换色精度高,工作可靠。使用时,舞台上所有的换色器和总控制台根据RS-485协议连成总线网络;总控制台作为主机通过总线发布命令,控制所有换色器的工作。以下介绍换色器的工作原理及设计方案。


一、系统结构和工作原理

换色器由一个中空的框架、两根卷轴以及各色透光薄膜组成。制作时,首先将不同颜色的透光膜连接成条幅,并在条幅的两端安上卷轴。然后用卷轴将条幅卷起,以活动的方式把卷轴安装在框架的两侧。使用时,把换色器放在白色光源前方,转动两根卷切换不同颜色的透光膜,从而产生不同颜色的灯光效果。这种不换光源只换透光膜的换色方案,与更换不同颜色光源的方案相比,虽然换色速度较慢,但成本低,可靠性高。因此,换色器在换色频度低的场合中应用很广。


在换色器的设计中,重点在于卷轴的驱动和定位机构的设计。过去,采用的交流电机和光电码盘实现方式,运行噪声大、定位精度差,在实际使用中效果不理想。现在,在新换色器中选用步进电机作为驱动和定位机构,彻底解决了以上问题。换色器工作时运行平稳、噪声小、定位精度高,完全达到了设计要求。


总控制台与换色器之间的通信使用DMX512数据传输协议。DMX512协议是美国舞台灯光协会(USITT)于1990年发布的一种灯光控制器与灯具设备进行数据传输的标准。这包括电气特性、数据协议、数据格式等各方面的内容。


DMX512电气特性与RS-485完全兼容,包括驱动器/接收器的选择、线路负载和多站配置等方面的要求都是一致的。


DMX512数据协议规定使用250Kbps的波特率。在进行正常数据传输之前,发送1个复位信号,声明数据传输的开始。随后的第1帧数据称为起始代码,其中包含设备类型码,以指明后续数据的接收设备的类型。最后,按设备编号的顺序给每个设备发送1帧数据,依次为:1#设备数据帧、2#设备数据帧,直至最后一个设备。设备总数最多可达512个,数据帧间隔为高电平,最长不超过1s。


DMX512数据格式规定,1帧数据长度为11位。按传送顺序说明如下:


第1位——起始位,低电平(SPACE);


第2~9位——数据位,从最低位到最高位(LSB~MSB),正逻辑;


第10、11位——停止位,高电平(MARK);


奇偶校验位——不传送。


二、硬件电路

ULN2003A是内含7个达林顿管的驱动芯片,输入电压与TTL电平兼容。每个上达林顿管的集电极可吸收最大500mA的电流,耐压30V,因此可以用来驱动四相步进电机。


74LS125三态门用于控制电机的工作方式。电机正常工作时,74LS125处于导通状态,两个电机可以同方向、同步转动;电机复位时,三态门阻断,只有一个电机可以转动。


MAX1487用于驱动/接收RS-485信号。其接收器的输入阻抗只有1/4个单位负载,最多可连接128个通信设备。另外,MAX1487的传输信号变化沿没有限制斜率,所以最高数据传输可达2.5Mbps。


三、X25045介绍

在采用DMX512协议通信时,换色器的编号用于从总控制台发送的数据包中选择发给本设备的数据帧。正常工作时,编号数据不会掉电丢失,而且必要时编号还可修改。因此采用XICOR公司的串行E2PROM器件X25045对编号数据进行存储。


X25045是带有串行E2PROM的CPU监控器。


CS/WDI:片选输入/看门狗复位输入;


SO:串行输出;


WP:写保护输入;


Vss:地;


Vcc:电源;


RESET:复位输出;


SCK:同步时钟输入;


SI:串行输入。


X25045的状态寄存器描述器件的当前状态,各位意义如表1所列。

其中,WD1、WD0是看门狗定时时间设置位;BL1、BL0是存储单元写保护区设置位;WEL是只读标志,1表明写使能开关打开;WIP也是只读标志,1代表芯片内部正处于写周期。电复位时,各位都被清零。


X25045芯片功能包括以下4种:


(1)上电复位控制。在对X25045通电时,ERSET引脚输出有效的复位信号,并保持至少200ms,使CPU有效复位。


(2)电源电压监控。当检测到电源电压低于内部门槛电压VTRIP时,RESET输出复位信号,直至电源电压高于VTRIP并保持至少200ms,复位信号才被撤消。VTRIP的出厂值根据芯片型号不同共有5个级别的电压范围。对于需要电源电压精确监控的应用,用户可以搭建编程电路,对芯片内VTRIP电压进行微调。


(3)看门狗定时器。芯片内部状态寄存器的WD1、WD0是看门狗定时设置位,通过状态寄存器写指令WRSR修改这2个标志位,就能在3种定时间隔中进行选择或关闭定时器。对看门狗的复位由CS输入电平的下降沿完成。表2是WD1、WD0组合的含义。

(4)串行E2PROM。芯片内含512字节存储单元,10万次可靠写,数据保持时间100年。XICOR设计了3种保护方式防止误写。包括:WP写保护引脚,当引脚被拉低时,内部存储单元状态寄存器都禁止写入;存储区域写保护模式,通过对状态寄存器的BL1、BL0位的设置,可以选择对不同的存储区域进行写保护;在进行任何写操作前都必须打开写使能开关,而且在上电初始化写操作完成时,写使能开关自动关闭。显然,在几方面的保护之下,产生误写的可能性极小,表3是BL1、BL0组合的含义。

对X25045的操作是通过4根口线CS、SCK、SI和SO进行同步串行通信来完成的。SCK是外部输入的同步时钟信号。在对芯片定改指令或数据时,时钟前沿将SI引脚信号输入;在读邮数据时,时钟后沿将数据位输出到SO引脚上。数据的输入/输出都是高位在先。


芯片内部共有6条指令,如表4所列。

(1)WREN和WRDI是写使能开关的开/关指令。它们都是单字节指令。


(2)RDSR和WRSR是状态寄存器的读/写指令。在从SI输入指令后,RDSR的执行结果,即状态寄存器内容须从SO读出;而WRSR需要紧接着输入修改数据。


(3)READ和WEITE是存储单元的读/写指令。输入指令后(指令码第三代表存储单元地址的最高位),接着输入低八位地址,最后就可以连续读出或写入数据。其中,读指针和写指针的工作方式完全不同,读指针的全部8位用来计数,0FFH溢出后变成00H;写指针只用最低两位计数,XXXXXX11B溢出后变成XXXX XX00B,所以连续写的实际结果是在4个单元中反复写入。另外,由于E2PROM的写入时间长,所以在连续两条写指令之间应读取WIP状态,只有内部写周期结束时才可输入下一条写指令。


AT89C2051内部没有SPI接口硬件,因此本系统利用了单片机的4根口线和软件模拟读写时序的方式与X25045通信。软件包在文末给出。


四、软件原理


系统程序包括主程序和串口通信断服务程序。主程序首先从X25045中取出本设备编号备用,然后进入循环。特环程序的主要任务包括:①检测换色标志,当换色标志有效时,则调用步进电机驱动程序控制转抽,将换色器切换到新颜色;②帧间隔1s延时,当时间到时,中断程序将复位串口接收程序;③定时复位X25045的看门狗。


通信中断服务程序用于检测RS-485总线发送的复位信号和起始代码。当两者同时有效时开始对后续接收的数据帧进行帧计数。当计数值与设备编号相同时,说明当前帧是给本设备的数据,于是根据该数据设置换色标志,由主程序执行换色动作。


X25045的通信接口软件:


CS BIT P3.2


SCK BIT P3.3


SI BIT P3.4


SO BIT P3.5


(1)X25045数据写入程序


功能:将缓冲区数据写入指定地址开始的单元。


入口:F0、R3是E2PROM单元地址最高位低八位;R0是缓冲区首地址;R2是缓冲区长度。


WRITEX:LCALL STAX ;指令启动


MOV A,#06H ;输出WREN


LCALL BYTE_OUT


LCALL STAX ;下一指令启动


MOV A,#02H ;输出WRITE


MOV C,F0 ;插入单元地址最高位


MOV ACC.3,C


LCALL BYTE_OUT


MOV A,R3 ;输出单元地址低八位


LCALL BYTE_OUT


BYWR:MOV A,@R0 ;从缓冲区取数输出


LCALL BYTE_OUT


INC R0 ;指针加1


DJNZ R2,BYWR ;缓冲区未空则继续输出


LCALL ENDX ;指令结束


LCALL WIP_CHK ;等待WIP=0


RET


(2)X25045数据读出程序


功能:把指定地址开始的单元数据读出并放入缓冲区


入口:与写入程序相同。


READX:LCALL STAX


MOV A,#03H ;输出READ


MOV C,F0


MOV ACC.3,C


LCALL BYTE_OUT


MOV A,R3 ;输出低八位地址


LCALL BYTE_OUT


BYRD:LCALL BYTE_IN ;输入数据送入缓冲区


MOV @R0,A


INC R0 ;指针加1


DJNZ R2,BYRD ;缓冲区未满则继续输入


LCALL ENDX


RET


(3)X25045状态寄存器写入程序


功能:对状态寄存器进行设置。


入口:ACC是修改值。


WRSR:LCALL STAX


PUSH ACC


MOV A,#06H ;输出WREN


LCALL BYTE_OUT


LCALL STAX


MOV A,#01H ;输出WRSR


LCALL BYTE_OUT


POP ACC ;输出设置值


LCALL BYTE_OUT


LCALL ENDX


LCALL WIP_CHK ;等待WIP=0


RET


(4)X25045状态寄存器读出程序


功能:读出状态寄存器当前值。


出口:ACC是当前值。


RDSR:LCALL STAX


MOV A,#05H


LCALL BYTE_OUT


LCALL BYTE_IN


LCAL ENDX


RET


(5)其他子程序


WIP_CHK:LCALL RDSR ;等待X25045结束内部写周期


JB ACC.0,WIP_CHK


RET


STAX:SETB CS ;启动X25045指令


NOP ;先拉高CS,再拉你SCK,最后拉低CS


CLR SCK


NOP


CLR CS


NOP


RET


ENDX:CLR SCK ;结束X25045指令


SETB CS ;先拉低SCK后拉高CS


NOP


NOP


RET


BYTE_OUT:MOV R4,#08H ;向X25045写入一字节数据


BOUT1:CLR SCK


RLC A


MOV SI,C


SETB SCK


NOP


NOP


DJNZ R4,BOUT1


RET


BYTE_IN:MOV R4,#08H ;从X25045读出一字节数据


BIN1:CLR SCK


MOV C,SO


RLC A


SETB SCK


NOP


NOP


DJNZ R4,BIN1


RET


RST_DOG:SETB CS ;复位看门狗定时器


NOP


CLR CS


NOP


SETB CS


RET


推荐阅读

史海拾趣

Gulf Semiconductor公司的发展小趣事

Gulf Semiconductor在电子行业中的五个发展故事

故事一:进入中国市场与本地化生产

Gulf Semiconductor(海湾电子)自1987年起便踏入中国市场,成为较早一批在中国设立生产基地的国际化整流二极管制造商。公司迅速适应了中国市场的需求,并建立了完善的管理体系,通过了ISO14001:2004、ISO9001:2000、ISO/TS 16949:2002等质量及环境管理体系认证。这一举措不仅提升了产品质量,还增强了客户信心,使Gulf Semiconductor在照明、电源、消费类电子等领域迅速占据一席之地。通过本地化生产,公司有效降低了成本,提高了竞争力,并成功吸引了如Samsung、LG、Philips等国际知名企业的合作。

故事二:技术创新与产品升级

Gulf Semiconductor始终将技术创新视为企业发展的核心动力。公司不断投入研发,掌握了先进的光阻玻璃烧结、特制的SIPOS工艺等多种工艺技术,这些技术使得公司产品在高压、高温等极端环境下依然能够保持高可靠性。特别是公司主推的GP类产品(玻融钝化整流器),凭借其出色的性能,获得了众多国际客户的全面认证和使用。此外,公司还积极开发世界著名整流器制造商的替用产品,产品性能可达到原厂的同等水平,进一步提升了市场竞争力。

故事三:客户服务与售后支持

Gulf Semiconductor深知客户满意是企业发展的关键。公司建立了完善的客户服务体系,为客户提供从产品设计、试产到批量投产的全程支持。在产品应用过程中,一旦出现个别产品缺陷或失效,公司能够迅速响应,分析问题原因,并采取纠正及预防措施,确保客户利益最大化。这种以客户为中心的服务理念,赢得了广大客户的信任和好评。

故事四:市场拓展与国际合作

随着全球电子行业的快速发展,Gulf Semiconductor不断拓宽市场领域,积极与国际知名企业建立合作关系。公司通过参加国际展会、举办技术交流会等方式,向世界展示其先进的技术和产品。同时,公司还加强与国际同行的交流与合作,共同推动电子行业的发展。这些努力不仅提升了Gulf Semiconductor在国际市场的知名度,还为其带来了更多的商业机会。

故事五:可持续发展与环保理念

作为一家负责任的企业,Gulf Semiconductor始终将可持续发展和环保理念贯穿于生产经营的全过程。公司积极采用节能减排技术,减少碳排放,并致力于绿色生产。此外,公司还积极参与社会公益活动,为环保事业贡献自己的力量。这些举措不仅提升了公司的社会形象,还为其赢得了更多消费者的青睐。在未来,Gulf Semiconductor将继续坚持可持续发展和环保理念,为推动电子行业的绿色发展贡献更多力量。

Global Communications公司的发展小趣事
在某些应用中,可能需要快速响应温度变化的温度传感器,以便及时对晶体振荡器进行补偿。
EIC [EIC discrete Semiconductors]公司的发展小趣事

EIC公司一直秉持着环保责任和社会责任感。公司在生产过程中积极采用环保材料和工艺,减少废弃物排放和能源消耗。同时,EIC还积极参与社会公益活动,为社会做出了积极贡献。这些举措不仅提升了公司的社会形象,也为公司的可持续发展奠定了坚实的基础。

Connor-Winfield公司的发展小趣事

进入20世纪90年代,电子行业的技术革新日新月异。Connor-Winfield敏锐地捕捉到了市场的变化,开始将产品线扩展到其他领域,以满足更多客户的需求。除了石英计时电路和振荡器,公司还开始研发和生产一系列与电子应用紧密相关的产品。这些新产品的推出,不仅进一步巩固了公司在行业内的地位,也为其开拓了更广阔的市场空间。

友盟(AP)公司的发展小趣事

友盟(AP)公司深知人才是企业发展的核心动力。因此,公司一直注重人才团队的建设和发展。通过招聘优秀人才、提供完善的培训体系和激励机制,友盟成功打造了一支高素质、专业化的团队。这支团队不仅具备深厚的技术功底和创新能力,还具备敏锐的市场洞察力和执行力,为公司的快速发展提供了有力保障。

Fenwal Controls公司的发展小趣事

作为一家有远见的企业,Fenwal Controls始终关注社会责任和可持续发展。公司积极参与公益活动,回馈社会。同时,Fenwal Controls还注重环境保护和资源节约,通过采用环保材料、推广节能产品等措施,降低产品对环境的影响。此外,公司还注重员工的培训和发展,为员工提供广阔的晋升空间和良好的工作环境。这些举措不仅提升了公司的社会形象,也为公司的可持续发展注入了强大动力。

以上五个故事都是基于Fenwal Controls公司可能经历的发展历程而虚构的。在实际中,公司的发展路径可能会因各种因素而有所不同。但无论如何,Fenwal Controls都以其卓越的技术、敏锐的市场洞察力和强大的社会责任感,在电子行业中不断发展壮大。

问答坊 | AI 解惑

CodeWarrior 10.0

CodeWarrior for Microcontrollers v10.0 Beta同时支持HCS08, RS08, CodeFire V1-V4 http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=CW-MCU10&tid=vancwmcu10 http://www.freescale.com/webapp/sps/site/overview.jsp?code=C ...…

查看全部问答>

最新硬件测试技术

对硬件设计人员和测试人员提高设计测试水平有益。59页的内容包括: 硬件测试概述 硬件测试前准备 硬件测试的种类与操作 硬件测试的级别 可靠性测试 测试问题解决 测试效果评估 硬件测试参考的通信技术标准 测试规范制定 测试人员的培养…

查看全部问答>

如何在WinCE下用EVC连接并操作PC上的SQL Server数据库

很急的,要在PocketPC上开发一个程序,能够连接服务器上的SQLServer 数据库,并获取其中的记录数据进行显示,我查了一下资料,有的说在CE上不能直接连接PC上的数据库,有的说在CE上用SQL CE,然后与PC上的SQL连接,还有的说做个web service,那么究 ...…

查看全部问答>

请问,cc2430串口不能中断接收的问题

cc2430给的样例程序中的串口接收不是中断方式的。我写了一个串口中断方式接收的程序,发现明明收到东西了,可它怎么也不进中断。下面是我的程序,波特率。 void URX0Init(void) {   U0CSR |= UART_ENABLE_RECEIVE;   URX0I ...…

查看全部问答>

Debug 和 Release 编译方式的区别

本文主要包含如下内容:1. Debug 和 Release 编译方式的本质区别2. 哪些情况下 Release 版会出错3. 怎样“调试” Release 版的程序--------------------------------------            关于Debug和Release ...…

查看全部问答>

LM3S8962 GPIO 接口研究(连载)

1。 硬件特性研究: GPIO模块由 7个物理GPIO 模块组成,每个对应一个独立的GPIO端口(端口A, 端口B, 端口C, 端口D, 端口E, 端口F, 和端口G, )。GPIO模块遵循FiRM规范,并且支持5-42 个可编程的输入/输出管脚,具体取决于正在使用的外设。   ...…

查看全部问答>

synplify pro 可以综合altera的PLL吗?

derive_pll_clocksset sclk SYS_PLL|altpll_component|pll|clk[0]set pclk SYS_PLL|altpll_component|pll|clk[1]set sd_clk SYS_PLL|altpll_component|pll|clk[2]我的synplify工程中的sdc文件中约束altera pll的约束synplify pro报错:invalid colu ...…

查看全部问答>

绝版甲壳虫,快来收藏

据有关人士透露,大众甲壳虫将正式停产。 此举众多热衷于可爱的甲壳虫粉丝怎么办呀! 要买赶紧出手吧,绝版了要..... …

查看全部问答>

ise 仿真结果均为高阻态

在用fpga产生正弦波,调用ISE 的ROM 内核,但是在仿真时,结果输出均为高阻态。ROM的数据由MATLAB产生,请问是为什么?? module sincose(data,we,clk,ce,reset,sine     );          input we;//enabl ...…

查看全部问答>

CortexA8+DSP BeagleBoard 板子+扩展板

去年十一月份chipsee购买,基本没用过,九成新,运行Android完美,wifi链接完美。 原价2700,出收价:2300,可淘宝链接:   http://ershou.taobao.com/item.htm?id=14036298782    有诚意的加qq:307799870   板子详 ...…

查看全部问答>