|
pic18fxxx, CCP, Capture mode, помогите правильно измерить время между импульсами |
|
|
|
Sep 16 2008, 06:55
|
Участник

Группа: Свой
Сообщений: 47
Регистрация: 15-09-08
Из: Россия, Москва, САО
Пользователь №: 40 220

|
задача: померить время между импульсами, с разрешением 0.1us. Максимальная длительность между импульсами - 1.5sec моё решение: настраиваю собственно CCP, прерывание по захвату ССP и по переполнению таймера. в прерывании по переполнению таймера - увеличиваю доп переменную. в прерывании по захвату ССP - сохраняю захваченные значения и доп переменную. суть проблемы: для перехода в прерывание требуется минимум три такта микроконтроллера, + анализ флажков источников прерывания (дабы понять источник прерывания) так вот если захват происходит либо за 3-4 такта до переполнения таймера либо чуть после, подняты оба флажка. И как понять происходил захват до переполнения таймера или после? Всё что я придумала - это анализировать захваченные данные, но очень хочется узнать как поступают здравомыслящие люди
|
|
|
|
|
 |
Ответов
|
Sep 24 2008, 11:16
|
Участник

Группа: Свой
Сообщений: 47
Регистрация: 15-09-08
Из: Россия, Москва, САО
Пользователь №: 40 220

|
Цитата(NickB @ Sep 24 2008, 13:08)  Поэтому. Почему бы Вам не применить 32-разрядный таймер/CCP Уже развела плату, скоро попробую в железе. Как мне кажется и PIC18, должен работать. Цитата(NickB @ Sep 24 2008, 13:08)  Когда-то давно стояла такая же задача. После долгих обсуждений пришли к выводу что адекватного рашения нет. А аргументы не помните? Уважаемый GM. Пожалуйста, ответе на вопросы: Вы видели диафильмы, которые я для Вас делала? Вы смотрели в симуляторе, как работает программа? Делали проверку таймера на нуль?
|
|
|
|
|
Sep 24 2008, 11:50
|
Участник

Группа: Свой
Сообщений: 47
Регистрация: 15-09-08
Из: Россия, Москва, САО
Пользователь №: 40 220

|
Я повторюсь. Для меня все точки над i уже расставлены. Продолжаю эту ветку исключительно ради Вас. Я сделала Вам предложение подкорректировать код, как сочтёте нужным, Вы его принимаете? Пожалуйста, ответьте на этот вопрос, несмотря на его порядок малости.
|
|
|
|
|
Sep 25 2008, 11:06
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Уважаемая Светлана,
Во-первых, с вашей помощью обнаружил "дырку" в своём коде, спасибо. Не знаю, как объяснить, упёрся как баран, обычно на меня не похоже(:-). Возможно механически перенёс некоторые идеи с авр на пик. [Замечу в скобках, я их и так-то никогда не признавал, а сейчас после пары проектов, начинаю люто ненавидеть (слово detest хорошо объясняет мои чувства)].
Во-вторых, пару слов о вашей проверке среднего байта на 0х00. Лучше проверять 7-бит среднего слова на 0, типа btfss CCPR1H,7 вам это ничего не будет стоить, а диапазон пендинга существенно расширится. Конечно, ещё лучше было бы сравнивать с 0xFE, почти максимальный диапазон. Ну а идеал, т.е. всего одна точка 0х0000 похоже не достижима на этой архитектуре. На авр, кстати, это легко сделать, там можно захватывать длительности от двух тактов и выше.
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
Сообщений в этой теме
Короткова Светлана pic18fxxx, CCP, Capture mode Sep 16 2008, 06:55 =GM= Цитата(Короткова Светлана @ Sep 16 2008, 05... Sep 17 2008, 10:36 Короткова Светлана Цитата(=GM= @ Sep 17 2008, 13:36) т.к. пе... Sep 17 2008, 11:00  =GM= Цитата(Короткова Светлана @ Sep 17 2008, 10... Sep 17 2008, 12:26 Короткова Светлана Цитата(=GM= @ Sep 17 2008, 15:26) Немного... Sep 17 2008, 23:58 =GM= Цитата(Короткова Светлана @ Sep 17 2008, 22... Sep 18 2008, 09:32 konstanta RE: pic18fxxx, CCP, Capture mode Sep 18 2008, 02:37 Короткова Светлана пока ничего умнее не придумала. требуется критика,... Sep 18 2008, 02:50 DL36 Цитата(Короткова Светлана @ Sep 18 2008, 05... Sep 18 2008, 05:26 Короткова Светлана Цитата(DL36 @ Sep 18 2008, 08:26) Посмотр... Sep 18 2008, 13:08 =GM= Цитата(Короткова Светлана @ Sep 18 2008, 12... Sep 18 2008, 14:14  Короткова Светлана Цитата(=GM= @ Sep 18 2008, 17:05) 1) Воз... Sep 18 2008, 14:48   =GM= Похоже, у вас какое-то фундаментальное недопониман... Sep 18 2008, 15:49    Короткова Светлана Цитата(=GM= @ Sep 18 2008, 18:49) Похоже,... Sep 18 2008, 17:33     =GM= Цитата(Короткова Светлана @ Sep 18 2008, 16... Sep 18 2008, 23:05 DL36 Цитата(Короткова Светлана @ Sep 18 2008, 16... Sep 18 2008, 20:14 Короткова Светлана Цитата(DL36 @ Sep 18 2008, 23:14) Нет не ... Sep 20 2008, 03:26 =GM= Цитата(Короткова Светлана @ Sep 20 2008, 02... Sep 21 2008, 23:10 Короткова Светлана здесь можно взять MPLAB
собственно мой проект. ди... Sep 22 2008, 13:58 =GM= У вас там ошибка на ошибке (:-(. Например, проверк... Sep 23 2008, 08:50  Короткова Светлана Цитата(=GM= @ Sep 23 2008, 11:50) У вас т... Sep 23 2008, 10:37   =GM= Что если пришли короткие импульсы и захваты начали... Sep 23 2008, 13:19    Короткова Светлана Цитата(=GM= @ Sep 23 2008, 16:19) Что есл... Sep 23 2008, 14:04     =GM= Ну подайте 200 кГц меандр на один канал захвата и ... Sep 23 2008, 14:19      Короткова Светлана Цитата(=GM= @ Sep 23 2008, 17:19) Ну пода... Sep 23 2008, 14:49       =GM= Светунь, я не знаю, какой был первый вопрос. Ваша ... Sep 24 2008, 09:01 Короткова Светлана Лишь в споре рождается истина Рада, что мы с ва... Sep 25 2008, 13:00 =GM= Ещё вот, по мелочи, чувствуя свою невольную вину(:... Sep 25 2008, 14:21
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|