Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 16.04.2020, 12:27   #1
ИС-Xantia
Senior Member
 
Регистрация: 23.03.2007
Возраст: 65
Сообщений: 519
Вес репутации: 291/57
ИС-Xantia is a jewel in the roughИС-Xantia is a jewel in the roughИС-Xantia is a jewel in the rough
По умолчанию Dead time в MPLab 8.92

Д.Д. Осваиваю ECCP ШИМ на камнях 16F18xx для управления полумостом или мостом.
Настроил ШИМ на частоту 1 МГц, в мплабе наблюдаю переключение соответствующих пинов, т.е. все нормально.
Но если назначаю мертвое время в регистре PWMxCON в 1 или 2 такта, то мплаб его игнорирует. Или что-то не так делаю, или мплаб просто не способен это симулировать.
Помогите разобраться, спасибо.

Последний раз редактировалось ИС-Xantia; 16.04.2020 в 12:35.
ИС-Xantia вне форума   Ответить с цитированием
Старый 16.04.2020, 14:17   #2
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,973
Вес репутации: 923/58
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Dead time в MPLab 8.92

пять балов !!!
"у меня тут кусок материала, я ножик по толщине подбираю, а оно не режется"

счас должны посыпаться вопросы, вплоть до "- как звали собаку Гитлера"
SergP01 вне форума   Ответить с цитированием
Старый 16.04.2020, 14:36   #3
ИС-Xantia
Senior Member
 
Регистрация: 23.03.2007
Возраст: 65
Сообщений: 519
Вес репутации: 291/57
ИС-Xantia is a jewel in the roughИС-Xantia is a jewel in the roughИС-Xantia is a jewel in the rough
По умолчанию Re: Dead time в MPLab 8.92

тестовый код:

#include <P16F1824.inc> ;f=32,0 MHz INTRC
list P=16F1824
__CONFIG _CONFIG1, _PWRTE_ON&_MCLRE_OFF&_FOSC_INTOSC&_FCMEN_OFF&_CP_O N

org 0x00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BANKSEL PORTA
CLRF PORTA
CLRF PORTC
BANKSEL LATA
CLRF LATA
CLRF LATC
BANKSEL ANSELA
CLRF ANSELA
CLRF ANSELC
BANKSEL TRISA
CLRF TRISA
CLRF TRISC
;-----------------------------
MOVLW B'11110000' ;F = 32 MHz INTRCIO
MOVWF OSCCON
MOVLW B'01010001' ;F = 32 MHz INTRCIO
MOVWF OSCSTAT
;-----------------------------
BANKSEL CCP2CON
MOVLW B'10001100'
MOVWF CCP2CON
MOVLW 4
MOVWF CCPR2L
;-----------------------------
BANKSEL PWM2CON
MOVLW B'00000001' ;судя по симулятору эта хрень и не работает
MOVWF PWM2CON
;-----------------------------
BANKSEL OPTION_REG
MOVLW B'10000111' ;настройка таймера TMR0
MOVWF OPTION_REG ;с преддел. 1:256
;-----------------------------
BANKSEL PR2
MOVLW 0x7 ;
MOVWF PR2
;-----------------------------
BANKSEL PORTA
CLRF T2CON ;предделитель TMR2 1:1
BSF T2CON,TMR2ON ;включить TMR2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;
D331 CLRWDT
NOP
NOP
NOP
NOP
NOP
NOP
NOP

GOTO D331
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
end
ИС-Xantia вне форума   Ответить с цитированием
Старый 16.04.2020, 14:54   #4
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,973
Вес репутации: 923/58
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Dead time в MPLab 8.92

Цитата:
BANKSEL PWM2CON
MOVLW B'00000001' ;судя по симулятору эта хрень и не работает
MOVWF PWM2CON
судя по даташиту должно быть PWM1CON
SergP01 вне форума   Ответить с цитированием
Старый 16.04.2020, 15:05   #5
ИС-Xantia
Senior Member
 
Регистрация: 23.03.2007
Возраст: 65
Сообщений: 519
Вес репутации: 291/57
ИС-Xantia is a jewel in the roughИС-Xantia is a jewel in the roughИС-Xantia is a jewel in the rough
По умолчанию Re: Dead time в MPLab 8.92

Цитата:
Сообщение от SergP01 Посмотреть сообщение
судя по даташиту должно быть PWM1CON
Почему? Я же пользую для полумоста не ECCP1, а ECCP2 , как и положено.
Впрочем, сейчас перекомпилировал на PWM1CON - результат прежний.
ИС-Xantia вне форума   Ответить с цитированием
Старый 16.04.2020, 15:56   #6
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,973
Вес репутации: 923/58
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Dead time в MPLab 8.92

