Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помощь в выборе коммандного инттерфейса
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам
Саша Z
Буду благодарен в помощь/подсказки в выборе интерфейса:
есть устройство управляемое несколькими кнопками/джойстиком на самом устройстве. Нужно сделать проводное дистанционное управление параллельное управлению на самом устройстве.
Т.е. к разьему подключается дистанционка, там те-же кнопки/джойстик, комманды передаются по проводам на устройство.
Есть две модели дистанционки по длинам:
1. пол-метра
2. до 3-5 метров.

Кол-во команд - небольшое (примерно до 8 команд). В устройстве - микро-компьютер на основе PXA270 CPU, у него есть в наличии немало свободных GPIO к которым можно подключиться.
так-же есть CPLD/FPGA к которому тоже можно подрубиться.
Вопрос - какой интерфейс выбрать. Желание - простота реализации, надежность, меньше физических линий (кол-во свободных пинов разьема - сильно ограничено), не нужно хитроумное.

Можно конечно асинхронно выставлять код комманды (3 бита) и CPU будет периодически его проверять, но тут 3 линии, да и не уверен будет ли работать надежно на длинах кабеля более полу-метра.

Какие варианты ?
mdmitry
Что можно в пульте держать аппаратно? Какие условия эксплуатации?
Если в пульте можно МК и помЕховая обстановка хорошая, то по USART все передавать. Надо 4 линии: GND, Vcc, RxD, TxD. Если нужна бОльшея надежность, то поставить преобразователи для RS232 в устройство и пульт.
Shamil
Коммутировать в пульте 8 резисторов на 2-х проводную линию к устройству.
В устройстве 8-ми разрядное АЦП (во многих контроллерах есть встроенное),
или RC генератор c последующим программным измерением его
частоты (которая будет пропорциональна резистору в пульте).
Саша Z
Цитата(mdmitry @ Mar 6 2009, 15:48) *
Что можно в пульте держать аппаратно? Какие условия эксплуатации?
Если в пульте можно МК и помЕховая обстановка хорошая, то по USART все передавать. Надо 4 линии: GND, Vcc, RxD, TxD. Если нужна бОльшея надежность, то поставить преобразователи для RS232 в устройство и пульт.


Насчет RS232 - в принципе реально ибо само устройство имеет RS232 и TxD, RxD, GND выходят на внешний разьем. Но тогда в пульте нужно какой-нить микроконтрллер и рутины RS232 комманд.
В приципе я не ограничен аппаратно в плане пульта, хотелось просто попроще (хотя и думал CPLD там ставить, но тогда возможно и микроконтроллер для RS232 будет не сложнее...)
Условия эксплуатации - снаружи (т.е. в "поле").
galjoen
Цитата(Саша Z @ Mar 6 2009, 22:26) *
Насчет RS232 - в принципе реально ибо само устройство имеет RS232 и TxD, RxD, GND выходят на внешний разьем. Но тогда в пульте нужно какой-нить микроконтрллер и рутины RS232 комманд.
В приципе я не ограничен аппаратно в плане пульта, хотелось просто попроще (хотя и думал CPLD там ставить, но тогда возможно и микроконтроллер для RS232 будет не сложнее...)
Условия эксплуатации - снаружи (т.е. в "поле").

Если бы уже не было RS232, то имхо лучшим вариантом был бы LIN на процессоре за $0.3. Никакой обвязки и всего 3 провода - GND, LIN, питание пульта. А так - посчитать нужно. Но похоже LIN всётаки выигрывает.
Саша Z
Цитата(galjoen @ Mar 7 2009, 00:07) *
Если бы уже не было RS232, то имхо лучшим вариантом был бы LIN на процессоре за $0.3. Никакой обвязки и всего 3 провода - GND, LIN, питание пульта. А так - посчитать нужно. Но похоже LIN всётаки выигрывает.


Сорри за наивность, что такое LIN ? Не слышал от таковом..
galjoen
Цитата(Саша Z @ Mar 7 2009, 14:56) *
Сорри за наивность, что такое LIN ? Не слышал от таковом..

