|
|
  |
Паралельная работа с COM-портами, Выбор подхода |
|
|
|
Mar 17 2006, 18:45
|
Участник

Группа: Участник
Сообщений: 57
Регистрация: 15-12-05
Из: Москва
Пользователь №: 12 276

|
Здравствуйте!
Делаем некий контроллер, который должен командовать 4 потребителями - например dvd-плеером, плазмой, cпутниковым тюнером и ресивером. Команды нужно подавать только на включение и отключение этих устройств. При этом эти самые устройства иногда могут сами выдавать информацию о себе в любой момент, и даже одновременно! Скорости небольшие 2400-38400 кбит\сек, но разные на разных устройствах! Принимается и выдается примерно по 6-20байт на каждое устройство за раз Нужно выбрать сам подход...Не хотелось бы делать на 4 устройства по 4 UARTa и 4 микропроцессора, хотя это самый чистый вариант, но он более дорогостоящий. Как Вы думаете, уважаемые спецы и профи - реально ли использовать ОДИН процессор PIC18F2620 (только он - жёстко) + коммутатор аналоговый + 4 MAX232 - тоесть обрабатывать все 4 "потока" программно на таких скоростях ? Сами только начинаем разбираться с протоколом обмена по RS232 -> на железном уровне (преобразование уровней) там все понятно, но вот найти бы побольше информации именно по протоколу и его "вариантам". А может быть есть специальные (вспомогательные) контроллеры одновременно на 4 порта? Никто не встречался с такими?
|
|
|
|
|
Mar 17 2006, 19:59
|
Участник

Группа: Участник
Сообщений: 57
Регистрация: 15-12-05
Из: Москва
Пользователь №: 12 276

|
По делу: Нашел описание довольно подробное по протоколу... http://www.maxim-ic.com/appnotes.cfm/appnote_number/2141Да, спасибо. Посмотрел описания контроллеров 1 и 2 - широкая шина данных и тд - расчитаны на "незанятые" процессоры. У нас же он занят практически на 90% - свободна шина I2C и 2 входа-выхода. Поищу ка 3 вариант
|
|
|
|
|
Mar 18 2006, 01:47
|

Странник
   
Группа: Свой
Сообщений: 766
Регистрация: 29-08-05
Из: Екатеринбург
Пользователь №: 8 051

|
Цитата(Vallery @ Mar 18 2006, 00:59)  Да, спасибо. Посмотрел описания контроллеров 1 и 2 - широкая шина данных и тд - расчитаны на "незанятые" процессоры. У нас же он занят практически на 90% - свободна шина I2C и 2 входа-выхода. 4 МК, простых (PIC,AVR), на которых реализовать мост UART-I2C(slave), будут дешевы "по железу", но реализация ПО не самая тривиальная. Цитата Поищу ка 3 вариант  ИМХО. МК с 4 UART на борту простыми не будут, соответсвенно не самые дешевые. Поиск на сахареКакой бюджет четырех каналов UART? Если взять 2МК * 2 UART то может получиться дешевле, например LPC2101, 2*2$. Или даже так -- 1МК, с достаточной производительностью: 2 UART(hardware) + 2 UART(soft), например LPC2101, 2$. Цитата вариант 1: микросхема 16С554, промышленный стандарт. 4 UART Что-то ни efind.ru ни einfo.ru не находят такое...
--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
|
|
|
|
|
Mar 18 2006, 08:29
|

Местный
  
Группа: Свой
Сообщений: 337
Регистрация: 1-02-06
Пользователь №: 13 874

|
их можно есть одним местом http://www.efind.ru/icsearch/?search=16c554с 4 UART есть фуджитсу серии MB90Fxxx, там даже с 7 есть, насколько помню. еще есть филипс SJA2020 (ARM7) с 5 UART... да и еще найдете, если покопаете
--------------------
"А я все помню, я был не пьяный!.." (С)Владимир Семенович
|
|
|
|
|
Mar 18 2006, 09:51
|
Частый гость
 
Группа: Свой
Сообщений: 160
Регистрация: 23-12-04
Из: Уфа
Пользователь №: 1 631

|
Цитата(Vallery @ Mar 17 2006, 23:45)  Как Вы думаете, уважаемые спецы и профи - реально ли использовать ОДИН процессор PIC18F2620 (только он - жёстко) + коммутатор аналоговый + 4 MAX232 - тоесть обрабатывать все 4 "потока" программно на таких скоростях ? В аппаратной реализации приемника UART обычно используется тактовая частота в 16 раз превышающая битовую скорость, т.е. для 38400 б/сек нужна тактовая 614400 Гц. При хорошой линии связи (при коротких растояниях), для программной реализации можно ограничиться трех кратной частотой опроса входного сигнала. Т.е. для скорости 38400 надо иметь прерывания (для опроса входного сигнала) каждые 8,68 мкс. При этом в прерывании надо выполнять порядка 10..20 команд на каждый канал. Если твой PIC сможет работать с такой скоростью, то в принципе, ничего сложного в программной реализации UART-а нет. Наверное можно 38400 завести на аппаратный UART PIC-а, а остальные 3 канала, с более низкими скоростями, обрабатывать программно.
Сообщение отредактировал Shamil_Yusupov - Mar 18 2006, 09:53
|
|
|
|
|
Mar 20 2006, 12:59
|
практикующий тех. волшебник
    
Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417

|
Цитата(iosifk @ Mar 20 2006, 10:12)  ...И всегда можно промультиплексировать сигналы принимаемых данных.... свои 5 копеек, по поводу сети из энного(а не только 4 кстати) кол-ва COM портов... мультиплицировать мона автоматически, для этого управляющие не нужны...делается всё на пару рассыпухах, либо на вшивом кусочке программируемой логики...решение выглядит как чистая шинная топология, выборка адресса и арбитраж - делается программно...смысл прост до безобразия - говорящего слышат все, за исключением говорящего... с уважением (круглый)
|
|
|
|
|
Mar 22 2006, 22:33
|
Участник

Группа: Участник
Сообщений: 57
Регистрация: 15-12-05
Из: Москва
Пользователь №: 12 276

|
А что, интересные мысли! Пока есть несеть из одного контроллера, из которой сейчас пытаемся создать "ум  ный" коммутатор COM портов, и уже потом далее вся инфо будет передаваться такому же МК по I2C по его запросу. Остановились на новом отдельном - МК PIC18F2420(SO28) + 4 шт. MAX232(SO16) и всё!... Потя  нет ли МК софтобработку 4х портов на скорости 38Кбит - ведь за такой период PIC18 может успеть выполнить 260 коротких команд. Думаю, что запас есть. Раздобыть бы где полное описание работы с временными параметрами "целого" COM-порта - со всеми задействованными сигналами - ноги 1,2,3,4,6,7,8 и 9...! Разные скорости в интерфейсах заложены разными производителями ... как хотят они  ... так и делают  ! Тут ничего не попишешь! У кого 9600, у кого 38400, а у кого 2400 - в основном именно эти скорости А можно ли где получить побольше инфо о LIN?
|
|
|
|
|
Mar 25 2006, 07:01
|

учащийся
    
Группа: Свой
Сообщений: 1 065
Регистрация: 29-10-05
Из: города контрастов
Пользователь №: 10 249

|
http://www.atmel.com/dyn/products/param_ta...o&Direction=ASCATmega1280 ATmega2560 ATmega640 Mistubishi (Renesas) M32 series
--------------------
Зачем лаять на караван , когда на него можно плюнуть?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|