【AD9361 数字接口CMOS LVDSSPI】D 串行数据之SPI

news2024/12/24 21:03:18

【AD9361 数字接口CMOS &LVDS&SPI】D部分 接续
【AD9361 数字接口CMOS &LVDS&SPI】A 并行数据之CMOS

串行外设接口(SPI)

SPI总线为AD9361的所有数字控制提供机制。每个SPI寄存器的宽度为8位,每个寄存器包含控制位、状态监视器或其他控制器件所有功能的设置。以下介绍此接口的细节。

SPI功能层

可以通过在SPI配置寄存器中设置位值来配置SPI总线。该寄存器是对称的;即 D6 等效于 D1,D5 等同于 D2(D4 和 D3 未使用)。该器件在上电时的默认模式为MSB优先寻址,但由于这种对称性,可以接受对SPI配置寄存器的LSB优先写入。对称位是或在一起的,因此设置一个位会在对中设置两个位。当 D5 和 D2 保持低电平时,位顺序为 MSB 优先,而当置高电平时,位顺序交换为 LSB 优先。正确配置后,所有后续寄存器写入都必须遵循所选格式。
默认情况下,总线配置为 4 线接口。如果 D6 和 D1置为高电平,则 SPI 总线配置为 3 线接口。
D7 和 D0 在置高时将所有寄存器异步复位为默认值,并且必须先清除这些位,然后才能更改其他寄存器。
以下将介绍每个SPI总线信号。

[1] SPI_ENB

SPI_ENB是从BBP驱动到AD9361的总线使能信号。SPI_ENB在第一个SPI_CLK上升沿之前被驱动为低电平,通常在最后一个SPI_CLK下降沿之后再次被驱动为高电平。AD9361在SPI_ENB为高电平时忽略时钟和数据信号。如果AD9361是SPI总线上唯一的器件,则可以SPI_ENB连接为低电平。
当该输入为高电平时,SPI_DO 和 SPI_DI 引脚转换至高阻抗状态。如果在任何通信周期内被驱动为高电平,则该周期将暂停,直到SPI_ENB重新激活为低电平。

[2] SPI_CLK

SPI_CLK是由BBP驱动到AD9361的接口参考时钟。它仅在SPI_ENB低时处于活动状态。最大SPI_CLK频率为 50 MHz。

[3] SPI_DI、SPI_DO和SPI_DIO

配置为4线式总线时,SPI利用两个数据信号:SPI_DI和SPI_DO。 SPI_DI是从BBP驱动到AD9361的数据输入线,SPI_DO是从AD9361到BBP的数据输出。
配置为 3 线总线时,SP_DI 用作接收和发送串行数据的双向数据信号。在3线配置中,该信号在本节中称为SP_DIO,以区分这两种配置。
数据信号在SPI_CLK的上升沿发射,并由BBP和AD9361在SPI_CLK的下降沿进行采样。SPI_DI(或SPI_DIO)在所有事务期间将控制字段从BBP传送到AD9361,并在写入事务期间将写入数据字段传送到AD9361。SPI_DO(或SPI_DIO)在读取事务期间将返回的读取数据字段从AD9361传送到BBP。
AD9361在这些引脚上不提供任何弱的上拉或下拉。当SPI_DO处于非活动状态时,它以高阻抗状态浮动。如果SPI_DO上始终需要有效的逻辑状态,则应在PCB上添加一个外部弱上拉/下拉。

SPI数据传输协议

AD9361 SPI是一款灵活的同步串行通信总线,可与许多工业标准微控制器和微处理器无缝接口。串行 I/O 与大多数同步传输格式兼容,包括摩托罗拉 SPI 和英特尔® SSR 协议。AD9361的控制场宽度限制为16位,允许多字节IO操作。AD9361不能用于控制总线上的其他器件,它只能作为从器件工作。
通讯周期分为两个阶段。阶段1是控制周期,即将控制字写入AD9361。控制字为AD9361串行端口控制器提供有关数据场传输周期的信息,即通信周期的第2阶段。阶段 1 控制字段定义即将进行的数据传输是读取还是写入。它还定义了正在访问的寄存器地址。

第 1 阶段指令格式
16 位控制字段包含以下信息:
**

W/Rb 指令字的第 15 位确定在指令字节写入之后是进行读取还是写入数据传输。逻辑高电平表示写入操作;逻辑零表示读取操作。


NB2、NB1、NB0 — 指令字的位 [14:12] 指定在 IO 操作的第 2 阶段期间传输的字节数。下表详细说明了每个 NB[2:0] 组合在第 2 阶段传输的字节数。
在这里插入图片描述


[D11:D10] - 指令字的位 [11:10] 未使用。


[D9:D0] — Bits[9:0] 指定 IO 操作第 2 阶段期间数据传输的起始字节地址。


所有字节地址(包括起始地址和内部生成的地址)都假定为有效。也就是说,如果访问了无效地址(未定义的寄存器),IO 操作将继续进行,就好像地址空间有效一样。对于写入操作,写入的位被丢弃,读取操作会导致输出端的逻辑为零。

单字节数据传输

当 NB2、NB1 和 NB0 均为零时,选择单字节数据传输。在这种情况下,地址位后面的8位包含向AD9361寄存器写入或读取的数据。一旦传输了最后一个位,数据信号将返回到其空闲状态,SPI_ENB信号变为高电平以结束通信会话。

多字节数据传输

当 NB2、NB1 和 NB0 均为非零时,选择多字节数据传输。在此模式下传输的数据的格式和顺序取决于器件是配置为 LSB 优先还是 MSB 优先数据传输。
对于LSB模式下的多字节数据传输,用户写入一个指令字节,其中包含最低有效字节的寄存器地址。SPI内部字节地址生成器针对多字节通信周期中所需的每个字节递增。数据按从最低到最有效的顺序写入,因为字节地址也是按从最低到最有效的顺序生成的。

对于 MSB 模式下的多字节数据传输,用户编写一个指令字,其中包含最高有效字节的寄存器地址。串行端口内部字节地址生成器针对多字节通信周期所需的每个字节递减。数据按最高到最低有效顺序写入,因为字节地址是按最高到最低有效顺序生成的。

示例:MSB-First 多字节传输

要完成 4 字节写入,从 MSB 第一格式的寄存器0x02A开始,应用指令字 1_011_000000101010(二进制)。该指令指示AD9361 SPI控制器执行4字节的写传输,起始字节地址为0x02A。写入第一个数据字节后,内部字节地址生成逻辑递减为0x029,即第二个字节的目的。写入第二个字节后,内部字节地址生成逻辑递减为 0x028,即第三个字节的目的地。

写入第三个字节后,内部字节地址生成逻辑递减为 0x027,这是最后一个字节的目标。写入第四个字节后,IO 通信周期完成,SPI_CLK上接下来的 16 个下降时钟周期用于为下一个指令字提供时钟。如果不需要进一步的通信,则数据信号返回到其空闲状态,SPI_CLK变为低电平,SPI_ENB信号变为高电平以结束通信会话。

示例:LSB 优先多字节传输

要完成 4 字节写入,从寄存器0x02A开始,采用 LSB first 格式,应用 010101000000_110_1(二进制)指令字。该指令指示AD9361 SPI控制器执行4字节的写传输,起始字节地址为0x02A。写入第一个数据字节后,内部字节地址生成逻辑递增到 0x02B,这是第二个字节的目标。写入第二个字节后,内部字节地址生成逻辑递增为 0x02C,这是第三个字节的目标。
写入第三个字节后,内部字节地址生成逻辑递增为 0x02D,这是最后一个字节的目标。写入第四个字节后,IO 通信周期完成,SPI_CLK上接下来的 16 个下降时钟周期用于为下一个指令字提供时钟。如果不需要进一步的通信,则数据信号返回到其空闲状态,SPI_CLK变为低电平,SPI_ENB信号变为高电平以结束通信会话。

时序图

下图分别详细说明了单寄存器写操作和单寄存器读操作的SPI总线波形。在第一张图中,值 0x55 写入寄存器0x15A。在第二个值中,读取寄存器0x15A,并0x55设备返回的值。如果使用 3 线总线执行相同的操作,则A图中的 SPI_DO 线将被消除,B图 中的 SPI_DI 和 SPI_DO 线将合并在 SPI_DI 线上。
在这里插入图片描述
A图 写时序
在这里插入图片描述
B图 读时序

下表列出了SPI总线的时序规格。这些参数之间的关系如C图 所示。这张图
显示了标记了这些参数的 3 线 SPI 总线时序图。请注意,这是一个单次读取操作,因此总线就绪
从AD9361驱动数据后的参数未显示在图中。
在这里插入图片描述
在这里插入图片描述C图 3线SPISPI读时序

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1147764.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

82 N皇后

N皇后 题解1 经典回溯 O(N! * N) 按照国际象棋的规则,皇后可以攻击与之处在 同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n ,返回所有不同的…

vue源码分析(六)——vnode 和 createElement的使用和作用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、Vnode是什么?二、create-element.ts文件1.createElement 方法2. _createElement 方法(1)createEmptyVNode 方法&#xf…

STM32F103的中断

文章目录 STM32F103的NVICSTM32F103 的中断优先级分组 STM32F103的NVIC CM3 内核支持 256 个中断,其中包含了 16 个内核中断和 240 个外部中断,并且具有 256级的可编程中断设置。 CM3中每个中断通道都具备自己的8位中断优先级控制字节, 但ST…

如何从Android手机上轻松恢复误删除的短信 ?

当您使用 Android 手机时,您可能会误删除一些 Android 短信。如果这些消息对您很重要,您可能想要恢复它们。在这种情况下,您可以尝试使用U1tData安卓数据恢复(奇客软件) 来完成这项工作。这篇文章将向您展示更多信息。…

dp算法训练(未完)

第一题 粉刷房子 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/JEj789/ class…

前段知识与基础应用

前端知识 什么是前端:所有和用户打交道的操作页面,我们都称之为前端 例如:pc页面,浏览器的主页面,手机页面等等,可以用肉眼看到的就是前端 什么是后端: 就是一堆代码,用户不能够直接…

游戏和内容创作者福音,Intel蝰蛇峡谷Nuc12SNKi7迷你主机:双十一降价来袭,从9999降至5999

引言 随着双十一购物节的到来,各大品牌纷纷推出了一系列优惠活动,其中备受关注的Intel蝰蛇峡谷Nuc12SNKi7迷你主机也迎来了降价。这款迷你主机以其独特的外观、卓越的性能以及灵活的应用场景,在市场上备受瞩目。此次双十一活动期间&#xff…

【网络协议】聊聊TCP如何做到可靠传输的

网络是不可靠的,所以在TCP协议中通过各种算法等机制保证数据传输的可靠性。生活中如何保证消息可靠传输的,那么就是采用一发一收的方式,但是这样其实效率并不高,所以通常采用的是累计确认或者累计应答。 如何实现一个靠谱的协议&…

✔ ★【备战实习(面经+项目+算法)】 10.29学习

✔ ★【备战实习(面经项目算法)】 坚持完成每天必做如何找到好工作1. 科学的学习方法(专注!效率!记忆!心流!)2. 每天认真完成必做项,踏实学习技术 认真完成每天必做&…

AD9371 官方例程HDL详解之JESD204B RX侧格式配置