В автомобилях применяется в т.ч. Там ведь не везде CAN. Обычно до двери CAN, а в двери переходник с CAN на LIN и всякие лампочки, замки, стеклоподъёмники и т.п. уже по LIN управляются. LIN самосинхронизирующийся, т.е процессор от встроенного генератора может тактироваться в отличие от RS232 и т.п. А значит дешёвый. Специальные драйвера линии LIN имеются. Бывает их ещё однопроводным каном называют. Я не пользовался, но если интересно посмотрю - где-то ссылки были. В поисковике наберите - найдётся.
Саша Z
Цитата(galjoen @ Mar 7 2009, 16:42) *
В автомобилях применяется в т.ч. Там ведь не везде CAN. Обычно до двери CAN, а в двери переходник с CAN на LIN и всякие лампочки, замки, стеклоподъёмники и т.п. уже по LIN управляются. LIN самосинхронизирующийся, т.е процессор от встроенного генератора может тактироваться в отличие от RS232 и т.п. А значит дешёвый. Специальные драйвера линии LIN имеются. Бывает их ещё однопроводным каном называют. Я не пользовался, но если интересно посмотрю - где-то ссылки были. В поисковике наберите - найдётся.


Спасибо.
В принципе в системе уже есть UART, на разьем выходят RS232 (TxD, RxD, GND) ибо система общается с PC по serial.
Думаю это преймущество ибо не нужно изголяться вытаскивать еще доп. пины из системы на разьем. Значит по кабелю пойдут 3 линии, хотя ежели будет экранированный - по нему можно пустить землю, тогда останутся всего 2 линии (сигналы). Почитаю насчет LINa что-бы понять будет ли он выгоден в данной ситуации или RS232 есть самое оптимальное.
Думаю в пульте поставлю какой-нить PIC контроллер с встроенным UARTом да драйвеер (скажем MAX232), на GPIO контроллера навесить кнопок/джойстик пульта, ну и ессно софт UARTa (по нажатию кнопки передается по UARTу соотв. код в систему). Думаю это будет наиболее простое и надежное решение, хотя с софтом для микроконтроллеров пока не доводилось иметь дело...
galjoen
Цитата(Саша Z @ Mar 7 2009, 23:52) *
...
Значит по кабелю пойдут 3 линии, хотя ежели будет экранированный - по нему можно пустить землю, тогда останутся всего 2 линии (сигналы).
...

Про питание пульта забыли. Или у него батарейка будет?
Саша Z
Цитата(galjoen @ Mar 8 2009, 08:59) *
Про питание пульта забыли. Или у него батарейка будет?


Да, немаловажная деталь.
У него автономное питание (батарейка indeed), надеюсь PIC контроллер + RS232 driver будут жрать по божески... cranky.gif ...
А вообще, сколько может жрать такой контроллер (VCC 3.3V) учитывая ьто всего софта там будет скажем рутина UARTа ? (ожидание наьатия кнопок и посылание кодов комманд как следствие) ? Думаю использовать PIC со встроенным RS232 (кроме драйвера ессно), наверно 19200 хватит (хотя сама система работает с PC на 115200), клок контроллера наверно в пределах 10 MHz..
galjoen
Цитата(Саша Z @ Mar 10 2009, 20:07) *
Да, немаловажная деталь.
У него автономное питание (батарейка indeed), надеюсь PIC контроллер + RS232 driver будут жрать по божески... cranky.gif ...
А вообще, сколько может жрать такой контроллер (VCC 3.3V) учитывая ьто всего софта там будет скажем рутина UARTа ? (ожидание наьатия кнопок и посылание кодов комманд как следствие) ? Думаю использовать PIC со встроенным RS232 (кроме драйвера ессно), наверно 19200 хватит (хотя сама система работает с PC на 115200), клок контроллера наверно в пределах 10 MHz..

