![]() |
|
Модераторы: PILOT, ManiaK, Mazzi |
![]()
|
|
| supercelt |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 25.8.2005 Репутация: нет Всего: 1 |
Добрый день!
Народ подскажите пожалуйста как на avr обнаружить изменение фазы? Хотя бы просто алгоритм, желательно использовав внешнее прерывание по любому изменению фронта. ![]() Картинку прикрепил Если обнаружился сдвиг, то это ноль. Если сдвига нет, то 1 На вход МК поступает сигнал Modulator Control. Длина одного бита - 16 циклов несущей |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 3 Всего: 146 |
и в чем сложность ? спад сигнала клок берем значение... если идет подряд 2 одинаковых значения ... значит ноль...
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| supercelt |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 25.8.2005 Репутация: нет Всего: 1 |
Сложность как раз и состоит в том, что каждый раз при спаде клока брать значение - это загружает камень. К примеру я таким способом принял бит 4 бита данных и следующий 5 бит четности. И проверяю тут же чётность данных (тех 4 бит). Так вот за время проверки чётности прога опять уходит на приём уже следующего бита так и не завершив проверку чётности и всё сбивается
|
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 3 Всего: 146 |
покажите код как вы принимаете данные...
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| bass |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 5.8.2007 Репутация: нет Всего: 2 |
Скажите хоть какой камень используете. На какие ноги раскинуты входы??? http://samou4ka.net/page/vneshnie-preryvanija-mk-avr Вот статья на прерывания меги 8 ой. У вас в вопросе как то было - обработка прерываний таймера, вам там отвечали что обработку прерывание нужно делать как можно менее загруженной. Не пойму как конкретно работает протокол, но если нужно выловить Phase change то я бы сделал так. Завел данные линии CLOC на INT0 , modulation control на INT1.
Какой кварц стоит ??? Если стесняетесь выложить код здесь постучитесь в личку помогу. |
||||
|
|||||
| supercelt |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 25.8.2005 Репутация: нет Всего: 1 |
Я не стесняюсь. Просто я делал код для кодировки NRZ, а не для PSK. И там я понял что заходить в перывание так часто, даже если там минимум кода - это накладно. Потому что в отладчике увидел, что у меня не весь код выполняется в основном цикле. А то и дело щёлкает по прерываниям. Поэтому и возник вопрос. Ведь с PSK наверное по другому не получится, всё равно надо уходить в прерывание каждый такт клока.
кварц на 16. Камень - мега 16. В этом коде много проверочного мусора... Это сообщение отредактировал(а) supercelt - 26.8.2015, 13:24 |
|||
|
||||
| bass |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 5.8.2007 Репутация: нет Всего: 2 |
Дайте еще плиз даташитик что подключаете к МК. Не пойму протокол. |
||||
|
|||||
| bass |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 5.8.2007 Репутация: нет Всего: 2 |
http://www.rlocman.ru/shem/schematics.html?di=148455
Вот статья про rfid с примером исходного кода, правда не заводской считываетль подключаеться. Переделать код и будет что вам надо. |
|||
|
||||
| supercelt |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 25.8.2005 Репутация: нет Всего: 1 |
bass, Первое что я сделал как раз нашёл эту статью. В ней уже в самой теории обмена информацией есть ошибка. И ошибки с номиналами элементов. А код так вообще непонятно как он работает. В комментах многие жалуются что у них эта схема не работает. Есть много других схем которые я смотрел, но все они под манчестер
|
|||
|
||||
| bass |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 5.8.2007 Репутация: нет Всего: 2 |
Какую микросхему или схему тогда используете для приема самого несущего сигнала.
Так понял на входе МК мы имеем сигнал Modulator Control. И знаем временные метки протокола. (Clock) Данный сигнал мы не можем принимать на ногу микроконтроллера. В итоге нам нужно получить Binari Data. Так понимаю.
С Инициализацей таймеров и прерываний думаю проблем встать не должно. |
|||
|
||||
| supercelt |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 25.8.2005 Репутация: нет Всего: 1 |
bass, да всё верно. Принимаем на ногу modulator control, метки знаем . Спасибо за наводку, буду ковырять
|
|||
|
||||
![]()
|
| Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)" | |
|
|
На данный раздел помимо Правил форума распространяются текже следующие правила:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |