CHERI

Потеря байтов при передаче по USART

4 сообщения в этой теме

CHERI    1

Доброго времени суток.В устройстве к микроконтроллеру ATMega32L подключено 4 устройства с интерфейсом USART, а именно: СР2102, НС06 и 2 вспомогательных устройства, какие именно вспомогательные устройства не важно так как даже без них наблюдаются проблемы.Контроллер является мастером.Подключено все по схеме на рисунке ниже.При передаче данных, а именно примерно более 5-6 байт начинаются проблемы: байт приходит битый(в виде заменяющего символа),байт не приходит вовсе; следственно микроконтроллер не отвечает на запросы. Если всю команду разбить на пачки по 4 байта то все байты доходят до микроконтроллера и микроконтроллер отвечает. Конечно это дело можно было бы обойти программно но не хочется оставлять такой костыль.
Схема:
8b3941a64118.gif
TX_main/RX_main  -  ATMega32L
R1,R2 - 100k 
T1,T2 - 2N7002
D1,D2 - BAT54A 
Напряжение питания 3.3В. Микроконтроллер работает от кварца на частоте 4 Мгц.BAUD 9600.Пакет 10 бит:1 стартовый, 8 бит данных, 1 стоповый.
Симуляция в протеусе работает без каких либо ошибок.
Как решить данную проблему? Заранее благодарен. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
Lexter    131
11 час назад, CHERI сказал:

Как решить данную проблему?

Посмотреть осциллографом сигнал на шине. В 90% случаев сразу становится понятно. С вашими диодами последовательно в сигнальной линии, непонятно каким кабелем и непонятно какой нагрузкой на другом конце, скорее всего там и причина.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
CHERI    1
17 часов назад, Lexter сказал:

Посмотреть осциллографом сигнал на шине. В 90% случаев сразу становится понятно. С вашими диодами последовательно в сигнальной линии, непонятно каким кабелем и непонятно какой нагрузкой на другом конце, скорее всего там и причина.

Сигнал смотрелся осциллографом, сигнал почти идеальный, ровные прямоугольники без завалов и прочего.Кабеля нет есть только дорожки на плате. 

Проблема была решена.Добавил подтяжку к земле через 100к и баг ушел. 

Тему можно закрывать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Lexter    131

Ну вот и ещё один случай к 90%, что дело в "грязном" сигнале. При подключении осциллографа сигнал становился "идеальным" из-за наличия резистора на "землю" в щупе. Добавление резисторов решило проблему.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас