【经验】雅特力AT32 MCU SPI/I2S入门指南

2023-03-08 雅特力科技微信公众号
MCU,AT32,雅特力 MCU,AT32,雅特力 MCU,AT32,雅特力 MCU,AT32,雅特力

AT32的SPI接口提供软件编程配置选项,根据软件编程配置方式不同,可以分别作为SPI和I2S使用。本文将分SPI和I2S分别介绍SPI接口作SPI或I2S的功能特性以及配置流程。


AT32 SPI特点:

可编程配置的全双工或半双工通信

--全双工同步通信--半双工同步通信(可以根据软件编程配置选择传输方向:发送或接收)

可编程配置主/从模式

可编程配置的CS模式:硬件/软件CS模式

可编程配置的时钟极性和相位

可编程配置的数据传输顺序(MSB/LSB)

可编程配置的错误中断标志(CS脉冲异常,接收溢出错误,主模式错误,CRC校验错误)

数据接收/发送均支持DMA

兼容TI的SSP协议(即TI模式)


AT32 I2S特点:

可编程配置的操作模式

--从设备发送--从设备接收--主设备发送--主设备接收

可编程配置的时钟极性

可编程配置的时钟频率(8KHz到192KHz)

可编程配置的数据位数(16位,24位,32位)

可编程配置的声道位数(16位,32位)

可编程配置的音频协议

--I2S飞利浦标准--高字节对齐标准(左对齐)--低字节对齐标准(右对齐)--PCM标准(长帧/短帧)

支持I2S全双工

支持DMA传输

在通讯期间可提供频率固定为256倍Fs(音频采样频率)的外设主时钟


SPI功能介绍

本章主要介绍SPI基本功能,以及AT32 SPI的各种附加可配置选项。


SPI硬件接口

SPI接口定义如下:

CS:片选引脚(可选)。通常由主机输出,从机输入。后续CS管理章节作详细介绍。

SCK:时钟引脚。由主机输出,从机输入。

MISO:主收从发引脚。主机则作为接收数据引脚,从机则做为发送数据引脚。

MOSI:主发从收引脚。主机则作为发送数据引脚,从机则作为接收数据引脚。


以下介绍几种常见的SPI通信接线方式。

1)如下图1,是单主单从、全双工、CS硬件模式的应用接线示意图。



2)如下图2,是单主单从、全双工、CS软件模式的应用接线示意图。在CS软件管理模式下,无需使用CS引脚,主/从机的CS引脚都可以释放给其他应用使用。此时,从机对SWCSIL位清0或置1等效于“硬件CS模式”下的CS引脚输入低电平和高电平。主机则必须将SWCSIL位置1,以保证正确的处于主机模式。



3)如下图3,是单主多从全双工接线示意。主机使用普通I/O口1~n输出以驱动从机1~n的片选CS,主机的SCK,MISO,MOSI和从机的SCK,MISO,MOSI引脚一对多连接。此时SPI主机可以通过I/O1~n的选择与多个从机进行分时通信。此时从机必须使用硬件CS模式。主机可以使用软件CS模式,主机CS对应的引脚可以释放给其他应用使用。



4)如下图4,AT32的SPI增加了SPI半双工模式,此模式下只需要使用3线即可通信。主机使用MOSI进行数据收/发。当主机配置为半双工发送模式(SLBEN=1,SLBTD=1)时,主机MOSI为输出引脚,用于发送数据;当主机配置为半双工接收模式(SLBEN=1,SLBTD=0)时,主机MOSI为输入引脚,用于接收数据。从机使用MISO进行数据收/发。当从机配置为半双工发送模式(SLBEN=1,SLBTD=1)时,从机MISO为输出引脚,用于发送数据;当从机配置为半双工接收模式(SLBEN=1,SLBTD=0)时,从机MISO为输入引脚,用于接收数据。



SPI数据接收和发送

如下图5,用户软件程序可以读和写数据寄存器,其他部分全由硬件自动完成。以全双工,硬件CS管理,8bit数据格式为例。收发一笔数据的流程如下:


作为SPI主机时:

软件使能SPI(SPIEN=1)后,硬件控制CS引脚输出低电平,以片选从机。之后软件往数据寄存器写入数据,如下图5的“软件写数据寄存器”处,相当于往发送缓冲器写入待发送数据,之后硬件会自动将发送缓冲器的待发送数据搬运到移位寄存器。同时将发送缓冲器空标志置1(TDBE=1),以提醒软件又可以往数据寄存器写入下一笔待发送的数据。之后硬件立即开始在SCK引脚上输出时钟信号,并在MOSI引脚上发出待发送数据的第一bit数据。之后硬件从MISO引脚上读取待接收数据的第一bit数据并放入移位寄存器中(移位寄存器由于之前发送了1bit数据,此时正好有一bit位置可以存放收到的数据)。之后硬件会通过移位寄存器自动发送和接收剩下的7bit数据。之后硬件会将移位寄存器中接收到的8bit数据搬运到接收缓冲器中,并将接收缓冲器满标志置1(RDBF=1),以提醒软件可以通过读取数据寄存器来读取刚刚接收到的这笔数据。


作为SPI从机时:

软件使能SPI(SPIEN=1)后,软件往数据寄存器写入数据,相当于往发送缓冲器写入待发送数据,然后硬件会将发送缓冲器空标志清0(TDBE=0),以提醒软件此时发送缓冲器已有待发送数据了。之后硬件检测CS引脚和SCK引脚,等待来自主机的片选和时钟信号。检测到片选和时钟信号之后,硬件自动将发送缓冲器的待发送数据搬运到移位寄存器并在MISO引脚上发出待发送数据的第一bit。同时将发送缓冲器空标志置1(TDBE=1),以提醒软件又可以往数据寄存器写入下一笔待发送的数据。之后硬件从MOSI引脚上读取待接收数据的第一bit数据并放入移位寄存器中(移位寄存器由于之前发送了1bit数据,此时正好有一bit位置可以存放收到的数据)。之后硬件根据在SCK上的时钟信号,会在MISO和MOSI引脚上发送和接收剩下的7bit数据。之后硬件会将移位寄存器中接收到的8bit数据搬运到接收缓冲器中,并将接收缓冲器满标志置1(RDBF=1),以提醒软件可以通过读取数据寄存器来读取刚刚接收到的这笔数据。也可以参考下一小节“SPI时序”来理解SPI收发逻辑。



SPI时序

本节介绍SPI通信时序。包括全双工和半双工的主/从通信时序。


1、SPI全双工时序

以全双工、硬件CS管理、单主单从通信为例。


其中主机端相关配置如下:

MSTEN=1:设备为主机;

SLBEN=0:全双工模式;

CLKPOL=0:SCK空闲输出低电平;

CLKPHA=0:SCK第一个边沿开始进行数据捕获;

FBN=0:帧位个数为8bit;

