Jump to content

Немного стук

(Перенаправлено с Bit-banging )

В компьютерной технике электротехнике удары и по битам или удары по битам. [ нужна ссылка ] это термин, обозначающий любой метод передачи данных , в котором программное обеспечение используется вместо специального оборудования для генерации передаваемых сигналов или обработки полученных сигналов. Такое программное обеспечение напрямую устанавливает и выбирает состояния GPIO (например, контактов микроконтроллера ) для передачи и приема соответственно и отвечает за соблюдение всех требований по синхронизации и протокольной последовательности сигналов. В отличие от битовых битов, выделенное оборудование (например, UART , SPI , I²C ) удовлетворяет этим требованиям и, при необходимости, предоставляет буфер данных для смягчения требований к программному обеспечению синхронизации. Битовую обработку можно реализовать с очень низкой стоимостью, и она обычно используется во встроенных системах . [1]

Битовая обработка позволяет устройству реализовывать различные протоколы с минимальными изменениями в аппаратном обеспечении или без них. В некоторых случаях биты битов становятся возможными благодаря новым, более быстрым процессорам, поскольку новейшее оборудование работает гораздо быстрее, чем оборудование, когда были созданы стандартные протоколы связи.

Пример кода C

[ редактировать ]

Следующий пример кода языка C передает байт данных по шине SPI .

// transmit byte serially, MSB first
void send_8bit_serial_data(unsigned char data)
{
   int i;

   // select device (active low)
   output_low(SD_CS);

   // send bits 7..0
   for (i = 0; i < 8; i++)
   {
       // consider leftmost bit
       // set line high if bit is 1, low if bit is 0
       if (data & 0x80)
           output_high(SD_DI);
       else
           output_low(SD_DI);

       // pulse the clock state to indicate that bit value should be read
       output_low(SD_CLK);
       delay();
       output_high(SD_CLK);

       // shift byte left so next bit will be leftmost
       data <<= 1;
   }

   // deselect device
   output_high(SD_CS);
}

Соображения

[ редактировать ]

Вопрос о том, использовать бит-бэнг или нет, — это компромисс между нагрузкой, производительностью и надежностью, с одной стороны, и доступностью аппаратной альтернативы — с другой. Процесс программной эмуляции потребляет больше вычислительной мощности, чем поддержка выделенного оборудования. Микроконтроллер тратит большую часть своего времени на отправку или получение выборок на выводы и обратно за счет других задач. Создаваемый сигнал обычно имеет больше джиттера или сбоев , особенно если во время обмена данными процессор также выполняет другие задачи. Однако если программное обеспечение для обработки битов управляется прерываниям сигналом по управляющие сигналы, такие как RTS, CTS или DCD , это может иметь второстепенное значение, особенно если доступны . Программная реализация может быть решением, когда конкретная аппаратная поддержка недоступна или требуется более дорогой микроконтроллер.

См. также

[ редактировать ]
  1. ^ Предко, Михаил (2000). Программирование и настройка микроконтроллеров PICmicro (2-е изд.). МакГроу-Хилл Профессионал . стр. 10–12 . ISBN  978-0-07-136172-9 .
[ редактировать ]
Асинхронный последовательный (RS-232)
шина I²C
Шина SPI
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: ec13e186f556830ece5268f1fc034505__1707667560
URL1:https://arc.ask3.ru/arc/aa/ec/05/ec13e186f556830ece5268f1fc034505.html
Заголовок, (Title) документа по адресу, URL1:
Bit banging - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)