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

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

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

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

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

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

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

Закрытая тема
Опции темы
Непрочитано 24.03.2013, 15:06   #31
insiderbik
Временная регистрация
 
Регистрация: 20.06.2009
Сообщений: 51
Сказал спасибо: 44
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
insiderbik на пути к лучшему
По умолчанию Re: Слияние 4х потоков USART

Сообщение от Godzilla82 Посмотреть сообщение
А чего такое ограничение в камнях-то? Есть камень с 5( 8 ) UART - так и используйте его. Делал я 4 программных UART - но гемор ещё тот.
А у вас ситуация осложняется тем, что данные могут придти ОДНОВРЕМЕННО. Всё, конечно, решаемо. Но зачем самому себе создавать лишние проблемы?

Если со всех устройств идёт запрос-ответ, то есть, одновременно идёт работа только с одним из датчиков, то всё упрощается. Берёте любой мультиплексор и TINY2313.

P.S. Не помню, сколько у вас пакет данных весит. А то тиньки может и не хватить.
из камней в моем распоряжении к сожалению только тиня12, 13, 2313, мега 8, 48, 88, 168, 328. запроса-ответа нет - датчики могут передавать как одновременно, так и перекрывать посылки друг друга. тиньки хватит - 30 слов
Реклама:
insiderbik вне форума  
Непрочитано 24.03.2013, 16:19   #32
Alex9797
Почётный гражданин KAZUS.RU
 
Аватар для Alex9797
 
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,565
Сказал спасибо: 5,041
Сказали Спасибо 10,615 раз(а) в 3,604 сообщении(ях)
Alex9797 на пути к лучшему
По умолчанию Re: Слияние 4х потоков USART

Если есть возможность корректировать программу на контроллерах-сборщиках инфы с датчиков, то самое лучшее - это сделать им прогу так, чтобы они выдавали свои накопленные данные только по команде центрального контроллера. То есть, центральный процессор опрашивает сборщиков тогда, когда посчитает нужным, и тем самым проблема с приоритетами решается сама собой. А чтобы не заморачиваться с поиском многопортового камня, лучше всего UARTы переделать под RS-485. И тогда можно все сборщики инфы посадить на одну пару проводов, и достаточно будет проца с одним УАРТом. Это и намного дешевле, и правильнее, и помехоустойчивость у RS-485 значительно выше.

Ну, а если все так плохо, что на программу сборщиков инфы повлиять уже невозможно - я сторонник того, чтобы на каждый УАРТ на приемной части посадить отдельный простенький проц. Опять же, это выгодно с многих сторон. И программа на такой проц будет очень простая, и все эти интерфейсные платы будут абсолютно одинаковые. А это - прямо ведет к повышению живучести, ведь таких плат можно наделать кучу в запас, и пусть хоть молния бьет, хоть метеорит падает. И в изготовлении это намного проще, и в отладке.

Еще один важный фактор, в пользу такого способа - это сейчас таких сборщиков всего четыре. А если завтра понадобится пять? Или семь? Снова искать многопортовый проц, с еще большим количеством? Так их и в природе не существует. А так можно будет наращивать количество портов сколько угодно.

А передавать накопленные данные на центральный проц они будут по команде, по опросу. Для этой передачи лучше всего подошел бы SPI. Его и программно легко реализовать.
Alex9797 вне форума  
Непрочитано 24.03.2013, 16:28   #33
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Слияние 4х потоков USART

Зачем плодить сущности, мега48 прекрасно будет принимать хоть все 4 потока одновременно на 9600

Сообщение от insiderbik Посмотреть сообщение
из камней в моем распоряжении к сожалению только тиня12, 13, 2313, мега 8, 48, 88, 168, 328. запроса-ответа нет - датчики могут передавать как одновременно, так и перекрывать посылки друг друга. тиньки хватит - 30 слов
Так в чем проблема? Бери и делай, работы на пару вечеров... Или доставай кошелек
niXto вне форума  
Непрочитано 24.03.2013, 17:44   #34
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Слияние 4х потоков USART

Сообщение от insiderbik Посмотреть сообщение
из камней в моем распоряжении к сожалению только тиня12, 13, 2313, мега 8, 48, 88, 168, 328.
А что мешает добавить в этот список мегу с 5 уартами?


Сообщение от insiderbik Посмотреть сообщение
запроса-ответа нет - датчики могут передавать как одновременно, так и перекрывать посылки друг друга. тиньки хватит - 30 слов
30 слов - это 60 байт. По хорошему, 60 x 4 x 3. А это входной буфер 720 байт.

