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

作者:Steve Leibson, 赛灵思战略营销与业务规划总监

这篇连载博文一直在探讨如何驱动Adafruit NeoPixel RGB LED条。在前面的两篇博文中,我已经介绍了NeoPixel的驱动波形、NeoPixel连接的硬件以及NeoPixel的电源要求,现在是时候来分析一下这个设计方案的架构了,该架构是采用Zynq SoC中的PS(处理器系统)和PL(可编程逻辑)来实现的。

先回想一下需求,我们想要驱动可变数量的NeoPixel,这些NeoPixel要能够单独编址,并且在程序执行的时候,每一个像素要能够独立地进行升级。

让我们把需求再扩大一些,在我的脑海中第一次考虑这个示例方案时,我在笔记本电脑上编写了这样一个图形界面,我要驱动的阵列中的每一个LED都有一个按钮与之对应。当我点击一个特定的LED按钮时,我想要能给这个LED选择一个24位的颜色。一旦我为所有的LED都选择了颜色,这些命令将会被下载到Zynq中,用于更新NeoPixel的状态。

NeoPixel图形界面


NeoPixel图形界面

很显然,PS将用于处理跟图形界面程序之间的所有通信,保存像素的值,并把这些数据都传输给PL中自定义的NeoPixel驱动器。为了保证通信的可靠性,我需要定义一个简单的数据传输协议。

这就意味着我们需要在器件的PS和PL之间传输数据,这是这个范例的全部设想中的一部分工作。我想到要使用一个双端口RAM来实现PS和PL之间的通信,它可以让PS把像素值从一个端口中写入,而PL则从另外一个端口中把数据读出。

在这块RAM中,每一个像素都被分配了一个地址,每个存储单元都保存了8位的绿色、红色和蓝色值。BRAM的首地址用于存储所要配置的像素的数量,如果把首地址的值设置为0,则NeoPixel阵列就不能被更新了,这就相当于是一个使能信号。

因此,可以把这种处理方式表达为下面这个系统方案框图:

系统框图


系统框图

非常有帮助的是,在Vivado IP集成器中,已经有了很多IP库所提供的IP模块,可以用来实现我想要的功能。这些IP模块有两个好处,一个是可以节省我用来实现这个方案的时间,另一个是可以让我把设计精力都聚焦在那些最能体现我价值的地方。(对于商业应用来说,这非常重要)

除了PS和PS复位模块之外,设计方案还会使用以下IP模块。
•AXI互连矩阵 – 用于在PL内部实现灵活的AXI总线连接。在这个方案中,只需要有一个AXI主模块。
•AXI Bram控制器 – 用于通过AXI互连总线与BRAM模块进行连接,这样,PS可以通过这个控制器模块来访问BRAM存储器。
•双端口BRAM – 一个端口连接在AXI BRAM控制器上,另一个端口与自定义的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