RCHeliClub.ru

Для новичков => Вопросы новичка => Тема начата: avi@tor от 28 Апрель, 2015, 12:01:59 pm

Название: Arduino nano: DTR и RTS своими руками.
Отправлено: avi@tor от 28 Апрель, 2015, 12:01:59 pm
Уважаемые коллеги по хобби.
Возникла у меня необходимость подключиться к устройству USART с 6-ю пинами.
Четыре из них стандартные: Земля, +5В, RX, TX, а вот два дополнительных - контроль потока: DTR и CTS.
Проблема в том, что стандартные адаптеры дают только 4 провода, а заказывать ещё железку с "на_еБэя" не хочется ибо долго и "абыдна, да".

В общем надо как-то сколхозить контроль потока.
Есть:
1. Китайский адаптер (UART/i2c+SPI) с непонятными обозначениями:
(http://img04.taobaocdn.com/bao/uploaded/i4/37238385/T2ZGWsXDRXXXXXXXXX_!!37238385.jpg)
В данном случае не понятны обозначения DD и DC ибо в описании стандарта я DC вообще не нашёл.
Можно-ли, нельзя-ли таким подцепиться к USART с контролем чётности я так и не понял. Эксперименты продолжаются.

2. Есть вот такая вот "метла" (ИЧХ отечественного производства!).
(http://www.freeduino.ru/arduino/images/FreeduinoNano_4_big.jpg)

Поскольку DTR и CTS являются инструментами контроля потока (как я понял, сначала мы шлём "модему" DTR и ждём от "модема" СTS, далее льём фрейм данных и так каждый раз) мне почему-то кажется, что наверное можно написать небольшой скетч на ардуине который сможет управлять передачей данных таким образом.
Вопрос к бывалым: Как это сделать и возможно есть изъяны в логике?
Название: Re: Arduino nano: DTR и RTS своими руками.
Отправлено: AndRay от 28 Апрель, 2015, 23:00:51 pm
Жуть какая... на микросхему смотреть надо, а не на надписи на плате... на мкросхеме, как правило, выведено всё... + подтянуть что надо к чему надо...

А на фото - обычная ардуина, которой RTS нужен для пересброса в режиме прошивке, не более того.
Название: Re: Arduino nano: DTR и RTS своими руками.
Отправлено: ilyxa от 30 Апрель, 2015, 09:30:25 am
Поколхозить можно, но если нужно мороковать с реальным устройством - я бы посоветовал глянуть на девайс Moxa UPort 110 (готовое решение). Если же принципиален колхоз - на праздниках с удовольствием ковырну ардуинку ;)
Название: Re: Arduino nano: DTR и RTS своими руками.
Отправлено: avi@tor от 30 Апрель, 2015, 13:43:48 pm
Андрей, я могу и микросхемку показать, вот она (minimosd в редакции MultirotorMania):
(http://multirotormania.com/2072-thickbox_default/mrm-minimosd-.jpg)
(http://static.rcgroups.net/forums/attachments/2/2/5/6/4/ai17444948-17-thumb-main.jpg)
Но это вряд ли что-то изменит, тут ведь реально что-то сделать надо, а не сказки рассказывать.


Илюх, буду признателен если что-то выйдет. Я сам тоже постараюсь разобраться, но для меня пока эта ардуина лес густой. Теоретически примерно понимаю чего там надо, но в коде как реализовать пока не разобрался.
По-хорошему пока план такой:
Берём UART через USB, пишем в буфер, а затем потихоньку засылаем эти данные через другие ножки контроллера в прошиваемый девайс не забывая при этом сначала слать DTR и получать CTS перед каждым пакетом данных.
Как-то так.
Название: Re: Arduino nano: DTR и RTS своими руками.
Отправлено: ilyxa от 30 Апрель, 2015, 14:28:10 pm
http://www.pjrc.com/teensy/td_libs_AltSoftSerial.html (http://www.pjrc.com/teensy/td_libs_AltSoftSerial.html) раз
http://www.arduino.cc/en/Reference/SoftwareSerial (http://www.arduino.cc/en/Reference/SoftwareSerial) - причем ее пользовал в каких-то проектах, косая шо ппц, но жить можно
Название: Re: Arduino nano: DTR и RTS своими руками.
Отправлено: ilyxa от 30 Апрель, 2015, 14:32:54 pm
Смотри, какой еще колхоз на cp21x есть
http://dmstudios.net/misc/CP2102_USB_UART_mod-001_small.jpg (http://dmstudios.net/misc/CP2102_USB_UART_mod-001_small.jpg)

Боюсь играть в кэпа, но.

По существу - линии квитирования (RTS/CTS) тебе нафик не нужны, конкретно для данной железки, забудь про них (ты все равно CTS с адаптера пригонишь на землю, будешь там иметь усегда логическую единичку, как и положено, что в целом-то пофиг).

Колхоз, если нет UART/USB адаптера, описан с конкретно твоей железкой описан здесь http://www.rcgroups.com/forums/showpost.php?p=28145350&postcount=75 (http://www.rcgroups.com/forums/showpost.php?p=28145350&postcount=75)

Линия DTR тебе нужна только для того, чтобы добраться до bootloader'a этой самой железки, ТОЧНО такой же функционал (без линии DTR) можно изобразить, мастерски-вовремя нажимая кноповку RESET на плате (если возился с arduino nano - тебе такое уже знакомо, при прошивке скетчей).
Название: Re: Arduino nano: DTR и RTS своими руками.
Отправлено: avi@tor от 30 Апрель, 2015, 16:26:53 pm
Аха! Вон они какие, сеРверные олени!
Это очень-очень ценная информация. Была такая фигня на ранних прошивках PX4, там надо было в бутлоадер выставить плату, чтобы прошивку залить. Какраз резетом делалось.
Сейчас поэкспериментирую.
Название: Re: Arduino nano: DTR и RTS своими руками.
Отправлено: avi@tor от 30 Апрель, 2015, 17:16:15 pm
Илюх, огромное тебе человеческое спасибо :)
Перешил ОСД-шку методом "прецензионного ресета".
Пока ещё в воздухе не тестировал, но все данные записались, а большего от неё пока не требуется.
Название: Re: Arduino nano: DTR и RTS своими руками.
Отправлено: ilyxa от 30 Апрель, 2015, 18:33:07 pm
Та не за шо :) Хороших полетов :)
Название: Re: Arduino nano: DTR и RTS своими руками.
Отправлено: AndRay от 30 Апрель, 2015, 23:24:49 pm
вот она
не эта, а на которой USB компорт... Это то понятно, 328ая атмега обычная, шьется методом Ильи (мне было лень, я на 3 доллара купил несколько правильно разведенных UARTов)
Название: Re: Arduino nano: DTR и RTS своими руками.
Отправлено: avi@tor от 01 Май, 2015, 13:33:36 pm
Она ничего не даст, обычный чип с программируемой логикой. Там как и в ардуине все самое интересное внутри происходит.