реклама на сайте
подробности

 
 
> STM32F215 sdio, нет клока
Vladimir Prokofi...
сообщение Jul 28 2011, 08:03
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 9-03-11
Пользователь №: 63 481



Собственная плата на 215 контроллере, SD_Init возвращает ошибку -- истек таймаут.

На ноге клок не видно вообще ничего, земля и все. На этом контроллере sdio как и на всех, на порте C и D висит.

Подтягивающие резисторы припаяны всюду, кроме клока.

В чем может быть проблема? И должен ли я видеть клок после SDIO_ClockCmd(ENABLE); если в настройках указано

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD, ENABLE);
//RCC_APB2PeriphClockCmd( RCC_APB2Periph_SDIO, ENABLE );

GPIO_PinAFConfig(GPIOC, GPIO_PinSource8, GPIO_AF_SDIO);
GPIO_PinAFConfig(GPIOC, GPIO_PinSource9, GPIO_AF_SDIO);
GPIO_PinAFConfig(GPIOC, GPIO_PinSource10, GPIO_AF_SDIO);
GPIO_PinAFConfig(GPIOC, GPIO_PinSource11, GPIO_AF_SDIO);
GPIO_PinAFConfig(GPIOC, GPIO_PinSource12, GPIO_AF_SDIO);
GPIO_PinAFConfig(GPIOD, GPIO_PinSource2, GPIO_AF_SDIO);

// Configure PC.08, PC.09, PC.10, PC.11 pins: D0, D1, D2, D3 pins
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_25MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_Init(GPIOC, &GPIO_InitStructure);

// Configure PD.02 CMD line
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
GPIO_Init(GPIOD, &GPIO_InitStructure);

// Configure PC.12 pin: CLK pin
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOC, &GPIO_InitStructure);


//!< Power ON Sequence ---------------------------------------------------
//!< Configure the SDIO peripheral
//!< SDIOCLK = HCLK, SDIO_CK = HCLK/(2 + SDIO_INIT_CLK_DIV
//!< on STM32F2xx devices, SDIOCLK is fixed to 48MH
//!< SDIO_CK for initialization should not exceed 400 KHz
//SDIO_InitStructure2.SDIO_ClockDiv = 0x76;
SDIO_InitStructure2.SDIO_ClockEdge = SDIO_ClockEdge_Rising;
SDIO_InitStructure2.SDIO_ClockBypass = SDIO_ClockBypass_Disable;
SDIO_InitStructure2.SDIO_ClockPowerSave = SDIO_ClockPowerSave_Disable;
SDIO_InitStructure2.SDIO_BusWide = SDIO_BusWide_1b;
SDIO_InitStructure2.SDIO_HardwareFlowControl = SDIO_HardwareFlowControl_Disable;
SDIO_Init(&SDIO_InitStructure2);

//!< Set Power State to ON */
SDIO_SetPowerState(SDIO_PowerState_ON);


SDIO_ClockCmd(ENABLE);

while( 1);

Сообщение отредактировал Vladimir Prokofiev - Jul 28 2011, 08:04
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Golikov A.
сообщение Oct 27 2014, 06:08
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Цитата
Цитату можете привести?

LPC1768 UM10360
в начале главы про любую периферию

The UART1 peripheral is configured using the following registers:
1. Power: In the PCONP register (Table 46), set bits PCUART1.
Remark: On reset, UART1 is enabled (PCUART1 = 1).
2. Peripheral clock: In the PCLKSEL0 register (Table 40), select PCLK_UART1.
3. Baud rate: In register U1LCR (Table 298), set bit DLAB =1. This enables access to
registers DLL (Table 292) and DLM (Table 293) for setting the baud rate. Also, if
needed, set the fractional baud rate in the fractional divider register (Table 305).
4. UART FIFO: Use bit FIFO enable (bit 0) in register U0FCR (Table 297) to enable
FIFO.
5. Pins: Select UART pins through PINSEL registers and pin modes through the
PINMODE registers (Section 8.5).
Remark: UART receive pins should not have pull-down resistors enabled.
6. Interrupts: To enable UART interrupts set bit DLAB =0 in register U1LCR (Table 298).
This enables access to U1IER (Table 294). Interrupts are enabled in the NVIC using
the appropriate Interrupt Set Enable register.
7. DMA: UART1 transmit and receive functions can operated with the GPDMA controller
(see Table 543).

