роботы робототехника микроконтроллеры


 Страниц (2): « 1 [2]   

> Описание: Делаем шифратор с нуля
anar Post Id



Главнокомандующий


Сообщений всего: 441
Дата рег-ции: Июнь 2011  



Извиняюсь Смущение ошибся с кем ни бывает.
 
 Top
Artem Post Id


Главнокомандующий


Сообщений всего: 347
Дата рег-ции: Май 2012  



С шифратором более или менее понятно, а как должен работать дешифратор.
P.S. Я хочу всё сделать сам потому что мне нужно освоить микроконтроллер.
 
 Top
Гость Post Id


УДАЛЁН







хорошо. с "дешифратором" всё гораздо сложнее (точнее с самим дешифратором как раз всё просто выдал принятые биты в порт и всё). итак у нас на выходе приемника есть какая-то последовательность из импульсов, надо из этих импульсов получить биты.
для этого нужно синхронизироваться с передатчиком. обычно для этого в передаваемом слове предусмотрена преамбула.
если использовать встроенные модули уарт, то там автоматичеки добавляется преамбула, и автоматически синхронизируется. помехоустойчивости у такой системы не будет (разве что если несколько байт передать и ПУ-кодами один восстаовить), но для начала сойдет.
 
 Top
Artem Post Id


Главнокомандующий


Сообщений всего: 347
Дата рег-ции: Май 2012  



То есть перед отправкой кода нужно послать одиночный импульс после которого дешифратор был готов принимать сигнал.
Дешифратор должен, после получения этого импульса, опрашивать одну линию входа и в течении какого-то времени, скажем 0.1секунды, ждать ответа. Микроконтроллер должен проделовать эту опирацию столько раз сколько символов содержиться в двоичном коде который формирует шифратор.
Помехоустойчивость мне к счастью не нужна.
 
 Top
anar Post Id



Главнокомандующий


Сообщений всего: 441
Дата рег-ции: Июнь 2011  



Мне кажется можно будет при опросе, каждой из кнопок, на выходе мк создавать шим сигнал, в ардуино(си я знаю плохо) для этого есть функция analogWrite.Потом надо подать этот шим сигнал на передатчик ну и соответственно принять его на приемнике потом декодировать его в ардуино для этого есть функция pulseIn и все.

(Отредактировано автором: 04 Июня, 2012 - 11:04:08)

 
 Top
Гость Post Id


УДАЛЁН







Цитата:
То есть перед отправкой кода нужно послать одиночный импульс после которого дешифратор был готов принимать сигнал.
Дешифратор должен, после получения этого импульса, опрашивать одну линию входа и в течении какого-то времени, скажем 0.1секунды, ждать ответа. Микроконтроллер должен проделовать эту опирацию столько раз сколько символов содержиться в двоичном коде который формирует шифратор.

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

можно и ШИМ, только с измерением длительности импульса с точностью до 1/256 от максимальной сложности возникнут. уж проще импульсами.
 
 Top
Artem Post Id


Главнокомандующий


Сообщений всего: 347
Дата рег-ции: Май 2012  



А что такое этот модуль UART?
 
 Top
Гость Post Id


УДАЛЁН







универсальный асинхронный приемник-передатчик.
есть во многих микроконтроллерах, с его помощью микроконтроллеры к COM-порту компьютера подключаются.
 
 Top
Artem Post Id


Главнокомандующий


Сообщений всего: 347
Дата рег-ции: Май 2012  



А можно ли как-то без него обойтись?
 
 Top
Гость Post Id


УДАЛЁН







можно, и даже больше того потом и придется от него избавляться, но с ним гораздо проще.
или у вас в контроллере его нет?
 
 Top
Artem Post Id


Главнокомандующий


Сообщений всего: 347
Дата рег-ции: Май 2012  



Я не знаю есть ли он в at mega 8 но програмирую его через COM порт. У меня нет возможности найти даташит так как я нахожусь далеко от города, и приходиться писать с телефона.
 
 Top
Гость Post Id


УДАЛЁН







хм... полистал я сайт атмелов:
ATmega8 - есть - если это он и есть - можно пользовать.
ATmega8L - есть
ATmega8A - есть
ATmega8U2 - есть
ATmega8HVA - нету.

а програмируете вы через СOM-порт но совсем другим интерфейсом (тут СOM-порт через задницу используется, но получается доступный програматор).

(Отредактировано автором: 05 Июня, 2012 - 23:15:35)

 
 Top
Artem Post Id


Главнокомандующий


Сообщений всего: 347
Дата рег-ции: Май 2012  



ну у меня есть Улыбка
 
 Top
Страниц (2): « 1 [2]
« Обо всем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 





Powered by Exclusive Bulletin Board
ExBB FM 1.0 RC1 Smiles by Fool from Foolstown
  Яндекс.Метрика   Рейтинг@Mail.ru