Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Снхронные SPI/I2S ?
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
Allregia
Интересно, а не пробовал ли кто сделать такую штуку - запустить два SPI/I2S на передачу, чтобы они работали синхронно?
Т.е. чтобы их SCLK и MOSI (или WCLK,BCLK и SD) совпадали по фазе.
У меня пока не получилось.

P.S. STM32F1/F4
esaulenka
Самый тупой и "неэкономичный" способ: три штуки SPI - мастер и два слэйва.
Клок передаёт мастер, данные - слэйвы.
maksimp
Цитата(esaulenka @ Jun 4 2012, 17:11) *
Самый тупой и "неэкономичный" способ: три штуки SPI - мастер и два слэйва.
Клок передаёт мастер, данные - слэйвы.

Чтобы передавать тактовый сигнал достаточно таймер взять а не SPI. И тогда хватит двух SPI.
Allregia
Этот вариант не подходит, т.к. смысло в том, чтобы к примеру - у одного из SPI не использовать пин на котором CLK (он занят другим), а только MOSI.
Повидимому, то что хотелось сделать нельзя, так как нет доступа к внутренним счетчикам, чтобы их одновременно сбросить.
rx3apf
Строго синхронно ? А, может быть, удастся решить задачу, сдвинув один канал на один байт (однократно, при инициализации) ?
Allregia
Цитата(rx3apf @ Jun 5 2012, 23:15) *
Строго синхронно ? А, может быть, удастся решить задачу, сдвинув один канал на один байт (однократно, при инициализации) ?


Нет, разница в фазе двух SPI/I2S получается во 1-х не кратная байту а гораздо меньше, во 2-х - она не стабильна.
rx3apf
Цитата(Allregia @ Jun 6 2012, 16:59) *
Нет, разница в фазе двух SPI/I2S получается во 1-х не кратная байту а гораздо меньше, во 2-х - она не стабильна.

Я имею в виду, что второй запустить строго таким образом, чтобы первый байт в втором канале совпадал по тактам с вторым байтом на первом. От загрузки первого канала добить nop-ами до загрузки второго. И, само собой, потом уже поддерживать непрерывную загрузку (а там хоть какой FIFO есть, хоть на байт ? А то все равно не выйдет...), чтобы передача не прерывалась. Тогда разница должна быть постоянной.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.