Jump to content

    
Sign in to follow this  
AlexZabr

Помощь в выборе коммандного инттерфейса

Recommended Posts

Буду благодарен в помощь/подсказки в выборе интерфейса:

есть устройство управляемое несколькими кнопками/джойстиком на самом устройстве. Нужно сделать проводное дистанционное управление параллельное управлению на самом устройстве.

Т.е. к разьему подключается дистанционка, там те-же кнопки/джойстик, комманды передаются по проводам на устройство.

Есть две модели дистанционки по длинам:

1. пол-метра

2. до 3-5 метров.

 

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

так-же есть CPLD/FPGA к которому тоже можно подрубиться.

Вопрос - какой интерфейс выбрать. Желание - простота реализации, надежность, меньше физических линий (кол-во свободных пинов разьема - сильно ограничено), не нужно хитроумное.

 

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

 

Какие варианты ?

Share this post


Link to post
Share on other sites

Что можно в пульте держать аппаратно? Какие условия эксплуатации?

Если в пульте можно МК и помЕховая обстановка хорошая, то по USART все передавать. Надо 4 линии: GND, Vcc, RxD, TxD. Если нужна бОльшея надежность, то поставить преобразователи для RS232 в устройство и пульт.

Share this post


Link to post
Share on other sites

Коммутировать в пульте 8 резисторов на 2-х проводную линию к устройству.

В устройстве 8-ми разрядное АЦП (во многих контроллерах есть встроенное),

или RC генератор c последующим программным измерением его

частоты (которая будет пропорциональна резистору в пульте).

Share this post


Link to post
Share on other sites
Что можно в пульте держать аппаратно? Какие условия эксплуатации?

Если в пульте можно МК и помЕховая обстановка хорошая, то по USART все передавать. Надо 4 линии: GND, Vcc, RxD, TxD. Если нужна бОльшея надежность, то поставить преобразователи для RS232 в устройство и пульт.

 

Насчет RS232 - в принципе реально ибо само устройство имеет RS232 и TxD, RxD, GND выходят на внешний разьем. Но тогда в пульте нужно какой-нить микроконтрллер и рутины RS232 комманд.

В приципе я не ограничен аппаратно в плане пульта, хотелось просто попроще (хотя и думал CPLD там ставить, но тогда возможно и микроконтроллер для RS232 будет не сложнее...)

Условия эксплуатации - снаружи (т.е. в "поле").

Share this post


Link to post
Share on other sites
Насчет RS232 - в принципе реально ибо само устройство имеет RS232 и TxD, RxD, GND выходят на внешний разьем. Но тогда в пульте нужно какой-нить микроконтрллер и рутины RS232 комманд.

В приципе я не ограничен аппаратно в плане пульта, хотелось просто попроще (хотя и думал CPLD там ставить, но тогда возможно и микроконтроллер для RS232 будет не сложнее...)

Условия эксплуатации - снаружи (т.е. в "поле").

Если бы уже не было RS232, то имхо лучшим вариантом был бы LIN на процессоре за $0.3. Никакой обвязки и всего 3 провода - GND, LIN, питание пульта. А так - посчитать нужно. Но похоже LIN всётаки выигрывает.

Share this post


Link to post
Share on other sites
Если бы уже не было RS232, то имхо лучшим вариантом был бы LIN на процессоре за $0.3. Никакой обвязки и всего 3 провода - GND, LIN, питание пульта. А так - посчитать нужно. Но похоже LIN всётаки выигрывает.

 

Сорри за наивность, что такое LIN ? Не слышал от таковом..

Share this post


Link to post
Share on other sites
Сорри за наивность, что такое LIN ? Не слышал от таковом..

В автомобилях применяется в т.ч. Там ведь не везде CAN. Обычно до двери CAN, а в двери переходник с CAN на LIN и всякие лампочки, замки, стеклоподъёмники и т.п. уже по LIN управляются. LIN самосинхронизирующийся, т.е процессор от встроенного генератора может тактироваться в отличие от RS232 и т.п. А значит дешёвый. Специальные драйвера линии LIN имеются. Бывает их ещё однопроводным каном называют. Я не пользовался, но если интересно посмотрю - где-то ссылки были. В поисковике наберите - найдётся.

Share this post


Link to post
Share on other sites
В автомобилях применяется в т.ч. Там ведь не везде 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у соотв. код в систему). Думаю это будет наиболее простое и надежное решение, хотя с софтом для микроконтроллеров пока не доводилось иметь дело...

Share this post


Link to post
Share on other sites
...

Значит по кабелю пойдут 3 линии, хотя ежели будет экранированный - по нему можно пустить землю, тогда останутся всего 2 линии (сигналы).

...

Про питание пульта забыли. Или у него батарейка будет?

Share this post


Link to post
Share on other sites
Про питание пульта забыли. Или у него батарейка будет?

 

Да, немаловажная деталь.

У него автономное питание (батарейка indeed), надеюсь PIC контроллер + RS232 driver будут жрать по божески... :cranky: ...

А вообще, сколько может жрать такой контроллер (VCC 3.3V) учитывая ьто всего софта там будет скажем рутина UARTа ? (ожидание наьатия кнопок и посылание кодов комманд как следствие) ? Думаю использовать PIC со встроенным RS232 (кроме драйвера ессно), наверно 19200 хватит (хотя сама система работает с PC на 115200), клок контроллера наверно в пределах 10 MHz..

Share this post


Link to post
Share on other sites
Да, немаловажная деталь.

У него автономное питание (батарейка indeed), надеюсь PIC контроллер + RS232 driver будут жрать по божески... :cranky: ...

А вообще, сколько может жрать такой контроллер (VCC 3.3V) учитывая ьто всего софта там будет скажем рутина UARTа ? (ожидание наьатия кнопок и посылание кодов комманд как следствие) ? Думаю использовать PIC со встроенным RS232 (кроме драйвера ессно), наверно 19200 хватит (хотя сама система работает с PC на 115200), клок контроллера наверно в пределах 10 MHz..

Там 85...95% будет жрать собственно преобразователь в драйвере RS232 (около 3 милиампер). Это если процессор правильно настоить ессно. Я рекомендовал бы какую нибудь тиньку, но можно, хотя и хуже, и PIC.

В частности из-за потребления LIN интерфейс лучше. Он в отличие от RS232, если ничего не нажимать/передавать, то ничего и не жрёт. Можно и вообще 2 подтягивающих резистора по концам и всё - такой самодельный LIN. И микрофонный кабель использовать в кач-ве шнура можно будет.

Share this post


Link to post
Share on other sites
Там 85...95% будет жрать собственно преобразователь в драйвере RS232 (около 3 милиампер). Это если процессор правильно настоить ессно. Я рекомендовал бы какую нибудь тиньку, но можно, хотя и хуже, и PIC.

В частности из-за потребления LIN интерфейс лучше. Он в отличие от RS232, если ничего не нажимать/передавать, то ничего и не жрёт. Можно и вообще 2 подтягивающих резистора по концам и всё - такой самодельный LIN. И микрофонный кабель использовать в кач-ве шнура можно будет.

 

Спасибо.

А что за тинька ?

 

В принципе, работа пульта на систему ожидается эпизодическая, т.е. примерно 80-90% от времени работы системы - пульт молчит. Драйвер возьму ADM3222, он питается 3.3V, и есть у него shutdown.

Так и буду имплементировать держа его это 80-90% времени в shutdownе (т.е. контроллер будет держать его в shtudownе пока не будет запрос не передачу (нажатие кнопки)). Думаю не будет проблем для батарей.

Share this post


Link to post
Share on other sites
Спасибо.

А что за тинька ?

Атмеловская ATtiny xx. Дешевле при тех-же параметрах и по энергопотреблению обычно выигрывает.

В принципе, работа пульта на систему ожидается эпизодическая, т.е. примерно 80-90% от времени работы системы - пульт молчит. Драйвер возьму ADM3222, он питается 3.3V, и есть у него shutdown.

Так и буду имплементировать держа его это 80-90% времени в shutdownе (т.е. контроллер будет держать его в shtudownе пока не будет запрос не передачу (нажатие кнопки)). Думаю не будет проблем для батарей.

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

А процессор тоже можно в слипе держать и будить по нажатию.

Share this post


Link to post
Share on other sites
Атмеловская ATtiny xx. Дешевле при тех-же параметрах и по энергопотреблению обычно выигрывает.

 

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

А процессор тоже можно в слипе держать и будить по нажатию.

 

Ну ессно через step-up/boost, это уже детали которые очевидны, посему и не упоминал :)

А насчет процессора в power down и побудке по нажатию - это правильно.

 

2400 ? Тоже верно, вполне хватит...

Share this post


Link to post
Share on other sites
Ну ессно через step-up/boost, это уже детали которые очевидны, посему и не упоминал :)

Почему очевидны? Многие процы, в т.ч. те-же тиньки с буквой V в диапазоне 1,8..5,5 вольта работают.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this