www.open-tager.ru http://www.open-tager.ru/forum/ |
|
В погоне за аскетизмом (LTKhv) http://www.open-tager.ru/forum/viewtopic.php?f=5&t=1845 |
Страница 13 из 16 |
Автор: | Pingvin [ 13 янв 2013, 21:52 ] |
Заголовок сообщения: | Re: В погоне за аскетизмом (LTKhv) |
Перепощу себя Цитата: Интересная мысль пришла по поводу того, как разрулить конфликт прерываний! А что, если мы в обработчике неглавного прерывании (в данном случае в прерывании таймера1) разрешим прерывания? То есть в нормальной ситуации прерывания обрабатываются так - при возникновении определённого события выставляется соответствующий флаг в регистре прерываний, и контроллер обрабатывает эти флаги по очереди, в зависимости от приоритета. Когда начинается обработка прерывания, все остальные прерывания запрещаются, и пока обработчик не выполнит свою работу, другие обработчики не запустятся. И вот возникает ситуация - прерывание таймера1 работает, а пора уже формировать новый импульс на ИК-диоде, но этого не происходит, так как прерывание таймера1 ещё не выполнило весь код. В несущей частоте образуется "провал", и TSOP это фиксирует - пакет забракован. А теперь, если при обработке прерывания таймера1 мы принудительно разрешим остальные прерывания, то в момент, когда нужно будет сформировать очередной импульс для ИК диода, обработка прерывания таймера1 прекратитья, и выполнится обработчик прерывания, формируюшего несущую (то есть таймера2). И тогда, по идее, срыва несущей не должно произойти! Возможно, качество звука немного пострадает, но это же не критично! Как думаете, сработает? Кто нибудь баловался таким образом с прерываниями? Вот и статейку нашел по теме [url]http://roboforum.ru/wiki/AVR:Прерывания/Приоритетность[/url] Прорвемся! Цитата: Разобрался с прерываниями! Только, помимо глобального разрешения прерываний не забывайте запрещать само прерывание , в обработчике которого вы это делаете (а перед выходом из обработчика снова разрешить), иначе обработчик улетает в такую рекурсию! http://www.open-tag.ru/forum/viewtopic.php?f=15&t=176&p=2637&hilit=%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0+%D1%81+%D0%BF%D1%80%D0%B5%D1%80%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%D0%BC%D0%B8#p2614 По этим "граблям" мы уже гуляли! |
Автор: | Pingvin [ 13 янв 2013, 22:07 ] |
Заголовок сообщения: | Re: В погоне за аскетизмом (LTKhv) |
Цитата: Приём 22.12.2012 12:47 Китай 200949 Экспорт 22.12.2012 22:58 Китай CNSHAA Заказал 22, сегодня уже 14 - за 3 недели посылка с места не сдвидулась! Вот тебе и "никаких подвижек"! |
Автор: | KEROL [ 13 янв 2013, 22:19 ] |
Заголовок сообщения: | Re: В погоне за аскетизмом (LTKhv) |
Вот и я хочу понять как надо реализовать прерывания от TSOP во время передачи пакета "выстрела" так, чтобы и прием полноценно осуществить и пакет передавался точно 2400/1200/600/600. Моя схема -это лишь мое видение этого дела.... Уверен, Пингвин знает, что говорит. И я разберусь в его идее рано или поздно... ЗЫ: Именно этот вопрос (Прием прерываний от ТСОП во премя передачи) считаю для себя наиболее важным. И сложным в реализации. А звук (МП3-декодинг) и Bluetooth реализуются отдельными чипами и их работа полу-автономна. Поэтому я и выдумал мысль, мол, а не разделить ли передачу и прием на два разных чипа... ЗЫЗЫ: Пингвин, не могу зайти по ссылке в Тему... |
Автор: | Pingvin [ 13 янв 2013, 22:29 ] |
Заголовок сообщения: | Re: В погоне за аскетизмом (LTKhv) |
KEROL писал(а): Вот и я хочу понять как надо реализовать прерывания от TSOP во время передачи пакета "выстрела" так, чтобы и прием полноценно осуществить и пакет передавался точно 2400/1200/600/600. Моя схема -это лишь мое видение этого дела.... Уверен, Пингвин знает, что говорит. И я разберусь в его идее рано или поздно... ЗЫ: Именно этот вопрос (Прием прерываний от ТСОП во премя передачи) считаю для себя наиболее важным. И сложным в реализации. А звук (МП3-декодинг) и Bluetooth реализуются отдельными чипами и их работа полу-автономна. Поэтому я и выдумал мысль, мол, а не разделить ли передачу и прием на два разных чипа... ЗЫЗЫ: Пингвин, не могу зайти по ссылке в Тему... Да просто всё как сибирский валенок! Все работает - не парьтесь! Писать долго... Тогда уж на сайте описание сделаю. ltascet.ru В прерывании, которое главное и молотит с частотой = 2xf0 просто меняю состояние вывода, если надо передавать несущую, и просто выставляю 0, если пауза. Я знаю, сколько "тиков" занимает 0 (600мкС*2f0=43 тика) и сколько 1 (1200*2*f0=85 тиков) и сколько старт бит (2400*2f0=173 тика). Поэтому за каждый тик я уменьшаю счетчик оставшихся тиков на единицу, проверяю, если 0, то все, передаю паузу, затем из буфера передатчика достаю новое значение и присваиваю его счетчику оставшихся тиков и все сначала. И так до признака конца строки в буфере передатчика. Прием же пакета никак не мешает передаче, просто генерируются прерывания поочередно по спаду и по фронту импульса от TSOPа и так же проверяется, сколько тиков было между спадом и фронтом и на основании этого, с учетом допустимой погрешности делается вывод, "шо это було"! |
Автор: | Pingvin [ 14 янв 2013, 07:05 ] |
Заголовок сообщения: | Re: В погоне за аскетизмом (LTKhv) |
А вообще "идеологически правильно" для генерации несущей использовать аппаратные возможности контроллера - ШИМ. Но у меня ШИМ аппаратный отдан под звук, при использовании mp3 декодера лучше задействовать таймер в режиме ШИМ. Неоспоримые плюсы: - экономия драгоценных ресурсов контроллера. - возможность легко менять скважность импульсов, тем самым регулирую "мощность" сигнала. Из минусов только привязка к конкретному пину контроллера. |
Автор: | KEROL [ 14 янв 2013, 17:55 ] |
Заголовок сообщения: | Re: В погоне за аскетизмом (LTKhv) |
Аппаратаный ШИМ безусловно предпочтителен. Особенно, если частота 56Кгц точная!))) И, если определюсь с прерываниями, то ШИМ только аппаратными средствами... |
Автор: | mail_robot [ 15 янв 2013, 16:02 ] |
Заголовок сообщения: | Re: В погоне за аскетизмом (LTKhv) |
заказал PicKit2. Эксперименты на этом пока остановились. Жду весь в нетерпении пока экспериментирую с зарядками для лития. Раздербанил пару блоков питания от компа, сделал блочок питания из дежурки на 5В 2А импульсный. Сегодня попробовал собрать схему синхронного выпрямителя на компараторе и двух полевиках по буржуйской схеме. Работает только с фильтром непонятные проблемы. Просто из интереса захотелось заменить на выходе выпрямительные диоды синхронным выпрямителем использовал материалы отсюда http://www.rlocman.ru/shem/schematics.html?di=105520 короч дурью маюсь спалил один irfz46 и lm393 (завтра куплю еще пачку) когда по нечайке в очередной раз на макетке переткнул переменку не туда, обжог палец и успокоился на этом. Но принципиально схема рабочая. Полупериоды красивее диодов вырисовывает на осциллографе. Все холодное под нагрузкой. вместе с программатором идут контроллеры зарядки литиевых акумов 4 штуки. Придут, запаяю все вместе и сотворю балансный зарядник для 3-х элементов 3,7 вольта. Ато аккумов море, а вот с зарядками проблема. На 11.1 вольта балансные зарядки чет шибко дорого стоят Схемку потом выложу как отлажу |
Автор: | Pingvin [ 15 янв 2013, 17:13 ] |
Заголовок сообщения: | Re: В погоне за аскетизмом (LTKhv) |
mail_robot писал(а): вместе с программатором идут контроллеры зарядки литиевых акумов 4 штуки. Схемку потом выложу как отлажу Так вот кто на chip-nn.ru все микрухи для зарадки лития выгреб!!! А у меня в охранке аккум заряжается контроллером через ШИМ, с контролем тока а напряжения. Работает как часы! Могу перенастроить для лития или фосфатника. Вот уже думаю - не сварганить чего нибудь а-ля "imax", с ЖКИ, связью с ПК и прочими плюшками? Только не знаю, как балансировка банок реализуется. |
Автор: | mail_robot [ 15 янв 2013, 17:27 ] |
Заголовок сообщения: | Re: В погоне за аскетизмом (LTKhv) |
да, это я самый балансиром очевидно. Схемы вроде есть. Там транзюков правда дохрена, но только на первый взгляд все страшно )) а схемку зарядки было бы неплохо получить в почту |
Автор: | Pingvin [ 15 янв 2013, 18:33 ] |
Заголовок сообщения: | Re: В погоне за аскетизмом (LTKhv) |
mail_robot писал(а): а схемку зарядки было бы неплохо получить в почту Да вот она, я же выкладывал download/file.php?id=1347 Сразу скажу - транзистор слабоват, при 700 мА грелся. Дроссель надо под конкретную частоту рассчитывать. |
Страница 13 из 16 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |