Adam-Taylor

【视频】:提升图像处理开发的 10 大技巧

Adam Taylor 讨论了使用 Zynq和 Zynq UltraScale SoC 开发图像处理应用时学到的一些技巧。

Adam Taylor推荐:入门FPGA开发世界的两款套件

作者:stark

Adam Taylor是世界公认的嵌入式系统设计和开发方面的专家,他撰写了大量的科技博客受到了专业工程师以及爱好者的欢迎。越来越多的工程师选择采用FPGA器件来实现嵌入式系统设计,除了FPGA板卡的合理售价,还有方便的开发工具以及HLS(高层次综合)特性给工程师带来更大的便利。随着FPGA开发生态系统的不断扩大,各种功能的IP模块资源也越来越丰富,如开发工具厂商提供的IP模块、IP核资源网站OpenCore等。如果你想入门FPGA开发世界,Adam Taylor推荐了两款板卡:ARTY dev boardArty Z7 dev board

创建可靠FPGA设计的10 大技巧

从Zynq 第一块开发板推出开始就一直试用并发布博文分享实践经验的亚当.泰勒(Adam Taylor)先生, 刚刚在EEtimes的网站上发布了一篇非常给力的文章, 名字叫做“创建可靠FPGA设计的10 大技巧”(英文) 无论对于初学者还是有经验的FPGA设计者都是一份宝贵的资料, 推荐收藏并分享!

  1. Start from the system level

Adam Taylor教你如何让你的硬件设计轻松自如

数字硬件设计调试压力大、耗时长,真的可以轻松自如?英国工程与技术学会的研究员和特许工程师Adam Taylor说 “能”!

工程设计项目中最令人振奋的时刻之一就是第一次将硬件移到实验室准备开始集成测试的时候。开发过程中的这个阶段通常需要很长时间,也会对所有的项目工程师造成很大的压力。不过,现有的工具和方法能减轻压力,帮助推进项目进展。

让我们来看一下,如何在将设计推进到更高层面的过程中最大限度地减少可能发生的任何问题,以及如何快速顺利地通过调试阶段。

从第一天起就要设想如何进行测试
所有工程师都知道,随着开发进程的推进,修改问题的成本也会相应增加。一旦设计方案最终定型并投产,再修改引脚输出错误的成本必然高于早期设计评估时修改的成本。此外,在测试与集成方面也同样存在成本问题,越早考虑硬件、FPGA、系统等的测试问题并编写测试规范,就越便于工程设计团队考虑到必要的测试点、连接和功能性。测试的目的是确保能推出可满足用户具体要求的安全系统。因此,我们必须确保测试能体现所有要求,而功能测试则要求应能实现流程传递并可跟踪设计要求(即每个测试均应满足其所对应的需求)。

By Adam Taylor

在上期的博客中,我们同时研究了如何通过Zynq SoC的PS(处理器系统)MIO和PL(可编程逻辑)EMIO来使用SPI通信。本期博客中为了给OLED模块进行上电,我们将通过EMIO同时使用SPI和GPIO。

为了控制OLED模块,我们需要使用下表中定义的和在第81部分中简要提到的一些GPIO:

信号

FPGA IO

PS GPIO标识号

描述

方向

复位

U9

54

低电平复位

输出

VDD

U12

55

低电平数字电源使能

输出

VBatt

U11

56

低电平Dc/Dc电源使能

输出

数据/命令

U10

57

数据/命令。命令 = 0

输出

By Adam Taylor

从上周的博客开始,我们已经进入到Zedboard(而不是MicroZed)板上的OLED显示模块的编程了。然而在正式进入具体的OLED编程之前,我认为有必要验证我们是否已经为应用正确地配置了SPI端口。这个操作可以为我们后续的步骤减少很多时间,并且做起来也很容易。事实上它确实很简单,本篇博客中我会展示两种不同的方法。第一种方法中会通过Zynq SoC的MIO来与SPI管脚接口,而第二种方法则会通过EMIO。两者的不同之处在哪里呢?请继续往下看。

By Adam Taylor

到目前为止的文章中,我们已经研究了MicroZed开发板上使用以太网的数据传输问题。我们还没有涉及片上外设通信的问题:实时时钟,非易失内存以及独特的传感器。这些通信涉及到I2C或者SPI总线。下面我们就来看看两者:

  • SPI(串行外设接口)是一个原先由摩托罗拉半导体开发的串行、4线、全双工接口。后来它发展成为一个工业标准,并且在模块间通信中广泛使用——比如在外设和处理器或有相同模块的FPGA间传输数据中。SPI通信经常用在半导体内存、ADC、CODEC、MMC和SD内存卡上。SPI系统架构包括一个单一主机或多主机和一个或多个从机。
  • I2C(内部集成电路,通常发音为“I方C”)接口是一个多主机、2线的串行总线,由飞利浦公司于20世纪80年代开发,目的是开发出和SPI有类似作用的总线。由于2线的特征,其只有半双工模式。它的优势在于:你减少了2个管脚——在20世纪80年代,40管脚的DIP封装就被认为“很大”了,在当时减少2个管脚起到的作用比如今可大的多了。I2C标准得以延续至今源于它的经济和实用性。

作者:Adam Taylor

在Adam Taylor玩转MicroZed系列的前期部分中,我们介绍了IP栈的概念。(见“Adam Taylor玩转MicroZed系列第79部分:Zynq SoC以太网第3部分”)接下来就是在我们的设计中使用该协议栈了。SDK开发环境允许我们创建BSP的时候包含一个轻量级的IP栈(lwIP)。lwIP是个在一系列嵌入式系统中使用到的开源IP栈。原先由瑞典计算机科学学院为了减少创建IP栈的工作而开发。

By Adam Taylor

在本系列博客的前两部分中,我们研究了带有Zynq SoC PS(处理器系统)的以太网MAC(介质访问控制层),包括深入探讨了一个MAC使用范例。以太网MAC是一个基础的构建模块,它允许我们实现一个IP栈,然后因此给我们的工程创建联网条件。

该IP协议栈,有时候称为TCP/IP协议栈,因为两者总是出现在一起的,是一系列叠加在以太网数据帧顶端的协议。这些协议允许应用基于网络来通信。IP协议栈因而包含一系列由OSI协议模型划分的不同协议。如果我们想要解析一个IP协议栈,我们需要找到下列协议:

By Adam Taylor

在先前的几篇博文中我们介绍了Zynq SoC上的千兆以太网控制器,其提供了介质访问控制层(MAC)功能。这是搭建一个IP栈的第一步。现在借助几个赛灵思SDK中提供的范例,我们将研究如何配置MAC来发送和接收数据包,该SDK显示了MAC具体是如何工作的。

同步内容