24_嵌入式系统输入输出设备

目录

GPIO原理与结构

A/D接口基本原理

A/D接口原理

A/D转换的重要指标

D/A接口基本原理

D/A接口原理

DAC的分类

D/A转换器的主要指标

键盘接口基本原理

键盘接口原理

用I/O口实现键盘接口

显示接口基本原理

基本结构和特点

基本原理

LCD种类

市面上出售的LCD的类型

触摸屏接口基本原理

触摸屏基本原理

电阻触摸屏的原理

触摸屏的控制

音频接口基本原理

音频基本原理

音频数据类型

IIS音频接口总线

IIS总线协议


GPIO原理与结构

GPIO是通用输入输出接口,是I/O的最基本形式,又称为并行I/O口。是一组输入引脚或输出引脚,CPU对它们能够进行存取。有些GPIO引脚能加以编程而改变工作方向。

下图所示为双向GPIO端口的简化功能逻辑图。为简化图形,仅画出GPIO的第0位。图中画出两个寄存器:数据寄存器PORT和数据方向寄存器DDR。

数据方向寄存器DDR设置端口方向。若该寄存器的输出为1,则端口为输出;若该寄存器的输出为0,则端口为输入。DDR状态能够用写入该DDR的方法加以改变。DDR在微控制器地址空间中是一个映射单元。这种情况下,若要改变DDR,则需要将恰当的值置于数据总线的第0位即D0,同时激活WD_DDR信号。读取DDR单元,就能读得DDR的状态,同时激活RD_DDR信号。

若将PORT引脚置为输出,则PORT寄存器控制着该引脚状态。若将PORT引脚设置为输入,则此输入引脚的状态由引脚上的逻辑电路层来实现对它的控制。对PORT寄存器的写入,将激活WR_PORT信号。PORT寄存器也映射到微控制器的地址空间。需指出,即使当端口设置为输入时,若对PORT寄存器进行写入,并不会对该引脚发生影响。但从PORT寄存器的读出,不管端口是什么方向,总会影响该引脚的状态。

A/D接口基本原理

A/D接口原理

所谓模/数转换器(A/D转换器)就是把电模拟量转换成为数字量的电路。在当今的现代化生产中,被广泛应用的实时监测系统和实时控制系统都离不开模/数转换器。常见的实现A/D转换的方式有三种:计数法、双积分法、逐次逼近法。

(1)计数法。计数式A/D转换器电路主要部件包括:比较器、计数器、D/A转换器和标准电压源。转换原理图如下图所示。其中,V;是模拟输入电压,V₀是D/A转换器的输出电压,C是控制计数端,当C=1时,计数器开始计数,C=0时,则停止计数。D₇~D₀是数字量输出,数字量输出又同时驱动一个D/A转换器。

工作原理:计算器从0开始进行加1计数,每进行一次加1,该数值作为D/A转换器的输入,D/A会产生一个比较电压V₀与输入模拟电压V;进行比较。如果V₀小于V;则继续进行加1计数,直到V₀大于V,这时计数器的累加数值就是A/D转换器的输出值。具体工作过程如下所述。

首先开始转换信号有效(由高变低),使计数器复位,当开始转换信号恢复高电平时,计数器准备计数。因为计数器已被复位,所以计数器输出数字为0。这个0输出送至D/A转换器,使之也输出0V模拟信号。此时,在比较器输入端上待转换的模拟输入电压V;大于0V,比较器输出高电平,使计数控制信号C为1。这样,计数器开始计数。

从此D/A转换器输入端得到的数字量不断增加,致使输出电压V。不断上升。在V₀<V;时,比较器的输出总是保持高电平。当V。上升到某值时,第一次出现V₀>V;的情况,此时,比较器的输出为低电平,使计数控制信号C为0,导致计数器停止计数。

这时候数字输出量D₇~D₀就是与模拟电压等效的数字量。计数控制信号由高变低的负跳变也是A/D转换的结束信号,它用来通知计算机已完成一次A/D转换。

计数式A/D转换的特点是简单,但速度比较慢,特别是模拟电压较高时,转换速度更慢。对一个8位AID转换器,若输入模拟量为最大值,计数器从0开始计数到255时,才转换完毕,相当于需要255个计数脉冲周期。

(2)双积分法。

双积分式A/D转换法电路的主要部件包括:积分器、比较器、计数器和标准电压源,转换原理图如下图所示。

