亚当泰勒玩转MicroZed连载35:用MicroZed驱动Adafruit RGB NeoPixel LED阵列(第6节)_第1页
亚当泰勒玩转MicroZed连载35:用MicroZed驱动Adafruit RGB NeoPixel LED阵列(第6节)_第2页
亚当泰勒玩转MicroZed连载35:用MicroZed驱动Adafruit RGB NeoPixel LED阵列(第6节)_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

亚当泰勒玩转MicroZed连载35:用MicroZed驱动AdafruitRGBNeoPixelLED阵列(第6节)我们已经完成了以下工作:设计AdafruitNeoPixelLED驱动器、把它集成到Vivado框图中以及和系统的其它部分相连接,现在,我们需要思考一下将要采用什么样的验证方案,也就是说,我们需要做哪些测试来证明这个设计可以成功的工作?通常情况下,这个阶段的复杂程度要超过设计本身。这是一个相当简单的设计案例,所以我将要采用的验证方案需要完成以下任务:

1.验证MicroZed、I/O载体板卡以及NeoPixel阵列之间的硬件接口。

2.使用VHDL仿真器对NeoPixel驱动器进行仿真。

3.开发测试软件对BRAM所有的地址进行读写操作,保证PS(处理器系统)能够正确地访问存储器。

4.开发测试软件去驱动阵列中的第一个NeoPixel,验证NeoPixel驱动器的功能,然后使用示波器验证发送到NeoPixel阵列的时序波形。

5.开发测试软件去驱动NeoPixel阵列中不同位置上的一些像素点(比如阵列中的第二个像素点、中间的像素点以及最后的像素点)。

6.使用一个终端程序去验证最终版本的软件是否能对正确的命令、错误的命令以及乱序的命令等做出正确的反应。

7.使用一个开发好的GUI来执行最终的功能验证,保证最终的设计可以按照最初的说明那样进行工作。上面的这些步骤可能看起来比较复杂。然而,在许多类似这个简单应用的情况下,实现起来相对来说是比较简单的。通常情况下,任何测试的第一要素就是要保证硬件能正确工作。(参见我在Xcell第82期发表的文章“设计一个FPGA硬件的基本要素”,以及第85期的文章“进行硬件设计的一种无痛的方法”)。使用MicroZed系统带来的一个好处是,ZynqSoC中的底层硬件、MicroZed板以及MicroZedI/O载体板卡其本身都是验证成熟的,这就减少了需要用在系统测试上的时间,可以开始验证我们的功能需求。(但是,这并不意味这我们将正确地实现SoC的功能)在开始验证过程(上面的第1点)之前,我们还需要在硬件层次上去验证下面几个方面:

1.从IO载体板卡的PMOD连接器输出到NeoPixel的信号的正确性:最好是在MicoZed板没有上电的时候,使用万用表去测量。我们一定要保证NeoPixel阵列的VCC和GND信号是正确连接的。2.用于对NeoPixel阵列进行驱动和供电的IObank的电压设置正确性:这也可以简单地用万用表来测量电压是否是3.3V。3.当我们证明了物理连接和电源连接后,一个不错的想法是把MicroZed板子上电,用万用表检查NeoPixel阵列供电的稳定性。3v3Bank35供电测试点我上一篇博文主要讲的是设计NeoPixel驱动器以及使用ModelSim来对其进行仿真,这已经完成了验证方案中第2点描述的内容,这样就可以进行到第3点:验证ZynqSoC的PS和PL的功能性能以及它们两者之间的交互。因为我们这许多周—35周,一直在使用MicroZedPS设计,我很有信心把PS正确配置成从SD卡进行boot,以及从DDRRAM执行程序。然而,在这个系列博文中,这是第一次使用BRAM控制器和BRAM,这也是为什么我要开发测试软件来保证PS能正确地对存储器进行读写的原因。对驱动NeoPixel阵列的系统能力的测试,到了验证方案的第4和第5点时,已经基本成型了。这两点有着密切的联系,是一个测试到另一个测试的自然演进。第一个测试软件仅仅对一个NeoPixel进行写操作并检查时序,我在示波器上看到的波形与VHDL仿真产生的波形具有对应关系,并且NeoPixel能用正确的颜色点亮。测试成功。然后我修改了这个测试代码,用全色度的红、绿和蓝去驱动一个像素点,保证驱动器能够正确地设置像素点的颜色。一旦一个像素点可以被驱动,这个程序就很容易修改成用不同颜色驱动特定的像素点,这个是测试控制器能够正确地驱动LED条上一个特定的像素点。最后,把测试软件修改成在相同时间,把LED条上所有的像素点都驱动成同样的颜色,在这个测试中,我选择使用白色,因为这个颜色需要打开NeoPixel阵列中所有红色、绿色以及蓝色的LED,因此,可以保证从I/O载体板卡驱动过来的最大电流能够支持这个LED条工作。当这一系列测试结束时,我们有信心能够驱动NeoPixel阵列。然而,我们还没有验证将要用来控制NeoPixel颜色设置的命令接口,我将在下一篇博文中描述测试方案中最后两点关于串行接口

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论