Наиболее распространенным типом теста последовательного порта, вероятно, является тест обратной связи .Создайте тестовое устройство, которое соединит выходные контакты порта с входными контактами (TX-> RX, RTS-> CTS и т. Д.).Если у вас нет соответствующих входных контактов для каждого выходного контакта, вам потребуется выполнить трехстороннее соединение.
После создания обратной петли вам потребуется написать программное обеспечение, которое будет работать с контактами.Если TX и RX подключены, вы можете отправить байт и убедиться, что он был возвращен.Для управляющих контактов переключите их и убедитесь, что другая сторона соединения видела переход. Удостоверьтесь, что вы используете каждый вывод последовательного порта.
Обратите внимание, что вы должны запустить обратную передачу данных TX-> RX с несколькими скоростями передачи. в проекте должна быть проблема целостности сигнала, которая проявляется только при более высоких скоростях передачи.Также возможно наличие плохого сигнального соединения на плате, которое маскируется индуктивностью и емкостью при более высоких скоростях передачи.Поэтому рекомендуется запускать зацикливание данных с самой низкой скоростью передачи данных, самой высокой скоростью передачи данных и со средним значением 1-2.
Еще одна вещь, которую вы должны сделать, - это точность скорости передачи данных.тест .Это докажет, что часы, управляющие UART, работают на правильной частоте и правильно разделены.Передайте X байтов с определенной скоростью передачи и убедитесь, что они поступили в ожидаемое время.Чтобы получить точное число, вам нужно будет обойти любую буферизацию в драйвере последовательного порта ОС (например, использовать прямой регистр ввода-вывода) и убедиться, что учитываются любые издержки запуска / остановки бита (см. Комментарии ниже).
Однако проверка по шлейфу не является исчерпывающей. Это только доказывает, что устройство может общаться с самим собой.Устройство может иметь некоторые недостатки (например, уровни напряжения), которые не могут быть обнаружены локально.Таким образом, вы также должны запустить некоторые тесты с внешним оборудованием.Подключите вашу плату к другой системе и запустите тестирование (например, с помощью Minicom).Убедитесь, что они могут общаться друг с другом.
Даже тест внешней связи может что-то пропустить. У вас все еще может быть плохое качество сигнала с вашей платы, но этого вполне достаточно длядругое устройство. Для точной проверки качества / времени сигнала вам необходим осциллограф.
Во время выполнения тестов связи подключите датчики объема к различным сигналам и проверьте целостность сигнала.Убедитесь, что уровни напряжения действительны, что вы видите чистые переходы между низким и высоким битами и что синхронизация вывода данных кажется правильной для указанной скорости передачи.(Область действия может быть более точным способом измерения скорости передачи данных, чем программный метод, описанный ранее.)