Имею следующий опыт
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено nad 21 мая 2004 г. 00:17
В ответ на: Народ! Поговорите со мной про SPI. Нужны свежие идеи. Любые идеи отправлено bialix 19 мая 2004 г. 22:23

Имею следующий опыт:
Режим мультимастера - имеется некоторый управляющий контроллер, который переводит один контроллер в мастер другой в слэйв.
1)Мастер переходит в режим передачи и,установив SS=0,шлет в слэйв некую команду(байт)
2)Слэйв инвертирует 1 бит принятой команды - признак начала обмена.Это команда отбрасывается слэйвом и в пакет не входит. Еще была мысль добавить двунапраленный сигнал RDY, который инвертируется слэйвом в процедуре приема и анализируется мастером с целью определения того, что слэйв принял/подготовил информацию, т.к. нет FIFO и это вообще основная проблема, не дающая выигрыша при f/4.
3)Если SS общий для всех - хреново, команда должна содержать адрес требуемого слэйв устройства. Остальные устройства нужно отключить на время передачи пакета, например по таймеру.Или при установке линий SPI в исх.состояние. Кстати при включении шина SPI дб чистой по любому. У меня было одно устройство - один SS. Проще.
4)Передача полезных данных только мастер2слэйв. Мастер контролирует передачу как n-принятый дб равен ~(n-1)-посланный. +CRC инверсный. Инверсия обусловлена тем, что при сбое слэйва он не успевает вытащить данные из приемного регистра и они возвращаются к мастеру.При любом ложном пичке на SCK пакет также накрывается. Ставил RC терминаторы на концах SPI.
5)Усиливал шину 244 буферами.Не понравилось.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru