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

 
 
> spi slave @ 13 mhz
andrewlekar
сообщение Oct 21 2009, 17:35
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163



Бьюсь над простой с виду проблемой - реализацией spi slave. Проц шустрый (at91sam9260), spi аппаратно есть, от мастера идут посылки вида opcode-address-data. При чтении передаётся opcode-address и тут же идут такты на чтение данных. Не могу сообразить как грамотно сделать:
1. Если через прерывания, то есть только прерывание по приёму байта и даже если я оставляю только сохранение в буфер, то уже проц не поспевает за данными.
2. Если использовать dma, то непонятно как определять конец посылки. Если использовать в качестве признака конца посылки снятие чип селекта, то запарывается алгоритм чтения - чип селект снимается только после всего обмена. Но при дотачивании мастера вариант неплохой.
3. Если использовать поллинг флага без прерывания, то отъедается весь ресурс проца и могут пропадать байты при прерывании.

Так что делать то?
Правда ли что при высокой скорости uart возникнет точно та же проблема? Как лучше организовать обмен по uart если хочется иметь на нём одновременно приём ат команд с эхом и передачу больших блоков данных быстро?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


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


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