在上一篇博文中,我介绍了让人着迷的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连接器的引脚
我使用的Digilent公司的PmodCON1线端适配器仅输出电源、地和四个I/O信号,这些引脚足以用来驱动NeoPixel阵列,因为这个阵列仅仅需要电源、电源回复和数据输入引脚。
我们通过Din引脚来对一个像素的颜色进行编程。每一个NeoPixel需要一个24-bit控制字,包括8位绿色、8位红色和8位蓝色,排列的顺序见下图:
24位数据的组成
NeoPixel没有时钟输入,而采用一个独特的自同步,不归零码的波形来表明位(bit)的值,见下图:
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低位输出
原文链接:
http://forums.xilinx.com/t5/Xcell-Daily-Blog/Adam-Taylor-s-MicroZed-Chro...
© Copyright 2014 Xilinx Inc.
如需转载,请注明出处
本视频基于Xilinx公司的Artix-7FPGA器件以及各种丰富的入门和进阶外设,提供了一些典型的工程实例,帮助读者从FPGA基础知识、逻辑设计概念
本课程为“从零开始大战FPGA”系列课程的基础篇。课程通俗易懂、逻辑性强、示例丰富,课程中尤其强调在设计过程中对“时序”和“逻辑”的把控,以及硬件描述语言与硬件电路相对应的“
课程中首先会给大家讲解在企业中一般数字电路从算法到流片这整个过程中会涉及到哪些流程,都分别使用什么工具,以及其中每个流程都分别做了
@2003-2020 中国电子顶级开发网