Jump to content

    

AVR -> UART -> VNC1L

Доброго времени суток!

Пришел на днях девайс MMusbVNC1L от vinculum. Пытаюсь соединить его с МК Atmega128 по UART.

На сайте нашел схему подключения МК к VNC1L. Для подключения использовал 4 выхода: RTS, CTS, RXD и TXD. Подключал по такой схеме:

 

_________________

МК VNC1L

_________________

TXD ------ RXD

RXD ------ TXD

RTS ------ CTS

CTS ------ RTS

 

Также подключил питание (+5B) и землю к MMusbVNC1L. Перемычки выбора интерфейса стоят в правильном порядке (выбран UART).

 

Как использовать линии RTS и CTS при передаче команды от МК к девайсу? Какие сигналы подавать? Что только не пробовал и в 1 устанавливал при передаче и в 0 сбрасывал - все равно в прерывании по приему не приходит ничего :(

Может я чего-нибудь не так подключил?

 

Даташит на MMusbVNC1L прилагается. MMusbVNC1L_en.pdf

Share this post


Link to post
Share on other sites

А вы полностью уверены, что в м/с модуля загружено соответствующим firmware? Если да, то для проверки просто замкните на модуле RTS и CTS между собой и вставьте в разъем USB FlashDrive. После этого, поморгав светодиодами, модуль должен передать диагностическое сообщение. А вообще следует читать документацию на сайте производителя м/с VNC1L (Vinculum это бренд фирмы FTDIchip).

Share this post


Link to post
Share on other sites
А вы полностью уверены, что в м/с модуля загружено соответствующим firmware? Если да, то для проверки просто замкните на модуле RTS и CTS между собой и вставьте в разъем USB FlashDrive. После этого, поморгав светодиодами, модуль должен передать диагностическое сообщение. А вообще следует читать документацию на сайте производителя м/с VNC1L (Vinculum это бренд фирмы FTDIchip).

 

Когда я вставляю флэшку, светодиоды попеременно моргают, потом загорается и горит один из них. По этому призаку я понимаю, что прошивка в устройстве уже стоит. Т.е. для проверки на модуле я должен замкнуть выводы RTS и CTS и для связи с МК оставить только RXD и TXD, правильно ли я Вас понял? Какого же тогда назначение этих выводов (RTS и CTS)? Может их вообще не использовать?

Share this post


Link to post
Share on other sites
Т.е. для проверки на модуле я должен замкнуть выводы RTS и CTS и для связи с МК оставить только RXD и TXD, правильно ли я Вас понял?
Правильно. Но я предложил это лишь только для проверки работоспособности модуля.

Какого же тогда назначение этих выводов (RTS и CTS)? Может их вообще не использовать?
Назначение типовое - handshake signals для управление потоком данных. Использовать их вынужденно придется, т.к. у VNC1L весьма небольшой буфер данных, который быстро переполняется при записи больших файлов. При переходе сигнала RTS# из 1 в 0 МК должен прекратить передачу до восстановления уровня 1. После этого передача может быть продолжена. Если у вашего МК и его управляющей программы нет проблем с переполнением буфера, то сигнал CTS# можно не использовать, подключив к нему только pull-up резистор (или pull-up там встроенный? позабыл уже :laughing: ).

Share this post


Link to post
Share on other sites
Правильно. Но я предложил это лишь только для проверки работоспособности модуля.

Назначение типовое - handshake signals для управление потоком данных. Использовать их вынужденно придется, т.к. у VNC1L весьма небольшой буфер данных, который быстро переполняется при записи больших файлов. При переходе сигнала RTS# из 1 в 0 МК должен прекратить передачу до восстановления уровня 1. После этого передача может быть продолжена. Если у вашего МК и его управляющей программы нет проблем с переполнением буфера, то сигнал CTS# можно не использовать, подключив к нему только pull-up резистор (или pull-up там встроенный? позабыл уже :laughing: ).

 

Спасиба! Помогло! И с RTS/CTS разобрался. :cheers:

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this