система дистанционного управления на ATtiny 2313 "c нуля"
| |
ВитГо | Дата: Пятница, 21.12.2012, 23:50 | Сообщение # 451 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| Цитата (uwrtey) ага, попробовал осциллограмму прикрепил на каком то бите получается обрыв посылки........ я сначала посчитал, что на 29-ом, а потом до меня дошло, что первые биты то же могут быть потеряны .... в обще-то информацию о нажатой (17-ой) кнопе должна нести 33-ая пауза (one-len)... судя по графику на ней и происходит обрыв, хотя фиг его знает.... ( тут я в обще ни чего не понял... даже предположения строить боюсь...)
ну в принципе понимать особо нечего - срыв он и есть срыв.. никто ничего не гарантирует.. ОК, значит на нашей частоте работает устойчиво и это радует ! остаемся на этой скорости
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Суббота, 22.12.2012, 01:17 | Сообщение # 452 |
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Статус: Offline
| Цитата (ВитГо) ОК, значит на нашей частоте работает устойчиво и это радует ! остаемся на этой скорости что ? не понял я что-то ничего .... на 20 МГц ? ( 1 тик таймера = 0,05 микросекунд ) ??? и пред-делитель менять не будем ? ( видел бы ты удивление на моем лице, когда я это прочитал.... Я аж удивился, что так удивляться умею ) * * ссылка на errate не работает ! * * а мы будем использовать EEPROM ? ( я про него еще ни чего не знаю...)
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Суббота, 22.12.2012, 01:23 |
|
| |
ВитГо | Дата: Суббота, 22.12.2012, 10:40 | Сообщение # 453 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| ну тогда так: http://forum.easyelectronics.ru/viewtopic.php?f=4&t=2651&start=0
я написал в поддержку что ссылки бьются.. посмотрим что ответят, пока ссылки содержащие знак амперсанта (&) нужно добавлять как текст сообщения, без использования тега url
Виталий (аka ВитГо)
|
|
| |
ВитГо | Дата: Суббота, 22.12.2012, 10:43 | Сообщение # 454 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| Цитата (uwrtey) что ? не понял я что-то ничего .... на 20 МГц ? ( 1 тик таймера = 0,05 микросекунд ) ??? и пред-делитель менять не будем ?
ну я имел в виду что будем использовать те значения предделителя и счетчиков в передатчике что считали ранее..
Цитата (uwrtey) а мы будем использовать EEPROM ? ( я про него еще ни чего не знаю...) еепром позволяет хранить данные после выключения питания.. в принципе в нашей задаче вроде как пока не нужно..
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Суббота, 22.12.2012, 12:04 | Сообщение # 455 |
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Статус: Offline
| Цитата (ВитГо) ну я имел в виду что будем использовать те значения предделителя и счетчиков в передатчике что считали ранее.. дак мы рассчитывали, что будем использовать кварц на 20МГц и тактовая частота не будет поделена! 1 тик таймера = 0,05 микросекунд
Но, так как я не умел высчитывать фузы, я запускал МК на заводских фузах, а это значит что МК запускался от внутреннего генератора вот // внутренний Генератор 8МГц, включен внутренний делитель тактовой частоты (1/8) итого получаем 1Мгц // 1 тик таймера =1мкс( если, конечно, я все правильно рассчитал ) вот я и говорю что не понял - что ты имеешь в виду... ( до сих пор не понял...)
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Суббота, 22.12.2012, 13:03 |
|
| |
ВитГо | Дата: Суббота, 22.12.2012, 12:25 | Сообщение # 456 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| ну я имею в виду что бум использовать частоту генерации сигнала как при тактовой частоте от внутреннего генератора
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Суббота, 22.12.2012, 13:03 | Сообщение # 457 |
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Статус: Offline
| а запускать будем от внутреннего генератора или от кварца ( что бы частота по-стабильнее была ) можно например поставить кварцы на 20 МГц ( других у меня нет в наличии, НО я могу купить если потребуется... ) и поделить частоту на 8 20/8=2,5 МГц это получается 1 тик таймера = 0,4 микросекунда что ты об этом думаешь ? или нам "кварцованная" точность не нужна и запускаем от внутреннего генератора ?
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Суббота, 22.12.2012, 14:06 |
|
| |
ВитГо | Дата: Воскресенье, 23.12.2012, 03:14 | Сообщение # 458 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| кварцованная точность не нужна.. мы же дискретные команды подаем... поэтому можно остаться и на внутреннем генераторе
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Воскресенье, 23.12.2012, 20:08 | Сообщение # 459 |
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Статус: Offline
| Мы будем принимать за "шум" все импульсы, которые меньше 2970 тиков таймера ? или возьмем четвертую часть самого маленького значения (2970/4=742) и будем принимать за "шум" всё, что меньше этого значения...??? но тогда что мы буде делать со значением лежащим в диапазоне между 2970 и 742 тиков ?
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Воскресенье, 23.12.2012, 21:27 |
|
| |
ВитГо | Дата: Понедельник, 24.12.2012, 05:05 | Сообщение # 460 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| ну тут как захочешь так и сделаешь..
просто при моей любви бить все на блоки и подпрограммы, мне видиться следующее разбиение: - процедура захвата импулься длительностью не менее 3\4 от ожидаемой (все остальное шумы) - процедура захвата пауз длительностью от 3\4 (Т) до 2Т (нули и единицы) - все остальное шумы - процедура анализа полученных импульсов и пауз (нулей и единичек) которая будет проверять полученное и проверять на корректность...
в принципе в этом случае можно попробовать передатчик сделать без внешнего кварца - коль все равно будем отлавливать диапазоны интервалов...
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Понедельник, 24.12.2012, 12:13 | Сообщение # 461 |
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Статус: Offline
| Цитата (ВитГо) просто при моей любви бить все на блоки и подпрограммы, мне видиться следующее разбиение: как скажешь, наставник...
Цитата (ВитГо) в принципе в этом случае можно попробовать передатчик сделать без внешнего кварца - коль все равно будем отлавливать диапазоны интервалов... дак ты в прошлом сообщении сказал, что мы оставлять фузы по дефолту, то есть запускаем МК от внутреннего генератора.... или ты это про приемник говорил? просто, я и на передатчике и на приемнике выствляю фузы одинаково, иначе приемник перестанет "понимать" команды передатчика...
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Понедельник, 24.12.2012, 13:41 |
|
| |
ВитГо | Дата: Понедельник, 24.12.2012, 17:01 | Сообщение # 462 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| ну в принципе если для приемника делители пересчитать - то не перестанет..
но для наших целей проще выставлять одинаково
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Вторник, 25.12.2012, 21:11 | Сообщение # 463 |
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Статус: Offline
| Виталий, посмотри пожалуйста код, что бы ты в него еще добавил или изменил?
дело в том, что у меня флаг фазы остался неудел... функционирует только флаг фазы первого нарастающего фронта. а дальше в оперативку пишем подряд (друг за другом) начиная с импульса и заканчивая паузой 40 значений (40 байт)
смотрим схему
1) помехи (шум) уже регистрируется и МК выходит из прерывания.
2) импульс нормальной длины уже регистрируется! МК записывает лог_1 в ОЗУ ( МК не знает импульс (imp_len) это или пауза (лог_1 = one_len)
3) пауза нормальной длины ( лог_0 = null_len) уже регистрируется! МК записывает лог_0 в ОЗУ
4) два импульса, с общим временем Imp1 + Pausa1 +Imp2 = Imp (причем время Pausa1 < 2 мкс)- НЕ регистрируется! а разве бывают паузы-помехи в амплитудной модуляции ВЧ??? Поправь меня если я не прав....
5) две паузы с общим временем Pausa2 + Imp3 + Pausa3 = 2*Imp (причем Imp3 < 2 мкс) - НЕ регистрируется!!! а надо ли ? ( надо посмотреть осциллограмму приемника на приличной дистанции )
6) импульс или пауза длиной больше чем imp_len (one_len) и меньше чем null_len регистрируются как чужой сигнал! и МК скидывает значения флагов и начинает "собирать" данные сначала!!!
7) импульс или пауза длиной больше чем null_len регистрируются как слишком длинная пауза/ импульс! МК скидывает значения флагов и начинает "собирать" данные сначала!!!
Или ты считаешь, что проверка длительностей полностью написана не так как надо ?
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Вторник, 25.12.2012, 22:53 |
|
| |
uwrtey | Дата: Вторник, 25.12.2012, 22:19 | Сообщение # 464 |
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Статус: Offline
| еще нужно написать процедуру чтения ОЗУ. Я хоть правильно данные в ОЗУ записываю? (единицы и нули) можно ведь сделать процедуру вывода на экран того, что сохранили в ОЗУ..
Что дальше делать то? че то я совсем затупил...
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Среда, 26.12.2012, 15:29 |
|
| |
ВитГо | Дата: Среда, 26.12.2012, 18:34 | Сообщение # 465 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| чтото я не увидел где идет запись в ОЗУ?
команда для записи ST Z+, reg ; это соответственно запись регистра reg с инкрементом адреса
чтение LD reg, Z+ ; чтение с инкрементом адреса
Виталий (аka ВитГо)
|
|
| |
|