88lifa利发国际娱乐网 > 可编程逻辑 > FPGA/ASIC技术 > 正文
  1. SPI接口
    +关注
    关注
    文章 58
    浏览量 14767

创建主/从SPI接口的两种方法详谈

2017年12月30日 05:03 次阅读
最近,Digilent开源技术社区收到了两个关于如何在Zynq SoC和Zynq UltraScale + MPSoC上实现SPI接口的问题。在回答了这些问题之后,我认为有必要写一篇如何实现SPI的文章,在此分享。 当我们在设计中使用Zynq SoC或Zynq UltraScale + MPSoC时,可以有两种方法来实现SPI接口: 1. 使用PS端的SPI控制器(PS端有两个SPI控制器) 2. 在PL端使用配置成标准SPI通信的AXI Quad SPI (QSPI) IP模块 为Zynq SoC和Zynq UltraScale+ MPSoC实现SPI接口(以Arty Z7为例) 我们可以根据应用的要求来选择使用哪种方法实现SPI控制器。两种SPI的实现方式都支持四种SPI模式,并且都可以作为SPI主设备或SPI从设备。下表列出了它们之间的一些差异: 为Zynq SoC和Zynq UltraScale+ MPSoC实现SPI接口(以Arty Z7为例) 首先,我们演示一下如何使用PS端的SPI控制器进行SPI传输。在Zynq MIO configuraTIon选项卡中选中SPI控制器,这就将SPI包含在了设计中。在这个例子中,我将把SPI信号连接到Digilent ARTY Z7开发板的SPI接口,这需要通过PL I/O使用EMIO。 图:启用SPI并将端口映射到EMIO 图:启用SPI并将端口映射到EMIO 在选择好相应的选项后,唯一要做的就是连接SPI端口的I/O。具体要如何进行连接取决于我们是需要配置一个SPI主设备还是从设备。在SPI控制器上,每个SPI端口都有对应的可用输入(xxx_i)输出端口(xxx_o)。端口的正确连接十分关键,如果连接错误,当运行应用程序时,将得到完全错误的运行结果,这可能需要花费我们几个小时的时间来寻找问题的源头。另外,当配置成SPI从设备时,有一个名称为Slave Select的输入;而当用作SPI主设备时,将有三个选择引脚。 当正确配置好I/O并创建了工程,我们就可以使用应用软件中的SPI配置选项将SPI控制器配置成为主设备或从设备。使用PS SPI控制器配置和传输数据,需要使用由XSPIps.H定义的BSP(板卡支持包)所提供的API接口。在第一个例子中,我们将SPI控制器配置为SPI主设备。 默认情况下,SPI使用8位传输。但是,我们也可以将传输配置成更大的16或32位。对于8位传输,我们在C程序中可以使用u8数据类型。对于16位或32位传输,分别使用16位或32位对数据进行读写缓存。 一开始,这可能会导致一些问题或生成编译器警告,因为执行如下所示的两个数据传输API函数都需要发送和接收缓冲区的数据类型为u8: s32 XSpiPs_Transfer(XSpiPs *InstancePtr, u8 *SendBufPtr, u8 *RecvBufPtr, u32 ByteCount); s32 XSpiPs_PolledTransfer(XSpiPs *InstancePtr, u8 *SendBufPtr, u8 *RecvBufPtr, u32 ByteCount); 为了解决使用u16和u32数据类型的问题,我们需要将缓冲区转换为u8指针,如下所示: XSpiPs_PolledTransfer(&SpiInstance, (u8*)&TxBuffer, (u8*)&RxBuffer, 8); 这样设置将就使得我们能够传输大小为8,16或32位的数据了。为了演示这一设置,我将SPI主设备IO连接到Digilent Digital Discovery口袋仪器来测试传输的数据。在应用软件中使用上述方法将数据宽度从8位变为16位。 图:Arty Z7开发板与Digital Discovery口袋仪器 图:Arty Z7开发板与Digital Discovery口袋仪器 图:Zynq SoC PS SPI主设备发送四个8位字 图:Zynq SoC PS SPI主设备发送四个8位字 图:PS SPI主设备发送四个16位字 图:PS SPI主设备发送四个16位字 另一个实现SPI接口的方法是使用AXI QSPI IP核,使用这种方法需要在Vivado中进行的设置比较多,需要花费比较长的时间。在AXI QSPI配置对话框中,我们可以配置传输的宽度、频率和从设备的数量。最重要的一个选项就是选择AXI QSPI IP核是作为SPI主设备还是从设备。如果要配置成SPI主设备,就必须选中enable master mode选项。如果要配置成为从设备,则必须取消该选项以确保SPISel输入引脚的存在。当SPI IP核作为从设备时,该引脚需要连接到主设备的slave select.端口。 图:配置AXI Quad SPI 图:配置AXI Quad SPI

技术专区

  1. 美高森美PolarFire FPGA器件荣获《今日电子》和21ic.com颁发 “2017年
  2. 加速新科技,驱动智未来
  3. DSP专家给你一个选择FPGA的理由
  4. AccelerComm与Achronix实现5G极化码与Speedcore eFPGA集成来支持客户5G方
  5. 2018年赛灵思意图大举进攻机器学习市场
关注88lifa利发国际娱乐微信
有趣有料的资讯及技术干货
下载发烧友APP
打造属于您的人脉电子圈
关注发烧友课堂
锁定最新课程活动及技术直播
收藏 人收藏
分享:

评论

相关推荐

用单片机软件模拟spi接口的操作方法

SPI(Serial Peripheral Interfacer 串行外设接口)是用于微处理器臌控制...
发表于 2017-11-13 14:27 1597次阅读
用单片机软件模拟spi接口的操作方法

【VEML6075紫外线检测试用体验】+3.SPI接口测试

发表于 2017-04-16 14:20 1109次阅读
【VEML6075紫外线检测试用体验】+3.SPI接口测试

MSP430的spi时钟始终没有输出

发表于 2017-02-28 15:09 1821次阅读
MSP430的spi时钟始终没有输出

【LinkIt 7687试用体验】spi接口应用

发表于 2016-12-15 14:28 457次阅读
【LinkIt 7687试用体验】spi接口应用

求助。SPI接口主模式电路设计。

发表于 2016-11-25 00:00 873次阅读
求助。SPI接口主模式电路设计。

串口 pSRAM,Serial pSRAM,SPI接口 pSRAM大容量32Mbit,SQPI pSRAM,QPI pSRAM JSC一级代理

发表于 2016-05-10 09:49 1406次阅读
串口 pSRAM,Serial pSRAM,SPI接口 pSRAM大容量32Mbit,SQPI pSRAM,QPI pSRAM JSC一级代理

支持单线SPI接口的烧录技术实现

常规的SPI接口总线是双数据线全双工的同步通讯总线,在芯片的管脚上占用四根线。这里将介绍一种半双工的...
发表于 2015-10-15 11:02 681次阅读
支持单线SPI接口的烧录技术实现

无法往SPIBUF里写入数据的原因是什么?pic24FJGA110,是因为寄存器设置不对吗

发表于 2015-09-28 21:32 991次阅读
无法往SPIBUF里写入数据的原因是什么?pic24FJGA110,是因为寄存器设置不对吗

PIC24FJGA110与FPGA通信验证,有时钟、片选信号没有数据的问题?

发表于 2015-09-27 17:15 964次阅读
PIC24FJGA110与FPGA通信验证,有时钟、片选信号没有数据的问题?

如何把一个OLED屏幕用在树莓派上(希望能帮到大家)

发表于 2014-09-05 11:47 14401次阅读
如何把一个OLED屏幕用在树莓派上(希望能帮到大家)

DS1390-DS1394低电压SPI/3线接口...

低电压串行外设接口(SPI™) DS1390/DS1391/DS1394和低电压3线DS1392/D...
发表于 2012-11-15 11:56 1371次阅读
DS1390-DS1394低电压SPI/3线接口...

MAX5700双通道DAC的家庭内部电压基准和S...

MAX5700/MAX5701/MAX5702双通道,低功耗,8/10/12位,电压输出数字模拟转换...
发表于 2012-10-08 11:28 606次阅读
MAX5700双通道DAC的家庭内部电压基准和S...

基于FPGA的可复用SPI接口设计

根据业界通用的SPI总线的标准,本文设计一种可复用的高速SPI总线。设计过程中很多变量都采用参数形式...
发表于 2012-09-04 14:22 2878次阅读
基于FPGA的可复用SPI接口设计

SPI总线协议的通信原理及应用举例

SPI的通信原理 很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根...
发表于 2012-08-28 11:16 2430次阅读
SPI总线协议的通信原理及应用举例

FPGA在智能手机设计中的应用

简介 世界领先的手机制造商们的广告有什么共同点? 答:他们几乎从来都不说他们的产品能够打电话除非是某...
发表于 2012-07-23 09:31 3364次阅读
FPGA在智能手机设计中的应用

MAX5113带SPI接口的14位电流DAC

MAX5113是14位,9通道,电流输出数字-模拟转换器(DAC)。该器件采用低为+3.0 V电源,...
发表于 2012-07-16 15:11 655次阅读
MAX5113带SPI接口的14位电流DAC

通过SPI接口协议实现DSP与其它设备的通信

随着信息技术革命的深入和计算机技术的飞速发展,DSP技术也正以极快的速度被应用到科技和国民经济的各信...
发表于 2012-04-15 10:56 1158次阅读
通过SPI接口协议实现DSP与其它设备的通信

MAX1441与触摸屏传感器的SPI接口设计指南

MAX1441为双通道接近检测与触摸屏传感器,本文介绍了在产品开发过程中如何使用其接口固件,以简化M...
发表于 2012-04-09 11:06 577次阅读
MAX1441与触摸屏传感器的SPI接口设计指南

AVR单片机串行接口SPI接口应用设计

使用的同步串行三线SPI接口,可以方便的连接采用SPI通信协议的外围或另一片AVR单片机,实现在短距...
发表于 2011-11-09 17:37 1413次阅读
AVR单片机串行接口SPI接口应用设计

科胜讯推出SPI接口控制器型调制解调器CX930...

科胜讯系统公司推出一款采用 SPI 接口的控制器型 CX93040 调制解调器,CX93040 适用...
发表于 2011-06-13 08:50 381次阅读
科胜讯推出SPI接口控制器型调制解调器CX930...

PIC单片机与串行闪存的SPI接口设计

PIC单片机以性能稳定、品种众多等特点在工业控制、仪器仪表、家电、通信等领域得到广泛应用。虽然很多型...
发表于 2011-01-14 19:49 786次阅读
PIC单片机与串行闪存的SPI接口设计

PIC单片机与串行闪存的SPI接口设计

PIC单片机以性能稳定、品种众多等特点在工业控制、仪器仪表、家电、通信等领域得到广泛应用。虽然很多型...
发表于 2011-01-14 19:49 541次阅读
PIC单片机与串行闪存的SPI接口设计

SPI接口实险,LED数据管显示

SPI接口实险,LED数据管显示。 1、程序通过SPI接口输出数据到HC595芯片驱动LE...
发表于 2010-06-30 11:19 390次阅读
SPI接口实险,LED数据管显示

MMC卡SPI接口电路

MMC卡既可以采用MMC总线访问,也可以采用SPI总线访问。大部分微处理器都有SPI接口而没有MMC...
发表于 2009-03-29 23:41 1600次阅读
MMC卡SPI接口电路

配备SPI接口的快速以太网控制器(Micrel)

麦克雷尔公司 (Micrel Inc.)推出 KSZ8851。KSZ8...
发表于 2008-08-08 10:23 584次阅读
配备SPI接口的快速以太网控制器(Micrel)

88lifa利发国际娱乐

百度360搜索搜狗搜索