 |
|
|
|
| Автор |
Сообщение |
AndryG Модератор
Зарегистрирован: 24.07.2006 Сообщения: 411 Откуда: Helios-3
|
Добавлено: 17 Янв 2007, 13:59 Заголовок сообщения: |
|
|
Еще вариант формирования несущей с минимальными затратами процессорного времени ... использовать возможность переключения вывода контроллера с помощью таймера ... не помню что и как (никогда не использовал), но знаю, что такая возможность есть.
http://www.remexpert.com/forum/download.php?id=317 - русское описание на контроллер.
Стр. 23
| Цитата: | | Биты 7,6 - COM1A1, COM1A0: Режим выхода совпадения, биты 1 и 0: Эти управляющие биты задают отклик вывода OC1 процессора на совпадение регистра сравнения и таймера/счетчика 1. Поскольку это альтернативная функция порта, соответствующий бит направления должен устанавливать вывод на выход. Конфигурация управляющих бит показана в следующей таблице: |
Стр. 24
| Цитата: | | Бит 3 - CTC1: Очистка таймера счетчика 1 по совпадению: Если бит установлен (1), таймер/счетчик 1 устанавливается в $0000 в такте следующем за событием совпадения. Если бит сброшен, таймер/счетчик 1 продолжает считать пока не будет остановлен, сброшен, произойдет его переполнение или изменение направления счета. В режиме ШИМ этот бит не работает. |
Осталось посчитать значение, которое нужно запихнуть в регистр совпадения. и немного переиначить схему.
Тогда мы подключаем аноды светодиодов к этому выводу, а катоды на отдельные выводы контроллера... так-как AVR имеет полноценные выводы (умеет януть и вверх и вниз, а не только вниз, как MCS-51), то всё должно работать.
max_k
Почитайте описание таймеров - один из них умеет управлять одним выводом контроллера без участия ядра контроллера ... и ПИШИТЕ КОД!!! Сколько нас можно слушать для начала отбросьте подсчеты ... просто научитесь принимать сигналы от светодиодов.
_________________ AndryG
Последний раз редактировалось: AndryG (17 Янв 2007, 17:56), всего редактировалось 1 раз |
|
| Вернуться к началу |
|
 |
DL36 Живет здесь... (>100)

Зарегистрирован: 04.10.2006 Сообщения: 192 Откуда: Херсон
|
Добавлено: 17 Янв 2007, 16:24 Заголовок сообщения: |
|
|
| urry писал(а): | Я имел в виду несущую..
Конечно, модуляцию рс-5 ставить не стоит.. Она к Филипсу переползла из старой записи на ленту. Кто помнит Радио-86 РК - так там по такому принципу инфа на магнитофон записывалась.
Да, там не разночтения, а разные системы кодирования сигналов. Есть даже без заполнения несущей (родной "электрон", например). Самая большая экзотика, с которой я встречался - заполнение сигнала несущей 455 килогец (промежуточная частота импортных приемников). |
Манчестерский код применяют если надо подавить постоянную составляющую, РК-86, МИКРО 80 тот случай но не наш.
Тут заполнение 36кгц и если верить ДШ то все, что меньше чем 15*27uS =400uS микросхема проигнорирует. Т.е если по простому от длительности 1 будет отрезан кусок в 400uS насколько это больно пока не считал. Манчестер с этим конечно справиться но тут одним процом не обойтись. именно это смущает будет время посчитаю.
|
|
| Вернуться к началу |
|
 |
DL36 Живет здесь... (>100)

