Zynq PS- PL第五篇:Adam Taylor MicroZed系列之25.doc

Zynq PS- PL第五篇:Adam Taylor MicroZed系列之25.doc

ID:27523017

大小:88.50 KB

页数:3页

时间:2018-12-04

Zynq PS- PL第五篇:Adam Taylor MicroZed系列之25.doc_第1页
Zynq PS- PL第五篇:Adam Taylor MicroZed系列之25.doc_第2页
Zynq PS- PL第五篇:Adam Taylor MicroZed系列之25.doc_第3页
资源描述:

《Zynq PS- PL第五篇:Adam Taylor MicroZed系列之25.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、ZynqPS/PL第五篇:AdamTaylorMicroZed系列之25  我们先来了解一下上节中介绍的ZynqSoCPS/PL接口,我创建一个很简单的外设,使用的是DSP48E1的DSP逻辑片,依靠这个外设第一个寄存器内的控制字执行乘法,加法或减法。假设我们需要为一种工业控制系统在Zynq内执行更复杂的计算。通常,这些系统将通过热敏电阻、热电偶、压力传感器、铂电阻温度计(PRT)等会产生多个模拟输入(通过ADC)。  来自这些传感器的数据需要经过多次转换函数处理,将来自ADC的原始数据值转换成可进行下一步计算的数据。其中最好的实例是使用ZynqXAD

2、C,其中在XADCPS.h文件内包含了一些内函数/宏,可将原始XADC值转换成电压或温度。然而,这些转换是非常简单的。转换越复杂,Zynq处理的时间越长。如果ZynqSoC的可编程逻辑(PL)用于执行计算,则可大大加快计算速度。另外一个好处是,处理器将释放空间,可执行其他软件任务,这样在使用PL进行计算时,处理带宽有了显著改善。  转移函数越复杂,处理器用来计算结果的时间越长。举个例子,将大气压力(单位:毫巴)转换成海拔高度(单位:米),(参见我在XcellJournalIssue80的博客文章-“FPGA数学基础”)。以下的转换函数列出0-10毫巴压

3、力的海拔高度(单位:米):  利用ZynqSoC的处理系统(PS)Zynq按照以下代码行,执行这个转换函数很简单,其中“结果”是浮点数;转换函数中定义的a,b,和c是常数;且i为输入值:  在这个例子中我将在“for”循环语句中使用以上嵌套代码模拟输入值的步骤。代码通过STDOUT输出结果。因为我要计算执行此计算的时间,我将使用专用定时器来判断计算时间,在开始计算时打开计时器,在结束计算时关闭计时器:    虽然这段代码可能没有提供最准确的时间基准,但足以说明我们将在接下来几个博客中研究的主体。在基于ZynqMicroZed板上运行以上代码,我在终端窗

4、口中得出以下结果。注:由于我对STDOUT结果的格式进行了设定,可将这个输出结果按照逗号分隔变量(CSV)文件提取到MicrosoftExcel:    对输出结果执行简单的分析表明,计算结果平均需要25CPU_3x2x时钟周期。结果还不错。使用一个666MHz的处理器时钟发现,这个计算占用76纳秒。我相信很多人发现ADC输出不是浮点数,它是一个固定点数。使用整数函数重写函数代码得出类似的平均时钟周期数。但是我认为在这个例子中,浮点数会更容易使用,避免解释定点数系统背后的主题。  确定一个基准时间,即ZynqPS需要多长时间执行中等复杂程度的转换函数,

5、接下来我们可以看下当我们将这个计算卸载到设备的PL侧,计算同一函数所需要的时间。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。