|
USART с Mega8 распознаётся не всеми Com портами(, прототокол USART с Mega8 распознаётся не всеми Com портами( ПАМАГИТЕ |
|
|
|
Dec 10 2007, 20:31
|
Группа: Новичок
Сообщений: 4
Регистрация: 10-12-07
Пользователь №: 33 167

|
Создал своё устройство результаттом его работы является подача в СОМ порт 4-рёх разных символов, в зависимости от режима, переодичность символов 0,2 сек. Проблема в том что протокол не читается встроеным ком портом материнской платы! проверял на 3-х совсеренных материнкаж, при этом всё отлично работает на PCI-ом СОМ порте, на внешнем компорте который который подключается через USB, так же нормально работает с встроеным КОМ портом на двух ноутбуках! Сигнал на КОМ порт идёт идеальный прямоугольный, режим работы асинхронный т.е. используется один провод, скорость 4800 бод, пробывал и с проверкой чётности и без неё результаты не меняются, где работало там работает а где не работало там и не работат. На встроеных ком портах показывается одна 7-как (как и должно быть) а на встроеных показываются разные символы в перемешку с семёркой например "шф7а7а7а7а|7"и т.д. одним словом мусор, причём декодируются не все симаолы много пропущеных! прилагаю в схеме схема адаптера, сигнал смотрел во всех сучаях - идеальные прямоугольные импульсы.
Эскизы прикрепленных изображений
|
|
|
|
|
Dec 10 2007, 23:25
|
Группа: Новичок
Сообщений: 4
Регистрация: 10-12-07
Пользователь №: 33 167

|
Цитата(rezident @ Dec 11 2007, 00:01)  1. Приведите полную схему с указанием типа оптопары. 2. Как именно (какой программой) проверяли связь? P.S. а для чего нужно было изобретать этот "велосипед"? 1- это полная схема) оптопара СNY 74-2 (обычная) щас дорисую её. 2- програмы у меня для кома разработчика програмного обечпечения в инете их думаю нет. но пробывал и другим камито тож самое... а вообще то я нуждаюсь в нормальной проге которая б показала что творится на ком порте, а ещё лучше что б она график входного сигнала показывала!) велосипед для соединения прибора с компьтером на растояние в 1 км!)))
Сообщение отредактировал SergM8 - Dec 10 2007, 23:34
|
|
|
|
|
Dec 10 2007, 23:34
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 25-01-06
Пользователь №: 13 567

|
Скорей всего дело в уровнях сигнала COM портов, как показывает практика, взависимости от типа порта напряжение может быть от 5В до 15В (двуполярка разумеется), как правило на материнках (встроенные) идет 12В, а на ноутах и USB-COM максимум 9В. Скорей всего проблема гдето здесь, в уровнях сигнала компаратора порта.
|
|
|
|
|
Dec 10 2007, 23:46
|
Группа: Новичок
Сообщений: 4
Регистрация: 10-12-07
Пользователь №: 33 167

