|
|
 |
Ответов
|
Jan 5 2007, 23:41
|

тут может быть ваша реклама
    
Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280

|
А можно я тут несколько в сторону отойду. У меня похожий вопрос. Но только мне надоне собирать с нескольких источников, а передавать в несколько приемников. А именно: Есть MSP430, у него 2 USART (UART или SPI или I2C). И есть 3 или 4 внешних устройства, с которыми контроллер должен общаться - комп по UART, zigbee приемопередатчик по SPI, LCD по I2C, и внешняя флешь по... еще не разбирался, но наверно тоже по SPI. И что делать Внешний мультиплексор не особо хочется ставить, надо низкое потребление. Но, вообще говоря, не будет такой ситуации, когда все эти 4 устройства будут работать одновременно, все эти процессы можно разделить по времени. Как в такиз случаях поступают?? Спасибо
|
|
|
|
|
Jan 6 2007, 11:20
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(jorikdima @ Jan 5 2007, 22:41)  Внешний мультиплексор не особо хочется ставить, надо низкое потребление. Но, вообще говоря, не будет такой ситуации, когда все эти 4 устройства будут работать одновременно, все эти процессы можно разделить по времени. Как в такиз случаях поступают?? Раз не требуется одновременная работа - то все просто. У MSP430 SPI, UART и I2C(если не изменяет память) выведены на разные ноги, поэтому просто включай нужную периферию через ME1, ME2 и выбирай нужную ногу через PxSEL. Часть интерфейсов можно реализовать программно (например I2C для индикатора). P.S. продолжать лучше в разделе про MSP Цитата(li4 @ Jan 6 2007, 08:15)  Спасибо всем ответившим. Цитата Линии TX от мег соединяются в одну и подключаются к RX ПК. Если это допустимо то проще уж наверное ничего не придумать. Если эти 3 меги находятся на одной плате - тогда действительно это наиболее простое решение. А вот если между ними значительное расстояние, то тянуть TTL уровни уже нельзя а RS232 объединение не позволяет. Я чего-то подумал что есть три законченных устройства, каждое из которых общается с компом, и надо их свести вместе.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Jan 6 2007, 12:52
|
Участник

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