SWCSEN=0,HWCSOE=1:使用硬件CS管理;

主机发送数据(MOSI):0xAA,0xCC,0xAA;

从机发送数据(MISO):0xCC,0xAA,0xCC。


主机端时序见下图6:



其中从机端相关配置如下:

MSTEN=0:设备为从机

SLBEN=0:全双工模式;

CLKPOL=0:SCK空闲低电平

CLKPHA=0:SCK第一个边沿进行数据捕获

FBN=0:帧位个数为8bit

SWCSEN=0:使用硬件CS管理

主机发送数据(MOSI):0xAA,0xCC,0xAA

从机发送数据(MISO):0xCC,0xAA,0xCC


从机端时序见下图7:



2、SPI半双工时序

半双工时序下,有主机发送、从机接收、主机接收、从机发送4种模式。

1)以半双工、硬件CS管理、主机发送-从机接收通信为例。


其中主机端相关配置如下:

MSTEN=1:设备为主机;

SLBEN=1:使能单线双向半双工模式;

SLBTD=1:发送模式;CLKPOL=0:SCK空闲输出低电平;

CLKPHA=0:SCK第一个边沿开始进行数据捕获;

FBN=0:帧位个数为8bit;

SWCSEN=0,HWCSOE=1:使用硬件CS管理;

主机发送数据:0xAA,0xCC,0xAA;


主机端时序见下图8:



其中从机端相关配置如下:

MSTEN=0:设备为从机;

SLBEN=1:使能单线双向半双工模式;

SLBTD=0:接收模式;

CLKPOL=0:SCK空闲低电平;

CLKPHA=0:SCK第一个边沿进行数据捕获;

FBN=0:帧位个数为8bit;

SWCSEN=0:使用硬件CS管理;

从机接收数据:0xAA,0xCC,0xAA;


从机端时序见下图9:



2)以半双工、硬件CS管理、主机接收-从机发送通信为例。

其中主机端相关配置如下:

MSTEN=1:设备为主机;

SLBEN=1:使能单线双向半双工模式;

SLBTD=0:接收模式;

CLKPOL=0:SCK空闲输出低电平;

CLKPHA=0:SCK第一个边沿开始进行数据捕获;

FBN=0:帧位个数为8bit;

SWCSEN=0,HWCSOE=1:使用硬件CS管理;

主机接收数据:0xAA,0xCC,0xAA;


主机端时序见下图10:

此模式下,较为特别的是,SPI主机一旦使能(SPIEN=1),就会连续不断的输出时钟。因此,主机在接收完需要接收的数据后,需要关闭SPI。在本例中,接收完连续的3笔数据后,也就是下图10的箭头处,需要关闭SPI,输出多余的时钟。

另外,如下图10,此模式下,BF标志始终为低。



其中从机端相关配置如下:

MSTEN=0:设备为从机;

SLBEN=1:使能单线双向半双工模式;

SLBTD=1:发送模式;

CLKPOL=0:SCK空闲低电平;

CLKPHA=0:SCK第一个边沿进行数据捕获;

FBN=0:帧位个数为8bit;

SWCSEN=0:使用硬件CS管理;

从机发送数据:0xAA,0xCC,0xAA;


从机端时序见下图11:



SPI数据收发方式

SPI的接收和发送如前文所述,是通过操作数据寄存器来完成的。而根据操作数据寄存器的方法,SPI有以下3种数据接收发送方式。


轮询方式

轮询方式不需要使能SPI中断和DMA。只需要在main函数中不断读取STS寄存器,并判断TDBE和RDBF标志是否置起,以确定何时向数据寄存器写入待发送数据,何时从数据寄存器读取接收到的数据。比较耗费CPU资源,不建议使用此方式。具体请参考“案例1--SPI全双工轮询方式通信”一节。


中断方式

中断方式需要开启“发送数据缓冲器空中断使能”和“接收数据缓冲器满中断使能”,即设置TDBEIE=1,RDBFIE=1。并配置和使能SPI中断。之后在SPI中断里进行数据的发送和接收,避免了轮询方式的等待耗时,占用CPU资源相对较少。具体请参考“案例4--SPI半双工中断方式通信”或“案例5--SPI半双工中断方式通信--加收发切换”一节。


DMA方式

DMA方式需要开启SPI的DMA接收/发送功能(DMAREN=1,DMATEN=1)。并配置DMA通道映射到SPI和使能DMA。之后的接收和发送均由DMA完成,收/发过程不再需要软件参与,不占用CPU资源。具体请参考“案例2--SPI全双工DMA方式通信”一节。


时钟控制器

SPI协议采用同步传输。作主机时,需要时钟控制器产生通信时钟用于SPI接口的数据收发,并且需要将该通信时钟通过SCK引脚输出给从机,用于从机的数据收发;作从机时,需要外部提供通信时钟,从SCK引脚输入到SPI接口内部作为通信时钟使用。对用户而言,可软件配置的主要有极性、相位、分频系数三个参数。


极性

SPI时钟极性,即空闲时SCK引脚输出的电平。通过配置CLKPOL位来选择SPI时钟极性。如下图12:CLKPOL=0时,SCK空闲为低电平;CLKPOL=1时,SCK空闲为高电平。



相位

SPI时钟相位,即SPI数据捕获边缘。通过配置CLKPHA位来选择SPI时钟极性。

如下图13:CLKPHA=0时,第一个边沿为捕获采样边沿。在本例中(CLKPOL=0),也就是上升沿为采样沿;相对的,本例中下降沿为驱动沿。

CLKPHA=1时,第二个边沿为捕获采样边沿。在本例中(CLKPOL=0),也就是下降沿为采样沿;相对的,本例中上升沿为驱动沿。



分频系数

SPI时钟是从APB时钟分频得到的,通过配置MDIV[3:0]和MDIV3EN来选择需要的分频系数,以确定SPI时钟。分频系数仅主机配置有效。从机需要外部提供时钟,因此此项配置无效。


CS管理

SPI CS包含硬件和软件管理两种模式,又根据主机/从机的不同,有不同的配置和应用场景。

在CS为输入模式时(HWCSOE=0),如下图14,主机和从机均通过SWCSEN位来选择SPI实际使用的CS信号来自软件设置(SWCSIL)还是外部CS引脚电平。

在CS为输出模式时(HWCSOE=1),软件CS模式相关配置无效。



以下分别列出了主机和从机在不同的CS管理模式下的状态和应用场景。


主机CS管理:

下表1列出了几种主机CS管理的配置及应用场景。



从机CS管理:

下表2列出了从机CS管理的几种配置和应用场景。其中,从模式下HWCSOE配置无效,该位只在主模式下有效。



CRC校验

AT32 SPI具有独立的发送和接收CRC计算单元,用户可通过软件配置使能此功能。使能CRC校验之后:硬件会对发送的数据进行CRC计算,并将计算得到的CRC校验码放在SPI_TCRC寄存器中,CRC校验码紧接在数据之后发送;且硬件会在接收一笔数据时对接收到的数据进行CRC计算,并将计算得到的CRC校验码放在SPI_RCRC寄存器中,硬件会在一笔连续的数据接收完成后将最后接收到的CRC校验码与SPI_RCRC寄存器中的校验码进行比较,如果不符,CRC校验错误位(CCERR)会置起,若使能了错误中断(ERRIE=1),将会产生中断。

另外,SPI通信方式使用DMA和使用轮询/中断方式时,CRC功能的软件操作步骤有区别,如下:


轮询/中断方式:

①配置CRC多项式:配置SPI_CPOLY寄存器和需要通信的SPI一致(默认值为0x0007);

②使能CRC功能:CCEN=1;

③使能SPI:SPIEN=1;

④发送待发送的数据data_1~data_n;

⑤请求发送CRC校验码:NTC=1。

注:NTC置1的时间参考下图15的⑤段,需要在最后一笔数据(data_n)写入数据寄存器到发送完成之间。实际编写软件代码时,建议在data_n写入数据寄存器之后立即将NTC置1。

⑥硬件自动在data_n发送完成后立即发送CRC校验码(此时无需软件参与)。轮询方式使用CRC功能可参考“案例6--SPI CRC功能使用”。



DMA方式:

SPI在使用DMA方式通信时,不需要软件代码去设置请求发送CRC校验码,即不需要去置位NTC位。具体步骤如下:①配置DMA:请参考“案例2--SPI全双工DMA方式通信”的DMA配置部分;

②配置CRC多项式:配置SPI_CPOLY寄存器和需要通信的SPI一致(默认值为0x0007);

③使能CRC功能:CCEN=1;

④使能SPI:SPIEN=1;

⑤数据及CRC接收完成后需关闭SPI和DMA,之后再开启,准备下一次通信。


TI模式(TI SSP协议)

AT32 SPI接口支持TI SSP协议,即TI模式。用户可以通过将TIEN位置1来使能TI模式。使能TI模式后,SPI接口将按照TI协议要求产生时钟SCK,和片选信号CS。也就是CS软/硬件管理相关控制位、时钟极性/相位相关控制位配置无效,请保持默认设置。使能TI模式后,帧格式(8/16bit)配置、CRC校验、DMA等功能仍然可以使用。


TI模式下,连续和不连续通信稍有区别。连续通信时,只有第一笔数据发送时有一个dummy CLK;不连续通信时,每笔数据都有一个dummy CLK。参考下图16和图17。


TI模式连续通信时序图见下图16。主机发送数据(MOSI):0xAA,0xCC,0xAA;从机发送数据(MISO):0xCC,0xAA,0xCC。



TI模式不连续通信时序图见下图17。主机发送数据(MOSI):0xAA,0xCC,0xAA;从机发送数据(MISO):0xCC,0xAA,0xCC。



注:AT32只有部分型号支持TI模式。AT32F425/F435/F437等型号支持TI模式,AT32F403/F403A/F407/F413/F415等型号不支持TI模式。具体请参考各型号的RM。


SPI错误

AT32的SPI有4种错误标志。这4种错误标志共用一个错误中断使能位(ERRIE)。也就是当ERRIE=1时,产生以下4种错误的任一错误就会进入SPI错误中断。


CSPAS--CS脉冲异常置位标志

在TI模式下,当SPI作从机使用时,SPI会在数据传输期间侦测非预期的CS脉冲,当发生CS脉冲异常置位错误,CSPAS被硬件置1,如果开启了错误中断使能(ERRIE=1),则会产生错误中断。之后可以通过软件读SPI_STS清除该位。当侦测到CS脉冲异常时,为避免数据错误,软件应当关闭SPI从机,重新配置SPI主机,再打开SPI从机以重新开始通信。注:仅在TI模式下,CSPAS错误标志才有效。


ROERR--接收器溢出错误标志

当SPI数据寄存器已暂存一笔待读数据时,又收到一笔新数据,则会发生接收器溢出错误,ROERR被硬件置1,如果开启了错误中断使能(ERRIE=1),则会产生错误中断。发生溢出错误之后,SPI_DT寄存器存放的是最早收到的那笔数据,发生溢出错误之后收到的数据都被丢弃。之后依次读取SPI_DT寄存器和SPI_STS寄存器可清除该标志位。


MMERR--主模式错误标志

参考“CS管理”一节,当SPI主机为CS输入模式且CS引脚输入低电平时,会产生主模式错误,MMERR位会被硬件置1,且硬件会强制SPI进入从机模式(MSTEN清0)并关闭SPI(SPIEN清0)。如果开启了错误中断使能(ERRIE=1),则会产生错误中断。

清除MMERR标志位并从错误状态恢复请严格按照以下步骤执行:

①拉高CS引脚电平;

②执行一次对SPI_STS寄存器的读或写操作;

③执行一次对SPI_CTRL1寄存器的写操作;(不需要改变SPI_CTRL1的值,只需要写这个动作)

④之后硬件会自动清除MMERR标志(此步骤不需要软件代码参与);

⑤之后软件可根据需要重新配置主/从模式和使能SPI。


CCERR--CRC校验错误标志

当使能了CRC功能后,如果接收到的CRC校验码(发送方发送的校验码)和SPI_RCRC的校验码(接收方根据接收到的数据计算的校验码)不符,则硬件将CCERR位置1,如果开启了错误中断使能(ERRIE=1),则会产生错误中断。


由于发生了CRC校验错误,软件程序应当丢弃之前接收到的一笔数据,并重新通信。软件对CCERR位写0可清除该标志位。


SPI中断

如下图18,SPI有一个全局中断向量。SPI中断有三个中断源:接收缓冲器满、发送缓冲器空、通信错误(详见上一节“SPI错误”)。这三个中断源分别有对应的使能位。


下图中,3个中断使能位定义如下:

RDBFIE:接收数据缓冲器满中断使能

TDBEIE:发送数据缓冲器空中断使能

ERRIE:错误中断使能


下图中,5个标志位定义如下:

ROERR:接收器溢出错误

MMERR:主模式错误

CCERR:CRC校验错误

RDBF:接收数据缓冲器满

TDBE:发送数据缓冲器空



I2S功能介绍

I2S硬件接口

I2S接口定义如下:

WS:声道选择。由主机输出,从机输入。

CK:时钟。由主机输出,从机输入。

MCK:主时钟输出(可选)。在通讯期间可提供频率固定为256倍Fs的外设主时钟,仅在作为主机时有效。

SD:数据。主机/从机接收或发送数据均通过这个引脚。


以下是常见的I2S通信接线方式。

如下图19,是I2S主发从收的接线示意图。



如下图20,是I2S主收从发的接线示意图。



I2S数据接收和发送

