1.引言
本文提出了一种基于Cortex-M0单片机的DMX512调光设备的设计方案,该方案能接入2路DMX信号,并进行合并进行调光,并根据内部AD进行硅路温度,电压和电流进行检测,然后报告给控台。
2.Cortex-M0
ARM Cortex-M01处理器是现有的最小、能耗最低和能效最高的ARM处理器。该处理器硅面积极小、能耗极低并且所需的代码量极少,而且是一款32位的RISC处理器,16位的Thumb指令集,代码密度高。高度优化的功耗与面积使其更适于低成本,低功耗的场合,中断现场的自动保护使得它在进入与退出中断时的软件开销降到最低同时具有确定的指令执行时间能保证每条指令执行的时间总是相同的,从而能达到一种实时控制。作为ARM公司的最低端产品,同样拥有高性价比,稳定可靠的特性,由此选用此款芯片并应用ARM公司的MDK集成开发工具,可提高开发效率,缩短开发周期。
3.系统硬件设计
本DMX512调光设备是以NUC100(Cortex-M0)为控制核心。整个系统的硬件部分包括DMX512信号接入模块,MCU,相位检测模块,调光输出模块,温度,电压及电流检测模块,通信模块、显示模块等。整个DMX512调光设备框图如图1所示。
DMX512信号的本质就是RS485信号,因此通过NUC100自带的串口并加485芯片来接入就能满足要求。温度、电流检测模块通过外围电流将温度和电流转换为对应的电压信号通过NUC100自带的AD通道进行采样。相位检测模块通过LM258比较器正确检测到交流电的过零点。调光输出输出模块将NUC100输出PWM信号来控制硅块以达到控制灯光强弱。通信模块能够通过串口,将实时检测的温度和电流大小报告给控制台,而且控制台能够通过该接口对设备的进行设置。整个设备的硬件框图如下图2所示。
4.系统软件设计
软件部分采用程序模块化设计,便于各个功能的调试和实现。系统软件程序主要主程序,Dmx512信号处理,调光控制PWM输出处理,通信处理,显示处理等5个模块组成。
4.1 主程序模块
主程序模块采用循环查询直至断电退出,以达到控制灯光亮度的目的。主程序流程如图3所示。
4.2 Dmx512信号处理模块
Dmx512信号处理模块接收外部来的dmx512信号,接收到了break信号后,开始接收数据,收到下一个break信号,一帧dmx512数据接收完成。dmx512数据接收流程如图4所示。
4.3 调光控制PWM输出处理模块
PWM输出处理模块根据DMX512数据,输出周期为10ms的PWM信号。图5为PWM调光输出流程。
4.4 通信处理处理模块
通信处理处理模块处理控台来的信号,进行设备的初始化,配置,调试工作。
4.5 显示处理处理模块
显示处理处理模块负责显示设备使用DMX512信号的开始地址显示。
5.结束语
本文提出了一种基于Cortex-M0的DMX512调光设备设计方案,该方案以485串口通信技术为基础,并从应用角度出发,给出了DMX512调光调节的硬,软件设计。实际应用证明,该设备操作方便,运行良好,功能稳定,可靠。