ADSP21489之CCES开发笔记(七)

news2024/11/27 20:29:33

一、SPORT简介:ADI21489具有八个独立的同步串行端口(SPORT),可为各种外围设备提供I/O接口。他们是称为SPORT0至SPORT7,每个SPORT都有自己的一组控制寄存器和数据缓冲器,具有一定范围的时钟和帧同步选项。
二、特性:支持多种协议:
1、标准串口,2、左对齐,3、标准I2S,4、打包,5、TDM
三、管脚描述
1、SPORT7–0_DA_I:数据接收通道A。双向数据引脚。如果TRAN=0,输入以接收串行数据。
2、SPORT7–0_DA_O:数据传输通道A.双向数据引脚。如果TRAN=1,输出以传输串行数据。传输数据引脚始终被驱动(并继续如果串行端口启用)且TRAN=1,除非是多通道/压缩模式和非活动信道时隙发生。
3、SPORT7–0_DB_I:数据接收通道B,双向数据引脚。如果TRAN=0,输入以接收串行数据。
4、SPORT7–0_DB_O:数据传输通道B,双向数据引脚。如果TRAN=1,输出以传输串行数据。传输数据引脚始终被驱动(并继续如果串行端口启用)且TRAN=1,除非是多通道/压缩模式和非活动信道时隙发生。
5、SPORT7–0_CLK_I/O:发送/接收串行时钟。该信号可以是内部或外部生成。
6、SPORT7–0_FS_I/O:发送/接收帧同步。帧同步脉冲启动串行数据的移位。
7、SPORT7–0_TDV_O:多通道传输数据有效。此输出仅在SPORT传输多信道中激活/打包协议模式。
8SPORT7–0_DA_PBEN_O,SPORT7–0_DB_PBEN_O,SPORT7–0_CL\K_PBEN_O,SPORT7–0_FS_PBEN_O、SPORT7–0_TDV_PBEN_O
引脚缓冲区启用引脚,要将SPORTPBEN输出信号应路由至引脚缓冲器输入信号。
四、信号路由单元SRU编程
任何串行端口的信号都可以通过信号路由单元(SRU)映射到数字应用接口(DAI_Px)引脚, SPORT 6和7从其他路由源接收时钟,但无法将自己的时钟通过SRU路由到其他SPORT或其他外围设备内部。如果需要Sport6和7在外部,通过DAI引脚布线
1、SPORT作为主接收器运行,则必须提供其主输出时钟返回到其输入时钟。
在这里插入图片描述

             SPORT为主接收器时的SRU配置图

2、SRU SPORT信号完整性,时钟(SPORTx_CLK)和帧同步对噪声有一定的敏感性,当SPORT配置为主机时,同步(SPORTx_FS)信号接受者通过正确编程信号路由单元(SRU)时钟这些信号中的反射灵敏度可以是
避免。
五、寄存器概述
1、Master Clock Divider主时钟分频器(DIVx):包含给定频率的除数值,用于内部生成的时钟和帧同步
2、Serial Port Control/Status串行端口控制/状态(SPCTLx):控制串行端口模式和SPCTLx(发送和接收)控制寄存器的一部分,其他Bit位设置DMA相关的串行端口特性.
在这里插入图片描述注意使能SPORT和在配置DMA时
在这里插入图片描述

3、Multichannel Control/Status多通道控制/状态
(SPMCTLx):是一个全局控制以及用于多通道操作的每个SPORT(SPORT7–0)的状态寄存器,这些寄存器定义通道的数量并提供当前通道状态,多通道操作使能,并设置多通道帧延迟。
4、Serial Port Control N串行端口控制N(SPCTLNx):控制增强型串行端口模式并且还允许传统SPORT模块之间的兼容性模式切换。
5、Serial Port Error串行端口错误(SPERRxx):两个错误寄存器(SPERRCTLx/SPERRSTAT)用于观察和控制传输期间的错误处理,检测错误可能是帧同步冲突或缓冲区溢出/下溢条件。

如果SLEN>Frame,则检测到意外的外部FS错误仅在数据传输期间出错FS脉冲,如图11-9所示,帧同步错误(设置错误位)为在数据传输期间发生早期帧同步时触发,或者如果帧同步的周期较小,则接收或延迟帧同步然后是串行字长度(SLEN)。然而,当前的发送/接收操作继续而不中断。
在这里插入图片描述注意,在以下情况下不会检测到帧同步错误
1、当没有数据发送/接收时(SLEN计数器为0)并且由于输入信号中的噪声而出现帧同步脉冲。它将被视为有效的帧同步。
2、如果已经存在缓冲区下溢错误,SPORT错误逻辑不被操作。
3、当帧同步脉冲<SCLK周期。
4、如果SPORT在TDM从属模式下运行,则帧同步必须在一个SCLK周期激活的新帧的开始不活跃的,如果使用例如50%的占空比,则FS错误位(SPERRSTAT)自动设置。
SPERRCTLx:
在这里插入图片描述SPERRSTAT:
在这里插入图片描述