Зарегистрирован: 04.10.2006 Сообщения: 192 Откуда: Херсон
|
Добавлено: 17 Янв 2007, 16:39 Заголовок сообщения: |
|
|
| AndryG писал(а): | Еще вариант формирования несущей с минимальными затратами процессорного времени ... использовать возможность переключения вывода контроллера с помощью таймера ... не помню что и как (никогда не использовал), но знаю, что такая возможность есть.
Почитаю - отредактирую этот пост.
|
Ну что же давайте посчитаем. Заявленная частота 4Мг/36кгц=111 тактов Таймер без учета ядра работать не будет. Начинаем вычитать время входа в прерывание + сохранение контекста ~10 тактов. Время выхода ~10 тактов.
Обработка еще ~10 тактов. Итого 30. Делим 111/30=3,7 или 33% Другими словами только на обслуживание таймера уйдет 33% времени.
| AndryG писал(а): |
max_k
Почитайте описание таймеров - один из них умеет управлять одним выводом контроллера без участия ядра контроллера ... и ПИШИТЕ КОД!!! Сколько нас можно слушать для начала отбросьте подсчеты ... просто научитесь принимать сигналы от светодиодов. |
Спасибо за предложение.
|
|
| Вернуться к началу |
|
 |
AndryG Модератор
Зарегистрирован: 24.07.2006 Сообщения: 411 Откуда: Helios-3
|
Добавлено: 17 Янв 2007, 17:47 Заголовок сообщения: |
|
|
| DL36 писал(а): |
Ну что же давайте посчитаем. Заявленная частота 4Мг/36кгц=111 тактов Таймер без учета ядра работать не будет. Начинаем вычитать время входа в прерывание + сохранение контекста ~10 тактов. Время выхода ~10 тактов.
Обработка еще ~10 тактов. Итого 30. Делим 111/30=3,7 или 33% Другими словами только на обслуживание таймера уйдет 33% времени.
|
Для начала замечу. что тактовую можно и поднять...
А потом я говорил о независимом от ядра управлении вывода таймера ... следовательно мы не трогаем прерываний ... расчеты с прерыванием я делал немного выше ... но там тактовую я предложил 10МГц.
http://www.remexpert.com/forum/download.php?id=317 - русское описание на контроллер.
Стр. 23
| Цитата: | | Биты 7,6 - COM1A1, COM1A0: Режим выхода совпадения, биты 1 и 0: Эти управляющие биты задают отклик вывода OC1 процессора на совпадение регистра сравнения и таймера/счетчика 1. Поскольку это альтернативная функция порта, соответствующий бит направления должен устанавливать вывод на выход. Конфигурация управляющих бит показана в следующей таблице: |
Стр. 24
| Цитата: | | Бит 3 - CTC1: Очистка таймера счетчика 1 по совпадению: Если бит установлен (1), таймер/счетчик 1 устанавливается в $0000 в такте следующем за событием совпадения. Если бит сброшен, таймер/счетчик 1 продолжает считать пока не будет остановлен, сброшен, произойдет его переполнение или изменение направления счета. В режиме ШИМ этот бит не работает. |
осталось посчитать значение, которое нужно запихнуть в регистр совпадения. и немного переиначить схему.
Нуу и проверить в действии
Вот .. додумал ... скважность страдает ... 1:1 получается, а не 1:3 ... тут нас рассудят читащие даташит... будет работать, аль нет.
____
P.S.
"Спасибо за предложение" ... не знаю, что Вас сподвигло меня благодарить ... может "отбросьте подсчеты" ... я имел ввиду подсчет людей в помещении ... пока бы просто с датчиками разобраться ... или "перестаньте слушать нас" .. имелось ввиду, что надо не просто слушать, а самому творить.
_________________ AndryG |
|
| Вернуться к началу |
|
 |
DL36 Живет здесь... (>100)

Зарегистрирован: 04.10.2006 Сообщения: 192 Откуда: Херсон
|
Добавлено: 17 Янв 2007, 19:17 Заголовок сообщения: |
|
|
Непонимание возникло из за контроллера, я работаю с ПИКами. В данное время мне некогда изучать что либо другое.
То что Вы описали это режим ШИМ, чуть выше Юрий сказал, что ШИМа нет. Поэтому я и выкручивался. Используя PIC628A с ШИМ на скорости 1200 напишу. Ваша проблема портировать, хотя главное идея и особых проблем не будет.
|
|
| Вернуться к началу |
|
 |
