Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: USART с Mega8 распознаётся не всеми Com портами(
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
SergM8
Создал своё устройство результаттом его работы является подача в СОМ порт 4-рёх разных символов, в зависимости от режима, переодичность символов 0,2 сек. Проблема в том что протокол не читается встроеным ком портом материнской платы! проверял на 3-х совсеренных материнкаж, при этом всё отлично работает на PCI-ом СОМ порте, на внешнем компорте который который подключается через USB, так же нормально работает с встроеным КОМ портом на двух ноутбуках! Сигнал на КОМ порт идёт идеальный прямоугольный, режим работы асинхронный т.е. используется один провод, скорость 4800 бод, пробывал и с проверкой чётности и без неё результаты не меняются, где работало там работает а где не работало там и не работат. На встроеных ком портах показывается одна 7-как (как и должно быть) а на встроеных показываются разные символы в перемешку с семёркой например "шф7а7а7а7а|7"и т.д. одним словом мусор, причём декодируются не все симаолы много пропущеных! прилагаю в схеме схема адаптера, сигнал смотрел во всех сучаях - идеальные прямоугольные импульсы.
rezident
1. Приведите полную схему с указанием типа оптопары.
2. Как именно (какой программой) проверяли связь?
P.S. а для чего нужно было изобретать этот "велосипед"?
SasaVitebsk
Цитата(rezident @ Dec 11 2007, 02:01) *
P.S. а для чего нужно было изобретать этот "велосипед"?


Никак не выходит из головы давняя статья по поводу подключения микросхемы ВГ93.
Человек описывает своё включение - никак у него не получается. И вот такая завершающая фраза в душу запала:"...самое интересное, что если подключить по схеме рекомендованной разработчиками микросхемы, то всё работает"

И я вот думаю, - действительно интересно....
SergM8
Цитата(rezident @ Dec 11 2007, 00:01) *
1. Приведите полную схему с указанием типа оптопары.
2. Как именно (какой программой) проверяли связь?
P.S. а для чего нужно было изобретать этот "велосипед"?


1- это полная схема) оптопара СNY 74-2 (обычная) щас дорисую её.
2- програмы у меня для кома разработчика програмного обечпечения в инете их думаю нет. но пробывал и другим камито тож самое... а вообще то я нуждаюсь в нормальной проге которая б показала что творится на ком порте, а ещё лучше что б она график входного сигнала показывала!)
велосипед для соединения прибора с компьтером на растояние в 1 км!)))Нажмите для просмотра прикрепленного файла
dvm11111111
Скорей всего дело в уровнях сигнала COM портов, как показывает практика, взависимости от типа порта напряжение может быть от 5В до 15В (двуполярка разумеется), как правило на материнках (встроенные) идет 12В, а на ноутах и USB-COM максимум 9В. Скорей всего проблема гдето здесь, в уровнях сигнала компаратора порта.
SergM8
Цитата(dvm11111111 @ Dec 11 2007, 01:34) *
Скорей всего дело в уровнях сигнала COM портов, как показывает практика, взависимости от типа порта напряжение может быть от 5В до 15В (двуполярка разумеется), как правило на материнках (встроенные) идет 12В, а на ноутах и USB-COM максимум 9В. Скорей всего проблема гдето здесь, в уровнях сигнала компаратора порта.