I2S数据收发模块和上文的SPI共用数据寄存器和DMA映射,如上图5中的接收/发送缓冲器、移位寄存器也都是共用的,因此软件代码操作类似,请参考下文的I2S案例一节。不过SPI默认是全双工,而I2S默认是半双工。AT32也为用户提供I2S全双工功能,后文I2S全双工一节详细介绍。


I2S音频协议

AT32的I2S支持以下4种标准协议:

飞利浦标准:STDSLE=0b00;

高字节对齐标准(左对齐):STDSLE=0b01;

低字节对齐标准(右对齐):STDSLE=0b10;

PCM标准:STDSLE=0b11。

其中PCM标准又分为:

1、PCM长帧同步:PCMFSSEL=1;

2、PCM短帧同步:PCMFSSEL=0。


下图21在“16位数据-32位声道格式”,I2S时钟极性为低(I2SCLKPOL=0)条件下对比了几种音频标准一帧数据的通信时序。


飞利浦模式下:WS为低电平表示正在传输的声道为左声道,WS为高电平表示正在传输的声道为右声道。数据左对齐,即高位对齐,低位的16个bit被硬件填充为0。


MSB标准下:WS为高电平表示正在传输的声道为左声道,WS为低电平表示正在传输的声道为右声道。数据左对齐,即高位对齐,低位的16个bit被硬件填充为0。


LSB标准下:WS为高电平表示正在传输的声道为左声道,WS为低电平表示正在传输的声道为右声道。数据右对齐,即低位对齐,高位的16个bit被硬件填充为0。

注:LSB标准下,数据发送顺序还是高位在前。

PCM标准长帧下:没有左右声道之分,WS的脉冲代表同步信号而不是左右声道。WS脉冲长度为13个CK长度。

PCM标准短帧下:没有左右声道之分,WS的脉冲代表同步信号而不是左右声道。WS脉冲长度为1个CK长度。


I2S帧格式

AT32的I2S支持3种数据位个数选择:

16位:I2SDBN=0b00

24位:I2SDBN=0b01

32位:I2SDBN=0b10


AT32的I2S支持2种声道位个数选择:

16位:I2SDBN=0

32位:I2SDBN=1


数据位个数和声道位个数组合有以下4种帧格式:

①16位数据-16位声道格式:I2SDBN=0b00,I2SDBN=0;

②16位数据-32位声道格式:I2SDBN=0b00,I2SDBN=1;

③24位数据-32位声道格式:I2SDBN=0b01,I2SDBN=1;

④32位数据-32位声道格式:I2SDBN=0b10,I2SDBN=1;

上述的第②、③帧格式中,由于声道位个数>数据位个数。此时硬件会自动将多余的声道位填充为0。可参考上图21中,“16位数据-32位声道格式”的时序。

上述的①、②帧格式,在接收/发送数据时,仅需要读取/写入一次16bit的DT寄存器;而③、④帧格式,在接收/发送数据时,需要读取/写入两次16bit的DT寄存器。


I2S时钟控制器

I2S采样率(Fs)常见的音频的采样频率有:192KHz、96kHz、48kHz、44.1kHz、32kHz、22.05kHz、16kHz、11.025kHz、8kHz等。而实际上AT32的I2S可以产生以上范围内的任何采样率。例如采样率为192K,则表示每秒可传输192K帧音频数据。对于飞利浦/MSB/LSB标准而言,一帧音频数据包含左、右通道两笔16/32bit的数据;对于PCM标准而言,一帧数据仅包含一笔16/32bit的数据。


I2S时钟(CK)和主时钟(MCK)

如下图22,I2S的时钟从系统时钟SCLK分频得来。不过使用I2S时仍然需要使能挂载在APB时钟总线上的SPI接口时钟(SPIxEN=1),以用于I2S逻辑控制器等。

当需要输出主时钟(I2SMCLKOE=1),声道位个数为16bit(I2SDBN=0)时:

Fs=SCLK/[(16*2)*((2*I2SDIV)+I2SODD)*8];

当需要输出主时钟(I2SMCLKOE=1),声道位个数为32bit(I2SDBN=1)时:

Fs=SCLK/[(32*2)*((2*I2SDIV)+I2SODD)*4];

当不需要输出主时钟(I2SMCLKOE=0),声道位个数为16bit(I2SDBN=0)时:

Fs=SCLK/[(16*2)*((2*I2SDIV)+I2SODD)];

当不需要输出主时钟(I2SMCLKOE=0),声道位个数为32bit(I2SDBN=1)时:

Fs=SCLK/[(32*2)*((2*I2SDIV)+I2SODD)];



如下表3,示例了系统时钟为240MHz时,配置192K的采样率推荐的I2S时钟配置方案。



I2S全双工

AT32F403A/F407/F435/F437/F425等型号支持I2S全双工,AT32F403/F413/F415/F421等型号不支持I2S全双工,具体请参考对应型号RM文档。不同型号MCU的I2S全双工实现方式也有所区别,本文会分别介绍AT32F403A/F407/F435/F437和AT32F425的I2S全双工功能。


AT32F403A/F407/F435/F437的I2S全双工

AT32F403A/F407/F435/F437为了支持I2S全双工模式,额外例化了两个I2S模块(I2S2EXT,I2S3EXT)。I2S2可与I2S2EXT组合在一起支持全双工模式,I2S3可与I2S3EXT组合在一起支持全双工模式。代码可参考“案例3—AT32F403A/F407/F435/F437 I2S全双工DMA方式通信”。


在I2Sx可与I2SxEXT组成全双工模块时,I2Sx可配置为主或从模式,I2SxEXT只能配置为从模式。I2SxEXT共享I2Sx的CK和WS,对应的有以下几种配置方式:

I2Sx主发(OPERSEL=0b10);I2SxEXT从收(OPERSEL=0b01);

I2Sx主收(OPERSEL=0b11);I2SxEXT从发(OPERSEL=0b00)。

I2Sx从发(OPERSEL=0b00);I2SxEXT从收(OPERSEL=0b01);

I2Sx从收(OPERSEL=0b01);I2SxEXT从发(OPERSEL=0b00)。

注:I2S2EXT和I2S3EXT只用于I2S全双工模式,而不能单独使用。



AT32F425的I2S全双工

AT32F425的I2S全双工实现方式和AT32F403A/F407/F435/F437不同。AT32F425可以通过设置SCFG_CFG2寄存器中的I2S_FD将两个SPI组合在一起实现I2S全双工。代码可参考“案例4—AT32F425 I2S全双工DMA方式通信”。CK和WS由I2S主导方提供,附属方的CK和WS对应引脚可以释放给其他功能使用。根据I2S_FD配置,有以下几种组合方式:

I2S_FD=0b00:I2S1~3各自独立半双工工作;

I2S_FD=0b01:I2S1和I2S3组成全双工模式,其中I2S1为主导方,I2S3为附属方。

