|
STM32F215 sdio, нет клока |
|
|
|
Jul 28 2011, 08:03
|
Участник

Группа: Участник
Сообщений: 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
|
|
|
|
|
 |
Ответов
|
Oct 29 2014, 14:31
|

Гуру
     
Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702

|
Цитата(Golikov A. @ Oct 28 2014, 09:30)  ну наверное это верно. Надо читать мануал и делать как написано для каждого конкретного случая... Может кто подскажет : 1) Карта проходит инициальзацию. Отвечает на CMD2, CMD3 . Но после этого не хочет отвечать на CMD17 , CMD18 . Выставляется бит SDIO_STA_CTIMEOUT. В примерах https://github.com/yigiter/Sample-STM32F4-c...OLib/src/SDIO.c после посылки CMD17 почему-то нет проверки получен ответ или нет. В чём может быть причина ? 2) Почему флаг SDIO_STA_CTIMEOUT выставляется мгновенно ? Казалось бы, если в регистре SDIO_DTIMER значение 0xFFFFFFFF , а частота шины 400КГц , то тайм-аут должен случится через 0xffffffff / 400КГц = 10737 секунд
--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
|
|
|
|
Сообщений в этой теме
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 Golikov A. ЦитатаЦитату можете привести?
LPC1768 UM10360
в на... Oct 27 2014, 06:08 GetSmart Цитата(Golikov A. @ Oct 27 2014, 10:08) L... Oct 28 2014, 03:25 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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|