舞台灯光控制器.doc

舞台灯光控制器

收藏

压缩包内文档预览:(预览前20页/共32页)
预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图
编号:512145    类型:共享资源    大小:4.03MB    格式:ZIP    上传时间:2015-11-11 上传人:QQ28****1120 IP属地:辽宁
6
积分
关 键 词:
毕业设计
资源描述:
舞台灯光控制器,毕业设计
内容简介:
舞台灯光控制器 摘要 嵌入式系统是当今最热门的概念之一,它诞生于微型计算机,是嵌入到对象系统中,实现嵌入对象智能化的计算机应用系统。本舞台灯光控制器就是嵌入式系统在生活中的一个小小应用,它采用的嵌入式微控制器为 LPC2300 系列 ARM,并使用了实时操作系统 C/OS-II。整个系统分为两部分,主控制器和灯光节点。控制器和节点之间的通信使用了主流的舞台灯光控制协议 DMX512。控制器设有良好的人机界面,可完成对各节点灯光色 彩的编辑,多种现场效果的存储与还原,并设有多个命令,可依据现场气 氛的不同制作缤纷的特 技效果。节点使用 NXP推出的 LED 驱动芯片 PCA9635 来驱动 4 个 RGB LED 模拟舞台灯光。 关键词 : 舞台灯光控制; DMX512 协议 ;嵌入式系统; C/OS-II nts目 录 1 绪论 4 1.1 舞台灯光控制技术的发展以及 DMX512 的产生 4 1.2 嵌入式系统概述 错误 !未定义书签。 2 硬件电路设计 6 2.1 电源部分电路 6 2.2 TINYARM T23 工控板介绍 错误 !未定义书签。 2.3 ISP 跳线及核心板复位电路 6 2.4 RS232 通信电路 7 2.5 JTAG 接口电路 7 2.6 LCD 驱动电路设计 8 2.7 LED 驱动电路设计 8 2.8 RS485 通信电路 10 2.9 从机地址选择电路 13 2.10 状态指示灯及按键电路 13 3 控制器软件设计 14 3.1 整体软件分析与设计 14 3.2 键盘扫描程序分析设计 14 3.3 人机界面任务 错误 !未定义书签。 3.4 DMX512 数据发送任务设计 错误 !未定义书签。 3.5 数据更新任务 22 4 节点软件设计 23 4.1 DMX512 数据包解析程序 23 4.2 PCA9635 控制 24 5 设计总结 错误 !未定义书签。 参考文献 28 nts致谢 错误 !未定义书签。 附录 A 电路原理图 31 A.1 原理图 A 错误 !未定义书签。 A.2 原理图 B 错误 !未定义书签。 nts1 绪论 本设计主要研究的是现 代嵌入式技术在舞台灯光控制系统中的应用。当今 舞台灯光控制 系统大都是基于 DMX512 通信协议的数字控制系统 ,那么究竟什么是 DMX512 通信协议? 什么是嵌入式系统? 1.1 舞台灯光控制技术的发展以及 DMX512 的产生 随着电视事业的不断发展壮大和舞台演出市场的日益活跃,以及人们欣 赏水平的不断提高,舞台设计越来越受到专业人士的重视。而舞台灯光作为舞台设计的一部分在很大程度上影响着整个现场的效果,这使得现代舞台灯光系统设计变得越来越复杂,舞台灯光控制技术也应运而生。 回顾舞台灯光控制技术的发展历程,大体可以分为三个阶段:原始控制技术阶段;模拟控制技术阶段;数字化控制技术阶段。 最初的原始控制技术时期,舞台灯光的控制相当麻烦。演出过程中,在舞台四周布满大大小小的各式各样的用手动控制开关,每一盏灯需要一个开关,并且还要铺设大量的灯线,其工作量是可想而知的。受控的灯具也只有亮灭两种状态,根本 不可能调光,提供的纯粹是单纯的照明。这样的光灯控制系统是很难顾及到舞台的艺术效果的。 随着自动化技术,电子技术和半导体技术的应用,把可控硅技术应用到漏光器中,产生了硅箱,这标志着模拟调光时期的到来。这种技术是通过模拟调光台(实际上是一个个电位器)输出的 010V 的模拟信号,控制可控硅的导通角来完成灯具调光功能的,它能够做到每一个灯具有不同亮度输出,但这种技术需要一个推杆对应一个调光回路,同时也需要连接一条信号线。可以想象一下,如果一台演出需要控制 100个调光回路,就要有一台具有 100个电位器推子的调光台,同 时还需要连接 100 条信号控制线,这样的调光系统的组建和控制都是相当麻烦的事。这种模拟调光方式只能适应于一些小型的演出活动。 随着时间的推移,电视事业不断壮大,舞台演出市场日益活跃,这对舞台灯光控制系统提出也更高的要求。到了 20 世纪 80 年代数字化技术的应用和普及产nts生了新一代的灯光控制技术,即 DMX512 数字信号控制技术。 DMX512 数字信号协议于 1986 年,首先由美国剧院研究机构( USITT)提出,后来经过进一步的改进,于 1990 年正式公布。它利用电脑系统来完成整个灯光的控制,通过一条信号线就可同时输出多路串 行数字信号,可以任意设置推杆与灯具之间的对应关系。这种技术大大简化了灯光的控制方式,为大规模舞台灯光控制提供了可能。从此,这种数字控制技术得到了广泛应用。 nts2 硬件电路设计 为简化设计、节约成本,对控制器电路和节点电路进行了综合,使得控制器和节点采用的是同样的电路,以下对电路中的各模块进行分析介绍。 2.1 电源部分电路 本设计共需要三组电源输入: 5V 的系统电源、 3.3V 的模拟电源、 3.3V 的数字电源。 系统板输入电压为 9直流,所需系统电压为 5,且带有液晶这样的大功率器件,若选用普通的线性稳压器件,则电源效率最高 仅为 55.6%,其发热量可想而知。故 5系统电压不能采用线性稳压器件。 LM2575 是一种高效率的开关稳压器件,资料显示当其输入电压为 12,输出电流为 1A 时,其效率可高达 77%,但开关电源也有开关电源的缺点,其输出纹波较线性稳压器件大。弥补这一缺点最好的方法是再在后面加一级线性稳压。 核心板 TinyARM T23 的供电由低压差模拟稳压器件 SPX1117M3-3.3 供给,虽然效率不高但 TinyARM T23 的功率小,实际运行过程中 SPX1117 基本保持室温。 2.2 ISP 跳线及核心板复位电路 为使调试过程更加顺利, 在底板上添加了 ISP 跳线选择与核心板复位电路,如 图 2.1 所示。 图 2.1 ISP 选择电路与核心板复位电路 nts当 LPC2300 芯片加密锁死时,通过 ISP 对芯片内部 Flash 进行整片擦除,可解除芯片的锁死状态。 图中的 U2 为 ESD 保护芯片,可屏蔽人体静电对核心芯片带来的危害。 由于 LPC2300 系列芯片自来掉电复位功能,故可省略常用复位电 路中与 R4并联的放电二极管。 2.3 RS232 通信电路 本设计中的 RS232 电路主要有两个用途,一是用于 ISP 下载,二是用于与上位计算机通信,将调光信息反馈给上位机。 RS232 通信电路如 图 2.2 所示。 图 2.2 RS232 通信电路 2.4 JTAG 接口电路 JTAG 为一种硬件仿真调试,需要配合 ADS1.2 集成开发环境、 EasyJTAG-H仿真器 、 H-JTAG、 H-FLASHER 一起使用。其接口电路如 图 2.3 所示。 图 2.3 JTAG 接口电路 nts2.5 LCD 驱动电路设计 本设计选用液晶的型号为 TG12864E-02B,它采用的内部驱器为 ST7920。ST7920 的特点在于它包括 64 16 位元字元显示 RAM( DDRAM 最多可显示 16字元 4 行)及 64 256 位元绘图显示 RAM( GDRAM),可实现图形、文字的混合显示。 液晶驱动电路如 错误 !未找到引用源。 所示。图中三极管 8050 用于控制液晶的背光。 2.6 LED 驱动电路设计 2.6.1 LED 驱动器 PCA9635 PCA9635 是 NXP 公司生产的一款 I2C 总线 LED 驱动器,共有 16 路输出,输出电流可达到 5mA,吸入电流可达到 25mA,可直接驱动 LED。适应于作为RGB LED 或 RGBA LED 的调色驱动。其特性如下: (1) 16 路 LED 输出,每一路输出均可配置为: 开 , 关 , 独 立 亮度 控制,独立 亮度 +整体闪烁 /明暗控制; (2) 输出可编程为推挽或开漏结构; (3) 1MHz 快速 I2C 总线,且 SDA 输出电流可高达 30mA; (4) 256 级独立亮度控制( 97 K Hz PWM); (5) 256 级集体亮度控制( 190 Hz PWM); (6) 256 级集体闪烁控制,闪烁频率可在 24Hz 到 10.73S 之间调节; (7) 7 个地址引脚使得在同一个 I2C 总线上可连接 126 个 PCA9635; (8) 内部自带 25 M Hz 晶振,无需外部元件; (9) 可通过 I2C 总线对 PCA9635 软复位; (10) 上电复位; (11) SDA/SCL 输入噪声过滤; (12) 工作电压范围: 2.3 到 5.5; nts(13) 工作温度: -40 oC 到 +85 oC; 2.6.2 PCA9635 驱动电路 PCA9635 驱动电路如 图 2.4 所示。 图 2.4 PCA9635 驱动电路 由于 I2C 总路线是开漏输出的,所以在使用 I2C 接口的时候,需要在外部连接上拉电阻,如上图中 R60、 R61。由于本设计中各节点只连接一个 PCA9635,故可将 PCA9635 地址固定。为适应大电流灯具的要求,在 PCA9635 的外部仍添加了驱动电路,如 图 2.5 所示。 图 2.5 LED 驱动电路 图中电阻阻值的确定由具体的 LED 参数决定。如 图 2.6LED 压降测试电路可粗略测得红灯的压降为 1.82,绿灯的压降为 2.5 ,蓝灯的压降为 2.9。 图 2.6LED 压降测试电路 下面以蓝色 LED 为例计算 图 2.7 中发射极电阻 R88 与基极电阻 R56 的值。 nts为使蓝色 LED 点亮,三极管 8550 的射极电压 Ue 应在 2.9 以上,假设 Ue为 2.9 ,则流过 R88 的电流 : 88 9233 R .Ie ( 2-1) 若取 Ie 为 4 mA ,则 R88 需小于 100。 从 8550 的资料中可以查得其工作在放 大区时放大倍数 约为 100,则可得出三极管基极电流 mAII eb 04.0 ( 2-2) 则 R56 的取值 105.51004.0 7.09.256 43R ( 2-3) 经实践验证, R88 取 100, R56 取 47K时,蓝灯可得到较好的效果。 同样的过程,可得到红、绿灯的基极与发射极电阻的取值。 2.7 RS485 通信电路 DMX512 协议中规定其通信接口采 EIA-485 标准。 2.7.1 RS-232、 RS-422、 RS485 协议简介 RS-232、 RS-422 与 RS-485 都是串行数据接口标准,最初都是由电子工业协会( EIA)制订并发布的, RS-232 在 1962 年发布,命名为 EIA-232-E,作为工业标准,以保证不同厂家产品之间的兼容。 RS-422 由 RS-232 发展而来,它是为弥补 RS-232 之不足而提出的。为改进 RS-232 通信距离短、速率低的缺点, RS-422定义了一种平衡通信接口,将传输速率提高到 10Mb/s,传输距离延长到 4000 英尺(速率低于 100kb/s 时),并允许在一条平衡总线上连接最多 10 个接收器。RS-422 是一种单机发送、多机接收的单向、平衡传输规范 ,被命名为TIA/EIA-422-A 标准。为扩展应用范围, EIA 又于 1983 年在 RS-422 基础上制定了 RS-485 标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,nts后命名为 TIA/EIA-485-A 标准。由于 EIA 提出的建议标准都是以“ RS”作为前缀,所以在通讯工业领域,仍然习惯将上述标准以 RS 作前缀称谓。 RS-232、 RS-422 与 RS-485 标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议,在此基础上用户可以建 立自己的高层通信协议。 EIA-485 通信标准的性能如所示: 2.7.2 RS-485 电路分析 RS-485 接口电路如 图 2.8 所示。 图 2.8 RS485 接口电路 图 2.8 中 U9 为 ESD 保护二极管,能有效保护 SP485R 芯片。 R101 为通信阻抗匹配电阻,减少由于阻抗不匹配而引起的反射、噪 声,能有效提高 RS-485通信的可靠性。 图 2.8 中 SIN 为 SP485R 通信接口方向控制线,当 SIN 为高电平时, SP485R配置为输出,为低电平时, SP485R 配置为输入。为解决上电时 RS-485 总线冲突问题,需添加上电抑制电路,如 图 2.9 所示。上电时 SIN 输出低电平, SP485R配置为输入。由 EWB 仿真可得到抑制时间 t 约为 2S。 图 2.9 SP485 上电抑制电路 nts图 2.8 中 RRXD、 TTXD 为 SP485R 的数据读写信号线,为隔离外部噪声,保护控制芯片,在 SP485R 与核心板之间加入了隔离电路,如 错误 !未找到引用源。 所示。 图中使用到的 ADUM1201 为 ADI 公司推出的一款磁隔离芯片,它采用的icoupler 技术是基于芯片尺寸的变压器。 ADUM1201 所隔离的两端有各自的电源和参考地,电源电压为 2.7 5.5V。相对于普通的光隔离, ADUM1201 具有如下特点: (1) 速度更高 : 最高速率可以达到 25mbps; (2) 功耗更低 : 功耗低于同数据传输率时传统光电隔离器的 1/10, 最小工作电流为 0.8mA; (3) 性能更高 : 时序精度,瞬态共模抑制力,通道间匹配程度均优于传统光电隔离器 ; (4) 体积更小 : 集成度更高,印制电路板( pcb)面积为传统光电隔离器的 40; (5) 价格更低: 每通道成本为传统光电隔离器的 40; (6) 应用更灵活 : 与传统光电耦合器不同的是,多通道 icoupler 数字 隔离器能在同一芯片内提供正向和反向通信通道。 RS-485 通信电源电路如 图 2.10 所示。采用的是致远电子推出一款高精度DC-DC 电源模块。 图 2.10 RS-485 电源电路 nts2.8 从机地址选择电路 因从机无需接液晶,所以将从机地址选择线与液晶部分信号线复用。各地址线均已连接上拉电阻。从机地址设置范围 0x000x1FF,电路如 图 2.11 所示, S1为拔码开关。 图 2.11 从机地址选择电路 注:用作主机时需断开 J23。 2.9 状态指示灯及按键电路 本设计共设置了 4 个状态指示灯和 6 个按键。电路如所示。 图 2.12 状态指示灯及按键电路 nts3 控制器软件设计 3.1 整体软件分析与设计 整个系统分为主控制器和节点两部分。由设计要求分析可 知,主控制器需要完成人机交流与 DMX512 数据的发送,节点需要完成 DMX512 数据的接收与舞台灯光的控制。控制器和节点所要完成的每一个任务都对实时性提出了很高的要求。 DMX512 的协议规定,完整的 DMX512 数据包包含一个中断标识位,一个中断后标识位,一个起始数据和 512 个调光数据,其数据发送的波特率为250Kbps,计算可得整个数据包的发送时间长达 0.025 钞。对于主控制器来说,若在系统设计时使用前后台系统,那么控制器的人机交流将难以得到及时的响应,为此主控制操作系统宜采用实时操作系统。对于节点来说, DMX512 数据的接收任务可放在 UART 中断中处理,不会影响到控制的实时性,这样节点即可采用前后台系统也可采用实时操作系统。 C/OS-II 一个源码公开、可移植、可固化、可裁剪、占先式的实时多任务操作系统 ,且在高校教学使用是不需要申请许可证的。 因此,主控制器的实时操作系统选用 C/OS-II。 3.1.1 控制器软件设计系统框图 分析设计要求,控制器共需要完成两件事情:人机交流;数据发送。人机交流又可以划分为三个任务:键盘扫描;人机界面;数据更新。综上所述,控制器共设计四个任务,其系统框图如 图 3.1 所示。 图 3.1 控制器系统框图 3.2 键盘扫描程序分析设计 常用的键值采集方案有两种:中断服务;软件查询。 nts3.2.1 中断服务 LPC2300 系列 ARM 的 P0 和 P2 端口的每一个引脚都可以配置为上升沿中断或者下降沿中断。 P0 和 P2 端口的中断通道与外部中断 3( EINT3)相同。 在硬件设计中,按键 06 分别与 P0.9P0.17 相连,因此,只需将 P0.9P0.17引脚配置为下降沿中断,在中断的服务程序中 即可完成按键的采集任务。但由于在硬件设计时,按键没有添加去抖电容,按键去抖的任务就需要由软件来完成,中断服务程序中应添加一个大约 10 毫秒的沿时程序。但 C/OS-II 规定在中断服务程序中,不能使用系统延时函数 OSTimeDly( ),这样就带来了大量系统资源的浪费。一旦有按键按下,系统中的其它任务都会停下来,包括数据发送任务。这样的情况对于保证 DMX512 数据的完整性是非常不利的。所以按键的采集不能采用中断的方式。 3.2.2 软件查询 按键的软件查询程序流程图如 图 3.2 示。 图 3.2 键盘扫描流程图 在 C/OS-II 操作系统中只能使用间隔查询方式,否则比查询任务优先级低的任务将得不到运行的机会。从程序中可以看到,每次查询都会间隔一个OSTimeDly(3),即每隔 15mS 查询一次,虽然查询键值浪费了一定的系统资源,但对于运行在 48MHz 系统时钟下具有三级流水线的 32 位处理器来说,这样的查询过程是微不足道的。从 AXD 中可以看到到整个查询过程只用了 5 条汇编指令。 nts在得到键值后,调 用 OSMboxPost( )函数,将键值以消息邮箱的形式发送给人机界面任务,待人机界面任务做进一步的处理。然后再次调用系统延时函数OSTimeDly(40)延时 0.2 秒,作为两次按键的最小间隔时间。 3.2.3 调光功能的实现 受液晶尺寸限制,调光功能菜单被分为两级,第一级完成节点 node 和灯号nightnum 的选择,第二级完成对应灯号 Red、 Green、 Blue 三路数据的修改。 在这里设置了三个重要变量: changedsig、 changedadr、 changeddata。 (7) changedsig:数据改变标致; (8) changedadr:改变数据的地址,即全局变量 DMX_512 数据的下标; (9) changeddata:改变后的新数据。 为了简化设计,将对这三个数据的修改程序直接融入到了液晶界面中。对调光数据的修改总是会伴随着界面的变化的,所以这样的融入相对来说比较省事。 当有调光数据的修改时, changedsig 标致置 1,并将对应的修改值付给changeddata, changedadr 的值由三个因素决定:节点号 node;灯号 nightnum;页内标致 page5sig。具体计算方法如 程序清单 3.1 所示。 程序清单 3.1 Xrate +; /*修改红色数据 */ changedsig = 1; /*置 数据改 变标致 */ changeddata = (Xrate-1)1; /* 计算修改地址 */ 其中 Xrate 为调光数据,取值范围 116。 X 可代表 R、 G、 B。函数 GetNodeAdr根据节点号 node 从 TinyARM T23 自带的 EEPROM 中读地址设置信息,返回值为对应的从机地址。 数组 ADRMAP 是根据从机的硬件连接方式而预设的地址偏移量。 nts液晶界面更新完成后,依据 changed 系列变量的值,即可完成对 DMX_512数据的修改。对调光数据的修改是实时显示的,调光效果及时的反馈给用户,方便用户做进一步的修正。 3.2.4 效果选择功能的实现 本设计中涉及到两类灯光效果。一类效果控制器并不对调光数据做修改,只发出命令字,而由节点接收到命令字后做出相应的变换。效果编号 15 都是这种类型。而另一种效果是由控制器直接对光路数据进行修改,节点不接收命令,不做变换,只刷新光路数据。效果编号 6 就属于这种类型。 在做出具体的效果变换之前,需要先完成效果编号 vision、效果速度visionspeed 的设置。效果的变化不是实时的,当按下确认键后,效果才会更新。效果编号 vision 的取值范围为 06。 0 代表无效果, 1 和 2 为两种样式不同的闪烁效 果, 3 为渐明效果, 4 为渐暗效果, 5 为魔术色效果, 6 为随机数效果。 程序清单 3.2 为在效果做出变换时 , 对 changedsig、 changeddata、 chagedadr做出的相应设置。 程序清单 3.2 changedadr = 0x8000; /*将 changedadr 最高位置 1 作为效果标致 */ if(vision = 6) OSSemPost(SemRand); /*随机数效果开关 */ changedsig = 4; /*四个节点均需修改命令字 */ changeddata = vision|(visionspeed1)-1)3); 效果 6,随机数效果是完全由控制器来完成的,控制器产生随机数,并修改相应的 DMX_512 数据。程序中用信号量 SemRand 作为开关量。第一次选择效果 6 为开,第二次选择效果 6 为关。 3.2.5 现场功能的实现及其方案分析 现场功能的实现依赖于现场数据的存储,本设计所使用的 TinyARM T23 核心芯片为 LPC2366,核心板上配有 FM24C02( EEPROM),数据的存储有两种方案: nts(10) 使用 LPC2300 系列的 IAP(在应用编程)功能,将现场数据存至LPC2366 的 Flash 中; (11) 使用 FM24C02。 首先分析第一种方案, LPC2366 共有 256KB 的 Flash 存储空间,被划分为14 个扇区 ,其分区情况如 表 3.1 所示。 表 3.1LPC2366 扇区分布情况 扇区号 扇区规格( KB) 地址范围 0 4 0x0000 0000 0x0000 0FFF 1 4 0x0000 1000 0x0000 1FFF 2 4 0x0000 2000 0x0000 2FFF 3 4 0x0000 3000 0x0000 3FFF 4 4 0x0000 4000 0x0000 4FFF 5 4 0x0000 5000 0x0000 5FFF 6 4 0x0000 6000 0x0000 6FFF 7 4 0x0000 7000 0x0000 7FFF 8 32 0x0000 8000 0x0000 FFFF 9 32 0x0001 0000 0x0001 7FFF 10 32 0x0001 8000 0x0001 FFFF 11 32 0x0002 0000 0x0002 7FFF 12 32 0x0002 8000 0x0002 FFFF 13 32 0x0003 0000 0x0003 7FFF 14 32 0x0003 8000 0x0003 FFFF 因为在利用 IAP 向片内 Flash 存储器写入数据时,需要先对数据进行擦写,因此数据区和代码区不能重合,否则有可能造成系统崩溃。倘若用户程序代码加上操作系统代码在 64KB 以 内(本系统代码不会超过 64K),那么可以使用的 Flash空间高达 192KB,如果现场数据完全存储( 512 字节),那么可存储的现场数多达 384 个。但是, Flash 的使用次数是有限的,对于在舞台应用来说,现场数据的存储比较频繁,所以使用片内 Flash 并不明智。且如果某一现场数据需要修改,则同一扇区中所有现场数据将会被擦除( Flash 的擦除是基于扇区的)。 nts分析第二种方案,使用 FM24C02 存储现场, FM24C02 为 256B 的串行EEPROM,虽然 EEPROM 的使用寿命够长,但 256B 的空间很少,如果完全存储,连 一个场景也存储不了。要使用它,就必需对现场数据进行一些取舍,只存储 DMX512 中使用到的通道数据。如果设计的是 4 个节点,每个节点需要 13 字节的数据,那么一个现场需要 52 个字节。 256 个字节的 FM24C02 能存储 4 个现场。虽然可存储的现场很少,但用于演示还是够了。所以最终我采用了方案二。 3.2.6 地址设置 地址设置的目的是为了让控制器知道自己应该修改的是 DMX512 中的哪个位置的数据,建立一个节点号与节点地址之间的映射关系,并且还要能实现设置信息的存储。地址的取值范围为 0511,一个地址需要占用两个字节,如果设计的 是四个节点,那么所有地址设置信息的存储将占用 8 个字节。 FM24C02 在进行现场存储之后,还剩余一些没有使用的字节,刚好可以用来作为地址设置的存储空间。 3.2.7 DMX512 协议信号格式 DMX512 信号时序图 如 错误 !未找到引用源。 所示。 DMX512 信号的数据格式分为以下几个部分: (12) IDLE( 空闲的 ) or NO DMX situation : 当没有 DMX 数据包输出时 ,将是一个高电平信号。 (13) BREAK: DMX 数据包的开始是一个至 少 88 微秒的低电平输出的预报头。根据经验 , 人们发现一个大于 88 微秒的 BREAK 将更有利于发送和接收 , 一般在设计时将它设计为 120 微秒。 nts(14) MARK AFTER BREAK (MAB)书馆: MAB 是 BREAK 后是一个 8 微秒的高电平或 2 个脉冲。旧版本的 DMX 标准为 4 微秒或 1 个脉冲 , 在连接老的控制台时会产生数据的混乱。 MAB 也可设置为 12 微秒。 (15) START CODE (SC) 起始码 : SC 是数据流开始的通道数据 , 它具有与通道数据相同的格式 , 一般为 11 个脉冲或 44 微秒。 (16) MARK TIME BETWEEN FRAMES (MTBF) : 在每个通道起始位前可以有 MTBF, 为高电平 , 时间小于 1 秒。 (17) MARK TIME BETWEEN PACKETS (MTBP ) : 在有效数据发送完毕后发送高电平 , 时间小于 1 秒。 DMX512 数字信号由起始码和 512 个数据帧组成。按串行方式发送和接收数据 , 数据帧内包含一个开始位 (低电平 ), 8 位数据和两个停止位 (高电平 ), 没有奇偶校验 , 也就是说一个数据帧有 11 个位元。每一位的宽度是 4us, 发送一个帧需要 44us 的时间。由于每一位的时间是 4us, 所以 DMX512 信号的 波特 率为250kb/s 。 关于 DMX512 各部分的时间规定如 表 3.2 所示。 表 3.2 DMX512( 1990)时间规定表 名称 最小值 标准值 最大值 单位 中断( Break) 88 88 1000000 S 中断后标识( MAB) 8 S 光路信息结构宽度( Frame Widch) 44 S 开始位( Start Bit) 4 S 停止位( Stop Bit) 8 S 光路信息码间隔标识( MTBF) 0 没有规定 1000000 S 数据包间隔标识( MTBP) 0 没有规定 1000000 S 3.2.8 DMX512 格式的实现与方案比较 DMX512 协议的实现比较简单,关键在于如何产生数据包前面 88 S 的Break(低电平)和 8 S 的 MAB(高电平)。关于数据帧,只需将 UART 的波特率设置为 250Kbps,发送数据的格式配置为 8 位数据位, 2 位停止位,无奇偶效检位即可。 ntsBreak 与 MAB 的实现有两种方案。方案一: 让对应的 I/O 口在输出模式与TXD 模式之间不停的转换,配合定时器产生所需高低电平。方案二:对于LPC2300 系列 ARM 还有另一种不需要模式转换的方案, LPC2300 系列 ARM 的UART 口在空闲时 TXD 引脚默认为高电平,当配置线控制寄存器 UnLCR6 为1 时将使能发送间隔, TXD 引脚会被强制为低电平。 故采用方案二。有了发送间隔功能后, DMX512 格式的实现只需要一个合适的定时器就可以完成了。 88 S 和 8 S 的定时均可由 Timer1 产生。 DMX512 发送任务的流程图如 图 3.3 所示。 图 3.3 DMX512 数据发送程序流程图 在 UART2 的初始化时使能发送 FIFO,发送数据时连续发送 8 字节数据,然后等待发送中断标致,这样有利于提高系统资源利用率。 使用逻辑分析仪 LA1016 采集到的 UART2 TXD 输出波形如 错误 !未找到引用源。 所示,从图中可以看出,时序完全符合 DMX512 协议的要求。 nts 3.3 数据 更新任务 从前面章节的介绍可以看出,单字节的数据更新已经由人机界面任务完成了,这里数据更新任务所要完成的是使用随机数效果“ 6”时所需要的大量数据的更新。当数据更新任务在接收到效果“ 6”开启信号后,调用 rand 函数得到随机数,然后对 DMX_512 中的对应数据进行更新。 nts4 节点软件设计 节点所要完成的任务是解析控制器传来的 DMX512 数据包,提取出属于自己的部分,依据数据内容对 PCA9635 进行相应的控制。节点软件采用前后台系统。 4.1 DMX512 数据包解析程序 4.1.1 如何解析 DMX512 从图 4.1 DMX512 协议的时序图可以看出,解析 DMX512 的关键在于如何识别 DMX512 的起始标致 Break 。 Break 是一个至少 88 S 的低电平,也许我们可以采用下降沿中断与定时器的配合来识别 Break,但这样过于麻烦,对于 LPC2300 系列 ARM 来说,有一个更简便的方法可以实现这一点。线状态寄存器 UnLSR 的第 3 位为帧错误标致位。在接收到 RXD 上的下降沿后, UART 会按照设定的波特率采集 RXD 引脚上的电平,当发现停止位(下降沿以后的第 36 S 至 44 S 之间)为低平时,帧错误标致将置位,若已经设置接收线状态中断,此时将产生线状态中断,具体的中断原因可以从线状态寄存器 UnLSR 中读取。 在识别出起始标致 Break 之后, DMX512 数据可按照普通的串口数据进行接收了,中断后标致 MAB 不会对串口数据的接收产生任何影响。从 DMX512 中解析出来的有用数据直接存放在全局变量 UARTData13中。 UART2 的中断服务程序流程图如 图 4.2 所示。 nts 图 4.2 UART2 中断服务流程图 4.2 PCA9635 控制 4.2.1 PCA9635 寄存器简介 PCA9635 内部共含有 29 个寄存器,其中控制寄存器( Control register)不参与编址。各个寄存器的说明如下: (18) 控制寄存器( Control register) 通过 I2C 总线写入到 PCA9635 的第二个字节(第一个字节为 I2C 从机地址)将被存入此寄存器,它决定 I2C 总线上随后的数据存放在哪些寄存器中。 Control register75为地址递增控制位。 Control register40的值为 PCA9635 内部寄存器的地址。 (19) 模式寄存器( MODE1, MODE2) 模式寄存器 MODE1 片内地址 0x00,其各位的详细说明见 表 4.1。 表 4.1 MODE1 寄存器位描述 位 符号 功能 7 AI2 只读,同 Control register7 nts6 AI1 只读, 同 Control register6 5 AI0 只读,同 Control register5 4 SLEEP 0 :普通模式 1*:节能模式,内部振荡器关闭 3 SUB2 0*:子地址 2 无效 1 :子地址 2 有效 2 SUB1 0*:子地址 1 无效 1 :子地址 1 有效 1 SUB0 0*:子地址 0 无效 1 :子地址 0 有效 0 ALLCALL 0*: ALLCALL 地址无效 1 : ALLCALL 地址有效 模式寄存器 MODE2 片内地址 0x01,其各位的详细说明见 表 4.2。 表 4.2 MODE2 寄存器位描述 位 符号 功能 7 - 保留 6 - 保留 5 DMBLNK 0*:亮度整体控制 1 :闪烁整体控制 4 INVRT 0*:输出逻辑不反向 1 :输出逻辑反向 3 OCH 0*:当 I2C 总线出现停止位时输出更新 1 :当 I2C 总线出现应答位时输出更新 2 OUTDRV 0 :输出配置为开漏结构 1*:输出配置为推挽结构 1 to 0 OUTNE1:0 00 :当 OE =1 时输出 LEDn = 0 01*:当 OE =1 时输出 LEDn = 1( OUTDRV=1)或高阻态( OUTDRV=0) 10 :当 OE =1 时输出 LEDn 为高阻态 11 :保留 nts4.2.2 各种效果的设计 节点接收 控制器传来的 13 个字节,第一个字节 中 含有 05 六种效果命令,以及效果的速度,后面的 12 个字节 ,节点不做 处理,直接送入 PCA9635 的 PWMn寄存器控制 前 12 路 PWM 输出的占空比。 如 图 4.3 所示。 图 4.3 主从数据协议 节点设计的五种效果分别为:闪烁效果(两种)、渐明效果、渐暗效果、魔术色效果。 闪烁效果是通过修改 PCA9635 的寄存器 LEDOUTn 来实现的,要点亮哪一位 LED,就将 LEDOUTn 中对应的两位置 1,否则置 0。按照想要的样式,建立一个二维数组,在定时器发生匹配中断后,按 照不同的偏移量将数组中的样式送入 LEDOUTn 即可,闪烁频率由中断频率决定。
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:舞台灯光控制器
链接地址:https://www.renrendoc.com/p-512145.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!