Как установить связь между микроконтроллером 8051 и ПК

Я работаю над своим проектом, в котором я получаю данные от нескольких датчиков в микроконтроллер 8051.

Я создаю автомобильный симулятор, в котором у меня есть различные компоненты автомобиля, такие как руль, тормоз, акселератор, подрулевые переключатели сцепления и некоторые другие компоненты. У меня есть несколько датчиков, прикрепленных к каждому из этих компонентов.

Данные от каждого датчика не превышают более байта. Всего у меня 8 датчиков, что составляет 8 байт данных, и данные должны передаваться не менее 100 раз в секунду.

Теперь я должен непрерывно передавать данные, поступающие от этих датчиков, на ПК через микроконтроллер, где они будут обрабатываться. Есть ли способ, которым я могу передавать эти данные на ПК параллельно, поскольку у меня есть данные, поступающие от нескольких датчиков?

Через какие промежутки времени вы будете получать данные от датчиков?
Позвольте мне объяснить вам весь сценарий немного больше. Я создаю автомобильный симулятор, в котором у меня есть различные компоненты автомобиля, такие как руль, тормоз, акселератор, подрулевые переключатели сцепления и некоторые другие компоненты. У меня есть несколько датчиков, прикрепленных к каждому из этих компонентов. Теперь я должен непрерывно передавать данные, поступающие от этих датчиков, на ПК через микроконтроллер.
Какой микроконтроллер 8051 вы используете? У вас есть возможность USB-устройства на нем?
Я использую микроконтроллер AT89C51.
@RehanAbbasi В следующий раз отредактируйте свой вопрос, а не добавляйте дополнительные детали в комментарии. Я изменил ваш вопрос с вашими дополнительными деталями. Вы можете сделать это, как только заработаете несколько очков репутации на сайте (сейчас вы сможете сделать это с 21 очком).
Хорошо. Ответы ниже подводят итог. Кабель FTDI или аналогичная конфигурация — самый простой и лучший подход, учитывая, что у вас нет собственных возможностей USB.

Ответы (1)

Важно знать размер данных, считываемых с каждого датчика, количество датчиков и частоту повторения, необходимые для передачи данных на ПК. Без этих данных будет сложно рекомендовать точное решение.

Тем не менее, может быть разумным предложить вам настроить линии TXD и RXD вашего порта 8051 UART для связи с заголовком 1x6, который может подключаться к одному из этих кабелей :

введите описание изображения здесь

Затем его можно подключить к USB-порту вашего ПК. Используя соответствующий драйвер виртуального порта связи с веб-сайта FTDI, решение может легко передавать данные в последовательном порядке с вашего 8051 в приложение на ПК. Приложение для ПК думает, что просто разговаривает с COM-портом.

Эти кабели с последовательным адаптером могут легко передавать последовательные данные со скоростью до 230,4 Кбод. При использовании стандартного последовательного кадрирования 8N1 эта скорость передачи данных составляет немногим более 23000 байт в секунду для исходной скорости передачи. Если бы у вас было 12 датчиков, каждый с двумя байтами данных, и вы хотели бы обновлять данные на ПК 100 раз в секунду, это равнялось бы скорости передачи данных приложения 12*2*100 = 2400 байтов в секунду. Как вы можете видеть, на канале виртуального порта связи будет достаточно оставшейся пропускной способности, чтобы обернуть протокол вокруг данных вашего приложения и отправить его на ПК.

Данные от каждого датчика не превышают более одного байта. А всего у меня 8 датчиков. что составляет в общей сложности 8 байтов данных, и данные должны передаваться не менее 100 раз в одну секунду.
Не могли бы вы предложить мне подробное исследование для этой цели.
+1. Использование UART — это самый простой способ получить данные практически из любого микроконтроллера, особенно данные, которые уже представлены в байтовом формате. USB-to-UART также делает вещи проще, чем UART-to-RS232 в наши дни.