|
Цитата(dvm11111111 @ Dec 11 2007, 01:34)  Скорей всего дело в уровнях сигнала COM портов, как показывает практика, взависимости от типа порта напряжение может быть от 5В до 15В (двуполярка разумеется), как правило на материнках (встроенные) идет 12В, а на ноутах и USB-COM максимум 9В. Скорей всего проблема гдето здесь, в уровнях сигнала компаратора порта. на материнках что стоят на серверах фирмы всё работает, они там дорогие, а вот на обычных не хочет( на выходе уровни у меня опираются на питание ком порта так что тут врятли в уровнях дело... но я специально делал внешний источник +/-10В что б точно убедится что не в этом дело, и ничего не изменилось( Цитата(SasaVitebsk @ Dec 11 2007, 00:09)  Никак не выходит из головы давняя статья по поводу подключения микросхемы ВГ93. Человек описывает своё включение - никак у него не получается. И вот такая завершающая фраза в душу запала:"...самое интересное, что если подключить по схеме рекомендованной разработчиками микросхемы, то всё работает"
И я вот думаю, - действительно интересно.... А как думаешь правильно? через МАХ232? но там нет гальванической развязки... А вообще не может быть что б новые КОМ порты на материнках не поддерживали USART? мож они только для модема стоят там? или может только UART распознают... что скажете?
|
|
|
|
|
Dec 11 2007, 00:02
|
Местный
  
Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527

|
Цитата(SergM8 @ Dec 11 2007, 02:46)  А как думаешь правильно? через МАХ232? но там нет гальванической развязки... А вообще не может быть что б новые КОМ порты на материнках не поддерживали USART? мож они только для модема стоят там? или может только UART распознают... что скажете? Правильно - это что-то типа max1480. А RS232 это как раз UART - асинхронный протокол.
|
|
|
|
|
Dec 11 2007, 00:14
|
Группа: Новичок
Сообщений: 4
Регистрация: 10-12-07
Пользователь №: 33 167

|
Цитата(Qwertty @ Dec 11 2007, 02:02)  Правильно - это что-то типа max1480. А RS232 это как раз UART - асинхронный протокол. сори! действительно UART это асинхронный протокол а USART это синхроно/асинхронный... | не в обиду сказано но мах 1480 стоит 20$ да и протоколы не те вроде RS482 / RS422  (мах 232 - 1 $) но как кажется проблема даже не в этом всё нормальное оборудование распознаёт протокол и только встроениые ком корты буксуют... завтра попробую подать амплитуду +/-12В посмотрю что выйдет... прям мистика какая то(
Сообщение отредактировал SergM8 - Dec 11 2007, 00:35
|
|
|
|
|
Dec 11 2007, 14:57
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата пробывал и с проверкой чётности когда перестанете "пробЫвать", а начнете пробовать, то должно получиться. Пробуйте через MAX232. Если заработает на всех встроенных портах, тогда точно будете знать, что проблема в уровнях, а не в частоте m8. PS: уровни COM портов - +15..+3 (лог 0), -15...-3 (лог 1). Цитата UART это асинхронный протокол UART это не протокол, это интерфейс.
|
|
|
|
|
Dec 11 2007, 16:02
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Для передачи цифровых сигналов на большие расстояния принято применять дифференциальные интерфейсы, типа RS422 или RS485. Совет с MAX1480 вовсе неплохой. Это проверенная временем и многими применениями м/с. Да, она дорогая, но работает так как указано в описании. Вы же с помощью оптрона пытаетесь реализовать интерфейс "токовая петля". Тоже неплохой по помехоустойчивости интерфейс, только с ним есть несколько нюансов. 1. Оптрон в вашем случае должен быть установлен непосредственно возле разъема COM-порта. В длинную линию нужно передавать сигнал тока, а не напряжения. Но при этом вы готовы к тому, что все наводки длинной линии примет на себя порт вашей Меги или чего там в у вас? И как вы предполагаете в этом случае будет обстоять дело с ее помехоустойчивостью, а?  2. Запитать выходную часть оптрона лучше все-таки от дополнительного изолированного источника. Если же запитываете непосредственно от COM-порта, то посмотрите хотя бы как это делали другие. http://www.caxapa.ru/sch/rs232.html3. При передаче через "токовую петлю" требуется учитывать сопротивление линии связи. На 1 км сопротивление проводов может быть существенным и потребуется коррекция тока (придется подобрать резистор к излучающему диоду оптрона). Короче я не совсем понимаю ваши изыски. Есть готовые и широкораспространенные решения для промышленных интерфейсов, зачем изобретать именно свой велосипед? Цитата(Qwertty) А RS232 это как раз UART - асинхронный протокол. Цитата(defunct) UART это не протокол, это интерфейс. UART это не протокол и не интерфейс, это устройство или периферийный модуль микроконтроллера - Universal Asynchronous Receiver / Transmitter. А вот RS232 это да, стандартный интерфейс.
|
|
|
|
|
Dec 11 2007, 16:52
|
Профессионал
    
Группа: Свой
Сообщений: 1 526
Регистрация: 8-04-05
Пользователь №: 3 960

|
Цитата(SergM8 @ Dec 11 2007, 03:14)  сори! действительно UART это асинхронный протокол а USART это синхроно/асинхронный... | не в обиду сказано но мах 1480 стоит 20$ да и протоколы не те вроде RS482 / RS422  (мах 232 - 1 $) но как кажется проблема даже не в этом всё нормальное оборудование распознаёт протокол и только встроениые ком корты буксуют... завтра попробую подать амплитуду +/-12В посмотрю что выйдет... прям мистика какая то( 1)Берете любой осциллограф 2)от ваше меги в бесконечном цикле пускаете цифру "5" (HEX код 035H) 3) смотрите длительность самого короткого импульса в пакете на входе компа. Должна быть в вашем случае 1/4800 секунды. Заодно полезно посмотреть на уровни и фронты.
|
|
|
|
|
Dec 11 2007, 23:32
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 25-01-06
Пользователь №: 13 567

|
Цитата А как думаешь правильно? через МАХ232? но там нет гальванической развязки... А вообще не может быть что б новые КОМ порты на материнках не поддерживали USART? мож они только для модема стоят там? или может только UART распознают... что скажете? Вообщето в некоторых MAXах есть галваническая развязка до 15КВ. Но они дороже обычных. Да кстати посмотри напругу в точке соединения диода и резюка на светодиод, мож порты не тянут, просадка идет (как вариант вукинуть светодиод, поставить кондер электролит, параллельно резистор+светодиод).
Сообщение отредактировал dvm11111111 - Dec 11 2007, 23:35
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|