Серийный захват перехвата UART.Не могу сделать из этого головы или хвосты - PullRequest
0 голосов
/ 13 февраля 2019

Я работаю над пониманием тайного протокола в 3D-принтере DLP.Raspberry Pi разговаривает с контроллером двигателя / светодиода через последовательную шину.Устройство кажется проприетарным, но я предполагаю, что оно использует какой-то открытый стандарт (например, GCode).Это может помочь узнать, что устройство, вероятно, было сделано и запрограммировано в Китае.Понятия не имею, может ли это быть фактором, но может быть какая-то культурная вещь, которую мне не хватаетЯ пытаюсь выяснить, как управлять этой платой управления двигателем / светодиодом через последовательный порт, чтобы я перехватывал данные с помощью перехвата.

55 55 55 55 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 08 аа аа аа аа

Это то, как тайное устройство признает

55 55 55 55 00 03 00 00 00 00 00 00 00 00 00 00 00 00 01 04 аа аа аа аа 55 55 55 55 00 03 00 00 00 00 00 00 00 00 00 00 00 00 01 04 аа аа аа аа

Похоже, это означает, что состояние ожидания всегда после подтверждения от загадочного устройства.55 55 55 55 00 03 00 00 00 00 00 00 00 00 00 00 00 00 55 58 aa aa aa aa

Эта команда начала печать.Итак, начинается движение двигателя.

55 55 55 55 00 03 e8 03 00 00 40 0d 03 00 01 00 00 00 00 3f aa aa aa aa

Для справки 55555555 и aaaaaaaa являются 01010101и т.д. в двоичном формате.Похоже, они способ очистить com для асинхронной последовательной передачи.Это, конечно, выглядит, как будто я вижу очень низкий уровень общения.Как будто я подключил логический анализатор к схеме.

Между каждым из этих шагов очистки / синхронизации есть 16 шестнадцатеричных байтов.Я не уверен, вижу ли я ОЧЕНЬ низкоуровневую связь или эти 16 байтов содержат все данные в любой заданной команде или данные плюс проверочные байты или что-то в этом роде.

Наконец, я вижуМного повторений.Это заставляет меня думать, что это не Gcode, а что пи посылает команду каждый цикл, а ведомое / загадочное устройство обновляется как можно быстрее.

Например, приведенный ниже вывод повторяется снова и снова 1145раз после начала печати.Это может произойти, когда двигатель полностью опустится в ванну, и светодиод будет гореть в течение длительного периода времени.> обозначает принятые передачи <обозначает исходящие передачи с пи. </p>

>  55 55 55 55 00 03 00 00 00 00 | UUUU      
>  00 00 00 00 00 00 00 00 01 04 |           
>  aa aa aa aa 55 55 55 55 00 03 |     UUUU  
>  00 00 00 00 00 00 00 00 00 00 |           
>  00 00 01 04 aa aa aa aa       |           
<  55 55 55 55 00 03 20 03 00 00 | UUUU      
<  78 5d 02 00 00 00 00 00 00 fd | x]        
<  aa aa aa aa                   |           

Я надеюсь получить какое-то направление.Похоже, что ни один из этих гексов не может хорошо перевести на ascii или utf.Я не думаю, что это прохождение целых чисел или символов.Может быть, это поразрядно назад?Я не уверен.У меня много проблем с созданием головы или хвоста.

На каком уровне UUUU и aaaa?Похоже, что вы увидите на логическом анализаторе не через драйвер.

Во всяком случае, любое направление будет высоко ценится.

...