|
STM32F407 Непонятки с SAI |
|
|
|
 |
Ответов
|
Nov 8 2015, 00:25
|

Профессионал
    
Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634

|
Вот подробности:  Вот выдача: Код hardware_sai1_master_fullduplex_initialize: 2 SAI1 MCKDIV=14, ARMSAIMCLK=12288000, PLLI2S_FREQ_OUT=172032000 SAI1_Block_A->CR1: 007202E0 SAI1_Block_A->CR2: 00000000 SAI1_Block_A->FRCR: 00011F3F SAI1_Block_A->SLOTR: 00030180 SAI1_Block_A->IMR: 00000000 SAI1_Block_A->SR: 00000008 SAI1_Block_B->CR1: 007206E3 SAI1_Block_B->CR2: 00000000 SAI1_Block_B->FRCR: 00011F3F SAI1_Block_B->SLOTR: 00030180 SAI1_Block_B->IMR: 00000000 SAI1_Block_B->SR: 00000000 Вот код: Код static void pp(const SAI_Block_TypeDef * dev, const char * label) { debug_printf_P(PSTR("%s->%s:\t%08lX\n"), label, "CR1", dev->CR1); debug_printf_P(PSTR("%s->%s:\t%08lX\n"), label, "CR2", dev->CR2); debug_printf_P(PSTR("%s->%s:\t%08lX\n"), label, "FRCR", dev->FRCR); debug_printf_P(PSTR("%s->%s:\t%08lX\n"), label, "SLOTR", dev->SLOTR); debug_printf_P(PSTR("%s->%s:\t%08lX\n"), label, "IMR", dev->IMR); debug_printf_P(PSTR("%s->%s:\t%08lX\n"), label, "SR", dev->SR); } В данном варианте тактируется от PLL, так что там ещё и I2SPLL задействовано в RCC (смотрите функцию hardware_sai_clock_selection, для WITHSAICLOCKFROMI2S
Сообщение отредактировал Genadi Zawidowski - Nov 8 2015, 00:32
|
|
|
|
|
Nov 8 2015, 01:47
|
Профессионал
    
Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439

|
Спасибо, уже дышит. Насколько я понял клок не разрешался из-за моих ляпов -- куб не при чем, а модули надо было разрешить после всех инициализаций: __HAL_SAI_ENABLE(&hsai_BlockA1); __HAL_SAI_ENABLE(&hsai_BlockB1);
Сообщение отредактировал IgorKossak - Nov 8 2015, 17:50
Причина редактирования: бездумное цитирование
|
|
|
|
|
Nov 8 2015, 12:48
|
Профессионал
    
Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439

|
Цитата(Genadi Zawidowski @ Nov 8 2015, 15:10)  Ну и хорошо... Но вопросы не кончились. Отчего-то нет фрейм сигнала. Насколько я понимаю если DMA подключено, то железке уже пофиг, что я не считываю из DMA. Хотя прерывания от DMA тоже не возникает. Хотя то, что я не записываю ничего может быть и проблема. Надо еще с DMA разобраться. В первый раз надо готовить буфер и активировать DMA или достаточно сделать все в обработчике прерывания и он сразу вызовет прерывание, когда все готово и прерывание разрешено? Другими словами по какому условию вызывается прерывание: - передача завершена - передача не обработана (как буфер пуст в UART) FIFO и DMA как я понимаю разные устройства. FIFO встроено в SAI, а DMA отдельный модуль. При передаче DMA берет данные из области памяти и запихивает в FIFO. На этом обо всем можно забыть до следующей транзакции -- работает железо.
Сообщение отредактировал Tarbal - Nov 8 2015, 14:11
|
|
|
|
Сообщений в этой теме
Tarbal STM32F407 Непонятки с SAI Nov 2 2015, 18:46 Genadi Zawidowski В STM32F407/STM32F405 контроллера SAI нет. совсем.... Nov 2 2015, 18:55 alag57 Цитата(Tarbal @ Nov 2 2015, 23:46) Вроде ... Nov 2 2015, 18:57 Tarbal Спасибо за подсказку. В Юзер Референс Мануал описа... Nov 3 2015, 02:39 ig_z QUOTE (Tarbal @ Nov 3 2015, 04:39) Значит... Nov 3 2015, 13:34  Tarbal Цитата(ig_z @ Nov 3 2015, 17:34) Слегка о... Nov 3 2015, 14:31 Genadi Zawidowski Как раз в DM00037051.pdf даже слова такого нет...
... Nov 3 2015, 08:32 alexandermas sgpio в lpc полная порнография, хотя сами процы вп... Nov 4 2015, 10:42 ig_z QUOTE (alexandermas @ Nov 4 2015, 12:42) ... Nov 4 2015, 14:25  alexandermas Цитата(ig_z @ Nov 4 2015, 18:25) Что знач... Nov 4 2015, 17:02 Tarbal Кто-нибудь использовал SAI На STM32F429 или похож... Nov 7 2015, 17:20 Genadi Zawidowski А какие регистры интересуют?
Вот тут https://188.1... Nov 7 2015, 18:21 Tarbal Цитата(Genadi Zawidowski @ Nov 7 2015, 21... Nov 7 2015, 22:40 Genadi Zawidowski Посмотрите как я делаю... первый буфер подставляет... Nov 8 2015, 14:10 Tarbal Цитата(Genadi Zawidowski @ Nov 8 2015, 18... Nov 8 2015, 14:21 Tarbal Добавил старт ПДП (DMA) и все начало работать. Поя... Nov 8 2015, 16:36 Tarbal Наконец дошел до организации потока данных через S... Feb 28 2016, 21:04 Tarbal Решил несколько проблем. Осталась по видимому одна... Mar 1 2016, 12:21 Genadi Zawidowski В stm32f429 нет data cache, который было бы нужно ... Mar 1 2016, 22:26 Tarbal Цитата(Genadi Zawidowski @ Mar 2 2016, 02... Mar 2 2016, 14:53  Tarbal Цитата(Tarbal @ Mar 2 2016, 18:53) Спасиб... Mar 3 2016, 06:05   Genadi Zawidowski Цитата(Tarbal @ Mar 3 2016, 09:05) Не дов... Mar 3 2016, 14:28    Tarbal Цитата(Genadi Zawidowski @ Mar 3 2016, 17... Mar 3 2016, 19:51 Genadi Zawidowski А Вы в референс мануал вообще заглядывали? Mar 3 2016, 19:54 Tarbal Цитата(Genadi Zawidowski @ Mar 3 2016, 22... Mar 3 2016, 19:58 Tarbal Разобрался что происходит, но не было времени разо... Mar 18 2016, 14:35 Allregia Коллеги, просветите по поводу этого SAI - пытаюсь ... Apr 30 2016, 13:43 Genadi Zawidowski Цитата(Allregia @ Apr 30 2016, 16:43) Кол... Apr 30 2016, 17:58 Allregia Версии 2-х месячной давности годятся?
Но вообще, я... Apr 30 2016, 19:47 Genadi Zawidowski Должно быть так:
Код#define SAI_xCR1_MCKDIV ... May 1 2016, 00:48 Allregia Цитата(Genadi Zawidowski @ May 1 2016, 01... May 1 2016, 05:26
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|