реклама на сайте
подробности

 
 
> И снова частотомер на Atmega8., нужен алгоритм
Peeoner
сообщение Jul 10 2008, 23:45
Сообщение #1





Группа: Новичок
Сообщений: 10
Регистрация: 2-07-08
Пользователь №: 38 711



Добрый день всем!
На этом форуме я вобщем новичек.
Вот уже меня достал этот вопрос,бо я лажу-и везде готовые схемы,без самой идеи как оно работает!
Не надо мне готовые варианты нада сама идея!!!
Вобщем в чем суть то вопроса
Сваял так сказать частотомер на Atmega8+LMXxxxx пределитель,с выводом на МЭЛТ MT10T7-7.
Тут запортачка с самим принципом измерения!
Пишу на ассемблере,писать на С для таких контролеров,как по мне это полное извращение!
И так.
Использую 2 таймера-8битный Т0,и 16 битный Т1.
Измерительная частота поступает сразу на вход Т1(PD5).
После инициализацие портов,дисплея и LMX,инициализирую таймеры--
на Т0 пускаю сигнал с кварца,поделенный на 8, вход T1 подкл к источнику сигнала.
А забыл-в Т0 записую константу,что бы прерывание от него наступило после 100 импульсов поступивших на него.
Потом запускаю бесконечный цикл.
Наступает прирывани через 100имульсов тактируемые частотой 1МГЦ(8МГЦ/8).
Останавлваем Т1,изымаем даные с регистров,преобразуем 16бит в 5 десятичных знаков,выводим на экран. запускаем таймеры-счетчики,возвращаемся в бесконечный цикл.

Так вот в чем глюк! Когда тестил прогу,тестил ее на частах до 2х Мгц,т е 8 бит 16битного счетчика,потом прикурил LMX,тут чюдеса когда значение в Т1 больше 255,почемуто не корректно просходит преобразование двоичного числа в десятичное...один алгорит нарыл преобразования,а все остальное бред какойто...возникли сомнения -правильно ли у меня преобразование 2х 8битных регистров с T1 в десятичный код?
бо в инете токо один пример нарыл,остальное для школы 11 класса!

Вопрос. Будет ли работать моя идея??? И какие тут подводные камни,и точность.Вобще работает,но я не уверен чт идея верна
И как реализуют алгоритм на одном 8 битном таймере? ведь прерывание,изьятие из регистра и запись,это погрешность ,и приличная!

Почитав это http://electronix.ru/forum/index.php?showt...29796&st=75 ,я пришол в УЖАС!!! 07.gif
Мне хватит и 5 разрядов.
Сразу скажу частоту мерять до 3 ГГц,точность +-0.5МГЦ не критично!
Схема собрана,работает,но вот с алгоритмом измерения походу не то.

Посмотрел тут схемы,почемуто народ использует 8 битный таймер-счетчик...да и прошивы все hex,пришлось дизасемблить и смотреть....ну просто бесит..что нигде ни кто подробно не описал по человечиски....

Жду коментарием. За любой ответ буду благодарен.

Сообщение отредактировал Peeoner - Jul 10 2008, 23:59
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Tiny
сообщение Jul 13 2008, 07:32
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 82
Регистрация: 10-07-06
Пользователь №: 18 720



Такой вопрос.
CodeVision, пример из пакета \cvavreval\examples\DS1820
Термометр с использованием Dallas Semiconductor DS1820, кварц 3.6864MHz
В программе используются библиотеки для работы с DS1820. Насколько я поинмаю, для обработки получаемых данных от DS1820 нужны определенные интервалы времени.
Я сделал проектик на Mega 16. Такого кварца у меня нет. Есть 4МГц, 4,5МГц и выше. Внутренние частоты МК - 1, 2, 4, 8. Попробывал в Протеусе симуляцию на 4 МГц. Работает. Но в реальном устройстве - нет.
Попробывал подключить внешнюю RC-цепь (4,2К 22пФ), выставив соответсвующие фюзы. Опять же на индикаторах ерунда.
Есть ли выход из данного положения? Можно ли обойтись без кварца на 3.6864MHz?
Go to the top of the page
 
+Quote Post
foxit
сообщение Jul 13 2008, 09:28
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 63
Регистрация: 17-04-07
Пользователь №: 27 098



Цитата(Tiny @ Jul 13 2008, 10:32) *
Есть ли выход из данного положения? Можно ли обойтись без кварца на 3.6864MHz?

смотрим описание мастера шины и2с , генерим задержки согласно рекомендациям производителя DS1820,
заглядываем к атмелу, ставим подтягивающие резисторы, выдерживаем длину кабеля, проверяем работоспобность контроллера, шьём провильно фусы. если нет, создаём новую тему с подробным описанием проблемы и не суём термодатчик в тему измерения частоты.
Причина редактирования: Излишнее цитирование.
Go to the top of the page
 
+Quote Post
Nanobyte
сообщение Jul 14 2008, 14:47
Сообщение #4


За битами по регистрам гоняюсь
***

Группа: Свой
Сообщений: 457
Регистрация: 24-04-06
Из: Таганрог
Пользователь №: 16 446



Цитата(foxit @ Jul 13 2008, 13:28) *
...смотрим описание мастера шины и2с , генерим задержки согласно рекомендациям производителя DS1820 ...

Всё-таки, наверное, не I2C, а 1-Wire.
Однако, допуски на задержки там достаточно велики, я менял кварцы +/- 3 мГц без всяких последствий, длина проводов тоже не особенно критична.


--------------------
Курсор влево, курсор вправо - считается хакерством. FORMAT C: производится без предупреждения
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Peeoner   И снова частотомер на Atmega8.   Jul 10 2008, 23:45
- - defunct   Цитата(Peeoner @ Jul 11 2008, 02:45) Пишу...   Jul 11 2008, 00:10
- - Peeoner   Вот участок кода самого цикла измерения,сильно не ...   Jul 11 2008, 00:23
- - Peeoner   Ну вот все проверил,дествительно глюк именно в пре...   Jul 11 2008, 03:42
|- - zhevak   Цитата(Peeoner @ Jul 11 2008, 09:42) Тепе...   Jul 11 2008, 05:45
|- - Nanobyte   Цитата(Peeoner @ Jul 11 2008, 07:42) ...В...   Jul 11 2008, 10:21
|- - Qwertty   Цитата(Peeoner @ Jul 11 2008, 07:42) глюк...   Jul 11 2008, 12:59
- - =GM=   Цитата(Peeoner @ Jul 10 2008, 22:45) Почи...   Jul 11 2008, 12:33
- - akl   Цитата(Peeoner @ Jul 11 2008, 04:45) ...в...   Jul 11 2008, 12:58
|- - Sneg_87   Цитата(akl @ Jul 11 2008, 18:58) Как Вам ...   Oct 13 2009, 04:12
- - Peeoner   ЦитатаПосмотрел вашу ссылку, там моя переписка с Я...   Jul 11 2008, 15:09
|- - zltigo   Цитата(Peeoner @ Jul 11 2008, 17:09) Ну в...   Jul 11 2008, 15:22
||- - zhevak   Цитата(zltigo @ Jul 11 2008, 21:22) Moder...   Jul 11 2008, 15:37
|- - =GM=   Цитата(Peeoner @ Jul 11 2008, 14:09) А на...   Jul 11 2008, 16:15
|- - Peeoner   Цитата(=GM= @ Jul 11 2008, 19:15) Ну-у-у,...   Jul 11 2008, 16:22
|- - Огурцов   Цитата(=GM= @ Jul 11 2008, 16:15) На ATti...   Jul 11 2008, 17:29
|- - sKWO   Цитата(Огурцов @ Jul 11 2008, 21:29) Точн...   Jul 11 2008, 19:09
|- - Огурцов   Цитата(sKWO @ Jul 11 2008, 19:09) для коп...   Jul 11 2008, 19:41
|- - gte   Цитата(sKWO @ Jul 11 2008, 23:09) термост...   Jul 12 2008, 07:01
|- - sKWO   Цитата(gte @ Jul 12 2008, 11:01) И скольк...   Jul 12 2008, 16:59
|- - Огурцов   Цитата(sKWO @ Jul 12 2008, 16:59) Полагаю...   Jul 12 2008, 20:16
|- - foxit   Цитата(Огурцов @ Jul 12 2008, 23:16) Ну В...   Jul 13 2008, 09:16
|- - sKWO   Цитата(foxit @ Jul 13 2008, 12:16) Кварц ...   Jul 13 2008, 13:08
- - Peeoner   Правила читал.Вроде не че такого не сказал,забанит...   Jul 11 2008, 15:34
|- - zltigo   Цитата(Peeoner @ Jul 11 2008, 17:34) Прав...   Jul 11 2008, 15:41
- - Peeoner   Спасибо,понял. Народ почемуто тут везде исходники ...   Jul 11 2008, 15:45
|- - zltigo   Цитата(Peeoner @ Jul 11 2008, 17:45) Наро...   Jul 11 2008, 15:51
- - Peeoner   Ну вобщем решил я реализовать метод =GM=,как бы вр...   Jul 12 2008, 09:30
- - Tiny   Извиняюсь, почему-то я разместил свое сообщение не...   Jul 13 2008, 09:20
- - akl   Здравствуйте. Имелась в виду LMX2326 в качестве пр...   Oct 14 2009, 03:00


Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 15:54
Рейтинг@Mail.ru


Страница сгенерированна за 0.02033 секунд с 7
ELECTRONIX ©2004-2016