LMK04828时钟芯片配置历程——SPI接口

news2024/11/24 12:57:03

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

LMK04828时钟芯片配置历程——SPI接口

  • 总结


最近有一个开发板需要去调试,开发板上包含了AD9371和LMK04828时钟芯片,而我的任务是需要将他们都配置起来。
尽管开发板是配有参考例程的,但开发板的参考例程和我的平台不一样,我直接移植过来之后发现跑不了,最后抓取波形一看SPI 配置信息根本没有发出来。所以想一步成功的希望落空了。接下来还是一步一步进行验证了

LMK04828的管脚图
在这里插入图片描述
因为这个芯片是通过SPI接口来进行配置的,那么自然的,首先就需要验证SPI接口是不是可以正常通信的,写一个地址,然后回读,看正不正确。只要确定了这里没问题,然后才能进行接下来的工作

从管脚图来看,已经包含了CS SCK,SDIO这三个SPI管脚,因为我们一般来说我们还是用4-WIRE SPI用的比较方便,因此肯定是希望配置成4-WIRE SPI。

找到数据手册中寄存器部分
在这里插入图片描述在这里插入图片描述
和很多芯片一样,一般来说第0个地址就是来配置是使用3-Wire SPI还是4-Wire SPI。很明显这里是需要进行配置的

配置成4-WIRE模式后,SDIO作为输入 MOSI信号线。
那么问题来了,哪一根线作为MISO?

这也是SPI是否能够测试成功的关键了,之前我是想当然以为配置了第0个寄存器就可以用了,结果死活回读不出任何数据。折腾了一天,最后还是老老实实看数据手册,终于发现了端倪。

实际上CLKn_SEL1/CLKn_SEL2/Status_LD1/Status_LD2/RESET 这5个管脚全部都可以配置成MISO。
例如0x16E寄存器就是用来控制Status_LD2管脚的功能的,可以配置成SPI Readback

在这里插入图片描述
赶紧查一下原理图,发现MISO确实连接在了Status_LD2上,那显然还需要对0x16E寄存器进行配置SPI才能正常回读呀。赶紧配置成0x3B。果然回读成功了,烟消云散。

总结

虽然这么个简单的SPI的接口折腾了一两天才调通,但确实对于一个新器件来说,还是需要去关注它的数据手册,了解清楚一点在进行调试比较好

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

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

相关文章

c++入门之输入输出命名空间

文章目录前言一、输入输出二、命名空间1.使用命名空间的原因2.命名空间定义3.命名空间的定义注意事项(1)命名空间只能在全局范围使用(2)命名空间可以嵌套(3)命名空间是开放的,可以随时添加新的成员&#xf…

mysql流程控制

前言: 👏作者简介:我是笑霸final,一名热爱技术的在校学生。 📝个人主页:个人主页1 || 笑霸final的主页2 📕系列专栏:数据库 📧如果文章知识点有错误的地方,请…

QT---制作简易串口助手

一、ui制作打开QTCreator创建一个新文件2.进入UI设计界面进行设计进入ui界面后,选择相应的控件将串口助手的样子给做出来,我选择的是如下的控件做这个串口助手:1.按钮:2.下拉列表3.标签4.组合框5.文本编辑绘制ui界面如下&#xff…

如何用Windows自带命令修改文件和图片的MD5

首先说下,md5到底是啥,它是一段固定长度的数据。无论原始数据是多长或多短,其MD5值都是128bit。另外md5是确定性,一个原始数据的MD5值是唯一的,同一个原始数据不可能会计算出多个不同的MD5值;类似人类的身份…

快速搭建前后端分离项目

后端 配置文件和依赖 创建一个SpringBoot项目,采用Mybatis-Plus快速构建项目。 application.yml进行配置 server:port: 80spring:datasource:username: rootpassword: 123456url: jdbc:mysql://localhost:3306/ems?useSSLfalse&useUnicodetrue&charact…

C++——哈希

目录 unordered系列关联式容器 unordered_mapunordered_map在线文档说明 unordered_map的接口说明 unordered系列优势 哈希 解决哈希冲突 1.闭散列——开放定址法 思考:哈希表什么情况下进行扩容?如何扩容? 插入元素代码 查找元素 …

Linux操作系统--用户和群组(保姆级教程)

用户和群组 用户 什么是用户,即登录到linux操作系统的账号就是用户。在linux操作系统中账户的类别主要有三类:1、超级管理员(root),在linux中超级管理员的账户是root,这个root账户就类似于windows操作系统中administr…

pom.xml配置中引入Oracle依赖

pom.xml配置中引入Oracle依赖1. Download Driver1.1 pom.xml2.Awakening1. Download Driver 因为Oracle是要收费的,所以不能通过远程的方式来引入,可以通过mvn指令导入到Maven本地仓库。 下载地址 Oracle Website: https://www.oracle.com/database/tech…

MyBatis案例 | 使用映射配置文件实现CRUD操作——查询所有数据

本专栏主要是记录学习完JavaSE后学习JavaWeb部分的一些知识点总结以及遇到的一些问题等,如果刚开始学习Java的小伙伴可以点击下方连接查看专栏 本专栏地址:🔥JavaWeb Java入门篇: 🔥Java基础学习篇 Java进阶学习篇&…

各类SDR的USB接口一致性测试

最近用高带宽示波器测了好几个SDR产品的USB2接口一致性。由于探头数量只有1个,所以不能测全所有的项目。但已经包含了最主要的USB眼图(信号质量)项目。 待测件包含: 1.原版RTL-SDR 2.自制RTL-SDR 3.HackRF 4.无线电罗盘v0.8 测试…

css实现超出div长度文字自动隐藏或用省略号表示

网页中一些区域的标题文字是不能换行的,例如首页显示的文章标题,因为布局是固定的,换行会打乱布局,从而使网页产生错位。因此,我们需要一行一段文字,超出行宽的文字用省略号表示或者直接去掉不用省略号代替…

在CentOS-6.9配置apache服务(1)---基于个人主页的身份验证

文章目录一 系统环境二 用户身份验证2.1 编写主配置文件2.2 编写用户身份验证的配置文件2.3 创建用户密码文件2.4 创建测试页面2.5 测试三 基于个人主页的身份验证3.1 修改主配置文件3.2 创建测试用户3.3 创建测试的个人主页3.4 设置防火墙和selinux3.5 测试在部署了apache服务…

LeetCode-189. 轮转数组

目录方法一:使用额外的数组方法二:环状替换方法三:数组翻转题目来源 189. 轮转数组 方法一:使用额外的数组 我们可以使用额外的数组来将每个元素放至正确的位置。用 n 表示数组的长度,我们遍历原数组,将原…

JSP SSM校园超市管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 JSPssm 校园超市管理系统 是一套完善的系统源码,对理解JSP java SrpingMVC mybiats 框架 MVC编程开发语言有帮助,系统具有完整的源代码和数据库,以及相应配套的设计文档 ,系统主要采用B/S模式开发。 研究的基…

Dubbo 中 Zookeeper 注册中心原理分析

本文通过分析Dubbo中ZooKeeper注册中心的实现ZooKeeperResitry的继承体系结构,自顶向下分析了AbstractRegistry(提供了服务数据的本地缓存)、FailbackRegistry(服务注册订阅相关的异常重试)、CacheableFailbackRegistr…

Web Spider Fiddler - JS Hook 基本使用

文章目录前言一、资源下载二、什么是Hook三、Hook 的几种方式四、Fiddler - 编程猫插件安装五、Fiddler - Hook 案例六、常用的js hook代码Hook CookieHook Header总结前言 Hook技术也叫钩子函数,功能是把网站的代码拉出来,改成我们自己想执行的代码片段…

mysql:性能分析工具

检查是否开启慢查询日志,查看慢查询的日志中的数据 也可以通过查看sql执行成本,进行优化 统计SQL的查询成本:last_query_cost SHOW STATUS LIKE ‘last_query_cost’; 查询优化器的成本,查看最后一个sql使用的多少数据页 定位执…

1-2MySQL 面试题

MySQL 面试题 1.说一下 MySQL 执行一条查询语句的内部执行过程? 答:MySQL 执行一条查询的流程如下: 客户端先通过连接器连接到 MySQL 服务器;连接器权限验证通过之后,先查询是否有查询缓存,如果有缓存&a…

大型React项目需要使用ES6解决方案以及对JSX的使用【React高级技术】

不使用 ES6 然而,在纯浏览器端使用ES6语法时,浏览器支持存在差异,这需要特殊处理才能正常运行。 支持ES2015桌面浏览器 Chrome:从51版开始,它可以支持ES6 97%的新功能。 Firefox:53版本支持97%的ES6新功能…

几个超级牛的在线 Python 解释器

安装 Python 很容易,但或许你正在用智能手机/平板电脑,在用不允许安装软件的电脑,或者因为其它原因无法安装 Python。那么,如何通过免安装的方式使用 Python 呢? 本文将介绍 18 个免费的 Python 解释器和交互式 Shell…