Zynq的PS端的SPI

摘要:
它旨在为视频监控、驾驶员辅助和工厂自动化等高端嵌入式应用程序提供所需的处理和计算性能水平。因此,FPGA资源可用于扩展可由SPI控制器控制的设备。在使用SPI控制DAC8811的问题描述设计中,芯片使用SPI进行通信。每次通过SPI写入16位寄存器时,都可以达到调整输出的目的。然而,在使用zynq的SPI控制来控制设备之后,需要发送两个字节来控制DAC8811的寄存器更新。

Zynq

  赛灵思公司(Xilinx)推出的行业第一个可扩展处理平台Zynq系列。旨在为视频监视、汽车驾驶员辅助以及工厂自动化等高端嵌入式应用提供所需的处理与计算性能水平。Zynq中包含FPGA资源和ARM资源,可用AXI片内总线进行互联。

PS端的SPI

  在zynq中,PS端有两个SPI控制器,每个控制器可以接3个设备,因为zynq除了ARM之外,还含有FPGA资源,因此可以利用FPGA资源将SPI控制器可控制的设备进行一个扩展,本次在使用SPI中遇到了一些问题,在此记下。

使用SPI控制DAC8811的问题描述

  设计中,做了一个程控放大器,采用的芯片是DAC8811,这个芯片是采用SPI进行通讯,它里面是一个16位的寄存器,每次通过SPI写这个16位的寄存器就可以达到调整输出的目的。但是使用zynq的SPI控制控制该设备后,因为zynq提供的SPI的裸机驱动,每次只能发送一个字节,因此控制DAC8811的寄存器更新需要发送两个字节。我使用spi连续发送两个字节后,程控放大器的放大倍数和我设置的有区别,更改写入的值出现貌似无规律的跳变,无法对该芯片进行正常的控制。

原因

  将spi输出的信号利用示波器进行观察,发现似乎并没有什么毛病,于是我将时钟信号和片选信号都进行观察,利用片选信号的上升沿捕捉信号,发现在发送了第一个字节后发第二个自字节的中间,片选信号由低电平跳变为高电平,这个时间是很短的,可以认为这是一个高频信号。而DAC8811在片选信号上升沿时将会将寄存器中的值更新到输出,这样实际上就是寄存器只接收了一个字节就更新了,本来是应该接收两个字节后更新的。

  查看zynq的spi代码,里面是有设置各个延时的函数的,但是设置了延时到最小值,还是会出现着这样的问题。

解决方案

  方案一:使用zynq的PL资源写一个高频滤波器,对片选信号进行滤波,已达到将高频跳变去除。

  方案二:高频的东西滤除更简单的是使用电容,根据容抗的计算公式:
Zynq的PS端的SPI第1张
  电容值越小,容抗越大,在这里将片选信号线对地接一个2nF的电容即可达到目的。
  为了解决这个问题,我是通过加电容实现的。因此设计时应该在片选信号和地之间预留一个接电容的空间。
根本原因
  产生这种现象的根本原因是ps端配置不对造成。
Zynq的PS端的SPI第2张

Zynq的PS端的SPI第3张

这样配置即可解决。

免责声明:文章转载自《Zynq的PS端的SPI》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Es使用kibana增删改查以及复杂查询如何设计新手用户引导(转)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SQL-Redis使用详细教程

 一、Redis基础部分:  1、redis介绍与安装比mysql快10倍以上  *****************redis适用场合**************** 1.取最新N个数据的操作 2.排行榜应用,取TOP N 操作 3.需要精确设定过期时间的应用 4.计数器应用 5.Uniq操作,获取某段时间所有数据排重值 6.实时系统,反垃圾系统7.Pu...

Python学习之路_day_04(字符串与列表的内置方法)

一、字符串内置方法的基本使用1 用途:记录描述性的状态,比如人的名字、地址、性别 2 定义方式:在"",'',""""""内包含一系列的字符msg='hello' #msg=str('hello')res1=str(1)res2=str([1,2,3])print(type(res1),type(res2))info="'xxx'" 3 常用操作...

Webpack实战(二):webpack-dev-server的介绍与用法

为什么要用webpack-dev-server 在开发中,我们都可以发现仅仅使用Webpack以及它的命令行工具来进行开发调试的效率并不高,每次编写好代码之后,我们需要执行npm run build命令更新js文件,然后再刷新页面,才能看到更新效果。webpack-dev-server正好解决了这个问题,是一款便捷的本地开发工具。 webpack-dev-...

老白的物联网学习路线

第1季 物联网的初步认知 1.1当下的时代特征和标签 1.2物联网的市场量级,总结:物联网是未来的风口 1.3物联网的整体架构:感知层,网关,网络层,应用层 1.4全球以及中国的物联网的产业链布局 1.5物联网的八大产业链具体举例:智慧农业,智慧城市,智慧交通等等 1.6物联网的具体产品的创新应用:主要以各大巨头通过语音控制来布局智能家居作为分析 1.7...

springboot 错误记录

1.拦截器中handler cannot be cast to HandlerMethod java.lang.ClassCastException: org.springframework.web.servlet.resource.ResourceHttpRequestHandler cannot be cast to org.springframewo...

前端工程打开速度优化的循序渐进总结

优化的重要指标: 页面打开速度(Fully Loaded) 网站首页(或列表页)之 First View :打开速度应在 3秒+0.5秒 内; 对 Repeat View 时的各项指标暂不作要求; 首屏打开时间(Start Render) 网站首页(或列表页) 之 First View :首屏渲染速度应在 1秒+0.5秒 内; 文档解析完毕时间(Do...