Xilinx社区
首页 > Steve专栏 > 亚当泰勒玩转MicroZed连载32:驱动Adafruit RGB NeoPixel LED阵列
Steve专栏
亚当泰勒玩转MicroZed连载32:驱动Adafruit RGB NeoPixel LED阵列
来源:  时间:2015-01-27  浏览量:968


在上一篇博文中,我介绍了让人着迷的Adafruit  NeoPixel RGB LED,并且大概描述了NeoPixel驱动设计的基本要点。(参见” 亚当泰勒玩转MicroZed连载31:系统模块驱动NeoPixel  RGB LED阵列”)在这篇博文中,我将要描述这个设计方案的硬件部分,然后在下一篇博文中描述该方案的整体架构。这个设计方案用到了Zynq SoC中的PS(处理器系统)和PL(可编程逻辑)。

在这个例子中,我选择了去驱动一个1米的NeoPixel LED条,LED密度是是每米30个NeoPixel。数据手册显示可以用5V的电压来驱动NeoPixel阵列工作。但是,仔细阅读数据手册,你会发现最高的工作电压只能在3.2V到3.4V之间,该电压是用来驱动蓝色LED工作的。这样,我们将要采用的MicroZed  I/O载体卡输出的3.3V电压正好在这个范围之内。

MicroZed I/O载体卡有两个板级电压稳压器,在Zynq SoC上可以用来给I/O bank34和bank35供电(如果使用Zynq Z7020,还可以给bank13供电)。这两个稳压器的输出电压可以在1.8V、2.5V和3.3V中选择。跟bank35相关联的稳压器有一个比较高的额定电流(2.8A),而跟bank34相关联的稳压器的额定电流为2.3A。因为我们将要驱动的LED数量比较多,因此我将要采用与bank35相关的稳压器来给1米长的NeoPixel阵列供电。

一个NeoPixel中,每一个独立的LED需要的最大电流为20mA,而每个NeoPixel中有三个LED,因此每个RGB像素需要的电流为60mA。每米又有30个NeoPixel,所以在3.3V电压供电情况下,需要的最大电流为1.8A,I/O载体卡提供的两个额定电流都能满足这个要求,但我们选择那个具有高额定电流的稳压器来实现供电。

这意味着连接在NeoPixel阵列上的Pmod线端适配器插头将要插在I/O载体卡的JE、JF、JG或者JH这四个PMOD连接器的其中一个上,因为这四个Pmod连接器是和bank35稳压器连接在一起的。下图描绘了一个Pmod接口的引脚分配。

Pmod连接器的引脚


Pmod连接器的引脚


我使用的Digilent公司的PmodCON1线端适配器仅输出电源、地和四个I/O信号,这些引脚足以用来驱动NeoPixel阵列,因为这个阵列仅仅需要电源、电源回复和数据输入引脚。

我们通过Din引脚来对一个像素的颜色进行编程。每一个NeoPixel需要一个24-bit控制字,包括8位绿色、8位红色和8位蓝色,排列的顺序见下图:

 24位数据的组成


24位数据的组成

NeoPixel没有时钟输入,而采用一个独特的自同步,不归零码的波形来表明位(bit)的值,见下图:

NeoPixel位时钟信号图


NeoPixel位时钟信号图

通过波形周期和占空比的变化来表明这个位(bit)的值是1还是0,周期时间为:T0H = 0.35微秒, T0L = 0.8微秒, T1H = 0.7微秒, and T1L = 0.6微秒。所有时间值都有± 150纳秒的容差。从这些时间来看,低(0)位(1.15微秒)和高(1)位(1.3微秒)相比,在周期上略有不同。在以后描述软件驱动的博文中,我们将详细分析这个串行通信的机制。

在一个NeoPixel接收到所有24位数据字之后,如果在50微秒内还没有开始接收另外一个数据字,那么它就会把接收到的24位数据字加载到一个内部寄存器中,并使用这个24位值来点亮它的三个LED。然而,如果在50微秒超时周期内,这个NeoPixel又开始接收另一个24位数据字,那么它就把之前接收到的数据字传送到它的Dout端口,而不是把数据字加载到内部寄存器。这个机制可以让你只使用一根串行信号线,通过一种非常简单的方式来控制很多像素。

在下一篇博文中,我将要介绍通过MicroZed I/O载体卡驱动NeoPixel所需要的Zynq PS和PL的架构。同时,为了激起你的兴趣,这是已经完成的方案所输出的波形示例,分别代表输出一个高(1)和低(0)位。

 NeoPixel高位输出


NeoPixel高位输出


NeoPixel低位输出


NeoPixel低位输出

原文链接:
http://forums.xilinx.com/t5/Xcell-Daily-Blog/Adam-Taylor-s-MicroZed-Chro...

© Copyright 2014 Xilinx Inc.
如需转载,请注明出处

热点文章
精选视频
推荐资源

中国授权培训机构

北京 电话:(010)82757632
      (010) 62192881
深圳 电话:(0755)86186715
武汉 电话:(027)61389792
成都 电话:(028)80821007
南京 电话:(025)66022032
西安 电话:(029)82230498
邮箱:sales@e-elements.com

中国授权经销商

香港 电话:(852)22127848
北京 电话:(010)84148118
成都 电话:(028)86528262
上海 电话:(021)33678387
深圳 电话:(0755)26584925
武汉 电话:(027)87322806
邮箱:china@avent.com
深圳 电话:(0755)26743210
上海 电话:(021)51696680
北京 电话:(010)51726678
成都 电话:(028)85139576
武汉 电话:(027)87690155
邮箱:
xilinx_enquiry@comtech.com.cn

社区主办


《电子产品世界》杂志社

内容提供


    赛灵思公司

Copyright ©2000-2015 ELECTRONIC ENGINEERING & PRODUCT WORLD. All rights reserved.
京ICP备12027778号-2 北京市公安局备案:1101082052