工作原理:对输入模拟电压和参考电压进行两次积分,变换成与输入电压均值成正比的时间间隔;利用时钟脉冲和计数器测出其时间间隔,完成A/D转换。

具体工作过程:首先电路对输入待测的模拟电压V;进行固定时间的积分,然后换至标准电压进行固定斜率的反向积分。反向积分进行到一定时间,便返回起始值。对标准电压进行反向积分的时间T₂正比于输入模拟电压,输入模拟电压越大,反向积分回到起始值的时间越长。因此,只要用标准的高频时钟脉冲测定反向积分花费的时间(如计数器),就可以得到相应于输入模拟电压的数字量,即实现了A/D转换。

特点:具有很强的抗工频干扰能力;转换精度高;但转换速度慢;通常转换频率小于10Hz,主要用于数字式测试仪表、温度测量等方面。

(3)逐次逼近法。

主要电路部件包括:比较器、D/A转换器、逐次逼近寄存器和基准电压源,原理图如下图所示。

工作原理:实质上是对分搜索法;在进行A/D转换时,由D/A转换器从高位到低位逐位增加转换位数,产生不同的输出电压,把输入电压与输出电压进行比较而实现。

首先使最高位置1,这相当于取出最大允许电压的1/2与输入电压比较,如果搜索值在最大允许电压的1/2范围内,那么,最高位置0,否则最高位置1。之后,次高位置1,相当于在1/2的范围中再作对分搜索。如果搜索值超过最大允许电压的1/2范围,那么,最高位为1,次高位也为1,这相当于在另外的一个1/2范围中再作对分搜索。因此逐次逼近法的计数实质就是对分搜索法。

特点:转换速度快;转换精度高;对N位A/D转换只需N个时钟脉冲即可完成;可用于测量微秒级的过渡过程的变化,是目前应用最普遍的一种A/D转换方法。

A/D转换的重要指标

分辨率:反映A/D转换器对输入微小变化响应的能力,通常用数字输出最低位(LSB)所对应的模拟输入的电平值表示。n位A/D转换能反映1/2"满量程的模拟输入电平。由于分辨率直接与转换器的位数有关,所以一般也可简单地用数字量的位数来表示分辨率,即n位二进制数,最低位所具有的权值,就是它的分辨率。

值得注意的是,分辨率与精度是两个不同的概念,不要把两者相混淆。即使分辨率很高,也可能由于温度漂移、线性度等原因,而使其精度不够高。

精度:有绝对精度和相对精度两种表示方法。

绝对精度:在一个转换器中,对应于一个数字量的实际模拟输入电压和理想的模拟输入电压之差并非是一个常数。把它们之间的差的最大值,定义为“绝对误差”。通常以数字量的最小有效位 (LSB)的分数值来表示绝对精度,如±1LSB。绝对误差包括量化精度和其他所有精度。

相对精度:是指整个转换范围内,任一数字量所对应的模拟输入量的实际值与理论值之差,用模拟电压满量程的百分比表示。

例:满量程为10V,10位A/D芯片,若其绝对精度为±1/2LSB,求其绝对精度和相对精度。

解析:10位芯片可以表示1024个有效位,满量程是10V,则量程的最小有效位LSB=10/1024=9.77mV,其绝对精度为9.77/2=4.88mV,其相对精度为4.88mV/10V=0.048%。

转换时间:转换时间是指完成一次A/D转换所需的时间,即由发出启动转换命令信号到转换结束信号开始有效的时间间隔。转换时间的倒数称为转换速率。例如AD570的转换时间为25μs,其转换速率为40kHz。

量程:量程是指所能转换的模拟输入电压范围,分单极性、双极性两种类型。例如,单极性的量程为0~+5V,0~+10V,0~+20V;双极性的量程为-5~+5V,-10~+10V。

D/A接口基本原理

D/A接口原理

D/A转换器是把输入的数字信号量转换为模拟信号量的器件,简称DAC。在集成化的D/A转换器中,通常采用T型电阻网络实现将数字量转换为模拟电流;然后再用运算放大器完成模拟电流到模拟电压的转换。

一个4位T型电阻网络DAC如下图所示,电路由R-2R电阻解码网络、模拟电子开关和求和放大电路构成,因为R和2R组成T型,故称为T型电阻网络DAC。

串联分压的原理:在串联电路中,各电阻上的电流相等,各电阻两端的电压之和等于电路总电压。可知,每个电阻上的电压小于电路总电压,故串联电阻分压。

并联分流的原理:在并联电路中,各电阻两端的电压相等,各电阻上的电流之和等于总电流(干路电流)。可知,每个电阻上的电流小于总电流(干路电流),故并联电阻分流。

欧姆定律:I=U/R

并联电阻的倒数等于各分电阻倒数之和。

原理:A、B、C、D结点左边都是两个2R电阻并联,等效电阻是R,最后的D点等效于一个电阻R连接在标准参考电压VREF上。根据分压原理,D、C、B、A点的电压分别为-VREF、-VREF/2、-VREF/4、-VREFF/8。根据分流原理,S₃、S₂、S₁、S₀定端支路的电流分别为-VREF/2R、-VREF/4R、-VREF/8R、-VREF16R。

设S₀、S₁、S₂、S₃分别为各位数码的变量,且S=1表示开关动端接通右结点,S;=0表示开关动端接通左结点,因此运算放大器输入电流为各点电流之和:

将数码推广到有n位的情况,可得输出模拟量与输入数字量之间关系的一般表达式:

运算放大器的相应输出电压为:

DAC的分类

电压输出型D/A转换器虽有直接从电阻阵列输出电压的,但一般采用内置输出放大器以低阻抗输出。直接输出电压的器件仅用于高阻抗负载,由于无输出放大器部分的延迟,故常作为高速D/A转换器使用。

电流输出型D/A转换器很少直接利用电流输出,大多外接电流一电压转换电路得到电压输出后者有两种方法:一是只在输出引脚上接负载电阻而进行电流一电压转换;二是外接运算放大器。

大部分CMOS D/A转换器当输出电压不为零时不能正确动作,所以必须外接运算放大器。当外接运算放大器进行电流电压转换时,则电路构成基本上与内置放大器的电压输出型相同,这时由于在D/A转换器的电流建立时间上加入了运算放入器的延迟,使响应变慢。此外,这种电路中运算放大器因输出引脚的内部电容而容易起振,有时必须作相位补偿。

乘算型:D/A转换器中有使用恒定基准电压的,也有在基准电压输入上加交流信号的,后者由于能得到数字输入和基准电压输入相乘的结果而输出,因而称为乘算型D/A转换器。

乘算型D/A转换器一般不仅可以进行乘法运算,而且可以作为使输入信号数字化地衰减的衰减器及对输入信号进行调制的调制器使用。

D/A转换器的主要指标

