Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: 2SPI + DMA
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
Allregia
Придумал тут как упростить немного устройство. но для этого нужна синхронная работа двух SPI-интерфейсов.
Т.е. есть две области памяти, каждая из которых пересылается в свой SPI.
Оба SPI - в slave, с общими CS и CLK.
Я тут в командировке, так что в железе попробовать смогу только через неделю. а уже не терпится sm.gif Что думает уважаемая публика?
Не очень понятен вопрос взаимодействия периферии, при одновременных двух работающих пересылках DMA RAM->SPI, будет-ли оно сихронно? Нужно чтобы 0-1 байт их первого буфера, передавался по SPI1 одновременно с передачей 0-го байта по SPI2? затем первый байт и т.д. Т.е свего рода "2-х битный SPI".

Я думаю так - поскольку шина одна, то пересылка "Память1-SPI1" и "Память2-SPI2" одновременно быть не могут. В лучшем случае - они могут быть по очереди. FIFO SPI он забьют довольно быстро, а поскольку оба SPI тактируются одним и тем-же клоком и CS, то передавать начнут синхронно, но если какой-то из каналов DMA замешкается по каким-то причинам, а второй в это время будет работать - возникнет разсинхронизация.
aaarrr
Цитата(Allregia @ Jul 23 2011, 00:47) *
...если какой-то из каналов DMA замешкается по каким-то причинам

По каким причинам DMA должен замешкаться, если только шина не загружена по самое не могу?
Allregia
Цитата(aaarrr @ Jul 22 2011, 23:22) *
По каким причинам DMA должен замешкаться, если только шина не загружена по самое не могу?


А кто его знает, как там арбитраж шины устроен. В доках вроде писали что 30% процессору, остальное на ДМА, но как эти 70% между собой поделятся?
aaarrr
Цитата(Allregia @ Jul 23 2011, 13:19) *
В доках вроде писали что 30% процессору, остальное на ДМА, но как эти 70% между собой поделятся?

Вы бы хоть намекнули, о каком процессоре идет речь.
Но из общих соображений, SPI в слейве по определению не откусит более 6.25% (8 бит, частота SPI не более 1/4 частоты шины-периферии).
Allregia
Цитата(aaarrr @ Jul 23 2011, 11:33) *
Вы бы хоть намекнули, о каком процессоре идет речь.
Но из общих соображений, SPI в слейве по определению не откусит более 6.25% (8 бит, частота SPI не более 1/4 частоты шины-периферии).


LPC17xx
aaarrr
Цитата(Allregia @ Jul 23 2011, 13:58) *
LPC17xx

Ну вот, тактовая слейва для SSP будет не более 1/12 периферийной. Чтобы не успеть в таких условиях, надо очень сильно постараться.
Allregia
Надо 7MHz тактовую на слейве, но - параллельно будут работать два SPI и USB или Ethernet.
Спасибо что обнадежили sm.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.