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

 
 
 
Reply to this topicStart new topic
dilvishya
сообщение Jun 30 2010, 12:31
Сообщение #1





Группа: Участник
Сообщений: 4
Регистрация: 30-06-10
Пользователь №: 58 216



Есть железка в которой стоит МК AT91SAM3U и ПЛИС. Данные от МК в ПЛИС и обратно передаются по SPI. После настройки скорости передачи данных (48 Мбит/с) и подбора необходимой паузы между посылками байт (332 нс) возник вопрос, а можно ли передавать данные по SPI сплошным потоком без межбайтовых интервалов? Искал инфу по разным форумам, но ничего на эту тему не нашел.
Go to the top of the page
 
+Quote Post
bseyur
сообщение Jun 30 2010, 15:52
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 8-01-07
Из: Томск
Пользователь №: 24 208



Скорее всего нельзя, т.к. слэйв должен как-то определять, где находится начало и где конец каждого из передаваемых байтов.
Но можно воспользоваться интерфейсом I2S. Это по сути то же самое, только для непрерывной передачи потоковых данных (например, аудиопотока).
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 30 2010, 15:58
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(dilvishya @ Jun 30 2010, 16:31) *
можно ли передавать данные по SPI сплошным потоком без межбайтовых интервалов?

Используйте DMA. Подбирать паузы между записями - это как-то не совсем хорошо.
Go to the top of the page
 
+Quote Post
MALLOY2
сообщение Jun 30 2010, 16:06
Сообщение #4


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Цитата
где находится начало и где конец каждого из передаваемых байтов.

Это делается по чипселекту.


Цитата
Используйте DMA.

+1
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jul 1 2010, 10:31
Сообщение #5


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



По-моему, для самого SPI никаких пауз между байтами не требуется. Каждому такту соответствует свой бит данных. Другое дело, что дальше с ними происходит, в данном случае, в ПЛИС.
Go to the top of the page
 
+Quote Post
dilvishya
сообщение Jul 1 2010, 20:16
Сообщение #6





Группа: Участник
Сообщений: 4
Регистрация: 30-06-10
Пользователь №: 58 216



Вот как раз в ПЛИС никаких проблем и нет. Там из памяти FIFO по внутренним 48 МГц клокам данные считываются спустя почти микросекунду после записи. Наличие межбайтовых интервалов создает трудности. Пробовал передавать и 8 и 16 бит в одном байте, но интервалы остаются. Пробовал передавать 13 байт по 16 бит в каждом байте и минимальный интервал был в районе 200 нс. Когда пробовал делать меньше, то число передаваемых байт сокращалось до 11.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 21:33
Рейтинг@Mail.ru


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