пардон.... я только понял- какой камень используется...

вроде, как прежде чем параметры записывать в CCP2CON
его нужно отключить...
CLRF CCP2CON
SergP01 вне форума   Ответить с цитированием
Старый 16.04.2020, 16:50   #7
ИС-Xantia
Senior Member
 
Регистрация: 23.03.2007
Возраст: 65
Сообщений: 519
Вес репутации: 291/57
ИС-Xantia is a jewel in the roughИС-Xantia is a jewel in the roughИС-Xantia is a jewel in the rough
По умолчанию Re: Dead time в MPLab 8.92

Цитата:
Сообщение от SergP01 Посмотреть сообщение
вроде, как прежде чем параметры записывать в CCP2CON
его нужно отключить...
Первый раз об этом слышу
При любом сбросе он и так нулевой. Но я на всякий проверил - без толку.
ИС-Xantia вне форума   Ответить с цитированием
Старый 16.04.2020, 17:05   #8
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,973
Вес репутации: 923/58
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Dead time в MPLab 8.92

Цитата:
Сообщение от ИС-Xantia Посмотреть сообщение
Первый раз об этом слышу
При любом сбросе он и так нулевой. Но я на всякий проверил - без толку.
Цитата:
bit 7 P1RSEN: PWM Restart Enable bit
1 = Upon auto-shutdown, the CCP1ASE bit clears automatically once the shutdown event goes
away; the PWM restarts automatically
0 = Upon auto-shutdown, CCP1ASE must be cleared in software to restart the PWM
bit 6-0 P1DC<6:0>: PWM Delay Count bits
P1DC1 = Number of FOSC/4 (4 * TOSC) cycles between the scheduled time when a PWM signal
should transition active and the actual time it transitions active
Note 1: Bit resets to ‘0’ with Two-Speed Start-up and LP, XT or HS selected as the Oscillator mode or Fail-Safe
mode is enabled.
ну.... может тут посмотреть
SergP01 вне форума   Ответить с цитированием
Старый 16.04.2020, 17:12   #9
ИС-Xantia
Senior Member
 
Регистрация: 23.03.2007
Возраст: 65
Сообщений: 519
Вес репутации: 291/57
ИС-Xantia is a jewel in the roughИС-Xantia is a jewel in the roughИС-Xantia is a jewel in the rough
По умолчанию Re: Dead time в MPLab 8.92

Пробовал менять PR2 и CCPR2L для снижения частоты ШИМ вплоть до 125 кГц с сохранением скважности 0,5. Симулятор дергает пины адекватно, но не реагирует на PWM2CON.

Также пробовал увеличивать диид-тайм в PWM2CON - толку нет.
ИС-Xantia вне форума   Ответить с цитированием
Старый 16.04.2020, 17:13   #10
ИС-Xantia
Senior Member
 
Регистрация: 23.03.2007
Возраст: 65
Сообщений: 519
Вес репутации: 291/57
ИС-Xantia is a jewel in the roughИС-Xantia is a jewel in the roughИС-Xantia is a jewel in the rough
По умолчанию Re: Dead time в MPLab 8.92

Цитата:
Сообщение от SergP01 Посмотреть сообщение
Note 1: Bit resets to ‘0’ with Two-Speed Start-up and LP, XT or HS selected as the Oscillator mode or Fail-Safe
mode is enabled.

ну.... может тут посмотреть
Это я уже проверял.
ИС-Xantia вне форума   Ответить с цитированием
Старый 16.04.2020, 17:22   #11
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,973
Вес репутации: 923/58
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Dead time в MPLab 8.92

Цитата:
Сообщение от ИС-Xantia Посмотреть сообщение
Пробовал менять PR2 и CCPR2L для снижения частоты ШИМ вплоть до 125 кГц с сохранением скважности 0,5. Симулятор дергает пины адекватно, но не реагирует на PWM2CON.

Также пробовал увеличивать диид-тайм в PWM2CON - толку нет.
может... отключить работу... установить все регисты.... а потом включить?
он вообще- данные то туда прописывает?
SergP01 вне форума   Ответить с цитированием
Старый 16.04.2020, 17:37   #12
ИС-Xantia
Senior Member
 
Регистрация: 23.03.2007
Возраст: 65
Сообщений: 519
Вес репутации: 291/57
ИС-Xantia is a jewel in the roughИС-Xantia is a jewel in the roughИС-Xantia is a jewel in the rough
По умолчанию Re: Dead time в MPLab 8.92

