Немного стук
Эта статья нуждается в дополнительных цитатах для проверки . ( июль 2014 г. ) |
В компьютерной технике электротехнике удары и по битам или удары по битам. [ нужна ссылка ] это термин, обозначающий любой метод передачи данных , в котором программное обеспечение используется вместо специального оборудования для генерации передаваемых сигналов или обработки полученных сигналов. Такое программное обеспечение напрямую устанавливает и выбирает состояния 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-битная архитектура
- Быстрый загрузчик
- Интегрированная машина Woz (IWM)
- FTDI (серия микросхем преобразователей USB в последовательный порт, также поддерживающих режим битового взрыва)
- 2MGUI (драйвер DOS от Сириако Гарсии де Селиса, использующий битовую обработку для поддержки нестандартных форматов гибких дисков сверхвысокой емкости, «обходя» обычную логику контроллера гибких дисков; аналогичная программа для дискет Amiga - Disk2FDI Винсента Жогина)
- Световое перо (на ПК-совместимых видеокартах MDA, HGC, CGA и EGA показания датчика дополнительного светового пера можно было считывать аналогично ударам битов)
- Виртуальная машина (ВМ) (реализация драйверов виртуальных устройств, имитирующих реальные аппаратные контроллеры, иногда требует использования методов программирования, подобных битовому удару)
- Программно-определяемая радиосвязь (SDR)
- Опрос (информатика)
Ссылки
[ редактировать ]- ^ Предко, Михаил (2000). Программирование и настройка микроконтроллеров PICmicro (2-е изд.). МакГроу-Хилл Профессионал . стр. 10–12 . ISBN 978-0-07-136172-9 .
Внешние ссылки
[ редактировать ]- Асинхронный последовательный (RS-232)
- Примечания по битовому асинхронному последовательному соединению
- Битовая обработка для асинхронной последовательной связи
- Битовый стук для RS-232
- шина I²C
- Шина SPI