|
Цитата(Сергей Борщ @ Jan 6 2007, 11:20)  Я чего-то подумал что есть три законченных устройства, каждое из которых общается с компом, и надо их свести вместе. Так и есть. Сейчас это 3 законченных устройства, каждое из которых по отдельности может быть подключено к com-порту компьютера. А почему нельзя RS232 так объединить?
Сообщение отредактировал li4 - Jan 6 2007, 12:54
|
|
|
|
|
Jan 6 2007, 14:30
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(li4 @ Jan 6 2007, 13:52)  Цитата(Сергей Борщ @ Jan 6 2007, 11:20)  Я чего-то подумал что есть три законченных устройства, каждое из которых общается с компом, и надо их свести вместе. Так и есть. Сейчас это 3 законченных устройства, каждое из которых по отдельности может быть подключено к com-порту компьютера. А почему нельзя RS232 так объединить? Честно говоря, не понимаю зачем делать ч/з заднюю дверь. 1) Вам предлагается применить схемотехническое решение на уровне 5V, так как RS232 не предполагает объединений и ADM232(или 207 к примеру) просто вылетит. Но для этого предусмотрен интерфейс RS485 или RS422 со своими драйверами ADM485 (и много других фирм AD,TI,MAX,...) которые предусматривают паралельную работу и стоят СТОЛЬКО ЖЕ! 2) Вам предлагают использовать режим Мастер-Слэйв, так как RS232 предполагает ОДНОВРЕМЕННУЮ передачу в две стороны и аппаратное управление потоком. Именно в RS485 используется режим Мастер-слэйв, а в 422 мультимастер с разрешением коллизий. То есть програмно Вам придётся творить что-то подобное. 3) Результирующий монстр будет непонятного интерфейса, а если Вы будете реализовывать RS485, то Вы можете гордо указать это! И, что ещё важнее, Вы сможете легко добавить пятое, шестое .... и т.д. изделия. Ну и последнее. Я сейчас практически не применяю COM порт. Проще применить USB. В данном случае переходник USB<->RS232 будет содержать 2 микрухи (FT232RL+ADM207), а USB<->RS485 две(FT232RL+ADM485) или три микрухи (+74HC00) и помещается в спичечный коробок.
|
|
|
|
|
Jan 6 2007, 15:22
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(SasaVitebsk @ Jan 6 2007, 15:30)  .. Именно в RS485 используется режим Мастер-слэйв, а в 422 мультимастер с разрешением коллизий. То есть програмно Вам придётся творить что-то подобное. Уважаемый, не пугайте народ Интерфейс RS422 - это всего лишь две дифференциальных пары - Rx и Tx вместо одной в RS485. Мультимастеринг не оговаривается и в подавляющем большинстве реальных протоколов не используется. Цитата(Dopler @ Jan 6 2007, 14:34)  Действительно, если надо соединить уже три законченных устройства, то просто объединить линии RS232 (те, которые +10, -10 В) не получится. Ну, смотря что называть словом "просто" Непосредственно - да, не получится. А с помощью тех же волшебных трех диодов и резистора - запросто получится. Это сложно?
--------------------
Уходя, оставьте свет...
|
|
|
|
|
Jan 6 2007, 22:34
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(Dog Pawlowa @ Jan 6 2007, 16:22)  Цитата(SasaVitebsk @ Jan 6 2007, 15:30)  .. Именно в RS485 используется режим Мастер-слэйв, а в 422 мультимастер с разрешением коллизий. То есть програмно Вам придётся творить что-то подобное.
Уважаемый, не пугайте народ Интерфейс RS422 - это всего лишь две дифференциальных пары - Rx и Tx вместо одной в RS485. Мультимастеринг не оговаривается и в подавляющем большинстве реальных протоколов не используется. Вот блин даже попугать не дадут. На самом деле RS422/485/232 не описывают програмные протоколы а определяют разъёмы и сигналы. Поэтому это я к слову. Но построение определяет. RS422 это даже не две пары, но бог с ними ... Вы мне объясните, дураку. 1) Почему нельзя применить RS485? 2) Что это за интерфейс у Вас получится? 3) Как это всё механически будет выглядеть? Три законченных устр-ва с преобраз или без них подключаются к коробочке, в которой стоят пребраз. в 5V, потом диоды или микросхема и выходные преобразователи. Плюс внешнее питание! Или если без преобразователей, то 5V короткий кабель (30см) коробочка в ней мелкосхема и выходные преобразователи. Плюс внешнее питание или питание заводится от одного из устр-в. Простите но это же бред!!! 4) Чем хуже мой вариант? Законченное устр-во с двумя разъёмами. Допускает подключение до 32 устр-в. По цене - то же решение. По надёжности и помехозащищённости лучше. По дальности лучше. Конструктивно законченое. Програмно - абсолютно одинаково придётся решать. Так в чём дело? Кто-нибудь мне пояснит?
|
|
|
|
|
Jan 7 2007, 16:03
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(SasaVitebsk @ Jan 6 2007, 23:34)  Вы мне объясните, дураку. 1) Почему нельзя применить RS485? 2) Что это за интерфейс у Вас получится? 3) Как это всё механически будет выглядеть? 4) Чем хуже мой вариант? Так в чём дело? Кто-нибудь мне пояснит? Да Вы правы во всем! Конечно, RS485 лучше. Но... Я лично не стал советовать RS485 исходя из уровня знаний автора топика. Он программист на PC. Чтобы использовать RS485, ему нужно сделать следующие вещи в области, которой он не занимался: - подключить драйвер RS485 к микроконтроллеру - дописать управление направлением в программу микроконтроллера - изготовить переходник RS232-RS485 (взяв откуда-то 5В питания) - дописать управление направлением в программу микроконтроллера - столкнуться с неприятностями, которые создает Windows - смириться с этими неприятностями :-) Убедиться, что все равно получается левое решение (интрефейсы гальванически не развязаны со всеми вытекающими последствиями), в один момент сжечь порты компьютера или пару микроконтроллеров, не говоря уже о постоянных сбоях... Нет уж, пусть он попытается обойтись заранее простым решением.
--------------------
Уходя, оставьте свет...
|
|
|
|
|
Jan 7 2007, 19:12
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(Dog Pawlowa @ Jan 7 2007, 17:03)  Да Вы правы во всем! Конечно, RS485 лучше. Но... Я лично не стал советовать RS485 исходя из уровня знаний автора топика. Он программист на PC. Чтобы использовать RS485, ему нужно сделать следующие вещи в области, которой он не занимался: - подключить драйвер RS485 к микроконтроллеру - дописать управление направлением в программу микроконтроллера - изготовить переходник RS232-RS485 (взяв откуда-то 5В питания) - дописать управление направлением в программу микроконтроллера - столкнуться с неприятностями, которые создает Windows - смириться с этими неприятностями :-) Убедиться, что все равно получается левое решение (интрефейсы гальванически не развязаны со всеми вытекающими последствиями), в один момент сжечь порты компьютера или пару микроконтроллеров, не говоря уже о постоянных сбоях... Нет уж, пусть он попытается обойтись заранее простым решением. Так я Вас не обвиняю. Я просто предложил своё. Пусть сам выбирает. - Драйвер RS485 подключается практически так же. - Программу (причём обе) скорее всего ему ломать всё равно придётся. Ваше будет аппаратное решение или моё - неважно. Вы то понимаете что три независимых устр-ва подключаются к одному порту! Тут как не крути придётся делать арбитраж или устранение коллизий. И то и другое - это изменение программы. - Я предложил на USB, но можно и на RS232. Питание в этом случае берётся так. Ч/з диоды с неиспользуемых выходов (DTR,RTS) снимается 12V и с него формируется 5V. Остальное также как и в моей схеме. - можно и автоматическое переключение, но я делаю програмное. На самом деле - три корооотеньких прерывания. - Да Винда, особенно если ч/з USB и VirtualComPort создали (для меня) неразрешимые проблемы, поэтому.... - я предложил действительно смирится и использовать аппаратное переключение направления от компа  А вот здесь я с Вами не соглашусь. Получается стандартное для такого случая решение. Драйвера поддерживают все мыслимые стандарты и я ни разу не видел "вышебленных" портов таким образом! Ну и я не знаю о каких сбоях Вы говорите. В моём последнем изделии я применил RS485 (надо была дальность большая) Правда мне хватает скорости 1200, но я предусмотрел 115200. Так я пробовал передавать на 305 метров (бухта сетевого кабеля) файлы 64Кб со скоростью 4800. Сбоев не было. Но люди в этом форуме пишут что работают на скорости 2Мбита по этому интерфейсу.
|
|
|
|
|
Jan 7 2007, 21:42
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(SasaVitebsk @ Jan 7 2007, 20:12)  ...Питание в этом случае берётся так. Ч/з диоды с неиспользуемых выходов (DTR,RTS) снимается 12V и с него формируется 5V... ... Ну и я не знаю о каких сбоях Вы говорите... Несколько уточнений... Если питание взять, как Вы предлагаете, это не будет настоящий RS485, потому что в этом случае не будет обеспечена нагрузочная способность драйвера. Это значит, что работать в принципе будет, но с оговорками по скорости и расстоянию. Ссылки на то, что у Вас все работало хорошо, не принимаются А про сбои... А фиг знает, как программист разведет питание  Заведет питание микроконтроллера на длинные провода наружу, потом будет жаловаться, что AVR непомехоустойчивый. А по доработке программы мой совет - не преодоление коллизий, а из исключение коллизий путем адресации контроллеров. Кроме того, по программированию RS485 есть масса тонкостей, касающихся работы в условиях помех. Например, програмисту нельзя рассчитывать на растяжку сигналов резисторами. Но не будем усложнять жизнь? Успехов всем
--------------------
Уходя, оставьте свет...
|
|
|
|
|
Jan 8 2007, 10:31
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(prottoss @ Jan 7 2007, 23:02)  Цитата(Dog Pawlowa @ Jan 8 2007, 01:42)  ... Я конечно извиняюсь, что влезаю в такую умную беседу, но зачем говорить о велосипеде и пытаться его изобретать? Или интерес ради "просто вумно поболтать" ?. Опять же о том же MODBUS. Это конечно не панацея от всех бед, но все же дефакто промышленный протокол, использующийся в разных формах практически повсюду... Вот Вам его кратенькое описание, еслиф кто не ф курсе))). Там и физический интерфейс и программный. Enjoy!!! За документ спасибо. Что касается велосипеда... Мне дело представляется по другому. Вы дали клиенту рыбу, а я пытался объяснить, как устроена удочка. Мой следующий шаг - напомнить, что, кроме Modbus, существует огромное количество протоколов (у меня на полочке стоят три папки с описанием более 40 протоколов заправочных систем), а Ваш следующий шаг ? Дать исходники проекта? Кстати, Modbus не использую. Не нравится.
--------------------
Уходя, оставьте свет...
|
|
|
|
Сообщений в этой теме
li4 3 ATMega8 к 1 COM-порту ПК Jan 5 2007, 20:45 Сергей Борщ Цитата(li4 @ Jan 5 2007, 19:45) Подскажит... Jan 5 2007, 21:34 Dopler Цитата(li4 @ Jan 5 2007, 20:45) Подскажит... Jan 5 2007, 21:35 defunct Цитата(Dopler @ Jan 5 2007, 21:35) ...
Ид... Jan 5 2007, 21:54  vvs157 Цитата(defunct @ Jan 5 2007, 21:54) Толку... Jan 5 2007, 22:01  Dopler Цитата(defunct @ Jan 5 2007, 21:54) Цитат... Jan 5 2007, 22:30   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   Dog Pawlowa Цитата(Dopler @ Jan 5 2007, 23:30) Да ну,... Jan 6 2007, 07:05   Dopler Цитата(li4 @ Jan 6 2007, 12:52) Цитата(Се... Jan 6 2007, 13:34     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 @ Jan 6 2007, 21:34) В... Jan 6 2007, 23:28          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           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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|