Там 85...95% будет жрать собственно преобразователь в драйвере RS232 (около 3 милиампер). Это если процессор правильно настоить ессно. Я рекомендовал бы какую нибудь тиньку, но можно, хотя и хуже, и PIC.
В частности из-за потребления LIN интерфейс лучше. Он в отличие от RS232, если ничего не нажимать/передавать, то ничего и не жрёт. Можно и вообще 2 подтягивающих резистора по концам и всё - такой самодельный LIN. И микрофонный кабель использовать в кач-ве шнура можно будет.
Саша Z
Цитата(galjoen @ Mar 10 2009, 20:42) *
Там 85...95% будет жрать собственно преобразователь в драйвере RS232 (около 3 милиампер). Это если процессор правильно настоить ессно. Я рекомендовал бы какую нибудь тиньку, но можно, хотя и хуже, и PIC.
В частности из-за потребления LIN интерфейс лучше. Он в отличие от RS232, если ничего не нажимать/передавать, то ничего и не жрёт. Можно и вообще 2 подтягивающих резистора по концам и всё - такой самодельный LIN. И микрофонный кабель использовать в кач-ве шнура можно будет.


Спасибо.
А что за тинька ?

В принципе, работа пульта на систему ожидается эпизодическая, т.е. примерно 80-90% от времени работы системы - пульт молчит. Драйвер возьму ADM3222, он питается 3.3V, и есть у него shutdown.
Так и буду имплементировать держа его это 80-90% времени в shutdownе (т.е. контроллер будет держать его в shtudownе пока не будет запрос не передачу (нажатие кнопки)). Думаю не будет проблем для батарей.
galjoen
Цитата(Саша Z @ Mar 10 2009, 22:55) *
Спасибо.
А что за тинька ?

Атмеловская ATtiny xx. Дешевле при тех-же параметрах и по энергопотреблению обычно выигрывает.
Цитата(Саша Z @ Mar 10 2009, 22:55) *
В принципе, работа пульта на систему ожидается эпизодическая, т.е. примерно 80-90% от времени работы системы - пульт молчит. Драйвер возьму ADM3222, он питается 3.3V, и есть у него shutdown.
Так и буду имплементировать держа его это 80-90% времени в shutdownе (т.е. контроллер будет держать его в shtudownе пока не будет запрос не передачу (нажатие кнопки)). Думаю не будет проблем для батарей.

От 2-х батареек работать не сможет. Или повышающий преобразователь ставить придётся. Да и скорость 19200 излишне высока. 2400 хватит.
А процессор тоже можно в слипе держать и будить по нажатию.
Саша Z
Цитата(galjoen @ Mar 10 2009, 23:13) *
Атмеловская ATtiny xx. Дешевле при тех-же параметрах и по энергопотреблению обычно выигрывает.

От 2-х батареек работать не сможет. Или повышающий преобразователь ставить придётся. Да и скорость 19200 излишне высока. 2400 хватит.
А процессор тоже можно в слипе держать и будить по нажатию.


Ну ессно через step-up/boost, это уже детали которые очевидны, посему и не упоминал smile.gif
А насчет процессора в power down и побудке по нажатию - это правильно.

2400 ? Тоже верно, вполне хватит...
galjoen
Цитата(Саша Z @ Mar 10 2009, 23:46) *
Ну ессно через step-up/boost, это уже детали которые очевидны, посему и не упоминал smile.gif

Почему очевидны? Многие процы, в т.ч. те-же тиньки с буквой V в диапазоне 1,8..5,5 вольта работают.
Саша Z
Цитата(galjoen @ Mar 11 2009, 00:07) *
Почему очевидны? Многие процы, в т.ч. те-же тиньки с буквой V в диапазоне 1,8..5,5 вольта работают.


Ага, спасибо, этого не знал...
mdmitry
Если RS-232 содержит не только RxD, TxD, GND, но и служебные RTS и другие, то питание от служебного брать можно. Необходимо только по току потребления проверить и стабилизатор поставить.

Давно делали опторазвязку на служебных сигналах от RS-232 для связи с контроллером, у которого было свое питание. Один служебный сигнал в логический ноль (+12 В), другой в логическую единицу (-12 В), для оптронов хватало.
Rst7
Цитата(Саша Z @ Mar 11 2009, 07:09) *
Ага, спасибо, этого не знал...


А есть и совсем свеженькая фигнюшечка - http://www.atmel.com/products/avr/attiny43...p?family_id=607

Можно вообще от одного пальца катать.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.