Цитата:
Сообщение от SergP01 Посмотреть сообщение
он вообще- данные то туда прописывает?
В смысле в PWM2CON? Мплаб кажет, что во все регистры прописывается верно.
ИС-Xantia вне форума   Ответить с цитированием
Старый 16.04.2020, 17:40   #13
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,973
Вес репутации: 923/58
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Dead time в MPLab 8.92

Цитата:
Сообщение от ИС-Xantia Посмотреть сообщение
В смысле в PWM2CON? Мплаб кажет, что во все регистры прописывается верно.
там точку остановки можно сделать.... на посмотреть?

симуляторы- это зло

стока муков... я бы по прерыванию таймера софтовый написал бы...
SergP01 вне форума   Ответить с цитированием
Старый 16.04.2020, 18:28   #14
ИС-Xantia
Senior Member
 
Регистрация: 23.03.2007
Возраст: 65
Сообщений: 519
Вес репутации: 291/57
ИС-Xantia is a jewel in the roughИС-Xantia is a jewel in the roughИС-Xantia is a jewel in the rough
По умолчанию Re: Dead time в MPLab 8.92

Цитата:
Сообщение от SergP01 Посмотреть сообщение
я бы по прерыванию таймера софтовый написал бы...
При макс частоте проца 32 МГц и частоте ШИМа 1 МГц период последнего получается всего 8 машинных команд. Тут только зайти в прерывание и сразу бегом назад, потратив половину периода.
А переучиваться на быстрые камни, да еще на си - старость не позволяет.
Я как-то еще на асме ковыляю.
ИС-Xantia вне форума   Ответить с цитированием
Старый 16.04.2020, 19:39   #15
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,973
Вес репутации: 923/58
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Dead time в MPLab 8.92

Цитата:
Сообщение от ИС-Xantia Посмотреть сообщение
При макс частоте проца 32 МГц и частоте ШИМа 1 МГц период последнего получается всего 8 машинных команд. Тут только зайти в прерывание и сразу бегом назад, потратив половину периода.
А переучиваться на быстрые камни, да еще на си - старость не позволяет.
Я как-то еще на асме ковыляю.
тут как раз ASM нужен
SergP01 вне форума   Ответить с цитированием
Старый 17.04.2020, 08:37   #16
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 61
Сообщений: 3,338
Вес репутации: 4234/124
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Dead time в MPLab 8.92

Цитата:
Сообщение от ИС-Xantia Посмотреть сообщение
Но если назначаю мертвое время в ..., то мплаб его игнорирует. Или что-то не так делаю, или мплаб просто не способен это симулировать.
Помогите разобраться, спасибо.
Читайте сопроводительную документацию, тем более, что она прибита гвоздями к самому МПЛАБу:
Цитата:
The dead time of PWMs is not simulated under the MPLAB IDE simulator.
Сие черным по светло-желтому прописано в хелпере на МПЛАБ в разделе ограничений симуляции.
И запомните простое правило ограничений симуляторов - они не могут симулировать ничего, что имеет на шкале времени значения дробные по отношению к машинному циклу МК. Симулятор на шкале времени имеет размерность МАШИННЫХ ЦИКЛОВ. И даже то, что симулируется, но имеет режимы с тактированием от осциллятора напрямую, эти режимы из симуляции будут исключены.
Марк вне форума   Ответить с цитированием
Старый 17.04.2020, 09:21   #17
ИС-Xantia
Senior Member
 
Регистрация: 23.03.2007
Возраст: 65
Сообщений: 519
Вес репутации: 291/57
ИС-Xantia is a jewel in the roughИС-Xantia is a jewel in the roughИС-Xantia is a jewel in the rough
По умолчанию Re: Dead time в MPLab 8.92

Цитата:
Сообщение от Марк Посмотреть сообщение
... ограничений симуляторов - они не могут симулировать ничего, что имеет на шкале времени значения дробные по отношению к машинному циклу МК. Симулятор на шкале времени имеет размерность МАШИННЫХ ЦИКЛОВ.
Но ведь размерность дидтайм указывается как раз количеством машинных циклов (4*Tosc).


Ну, в общем все ясно. Всем спасибо.
ИС-Xantia вне форума   Ответить с цитированием
Старый 17.04.2020, 09:58   #18
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 61
Сообщений: 3,338
Вес репутации: 4234/124
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Dead time в MPLab 8.92