на материнках что стоят на серверах фирмы всё работает, они там дорогие, а вот на обычных не хочет( на выходе уровни у меня опираются на питание ком порта так что тут врятли в уровнях дело... но я специально делал внешний источник +/-10В что б точно убедится что не в этом дело, и ничего не изменилось(

Цитата(SasaVitebsk @ Dec 11 2007, 00:09) *
Никак не выходит из головы давняя статья по поводу подключения микросхемы ВГ93.
Человек описывает своё включение - никак у него не получается. И вот такая завершающая фраза в душу запала:"...самое интересное, что если подключить по схеме рекомендованной разработчиками микросхемы, то всё работает"

И я вот думаю, - действительно интересно....

А как думаешь правильно? через МАХ232? но там нет гальванической развязки... А вообще не может быть что б новые КОМ порты на материнках не поддерживали USART? мож они только для модема стоят там? или может только UART распознают... что скажете?
Qwertty
Цитата(SergM8 @ Dec 11 2007, 02:46) *
А как думаешь правильно? через МАХ232? но там нет гальванической развязки... А вообще не может быть что б новые КОМ порты на материнках не поддерживали USART? мож они только для модема стоят там? или может только UART распознают... что скажете?

Правильно - это что-то типа max1480. А RS232 это как раз UART - асинхронный протокол.
SergM8
Цитата(Qwertty @ Dec 11 2007, 02:02) *
Правильно - это что-то типа max1480. А RS232 это как раз UART - асинхронный протокол.

сори! действительно UART это асинхронный протокол а USART это синхроно/асинхронный... | не в обиду сказано но мах 1480 стоит 20$ да и протоколы не те вроде RS482 / RS422 biggrin.gif (мах 232 - 1 $) но как кажется проблема даже не в этом всё нормальное оборудование распознаёт протокол и только встроениые ком корты буксуют... завтра попробую подать амплитуду +/-12В посмотрю что выйдет... прям мистика какая то(
defunct
Цитата
пробывал и с проверкой чётности

когда перестанете "пробЫвать", а начнете пробовать, то должно получиться.

Пробуйте через MAX232. Если заработает на всех встроенных портах, тогда точно будете знать, что проблема в уровнях, а не в частоте m8.

PS: уровни COM портов - +15..+3 (лог 0), -15...-3 (лог 1).

Цитата
UART это асинхронный протокол

UART это не протокол, это интерфейс.
rezident
Для передачи цифровых сигналов на большие расстояния принято применять дифференциальные интерфейсы, типа RS422 или RS485. Совет с MAX1480 вовсе неплохой. Это проверенная временем и многими применениями м/с. Да, она дорогая, но работает так как указано в описании.
Вы же с помощью оптрона пытаетесь реализовать интерфейс "токовая петля". Тоже неплохой по помехоустойчивости интерфейс, только с ним есть несколько нюансов.
1. Оптрон в вашем случае должен быть установлен непосредственно возле разъема COM-порта. В длинную линию нужно передавать сигнал тока, а не напряжения. Но при этом вы готовы к тому, что все наводки длинной линии примет на себя порт вашей Меги или чего там в у вас? И как вы предполагаете в этом случае будет обстоять дело с ее помехоустойчивостью, а? wink.gif
2. Запитать выходную часть оптрона лучше все-таки от дополнительного изолированного источника. Если же запитываете непосредственно от COM-порта, то посмотрите хотя бы как это делали другие. http://www.caxapa.ru/sch/rs232.html
3. При передаче через "токовую петлю" требуется учитывать сопротивление линии связи. На 1 км сопротивление проводов может быть существенным и потребуется коррекция тока (придется подобрать резистор к излучающему диоду оптрона).

Короче я не совсем понимаю ваши изыски. Есть готовые и широкораспространенные решения для промышленных интерфейсов, зачем изобретать именно свой велосипед?
Цитата(Qwertty)
А RS232 это как раз UART - асинхронный протокол.
Цитата(defunct)
UART это не протокол, это интерфейс.
UART это не протокол и не интерфейс, это устройство или периферийный модуль микроконтроллера - Universal Asynchronous Receiver / Transmitter. А вот RS232 это да, стандартный интерфейс.
defunct
Цитата(rezident @ Dec 11 2007, 19:02) *
UART это не протокол и не интерфейс, это устройство или периферийный модуль микроконтроллера - Universal Asynchronous Receiver / Transmitter. А вот RS232 это да, стандартный интерфейс.

Связать два разных устройства (напр МК разных семейств) по сигналам UART (0 - +3..+5) без доп. драйверов и преобразователей уровней ничто не мешает, следовательно это интерфейс, хоть и не относится к стандартным. Шина памяти у мег 64/ 128 и иже с ними тоже интерфейс (параллельный), а не некое устройство "модуль" мк.
rezident
Интерфейс это стык/устройство сопряжения/способ подключения чего-то к чему-то. UART это устройство, имеющее параллельный интерфейс внутри МК и последовательный интерфейс снаружи МК.
vvs157
Цитата(SergM8 @ Dec 11 2007, 03:14) *
сори! действительно UART это асинхронный протокол а USART это синхроно/асинхронный... | не в обиду сказано но мах 1480 стоит 20$ да и протоколы не те вроде RS482 / RS422 biggrin.gif (мах 232 - 1 $) но как кажется проблема даже не в этом всё нормальное оборудование распознаёт протокол и только встроениые ком корты буксуют... завтра попробую подать амплитуду +/-12В посмотрю что выйдет... прям мистика какая то(
1)Берете любой осциллограф
2)от ваше меги в бесконечном цикле пускаете цифру "5" (HEX код 035H)
3) смотрите длительность самого короткого импульса в пакете на входе компа. Должна быть в вашем случае 1/4800 секунды. Заодно полезно посмотреть на уровни и фронты.
dvm11111111
Цитата
А как думаешь правильно? через МАХ232? но там нет гальванической развязки... А вообще не может быть что б новые КОМ порты на материнках не поддерживали USART? мож они только для модема стоят там? или может только UART распознают... что скажете?

Вообщето в некоторых MAXах есть галваническая развязка до 15КВ. Но они дороже обычных.

Да кстати посмотри напругу в точке соединения диода и резюка на светодиод, мож порты не тянут, просадка идет (как вариант вукинуть светодиод, поставить кондер электролит, параллельно резистор+светодиод).
GDI
15кВ в мах232 - это не гальваноразвязка, а защита от статического электричества.
dvm11111111
Цитата(GDI @ Dec 12 2007, 10:16) *
15кВ в мах232 - это не гальваноразвязка, а защита от статического электричества.

Да малость погоричился, эт RS485,422 у них с гальваноразвязкой.
GDI
И у RS485, 422 это тоже от статики... развязанных очень мало... Когда я этим занимался были только уже упоминавшиеся MAX1480, и ADM2483(6), последний требует внешний изолированный DC-DC, но даже так он дешевле МАХ1480 и места на плате меньше занимает, а еще на его паттерн прекрасно встает обычный 8и ногий драйвер 485 без изоляции, это если нужна возможность выпускать прибор с неизолированным интерфейсом 485.

И у RS485, 422 это тоже от статики... развязанных очень мало... Когда я этим занимался были только уже упоминавшиеся MAX1480, и ADM2483(6), последний требует внешний изолированный DC-DC, но даже так он дешевле МАХ1480 и места на плате меньше занимает, а еще на его паттерн прекрасно встает обычный 8и ногий драйвер 485 без изоляции, это если нужна возможность выпускать прибор с неизолированным интерфейсом 485.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.