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

 
 
> PIC18 и ШИМ
bornbash
сообщение Apr 5 2012, 13:41
Сообщение #1


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

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



Доброго времени суток!
Уважаемые, кто-нибудь отлаживал в MPLAB работу в ШИМ-режиме модулей CCP1,CCP2 и CCP3? По CCP1 вопросов нет - все работает как должно. МК- PIC18F45K22. Компилер С18. МPLAB 8.84.
Расклад такой:
CCP1 работает от TMR2,
CCP2 работает от TMR4,
CCP3 работает от TMR6,
CCP4 работает от TMR6,
CCP5 работает от TMR4.
В конфигурационных битах в качестве выводов для CCP2 и CCP3 настроены выводы по умолчанию (RC1 and RB5).
При отладке TMR4 и TMR6 не запускаются и не считают (смотрю в окне watch). При этом сигналы ШИМ от CCP4 и CCP5 в окне Logic Analyzer наблюдаю (каким то образом???), а от модулей CCP2 и CCP3 (к которым подключены эти же таймеры!!!) ничего нет.
Кроме того, если даже к модулям CCP2 и CCP3 подключить TMR2 (достоверно работающий, т.к. с CCP1 сигнал есть), то на их выходах опять же ничего нет.
Это столь серьезные недоработки отладчика????

Код
              TRISCbits.RC2 = 0;            // Drv1
    TRISCbits.RC1 = 0;            // Drv2
    TRISBbits.RB5 = 0;            // Drv3
    TRISDbits.RD1 = 0;        // Drv4
    TRISEbits.RE2 = 0;            // Drv5
    CCPTMRS0 = 0b10001000;        // CCP1 - tmr2,CCP2 - tmr4,CCP3 - tmr6
    CCPTMRS1 = 0b00000110;        // CCP4 - tmr6,CCP5 - tmr4
    PR2 = 0x80;            // period pwm
    PR4 = 0x90;
    PR6 = 0x90;
    CCP1CON = 0b00001100;        // pwm mode ccp module
    CCP2CON = 0b00001100;
    CCP3CON = 0b00001100;
    CCP4CON = 0b00001100;
    CCP5CON = 0b00001100;
    CCPR1L = 0x04;            // duty cycle
    CCPR2L = 0x04;
    CCPR3L = 0x04;
    CCPR4L = 0x60;
    CCPR5L = 0x40;
    PIR1bits.TMR2IF = 0;
    PIR5bits.TMR4IF = 0;
    PIR5bits.TMR6IF = 0;
    TMR2 = 0;
    TMR4 = 0;
    TMR6 = 0;
    T2CONbits.T2CKPS = 0x02;                   // tmr prescaler 1:16
    T4CONbits.T4CKPS = 0x02;
    T6CONbits.T6CKPS = 0x02;

    T2CONbits.TMR2ON = 1;    
    T4CONbits.TMR4ON = 1;    
    T6CONbits.TMR6ON = 1;

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 5)
Driver_GV
сообщение Apr 5 2012, 17:09
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 11-05-06
Из: Lugansk
Пользователь №: 17 011



Попробуйте в железе. На 46К22 симуляция работает криво.


--------------------
-------------------
picping.lg.ua
Go to the top of the page
 
+Quote Post
bornbash
сообщение Apr 6 2012, 12:02
Сообщение #3


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

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



Попробую, конечно. Но такие вещи привык сначала отлаживать.
Go to the top of the page
 
+Quote Post
fox2trot
сообщение Apr 7 2012, 19:27
Сообщение #4


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

Группа: Участник
Сообщений: 87
Регистрация: 22-09-07
Из: Орел
Пользователь №: 30 754



Внимательно почитайте описание, скорее всего где-то что-то упустили. На ПИК-ке ССР не запускал т.ч. по данному конкретному случаю ничего не подскажу, а вот на AVR-ке приходилось. Тонкостей сейчас не помню, давно было, но поломать голову пришлось, прежде чем заработало в том режиме, каком было нужно и то не до конца, но это уже не наша вина оказалась - косяк в самом проце был. Позднее Атмел исправил, но реализацию тогда пришлось на TMS делать. laughing.gif В ПИК-ах подобных критических ошибок меньше, т.ч. читайте внимательно описание, чтоб быть уверенным что все правильно поняли.
Go to the top of the page
 
+Quote Post
bornbash
сообщение Apr 10 2012, 08:59
Сообщение #5


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

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



Цитата(fox2trot @ Apr 7 2012, 22:27) *
Внимательно почитайте описание, скорее всего где-то что-то упустили. На ПИК-ке ССР не запускал т.ч. по данному конкретному случаю ничего не подскажу, а вот на AVR-ке приходилось. Тонкостей сейчас не помню, давно было, но поломать голову пришлось, прежде чем заработало в том режиме, каком было нужно и то не до конца, но это уже не наша вина оказалась - косяк в самом проце был. Позднее Атмел исправил, но реализацию тогда пришлось на TMS делать. laughing.gif В ПИК-ах подобных критических ошибок меньше, т.ч. читайте внимательно описание, чтоб быть уверенным что все правильно поняли.

Читал все внимательно, прежде чем сюда писать.
В общем действительно модули CCP2 и CCP3 в MPLAB симулируются криво, так же как и TMR4, TMR6. В железе все работает, так как и должно.
Go to the top of the page
 
+Quote Post
fox2trot
сообщение Apr 13 2012, 11:18
Сообщение #6


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

Группа: Участник
Сообщений: 87
Регистрация: 22-09-07
Из: Орел
Пользователь №: 30 754



Цитата(bornbash @ Apr 10 2012, 12:59) *
Читал все внимательно, прежде чем сюда писать.
В общем действительно модули CCP2 и CCP3 в MPLAB симулируются криво, так же как и TMR4, TMR6. В железе все работает, так как и должно.

В MPLAB не только ССР криво симулируются, там много чего не работает, насколько я помню, поэтому никогда им и не пользуюсь. В отличие от AVRStudio, пиковский симулятор на редкость паршивый, что впрочем искупает большая вылизанность самого железа.
Хорошо, что хорошо разрешился вопрос. Удачи ! biggrin.gif
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 16:01
Рейтинг@Mail.ru


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