или
The Timer 0, 1, 2, and 3 peripherals are configured using the following registers:
1. Power: In the PCONP register (Table 46), set bits PCTIM0/1/2/3.
Remark: On reset, Timer0/1 are enabled (PCTIM0/1 = 1), and Timer2/3 are disabled
(PCTIM2/3 = 0).
2. Peripheral clock: In the PCLKSEL0 register (Table 40), select PCLK_TIMER0/1; in the
PCLKSEL1 register (Table 41), select PCLK_TIMER2/3.
3. Pins: Select timer pins through the PINSEL registers. Select the pin modes for the
port pins with timer functions through the PINMODE registers (Section 8.5).
4. Interrupts: See register T0/1/2/3MCR (Table 429) and T0/1/2/3CCR (Table 430) for
match and capture events. Interrupts are enabled in the NVIC using the appropriate
Interrupt Set Enable register.
5. DMA: Up to two match conditions can be used to generate timed DMA requests, see
Table 543.

понятно что это список регистров, но последовательность во всех модулях единая. А главное что когда я писал функции их конфигурации я просто по пунктам настраивал то что надо, и у меня возникла именно такая последовательность
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Vladimir Prokofiev   STM32F215 sdio   Jul 28 2011, 08:03
- - Flexz   Кхм.. а клоки на SDIO действительно не включаете?   Jul 28 2011, 09:12
|- - Vladimir Prokofiev   Цитата(Flexz @ Jul 28 2011, 13:12) Кхм.. ...   Jul 28 2011, 10:08
- - Flexz   Вообще-то да, на любую периферию клоки надо включа...   Jul 28 2011, 10:37
|- - Vladimir Prokofiev   Цитата(Flexz @ Jul 28 2011, 14:37) У вас ...   Jul 28 2011, 10:41
- - Flexz   Попробовал сейчас у себя, да клок начинает выдыват...   Jul 28 2011, 10:46
|- - Vladimir Prokofiev   Цитата(Flexz @ Jul 28 2011, 14:46) Попроб...   Jul 28 2011, 11:01
- - Flexz   stm32f217zgt6, пользую отладочную плату от стартер...   Jul 28 2011, 11:13
|- - Vladimir Prokofiev   Спаял новую плату, с новым мк, на всякий случай. Н...   Jul 28 2011, 12:29
- - Flexz   У меня мыслей больше нету.. Я там скосячил несколь...   Jul 28 2011, 13:34
|- - AHTOXA   А тактирование AFIO в 2xx разве не надо включать?   Jul 28 2011, 18:32
- - Flexz   не, F2xx нету такой штуки как AFIO. Точнее коммута...   Jul 29 2011, 06:11
|- - Vladimir Prokofiev   Начал сначала. Собрал все в одну функцию -- перепи...   Aug 12 2011, 13:23
|- - Vladimir Prokofiev   После SDIO_SetPowerState(SDIO_PowerState_ON); С...   Aug 15 2011, 08:36
- - Taran87   У меня такая же проблема с SDIO, но на МК stm32f41...   Jun 14 2012, 11:43
|- - MiklPolikov   Кто-нибудь разобрался с настройкой SDIO ? У меня ...   Oct 25 2014, 02:17
|- - AHTOXA   Цитата(MiklPolikov @ Oct 25 2014, 08:17) ...   Oct 25 2014, 06:21
|- - MiklPolikov   АНТОХА, спасибо, примеры очень хорошие, у меня вс...   Oct 26 2014, 00:59
|- - AHTOXA   Цитата(MiklPolikov @ Oct 26 2014, 05:59) ...   Oct 26 2014, 07:07
|- - MiklPolikov   Цитата(AHTOXA @ Oct 26 2014, 11:07) В 99%...   Oct 26 2014, 11:42
|- - AHTOXA   Цитата(MiklPolikov @ Oct 26 2014, 16:42) ...   Oct 26 2014, 14:04
- - Golikov A.   ЦитатаТак сказано где-то в документации ? у NXP в ...   Oct 26 2014, 05:02
|- - GetSmart   Цитата(Golikov A. @ Oct 26 2014, 09:02) у...   Oct 26 2014, 22:17
|- - GetSmart   Цитата(Golikov A. @ Oct 27 2014, 10:08) L...   Oct 28 2014, 03:25
- - Golikov A.   ну наверное это верно. Надо читать мануал и делать...   Oct 28 2014, 05:30
|- - MiklPolikov   Цитата(Golikov A. @ Oct 28 2014, 09:30) н...   Oct 29 2014, 14:31
- - Golikov A.   а не по этой команде определяется тип карты?   Oct 29 2014, 14:42
- - hd44780   Таймаут на CMD17 и у меня регулярно вылетает на F4...   Oct 29 2014, 16:12
- - MiklPolikov   Цитата(hd44780 @ Oct 29 2014, 20:12) Тайм...   Oct 29 2014, 18:01
- - MiklPolikov   Со всем разобрался. Выложил свой код тут http://el...   Nov 1 2014, 18:00


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 1st August 2025 - 20:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01412 секунд с 7
ELECTRONIX ©2004-2016