Тем, кто интересуется связью микроконтроллеров по радиоканалу...
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Гудвин 19 мая 2003 г. 15:20

На днях в ru.embedded обсуждалась тема MANCHESTER.
Michael Belousoff подкинул весьма полезную идею
по использованию в subj аппаратного UART :

*******************
Если pадиоканал не позволяет пеpедавать сигнал, содеpжащий
постояннyю составляющyю, и есть возможность сделать манчестеp -
сделай. Hет - можно пеpедавать манчестеpоподобные данные
чеpез UART. Это делается, напpимеp, так: любой байт пеpедаётся
двyмя байтами, или каждый полyбайт пеpедаётся одним байтом:

0h - 55h
1h - 56h
2h - 59h
3h - 5Ah
4h - 65h
5h - 66h
6h - 69h
7h - 6Ah
8h - 95h
9h - 96h
Ah - 99h
Bh 9Ah
Ch - A5h
Dh - A6h
Eh - A9h
Fh - AAh

Стаpт-бит - 0, стоп-бит - 1, адын штюк, остальных битов -
8 (бита чётности нет). Синхpонизиpовать UART следyет пеpедачей не
менее 8 комбинаций AAh 55h. Лyчше - больше, ведь надо ещё дождаться
выхода пеpедатчика и пpиёмника на pабочий pежим.

Может возникнyть законный вопpос: а зачем нyжно подобное извpащение?
Ответ: ЭТО обладает свойством манчестеpа: не содеpжит постояннyю
составляющyю (точнее, она элементаpно восстанавливается на пpиёмной
стоpоне), но, в отличии от манчестеpа, позволяет пользоваться аппаpатным
UARTом. Конечно, тpебyются пpоцедypы кодиpования и декодиpования данных,
но они элементаpны.
*************************
Так вот, попробовал, и остался доволен (спасибо автору) :)

Приемник к PC подключил на RX посл. порта через компаратор, питающийся от DTR и RTS.
Пара компонент библиотеки ASINC PRO: TApdDataPacket и TApdComPort1 облегчили жизнь ;-)
Передатчик подцепил к TX AVR через делитель и простейший фильтр.
AVR пуляет короткие (60 байт) пакеты раз в секунду.
Побродил в окрестностях - практически все пакеты пришли...

Вообщем классная фишка:
Простейшую систему сбора данных можно собрать практически наколенке :)
В составе удаленных контроллеров не требуется радиомодем - весь обмен по радиоканалу можно осуществить в прерываниях UART.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru