[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Как правило, задержки/частота/период не так важны. Если делаете это програмно, то просто позаботьтесь о том, чтобы и фронт, и спад 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