вторник, 3 октября 2017 г.

Vortex86DX, QNX6.5, максимальная скорость последовательного порта (serial port maximum baud rate)

По умолчанию последовательные порты на микропроцессорной плате Vortex86DX A9121 (в моем случае это штыри на плате RXD3 и TXD3) в операционной системе QNX 6.5 работают на скорости не выше 115200 бит/с. В документации заявляется максимальная поддерживаемая железом скорость 460.8к. Однако есть возможность достигнуть скорости 748.8к при должном качестве провода. Для этого необходимо:

1. В BIOS указать скорость 748800 BPS для используемого последовательного порта:















2. Строка запуска стандартного драйвера:
# devc-ser8250 -c 24000000/16 -u 3 -t8 -T8 3e8,10 2e8,11
где 24 МГц - частота осциллятора на плате Vortex, 16 - делитель.
Есть подозрение, что истинная скорость в таком случае будет равной 750к, а не 748.8к, как написано в BIOS.

3. В нашем приложении открываем COM порт с указанием скорости 748800 бит/с. В файле termios.h нет константы на эту скорость, но можно вписать её в нужном месте как число.

In English:
A solution described above is how to achieve serial port baud rate 748.8K instead of standard 115.2K on Vortex86DX microprocessor with QNX 6.5 and standard serial port driver devc-ser8250.