AndryG Модератор
Зарегистрирован: 24.07.2006 Сообщения: 411 Откуда: Helios-3
|
Добавлено: 17 Янв 2007, 19:28 Заголовок сообщения: |
|
|
ШИМ в контроллере есть ... но я предлагаю не его использовать, а другую возможность контроллера.
Думал о ШИМ, скважность элементарно тогда настроить, но яастота не выдерживается - нужно ставить кварц тогда на 19Мгц а максимальная тактовая 16 Мгц.
Вы скажите, как читавший даташит на приемник, как он смотрит на скважность 1, а не 4 ?
_________________ AndryG |
|
| Вернуться к началу |
|
 |
DL36 Живет здесь... (>100)

Зарегистрирован: 04.10.2006 Сообщения: 192 Откуда: Херсон
|
Добавлено: 17 Янв 2007, 20:53 Заголовок сообщения: |
|
|
| AndryG писал(а): |
Вы скажите, как читавший даташит на приемник, как он смотрит на скважность 1, а не 4 ? |
В ДШ меандр, на пике 36кгц получается без проблем.
Проблема с временами, думаю сегодня напишу, как я это понимаю. Мне интересно кто попробует, какой будет результат.
|
|
| Вернуться к началу |
|
 |
Murka Знатный посетитель (>20)

Зарегистрирован: 14.10.2006 Сообщения: 51 Откуда: Рубежное UA_13
|
Добавлено: 18 Янв 2007, 1:59 Заголовок сообщения: |
|
|
| AndryG писал(а): | | Еще вариант формирования несущей с минимальными затратами процессорного времени ... использовать возможность переключения вывода контроллера с помощью таймера ... не помню что и как (никогда не использовал), но знаю, что такая возможность есть. |
Ну наконец-то, а я то про это писал ещё на первой или второй странице.
Тока частоту для COM1A1, COM1A0 надо (ИМХО) (не помню) в два раза больше брать, ну в крайнем случае мона в VmLab проверить. А так всё правильно, про ШИМ не знаю не юзал.
_________________ Смешно!!!, с всемирной тупостью бороться!!! |
|
| Вернуться к началу |
|
 |
AndryG Модератор
Зарегистрирован: 24.07.2006 Сообщения: 411 Откуда: Helios-3
|
Добавлено: 18 Янв 2007, 13:10 Заголовок сообщения: |
|
|
Помнится вы упоминали там про прерывания ... а это процессорное время, которое мы тут бережем и считаем
Вот ... накропал ... сколько вожусь с контроллерами .. все думал: "Кому и когда пригодится эта возможность контроллера" - пригодилась
Кварц 11.059МГц ... время проца на генерацию несущей НЕ ИСПОЛЬЗУЕТСЯ.
| Код: |
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 11059,000 kHz
// Mode: Normal top=FFFFh
// OC1 output: Toggle !!!!!!!!!!!!!!!!!!!!!!!!!!!!
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare Match Interrupt: Off
TCCR1A=0x40;
TCCR1B=0x09;
TCNT1H=0x00;
TCNT1L=0x00;
OCR1 =0x99;
|
| Описание: |
|
| Размер файла: |
6.86 KB |
| Просмотрено: |
1388 раз(а) |

|
| Описание: |
| Это RAR-архив!!! Проект CVAVR, исходник С и проект Proteus |
|
 Файлообменник |
| Название файла: |
Reg.c |
| Размер файла: |
13.55 KB |
| Скачено: |
158 раз(а) |
_________________ AndryG |
|
| Вернуться к началу |
|
 |
DL36 Живет здесь... (>100)

Зарегистрирован: 04.10.2006 Сообщения: 192 Откуда: Херсон
|
Добавлено: 18 Янв 2007, 20:16 Заголовок сообщения: |
|
|
Я тоже тут сформировал.
Возникло несколько вопросов.
На рисунке видно частоту 36000 при частоте 8'640'000гц.
На посылке 0х15, специально три 1. скорость около 1200 частота повторения 10 гц.
Так вот в единице уложено 9 периодов, может еще уменьшить скорость до 600?
Программу почти написал, сейчас с проверками вожусь.
| Описание: |
|
| Размер файла: |
20.2 KB |
| Просмотрено: |
1377 раз(а) |

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