I2S_FD=0b10:I2S2和I2S3组成全双工模式,其中I2S2为主导方,I2S3为附属方。

I2S_FD=0b11:I2S1和I2S2组成全双工模式,其中I2S1为主导方,I2S2为附属方。



I2S错误

ROERR--接收器溢出错误标志

此错误标志和SPI一样,请参考前文“2.9.2 ROERR--接收器溢出错误标志”。


TUERR--发送器欠载错误标志位

在I2S从发模式下,如果在CK上检测到了数据驱动沿,但新的发送数据并没有被写入数据寄存器,则会产生发送器欠载错误,此时硬件会将TUERR位置1。软件读SPI_STS寄存器可清除该标志位。此错误标志仅使用I2S时有效。


I2S中断

I2S和SPI共用一个全局中断向量,即下图25的“I2S中断”和上图18中的“SPI中断”共用同一个中断向量。I2S中断有三个中断源:接收缓冲器满、发送缓冲器空、通信错误(详见上一节“I2S错误”)。这三个中断源分别有对应的使能位。

下图中,3个中断使能位定义如下:

RDBFIE:接收数据缓冲器满中断使能(和SPI一样)

TDBEIE:发送数据缓冲器空中断使能(和SPI一样)

ERRIE: 错误中断使能(和SPI一样)


下图中,4个标志位定义如下:

ROERR:接收器溢出错误(和SPI一样)

TUERR:发送器欠载错误(仅I2S有这个错误标志)

RDBF:接收数据缓冲器满(和SPI一样)

TDBE:发送数据缓冲器空(和SPI一样)



SPI案例

注:所有project都是基于keil5而建立,若用户需要在其他编译环境上使用,请参考AT32xxx_Firmware_Library_V2.x.x\project\at_start_xxx\templates中各种编译环境(例如IAR6/7,keil4/5)进行简单修改即可。


案例1-SPI全双工轮询方式通信

功能简介实现SPI2和SPI3之间的全双工轮询通信。接线如下:spi2 spi3pd1(sck)<--->pc10(sck)pc2(miso)<--->pc11(miso)pd4(mosi)<--->pc12(mosi)


资源准备

1)硬件环境:

一块AT32F437的AT-START BOARD

2)软件环境:project\at_start_f437\examples\spi\fullduplex_polling


软件设计

1)配置流程

配置SPI2和SPI3对应的GPIO;

配置SPI2和SPI3通信配置;

开始轮询通信。

2)代码介绍

main函数代码描述



SPI通信配置函数代码描述



SPI GPIO配置函数代码描述



实验效果AT-START BOARD的LED2亮起,说明SPI2和SPI3通信正常。


案例2-SPI全双工DMA方式通信

功能简介

实现SPI2和SPI3之间的全双工DMA通信。接线如下:

spi2 spi3

pd1(sck)<--->pc10(sck)

pc2(miso)<--->pc11(miso)

pd4(mosi)<--->pc12(mosi)


资源准备

1)硬件环境:一块AT32F437的AT-START BOARD

2)软件环境:project\at_start_f437\examples\spi\motorola_fullduplex_dma


软件设计

1)配置流程

配置SPI2和SPI3对应的GPIO;

配置SPI2和SPI3的通信配置和DMA配置;

开始DMA通信。


2)代码介绍

main函数代码描述



SPI通信配置及DMA配置函数代码描述



SPI GPIO配置函数代码描述



实验效果

AT-START BOARD的LED2亮起,说明SPI2和SPI3通信正常。


案例3-SPI只收通信

功能简介

实现SPI2和SPI3之间的单向只收通信。接线如下:

spi2 spi3

pd1(sck)<--->pc10(sck)

pd4(mosi)<--->pc12(mosi)


资源准备

1)硬件环境:

一块AT32F437的AT-START BOARD

2)软件环境:

project\at_start_f437\examples\spi\only_receive_mode_polling


软件设计

1)配置流程

配置SPI2和SPI3对应的GPIO;

配置SPI2和SPI3的通信配置;

开始轮询通信。


2)代码介绍

main函数代码描述



SPI通信配置代码描述



SPI GPIO配置函数代码描述



实验效果

AT-START BOARD的LED2亮起,说明SPI2和SPI3通信正常。


案例4-SPI半双工中断方式通信

功能简介

实现SPI2和SPI3之间的半双工通信。接线如下:

spi2 spi3

pd1(sck)<--->pc10(sck)

pc2(miso)<--->pc12(mosi)


资源准备

1)硬件环境:

一块AT32F437的AT-START BOARD

2)软件环境:

project\at_start_xxxx\examples\spi\halfduplex_interrupt


软件设计

1)配置流程

配置SPI2和SPI3对应的GPIO;

设置SPI2和SPI3的中断处理函数;

配置SPI2和SPI3的通信配置;

开始中断通信。


2)代码介绍

main函数代码描述



中断处理函数代码描述



SPI通信配置函数代码描述



SPI GPIO配置函数代码描述



实验效果

AT-START BOARD的LED2亮起,说明SPI2和SPI3通信正常。


案例5-SPI半双工中断方式通信-加收发切换

功能简介

实现SPI2和SPI3之间的半双工收发切换通信。接线如下:

spi2 spi3

pd1(sck)<--->pc10(sck)

pc2(miso)<--->pc12(mosi)


资源准备

1)硬件环境:

一块AT32F437的AT-START BOARD

2)软件环境:

project\at_start_f437\examples\spi\halfduplex_transceiver_switch


软件设计

1)配置流程

配置SPI2和SPI3对应的GPIO;

设置SPI2和SPI3的中断处理函数;

配置SPI2和SPI3的通信配置;

开始中断通信。


2)代码介绍

main函数代码描述



中断处理函数代码描述



SPI通信配置函数代码描述



SPI GPIO配置函数代码描述



实验效果

AT-START BOARD的LED2亮起,说明SPI2和SPI3通信正常。


案例6-SPI CRC功能使用

功能简介

实现SPI2和SPI3之间的全双工通信和CRC校验。接线如下:

spi2 spi3

pd1(sck)<--->pc10(sck)

pc2(miso)<--->pc11(miso)

pd4(mosi)<--->pc12(mosi)


资源准备

1)硬件环境:

一块AT32F437的AT-START BOARD

2)软件环境:

project\at_start_f437\examples\spi\crc_transfer_polling


软件设计

1)配置流程

配置SPI2和SPI3对应的GPIO;

配置SPI2和SPI3通信配置;

开始轮询通信和CRC校验。


2)代码介绍

main函数代码描述



SPI通信配置函数代码描述



SPI GPIO配置函数代码描述



实验效果

AT-START BOARD的LED2亮起,说明SPI2和SPI3通信正常。


案例7-SPI TI模式使用(TI SSP协议)

功能简介

实现SPI2和SPI3之间的TI模式DMA通信。接线如下:

spi2 spi3

pd0(cs)<--->pa4(cs)

pd1(sck)<--->pc10(sck)

pc2(miso)<--->pc11(miso)

pd4(mosi)<--->pc12(mosi)


资源准备

1)硬件环境:

一块AT32F437的AT-START BOARD

2)软件环境:

project\at_start_f437\examples\spi\ti_fullduplex_dma

软件设计1)配置流程

配置SPI2和SPI3对应的GPIO;

配置SPI2和SPI3的通信配置和DMA配置;

开始DMA通信。


2)代码介绍

main函数代码描述



SPI通信配置及DMA配置函数代码描述



SPI GPIO配置函数代码描述



实验效果

AT-START BOARD的LED2亮起,说明SPI2和SPI3通信正常。


案例8-SPI读写FLASH(W25Q128)

功能简介

实现SPI2读/写flash(w25q128)。接线如下:

spi2 w25q128

pd0(cs)<--->cs pin

pd1(sck)<--->clk pin

pc2(miso)<--->di pin

pd4(mosi)<--->do pin


资源准备

1)硬件环境:

一块AT32F437的AT-START BOARD和w25q128电路板

w25q128建议电路如下图26:



2)软件环境:

project\at_start_f437\examples\spi\w25q_flash


软件设计

1)配置流程

配置SPI2和对应GPIO;

读取flash ID;

擦除flash扇区;

向flash写入数据;

读取上一步flash写入数据的区域。


2)代码介绍

main函数代码描述



spi接口配置函数和gpio配置函数代码描述



flash擦除函数代码描述



flash读数据函数代码描述



flash读ID函数代码描述



flash写函数代码描述



实验效果

AT-START BOARD的LED2亮起,说明SPI2和FLASH通信正常。


案例9-SPI使用jtag引脚的配置

功能简介

实现SPI2和SPI3之间,使用特殊的jtag引脚的全双工轮询通信。接线如下:

spi2 spi3

pd0(cs)<--->pa15(cs)

pd1(sck)<--->pb3(sck)

pc2(miso)<--->pa13(miso)

pd4(mosi)<--->pa14(mosi)


资源准备

1)硬件环境:

一块AT32F437的AT-START BOARD

2)软件环境:

project\at_start_f437\examples\use_jtagpin_hardwarecs_dma


软件设计

注意:本文仅介绍了AT32F435/F437的SPI使用jtag引脚的配置,其他型号的使用配置稍有不同,请参照对应型号的BSP使用。

1)配置流程

配置SPI2和SPI3对应的GPIO;

配置SPI2和SPI3通信配置;

开始轮询通信。


2)代码介绍

main函数代码描述



SPI通信配置函数代码描述



SPI GPIO配置函数代码描述



实验效果

AT-START BOARD的LED2亮起,说明SPI2和SPI3通信正常。


I2S案例

案例1-I2S半双工DMA方式通信

功能简介

实现I2S2和I2S3之间的半双工DMA通信。接线如下:

I2S2 I2S3

pd0(ws)<--->pa4(ws)

pd1(ck)<--->pc10(ck)

pd4(sd)<--->pc12(sd)


资源准备

1)硬件环境:

一块AT32F437的AT-START BOARD

2)软件环境:

project\at_start_f437\examples\i2s\halfduplex_dma


软件设计

1)配置流程

配置I2S2和I2S3对应的GPIO;

配置I2S2和I2S3的通信配置和DMA配置;

开始DMA通信。


2)代码介绍

main函数代码描述



I2S配置及DMA配置函数代码描述



GPIO配置函数代码描述



实验效果

AT-START BOARD的LED2亮起,说明I2S2和I2S3通信正常。


案例2-I2S半双工中断方式通信

功能简介

实现I2S2和I2S3之间的半双工中断方式通信。接线如下:

I2S2 I2S3

pd0(ws)<--->pa4(ws)

pd1(ck)<--->pc10(ck)

pd4(sd)<--->pc12(sd)


资源准备

1)硬件环境:

一块AT32F437的AT-START BOARD

2)软件环境:

project\at_start_f437\examples\i2s\halfduplex_interrupt


软件设计

1)配置流程

配置I2S2和I2S3对应的GPIO;

配置I2S2和I2S3的通信配置;

配置中断函数;

开始中断通信。


2)代码介绍

main函数代码描述



I2S配置函数代码描述



I2S中断配置函数代码描述



GPIO配置函数代码描述



实验效果

AT-START BOARD的LED2亮起,说明I2S2和I2S3通信正常。


案例3-AT32F403A/F407/F435/F437 I2S全双工DMA方式通信

功能简介

实现I2S2和I2S3之间的全双工DMA通信。接线如下:

I2S2 I2S3

pd0(ws)<--->pa4(ws)

pd1(sck)<--->pc10(sck)

pc2(ext_sd)rx<--->pc11(ext_sd)tx

pd4(sd)tx<--->pc12(sd)rx


资源准备

1)硬件环境:

一块AT32F437的AT-START BOARD

2)软件环境:

project\at_start_xxxx\examples\i2s\fullduplex_dma


软件设计

1)配置流程

配置I2S2和I2S3对应的GPIO;

配置I2S2和I2S3的通信配置和DMA配置;

开始DMA通信。


2)代码介绍

main函数代码描述



I2S配置及DMA配置函数代码描述



GPIO配置函数代码描述



实验效果

AT-START BOARD的LED2亮起,说明I2S2和I2S3全双工通信正常。


案例4-AT32F425 I2S全双工DMA方式通信

功能简介

实现I2S1和I2S2组成一个全双工I2S,组成的全双工I2S接口定义如下:

pa4(ws)

pa5(ck)

pa6(mck)

pa7(sd tx)

pb14(ext_sd rx)

由于AT32F425只有3个spi(I2S),只能组成一个全双工I2S,所以不能在同一块AT-START上用两个全双工I2S进行通信。所以本案例使用一个全双工I2S进行自收自发通信,接线如下:

pa4(ws)<--->NC

pa5(ck)<--->NC

pa6(mck)<--->NC

pa7(sd)<--->

pb14(ext_sd)

用户也可以准备两块AT-START板子对测。使用两块板子时,需要注意一块AT-START配置为主机,一块AT-START配置为从机。本案例中的代码仅展示配置为主机,在一块AT-START上进行自发自收的配置。


资源准备

1)硬件环境:

一块AT32F425的AT-START BOARD

2)软件环境:

project\at_start_f425\examples\i2s\fullduplex_dma


软件设计

1)配置流程

配置I2S1和I2S2对应的GPIO;

配置I2S1和I2S2的通信配置和DMA配置;

开始DMA通信。


2)代码介绍

main函数代码描述



I2S配置及DMA配置函数代码描述



GPIO配置函数代码描述



实验效果

AT-START BOARD的LED2亮起,说明I2S全双工通信正常。


案例5-I2S和SPI功能切换通信

功能简介实现SPI2和SPI3之间通信切换到I2S2和I2S3之间通信。接线如下:

spi2/i2s2 spi3/i2s3

pd0(cs/ws)<--->pa15(cs/ws)

pd1(sck/ck)<--->pb3(sck/ck)

pd4(mosi/sd)<--->pb5(mosi/sd)


资源准备

1)硬件环境:

一块AT32F437的AT-START BOARD

2)软件环境:

project\at_start_f437\examples\i2s\spii2s_switch_halfduplex_polling


软件设计

1)配置流程

配置SPI2/I2S2和SPI3/I2S3对应的GPIO;

配置I2S2和I2S3的通信配置(主发从收);

开始I2S2和I2S3的轮询通信,并核对数据;

配置SPI2和SPI3的通信配置(SPI3为主机半双工只发;SPI2为从机单向只收);

开始SPI2和SPI3的轮询通信,并核对数据;

配置I2S2和I2S3的通信配置(主收从发);

开始I2S2和I2S3的轮询通信,并核对数据。


2)代码介绍

main函数代码描述



I2S配置函数代码描述



SPI配置函数代码描述



GPIO配置函数代码描述



实验效果

AT-START BOARD的LED2亮起,说明I2S2和I2S3通信正常,SPI2和SPI3也通信正常。


授权代理商:世强先进(深圳)科技股份有限公司
技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:世强硬创平台www.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 0
  • 收藏
  • 评论 0

本文由认真转载自雅特力科技微信公众号,原文标题为:AT32讲堂048 | 雅特力AT32 MCU SPI/I2S入门指南,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

评论

   |   

提交评论

全部评论(0

暂无评论

相关推荐

【经验】雅特力MCU AT32F421的时钟配置教程

时钟是芯片正确高效运行的基础,正确的时钟配置是芯片能正确运行的必要条件,其重要性不言而喻。AT32各系列产品的时钟配置部分可能存在细微的差异和需要注意的事项,本文就着重针对各系列的情况来详细介绍如何结合雅特力提供的V2.x.x的板级支持包(BSP)来配置时钟。

设计经验    发布时间 : 2023-06-10

【经验】雅特力AT32F4系列 MCU Cortex M4内核入门指南:位带操作、硬件浮点运算单元、滴答时钟中断功能

AT32F4系列产品是基于Cortex™-M4F处理器架构,该处理器是一款低功耗处理器,具有低门数,低中断延迟和低成本调试的特点。支持包括DSP指令集与浮点运算功能,特别适合用于深度嵌入式应用程序需要快速中断响应功能。

设计经验    发布时间 : 2022-10-28

【经验】雅特力AT32 MCU CAN入门指南

CAN是Controller Area Network的缩写(以下称为CAN),它的设计目标是以最小的CPU负荷来高效处理大量的报文。本文介绍雅特力AT32 MCU CAN入门指南

设计经验    发布时间 : 2023-02-08

雅特力32位MCU-AT32快速选型指南

型号- AT32F413CCU7,AT32F437ZCT7,AT32F415CBT7,AT32F415R8T7,AT32F425F8P7,AT32F437ZGT7,AT32F403ZET6,AT32F421K6T7,AT32F425C6U7,AT32F437VMT7,AT32F425R8T7,AT32F437RGT7,AT32F421K4U7-4,AT32F437RCT7,AT32F403ARGT7,AT32WB415CCU7-7,AT32F413CBT7,AT32F435CMT7,AT32F403ARCT7,AT32F415CCU7,AT32F435RCT7,AT32F435ZGT7,AT32F403AVET7,AT32F435RGT7,AT32F435VMT7,AT32F421C6T7,AT32F403ACET7,AT32F413KBU7-4,AT32F435ZCT7,AT32WB415,AT32F435CMU7,AT32F413CBU7,AT32F415KBU7-4,AT32F407RCT7,AT32F403ACGU7,AT32F407VET7,AT32F425K8U7-4,AT32F407RGT7,AT32F403ACCU7,AT32F415RCT7,AT32F425R8T7-7,AT32F415CBU7,AT32F425K6T7,AT32F421K6U7,AT32F425K6U7-4,AT32F425C6T7,AT32F421G4U7,AT32F415RBT7-7,AT32F421G8U7,AT32F421F4P7,AT32F421F8P7,AT32F413RCT7,AT32F425R6T7-7,AT32F413KCU7-4,AT32F413,AT32F425F6P7,AT32F415,AT32F437VCT7,AT32F421K4T7,AT32F437VGT7,AT32F437ZMT7,AT32F421K8T7,AT32F425C8U7,AT32F403ZGT6,AT32F403ZCT6,AT32F425R6T7,AT32F413C8T7,AT32F415RBT7,AT32F421,AT32F403ARET7,AT32F403,AT32F435VGT7,AT32F435CGT7,AT32F407,AT32F435VCT7,AT32F421C8T7,AT32F435CCT7,AT32F403ACGT7,AT32F403AVGT7,AT32F421C4T7,AT32F403ACCT7,AT32F435ZMT7,AT32F403AVCT7,AT32F413RBT7,AT32F415C8T7,AT32F435,AT32F415RCT7-7,AT32F437,AT32F435CGU7,AT32F407VCT7,AT32F415CCT7,AT32F407VGT7,AT32F435CCU7,AT32F415KCU7-4,AT32,AT32F407RET7,AT32F403ACEU7,AT32F415K8U7-4,AT32F415R8T7-7,AT32F435RMT7,AT32F413CCT7,AT32F425,AT32F421K4U7,AT32F425K8T7,AT32F421K8U7-4,AT32F421K8U7,AT32F425C8T7,AT32F437RMT7,AT32F421G6U7,AT32F421K6U7-4,AT32F421F6P7,AT32F403A

快速参考指南  -  雅特力  - V202203  - 2022.03.08 PDF 英文 下载

雅特力携多款AT32 MCU新品与应用方案亮相2024慕尼黑上海电子展

7月8日,2024慕尼黑上海电子展electronica China在上海新国际博览中心拉开序幕,作为全球电子行业的盛会,汇聚了国内外众多优质电子企业。雅特力携高性能AT32 MCU与应用方案齐亮相,呈现了多款电机控制、工业控制、汽车电子、智能家居、消费、商务,及新能源等应用方案。现场人流攒动、氛围热烈!

厂牌及品类    发布时间 : 2024-07-17

如何在雅特力AT32 MCU上创建IAP应用程序

如何在雅特力AT32 MCU上创建IAP应用程序,文章概述了AT32 CAN IAP快速使用方法即使用CAN进行IAP升级,此示例使用PC上位软件(IAP_Programmer.exe)通过一个USB转CAN的桥接设备和目标板进行通信,IAP Demo和桥接设备默认CAN波特率使用500K。

设计经验    发布时间 : 2024-07-08

【经验】如何使用雅特力MCU AT32F407的以太网通信接口实现在应用中编程?

在应用中编程(IAP)是一种在现场通过MCU通信接口(例如USART、USB、CAN和以太网)进行固件升级的方式。本文将介绍两种使用以太网通信外设在雅特力MCU AT32F407上实现IAP的解决方案。

设计经验    发布时间 : 2022-10-15

【经验】如何使用雅特力AT32 MCU主机库快速开发USB相关应用

本文主要介绍雅特力MCU AT32 USB主机库的结构和库的使用方法,AT32 USB支持全速和低速,不支持USB2.0高速设备。这里库的作用是用来管理USB外设和实现USB的基本协议,使开发者能够更快的上手开发。

设计经验    发布时间 : 2023-01-18

雅特力携高性能AT32 MCU亮相2024慕尼黑上海电子展,进行一系列创新成果展示

7月8-10日,慕尼黑上海电子展(electronica China)将在上海新国际博览中心盛大开幕。雅特力将携高性能AT32 MCU亮相此次活动,进行一系列创新成果展示,包括电机控制、汽车电子、工业控制、智能家居、消费、商务,及新能源等诸多热门领域的产品应用与解决方案。诚挚邀请您莅临活动现场参观交流!

厂牌及品类    发布时间 : 2024-07-01

【经验】 雅特力AT32 MCU Printf的功能使用方法

内容概述本文档主要介绍雅特力AT32 MCU在Keil和IAR两种工程环境下的printf功能使用方法。其共包含6种方法,各方法的具体用法在具体内容中描述。

设计经验    发布时间 : 2022-05-26

【经验】雅特力AT32 MCU如何使用OTA通过USART实现对固件的在线升级更新

雅特力AT32 MCU如何使用OTA通过USART对固体在线升级更新?OTA(空中下载技术)是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后便于通过预留的通信口,对产品中的固件程序进行更新升级。

设计经验    发布时间 : 2022-04-28

AT32F405/402 Series Datasheet ARM®-based 32-bit Cortex®-M4 MCU with FPU, 128 to 256 KB Flash, sLib, 14 timers, 1 ADC, 19 communication interfaces (CAN, OTGHS, OTGFS)

型号- AT32F402RBT7-7,AT32F405XXU7,AT32F405KBU7-4,AT32F402CCT7,AT32F402CBT7,AT32F405KCU7-4,AT32F405CBU7,AT32F405CCU7,AT32F405 SERIES,AT32F402RCT7-7,AT32F402 SERIES,AT32F402KBU7-4,AT32F405XXT7-7,AT32F402KCU7-4,AT32F402XXU7,AT32F402RCT7,AT32F402RBT7,AT32F402XXT7-7,AT32F402CBU7,AT32F402,AT32F405,AT32F405CCT7,AT32F402CCU7,AT32F405CBT7,AT32F405RBT7,AT32F405RCT7,AT32F405XXU7-4,AT32F405XXT7,AT32F405RBT7-7,AT32F402XXT7,AT32F402XXU7-4,AT32F405RCT7-7

数据手册  -  雅特力  - Ver 2.01  - 2024.4.1 PDF 英文 下载

【经验】雅特力AT32 MCU如何灵活使用DMA弹性映射请求?

在使用雅特力部分系列MCU时,可以使用DMA弹性映射功能。此功能使得DMA的通道配置更加灵活,可以将某外设的DMA请求通道指定到DMA1或者DMA2共14个通道中的任意一个通道。本文将介绍如何使用DMA弹性映射请求,从而使得DMA传输变得更加灵活多变。

设计经验    发布时间 : 2022-05-21

【经验】雅特力AT32 MCU USB设备库的架构和使用方法

本文主要介绍雅特力MCU AT32 USB设备库的结构和库的使用方法,AT32 USB是基于USB2.0全速设备,不支持USB2.0高速设备。这里库的作用是用来管理USB外设和实现USB的基本协议,使开发者能够更快的上手开发。

设计经验    发布时间 : 2023-03-04

【IC】雅特力AT32系列MCU通过IEC 60730功能安全认证,为家电产品提供安全保障

近日,雅特力AT32 MCU安全库顺利通过IEC 60730功能安全认证,为家电产品提供安全质量保证。国际公认的测试、检验和认证机构SGS为雅特力科技颁发了IEC 60730认证证书,彰显了雅特力科技在家电控制领域的卓越品质和技术实力,也为其在全球范围内的广泛应用奠定了坚实基础。

产品    发布时间 : 2024-05-21

展开更多

电子商城

查看更多

只看有货

品牌:雅特力

品类:32位通用MCU

价格:¥4.2360

现货: 23,058

品牌:雅特力

品类:32位MCU

价格:¥17.3130

现货: 11,929

品牌:雅特力

品类:32位MCU

价格:¥10.8480

现货: 9,406

品牌:雅特力

品类:32位MCU

价格:¥14.6240

现货: 8,734

品牌:雅特力

品类:32位MCU

价格:¥13.3420

现货: 8,628

品牌:雅特力

品类:32位MCU

价格:¥25.8830

现货: 6,907

品牌:雅特力

品类:32位MCU

价格:¥16.2950

现货: 5,771

品牌:雅特力

品类:32位MCU

价格:¥12.1770

现货: 4,875

品牌:雅特力

品类:32位MCU

价格:¥19.0120

现货: 2,536

品牌:雅特力

品类:32位MCU

价格:¥6.8360

现货: 2,523

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:恒烁

品类:MCU

价格:¥1.0800

现货:154,600

品牌:RENESAS

品类:MCU

价格:¥15.6605

现货:140,156

品牌:ST

品类:单片机(MCU)

价格:¥14.2871

现货:114,259

品牌:MICROCHIP

品类:MCU

价格:¥6.6000

现货:100,000

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥7.3800

现货:76,715

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥15.3000

现货:75,000

品牌:MICROCHIP

品类:MCU

价格:¥9.0000

现货:64,841

品牌:Sonix

品类:MCU

价格:¥0.8500

现货:51,104

品牌:ST

品类:MCU

价格:¥6.5000

现货:51,000

品牌:MICROCHIP

品类:MCU

价格:¥5.7360

现货:50,000

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

TFT LCD液晶显示屏/模组定制

可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。

最小起订量: 1000 提交需求>

MCU烧录/Flash烧录/CPLD烧录

可烧录IC封装SOP/MSOP/SSOP/TSOP/TSSOP/PLCC/QFP/QFN/MLP/MLF/BGA/CSP/SOT/DFN;IC包装Tray/Tube/Tape;IC厂商不限,交期1-3天。支持IC测试(FT/SLT),管装、托盘装、卷带装包装转换,IC打印标记加工。

最小起订量: 1pcs 提交需求>

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

研发客服
商务客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面