Interested Article - Bit-banging

Bit-banging — технология организации последовательного соединения с использованием программной эмуляции вместо специализированного аппаратного устройства. Программа непосредственно устанавливает состояние GPIO выводов на микроконтроллере (либо LPT на компьютере), таким образом полностью обеспечивая нужные характеристики сигнала. Обычно используется в дешевых устройствах.

Ограничения

  • Скорость эмулированного устройства ограничена временем установки вывода и временем исполнения кода. Поэтому Bit-banging как правило используется для эмуляции низкоскоростных устройств или низкоскоростных версий устройств
  • Сложно гарантировать точное время выполнения кода, что может создавать проблемы при реализации протоколов, чувствительных к синхронизации
  • Программная эмуляция расходует ресурсы процессора
  • Полученный сигнал может иметь высокий джиттер , особенно если процессор выполняет другие задачи, кроме коммуникации
  • Требуется ручное согласование уровней сигналов и токов , без которого можно повредить GPIO выводы или второе устройство, участвующее в протоколе

Применение

В ядре Linux есть поддержка эмуляции I²C через GPIO .

С помощью техники Bit-banging можно добавить поддержку последовательного порта и I2C к устройствам PIC.

Иногда также реализуются программаторы JTAG , например, на устройствах Arduino .

Существуют реализации простейших USB устройств на GPIO выводах без применения специальных микросхем, реализующих физический уровень (PHY).

Некоторые USB-to-serial адаптеры, например FT232 позволяют работу в режиме bitbang.

Некоторые контроллеры MMC/SD можно перевести в режим, в котором они выдают 4-5 высокочастотных сигнала. Например, с помощью контроллера из состава СнК Jz4720 удавалось создать VGA -сигнал .

Примечания

  1. Michael Predko. . — 2nd. — McGraw-Hill Professional, 2000. — P. 10–12. — ISBN 978-0-07-136172-9 .
  2. Mike Szczys . от 30 декабря 2013 на Wayback Machine . — 2013. — February 21.
  3. . Дата обращения: 30 декабря 2013. 31 декабря 2013 года.
  4. . Дата обращения: 15 мая 2011. Архивировано из 26 июля 2013 года.
  5. . Дата обращения: 30 декабря 2013. 30 декабря 2013 года.
  6. . Дата обращения: 30 декабря 2013. 30 декабря 2013 года.
  7. . Дата обращения: 30 декабря 2013. 30 декабря 2013 года.
  8. . Дата обращения: 30 декабря 2013. 31 декабря 2013 года.
  9. . Дата обращения: 1 января 2014. 17 апреля 2014 года.
  10. Mike Szczys (2011-05-10). . из оригинала 2 января 2014 . Дата обращения: 1 января 2014 .

Ссылки

  • / David W. Hoffman. — 2005.
Источник —

Same as Bit-banging