分辨率:DAC电路所能分辨的最小输出电压与满量程输出电压之比。最小输出电压是指输入数字量只有最低有效位为1时的输出电压;最大输出电压是指输入数字量各位全为1时的输出电压;可用公式:1/(2"-1)表示,其中n表示数字量的二进制位数。

DAC产生误差的主要原因:基准电压VREF的波动;运放的零点漂移;电阻网络中电阻阻值偏差等原因。

转换误差:常用满量程FSR的百分数来表示;例如一个DAC的线性误差为0.05%,表示转换误差是满量程输出的万分之五;有时转换误差用最低有效位LSB的倍数来表示,例如一个DAC的转换误差是LSB/2,表示输出电压的绝对误差是最低有效位LSB为1时输出电压的1/2。

DAC的转换误差主要有失调误差和满值误差。

失调误差:输入数字量全为0时,模拟输出值与理论输出值的偏差。

满值误差:又称为增益误差,是指输入数字量全为1时,实际输出电压不等于满值的偏差。

DAC的分辨率和转换误差共同决定了DAC的精度,要使DAC的精度高,不仅要选择位数高的DAC,还要选用稳定度高的参考电压源VREF和低漂移的运算放大器与其配合。

建立时间:是将一个数字量转换为稳定模拟信号所需的时间,也可以认为是转换时间。D/A转换中常用建立时间来描述其速度,而不是A/D转换中常用的转换速率。一般地,电流输出D/A转换建立时间较短,电压输出D/A转换则较长。

实际上建立时间的长度不仅和DAC本身的转换速度有关,还与数字量的变化范围有关;输入数字量从全0变为全1(或者从全1变为全0)时,建立时间最长,称为满量程变化建立时间。

键盘接口基本原理

键盘接口原理

键盘按与微控制器的连接方式,其结构可分为线性键盘和矩阵键盘两种形式。

(1)线性键盘由若干个独立的按键组成,每个按键的一端与微机的一个I/O口相连。有多少个键就要有多少根连线与微机的I/O相连,因此,只适用于按键少的场合。

(2)矩阵键盘的按键按N行M列排列,每个按键占据行列的一个交点,需要的I/O口数目是N+M,容许的最大按键数是N×M。显然,矩阵键盘可以减少与微机接口的连线数,简化结构,是一般微机常用的键盘结构。根据矩阵键盘的识键和译键方法的不同,矩阵键盘又可以分为非编码键盘和编码键盘两种。非编码键盘主要用软件的方法识键和译键。根据扫描方法的不同,可以分为行扫描法、列扫描法和反转法三种。编码键盘主要用硬件来实现键的扫描和识别。

图4-4-7(a)是线性键盘和MPU的连接,四个按键就需要四条线;

图4-4-7(b)是矩阵键盘和MPU的连接,其中PF₀~PF₃是行线,PF₄~PF₇是列线,八根线实现了十六个按键。

I/O口实现键盘接口

为了识别键盘上的闭合键,通常采用两种方法:一种是行扫描法,另一种是行反转法。

原理:矩阵键盘中,列线接+5V的上拉电阻,处于高电平状态,当某个按键按下时,其列线电平状态就由对应行线电平状态决定,对应行线是低电平则列线也是低电平,行线是高电平则列线也是高电平。由此可得行扫描法识别方法步骤,如下图所示,分为两步:

(1)识别键盘哪一列的键被按下:让所有行线均为低电平,查询各列线电平是否为低,如果有列线为低,则说明该列有按键被按下,否则说明无按键按下。

(2)识别键盘哪一行被按下:逐行置低电平,并置其余各行为高电平,查询各列的变化,如果列电平变为低电平,则确定此行此列交叉点处被按下。

显示接口基本原理

基本结构和特点

液晶显示器(Liquid Crystal Display,LCD)具有耗电少、体积小等特点,被广泛应用于嵌入式系统中。液晶得名于其物理特性:它的分子晶体,以液态而非固态存在。这些晶体分子的液体特性使得它具有以下特点。

(1)如果让电流通过液晶层,这些分子将会以电流的流向方向进行排列,如果没有电流,它们将会彼此平行排列。

(2)如果提供了带有细小沟槽的外层,将液晶倒入后,液晶分子会顺着槽排列,并且内层与外层以同样的方式进行排列。

(3)液晶层能够过滤除了那些从特殊方向摄入之外的所有光纤,能够使光纤发生扭转,使光纤以不同的方向从另外一个面中射出。

基于这些特点,液晶可以被用来当做一种既可以阻碍光纤,也可以允许光纤通过的开关。

基本原理

LCD显示器基本原理:通过给不同的液晶单元供电,控制其光线的通过与否,达到显示的目的。在LCD显示器中,显示面板薄膜被分成很多小栅格,每个栅格由一个电极控制,通过改变栅格上的电极就能控制栅格内液晶分子的排列,从而控制光路的导通。

彩色显示利用三原色混合的原理显示不同的色彩:彩色LCD面板中,每一个像素都是由3格液晶单元格构成的,其中每一个单元格前面都分别有红色、绿色或蓝色的过滤片,光线经过过滤片的处理变成红色、蓝色或者绿色,利用三原色的原理组合出不同的色彩。

LCD的发光原理是通过控制加电与否来使光线通过或挡住,从而显示图形。光源的提供方式有两种:透射式和反射式。笔记本电脑的LCD显示器即为透射式,屏后面有一个光源,因此外界环境可以不需要光源。而一般微控制器上使用的LCD为反射式,需要外界提供光源,靠反射光来工作。

电致发光(EL)是将电能直接转换为光能的一种发光现象。电致发光片是利用此原理经过加工制作而成的一种发光薄片,其特点是:超薄、高亮度、高效率、低功耗、低热量、可弯曲、抗冲击、长寿命、多种颜色选择等。因此,电致发光片被广泛应用于各种领域,也用来为LCD提供光源。

LCD种类

按照液晶驱动方式分类,可将目前常见的LCD分为扭转向列(Twist Nematic,TN)型、超扭曲向列(Super Twisted Nematic,STN)型和薄膜晶体管(Thin Film Transistor,TFT)型三大类。

TN型LCD价格便宜、分辨率很低;一般用于显示小尺寸黑白数字、字符等;广泛应用于手表、时钟、传真机等一般家电用品的数字显示。

STN型LCD是通过改变液晶材料的化学成分,使液晶分子发生不止一次地扭转,光线扭转达到180°~270°,从而大大改善了画面的显示品质。为了显示图像,STN型LCD将液晶单元排成阵列,用输入的信号依次去驱动每一行的电极,于是当某一行被选定的时候,列向上的电极被触发打开位于行和列交叉点上的那些像素,从而控制单个像素的开关。这种显示方式类似于CRT的扫描方式,即同一时刻STN型LCD上只有一点受控。

STN型LCD的缺点是如果有太大的电流通过某个单元,附近的单元就会受到影响,引起虚影。如果电流太小,单元的开和关就会变得迟缓,降低对比度并丢失移动画面的细节,而且随着像素单元的增加,驱动电压也相应提高,因此STN型LCD很难做出高分辨率的产品,它的应用也局限于一些对图像分辨率和色彩要求不是很高的领域。目前以移动电话、PDA、掌上型电脑、汽车导航系统、电子词典等高品质产品中的小尺寸电子显示为主。

TFT型LCD和STN型LCD相比,多了一层薄膜晶体管阵列,每一个像素都对应一个薄膜晶体管,控制液晶的电压直接加在这个晶体管上,再通过晶体管去控制液晶的电压,控制光线通过与否。

TFT型LCD的每个像素都相对独立,可直接控制,单元之间的干扰很小。可以使用大电流,提供更好的对比度、更锐利和更明亮的图像,而不会产生虚影和拖尾现象。同时也可以非常精确的控制灰度。

TFT型LCD因反应快、显示品质较佳,适用于大型动画显示,被广泛应用于笔记本电脑、计算机显示器、液晶电视、液晶投影机及各式大型电子显示器等产品。近年来随着手机、PDA、数码相机和数码摄像机等手持类设备对显示屏的要求不断提高,TFT型LCD在这些领域也有了越来越广泛的应用。

市面上出售的LCD的类型

市面上出售的LCD有两种类型:

(1)带有驱动电路LCD显示模块:通常采用总线方式与各种单片机进行接口。

(2)没有带驱动电路的LCD显示器:使用控制器扫描方式,需要另外的LCD控制器芯片或者是在主控制器芯片内部具有LCD控制器电路。

通常,LCD控制器工作的时候,通过DMA请求占用系统总线,直接通过SDRAM控制器读取SDRAM中指定地址(显示缓冲区)的数据,此数据经过LCD控制器转换成液晶屏扫描数据格式,直接驱动液晶显示器。

触摸屏接口基本原理

触摸屏基本原理

触摸屏附着在显示器的表面,根据触摸点在显示屏上对应坐标点的显示内容或图形符号,进行相应的操作。按其工作原理可分为:表面声波屏、电容屏、电阻屏和红外屏几种。在嵌入式系统中常用的是电阻式触摸屏。

电阻触摸屏的屏体部分是一块与显示器表面非常配合的多层复合薄膜,基层采用一层玻璃或薄膜,最上层是一层外表面硬化处理、光滑防刮的塑料层,内表面涂有一层透明导电层,在两层导电层之间有许多细小(小于千分之一英寸)的透明隔离点把它们隔开绝缘。在每个工作面的两条边线上各涂一条银胶,称为该工作面的一对电极,一端加5V电压,一端加OV,在工作面的一个方向上形成均匀连续的平行电压分布,如下图所示。

电阻触摸屏的原理

当手指或笔触摸屏幕时,如下图所示,平常相互绝缘的两层导电层就在触摸点位置有了一个接触,因其中一面导电层(顶层)接通X轴方向的5V均匀电压场,使得检测层(底层)的电压由零变为非零,控制器侦测到这个接通后,进行A/D转换,并将得到的电压值与5V相比即可得触摸点的X轴坐标为(原点在靠近接地点的那端):X₁=Lx*Vi/V。

同理,当给Y电极对施加电压,而X电极对不加电压时,可知触点Y轴坐标为:Y=Ly*Vj/V。

电阻式触摸屏有四线式和五线式两种。

四线式触摸屏:X工作面和Y工作面分别加在两个导电层上,共有四根引出线分别连到触摸屏的X电极对和Y电极对上。触摸寿命小于100万次。

五线式触摸屏:X工作面和Y工作面都加在玻璃基层的导电涂层上,工作时采用分时加电,即让两个方向的电压场分时工作在同一工作面上,而外导电层则仅仅用来充当导体和电压测量电极。需要五根引出线;触摸寿命达到3500万次;其ITO层可以做得更薄,因此透光率和清晰度更高,几乎没有色彩失真。

电阻触摸屏的缺点:外层复合薄膜采用的是塑胶材料;太用力或使用锐器触摸可能划伤触摸屏,从而导致触摸屏报废。

触摸屏的控制

触摸屏的控制采用专用芯片,专门处理是否有笔或手指按下触摸屏,并在按下时分别给两组电极通电,然后将其对应位置的模拟电压信号经过A/D转换送回处理器。触摸屏的控制结构如下图所示。

ADS7843送回控制器的X与Y值仅是对当前触摸点的电压值的A/D转换值,这个值的大小不但与触摸屏的分辨率有关,而且也与触摸屏与LCD贴合的情况有关。而且,LCD分辨率与触摸屏的分辨率一般来说不一样,坐标也不一样,因此,如果想得到体现LCD坐标的触摸屏位置,还需要在程序中进行转换。

音频接口基本原理

音频基本原理

常用的数字声音处理需要的集成电路包括A/D转换器和D/A转换器、数字信号处理器(DSP)、数字滤波器和数字音频输入输出接口及设备(麦克风、话筒)等。麦克风输入的数据经音频编解码器解码完成A/D转换。解码后的音频数据通过音频控制器送入DSP或CPU进行相应的处理。音频输出数据经音频控制器发送给音频编码器,经编码D/A转换后由扬声器输出。

数字音频涉及的概念很多,这里只介绍采样和量化。

采样:每隔一定时间读一次声音信号的幅度。

量化:将采样得到的声音信号幅度转换为数字值。

从本质上讲,采样是时间上的数字化,量化则是幅度上的数字化。

根据奈奎斯特采样定理,采样频率应高于输入信号的最高频率的两倍。

音频数据类型

数字音频数据有多种不同的格式。下面简要介绍三种最常用的格式:采样数字音频(PCM)、MPEG层3音频(MP3)和ATSC数字音频压缩标准(AC3)。

PCM数字音频是CD-ROM或DVD采用的数据格式。对左右声道的音频信号采样得到PCM数字信号,采样率为44.1kHz,精度为16位或32位。因此,精度为16位时,PCM音频数据速率为1.41Mb/s;32位时为2.42Mb/s。一张700MB的CD可保存大约60分钟的16位PCM数据格式的音乐。

MP3是MP3播放器采用的音频格式,对PCM音频数据进行压缩编码。立体声MP3数据速率为112kb/s至128kb/s。对于这种数据速率,解码后的MP3声音效果与CD数字音频的质量相同。

AC3是数字TV、HDTV和电影数字音频编码标准。立体声AC3编码后的数据速率为192kb/s。

IIS音频接口总线

数字音频系统需要多种集成电路,所以为这些电路提供一个标准的通信协议非常重要。IIS总线是Philips公司提出的音频总线协议,全称是数字音频集成电路通信总线(Inter-IC Sound Bus,IIS),它是一种串行的数字音频总线协议。

音频数据的编码或解码的常用串行音频数字接口是IIS总线。IIS总线只处理声音数据,其他控制信号等则需单独传输。IIS使用了三根串行总线,以尽量减少引出管脚,这三根线分别是:提供分时复用功能的数据线SD;字段选择线WS(声道选择);时钟信号线SCK。

数据的发送方和接收方需要有相同的时钟信号来控制数据传输,所以数据传输方(主设备)必须产生字段选择信号、时钟信号和需要传输的数据信号。复杂的数字音频系统可能会有多个发送方和接收方,因此很难定义哪个是主设备。这种系统一般会有一个系统主控制模式,用于控制数字音频数据在不同集成电路间的传输。引入主控制模块后,数据发送方就需要在主控制模块的协调下发送数据。下图为几种传输模式,这些模式的配置一般需通过软件来实现。

IIS总线协议

串行数据传输SD:串行数据的传输由时钟信号同步控制,且串行数据线上每次传输一个字节的数据。当音频数据被数字化成二进制流后,传输时先将数据分成字节,每个字节的数据传输从左边的二进制位MSB(Most Significant Bit)开始。当接收方和发送方的数据字段宽度不一样时,发送方不考虑接收方的数据字段宽度。如果发送方发送的数据字段宽度小于系统字段宽度,就在低位补0;如果发送方的数据宽度大于接收方的宽度,则超过LSB(Least Significant Bit)的部分被截断。

字段选择WS:音频一般由左声道和右声道组成,使用字段选择就是用来选择左右声道,WS=0表示选择左声道;WS=1表示选择右声道。此外,WS能让接收设备存储前一个字节,并准备接收下一个字节。

时钟信号SCK:IIS总线中,任何一个能够产生时钟信号的集成电路都可以称为主设备,从设备从外部时钟的输入得到时钟信号。IIS的规范中制定了一系列关于时钟信号频率和延时的限制。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

dtpay聚合支付系统在跨境支付场景中技术及业务方案

1 什么是跨境支付 我们从两个维度来分析什么是跨境支付&#xff0c;第一个维度我们从资金流向分析&#xff0c;国内的消费者在境外进行消费对于国内资金流来说这属于资金流出&#xff0c;这是跨境支付的第一种应用场景。第二个场景国外游客在国内进行消费&#xff0c;这属于资…

【ECCV 2024】首个跨模态步态识别框架:Camera-LiDAR Cross-modality Gait Recognition

【ECCV 2024】首个跨模态步态识别框架&#xff1a;Camera-LiDAR Cross-modality Gait Recognition 简介&#xff1a;主要方法&#xff1a;实验结果&#xff1a; 论文&#xff1a;https://arxiv.org/abs/2407.02038 简介&#xff1a; 步态识别是一种重要的生物特征识别技术。基…

【论文阅读】-- Strscope:不规则测量的时间序列数据的多尺度可视化

Stroscope: Multi-Scale Visualization of Irregularly Measured Time-Series Data 摘要1 引言2相关工作2.1&#xff08;大型&#xff09;时间序列数据可视化2.2 事件序列数据可视化2.3 评价 3问题分析3.1 数据集3.2 场景——现状3.3 设计流程3.4 设计原理 4 涟漪图&#xff1a…

十大排序:插入/希尔/选择/堆/冒泡/快速/归并/计数/基数/桶排序 汇总(C语言)

目录 前言非线性时间比较类插入排序(1) 直接插入排序(2) 希尔排序 选择排序(3) 选择排序优化版(4) 堆排序 交换排序(5) 冒泡排序(6) 快速排序hoare版本挖坑版前后指针版非递归版 归并排序(7) 归并排序递归版非递归版 线性时间比较类(8) 计数排序基数排序与桶排序 总结 前言 在计…

昇思25天学习打卡营第16天|文本解码原理——以MindNLP为例

在大模型中&#xff0c;文本解码通常是指在自然语言处理&#xff08;NLP&#xff09;任务中使用的大型神经网络模型&#xff08;如Transformer架构的模型&#xff09;将编码后的文本数据转换回可读的原始文本的过程。这些模型在处理自然语言时&#xff0c;首先将输入文本&#…

自闭症儿童的治疗方法有哪些?

身为星贝育园自闭症儿童康复学校的资深教育者&#xff0c;我深知自闭症谱系障碍&#xff08;ASD&#xff09;儿童的教育与治疗需要一个全面、个性化的方案。在星贝育园&#xff0c;我们致力于为孩子们提供一个充满爱与理解的环境&#xff0c;采用多种科学验证的教育方法&#x…

【Java11】变量的初始化和内存中的运行机制

成员变量的初始化和内存中的运行机制 系统加载类或创建类的实例时&#xff0c;系统自动为成员变量分配内存空间&#xff0c;然后自动为成员变量指定初始值。 class Person {public String name; // 实例变量public static int eyeNum; // 类变量 }var p1 Person(); var p2 …

动态线程池思想学习及实践

引言 在后台项目开发过程中&#xff0c;我们常常借助线程池来实现多线程任务&#xff0c;以此提升系统的吞吐率和响应性&#xff1b;而线程池的参数配置却是一个难以合理评估的值&#xff0c;虽然业界也针对CPU密集型&#xff0c;IO密集型等场景给出了一些参数配置的经验与方案…

MQ:RabbitMQ

同步和异步通讯 同步通讯: 需要实时响应,时效性强 耦合度高 每次增加功能都要修改两边的代码 性能下降 需要等待服务提供者的响应,如果调用链过长则每次响应时间需要等待所有调用完成 资源浪费 调用链中的每个服务在等待响应过程中,不能释放请求占用的资源,高并发场景下…

【后端面试题】【中间件】【NoSQL】MongoDB查询优化2(优化排序、mongos优化)

优化排序 在MongoDB里面&#xff0c;如果能够利用索引来排序的话&#xff0c;直接按照索引顺序加载数据就可以了。如果不能利用索引来排序的话&#xff0c;就必须在加载了数据之后&#xff0c;再次进行排序&#xff0c;也就是进行内存排序。 可想而知&#xff0c;如果内存排序…

【RT-thread studio 下使用STM32F103-学习sem-信号量-初步使用-线程之间控制-基础样例】

【RT-thread studio 下使用STM32F103-学习sem-信号量-初步使用-线程之间控制-基础样例】 1、前言2、环境3、事项了解&#xff08;1&#xff09;了解sem概念-了解官网消息&#xff08;2&#xff09;根据自己理解&#xff0c;设计几个使用方式&#xff08;3&#xff09;不建议运行…

DataWhale-吃瓜教程学习笔记 (七)

学习视频**&#xff1a;第6章-支持向量机_哔哩哔哩_bilibili 西瓜书对应章节&#xff1a; 第六章 支持向量机 - 算法原理 几何角度 对于线性可分数据集&#xff0c;找距离正负样本距离都最远的超平面&#xff0c;解是唯一的&#xff0c;泛化性能较好 - 超平面 - 几何间隔 例…

堆叠的作用

一、为什么要堆叠 传统的园区网络采用设备和链路冗余来保证高可靠性&#xff0c;但其链路利用率低、网络维护成本高&#xff0c;堆叠技术将多台交换机虚拟成一台交换机&#xff0c;达到简化网络部署和降低网络维护工作量的目的。 二、堆叠优势 1、提高可靠性 堆叠系统多台成…

ServiceImpl中的参数封装为Map到Mapper.java中查询

ServiceImpl中的参数封装为Map到Mapper.java中查询&#xff0c;可以直接从map中获取到key对应的value

【Python机器学习】处理文本数据——多个单词的词袋(n元分词)

使用词袋表示的主要缺点之一就是完全舍弃了单词顺序。因此“its bad&#xff0c;not good at all”和“its good&#xff0c;not bad at all”这两个字符串的词袋表示完全相同&#xff0c;尽管它们的含义相反。幸运的是&#xff0c;使用词袋表示时有一种获取上下文的方法&#…

LeetCode热题100刷题3:3. 无重复字符的最长子串、438. 找到字符串中所有字母异位词、560. 和为 K 的子数组

3. 无重复字符的最长子串 滑动窗口、双指针 class Solution { public:int lengthOfLongestSubstring(string s) {//滑动窗口试一下//英文字母、数字、符号、空格,ascii 一共包含128个字符vector<int> pos(128,-1);int ans 0;for(int i0,j0 ; i<s.size();i) {//s[i]…

全端面试题15(canvas)

在前端开发领域&#xff0c;<canvas> 元素和相关的 API 是面试中经常被提及的主题。下面是一些常见的关于 HTML5 Canvas 的面试问题及解答示例&#xff1a; 1. 什么是 <canvas> 元素&#xff1f; <canvas> 是 HTML5 引入的一个用于图形渲染的标签。它本身并…

能否免费使用Adobe XD?

Adobe XD不是免费的。Adobe 目前XD采用订阅模式&#xff0c;提供订阅模式 7 每天试用期结束后需要付费购买&#xff0c;具体价格根据不同的订阅计划确定&#xff0c;包括每月购买&#xff0c;包括 9.99 美元或每月 99.99 美元&#xff0c;或者选择购买Adobe CreativeCloud整体订…

【qt】如何通过域名获得IP地址?

域名是什么呢?像www.baidu.com的baidu.com就是域名. 域名相当于是网站的门牌号. 域名可以通过 DNS 解析将其转换为对应的 IP 地址. 用我们获取IP地址的方式就可以,但是现在没有可以用另一种方法. 槽函数的实现: void MainWindow::lookupHost(const QHostInfo &hostInf…

Python学习笔记29:进阶篇(十八)常见标准库使用之质量控制中的数据清洗

前言 本文是根据python官方教程中标准库模块的介绍&#xff0c;自己查询资料并整理&#xff0c;编写代码示例做出的学习笔记。 根据模块知识&#xff0c;一次讲解单个或者多个模块的内容。 教程链接&#xff1a;https://docs.python.org/zh-cn/3/tutorial/index.html 质量控制…