реклама на сайте
подробности

 
 
> 3 ATMega8 к 1 COM-порту ПК
li4
сообщение Jan 5 2007, 20:45
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 11-06-06
Пользователь №: 17 980



Подскажите пожалуйста как решить такую задачу. Есть 3 ATMega8 каждый из которых используется как 3-х канальный АЦП. Мне нужно их все подключить к одному COM-порту компьютера, причем нужно чтобы передача данных происходила без потерь. Ведь пока 1 контроллер передает данные в ПК, остальные тоже работают, а данные передавать не могут, потому что линия занята.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Dopler
сообщение Jan 5 2007, 21:35
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 437
Регистрация: 23-04-05
Из: Таганрог
Пользователь №: 4 425



Цитата(li4 @ Jan 5 2007, 20:45) *
Подскажите пожалуйста как решить такую задачу. Есть 3 ATMega8 каждый из которых используется как 3-х канальный АЦП. Мне нужно их все подключить к одному COM-порту компьютера, причем нужно чтобы передача данных происходила без потерь. Ведь пока 1 контроллер передает данные в ПК, остальные тоже работают, а данные передавать не могут, потому что линия занята.


Это реализуется довольно просто, все зависит от объемов данных.
Вот самый примитивный вариант:

1. В каждой меге буффер данных, например, 1024 байт
2. Каждая мега знает свой адрес (номер) на шине, например, 1, 2, 3.
3. Инициатором обмена всегда выступает ПК.
4. ПК шлет адрес меги, а та в свою очередь выдает данные и переводит линии в третье состояние.
5. Так опрашиваются все меги по очереди.

Главное убедится, что время заполнения буффера в три и более раз меньше, чем время передачи данных в ПК. Так же, по адресной посылке меги можно синхронизировать (если это надо).

Можно почитать пункт Multi-processor Communication Mode в разделе описания UART в даташите, там Atmel дает некоторые рекомендации.
Go to the top of the page
 
+Quote Post
defunct
сообщение Jan 5 2007, 21:54
Сообщение #3


кекс
******

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



Цитата(Dopler @ Jan 5 2007, 21:35) *
...

Идея правильная

Только вот здесь небольшая проблемка:
Цитата
4. ПК шлет адрес меги, а та в свою очередь выдает данные и переводит линии в третье состояние.

Толку переводить линии в третье состояние? Чтобы больше никогда не словить обращение Хоста?..
Тут нужно добавить внешний мультиплексор, завести на его входы Tx от каждого МК, выход мультиплексора подключить к входу RS232 преобразователя. Rx'ы всех МК соединить параллельно и подключить к выходу RS232 преобразователя.
Go to the top of the page
 
+Quote Post
Dopler
сообщение Jan 5 2007, 22:30
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 437
Регистрация: 23-04-05
Из: Таганрог
Пользователь №: 4 425



Цитата(defunct @ Jan 5 2007, 21:54) *
Цитата(Dopler @ Jan 5 2007, 21:35) *

...

Идея правильная

Только вот здесь небольшая проблемка:
Цитата
4. ПК шлет адрес меги, а та в свою очередь выдает данные и переводит линии в третье состояние.

Толку переводить линии в третье состояние? Чтобы больше никогда не словить обращение Хоста?..
Тут нужно добавить внешний мультиплексор, завести на его входы Tx от каждого МК, выход мультиплексора подключить к входу RS232 преобразователя. Rx'ы всех МК соединить параллельно и подключить к выходу RS232 преобразователя.


Да ну, зачем такие сложности.

Линии TX от ПК соединяются в одну и подключаются к линиям RX меги (без мультиплексоров), так как линии RX у меги входные. Линии TX от мег соединяются в одну и подключаются к RX ПК. В неактивном состоянии (в режиме, когда ПК выбрал другую мегу) мега переводит свою линию TX в третье состояние (как только заканчивает передачу данных), а когда получает свой адрес по линии RX (которая всегда активна), берет контроль над своей линией TX. Таким образом, в сети будет активна только одна мега, и их можно подключать до бесконечности.
Стоит помнить, что в UART неактивный уровень - лог. единица, поэтому линия TX мег должна быть подтянута к плюсу.
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Jan 6 2007, 07:05
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(Dopler @ Jan 5 2007, 23:30) *
Да ну, зачем такие сложности.
Линии TX от мег соединяются в одну и подключаются к RX ПК. В неактивном состоянии (в режиме, когда ПК выбрал другую мегу) мега переводит свою линию TX в третье состояние (как только заканчивает передачу данных), а когда получает свой адрес по линии RX (которая всегда активна), берет контроль над своей линией TX. Таким образом, в сети будет активна только одна мега, и их можно подключать до бесконечности.

Действительно, зачем такие сложности? smile.gif
Цена вопроса - три диода и резистор без всяких изысков программирования.
Схема называется "монтажное ИЛИ" и приводится в книжках по цифровой электронике уже 40 лет

Но я не понял одного - разве есть компьютеры с TTL выходом последовательного интерфейса. Автор, Вы в курсе про RS232 уровни и TTL уровни?


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- li4   3 ATMega8 к 1 COM-порту ПК   Jan 5 2007, 20:45
- - Сергей Борщ   Цитата(li4 @ Jan 5 2007, 19:45) Подскажит...   Jan 5 2007, 21:34
|- - vvs157   Цитата(defunct @ Jan 5 2007, 21:54) Толку...   Jan 5 2007, 22:01
|- - defunct   Цитата(Dopler @ Jan 5 2007, 22:30) Линии ...   Jan 5 2007, 22:40
||- - Dopler   ЦитатаЦитатаЛинии TX от мег соединяются в одну и п...   Jan 5 2007, 23:01
||- - defunct   Цитата(Dopler @ Jan 5 2007, 23:01) Посмот...   Jan 5 2007, 23:11
||- - Dopler   Цитата(defunct @ Jan 5 2007, 23:11) Цитат...   Jan 5 2007, 23:18
- - jorikdima   А можно я тут несколько в сторону отойду. У меня п...   Jan 5 2007, 23:41
|- - Сергей Борщ   Цитата(jorikdima @ Jan 5 2007, 22:41) Вне...   Jan 6 2007, 11:20
|- - li4   Цитата(Сергей Борщ @ Jan 6 2007, 11:20) Я...   Jan 6 2007, 12:52
|- - Dopler   Цитата(li4 @ Jan 6 2007, 12:52) Цитата(Се...   Jan 6 2007, 13:34
|- - SasaVitebsk   Цитата(li4 @ Jan 6 2007, 13:52) Цитата(Се...   Jan 6 2007, 14:30
|- - Dog Pawlowa   Цитата(SasaVitebsk @ Jan 6 2007, 15:30) ....   Jan 6 2007, 15:22
|- - Dopler   Цитата(Dog Pawlowa @ Jan 6 2007, 15:22) Ц...   Jan 6 2007, 17:00
|- - Сергей Борщ   Цитата(Dog Pawlowa @ Jan 6 2007, 14:22) Н...   Jan 6 2007, 20:54
|- - SasaVitebsk   Цитата(Dog Pawlowa @ Jan 6 2007, 16:22) Ц...   Jan 6 2007, 22:34
|- - Сергей Борщ   Цитата(SasaVitebsk @ Jan 6 2007, 21:34) В...   Jan 6 2007, 23:28
|- - Dog Pawlowa   Цитата(SasaVitebsk @ Jan 6 2007, 23:34) В...   Jan 7 2007, 16:03
|- - SasaVitebsk   Цитата(Dog Pawlowa @ Jan 7 2007, 17:03) Д...   Jan 7 2007, 19:12
|- - Dog Pawlowa   Цитата(SasaVitebsk @ Jan 7 2007, 20:12) ....   Jan 7 2007, 21:42
|- - prottoss   Цитата(Dog Pawlowa @ Jan 8 2007, 01:42) ....   Jan 7 2007, 22:02
||- - singlskv   Цитата(prottoss @ Jan 7 2007, 22:02) Я ко...   Jan 8 2007, 01:34
|||- - prottoss   Цитата(singlskv @ Jan 8 2007, 05:34) Прош...   Jan 8 2007, 04:52
|||- - singlskv   Цитата(prottoss @ Jan 8 2007, 04:52) Цита...   Jan 8 2007, 13:35
|||- - prottoss   Цитата(singlskv @ Jan 8 2007, 17:35) Есть...   Jan 8 2007, 13:52
||||- - singlskv   Цитата(prottoss @ Jan 8 2007, 13:52) Цита...   Jan 8 2007, 14:40
|||- - prottoss   [quote name='singlskv' date='Jan 8 200...   Jan 8 2007, 14:51
||- - Dog Pawlowa   Цитата(prottoss @ Jan 7 2007, 23:02) Цита...   Jan 8 2007, 10:31
||- - prottoss   Цитата(Dog Pawlowa @ Jan 8 2007, 14:31) З...   Jan 8 2007, 10:48
||- - Dog Pawlowa   Цитата(prottoss @ Jan 8 2007, 11:48) ребя...   Jan 8 2007, 13:00
||- - prottoss   Цитата(Dog Pawlowa @ Jan 8 2007, 17:00) Ц...   Jan 8 2007, 13:13
||- - SasaVitebsk   Цитата(Dog Pawlowa @ Jan 8 2007, 14:00) Ц...   Jan 8 2007, 20:30
||- - prottoss   Цитата(SasaVitebsk @ Jan 9 2007, 00:30) М...   Jan 8 2007, 20:54
||- - singlskv   Цитата(prottoss @ Jan 8 2007, 20:54) ЗЫ: ...   Jan 9 2007, 01:43
||- - prottoss   Цитата(singlskv @ Jan 9 2007, 05:43) Цита...   Jan 9 2007, 03:55
|- - SasaVitebsk   Цитата(Dog Pawlowa @ Jan 7 2007, 22:42) Ц...   Jan 8 2007, 04:05
- - Serj78   Подтверждаю, можно отдельно включать и приемник и...   Jan 5 2007, 23:46
- - li4   Спасибо всем ответившим.ЦитатаЛинии TX от мег соед...   Jan 6 2007, 09:15
- - beer_warrior   ЦитатаА почему нельзя RS232 так объединить? А пото...   Jan 6 2007, 13:25
- - li4   ЦитатаПочему нельзя применить RS485? Я спросил пот...   Jan 6 2007, 23:16
|- - defunct   Цитата(li4 @ Jan 6 2007, 23:16) Цитата По...   Jan 7 2007, 00:35
- - li4   Значит выбираю RS485 . Достаточно каждый контролле...   Jan 7 2007, 01:17
|- - SasaVitebsk   Цитата(li4 @ Jan 7 2007, 02:17) Значит вы...   Jan 7 2007, 02:37
- - li4   С USB это интересно и перспективно, но сначала хоч...   Jan 7 2007, 12:20
|- - defunct   Цитата(li4 @ Jan 7 2007, 12:20) С USB это...   Jan 7 2007, 12:55
|- - Сергей Борщ   Цитата(li4 @ Jan 7 2007, 11:20) Выводы TX...   Jan 7 2007, 13:48
- - prottoss   Цитата(li4 @ Jan 6 2007, 00:45) Подскажит...   Jan 7 2007, 14:31
- - li4   ЦитатаПочитайте даташит, сравните уровни напряжени...   Jan 7 2007, 17:14
|- - prottoss   Цитата(li4 @ Jan 7 2007, 21:14) Значит на...   Jan 7 2007, 17:26
|- - Сергей Борщ   Цитата(li4 @ Jan 7 2007, 16:14) Из описан...   Jan 8 2007, 01:51
- - Stanislav   Граждане, а можно и мне свой пятачок вставить? Ч...   Jan 8 2007, 02:08
|- - Сергей Борщ   Цитата(Stanislav @ Jan 8 2007, 01:08) Име...   Jan 8 2007, 03:02
- - li4   Подумал и решил что избавиться от программного кон...   Jan 8 2007, 15:27
|- - Сергей Борщ   Цитата(li4 @ Jan 8 2007, 14:27) прошу пос...   Jan 8 2007, 15:56
- - li4   Все исправил, схемы приняли вид: RS232 to RS485: ...   Jan 8 2007, 18:56
|- - Сергей Борщ   Цитата(li4 @ Jan 8 2007, 17:56) Все испра...   Jan 8 2007, 21:20
|- - prottoss   Цитата(Сергей Борщ @ Jan 9 2007, 01:20) В...   Jan 8 2007, 21:29
|- - WHALE   Цитата(prottoss @ Jan 8 2007, 21:29) Цита...   Jan 8 2007, 21:59
|- - SasaVitebsk   Цитата(WHALE @ Jan 8 2007, 22:59) Цитата(...   Jan 9 2007, 01:13
- - otrog   Дабы не заморачиваться с микросекундными задержкам...   Jan 9 2007, 13:46
|- - prottoss   Цитата(otrog @ Jan 9 2007, 17:46) Дабы не...   Jan 9 2007, 13:57
- - GDI   в WAKE используется байт-стаффинг, так что удвоени...   Jan 9 2007, 14:13
|- - prottoss   Цитата(GDI @ Jan 9 2007, 18:13) в WAKE ис...   Jan 9 2007, 14:31
- - GDI   не все так плохо.. признаком стаффинга является ...   Jan 9 2007, 15:01
- - otrog   Ссылка на WAKE http://www.spetspribor.com/support/...   Jan 9 2007, 15:19
|- - prottoss   Цитата(otrog @ Jan 9 2007, 19:19) 2 prott...   Jan 9 2007, 19:15
|- - SasaVitebsk   Цитата(prottoss @ Jan 9 2007, 20:15) Цита...   Jan 10 2007, 13:42
|- - defunct   Цитата(SasaVitebsk @ Jan 10 2007, 13:42) ...   Jan 11 2007, 01:04
|- - singlskv   Цитата(defunct @ Jan 11 2007, 01:04) Слей...   Jan 11 2007, 02:22
|- - SasaVitebsk   Цитата(singlskv @ Jan 11 2007, 03:22) Кст...   Jan 11 2007, 03:44
|- - defunct   Цитата(singlskv @ Jan 11 2007, 02:22) Не,...   Jan 14 2007, 02:56
|- - SasaVitebsk   Я думаю всё это обосновано следующим. Должно быть ...   Jan 14 2007, 20:53
|- - otrog   Цитата(SasaVitebsk @ Jan 14 2007, 20:53) ...   Jan 15 2007, 15:36
|- - SasaVitebsk   Цитата(otrog @ Jan 15 2007, 16:36) Цитата...   Jan 15 2007, 18:40
|- - Dog Pawlowa   Я потерял исходное сообщение, кто это высказал: ...   Jan 16 2007, 21:01
|- - SasaVitebsk   Цитата(Dog Pawlowa @ Jan 16 2007, 22:01) ...   Jan 16 2007, 23:28
|- - otrog   Цитата(Dog Pawlowa @ Jan 16 2007, 21:01) ...   Jan 17 2007, 08:55
- - li4   Цитатаotrog: Выложил сохраненную страницу со всеми...   Jan 9 2007, 19:01
|- - otrog   Цитата(li4 @ Jan 9 2007, 19:01) Цитатаotr...   Jan 10 2007, 10:54
- - prottoss   2 singlskv Зачем так щипетильно относится к станд...   Jan 11 2007, 09:09
- - Leonty   1. В асинхронном режиме можно ввести метрику проце...   Jan 12 2007, 16:37
- - singlskv   Цитата(defunct @ Jan 14 2007, 02:56) Цита...   Jan 15 2007, 00:01
|- - SasaVitebsk   Цитата(singlskv @ Jan 15 2007, 01:01) ......   Jan 15 2007, 14:29
- - Svin62   Скажите пожалуйста, вот если соединять слейвы с ма...   Feb 8 2009, 09:38
- - demiurg_spb   ИМХО никак. Но может быть есть драйверы RS-232 кот...   Feb 8 2009, 11:09
- - zltigo   Цитата(Svin62 @ Feb 8 2009, 12:38) Короче...   Feb 8 2009, 11:15
- - Svin62   Цитата(zltigo @ Feb 8 2009, 14:15) Управл...   Feb 8 2009, 11:54
- - zltigo   Цитата(Svin62 @ Feb 8 2009, 14:54) Значит...   Feb 8 2009, 12:25


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th June 2025 - 19:00
Рейтинг@Mail.ru


Страница сгенерированна за 0.03836 секунд с 7
ELECTRONIX ©2004-2016