Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

Закрытая тема
Опции темы
Непрочитано 28.11.2007, 15:41   #1
kapiton
Прохожий
 
Регистрация: 21.06.2006
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
kapiton на пути к лучшему
По умолчанию usart в мультимастерном режиме?

Что произойдёт если при передаче байта, на вход "RXD" поступит старт бит (при установленных ‹‹1 разрядах "RXEN" и "TXEN").
Конкретно. Нужно прервать передачу если на вход "RXD" поступит старт бит (определить конфликт).
Контроллер ATMega8515. Свободных ног не осталось, и времяни на опрос "RXD" нет.
Реклама:
kapiton вне форума  
Непрочитано 28.11.2007, 15:51   #2
nokazus
Вид на жительство
 
Регистрация: 05.09.2006
Сообщений: 360
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
nokazus на пути к лучшему
По умолчанию

Не совсем понятен вопрос. Но если нет возможности прервать программно, то м.б. поставить снаружи какой-нибудь триггер с ключем? Пусть МК передает, но в линию это не пойдет.
Удачи.
nokazus вне форума  
Непрочитано 28.11.2007, 15:57   #3
urry
Почётный гражданин KAZUS.RU
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию

А программно разве можно прервать, когда байт уже в регистре и сдвигается ? По-моему, только ножку в 3 состояние и все... Но - по-любоиу это будет с каким - то запозданием..
urry вне форума  
Непрочитано 28.11.2007, 16:11   #4
kapiton
Прохожий
 
Регистрация: 21.06.2006
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
kapiton на пути к лучшему
По умолчанию

а что после возникновения такой ситуации будет в регистре данных
kapiton вне форума  
Непрочитано 28.11.2007, 16:47   #5
nokazus
Вид на жительство
 
Регистрация: 05.09.2006
Сообщений: 360
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
nokazus на пути к лучшему
По умолчанию

Сообщение от kapiton
а что после возникновения такой ситуации будет в регистре данных
Это зависит от схемы включения, Вашей программы. Какой вообще регистр данных Вы имеете ввиду? Приемника USART? Какой такой ситуации ? Если на вход RxD пришел старт-бит (импульс распознался как старт-бит), то далее - процесс приема запущен. Что прийдет - то и будет в регистре, если Вы в это время не выключите USART, или не измените его частоту его тактирования. Регистр же данных передатчика не доступен по чтению. Если Вы в него что-то записали и USART включен, то птичка (байт) улетела.
Удачи.
ЗЫ У Вас что, RxD объединен с TxD (через диод или как там)? Не понятно какой конфликт Вы имеете ввиду. Ведь USART может одновременно и передавать и принимать данные, т.е. работает в дуплексном режиме.
nokazus вне форума  
Непрочитано 28.11.2007, 22:02   #6
kapiton
Прохожий
 
Регистрация: 21.06.2006
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
kapiton на пути к лучшему
По умолчанию

[Ведь USART может одновременно и передавать и принимать данные]
Упустил...[/quote]
kapiton вне форума  
Непрочитано 28.11.2007, 22:37   #7
jelsay
Прописка
 
Регистрация: 24.06.2005
Сообщений: 123
Сказал спасибо: 7
Сказали Спасибо 37 раз(а) в 15 сообщении(ях)
jelsay на пути к лучшему
По умолчанию

ИМХО, задача решается выбором правильного протокола,
пакет с заголовком и CrC, арбитраж по таймам.. и т.п.
- несомненно медленно - но зато дешево..

хотя..как то лет -надцать назад разработал целиком аппаратную однопроводную систему арбитража с динамическим приоритетом - для многопроцессорной системы.. арбитраж происходил менее чем за один такт шины..
но веяния сменились - поэтому идею так и не проверил ..
jelsay вне форума  
Непрочитано 29.11.2007, 10:21   #8
mikeras
Частый гость
 
Регистрация: 12.12.2005
Сообщений: 13
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
mikeras на пути к лучшему
По умолчанию

Поправьте, если ошибаюсь. В мультипроцессорной системе ( как минимум 3 проц) все RxD и TxD всех процессоров соеденены. Уточню, соединение не на физическом, а на канальном уровне. 1-й проц слышат 2-й и 3-й, 2-й проц слышат 1-й и 2-й, 3-й проц слышат 1-й и 2-й. Получается что каждый проц будет слышать сам себя. Проц начинает передавать и тут же получает свои же данные. Если другой проц начнет передавать в с середины байта первого, то получим коллизию. На мой взгляд обнаружить ее, можно только контролируя четность/нечетность или по плохому стоп-биту.
mikeras вне форума  
Непрочитано 29.11.2007, 12:27   #9
rear
Вид на жительство
 
Аватар для rear
 
Регистрация: 30.12.2006
Адрес: Junktown
Сообщений: 300
Сказал спасибо: 164
Сказали Спасибо 171 раз(а) в 59 сообщении(ях)
rear на пути к лучшему
По умолчанию

Не совсем уверен, но кажется, что USART поддерживает Multi-processor а не Multi-master режим работы т.е. в системе есть один ведущий, все остальные - ведомые
rear вне форума  
Непрочитано 29.11.2007, 12:35   #10
nokazus
Вид на жительство
 
Регистрация: 05.09.2006
Сообщений: 360
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
nokazus на пути к лучшему
По умолчанию

Сообщение от mikeras
1-й проц слышат 2-й и 3-й, 2-й проц слышат 1-й и 2-й, 3-й проц слышат 1-й и 2-й. Получается что каждый проц будет слышать сам себя.
Так все-таки 1-й проц слышат 2-й и 3-й и 1-й? Сначала нужно разобраться с физической реализацией канала. Затем с арбитражем. Либо у Вас одноранговая система, когда все устройства имеют одинаковые права, либо есть ведущий контроллер, распределяющий ресурсы сети. Возможно временное разделение канала с привязкой по жесткой сетке. Все зависит от решаемой задачи. Затем сам протокол обмена. Если в сети возможны коллизии, то естественно он должен быть с контролем достоверности информации. Решать это простейшими способами типа паритета и контроля стоп-бита недостаточно. Необходимо хотя бы контролировать контрольные суммы пакета.
Удачи.
nokazus вне форума  
Закрытая тема

Закладки


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MOSFET в линейном режиме Crait Аудиотехника 17 12.04.2012 07:54
МОП ключ в режиме КЗ faru Электроника - это просто 47 10.02.2012 22:20
Аккумуляторы в буферном режиме krian Источники питания и свет 28 22.09.2011 01:45
PIC18F4550 в CDC режиме Binary_Man Микроконтроллеры, АЦП, память и т.д 17 14.03.2009 17:38
Полевик в режиме ключа maxNTF Электроника - это просто 10 21.12.2008 12:29


Часовой пояс GMT +4, время: 11:44.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot