Перейти к блогу GetChip.net - блог        JilTE[1] - в разработке     Модификации устройств - модификации

 
Текущее время: 20 июн 2025, 22:11

Часовой пояс: UTC + 3 часа [ Летнее время ]



Начать новую тему Ответить на тему  [ Сообщений: 117 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8 ... 12  След.
Автор Сообщение
 Заголовок сообщения: Re: Изготавливаем датчик атмосферного давления
СообщениеДобавлено: 17 янв 2012, 18:02 
Не в сети
Аватара пользователя

Зарегистрирован: 29 май 2011, 17:59
Сообщения: 3769
Откуда: Россия
На сколько я помню у триггера К561ТМ2, сигнал на входе D передаётся при положительном перепаде входа С, на прямой выход Q. У Вас на картинке, на оборот. Наверное триггер использовали другой, но в принципе не важно.

Почитал о работе таймера и разобрался как его настроить в АВ. Теперь вот что я понял, если ошибусь, поправьте. Тактовая частота опорного генератора тактирует таймер-счётчик 1, то есть частоту подаём на ножку PD5 (Т1) для счёта. Сигнал совпадения частот подаём на PD6 (ICP). Настраиваем прерывание по импульсу совпадения частот (захват таймера). По импульсу уходим на прерывание. Забираем значение и сбрасываем счётчики. И т.д. Два вопроса. 1) подсчитываем импульсы в период между импульсами совпадения? Или только в период высокого импульса совпадения? 2) Не понял зачем прерывание по переполнению, ведь мы до переполнения не досчитаем, так как по захвату сбрасываем счётчики?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Изготавливаем датчик атмосферного давления
СообщениеДобавлено: 17 янв 2012, 19:16 
Не в сети

Зарегистрирован: 20 май 2011, 23:58
Сообщения: 545

_________________
Чтобы получить правильные ответы, надо задавать правильные вопросы!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Изготавливаем датчик атмосферного давления
СообщениеДобавлено: 17 янв 2012, 19:25 
Не в сети

Зарегистрирован: 20 май 2011, 23:58
Сообщения: 545
Да почему таймер нужно тактовать от ОГ через цепь синхронизации процессора. По тому сигнал счёта будет привязан к следующему фронту сигнала синхронизации процессора. А если он тактуется от постороннего генератора то получим не контролируемый разброс частот срабатывания таймера (тут следует заумная формула смысл которой что незачем городить ещё один источник опорной частоты когда уже есть один). Если хочется для тактовки ядра использовать более высокую частоту. То вопрос можно попытаться решить ФАПЧ из 1Мгц сделать 20Мгц. Но шумы ФАПЧ нам подпортят картинку.

_________________
Чтобы получить правильные ответы, надо задавать правильные вопросы!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Изготавливаем датчик атмосферного давления
СообщениеДобавлено: 17 янв 2012, 20:19 
Не в сети
Аватара пользователя

Зарегистрирован: 29 май 2011, 17:59
Сообщения: 3769
Откуда: Россия


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Изготавливаем датчик атмосферного давления
СообщениеДобавлено: 17 янв 2012, 22:15 
Не в сети
Аватара пользователя

Зарегистрирован: 29 май 2011, 17:59
Сообщения: 3769
Откуда: Россия
Анатолий, я что то туплю. :-) Написал программулю и копирую значение счётчиков в 32 разрядный массив. Что хотел бы уточнить. По прерыванию ICP сохраняю значение счётчика и оба счётчика сбрасываю. Дальше таймер1 считает с начало до прерывания по заполнению. По прерыванию (а это 65535 импульсов) складываю с ранее сохранённым числом ICP. По следующему переполнению число 65535 прибавляю к сохранённому массиву и так пока не появится следующий импульс на ICP, потом значение ICP прибавляю к массиву и получаю количество тикав между фронтами совпадения. Правильно?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Изготавливаем датчик атмосферного давления
СообщениеДобавлено: 17 янв 2012, 22:18 
Не в сети

Зарегистрирован: 20 май 2011, 23:58
Сообщения: 545

_________________
Чтобы получить правильные ответы, надо задавать правильные вопросы!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Изготавливаем датчик атмосферного давления
СообщениеДобавлено: 17 янв 2012, 22:24 
Не в сети

Зарегистрирован: 20 май 2011, 23:58
Сообщения: 545

_________________
Чтобы получить правильные ответы, надо задавать правильные вопросы!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Изготавливаем датчик атмосферного давления
СообщениеДобавлено: 17 янв 2012, 22:31 
Не в сети
Аватара пользователя

Зарегистрирован: 29 май 2011, 17:59
Сообщения: 3769
Откуда: Россия
Похоже сегодня перегруз, :D завтра осмыслю что и как на отдохнувшую голову. :-)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Изготавливаем датчик атмосферного давления
СообщениеДобавлено: 18 янв 2012, 16:10 
Не в сети
Аватара пользователя

Зарегистрирован: 29 май 2011, 17:59
Сообщения: 3769
Откуда: Россия
Анатолий, я что то так и не пойму. В модуле захвата участвует 16 разрядный регистр ICR1, в него сохраняется максимальное число $FFFF (65535) из регистра счётчика TCNT1 при захвате. Регистр счётчика TCNT1 тоже 16 разрядный. Растолкуйте мне где я ошибаюсь.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Изготавливаем датчик атмосферного давления
СообщениеДобавлено: 18 янв 2012, 17:41 
Не в сети

Зарегистрирован: 20 май 2011, 23:58
Сообщения: 545
Мы делаем виртуальный 32 разрядный регистр. младшие 2 байта у нас берутся из регистра ICR1 а старшие 2 из регистра который мы инкриминируем при переполнении счётного регистра TCNT1.
У вас сделано не правильно. попробую описать ещё раз.
По прерыванию переполнение инкрименируем 16 разрядную переменную.
По прерыванию захват сохраняем значение ICR1 в младшие 2 байта 32разрядной переменной. А из 16 разрядной переменной сохраняем в старшие 2 байта 32 разрядной переменной. И сбрасываем счётчик и 16 разрядную перемененную.
те в ICR1 например захватилось 0xAAAA а в программном счётчике 0xBBBB итого получаем 0xBBBBAAAA результат в 32 разрядной переменной

_________________
Чтобы получить правильные ответы, надо задавать правильные вопросы!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 117 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8 ... 12  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15


Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB