USART по одному проводу

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Родился
Аватара пользователя
Сообщения: 17
Зарегистрирован: Чт янв 08, 2009 17:05:35
Откуда: Таганрог

Сообщение orin »

Добрый день, Уважаемые коллеги-форумчане.
Столкнулся с одной проблемой - микроконтроллер должен обмениваться с внешним устройством по одной линии данных. Протокол обмена совместим с USART. Только линия - одна. Софтовая реализация протокола обмена данными работает, но на больших скоростях накапливаются ошибки временных задержек и работать становится сложно - ни на что другое не хватает времени. Возникает резонная мысль - а не совместить ли USART на одну линию через какой-либо блок переключателей и отдать на управление аппаратуре протокол обмена данными, а самому пользоваться прерываниями и снимать с регистров готовые данные. Схему подобную когда-то видел, но теперь найти не могу -(
Подскажите пожалуйста ссылочкой или советом, как это сделать.
Заранее благодарен, с Уважением, Дмитрий.
Мяк!!!
Контактная информация:
Реклама
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18711
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

а в чем проблема? линии RX-TX соедините и пользуйтесь аппаратным USART. просто при собственной передаче будете еще раз принимать свои же данные, вот и все. ну и конечно, надо как-то синхронизировать ведущего-ведомого, чтобы сразу оба на передачу не стали работать...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Родился
Аватара пользователя
Сообщения: 17
Зарегистрирован: Чт янв 08, 2009 17:05:35
Откуда: Таганрог

Сообщение orin »

Спасибо за ответ.
Прием своих же данных...в принципе это не так страшно -)
Просто надо фильтровать протокол приема/передачи.
То есть не надо дополнительно на ключах делать "регулятор"?
Мяк!!!
Контактная информация:
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18711
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

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

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 5781
Зарегистрирован: Ср ноя 11, 2009 17:19:30
Откуда: Воронеж

Сообщение >TEHb< »

А Tx разве переходит в z состояние по окончании передачи? Не порвутся ли передатчики, стремясь каждый удержать свой уровень? Я бы поставил на выход транзисторный ключ ("открытый коллектор"), а линию подтянул бы резистором. Должно получится нечто похожее на 1-wire интерфейс. Я это говорю не просто так, а потомучто мне так кажется. На самом теле где-то тоже встречал схемку, но она скорее показывала принцип - вместо конкретных транзисторов квадратики логических элементов.
Усложнять просто. Упрощать сложно.
Контактная информация:
Реклама
Родился
Аватара пользователя
Сообщения: 17
Зарегистрирован: Чт янв 08, 2009 17:05:35
Откуда: Таганрог

Сообщение orin »

Уважаемый >TEHb<, мы видимо говорим об одной и той же схеме. я, конечно, тестировал УСАРТ, подключая его "по кольцу", но тут два разных устройства...никто схемкой не поделится? я, как это сказать, чайник в общем -)
Мяк!!!
Контактная информация:
Реклама
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18711
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

>TEHb< писал(а):А Tx разве переходит в z состояние по окончании передачи? Не порвутся ли передатчики, стремясь каждый удержать свой уровень?
см. выше - я советовал ОТКЛЮЧАТЬ передатчик после своей передачи. при отключенном передатчике пин становится портом ввода-вывода, а его можно настроить и на Z-состояние. если это делать не охота - простейшая диодно-резисторная развязка поможет.

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

Мой уютный бложик... заходите!
Контактная информация:
Родился
Аватара пользователя
Сообщения: 17
Зарегистрирован: Чт янв 08, 2009 17:05:35
Откуда: Таганрог

Сообщение orin »

Всем спасибо за участие! Второе устройство - не компьютер. И там только одна ножка для ввода/вывода - так что в третье состояние она не уходит. Либо ожидание приема, либо передача данных.
Мяк!!!
Контактная информация:
Грызет канифоль
Сообщения: 296
Зарегистрирован: Ср дек 30, 2009 09:55:39

Сообщение kolobok0 »

orin писал(а):...подключая его "по кольцу", но тут два разных устройства...никто схемкой не поделится?...
не знаю как по кольцу, а вот звездой энное кол-во можно.
всё очень просто. берём элементы ИЛИ-НЕ. кол-во их = кол-ву линий. А кол-во входов = кол-ву линий минус одын. на входах-выходах паука преобразователи уровней (если требуется RS232 юзать. если юарт - то можно и без этого), далее каждый сигнал TX соеденяем с каждым элементом ИЛИ-НЕ кроме своего. Выхода с ИЛИ-НЕ подключаем к RX.

получется, что все слышат кроме своего.
осталось на программном уровне разрулить одновременную передачу и сеть готова.

Автор схемы Кирилюк Александр. год 1990 где то. девайс превосходно соеденял энное кол-во компов для перекачки через пи.ерНортон.

удачи вам
(круглый)
Родился
Аватара пользователя
Сообщения: 17
Зарегистрирован: Чт янв 08, 2009 17:05:35
Откуда: Таганрог

Сообщение orin »

Кстати отличная идея kolobok0, спасибо. Думаю скорости работы этой логики хватит, чтобы обеспечить четкое переключение при передачи 128кбс-512 кбс.

Вот подумал - получилось решение на логике.
1. шесть логических элементов НЕ - К155ЛН1, КМ155ЛН1 (SN7404N, SN7404J).
2. четыре логических элемента 2И - К155ЛИ1, КМ155ЛИ1 (SN7408N, SN7408J).
Задержки перевключения: до 22 нс.
Схема прилагается.
Через инвертор получается переключение направления передачи (Direction). Элементы И будут блокирующими.
Приемник и передатчик в не активном режиме можно и не отключать наверное, так как при блокировке ключами там будет либо сплошной 0 (то есть отсутствие фазы страт-бита) либо вообще отсутствие выхода сигнала на TX.
Оцените?
Вложения
schema1.JPG
(10.08 КБ) 885 скачиваний
Мяк!!!
Контактная информация:
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18711
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

из пушки по воробьям!

берете кремниевый диод катодом на вывод TX, анодом к линии связи. линию связи подаете на RX и резистором подтягиваете к питанию. вот и все - и никаких других компонентов. говорил же: диодная развязка....
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Грызет канифоль
Сообщения: 296
Зарегистрирован: Ср дек 30, 2009 09:55:39

Сообщение kolobok0 »

orin писал(а):...Схема прилагается....
добрался до компа с софтом :)
немного пришлось сжать картинку.
схема для четырёх каналов. с лева выхода (TX от uart-ов) с права их входа


ну это для пущей ясности :)

(круглый)
Вложения
Копия sxema1.JPG
(9 КБ) 1183 скачивания
Родился
Аватара пользователя
Сообщения: 17
Зарегистрирован: Чт янв 08, 2009 17:05:35
Откуда: Таганрог

Сообщение orin »

Это уже сетка получается -)
Я сетку между МК делал когда-то на SPI по кольцу...
Мяк!!!
Контактная информация:
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»