
[Обновление] Этот вопрос был правильно закрыт несколько лет назад. Однако в наши дни его можно задать наhttps://hardwarerecs.stackexchange.com/- Я просто хотел рассказать другим об этом очень полезном сайте.
Мне нужно подключиться к последовательному порту на системной шине, которая использует 9 бит данных.
Есть ли готовая карта, которая справится с этим? Очевидно, что она должна поставляться с программным обеспечением драйвера, чтобы возвращать 9 (на самом деле 16, с 7 неиспользуемыми) бит для каждого character
отправленного по последовательной шине.
решение1
Существуют USART, которые могут отправлять и получать 9 бит данных (с четностью или без нее) на символ. Но я видел их только как интегрированное устройство, являющееся частью микроконтроллера или системы на кристалле (SoC). Я видел 9-битные USART на Atmel ARM и AVR SoC. Типичные типы UART 8250 или 16550 (которые считаются совместимыми с ПК устройствами) не поддерживают 9-битные символы и ограничены 8 битами на символ.
Однако существуют различные уловки, позволяющие использовать 8 бит данных плюс бит четности для имитации 9-битного символа.
Используйте UART ПК с 9-битными протоколами
Могу ли я использовать 9-битную последовательную связь вместо 7 или 8 бит?
Одна из схем передачи заключается в перенастройке четности UART (на ODD или EVEN) перед каждой передачей байта в соответствии с 9-м битом данных и четностью нижних 8 бит. Прием 9-битного символа немного сложнее, поскольку 9-й бит каждого символа должен быть получен из четности полученных 8 бит плюс было лиошибка четностидля этого байта. Эта схема должна быть реализована на уровне драйвера устройства и может значительно снизить пропускную способность данных.
ПРИЛОЖЕНИЕ
Я ищу 9-битную карту + драйвер для Windows.
Тогда это технически вопрос о покупках, который не допускается в SU.
Однако я нашел именно то, что вы ищете (и это недешево):
Sealevel 7205e: низкопрофильный PCI Express RS-232, RS-422, RS-485 последовательный интерфейс
Низкопрофильный последовательный интерфейс PCI Express 7205e обеспечивает два последовательных порта, настраиваемых дляRS-232, RS-422 или RS-485. Каждый последовательный порт использует 16C950 UART с 128-байтовыми Tx/Rx FIFO, что обеспечивает скорость передачи данных до 921,6 Кбит/с для надежной высокоскоростной связи в приложениях с интенсивным использованием данных.Этот высокопроизводительный UART включает поддержку 9-битного кадрирования.и полностью совместим с программным обеспечением устаревших приложений 16550. Кроме того, генератор 14,7456 и гибкий предварительный делитель тактовой частоты UART поддерживают самый широкий диапазон стандартных и нестандартных скоростей передачи данных.