Если уж делать всё нормально, то надо 4 выборки за интервал бита. А это 104 мкс. То есть, за 25 мкс надо решить, какой бит пришёл, положить его в нужный подбуфер. Если пришёл стоп-бит, то сформировать байт и положить его в соответствующий буфер (1 из 4).

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

25 мкс - это примерно 260 тактов в вашем распоряжении (при кварце 11,0592 МГц).

Если хорошенько подумать, то можно уложиться.
Godzilla82 вне форума  
Непрочитано 24.03.2013, 18:07   #35
oleg110592
Гражданин KAZUS.RU
 
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
oleg110592 на пути к лучшему
По умолчанию Re: Слияние 4х потоков USART

Предложу изящное решение 1 КР580ИК80 + 5шт. КР580ИК51 + ОЗУ + ПЗУ и еще немного обвязки. Все можно найти на мусорке.
oleg110592 вне форума  
Непрочитано 24.03.2013, 18:17   #36
jump
Почётный гражданин KAZUS.RU
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 7,982
Сказал спасибо: 0
Сказали Спасибо 4,941 раз(а) в 2,370 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Слияние 4х потоков USART

Godzilla82,
атмел уже все придумал... давно... на асме. аппноты 3хх были ориентированы еще на 90s1200.
выборок обычно делают 3, на 7, 8, 9 такте частоты сом-порта*16, т.е. 9600*16=153600 - с такой частотой должны быть прерывания от таймера.
и почему для м88/168/328 не поднять частоту до 22,1184МГц?
насчет слов - сейчас уже байты становятся 16-битными, а уж слова...
и формировать пакеты не нужно - количество буферов на 1-4 больше, чем сом-портов, т.е. 6-9, на случай внезапного прихода данных от нескольких источников. адреса-указатели буферов, готовых к отправке, ставятся в очередь и сдвигаются по мере исполнения

oleg110592,
4-хпортовая плата сом для ПК стоит 40-50уе - аллес, все решено

Последний раз редактировалось jump; 24.03.2013 в 18:25.
jump вне форума  
Непрочитано 24.03.2013, 19:15   #37
oleg110592
Гражданин KAZUS.RU
 
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
oleg110592 на пути к лучшему
По умолчанию Re: Слияние 4х потоков USART

Сообщение от jump Посмотреть сообщение
4-хпортовая плата сом для ПК стоит 40-50уе - аллес, все решено
Действительно - идеальное решение. Правда автору придется освоить работу с потоками, но это уже не важно.
oleg110592 вне форума  
Непрочитано 24.03.2013, 20:27   #38
Boba_spb
Почётный гражданин KAZUS.RU
 
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Слияние 4х потоков USART

Сообщение от jump Посмотреть сообщение
сейчас уже байты становятся 16-битными, а уж
километры морскими милями
Boba_spb вне форума  
Непрочитано 24.03.2013, 20:36   #39
Boba_spb
Почётный гражданин KAZUS.RU
 
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Слияние 4х потоков USART

Сообщение от oleg110592 Посмотреть сообщение
Действительно - идеальное решение. Правда автору придется освоить работу с потоками, но это уже не важно.
Да можно и без потоков обойтись, пожалуй, просто крутиться тупо в цикле и считывать с COMов данные.
Boba_spb вне форума  
Непрочитано 24.03.2013, 20:50   #40
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,998
Сказал спасибо: 2,557
Сказали Спасибо 11,873 раз(а) в 5,951 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Слияние 4х потоков USART

Сообщение от Boba_spb Посмотреть сообщение
Да можно и без потоков обойтись, пожалуй, просто крутиться тупо в цикле и считывать с COMов данные
В Билдере компонент CommPort имеет свой буфер, счетчик байтов в буфере, события по приему информации. Четыре компонента для четырех Com-ов, каждый обособленный, никаких заморочек с потоками, никаких опросов в цикле - просто обработка событий.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor на форуме  
Закрытая тема

Закладки

Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Строки по USART yellow87 Микроконтроллеры, АЦП, память и т.д 2 08.10.2010 15:23
Запись двух видео потоков и последующее синхронное воспроизведение dg79 Автоматика и аппаратура связи 4 24.09.2010 15:08
Usart (УСАПП) wolfinstein Микроконтроллеры, АЦП, память и т.д 15 18.02.2010 19:15
Связать 2 МК по USART MAX1978 Микроконтроллеры, АЦП, память и т.д 17 08.08.2007 19:15
USART DK Микроконтроллеры, АЦП, память и т.д 1 03.09.2003 19:49


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


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