六、时钟
SPORT模块的基本计时时钟为外围时钟,时钟/4(PCLK/4),每个串行端口都有一个时钟信号(SPORTx_CLK),用于在两个相关联的数据信号上发送和接收数据。这个时钟和帧同步信号由ICLK/IFS配置SPCTLx/DIVx控制寄存器的CLKDIV/FSDIV位。一个时钟信号对A和B数据信号进行计时(配置为输入或输出)以相同的速率接收或发送数据。关闭时钟可节省电力。CLKDIV位字段指定处理器的内部时钟(PCLK)被分频以生成发送和接收时钟。如果数据信号被配置为接收机。同样,帧同步SPORTx_FS是数据信号被配置为发射机。除数是一个15位的值,(除数寄存器中的位0是
保留),允许宽范围的串行时钟速率。使用以下内容计算串行时钟频率的公式:在这里插入图片描述CLKDIV = (PCLK ÷ 4 × SCLK) – 1
FSDIV = (SCLK ÷ FSCLK) – 1
七、中断
SPORT模块生成三个本地中断信号,每个信号一个数据信道(A和B)信号和用于错误检测的第三信号。数据通道中断均逻辑“或”运算到一个SPORT中
中断信号,并且错误检测中断与所有SPORT成为一个信号,SPERRI。串行端口生成中断如以下章节所述。
在这里插入图片描述如:检测异常,如缓冲区下溢、缓冲区溢出、意外的帧同步时中断,DMA完成、核心缓冲区服务请求、内部转移完成、访问完成时A或B通道信号中断。

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

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

相关文章

【云原生】Apisix接入Nacos、K8s服务注册中心自动获取服务

背景我在K8s中部署了两个使用SpringCLoudK8s框架的微服务&#xff0c;每个服务既暴露了HTTP接口方便测试&#xff0c;也暴露了gRpc接口更接近生产&#xff0c;他们的端口如下所示&#xff1a;常规功能上游我们可以在这里配置我们的服务HTTP配置一个HTTP服务&#xff0c;输入地址…

设计模式 - 行为型 - 模板模式学习

现象&#xff1a; 设计模式 - 行为型 - 模板模式学习 介绍&#xff1a; 模板模式的设计思路&#xff0c;在抽象类中定义抽象方法的执行顺序&#xff0c; 并将抽象方法设定为只有子类实现&#xff0c;但不提供独立访问的方法 只能通过已经被安排好的定义方法去执行 可以控制整…

如何快速生成数据字典SQL语句

如何快速生成数据字典SQL语句 一、首先我们找到需要生成的数据字典的国家标准 以民族数据字典为例 打开浏览器搜索民族字典代码表得到如下数据&#xff0c;并把得到的数据存入Excel表格中 国标民族数据字典 国标民族字典 第七次全国人口普查民族代码表与民族国标代码 第七次…

JVM垃圾回收之GCRoots可达性分析

已经死亡的对象&#xff0c;不可达的对象&#xff0c;肯定会被回收。 什么样的对象会被回收&#xff1f; 判定的算法有两种&#xff1a;引用计数法和可达性分析算法。 引用计数法&#xff1a;&#xff08;不使用这种&#xff09; 给对象中添加一个引用计数器&#xff0c;每当…

springboot项目打jar包发布上线、查看日志和进程号

目录前言一、Maven打包1.1 删除test文件和对应依赖&#xff08;不建议&#xff09;1.2 pom.xml中配置跳过测试1.3 使用idea打包1.4 使用maven命令打包二、启动jar包2.1 简单启动2.2 后台运行并打印日志2.3 脚本启动三、查看日志3.1 tail命令查看日志3.2 cat命令查看日志四、其他…

员工为什么对绩效考核不满意?管理者应该怎么做?

绩效考核是公司管理员工的重要工具&#xff0c;员工通过绩效考核可以衡量自己的工作效果和完成任务的能力&#xff0c;能够帮助管理者更好的了解员工的工作情况和绩效表现。 但是&#xff0c;现实中很多员工对绩效考核“不满意”&#xff0c;认为绩效考核不公正、不透明、不准确…

docker基础命令-阳哥

docker基础篇-阳哥 文章目录docker基础篇-阳哥centos7最小安装准备工作网络设置安装必备工具1.1 安装工具1.5 优化ssh连接1.1 修改ssh服务的配置文件1.2 找到对应的行数修改如下1.3 修改完成之后重启ssh服务1.6 永久修改主机名sed命令sed命令替换文本_xbd_zc的博客-CSDN博客1.镜…

《2023年化妆品原料成分趋势报告》| 解码化妆品备案数据,洞悉2023年潜力原料成分

回顾2022年&#xff0c;是中国化妆品行业“历史转折年”。备案制度的全面改革&#xff0c;直接改变了产品备案新格局。法律法规对新品备案提出了详实的要求&#xff0c;新品出炉也设置了更高的门槛&#xff0c;所以我们清晰地看到2022年整体的化妆品备案数据大幅度下滑&#xf…

