Интернет магазин китайских планшетных компьютеров |
|
Компьютеры - Serial Peripheral Interface13 мая 2011SPI — последовательный синхронный стандарт передачи данных в режиме полного дуплекса, разработанный компанией Motorola для обеспечения простого и недорогого сопряжения микроконтроллеров и периферии. SPI также иногда называют четырёхпроводным интерфейсом. В отличие от стандартного последовательного порта, SPI является синхронным интерфейсом, в котором любая передача синхронизирована с общим тактовым сигналом, генерируемым ведущим устройством. Принимающая периферия синхронизирует получение битовой последовательности с тактовым сигналом. К одному последовательному периферийному интерфейсу ведущего устройства-микросхемы может присоединяться несколько микросхем. Ведущее устройство выбирает ведомое для передачи, активируя сигнал «выбор кристалла» на ведомой микросхеме. Периферия, не выбранная процессором, не принимает участие в передаче по SPI. В SPI используются четыре цифровых сигнала:
Пример программной реализацииНиже представлен пример программной реализации SPI мастера на языке Си. Линия "chip select" должна быть активирована, перед тем, как начнётся обмен данными, и деактивирована после окончания обмена. Большинство устройств требуют несколько сеансов передачи с активной линией chip select. Эта процедура может быть вызвана несколько раз, пока линия активна. unsigned char SPIBitBang8BitsMode0 { unsigned char bit; for { /* записать MOSI по спаду предыдущего тактового импульса */ if SETMOSI; else CLRMOSI; byte <<= 1; /* ждём половину тактового периода перед тем как сгенерировать фронт */ SPIDELAY; SETCLK; /* ждём половину тактового периода перед тем как сгенерировать спад */ SPIDELAY; /* читаем MISO on trailing edge */ byte |= READMISO; CLRCLK; } return byte; } Просмотров: 1973
|