Интернет магазин китайских планшетных компьютеров |
|
Компьютеры - Serial Peripheral Interface13 мая 2011
SPI — последовательный синхронный стандарт передачи данных в режиме полного дуплекса, разработанный компанией 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;
}
Просмотров: 2230
|