基于串行通信的光立方控制器的设计

2016-09-15 06:41铮,纪
赤峰学院学报·自然科学版 2016年15期
关键词:取模每层寄存器

韩 铮,纪 宇

(赤峰学院 物理与电子信息工程系,内蒙古 赤峰 024000)

基于串行通信的光立方控制器的设计

韩铮,纪宇

(赤峰学院物理与电子信息工程系,内蒙古赤峰024000)

针对光立方显示效果开发的问题,设计了光立方的控制器,通过使用上位机的串行接口与单片机相连接,利用上位机软件生成不同的显示数据,通过串行通信方式发送给下位机控制执行,解决了光立方显示效果开发过程中程序频繁下载的问题,下位机通过控制通用口和移位寄存器实现了光立方的灯光效果控制.

光立方;串行通信;灯光控制

LED是普遍使用的发光器件,使用LED发光二极管将其按照8*8*8排列成立体形状,称为光立方或者3D8,是近年来比较流行的DIY灯光制作方案,由于每个LED均可以单独控制亮灭,与平面显示屏相比较,光立方在空间上进行灯光点的控制,组合效果更加丰富,所以对灯光效果的开发一直是值得研究和开发的内容[1,2].

1 光立方控制原理

光立方通常使用单片机作为控制器,利用单片机串行通信接口的同步移位寄存器工作方式,将光立方的灯光控制数据移入到寄存器中,通过行列控制信号组合完成不同灯光方案的设计.

光立方将LED排列到3维空间中,而LED控制引脚只有两个,所以如何排列是首先要解决的问题,通常可以将立方体按照空间中三个坐标的方向进行切片,有三种方式:即在立方体的X、Y、Z三个方向中的任意一个进行分割作为单独控制的面[3,4].

图1 光立方控制方式

对于不同的分割方式,连接方式有所不同,但是通常将同一层的LED共接在一起连接到电源或者地,由一根控制线引出作为层控制信号,而与层相垂直的线上的LED将另一个引脚共接,称为一束(或与层垂直的列).不同的分割和连接将产生不同的控制代码,可使用软件生成字模,使用方法与点阵取模类似,本例中使用图1中(a)方式进行设计,取模与焊接方式如图所示:

图2 光立方取模与焊接方式

显示时,逐层扫描点亮,因为扫描间隔较短,人眼视觉残留效应使得看起来像多层同时点亮一样[5].本文使用Z方向切面,分成8层,每层有64个LED灯珠对应64束,需要8组移位寄存器存储该层对应的显示数据,循环将层扫描数据送入8组寄存器配合层扫描即可点亮整个立方体.每层公用LED阳极,阴极按垂直于该面,最终将所用8个面的对应阴极连在一起,引出64个LED阴极,此64个阴极信号决定平面中哪些灯量,而阳极信号决定哪层亮.

2 设计方案与控制电路

本项目是针对光立方效果开发调试的硬件平台,由于单片机片上ROM有限且调试时需要经常改变控制数据不停的执行,所以单一系统控制方案不可取,使用上位机发送显示数据,下位机显示的方式来进行设计,更能有效的满足要求,一旦效果设计成功可以选用合适的单片机做成独立的光立方.系统框图如下所示

图3 系统框图

使用3D8取模软件设计每层灯光的字模,由上位机通过串行发送到光立方显示,光立方控制电路使用串行口接收数据并有移位寄存器输出锁存,达到显示调试的目的.

3 硬件电路

光立方由单片机系统控制,层控制使用单片机P0口8个引脚,每层的数据有P2.0-P2.3将接收到的数据传入到595芯片中,由于篇幅所限只给出2 个595级联的电路,实际使用8块,每个锁存8位数据共64位阴极控制信号[5].

图4 硬件电路图

4 软件设计

软件设计首先设计通信协议的设计,光立方串口通讯协议设置如下:

波特率为115200;无校验位;数据位为8位;

命令仅由2个字节组成.发送顺序为先高8位(H7-H0),再低8位(L7-L0).考虑系统实时性要求及实现的简便,没有设置检验位,合计三种代码格式,使用三种开始码与之对应、不设结束码.

表1 通信协议

因为不设置结束码,所以必须要保证每条代码发送的完整性.

每层LED按照顺序编号单片机接收到相应指令后按照行列要求进行指令解析,讲实际控制数据发送给595芯片,同时控制层电源.

为了保证每层亮度均衡,保证每层扫描时间相同,同时使用三极管对每层电流进行扩流.使用串行口中断进行数据通信控制,设置接收缓冲区存储指令,单片机根据指令输出控制信号对LED进行控制.

5 实验与结论

针对光立方灯光效果开发调试的工作困难的问题,利用串行通信发送上位机指令对光立方进行控制,能快速的进行效果验证,同时设计了硬件电路方案和软件通信协议,解决了光立方效果开发过程中程序频繁下载的问题.

〔1〕康志强,汪佳,汤勇明.基于FPGA的3D光立方设计[J].电子器件,2012(06):683-686.

〔2〕苏珊,肖英,李行杰.基于STC单片机的8×8×8 LED光立方系统设计[J].吉首大学学报(自然科学版),2013(06):33-36.

〔3〕韩鹏程,娄颖,池承选.基于单片机的光立方系统设计[J].电子世界,2014(12):528.

〔4〕虞沧.基于单片机的光立方系统设计[J].电子测试,2015(06):28-30.

〔5〕吴永德,罗萍.基于STC15F2K60S2单片机的LED光立方设计[J].电脑编程技巧与维护,2015 (11):81-84.

〔6〕杨永刚.3D光立方的设计与制作[J].电子世界,2014(06):129.

TN873

A

1673-260X(2016)08-0053-02

2016-03-15

猜你喜欢
取模每层寄存器
关于不定方程x2-pqy4=16的正整数解
关于商高数的Jeśmanowicz猜想*
关于不定方程x2-8y4=M(M=17,41,73,89,97)*
STM32和51单片机寄存器映射原理异同分析
攀登脚手架
智取钻石
Lite寄存器模型的设计与实现
关于不定方程x2-5y4=236
每层球有多重
火警现场