[an error occurred while processing this directive] [an error occurred while processing this directive]
Универсальный совет по SPI-подобным интерфейсам
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено BLACKEAGLE 24 апреля 2002 г. 21:48
В ответ на: 16с84 ds1620 отправлено stev 24 апреля 2002 г. 19:59

Как правило, задержки/частота/период не так важны. Если делаете это програмно, то просто позаботьтесь о том, чтобы и фронт, и спад CLK (SCK) происходили при неизменном значении DAT (MISO/MOSI):


X 0 1 0 1 1 0 1 0 X
___ ____ ____ ____ _______
DAT ___X____| |_________| |____| |____X_______
_ _ _ _ _ _ _ _
SCK _____| |__| |__| |__| |__| |__| |__| |__| |________

Между отдельными байтами/блоками держите CLK в каком-нибудь одном состоянии. И не путайте порядок следования MSB/LSB.

А собственно SPI - это не то чт бы протокол, а просто достаточно удобный интерфейс. В первозданном виде это два взаимно закольцованных N-битовых сдвиговых регистра - один в передающем устройстве, другой - в принимающем:



______________________________________________
| ________ MISO ________ |
|__|D0 Q0|_ _____________|D0 | |
| |_ | MOSI | | |
| |_ | | | |
| RG A |_ | | RG B | |
| |_ | | | |
| |_ | | | |
| |_ | | | |
MASTER CLOCK ----x--|CLK QN|________| __|CLK QN|__|
| |________| | |________|
| |
|_______________________________|
SCK

Устройство, вырабатывающее SCK, принято называть MASTER, другое - SLAVE. Как видно из схемы, после N тактов данные в регистрах А и В обменяются местами, что весьма удобно.

Часто применяется еще и сигнал разрешения - NSS (Negative Slave Select - подобие Chip Select для SLAVE), его тоже должен генерить MASTER. А разные режимы (SPI mode 1,2,3,4 etc.) - всего-навсего соглашения о том, по какому фронту SCK в каком устройстве происходит сдвиг и еще кое-какие частности. На SPI Mode ориентироваться не стОит, лучше просто соблюсти временнЫе диаграммы из Datasheet.

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

Ответы



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

E-mail: info@telesys.ru