STM-参考手册-中文.指南_第1页
STM-参考手册-中文.指南_第2页
STM-参考手册-中文.指南_第3页
STM-参考手册-中文.指南_第4页
STM-参考手册-中文.指南_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2222PCLKPCLK2222PCLKPCLKSPI

(SPI)

STM32F10x16K64KSTM32F101xSTM32F102x

256K512KSTM32F103x

STM32F105xSTM32F10x23.1SPISPISPISSPISPISPISS(SPI)(SCK)线线传输CRC校靠IS也引讯四标飞利浦标准LSB对齐标准及标准讯2下当警告:SPI3/I2S3分引脚JTAG引脚享NSS/I2S3_WSJTDISPI3_SCK/I2S3_CKJTDO)些引脚受他们(每次复位后JTAG如引给SPI3/I2S3(闭SWD(标准应闭JTAGSWD第JTAG/SWD复重映23.2SPIS征23.2.1SPI征●线传输●带三根线单传输●816位输帧格选●操●●8率预分最●率(●快速●进NSS管:操动变●编程极相位●编程顺前LSB前●触发专发送收标志●SPI总状志●靠硬CRC─发送下CRC值最发送222222SPI接

STM32F10xxx参考手口

册在全双工模式中收到的一个字动进行CRC校验●可中断的式故载以及CRC错误标志●支持功的字发送和接收缓冲产生发接受请23.2.2功能●工通信(仅送或接收●主者从操●●●●●●

位性可编分频器得精确频采样率(8KHz到据格以位位或位频信定包帧为16位(16位据)或32(、或32位据)编的钟性(稳态)从送式下的下标志位和从接模下溢标位位数据存放用来发送接收,在道两端各一个存放器●的S:─IS飞准─对齐准左齐)─LSB对标(右对齐─标(16位带长或短帧者16位数扩展为32位帧●数方向总MSB先●发送和接收都具DMA能力●钟可输出外部设比率定为为音样频率)●在产个S模(和I2S3)有一专的,产生更加精准得时钟SPI接口23.3I能描述23.3.1述SPI的方框图见下列。SPI框图

STM32F10xxx参考手册通常通过脚部器相连:●主设备输入从设备输出引脚。该引脚在模式下发送据,在模式下接收据。●主设备出设备输入引脚。该引脚在模式下发送据,在模式下接收据。●串时,作主备的出从设的入●设备选择。这是一选的引脚,用来选主从设备。它的功能是用来作为“片选引脚〞,让设备可以单独地与特从设备通讯,防止数线上的冲突。从设备的NSS引脚可由设的个准引脚驱。旦使(SSOE位,NSS引脚也可作为出引并在SPI处于主模式时拉低;此时,所有的SPI设备如它的引连接的NSS引脚那会检到电平如它们设为NSS硬件模,就会动入备状。当为备NSS配输脚,SSOE=0)时如NSS被低,那么这个SPI备主模败:MSTR位被动去此进入从式)下列图是一个主和单从设备互连的子。SPI

210

STM32F10xxx1.NSSMOSI(MSB)MOSIMISOSCK(NSS)2种模式●●

NSS模可SPI_CR1SSM来种(211)种NSS可它而部NSS电平写SPI_CR1SSI来驱动NSS模分两情况─NSS使当STM32F10xxxSPI并NSS经SPI_CR2SSOE使NSS拉低所NSS与SPINSS配NSSSPI将自变SPISPI需要播它必须拉低知其它果不拉低NSS着上另外将生失─2111112021-08-0909:13:27--------------------------------------------解啊SPI_CRCPOLCPHA可序系CPOL(控制空闲状态电平此对模式模式都效果CPOL清0’SCK闲保持电平果CPOL’1’SCK空状态保持高电平果CPHA()’1’SCK二边沿(CPOL就沿CPOL’1’升)采二沿锁果清’0’SCK沿(CPOL’’就CPOL’1’就上升沿)RM0008

STSPI接口时钟沿被锁存。

STM32F10xxx参考手册参照年月英文第版仅参考,翻错误,英原稿为。请读随注意在ST更本SPI接STM32F10xxx参手口册CPOL时钟极性和CPHA时钟相位组选择数捕捉的时钟边沿。显示了传的种和CPOL位组合此图以解释为主设备和从备的脚MISO脚、MOSI脚接连接的或从时序。注:1.在改位之前,必须去位将PI禁止。2.

必须配置成相同的时序模式。3.

的闲态必SPI_CR1存器指定极性’1时空闲应上为高电CPOL’’时,空闲时应下为电。4.

数据帧格或6由SPI_CR1存放器位选择,并且决定据长。图数据时钟时图帧根据SPI_CR1存中的LSBFIRST位,输出据时可以MSB在也可以LSB在。SPI_CR1存放的位每帧是8位是位。所选择的数据帧格对送和或收有效。参照年月英文第版仅参考,翻错误,英原稿为请者随时在ST网载本SPI23.3.2I

STM32F10xxxSCKSPI_CR1

SPIDFF8CPOL212)保证确成同方(SPI_CR1LSBFIRST〞MSB〞还是LSB〞)与同硬件((NSS)管理局部完(816过NSS低电NSS软件SPI_CR1SSM并除SSI5.去除MSTR、SPE(SPI_CR1)应作SPI这MOSI入MISO是出过程写作字被并地写入缓冲号并过程开始(此被出)余(对8还7对16还15)装当缓冲SPI_SPTXE标志被果了SPI_CR2TXEIE产断过程对当完成●缓冲SPI_SRRXNE标志●果了SPI_CR2RXNEIE产断最采样后RXNE被’1’移字节被缓SPI_DRSPI返回这缓冲SPI_DRRXNE被去23.3.3ISCK产过SPI_CR1BR[2:0]波特CPOL(212)DFF816SPI_CR1LSBFIRST果需NSS工入硬整期应NSS连高电平;软件需SPI_CR1SSMSSI果工作SSOE6.SPE当被连高平这才保)这MOSI是出而是入

RM0008STSPI接

STM32F10xxx参考手口

据发程

册当写入数据至发送缓冲器时,发过程开始。送地内)传入存放而后行地到MOSI脚上MSB在还是LSB先,取决于SPI_CR1存器的LSBFIRST位设置。数据从缓冲传输移位放器时TXE标了SPI_CR1器中的TXEIE位,将产中断。据接程对于接器说,当数传输完成:●移位放器数接冲器并且RXNE志被置位。●如设了SPI_CR2存放的RXNEIE位那么生中断。采钟,位被置在移存器中收的数字传送接缓冲。读SPI_DR存放器时,SPI设备返回缓器数。读存器去RXNE位。传输开始,如果下一个将发的数据被放进发送缓冲器,就可以维持一个连续的传输认TXE标志应该为’。注:硬件式下从备输入由NSS引脚控制另个软驱的引脚控制。23.3.4置SPI通信SPI模以配置于式:●1时钟线1数线;●1时钟线1数据线收或发送;1钟线数设置SPI_CR1存放器中的位而模,SCK引为钟,备MOSI引脚备MISO引脚为据通信。传输的由SPI_CR1存放器里的BIDIOE控,当个位是’1的,据线是输出,那么是输入。1钟1(BIDIMODE=0)在个模式下,SPI模可以或者为发,或者为接收。●发模式于工模(BIDIMODE=0,RXONLY=0):据送(模时是MOSI从模时是上传输,而接引脚模时是模式时是可以的。时软收冲器的据如果读数存器,接收数据。●在接收,通过置存器的RXONLY位而SPI的时,发送脚(模式时是MOSI从式是放,可以为。置并SPI模为接模式的式是:●在模式时,SPI,通信动当去除SPE位当前的接收。在模下,读取BSY标,在SPI通信个志始为’1’。●在从模式时,NSS被(或在件模式时,SSI位’)时SCK有钟冲,SPI就在。23.3.5据发接收程器在接接收据被一个内部接收缓冲中;在发时,在被送之前,据将先存放一个内部的发送缓冲中。对SPI_DR存器的读,将返回接收缓冲器内;写入SPI_DR存器数将被入发送器。参照年月英文第版仅参考,翻错误,英原稿为请者随时在ST网载本SPI接

STM32F10xxx参考手口

输●全双式且RXONLY=0)

册─到SPI_DR);─到,到;─在入放器到SPI_DR●单的只接收模(BIDIMODE=0且─SPE=1;─在入的移到●向式发时(BIDIMODE=1并BIDIOE=1)─到SPI_DR);─到,到;─●向式接时(BIDIMODE=1并BIDIOE=0)───

SPE=1BIDIOE=0;在入后被到SPI_DR器()到从输●全双式且RXONLY=0)─的,;─到移位到在SPI始传●单的只接收模(BIDIMODE=0且─的,;─到●向式发时(BIDIMODE=1并BIDIOE=1)─到上的;─到地到到在SPI;─●向式接时(BIDIMODE=1并BIDIOE=0)───

的;从到传送SPI_DR(;到参照年月英文第版仅参考,翻错误,英原稿为请者随时在ST网载本SPI

STM32F10xxxTXESPI_CR2TXEIESPI_DRTXE

’1’0RXNE()SPI_DRSPI_CR2RXNEIESPI_DRBSY

式(BIDIMODE=0并且RXONLY=0)全双工程模遵述程和见图和图SPE1’能模SPI_DR要操TXETXE=1然二要然SPI_DR并SPI_DR同RXNE重这操续然TXE=1BSY=0关闭SPI模块也响应RXNE或TXE上升程序实现这过程图模、全双工模式并且RXONLY=0)连变化图

RM0008STSPI接STM32F10xxx参手口册图从式、全双工模式(BIDIMODE=0并连传时,的化示意图只(并RXONLY=0)在此式,传过可以要明如,用BSY位待输结(见图和图:1.置SPE位’1使SPI模块在放写入个送的据,操去TXE标志;等TXE=1,;写入最后一个数据SPI_DR存放之,待TXE=1;然待BSY=0这示后个数的输经成。也可在应TXE标志的的中断的处实现这个过。注1.对于传输存放器操与位之间2APB时钟期的,因此在只发送模式,写最后一个数据后,最好BSY=0。.只发送模式传,由于不会读接收到的存放中位会变’’。译注:软件不理会这OVR标志图主设只送式并RXONLY=0)下续输,化示意图参照年月英文第版仅参考,翻错误,英原稿为请者随时在ST网载本SPI接口

图意图

STM32F10xxx参考手册从设只送式BIDIMODE=0并且连传输时TXE/BSY化注

双向发(BIDIMODE=1并且在模下,操作程类似于发送模式不同的是在使能SPI模块之前,需要在SPI_CR2寄存器中同时设置和BIDIOE位’1’。单BIDIMODE=0并且RXONLY=1)在模式,传输过程可以简要明如(见:在SPI_CR2存器设;设SPE=1,使SPI模块:模式立生SCK钟信号,在关闭SPI(SPE=0)之,不接行数;从模下当SPI主拉NSS信号生SCK时钟接行数。3.等,后出SPI_DR存放器获收的据时会除位。重复这接据也可在应RXNE标志的上升沿产生的中序中实现这个过程。如果在后一个据传输束后关I模,按23.3.8节的建议作。图

只接收模并且RXONLY=1)下连传输时RXNE变示图单向接(BIDIMODE=1并且在模下,操作程类似于接收模式不同的是在使能SPI模块之前,需要在SPI_CR2寄存中设为’1’并除BIDIOE位为’。连连续传当在主模式下送数据时,如果软件,在到TXE的升沿(TXE断,并立在在行的传输束SPI_DR器,能实的信;此时,在个据的传之的SPI时续,时BSY位会去除。参照年月英文第版仅参考,翻错误,英原稿为。请读随注意在ST更本SPI

STM32F10xxx)BSY’SPIBSYSPI(216)(BIDIMODE=0RXONLY=0)TXE/BSY23.3.6CCRC和分单独CRC器过对位进行编程多运来CRCCRCSPI_CR1存放器中CPHA和位义采边沿进行:提了两方法取帧采CR816位帧CRC16CRC置存放器CRCEN位启置CRCEN位同复位CRC寄器(SPI_RXCRCR和SPI_TXCRCR)当置了SPI_CR1CRCNEXT位SPI_TXCRCR内容将前字后出SPI_TXCRCR内位放中与SPI_RXCRCR容匹SPI_SR存器CRCERR位置TXCRC值字节结束CRCCRC器关存持:产品说书确认此型都此功SPI过步CRC:●置、、LSBFirst、BR、SSMSSI和MSTR值●SPI_CRCPR存器入多●过置SPI_CR1存器CRCEN位能CRC该作也存器SPI_RXCRCR和SPI_TXCRC●置SPI_CR1存放器SPE启SPI●启动维直剩字节或半●把最后字或半字写进缓置SPI_CR1位指硬完成最后后CRCCRC值停止CRC●当后字节字后SPICRC值CRCNext位同到CRC与SPI_RXCRCR值行比拟比拟相配置SPI_SR上CRCERR位当置了SPI_CR2放器ERRIE产中断RM0008

STSPI

STM32F10xxxSPI

SCK

SPE

CRC

SPI

RC

PU

CRC

/完RCNEXT操作SPI因操作影宽采降低度

STM32F10xxx配并且硬件NSS该

保低

SPI并CRC功即NSS仍执CRC(NSS信号SCK脉冲CRC继执例

主交通信将现情况(此想方法CRC操作选(NSS信号转换选(NSS信低)候保持主端次CRC同该除主端CRC按述步骤去除CRC值

关闭SPI(SPE=0);去除CRCEN’0’CRCEN’SPI(SPE=1)23.3.7标志序3标志完控线(TXE)此志’1’说明缓器空写待缓器写SPI_DRTXE志被去除(RXNE)此标志’1说明缓器包含效SPI存器去此标志忙(Busy)标志标志硬与去除无效)标志明通层它被’1’说明SPI正忙通信但例外主双向、BDM=1并且BDOE=0)BSY志持低软件关闭SPI并停机(或闭BSY标志测是束BSY标志还多系统写突双(MSTR=1、BDM=1且BDOE=0)开BSY志被’’情此标志将被去除0’●(主是续通情外●闭●产主失(MODF=1)通是连续项BSY标低通是连续●整BSY标志保持●每BSY标志SPI周

RM0008STSPI

STM32F10xxx

BSY

RXNE

23.3.8SPISPISPESPISPIBSYSPI步操作全(BIDIMODE=0RXONLY=0)等待RXNE=1;等待;等待;SPI(SPE=0)后(或该)向只(BIDIMODE=0RXONLY=0)或双向SPI_DR放中写后后

(BIDIMODE=1

等待;等待;SPI(SPE=0)后(或该)向只(MSTR=1BIDIMODE=0RXONLY=1)或双向(MSTR=1BIDIMODE=1BIDIOE=0)需特别地保证SPI会开次等待二()RXNE=1;SPI(SPE=0)之等SPI钟期软延);(或该钟之等待后RXNE=1BDM=1BDOE=0)BSY始低只(MSTR=0BIDIMODE=0RXONLY=1)或(MSTR=0BIDIMODE=1BIDIOE=0)任何候SPI(SPE=0)SPI会后;希望(或该钟)之必须首先等待BSY=023.3.9DMASPI到达大速需及往缓冲填样缓器必须及出方便率SPI实现采求应答DMASPI_CR2存放器上对应设SPI出求冲器缓亦各DMA求(见●次TXE设’1’出求控制器写至SPI_DR存放TXE因此●次RXNE设’1’出求DMA控制器从SPI_DR放出RXNE此SPISPI此因没取OVR’1(软必会)只SPI只SPI道RM0008

STSPI接STM32F10xxx参手口册在发送模式下,DMA已传了所有要送的数据DMA_ISR放的TCIF标志为’)后,可以过监BSY标志以认SPI通束,这样可以防止在关SPI或停止式时,破最后个数输。件需待TXE=1,等BSY=0。注:

在不连续的通信中,在数的作BSY

位被置’之间,个APB时周的延迟因此,在写最一数后需先TXE=1再待B。图

使DMA发图

使DMA接带CRC的DMA功能

当能SPI使用CRC检并且DMA式时,通信结束时,CRC字节发送接收动完的据CRC传输结束时SPI_SR放的CRCERR标为1表在输间生误参照年月英文第版仅参考,翻错误,英原稿为。请读随注意在ST更本口口SPI接错误标志

STM32F10xxx参考手册主式效发生:NSS脚硬模管理,设备的NSS脚被拉低;在NSS引软式下SSI位为’0时MODF位动置。主模式失对设备有以下影响:●MODF位置’,如果设置ERRIE位那么产生中;●SPE位清为0。将一输并关SPI接;●MSTR位被清为’0,此强迫此备进入从式。的步用于除MODF位:当MODF位为’’,执次对SPI_SR存器的读或写操作;后SPI_CR1存器。多MCU的统,为防出现个设备冲,必须拉该主备的脚,再位行清清零之后,SPE和位可以恢复到它们原始状态。于平考当位’1’,不允设置SPE和位。配置下从设备的位不能被’1’。,在多主配,个以在了MODF的,于备式;,MODF位可出了多主冲突中可以执行一个复位到状态从误状态中复。误当备发了,从设备有一产的RXNE时,为出错误当生出误:●位被置’’;当设了ERRIE位,那么产生中断。此时接器冲的不主设备发的,读SPI_DR放器的之读,有后被。次读出SPI_DR存器和SPI_SR存放将OVR去。CRC错误了SPI_CR存放的CRCEN位时,CRC错对的有效。如位存放器中接到的发发的SPI_TXCRCR)接SPI_RXCRCR存器中的不配那SPI_SR存放的CRCERR标被置位为’1’。23.3.11SPI中断SPI中断请中断件

件标志

位发器志接器志主模式效件

TXETXEIERXNERXNEIEMODF出错误CRC错误标志

OVRCRCERR

ERRIE参照年月英文第版仅参考,翻错误,英原稿为请者随时在ST网载本22222222SPI接口23.4I述

STM32F10xxx参考手册小容量和中容量的不支持S音协。节适于容产和联产。23.4.1述IS的图下图所:图图221通过存器SPI_I2SCFGR的I2SMOD位为1’即可能S功能。,把模用作S音。2S口与接口大同的引脚、标和。IS与共用个脚:●SD:行数据(映射MOSI引,来送接路分复通道据●WS:字(映射NSS引脚,模下为据制号出从式作输;参照年月英文第版仅参考,翻错误,英原稿为请者随时在ST网载本SPI接STM32F10xxx参手口映射至SCK引),模下为钟号出作为输入。参照年月英文第版仅参考,翻错误,英原稿为请者随时在ST网载本22222222SPI接STM32F10xxx参手口册在某些外部音频设备需主时钟时,以另有个附加引脚出时钟:●主时钟(独映射,在S配置为主模,存放器SPI_I2SPR的MCKOE位为’,作额的时号使用输出信频率先设为×Fs,其中Fs是音的采率。设置成主模式时I2S自身的时钟发生器信号。这个发生器是主钟出的时钟源。S模式下有个额外的存放器,一个是与时钟生器配置相关的存放器SPI_I2SPR,另个2S通用置放器可置音准从主模式、数据格式、帧、时钟极数)。在S模式下不使用器SPI_CR1有的CRC放同,S模式也不使存放器SPI_CR2的SSOE位,和存放器SPI_SR的位CRCERR位。S使用与SPI相同的放器SPI_DR用作位式数传输。23.4.2支的音频协议三线线持2个道上音频数据的时分用:左声道和右声道但是只有一个位器用作送或接收因此,软件必须在对据放器写入据时,根据前中声道写入应的同样在读放据时通存器SPI_SR的CHSIDE位来接收的数个声道声是先右声送数据(CHSIDE在协下意)。有可用的数据和包。可以通以下数据格式发送数据:●据包●据包●据包●据包

位帧位帧位帧位帧使用位数据32位帧时,前位(MSB)有的数,16位(LSB)为,作需要件预,也不要有请(需一读写作。24和32数帧需要器SPI_DR2读或用时需要传输。对数32位,8件置。对所有的数格和标准,总先送位。IS接口支持音频标,可以通设置存放器SPI_I2SCFGR的位和PCMSYNC位来。I准下,引脚用在发送的个。在发送第一位数据(前个钟,引脚为。222

IS协位,CPOL0)参照年月英文第版仅参考,翻错误,英原稿为请者随时在ST网载本SPI接STM32F10xxx参手口册发送方在时钟信号(CK)的降改变据接收在升沿取据WS信号也在时钟信号的下降沿化。图(24位,CPOL0)223模式对器进行次读写操。●在送模式下:如果需发送0x8EAA33(24位):图发送0x8EAA33●在接收模下:果接收:图收图(16位扩至32位帧,226参照年月英文第版仅参考,翻错误,英原稿为请者随时在ST网载本SPI接口

STM32F10xxx参考手册参照年月英文第版仅参考,翻错误,英原稿为。请读随注意在ST更本22SPI接STM32F10xxx参手口册在IS配置阶段,果择16位数扩到32位道帧只要访问一次存放器SPI_DR。用扩到32位的位被件为。如果待传输或者收的数据0x76A3(展32位0x76A30000)需的操如下列图所示。图例如在发时要将MSB写入器SPI_DR;志TXE为1’表示可以写新的数据如果允许了相应的中断,那么可以生中断。发是由硬件完的,使还未发送后16位的,也设TXE产生相的中断收时次高16位半字MSB)后志RXNE置1’,如果允许了相应的中断,那么以生断这样在2次和之间有更的时间,以下或溢情生MSB标准准下WS信和第一个数高位(同时产。图MSB对或32位全度CPOL发送在钟信的降沿变据;收是在升读取据图MSB对位数CPOL参照年月英文第版仅参考,翻错误,英原稿为。请读随注意在ST更本SPI接

STM32F10xxx参考手口

图MSB对齐位扩到位帧,CPOL0

册LSB对标准与对标准类似在位或位全精度帧格式下无区别)。231LSB对齐位或位精,CPOL=图LSB对齐位据,CPOL=0●在送模式下如要发据,要通过软件或者对存放器SPI_DR进次写操作。作程如下列图所。参照年月英文第版仅参考,翻错误,英原稿为请者随时在ST网载本22SPI接

STM32F10xxx参考手口

图操233作

册●在收模式下如果接数0x3478AE,在连的RXNE事发时分别对存放器SPI_DR行1次读操作。图求收0x3478AE操作图LSB对齐数扩到32位帧CPOL=0在S置阶段如果选择将16位据扩展到32声道帧只访问一存放器SPI_DR。此时扩展到32位后高字(位MSB)被硬件为。如果待传输或者收的数据0x76A3(扩展位0x000076A3)需操作下列所。236例如发送如TXE为’1,用户需要写入发送的数据(即。用来扩展到32位的0x0000局部由硬件发去,旦有据从SD引送出即发一TXE事件。在接收时,一接收到有效数据(而是0x0000部,发RXNE事件。这样在次和之更的,以下或上溢的情发生。PCM标准在标准不声选择的息。PCM标有种帧短长可以通过设置存放器SPI_I2SCFGR的位来选择。参照年月英文第版仅参考,翻错误,英原稿为请者随时在ST网载本2222SPI接

STM32F10xxx参考手口

图237位)

册对于长帧,主模式下,用来同步的WS信效定为位。短帧用同步的WS信号长只有位。图标波形(16扩到位帧)注:模、哪种同步方长连续帧数据之间个同步信号之间的差使是从通过设存器DATLEN位和CHLEN位来确定。

发生器IS的比特率即确定了在S数线数据和S的时钟信号频率。比特率每个声道的比特数声数音频采样频率个具左右声和位频号S比率算如下IS比率16××Fs果包为位那么有:2S率×2×Fs参照年月英文第版仅参考,翻错误,英原稿为请者随时在ST网载本SPI接

STM32F10xxx参考手口

图义239

册在主式,了得要音频确对性频进设。图构2401.图中可以是或者。中I2SxCLK的钟源是系统时钟即驱动AHB时的、HSE或PLL)。对互联型品I2SxCLK可自SYSCLK或PLL3VCO(2xPLL3CLK)时钟从而得到最确时,以过RCC_CFGR2存器的和I2S3SRC位选。音频采频率以是、48kHz、44.1kHz、、、11.025kHz或者或何范围内的数。为了获得率,需按照置线性分频:当需要生成主时钟(存器SPI_I2SPR的MCKOE位’1:道帧为位时,=((2*I2SDIV)ODD)*8]声道帧为位时,Fs=当关主钟时位为0’:声道帧为位时FsODD)]声道帧为位时FsODD)]下面2张给出不时钟置,精参的例。注可使其它配以到达化时钟确度的的。参照年月英文第版仅参考,翻错误,英原稿为请者随时在ST网载本MCLKS)SS6614MCLKS)SS661419901位位位位位位位位SPI接

STM32F10xxx参考手口

册表使标准的8MHzHSE时得到确的音频率只适于大产SYSCLKI2S_DIVI2S_ODD期值实际F(Hz)误(MHz)16位位16位32位F(Hz16位32位16位位7211610无9600097826.09937501.90%2.34%72231111722513107235170172512501727035107251007270117222007233007233007299007266117299007213130072171711

无4800047872.3448913.040.27%1.90%无4410044117.6543269.230.04%1.88%无3200032142.8632142.860.44%0.44%无2205022058.8222058.820.04%0.04%无1600015675.7516071.430.27%0.45%无1102511029.4111029.410.04%0.04%无80008007.117978.720.09%0.27%有70312.1570312.1526.76%有46875468752.34%2.34%有46875468756.29%6.29%有31250312502.34%2.34%有21634.6121634.611.88%1.88%34%2.34%有10817.310817.31.88%1.88%有8035.718035.710.45%0.45%表168使用的25MHz时钟得到的频率只于互型产品PREDIV2PLL3I2SDIVI2SODDMCLK期望实F(Hz)差16163216F(Hz)16位32位16位32位无9600095942.9895942.980.0594%0.0594%7122014469118814143101114103530118814146200711201613911881414620099202010801448822001316221155994400559955115513131111991414991188141415114410103011

无4800048003.0747971.490.0064%0.0594%无4410044102.8244102.820.0064%0.0064%无3200032021.2432021.440.0320%0.0576%无2205022051.4122051.410.0064%0.0064%无1600016001.0216005.120.0064%0.0320%无1102511025.7111025.710.0064%0.0064%无80008000.5128000.5120.0064%0.0064%是9600097656.2597656.251.7253%1.7253%是4800048076.9248076.920.1603%0.1603%是4410043945.3143945.310.3508%0.3508%是3200031960.2231960.220.1243%0.1243%是2205022078.822078.80.1306%0.1306%是1600015990.4915990.490.0594%0.0594%是1102511025.711025.70.0064%0.0064%是80008004.6118004.6110.0576%0.0576%参照年月英文第版仅参考,翻错误,英原稿为。请读随注意在ST更本SS331010SS3310101600位位位位位位位位222SPI接

STM32F10xxx参考手口

册表使标准的时钟和PLL3得到精确的频频率(用于型品PREDIV2PLL3I2SDIVI2SODD期望实际F(Hz)差MCLK16321632321632(Hz)位32位16位32位无9600096000960000%0%662020321600111120201990122101072360011111010199014420201440022101010401121220209648002210103300662020440022101066112210109900441313881144202018180011112020991166202024240023.4.4主模式

无4800048000480000%0%无4410044095.6944095.690.0098%0.0098%无3200032000320000%0%无2205022047.8422047.840.0098%0.0098%无1600016000160000%0%无1102511023.9211023.920.0098%0.0098%无8000800080000%0%是9600096000960000%0%是4800048000480000%0%是4410044307.6944307.6947.1000%0.4710%是3200032000320000%0%是2205022023.5222023.520.1200%0.1200%是1600016000160000%0%是1102511023.9211023.920.0098%0.0098%是8000800080000%0%设S工在主模式,行时钟由引脚CK输字信由脚WS产。可以过设置存放器SPI_I2SPR的位选出者出时MCK)。流1.设存放器SPI_I2SPR的与音频频率相串行时特率。时要定放SPI_I2SPR的ODD位。2.设置CKPOL定信时空时电平态如果要外部的DAC/ADC音器件提主钟,将器SPI_I2SPR的位为1’(照不同MCK输状态,计算ODD的值,见节。3.设器SPI_I2SCFGR的I2SMOD为激活S功设I2SSTD[1:0]和PCMSYNC位选所的S准置CHLEN选每个声道的数据位数。还要设存放SPI_I2SCFGR的I2SCFG[1:0]选S主模式和方向发送端还是接收端。如果需要,可通过设置存放器SPI_CR2来翻所的断能功能。必须存放器SPI_I2SCFGR的I2SE位为1。脚WS和CK需要配输式。果存器SPI_I2SPR的位为’1引MCK配输模。发送流程1字(16位)的发存送开。设第个发送存的数是声道据数据发到位放器,位TXE置’1’,时,要声的发送存标位CHSIDE提输数个道。标位CHSIDE的值TXE为1时新在TXE为1有。在声声的数据输,能是个的数据不可只部数据,如仅有声道的数据出位据的同时字据行送16位位放器,的位按位的脚MOSI/SD发。每数发存位放器时,标位TXE置为1’,如果存放SPI_CR2TXEIE位为,产生断参照年月英文第版仅参考,翻错误,英原稿为。请读随注意在ST更本2222222222222222222222222222222222SPI

IS23.4.2

STM32F10xxxSPI_DRISTXE=1BSY=0I2SE’3()16即次填满后RXNE’果SPI_CR2RXNEIE’么产中断左右会1次或次到缓SPI_DR进即可RXNE每次CHSIDE它值S单产WS信S23.4.2果到还没被又到即生上溢OVR被果SPI_CR2ERRIE’那么生断表生设I2S行特别2S块可正地期而不会开始、协相:●扩展到并CHLEN=1)用LSB(低)齐倒二;17S周期(使用件迟);S(I2SE=0)●16扩到并且CHLEN=1)用MSB(高)、S或(分I2SSTD=00I2SSTD=01或I2SSTD=11)a)最后;1S周(使软延;S(I2SE=0)●其它CHLEN合I2SSTD任使方IS:倒二;S钟期使软延;S(I2SE=0):始终23.4.5

2

从S设从方根遵样

从不

S提钟钟信WS信号由部I2

S设备提到应引脚因户

列举:1.设SPI_I2SCFGRI2SMOD活S;设IS;DATLEN[1:0]比特CHLEN每设SPI_I2SCFGRS从方向端是端根设SPI_CR2开中断DMA必须SPI_I2SCFGRI2SE’1RM0008

ST2222222222222222222222222222SPI

STM32F10xxxNSS_WSSSMSBLSBTXE’1’SCHSIDECHSIDESWSIS成就好WS’1’表:E

’1’间

CK

引脚上IS

早至2PCLK周期出半字行地过内线至其它次按顺引脚出每至TXE’1’果SPI_CR2TXEIE’1那么产断确TXE’1’所IS详见节保连音频建议完成SPI_DR果代表边沿达没SPI_DR溢会’1’可产断它软件果SPI_CR2ERRIE’1’SPI_SR高是就会产断建议关闭S重议去除I2SE闭S等TXE=1BSY=0

配步骤除点致择

长总是RXNE’1果SPI_CR2RXNEIE那产断按不长度或会需次2次至过每次将SPI_DR出即CHSIDE它S单WSSPI_DR将去除RXNE操所S详见节还没出又即产上OVRSPI_CR2ERRIE’那产指关闭S功需最次将I2SE清:2S

过音频

16

或包23.4.6态3状态用监控S总状忙(BSY)

BSY硬件去除此无果该S层状’说明S讯进但例:间BSY终低软关闭SPI块用BSY检测是结束样防止破次因严述执行BSY被’除非S块述情被除:●(除种是续)●S块RM0008

ST222222222222SPI接

STM32F10xxx参考手口

当通信是连续时候:

册●发送式时个期间BSY标终;●在从模式时,每个数据输,BSY标在个时周内低。注:标志处理一数据的送和接收,好使和RXNE

标。发TXE)

该志位’1’表示空,可以对发写入的待送数据在发送缓冲器中已有时,志位清’在S被闭时(I2SE位’0’),该标志位也为’。收RXNE)

标志置’表示在接收缓存里有接收到的有效数据。在读取存放SPI_DR时,该清’。标志(CHSIDE)在发模式,该志位在TXE为高时刷新指示从SD引上发送数据所在的道。如在从发模下生下错,标位值效在新始讯需把S关闭再开。在接收模式下该标志位在存放SPI_DR接收数据时新,示接到的据所在的声道。注意,如果发生错(如溢,标位意,要将关闭再开同如要修改S的配置。在标准下,无论是长帧格式位都没有意义。如存放SPI_SR的志OVR或为’1,且存放器SPI_CR2的ERRIE位为’1’,那生中(中已被)可读器SPI_SR中标志。23.4.7误标志IS有错误志位。标(在从发模式下,果数据传的第一个钟到时,新的据没写SPI_DR放器,该标志位被置’存放器SPI_I2SCFGR的I2SMOD位置1,标志位有效。如果放SPI_CR2的ERRIE为1中。通对存器SPI_SR读该标。上溢标志位(OVR)

如果读前个接收数据时,接收到新的数据,生上溢,该志位置’’,如存放SPI_CR2的ERRIE位那生中指示了。这时接缓存内,不刷新为从送送的数据对放器SPI_DR的最一个接收到的数据所有在上溢发发发的位数据都。放SPI_SR再读器SPI_DR该志。23.4.8S中表2S中表S中请中

标志位

使标志位发送冲器空志位接收冲器非标志

TXETXEIERXNERXNEIE下溢标位上溢标位23.4.9

OVRUDR

ERRIEDMA的式在S模式了CRC不可,在模同为在S模下有传。参照年月英文第版仅参考,翻错误,英原稿为请者随时在ST网载本口口SPI接23.5SPI和S存放器描述

x考手册关于存放器描中所用到的缩略词可见第节。字位)或(32位方式操作这些外存器。23.5.1SPI制存器1(SPI_CR1)(I2S模式下使用地址偏移:位值:15972BIDIMODE

BIDI

CRCEN

CRCNEXT

RXONLY

LSBFIRST

BR[2:0]MSTRCPOLrw位BIDIMODE:向数模式能:择双线向模;:择单线向模。S模式不。位:双向模式下的出使能enable和位一起决定在“单双〞模式数据的输出方向:输出禁止(只收式):输出使(只发模式)。这个“单线〞数据在设备端为引,从设备端为引脚。注IS模下不使用。位CRCEN硬件CRC校验使能CRC:禁止CRC计算;:启动CRC计算。只在禁SPI时(SPE=0),才能写该位,否那出错。能在全双工模式使用。注:S模式下不使用。位CRCNEXT下一个送CRC:下一个发的值自送缓区。:下一个发的值自送CRC存放器。注:在SPI_DR存放器写入最后一个数据后应马上设置该位。注:S模式下不使用。位DFF数据格式:使用位数据帧格进行发接收;:使用位数据帧格式进行发送收。注:只有当禁(SPE=0),才能写该位,否那么出错。注:S模式下不使用。位RXONLY:只接收(Receive)该位和位一起决定在“双线向模式下传方向。在多个从设的置中,在未被访问的从设备该被置使只有被访问的从设备有出从而不数据线上数据冲。:全双(发送和收);:禁止输出(只接模式)。注:S模式不使用。位SSM件从设备(Software当被置位时,NSS脚的SSI位值决定。禁止从备启用从备。注:S模式下使用。参照年月英文第版仅参考,翻错误,英原稿为请者随时在ST网载本PCLKPCLKPCLKPCLKPCLKPCLKPCLKPCLKPCLKPCLKPCLKPCLKPCLKPCLKPCLKPCLKSPI接口

STM32F10xxx参考手册位8SSI:内部从设备选slave该位只在SSM位为’1’意了NSS上在NSS引脚上的I/O操作无效。注:位7LSBFIRST:帧格:先发送;:先发送LSB注:通在进行时不改变该位的。注:S模式下不使。位6SPE:SPI能(SPIenable):止SPI设;:开启SPI设备注S模下不使用

S模式下不使。注:当关闭SPI备时,请按照第节的过程操作位5:3BR[2:0]:波特率控制000001:010::100101:110::当信在行时,能改些。注:IS模式不使用。位2MSTR:设备择(Master:置从设;:置主设。:通正在行时不修该位:S模下使用位1CPOL:钟极(Clock:空闲状态时,SCK保低电;:空状态SCK保高电。注:通信在进的时,不修改位。注:S模式下不用。位0CPHA:钟位:据采样从一个钟边开始;:据采样从二个钟边开始。注:通信正在进的时,不修改该位注:

S模式下不用。23.5.2SPI控存放CR2)地址偏移:位值15972TXEIEERRIE

SSOE

TXDMARXDMAEN位

resrw保存位,件强制为位7TXEIE发送缓冲区空中断使能enable):禁止TXE中;:允许TXE中,TXE标志置位为’1时产求位6RXNEIE:接收缓区非空中断使(RX:禁止RXNE中断:许RXNE中断,RXNE标置时生断求。参照年月英文第版仅参考,翻错误,英原稿为。请读随注意在ST更本SPI接

STM32F10xxx参考手口

位ERRIR:误中断使能当错误

册位

(CRCERROVRMODF)生时,该位控制否产生中断:禁止错误中断;允许错误中断。保存位硬件强为。位SSOESS出使能(SSenable):止在主模下SS输出,该备可以作在多主备模式;:设备开启,开启主式下出,该设备能工作在多主设备式。S模式下不用。位:发送冲区DMA使能DMA当该被设置TXE标志一旦被置位就发DMA请求0禁发送冲DMA启发送冲区。位:接收冲区DMA能DMA当该被设置RXNE标志一被位发DMA请求0:禁止接收缓冲区DMA;启接收冲区。23.5.3SPI状(SPI_SR)地址偏移:位值:0x000215121087BSY

CRCERR

TXE位

rrc保硬为位BSY:忙标志(BusySPI不;SPI正忙于通信,者发送缓非空。硬件位或复位。使用个标志时要特注意详见第节和第节。位OVR:出标志(Overrun:没有出现溢出错误:出现溢出错误。硬置,软序复。关于软件序列的详细信,考节。位:模式错误:没有出模式错误;:出现模错误。硬件置位,由软件序列复位。关于软件列的详细息,考节。S模式下不使用。位CRCERRCRC错误标(CRC0收到的CRC值和SPI_RXCRCR存放器的值匹配收到的CRC值和SPI_RXCRCR存放器中的值不配。硬件位,由软件’0’。S模式不用。参照年月英文第版仅参考,翻错误,英原稿为请者随时在ST网载本22SPI接口

位3UDR:下标志:未发生下溢;:发生下溢该志位由硬件置’1由序列清’0’,23.4.7节。注:SPI模式下使。位2CHSIDE:声side):需要输或者接收左声道:需要输或者接收右声道注:SPI模式下不用。模式下无意义。位1TXE发送缓冲为:发送冲非;:发送冲为。位0RXNE:接收缓冲非空(Receive:接收冲为;:接收冲非。

STM32F10xxx参考手册23.5.4SPI数(SPI_DR)地址偏移:复值0x00001511972DR[15:0]rwrwrwrwrwrwrwrw位15:0

:数据放器(Data待发送或者已经收到的数数据存放器对应两个缓冲区:一个用于(发送缓冲);另外一个用于(接收缓)。写操作数据写到发送缓冲区;读操作将返回接收缓冲区里的数据对SPI模式的注释根SPI_CR1的DFF位对数帧式的选择数的发送和收以位或者16位的保证确的操作,需要启用SPI之前就确定好数据帧格。对于位的数据,缓冲是8的,发送和收时只会用到SPI_DR[7:0]。在时,被制为对16位数据缓冲是16的,发和接收时会用到整个数据存放器,。23.5.5SPICRC多存放器(CRCPR)(IS模式)地址偏移:位值1511972CRCPOLY[15:0]rwrwrwrwrwrwrw位CRCPOLY[15:0]:CRC多项存放器(CRC该存

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论