AD9371 系列快速入口 AD9371ZCU102 移植到 ZCU106 : AD9371 官方例程构建及单音信号收发 采样率和各个时钟之间的关系 : AD9371 官方例程HDL详解之JESD204B TX侧时钟生成 (三) 参考资料: UltraScale Architecture G…

前端Vue框架系列—— 学习笔记总结Day03

❤ 作者主页:欢迎来到我的技术博客😎 ❀ 个人介绍:大家好,本人热衷于Java后端开发,欢迎来交流学习哦!( ̄▽ ̄)~* 🍊 如果文章对您有帮助,记得关注、点赞、收藏、…

Leetcode—274.H指数【中等】

2023每日刷题&#xff08;十三&#xff09; Leetcode—274.H指数 算法思想 参考自灵茶山艾府 实现代码 int minValue(int a, int b) {return a < b ? a : b; }int hIndex(int* citations, int citationsSize){int cnt[5001] {0};int i;for(i 0; i < citationsSize; …

pandas笔记

read_csv读取之后&#xff0c;会返回DataFrame格式的文件读取去掉头的文件 import pandas as pd df pd.read_csv(file.csv, headerNone)按列名读取某一列 pd[列名]按索引读取n列 如读取前13列所有行的值 pd.iloc[:,:13]忽略掉第一行&#xff0c;读取剩下所有行 原表格的…

GZ035 5G组网与运维赛题第6套

2023年全国职业院校技能大赛 GZ035 5G组网与运维赛项&#xff08;高职组&#xff09; 赛题第6套 一、竞赛须知 1.竞赛内容分布 竞赛模块1--5G公共网络规划部署与开通&#xff08;35分&#xff09; 子任务1&#xff1a;5G公共网络部署与调试&#xff08;15分&#xff09; …

IconWorkshop 6软件官方下载:制作ICO/ICON图标、编辑、转换图标

我们都知道在这个版本中&#xff0c;你甚至能够打开 Macintosh(R) 图标并将其转换为 Win(R) 格式。我们必须承认加强的与 Adobe(R) 和 Jasc(R) 色彩文件相兼容的色板和调色板管理系统。可以说这些功能随时都方便易用&#xff1a;内置的浏览器能够用缩略图的形式浏览文件&#x…

Leetcode周赛369补题(3 / 3)

目录 1、找出数组的K-or值 - 位运算 模拟 2、数组的最小相等和 - 分情况讨论 3、使数组变美的最小增量运算数 - 动态规划dp 1、找出数组的K-or值 - 位运算 模拟 100111. 找出数组中的 K-or 值 思路&#xff1a; 根据范围&#xff0c;我们可以枚举0~30位&#xff0c;然后在…

二叉搜索树 和 哈希表 (JAVA)

目录 二叉搜索树 二叉搜索树的插入 二叉搜索树的查找 二叉搜索树的删除 哈希表 哈希冲突 闭散列 线性探测法 二次探测法 开散列 开散列代码实现&#xff1a; 插入元素 删除元素 查找元素 二叉搜索树 先了解以下二叉搜索树是啥&#xff0c;概念如下&#xff1a…

L2-2 老板的作息表

L2-2 老板的作息表 分数 25 全屏浏览题目 切换布局 作者 陈越 单位 浙江大学 新浪微博上有人发了某老板的作息时间表&#xff0c;表示其每天 4:30 就起床了。但立刻有眼尖的网友问&#xff1a;这时间表不完整啊&#xff0c;早上九点到下午一点干啥了&#xff1f; 本题就请你…

30个前端和设计必备网站,让你的工作更轻松!

说在前面 当今互联网时代&#xff0c;前端开发和设计领域变化迅速&#xff0c;每天都会有新技术和工具不断涌现。无论你是一名前端工程师还是一名设计师&#xff0c;都需要不断了解最新的前沿技术和工具。下面是30个前端和设计经常会用到的网站&#xff0c;以及每个网站的功能介…

程序设计语言

编译解释 传参还是传值 编译原理