[elektro] STM32F4 discovery I2S modul config
flaist
flaist at gmail.com
Fri Jul 19 00:15:47 CEST 2013
Szia!
Bocs nem ismerem ezt a családot, de nagyon tetszenek a paraméterei.
Milyen fejlesztő környezet van hozzá.
Mennyire vannak LIB-ek, driverek, ...
Köszi, üdv. FI.
-----Original Message-----
From: elektro-bounces at tesla.hu [mailto:elektro-bounces at tesla.hu] On Behalf
Of Pal Lukacs
Sent: Thursday, July 18, 2013 8:43 PM
To: elektro at tesla.hu
Subject: [elektro] STM32F4 discovery I2S modul config
Sziasztok !
STM32F4 discoveryn I2S modul konfiggal kapcsolatos segitsegre lenne
szuksegem.
ADC van rajta, fs=32kHz, 24bit.
32kHz*2csatorna*32bit orajelnek kellene lenni (bit clock, vagyis CK) es
256*32kHz kellene legyen a system clock (SClK). Ehelyett az SClK 2.6MHz, es
a bit clock (CK) 600kHz.
(elnezest, a nagy l betum nem mukodik)
Idezem az ide tartozo kod reszletet, hatha valakinek van otlete.
...
RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2, ENABLE); ...
I2S_InitTypeDef I2S2_InitStructure;
SPI_I2S_DeInit(SPI2); // ERRATA: deinitialize i2s2 aka. spi2
I2S2_InitStructure.I2S_Standard = I2S_Standard_Phillips;
I2S2_InitStructure.I2S_DataFormat = I2S_DataFormat_24b; //
I2S2_InitStructure.I2S_MCLKOutput = I2S_MCLKOutput_Enable;
I2S2_InitStructure.I2S_AudioFreq = I2S_AudioFreq_32k; //
I2S2_InitStructure.I2S_CPOL = I2S_CPOL_Low; //
I2S2_InitStructure.I2S_Mode = I2S_Mode_MasterRx; // I2S_Init(SPI2,
&I2S2_InitStructure);
es a system fileban a pll config :
/***************************************************************************
***/
/* I2S clock
configuration */
/***************************************************************************
***/
/* PLLI2S clock used as I2S clock source */
RCC->CFGR &= ~RCC_CFGR_I2SSRC;
/* Configure PLLI2S */
RCC->PLLI2SCFGR = (PLLI2S_N << 6) | (PLLI2S_R << 28);
/* Enable PLLI2S */
RCC->CR |= ((uint32_t)RCC_CR_PLLI2SON);
/* Wait till PLLI2S is ready */
while((RCC->CR & RCC_CR_PLLI2SRDY) == 0)
{
}
ahol N, R:
/* PLLI2S_VCO = (HSE_VALUE Or HSI_VALUE / PLL_M) * PLLI2S_N
I2SCLK = PLLI2S_VCO / PLLI2S_R */
#define PLLI2S_N 258
#define PLLI2S_R 3
es HSE 8 MHz, ezzel az I2SCLK 86 MHz-re adodik.
A tobbi reszet az I2S_Init(...) szamolja (ez standard periph. library)
Udv.
Szabi
-----------------------------------------
elektro[-flame|-etc]
More information about the Elektro
mailing list