当前位置: 首页 > news >正文

学校的网站怎么做的好/怎么做网络推广最有效

学校的网站怎么做的好,怎么做网络推广最有效,wordpress大量发文章,手机如何创建公众号平台:Android12SOC:RK3568外围芯片:XS9922i2s简介:从上图看I2s主要的线有:SDO SCLK LRCK MCLK I2S协议只定义三根信号线:串行时钟信号SCLK(BCLK)、数据信号SD和左右声道选择信号WS。(1&#xff…

平台:Android12

SOC:RK3568

外围芯片:XS9922

i2s简介:

从上图看I2s主要的线有:SDO SCLK LRCK MCLK

I2S协议只定义三根信号线:串行时钟信号SCLK(BCLK)、数据信号SD和左右声道选择信号WS。

(1)时钟信号 Serial Clock

串行时钟SCLK,也叫位时钟BCLK。SCLK是模块内的同步信号,Slave模式时由外部提供,Master模式时由模块内部自己产生。不同厂家的芯片型号,时钟信号叫法可能不同,也可能称BCLK/Bit Clock或SCL/Serial Clock

例如:设声音的采样频率为44.1 kHz,即声道选择信号(帧时钟)WS的频率必须也为44.1 kHz;左/右2个声道的量化深度均为16 bit,则I2S的SCK的频率为:44.1 kHz×16×2=1.4112 MHz

如果需要传输20 bit、24 bit或32 bit的左右声道的数据,可以提高SCK的频率,由上式可以计算出需要的SCK的频率。

(2)左右声道选择信号 Word Select

WS也称帧时钟,即LRCLK,Left Right Clock。WS频率等于声音的采样率。WS既可以在SCK的上升沿,也可以在SCK的下降沿变化。Slave设备在SCK的上升沿采样WS信号。数据信号MSB在WS改变后的第二个时钟(SCK)上升沿有效(即延迟一个SCK),这样可以让Slave设备有足够的时间以存储当前接收的数据,并准备好接收下一组数据。

WS是声道选择信号,表明数据发送端所选择的声道。当:

√ WS=0,表示选择左声道

√ WS=1,表示选择右声道

MCLK

在I2S/PCM接口的ADC/DAC系统中,除了SCK和WS外,CODEC经常还需要控制器提供MCLK (Master Clock),这是由CODEC内部基于Delta-Sigma (ΔΣ)的架构设计要求使然。其主要原因是因为这类的CODEC没有所谓提供芯片的工作时钟晶振电路。它需要外部的时钟提供内部PLL。

抄自:https://blog.csdn.net/qq_22168673/article/details/128288954

XS9922A/B 内嵌音频 Codec,支持 5 路 Line In/3Mic In 输入和 1 路 Line Out 输出,采样率最高支持 48K,精度最高为 24bit,可以方便的进行语音录音与对讲应用,简化产品设计。

开发步骤:

首先:先找XS9922原厂拿驱动代码,还会给一组audio配置数组,开机会跑i2c初始化会让XS9922会做音频主设备,所以只RK3568做从设备

从设备的话不用发出任何信号,只需读就行,主设备会发出LRCLK SCLK (MCLK可有可无,Xs9922不会发出)

设备树上描述xs9922为dummy_codec

dummy_codec: dummy-codec {status = "okay";compatible = "rockchip,dummy-codec";#sound-dai-cells = <0>;};

compatible = "simple-audio-card";目前我不知配对的驱动是什么,但是xs9922作为音频输入这个Property所属的设备不用配;只需配置rockchip,multicodecs-card;

 master / slave 设置
示例:RK3568 工作于 slave 模式,xs9922 工作于 master 模式
vad_sound: vad-sound {
status = "okay";compatible = "rockchip,multicodecs-card";rockchip,card-name = "rockchip,rk3568-vad";rockchip,frame-master = <&dummy_codec>; rockchip,bitclock-master = <&dummy_codec>;rockchip,format = "i2s";rockchip,mclk-fs = <256>;rockchip,cpu = <&i2s3_2ch>;//我用的是i2s3,这里需要改rockchip,codec = <&dummy_codec>, <&vad>;
};
console:/ # cat /proc/asound/cards                                             0 [rockchiprk3568v]: rockchip_rk3568 - rockchip,rk3568-vadrockchip,rk3568-vad1 [rockchiprk3568d]: rockchip_rk3568 - rockchip,rk3568-dummyrockchip,rk3568-dummy
可以使用tinycap进行获取音频数据:举个例子tinycap /sdcard/test.pcm -D 0 -d 0 -c 4 -r 32000 -b 32 -n 10
-D 0选择声卡:rockchip,rk3568-vad  1为rockchip,rk3568-dummy
-d 0选择通道:例如i2s1_8ch就支持8通道(sdi的输入信号) i2s3_2ch 就只支持2通道 默认选择0就行
-b 位宽
-r 采样频率
-n 不懂
-c 好像是通道

结束

相关文章:

RK系列(RK3568) i2s 音频输入 麦克风驱动

平台&#xff1a;Android12SOC&#xff1a;RK3568外围芯片&#xff1a;XS9922i2s简介&#xff1a;从上图看I2s主要的线有&#xff1a;SDO SCLK LRCK MCLK I2S协议只定义三根信号线&#xff1a;串行时钟信号SCLK(BCLK)、数据信号SD和左右声道选择信号WS。&#xff08;1&#xff…...

Python|Pymol的安装

​Pymol的使用其实可以分为两种&#xff0c;一种是GUI图形操作界面&#xff0c;直接可以去Pymol官网上下&#xff0c;另一种则是使用API的方式直接调用&#xff0c;适合写脚本批量处理一些东西。建议画图&#xff0c;看结构直接用GUI&#xff0c;但是计算RMSD啥的&#xff0c;用…...

Mysql中关于查询日志的配置详解

查询日志 MySQL中的查询日志保存在文本文件中&#xff0c;能够记录MySQL中的所有数据操作。 开启查询日志 MySQL默认情况下没有开启查询日志&#xff0c;如果需要开启查询日志&#xff0c;则需要在 my.cnf 文件或者 my.ini 文件的 [mysqld] 选项下进行配置。例如&#xff0c;…...

外包整整干了一年,废了。。。

先说一下自己的个人情况&#xff0c;大专生&#xff0c;18年通过校招进入湖南某软件公司&#xff0c;干了接近3年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落&#xff01;而我已经在一个企业干了…...

内网渗透(五十六)之域控安全和跨域攻击-非约束委派攻击

系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内网渗透(五)之基础知识-Active Directory活动目录介绍和使用 内网渗透(六)之基…...

初阶C语言——指针【详解】

文章目录1.指针是什么2.指针和指针类型2.1 指针的解引用2.2 指针 -整数3.野指针3.1 野指针成因3.2 如何规避野指针4. 指针运算4.1 指针-整数4.2 指针-指针4.3 指针的关系运算5. 指针和数组6. 二级指针7. 指针数组1.指针是什么 指针理解的2个要点&#xff1a; 指针是内存中一个最…...

MySQL tinyint(1) 、int(32) 与 varchar(255) 长度含义不同

MySQL tinyint(1) 、int(32) 与 varchar(255) 长度含义不同 发现 tinyint(1)&#xff0c;int(32) 和 varchar(255) 这里面的数字的含义是不同的。 先说数字类型 tinyint 和 int 等 他们能存储的字节大小是与类型绑定的&#xff0c;即定义了 tinyint 或者 int 就确定了能存储…...

搜索旋转排序数组、路径总和 II、拆分数字

文章目录搜索旋转排序数组&#xff08;数组、二分查找&#xff09;路径总和 II&#xff08;树、深度优先搜索&#xff09;拆分数字&#xff08;算法&#xff09;搜索旋转排序数组&#xff08;数组、二分查找&#xff09; 整数数组 nums 按升序排列&#xff0c;数组中的值 互不…...

QT自绘标题和边框

在QT中如果想要自绘标题和边框&#xff0c;一般步骤是&#xff1a; 1&#xff09; 在创建窗口前设置Qt::FramelessWindowHint标志&#xff0c;设置该标志后会创建一个无标题、无边框的窗口。 2&#xff09;在客户区域的顶部创建一个自绘标题栏。 3&#xff09;给窗口绘制一个背…...

数据库浅谈之 LLVM

数据库浅谈之 LLVM HELLO&#xff0c;各位博友好&#xff0c;我是阿呆 &#x1f648;&#x1f648;&#x1f648; 这里是数据库浅谈系列&#xff0c;收录在专栏 DATABASE 中 &#x1f61c;&#x1f61c;&#x1f61c; 本系列阿呆将记录一些数据库领域相关的知识 &#x1f3c…...

Unable to connect to Redis无法连接到Redis

文章目录项目场景&#xff1a;问题描述原因分析&#xff1a;解决方案&#xff1a;项目场景&#xff1a; 提示&#xff1a;这里简述项目相关背景&#xff1a; 在某个项目中的提交按钮不好用 org.springframework.data.redis.RedisConnectionFailureException: Unable to con…...

Feign、Ribbon、Hystrix

&#x1f3c6;今日学习目标&#xff1a; &#x1f340;Feign、Ribbon、Hystrix ✅创作者&#xff1a;林在闪闪发光 ⏰预计时间&#xff1a;30分钟 &#x1f389;个人主页&#xff1a;林在闪闪发光的个人主页 &#x1f341;林在闪闪发光的个人社区&#xff0c;欢迎你的加入: 林在…...

SpringCloud - Nacos注册发现

目录 服务注册到Nacos 服务分级存储模型 NacosRule负载均衡 服务实例的权重设置 环境隔离 Nacos与Eureka的对比 添加Nacos配置 微服务配置拉取 配置热更新 多环境配置共享 服务注册到Nacos 1.在父工程引入SpringCloudAlibaba的依赖 2.注释掉order-service和user-ser…...

Socket编程、协议理解

Socket编程、协议理解简单说明Socket编程Socket 常用接口Socket服务端业务编码代码说明文件服务(fileServe)消息服务(msgServe)消息写会(writeResponse)注意事项Socket客户端业务编码代码说明总结RYP协议&#xff1a;基于TCP/IP协议之上的自定义协议Rocky Protocol。 协议用途&…...

Idea集成码云

1&#xff1a;Idea集成码云1.1&#xff1a;IDEA安装码云插件【第一步】Idea 默认不带码云插件&#xff0c; 我们第一步要安装 Gitee 插件。如图所示&#xff0c; 在 Idea 插件商店搜索 Gitee&#xff0c;然后点击右侧的 Install 按钮。安装成功后&#xff0c;重启 Idea。Idea 重…...

并发编程学习篇ReentrantLock设计思想剖析

一、AQS原理剖析 什么是AQS java.util.concurrent包中的大多数同步器实现都是围绕着共同的基础行为&#xff0c;比如 等待队列、条件队列、独占获取、共享获取等而这些行为的抽象就是基于AbstractQueuedSynchronizer&#xff08;简称AQS&#xff09;实现的&#xff0c;AQS是一…...

区分效度全流程分析

基本说明 区分效度&#xff08;又称判别效度、区别效度&#xff09;&#xff0c;其实质也是一种结构效度。区分效度强调本不应该在同一因子的测量项&#xff0c;确实不在同一因子下面。比如说&#xff0c;测量项A和 B分别测量两个属性&#xff0c;应该分属于因子A和因子B中&…...

【华为OD机试模拟题】用 C++ 实现 - 找数字(2023.Q1)

最近更新的博客 华为OD机试 - 入栈出栈(C++) | 附带编码思路 【2023】 华为OD机试 - 箱子之形摆放(C++) | 附带编码思路 【2023】 华为OD机试 - 简易内存池 2(C++) | 附带编码思路 【2023】 华为OD机试 - 第 N 个排列(C++) | 附带编码思路 【2023】 华为OD机试 - 考古…...

从0开始写Vue项目-Vue实现用户数据批量上传和数据导出

从0开始写Vue项目-环境和项目搭建_慕言要努力的博客-CSDN博客从0开始写Vue项目-Vue2集成Element-ui和后台主体框架搭建_慕言要努力的博客-CSDN博客从0开始写Vue项目-Vue页面主体布局和登录、注册页面_慕言要努力的博客-CSDN博客从0开始写Vue项目-SpringBoot整合Mybatis-plus实现…...

企业容器云管理平台选型指南

作者简介 涂家英&#xff0c;SUSE 资深架构师&#xff0c;专注 Cloud-Native 相关产品和解决方案设计&#xff0c;在企业级云原生平台建设领域拥有丰富的经验。 数字时代下的容器云管理平台 数字时代&#xff0c;市场竞争加剧&#xff0c;业务需求日新月异&#xff0c;敏态 IT…...

OpenGL超级宝典学习笔记:着色器存储区块、原子内存操作、内存屏障

前言 本篇在讲什么 本篇为蓝宝书学习笔记 着色器存储区块 原子内存操作 内存屏障 本篇适合什么 适合初学Open的小白 本篇需要什么 对C语法有简单认知 对OpenGL有简单认知 最好是有OpenGL超级宝典蓝宝书 依赖Visual Studio编辑器 本篇的特色 具有全流程的图文教学 重…...

SpringMVC框架知识详解(入门版)

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…...

25-动画和过渡

动画和过渡 一、动画 使用css动画样式&#xff0c;配合vue实现动画效果。 编写模板 <template><div><button click"isShow !isShow">显示/隐藏</button><h1 v-show"isShow">你好啊</h1></div> </templa…...

Linux 操作系统原理 — 虚拟内存管理

目录 文章目录 目录虚拟内存技术页式内存管理技术x86_32 CPU 虚拟内存虚拟地址格式与内核页表虚拟内存空间Kernel SpaceUser Spacex86_64 CPU 虚拟内存虚拟地址格式与内核页表(四级页表)虚拟内存空间TLB 缓冲(快表)进程页表虚拟内存技术 虚拟内存技术是操作系统实现的一种…...

保持超低温环境新方法:功耗降至十分之一!

&#xff08;图片来源&#xff1a;网络&#xff09;量子比特是量子计算机的主要构建部分&#xff0c;然而热量会导致量子比特容易出错&#xff0c;因此量子系统通常保存在超低温稀释制冷机内&#xff0c;可以将温度保持在绝对零度&#xff08;−273.15℃&#xff09;以上。但是…...

论文投稿指南——中文核心期刊推荐(音乐)

【前言】 &#x1f680; 想发论文怎么办&#xff1f;手把手教你论文如何投稿&#xff01;那么&#xff0c;首先要搞懂投稿目标——论文期刊 &#x1f384; 在期刊论文的分布中&#xff0c;存在一种普遍现象&#xff1a;即对于某一特定的学科或专业来说&#xff0c;少数期刊所含…...

es-10搜索推荐suggest

搜索推荐&#xff1a;Suggest 概述 搜索一般都会要求具有“搜索推荐”或者叫“搜索补全”的功能&#xff0c;即在用户输入搜索的过程中&#xff0c;进行自动补全或者纠错。以此来提高搜索文档的匹配精准度&#xff0c;进而提升用户的搜索体验&#xff0c;这就是Suggest。 四…...

VMware ESXi 7.0 Update 3k - 领先的裸机 Hypervisor (sysin Custom Image)

VMware ESXi 7.0 Update 3k - 领先的裸机 Hypervisor (sysin Custom Image) VMware ESXi 7.0 Update 3k Standard & All Custom Image for ESXi 7.0 U3k Install CD 请访问原文链接&#xff1a;https://sysin.org/blog/vmware-esxi-7-u3/&#xff0c;查看最新版。原创作品…...

JVM整体分析篇

这里写目录标题JVM的组成部分1.类装载子系统1.1一个类加载到JVM的过程1.2类加载机制1.3为什么设计双亲委派机制1.4怎么打破双亲委派机制2.运行时数据区2.1线程私有及共享2.2JVM内存区结构2.3JVM参数设置经验3.Java对象的生命周期3.1.对象的创建3.2.对象大小的计算&#xff08;6…...

【Python入门第十七天】Python While 循环

Python 循环 Python 有两个原始的循环命令&#xff1a; while 循环for 循环 while 循环 如果使用 while 循环&#xff0c;只要条件为真&#xff0c;我们就可以执行一组语句。 实例 只要 i 小于 7&#xff0c;打印 i&#xff1a; i 1 while i < 7:print(i)i 1运行实…...