精心梳理的11个在线常用工具,提高开发效率

1、Hutool工具类——Java开发常用工具类 参考文档&#xff1a;https://hutool.cn/docs/index.html#/ 2、在线工具——各种工具整合 我主要用于时间戳转换&#xff0c;进制转换等。 地址&#xff1a;https://tool.lu/ 3、蛙蛙工具——各种文本字符等整合工具 https://www…

python@pyside样式化

文章目录refWidget类创建样式化文件qss引用样式并启动应用ref Styling the Widgets Application - Qt for PythonQt Style Sheets Reference | Qt Widgets 5.15.12 Widget类创建 创建一个简单界面(菜单主要内容)它们是水平布局 主要内容包括一段文本和一个按钮,它们是垂直布…

AI大模型,驶向产业何方?

技术更迭&#xff0c;已不是壁垒&#xff0c;国产式AI需要的是产品的创新思维&#xff0c;以及对需求的产品变现能力。 作者|斗斗 出品|产业家 “AI炒了那么多年&#xff0c;第一次感觉它真的要来了。”国内某论坛中&#xff0c;带有ChatGPT的词条下&#xff0c;几乎都会出…

【Java开发】设计模式 01:单例模式

1 单例模式介绍单例模式&#xff08;Singleton Pattern&#xff09;是Java中最为基础的设计模式。这种类型的设计模式属于创建型模式&#xff0c;它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类&#xff0c;该类负责创建自己的对象&#xff0c;同时确保只有单个对…

打怪升级之使用csv文件发送UDP数据

面临的困难 如果你想做一个基于UDP包的数据处理问题的话&#xff0c;比较好的办法是使用csv文件来进行数据的保存&#xff08;csv文件比较简单&#xff0c;方便进行各种处理&#xff09;。 CSV文件格式简单&#xff0c;一方面它可以直接被excel处理&#xff0c;另一方面它完全…

PDF转word在线转换方法!操作简单又高效

相信很多已经工作的人都知道&#xff0c;PDF文件格式的优点在于兼容性强、安全性高&#xff0c;而且查看和传输给他人都很方便。但是&#xff0c;这种格式的文件也有不太方便的地方&#xff0c;那就是不能对文件内容进行编辑和修改。对于许多人来说&#xff0c;如果想要编辑修改…

接口自动化神器推荐:免费开源Lim接口测试平台

前言 对于传统的实现接口自动化的方案往往是搭建自动化框架&#xff0c;通过excel编写用例来驱动执行&#xff0c;例如常见的万金油技术栈组合&#xff1a;excel&#xff08;编写用例&#xff09;、pytest(用例执行)、allure(测试报告)等。 很多公司往往是通过自动化框架而非…

3-2 SpringCloud快速开发入门:Ribbon 实现客户端负载均衡

接上一章节Ribbon 是什么&#xff0c;这里讲讲Ribbon 实现客户端负载均衡 Ribbon 实现客户端负载均衡 由于 Spring Cloud Ribbon 的封装&#xff0c; 我们在微服务架构中使用客户端负载均衡调用非常简单&#xff0c; 只需要如下两步&#xff1a; 1、启动多个服务提供者实例并…

Matplotlib 绘图实用大全

本文只介绍最简单基本的画图方法 预设 要想画出来的图有些逼格&#xff0c;首先应该进行如下设置 plt.rcParams[font.sans-serif][SimHei] #画图时显示中文字体 plt.rcParams[axes.unicode_minus] False #防止因修改成中文字符&#xff0c;导致某些 unicode 字符不能…

正则表达式高阶技巧之环视的组合(使用python实现)

环视的组合介绍环视的组合环视中包含环视并列多个环视注意&#xff1a;环视作为多选分支排列在多选结构中断言与反向引用之间的关系介绍 在我们日常使用的编程语言都是支持环视的&#xff0c;但是语言不同&#xff0c;支持程度也就不同&#xff0c;下面具体介绍一下在python中…

【ChatGPT前世今生】前置知识Seq2Seq入门理解

【ChatGPT前世今生】前置知识Seq2Seq入门理解1、环境准备与依赖包安装2、数据集准备3、数据集预处理与读取4、定义Seq2Seq模型的基础类5、预处理训练数据集6、定义训练过程7、定义验证过程8、执行训练与验证过程9、展示模型的结果&#xff0c;进行进一步分析最近一段时间&#…

js - CommonJs和ES6 module的使用和区别

文章目录1&#xff0c;先说区别2&#xff0c;CommonJS3&#xff0c;ES6 module1&#xff0c;先说区别 阮一峰老师在 ES6 入门 中提到 ES6 模块与 CommonJS 模块有一些重大的差异&#xff1a; 它们有三个重大差异&#xff1a; CommonJS 模块输出的是一个值的拷贝&#xff0c;…