В зависимости от ваших точных требований, может быть полезно использовать микроконтроллер, который может собирать и отмечать метки времени, а затем передавать их на ПК. UART, исторически обнаруживаемые на типичных ПК, были способны записывать точную информацию о синхронизации или захватывать 9-битные данные только благодаря тому, что процессор захватывал каждый байт по мере поступления без буферизации; более поздние операционные системы и драйверы обычно не оснащены для этого, и микросхемы UART-to-USB в этом отношении безнадежны. Если ваш ПК может получать данные с удвоенной скоростью, которую вы хотите, вы можете иметь микроконтроллер, который получает байты данных и для каждого байта отправляет два байта. Первый байт должен иметь установленный MSB, сообщать MSB (или два MSB, если 9-битный) о входящих данных в следующих битах, и использовать младшие 5 (или 4) битов, чтобы сообщить количество времени (0-30 или 0-14) с середины стоп-бита предыдущего байта (измеряется в единицах, например, одного бита). Второй байт должен очищать MSB и содержать оставшиеся 7 бит данных. Когда данные не передаются, символы стимуляции FF будут отправляться каждые 30 (или 14) битов. Таким образом, программное обеспечение, получающее эти отчеты, сможет очень точно (в течение одного бита) восстановить точное время поступления данных. Если скорость передачи данных на ПК в четыре раза превышала контролируемую скорость передачи данных, можно использовать эту общую схему для мультиплексирования двух каналов приема в один порт ПК (используйте бит байта заголовка, чтобы определить, содержит ли он данные для первого или второго порт). Хотя временные рамки с точностью до одного бита могут показаться чрезмерными, бывают случаи, когда это может быть полезно,