Цитата:
Сообщение от ИС-Xantia Посмотреть сообщение
Но ведь....
Вы меня неправильно поняли. Это было добавление к ответу, а не сам ответ.
Просто в более новых МК имеются ОТДЕЛЬНЫЕ модули PWM, а не только режим универсального ECCP. И эти отдельные модули могут тактироваться от 100500 разных источников, включая осциллятор, а в 16-битных МК даже умножитель PLL, то есть почти гигагерцы при Fcy всего 70...100 МГц.
Вот все эти режимы, а чаще весь модуль PWM не симулируется вообще.
Марк вне форума   Ответить с цитированием
Старый 18.04.2020, 18:24   #19
ИС-Xantia
Senior Member
 
Регистрация: 23.03.2007
Возраст: 65
Сообщений: 519
Вес репутации: 291/57
ИС-Xantia is a jewel in the roughИС-Xantia is a jewel in the roughИС-Xantia is a jewel in the rough
По умолчанию Re: Dead time в MPLab 8.92

В процессе изучения возник новый вопрос: а как лучше останавливать ШИМ полумоста со сбросом активных уровней, но не внешним сигналом, а программно. И как его потом возобновлять?
Пробовал выставлять бит CCP2ASE в CCP2AS, но симулятор опять не реагирует.
ИС-Xantia вне форума   Ответить с цитированием
Старый 22.04.2020, 11:25   #20
ИС-Xantia
Senior Member
 
Регистрация: 23.03.2007
Возраст: 65
Сообщений: 519
Вес репутации: 291/57
ИС-Xantia is a jewel in the roughИС-Xantia is a jewel in the roughИС-Xantia is a jewel in the rough
По умолчанию Re: Dead time в MPLab 8.92

С одной стороны стопорить ШИМ полумоста можно только внешним событием:
Нажмите на изображение для увеличения
Название: Снимок1.JPG
Просмотров: 0
Размер:	32.8 Кб
ID:	11594

Но есть примечание, где вроде бы позволяется его стопорить установкой бита CCPхASE:
Нажмите на изображение для увеличения
Название: Снимок2.JPG
Просмотров: 1
Размер:	34.1 Кб
ID:	11595

Перевод последнего не слишком внятный, помогите разобраться.
Симулятор МПлаба этот бит игнорирует и продолжает ШИМить.
ИС-Xantia вне форума   Ответить с цитированием
Старый 22.04.2020, 11:46   #21
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 61
Сообщений: 3,338
Вес репутации: 4234/124
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Dead time в MPLab 8.92

Может все таки взять реальное железо? Тем более, что модуль быстрого ШИМ есть во многих относительно новых МК...
Например, работая нынче над проектом с PIC18F27Q43, я некоторые идеи вообще обкатывал на имеющейся в наличии плате с PIC16F1614. Когда придут печатные платы под целевой МК, я перенесу идеи на него...
Марк вне форума   Ответить с цитированием
Старый 22.04.2020, 11:50   #22
ИС-Xantia
Senior Member
 
Регистрация: 23.03.2007
Возраст: 65
Сообщений: 519
Вес репутации: 291/57
ИС-Xantia is a jewel in the roughИС-Xantia is a jewel in the roughИС-Xantia is a jewel in the rough
По умолчанию Re: Dead time в MPLab 8.92

Железа под новые ПИКи и самих их у меня пока нет - готовлюсь теоретически.
ИС-Xantia вне форума   Ответить с цитированием
Старый 26.05.2020, 17:50   #23
ИС-Xantia
Senior Member
 
Регистрация: 23.03.2007
Возраст: 65
Сообщений: 519
Вес репутации: 291/57
ИС-Xantia is a jewel in the roughИС-Xantia is a jewel in the roughИС-Xantia is a jewel in the rough
По умолчанию Re: Dead time в MPLab 8.92

Неспешно получил с али пробники 12F1822 и 16F1827 и PicKit3 оттуда же и проверил на них диид тайм полумоста, а также проверил остановку ШИМ полумоста со сбросом активных уровней выставлением бита CCP2ASE в CCP2AS и его возобновление очисткой сего бита.

В железе все исправно работает согласно ДШ.
ИС-Xantia вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MPLAB 8.92 Out of memory Lunatic Продукция MICROCHIP 7 10.04.2018 16:41
MIcrochip Solutions. Проблема с компиляцией примеров. Леонид Продукция MICROCHIP 10 12.11.2017 01:30
Прошить 16F886 в MPLab с MICD2 Petrov_kamensk Вопросы начинающих 4 12.12.2010 10:44
ICD2 VladG Продукция MICROCHIP 25 05.05.2009 11:26
Помогите плизз с PIC16LF628A dbosh Продукция MICROCHIP 49 11.10.2008 01:03


Часовой пояс GMT +3, время: 01:42.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot