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

Вернуться   Форум Микро-Чип > Микроконтроллеры других производителей

Микроконтроллеры других производителей Все, что касается микроконтроллеров и НЕ подошло в раздел Microchip.

Ответ
 
Опции темы Опции просмотра
Старый 28.03.2017, 16:18   #1
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Orel
Возраст: 38
Сообщений: 4,417
Вес репутации: 4322/119
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию stm32f407 tim2 dma burst

Здравствуйте, товарищи!

Разбираюсь в логике работы DMA burst.

Есть регистр в котором есть поле DBL[4:0]: DMA burst length
This 5-bit vector defines the number of DMA transfers (the timer recognizes a burst transfer when a read or a write access is done to the TIMx_DMAR address).
00000: 1 transfer,
00001: 2 transfers,

Есть другой регистр, который определяет количество единиц передачи данных - Bits 15:0 NDT[15:0]: Number of data items to transfer
Number of data items to be transferred (0 up to 65535).

Код:
const uint8_t Tabs[16]={
0x00, 0x01, 0x02, 0x03,0x04, 0x05, 0x06, 0x07,
0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
};

// DBL = 1, 2 transfers.
TIM2->DCR = (1 << 8) + ((((uint32_t)(&TIM2->CCR1)) - ((uint32_t)(&TIM2->CR1))) >> 2);
// DMA1_Stream7->NDTR = 1; // CCR1 = 0x03020100.
DMA1_Stream7->NDTR = 2; // CCR1 = 0x03020100, CCR2 = 0x07060504.

// DBL = 0, 1 transfers.
TIM2->DCR = (0 << 8) + ((((uint32_t)(&TIM2->CCR1)) - ((uint32_t)(&TIM2->CR1))) >> 2);
DMA1_Stream7->NDTR = 1;  // CCR1 = 0x03020100.
Если NTDR = 1, DBL = 1 (2 transfers) передается одно 32-х разрядное слово в регистр CCR1. Дважды передается в регистр CCR1?

Если NTDR = 2, DBL = 1 (2 transfers) передается два 32-х разрядных слова в регистр CCR1 и CCR2.

Слова передаются после переполнения таймера.
__________________
Прогресс неизбежен.

Последний раз редактировалось Pridnya; 28.03.2017 в 16:23.
Pridnya вне форума   Ответить с цитированием
Старый 28.03.2017, 20:35   #2
HHIMERA
Senior Member
 
Регистрация: 10.06.2008
Возраст: 55
Сообщений: 2,629
Вес репутации: 3694/96
HHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond repute
По умолчанию Re: stm32f407 tim2 dma burst

А в чём собственно... не вопрос???
Возьми простейший Салеае... сбрось тактовую по минимуму... и наблюдай всю прелесть нирваны...
__________________
"Я не даю готовых решений, я заставляю думать!"(С)
HHIMERA вне форума   Ответить с цитированием
Старый 29.03.2017, 12:57   #3
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Orel
Возраст: 38
Сообщений: 4,417
Вес репутации: 4322/119
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: stm32f407 tim2 dma burst

Цитата:
Сообщение от HHIMERA Посмотреть сообщение
А в чём собственно... не вопрос???
Возьми простейший Салеае... сбрось тактовую по минимуму... и наблюдай всю прелесть нирваны...
Да вот вроде как всё заработало, по крайней мере в отладчике видно, что данные обновляются, но есть один маленький глюк при второй транзакции - она и глючит, а с третьей все работает, но данные уже не в свои каналы пишутся.

Создал табличку - в каждом канале инкремент (столбик - канал)
Цитата:
const uint16_t TabsNew[16*4]={
0x0000, 0x0010, 0x0020, 0x0030,
0x0001, 0x0011, 0x0021, 0x0031,
0x0002, 0x0012, 0x0022, 0x0032,
0x0003, 0x0013, 0x0023, 0x0033,
...
};
Четыре транзакции за один раз.
Порядок записи полуслов такой (NDTR декрементируется аппаратно)
0,1,2,3, NDTR-4
0,1,4,5, NDTR-2
6,7,8,9, NDTR-4
10,11,11,13 NDTR-4

А мне нужно так:
0,1,2,3, NDTR-4
4,5,6,7, NDTR-4
8,9,10,11 NDTR-4
12,13,14,15 NDTR-4

Или это какая-то ошибка при использовании отладчика и средств просмотра в IDE? Несколько раз уже были глюки, которые проявляются только при отладке.
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 29.03.2017, 13:57   #4
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Orel
Возраст: 38
Сообщений: 4,417
Вес репутации: 4322/119
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: stm32f407 tim2 dma burst

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Да вот вроде как всё заработало, по крайней мере в отладчике видно, что данные обновляются, но есть один маленький глюк при второй транзакции - она и глючит, а с третьей все работает, но данные уже не в свои каналы пишутся.
Что-то я не пойму, какая может быть разница между двумя массивами, но один массив (Tabs) передается правильно, а второй (TabsNew) - с глюком на второй транзакции. Оба массива объявлены как uint16_t, но один заполнен 16-ти битными данными, а второй восьмибитными. Оптимизирует что ли что-то?

Код:
const uint16_t Tabs[16]={
0x0100, 0x0302, 0x0504, 0x0706, 
0x0908, 0x0B0A, 0x0D0C, 0x0F0E,
0x1110, 0x1312, 0x1514, 0x1716, 
0x1918, 0x1B1A, 0x1D0C, 0x1F1E
};

const uint16_t TabsNew[16]={
0x0000, 0x0010, 0x0020, 0x0030,
0x0001, 0x0011, 0x0021, 0x0031,
0x0002, 0x0012, 0x0022, 0x0032,
0x0003, 0x0013, 0x0023, 0x0033
};
На скриншоте в регистрах CCR1-CCR4 два повторяющихся одинаковых полуслова, меня интересует только младшbt 16 бит CCR1-CCR4 (MSIZE и PSIZE 16 bit), это первый массив, который правильно передается.

PS: Какая-то закономерность. Вот еще два массива, при передаче одного глючит (8-ми и 16-ти битные значения), а второй передается хорошо (только 16-ти битные значения).
Код:
/*
const uint16_t TabsNew1[16*4]={
0x0000, 0x0100, 0x0200, 0x0300,
0x0010, 0x0110, 0x0210, 0x0310,
0x0020, 0x0120, 0x0220, 0x0320,
0x0030, 0x0130, 0x0230, 0x0330
};*/

const uint16_t TabsNew16[16*4]={
0x0100, 0x0200, 0x0300, 0x0400,
0x0101, 0x0201, 0x0301, 0x0401,
0x0102, 0x0202, 0x0302, 0x0402,
0x0103, 0x0203, 0x0303, 0x0403
};
Миниатюры
Правильно.PNG  
__________________
Прогресс неизбежен.

Последний раз редактировалось Pridnya; 29.03.2017 в 14:16.
Pridnya вне форума   Ответить с цитированием
Старый 29.03.2017, 15:02   #5
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Orel
Возраст: 38
Сообщений: 4,417
Вес репутации: 4322/119
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: stm32f407 tim2 dma burst

Таймер TIM2 32-х битный и регистры сравнения CCRx 32-х битные, поэтому некорректно грузить его 16-ти битными значениями в режиме MSIZE 16 bit PSIZE 16 bit. Если грузить этот таймер из 32-х битного массива в режиме MSIZE 32 bit PSIZE 32 bit, то проблем нет. Получается, что у этого микроконтроллера ШИМ 32-х разрядный как бы.

Такая должна быть таблица, 32-х разрядные числа, тогда после переполнения таймера в каждый CCRx грузится соответствующий столбик данных (за один раз загружается одна строка, первое значение в CCR1, последнее в CCR4). Но она избыточна.
Код:
const uint32_t TabsNew[16]={
0x00001000, 0x00002000, 0x00003000, 0x00004000,
0x00001001, 0x00002001, 0x00003001, 0x00004001,
0x00001002, 0x00002002, 0x00003002, 0x00004002,
0x00001003, 0x00002003, 0x00003003, 0x00004003
};
Можно уменьшить таблицу и использовать 16-ти разрядный таймер TIM1, он больше подходит для многоканального ШИМ (комплементарные выходы, регулируемая мертвая зона...).
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 29.03.2017, 16:23   #6
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Orel
Возраст: 38
Сообщений: 4,417
Вес репутации: 4322/119
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: stm32f407 tim2 dma burst

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Можно уменьшить таблицу и использовать 16-ти разрядный таймер TIM1, он больше подходит для многоканального ШИМ (комплементарные выходы, регулируемая мертвая зона...).
Сделал новую таблицу под 16-ти разрядный таймер TIM1, после каждого переполнения таймера происходит две транзакции, всего 2*8=16 единиц данных передаются (полуслов). И снова глюк на второй транзакции, затем данные стабильно передаются но уже не в своих каналах. Что скажете, любители аппаратных решений на STM32? Что не так?
Код:
const uint16_t TabsNew[16]={
0x1000, 0x2000, 0x3000, 0x4000,
0x1001, 0x2001, 0x3001, 0x4001,
0x1002, 0x2002, 0x3002, 0x4002,
0x1003, 0x2003, 0x3003, 0x4003
};

/**
MSIZE 16 bit
PSIZE 16 bit

// 16 единиц данных
DMA_STREAM->NDTR = 16; 
// DBL = 1 (2 transfers)
TIMx->DCR = (1 << 8) + ((((uint32_t)(&TIMx->CCR1)) - ((uint32_t)(&TIMx->CR1))) >> 2);

За один раз обновляются два регистра CCR1 и CCR2, всего обновлений 8 (8*2=16 единиц данных).

CCR1    CCR2
0x1000, 0x2000
0x4000, 0x1001
0x2001, 0x3001
0x4001, 0x1002
0x2002, 0x3002
0x4002, 0x1003
0x2003, 0x3003
*/
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 29.03.2017, 16:39   #7
HHIMERA
Senior Member
 
Регистрация: 10.06.2008
Возраст: 55
Сообщений: 2,629
Вес репутации: 3694/96
HHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond repute
По умолчанию Re: stm32f407 tim2 dma burst

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Что не так?
"Надо... было... купить... белку!"(из к.ф.)
https://www.youtube.com/watch?v=LjrSX4KBR9o
Цитата:
Возьми простейший Салеае... сбрось тактовую по минимуму... и наблюдай всю прелесть нирваны...
---------------
Цитата:
Что скажете, любители аппаратных решений на STM32?
Шума от тебя много... а толку мало... А вообще... всё работает... и как всегда правильно...
Про латентность ДМА... ты конечно же... никогда не слышал...
__________________
"Я не даю готовых решений, я заставляю думать!"(С)

Последний раз редактировалось HHIMERA; 29.03.2017 в 16:49.
HHIMERA вне форума   Ответить с цитированием
Старый 29.03.2017, 16:43   #8
CERGEI
Senior Member
 
Аватар для CERGEI
 
Регистрация: 11.07.2009
Возраст: 35
Сообщений: 514
Вес репутации: 183/36
CERGEI has a spectacular aura aboutCERGEI has a spectacular aura about
По умолчанию Re: stm32f407 tim2 dma burst

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Что скажете, любители аппаратных решений на STM32?
На пике делай
CERGEI вне форума   Ответить с цитированием
Старый 29.03.2017, 17:05   #9
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Orel
Возраст: 38
Сообщений: 4,417
Вес репутации: 4322/119
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: stm32f407 tim2 dma burst

Цитата:
Сообщение от HHIMERA Посмотреть сообщение
"Надо... было... купить... белку!"(из к.ф.)
https://www.youtube.com/watch?v=LjrSX4KBR9o
---------------
Шума от тебя много... а толку мало... А вообще... всё работает... и как всегда правильно...
Про латентность ДМА... ты конечно же... никогда не слышал...
И что конкретно про латентность DMA?
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 30.03.2017, 09:34   #10
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Orel
Возраст: 38
Сообщений: 4,417
Вес репутации: 4322/119
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: stm32f407 tim2 dma burst

Цитата:
Сообщение от HHIMERA Посмотреть сообщение
"Надо... было... купить... белку!"(из к.ф.)
---------------
А вообще... всё работает... и как всегда правильно...
Про латентность ДМА... ты конечно же... никогда не слышал...
Надо было не вспоминать про белку (опохмел...кино...тем более, что я вообще фильмы не смотрю и их не запоминаю...зачем мозг забивать), а просто упомянуть, что бесполезно в кейле в режиме отладки с ST-LINK V2 наблюдать за регистрами DMA2_Stream5->NDTR и TIM1-CCRx, т.к. значения в окнах System Viewver TIM1 и System Viewver DMA2 меняются после каждого переполнения таймера (а у меня оно происходило через 5 секунд, чтобы я мог наблюдать за регистрами), но не соответствуют реальным значениям. А реальные значения можно просмотреть с помощью пользовательского кода, например вывести значения регистров на дисплей, подключенный к микроконтроллеру, вот в этом случае все отображается правильно, при любом количестве DMA передач (1,2,4).
Код:
sprintf(Str01, "1:=%x", TIM1->CCR1);    //
strcat(Str01, " ");
sprintf(temp, "2:=%x",  TIM1->CCR2);
strcat(Str01, temp);
strcat(Str01, " ");
sprintf(temp, "N:=%x",  DMA2_Stream5->NDTR);
strcat(Str01, temp);
DisplayString(LCD_LINE1, Str01);    
        
sprintf(Str02, "3:=%x", TIM1->CCR3);    //
strcat(Str02, " ");
sprintf(temp, "4:=%x",  TIM1->CCR4);
strcat(Str02, temp);
DisplayString(LCD_LINE2, Str02);
Миниатюры
TIM1 DMA Burst.PNG  
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 30.03.2017, 09:49   #11
HHIMERA
Senior Member
 
Регистрация: 10.06.2008
Возраст: 55
Сообщений: 2,629
Вес репутации: 3694/96
HHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond repute
По умолчанию Re: stm32f407 tim2 dma burst

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Надо было не вспоминать про белку
Нет уж... "Надо... было... купить... белку!"(из к.ф.)
Тебе сколько раз говорили... для плотной работы с железом... без логанализатора в СТМ делать нечего... но ты предпочитаешь бегать по соседям и собирать кофейную гущу... или... укатывать свой огород с картохой хрустальным шаром... Ну и кто тебе доктор... если ты сам себе пОциент???
__________________
"Я не даю готовых решений, я заставляю думать!"(С)
HHIMERA вне форума   Ответить с цитированием
Старый 30.03.2017, 09:55   #12
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Orel
Возраст: 38
Сообщений: 4,417
Вес репутации: 4322/119
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: stm32f407 tim2 dma burst

Цитата:
Сообщение от HHIMERA Посмотреть сообщение
Тебе сколько раз говорили... для плотной работы с железом... без логанализатора в СТМ делать нечего...
Не было у меня никогда логанализатора. Нужно будет приобрести, пригодится. У dosikus-а какие картинки красивые в теме STM32 I2C. Для работы с многоканальным ШИМ-ом как раз нужен будет.
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 31.03.2017, 14:12   #13
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Orel
Возраст: 38
Сообщений: 4,417
Вес репутации: 4322/119
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: stm32f407 tim2 dma burst

Что я могу сказать, товарищи: dosikus - голова, хорошую методу предложил для STM32F072. А я её переписал для STM32F407 и теперь TIM1 в PWM mode работает в цикличесом режиме с обновлением CCR1-CCR3 из таблицы с использованием DMA burst. Картинка на выходе TIM1_CH1. Период ШИМ специально увеличил, а вообще ШИМ-ит здорово.

PS: У dosikus-a есть что взять. Теперь в новых проектах не пользуюсь SPL вообще, только RM, DataSheet, AN и заголовочный файл stm32f4xx.h.
Миниатюры
Таблица 01.PNG  
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 31.03.2017, 14:41   #14
CERGEI
Senior Member
 
Аватар для CERGEI
 
Регистрация: 11.07.2009
Возраст: 35
Сообщений: 514
Вес репутации: 183/36
CERGEI has a spectacular aura aboutCERGEI has a spectacular aura about
По умолчанию Re: stm32f407 tim2 dma burst

А где 3 канала ? Интересно меняется одновременно заполнение периода
А HAL ?
CERGEI вне форума   Ответить с цитированием
Старый 31.03.2017, 14:43   #15
HHIMERA
Senior Member
 
Регистрация: 10.06.2008
Возраст: 55
Сообщений: 2,629
Вес репутации: 3694/96
HHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond repute
По умолчанию Re: stm32f407 tim2 dma burst

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Что я могу сказать, товарищи: dosikus - голова
...........................
Теперь в новых проектах не пользуюсь SPL вообще, только RM, DataSheet, AN и заголовочный файл stm32f4xx.h.
Шо... так долго надо было думать... по этому поводу??? "Не прошло и трёх дней как Зоркий Сокол заметил, что в сарае нет четвёртой стены."(с)...
Или... "Хохол не поверит, пока не проверит!"(с)???

Вот поэтому и говорили... нахрен всё это восьмибитное убожество задорого... когда есть 030-е за 0,4$...
"И будет тебе счастье!"(с)...
__________________
"Я не даю готовых решений, я заставляю думать!"(С)
HHIMERA вне форума   Ответить с цитированием
Старый 31.03.2017, 14:48   #16
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Orel
Возраст: 38
Сообщений: 4,417
Вес репутации: 4322/119
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: stm32f407 tim2 dma burst

Цитата:
Сообщение от CERGEI Посмотреть сообщение
А где 3 канала ? Интересно меняется одновременно заполнение периода
Все три канала (CCR1-CCR3) обновляются каждый период таймера (TIM1) с использованием DMA. Три транзакции по 16 бит. Здесь вопросов нет.

Цитата:
Сообщение от HHIMERA Посмотреть сообщение
Шо... "Не прошло и трёх дней как Зоркий Сокол заметил, что в сарае нет четвёртой стены."(с)...
Или... "Хохол не поверит, пока не проверит!"(с)???

Вот поэтому и говорили... нахрен всё это восьмибитное убожество задорого... когда есть 030-е за 0,4$...
"И будет тебе счастье!"(с)...
Да, четвертого канала с комплементарными выходавми нет, их только три - как раз для трехфазного моста на MOSFET или IGBT.
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 01.04.2017, 01:42   #17
CERGEI
Senior Member
 
Аватар для CERGEI
 
Регистрация: 11.07.2009
Возраст: 35
Сообщений: 514
Вес репутации: 183/36
CERGEI has a spectacular aura aboutCERGEI has a spectacular aura about
По умолчанию Re: stm32f407 tim2 dma burst

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Теперь в новых проектах не пользуюсь SPL вообще
Руки бы оторвать кто написал этот SPL, лишняя обертка со своей логикой.
CERGEI вне форума   Ответить с цитированием
Старый 01.04.2017, 08:48   #18
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Orel
Возраст: 38
Сообщений: 4,417
Вес репутации: 4322/119
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: stm32f407 tim2 dma burst

Цитата:
Сообщение от CERGEI Посмотреть сообщение
Руки бы оторвать кто написал этот
И голову тоже, тому, кто так выражает свои мысли. В молодости приходят мысли "оторвать голову" и дети, наверное, этот же бред слышат. Неспроста у тебя аватарка на чёрта похожа и на всех форумах одинаковая. И особенно странно это читать от человека малознакомого с STM32, вообще малознакомого с программированием, малограмотного любителя - язычника. Скорее подсираило, в смысле сам ничего толком выразить не может, но всегда кому-либо поддакивает, в чьих-то интересах работает, показывает принадлежность себя к группе экспертов. И ты мне вообще не пиши, не очень хочется вперемешку с чёртом сообщения читать. Ищи себе равных по уму и убеждениям, где отрывать руки, голову, играть ею в футбол, варить голову и есть будет нормой.
Цитата:
Сообщение от CERGEI Посмотреть сообщение
SPL, лишняя обертка со своей логикой.
SPL имела смысл на раннем этапе, когда было несколько семейств микроконтроллеров с отличающейся периферией. SPL предоставляла единый синтаксис и стиль для разных семейств. Мне, например, позволила с легкостью переносить код между STM32F100 <->STM32F407. И для относительно простых типовых задач вполне подходит.

Другой вопрос в том, что единый синтаксис оказался громоздким, стало неудобно пользоваться отладчиком, в самой библиотеке встречаются ошибки, библиотека ограничивает фантазию при работе с регистрами. Да и вообще она уже несколько лет не развивается - от неё отказался производитель.
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 01.04.2017, 09:50   #19
CERGEI
Senior Member
 
Аватар для CERGEI
 
Регистрация: 11.07.2009
Возраст: 35
Сообщений: 514
Вес репутации: 183/36
CERGEI has a spectacular aura aboutCERGEI has a spectacular aura about
По умолчанию Re: stm32f407 tim2 dma burst

Да не напрягайся ты так не хотел тебя задеть, простите дядя эксперт. Вы же бог, а все остальные тараканы под ногами
Забанят, да пофик на форумах мало что полезного. Даже спроси и то ты ведь не поможеш.
CERGEI вне форума   Ответить с цитированием
Старый 01.04.2017, 10:46   #20
HHIMERA
Senior Member
 
Регистрация: 10.06.2008
Возраст: 55
Сообщений: 2,629
Вес репутации: 3694/96
HHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond repute
По умолчанию Re: stm32f407 tim2 dma burst

Цитата:
Сообщение от CERGEI Посмотреть сообщение
не хотел тебя задеть, простите дядя эксперт. Вы же бог, а все остальные тараканы под ногами
Да не ведись... У дяди психоз осмысления бытия на фоне освоения СТМ32... типичный случай... Голоса есть... белки нет... диагноз неполный... эффективному лечению не подлежит... вот и мучается...
__________________
"Я не даю готовых решений, я заставляю думать!"(С)
HHIMERA вне форума   Ответить с цитированием
Старый 01.04.2017, 11:02   #21
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Orel
Возраст: 38
Сообщений: 4,417
Вес репутации: 4322/119
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: stm32f407 tim2 dma burst

Цитата:
Сообщение от HHIMERA Посмотреть сообщение
Да не ведись... У дяди психоз осмысления бытия на фоне освоения СТМ32... типичный случай... Голоса есть... белки нет... диагноз неполный... эффективному лечению не подлежит... вот и мучается...
Стас, мало кому интересно, что там у твоего дяди.Племянники.
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 02.04.2017, 00:16   #22
dosikus
Senior Member
 
Аватар для dosikus
 
Регистрация: 05.06.2007
Возраст: 45
Сообщений: 3,494
Вес репутации: 5450/126
dosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond repute
По умолчанию Re: stm32f407 tim2 dma burst

Дим, с первым апреля тебя!
dosikus вне форума   Ответить с цитированием
Старый 02.04.2017, 00:19   #23
HHIMERA
Senior Member
 
Регистрация: 10.06.2008
Возраст: 55
Сообщений: 2,629
Вес репутации: 3694/96
HHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond repute
По умолчанию Re: stm32f407 tim2 dma burst

Цитата:
Сообщение от dosikus Посмотреть сообщение
с первым апреля
С днюхой тебя!!! И всего самого... самого... самого...
__________________
"Я не даю готовых решений, я заставляю думать!"(С)
HHIMERA вне форума   Ответить с цитированием
Старый 03.04.2017, 10:58   #24
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Orel
Возраст: 38
Сообщений: 4,417
Вес репутации: 4322/119
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: stm32f407 tim2 dma burst

Ну вот и первый ШИМ попер с драйверами, на выходе полумоста. Нужно еще оптимально расчитать частоту ШИМ (сейчас несущая всего около 10 кГц), параметры интегратора. А так ток 0,5 ампера спокойно выдает. Синусоида желтая частотой около 285 Гц.
Миниатюры
Синус.PNG  
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 03.04.2017, 15:02   #25
dosikus
Senior Member
 
Аватар для dosikus
 
Регистрация: 05.06.2007
Возраст: 45
Сообщений: 3,494
Вес репутации: 5450/126
dosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond repute
По умолчанию Re: stm32f407 tim2 dma burst

Цитата:
Сообщение от HHIMERA Посмотреть сообщение
С днюхой тебя!!! И всего самого... самого... самого...
Упс, только увидел. Огромное спасибо!!!!!!
dosikus вне форума   Ответить с цитированием
Ответ


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PIC18F “K42” family with DMA Pridnya Продукция MICROCHIP 299 24.03.2017 23:48
появились датащиты на PIC32MZ EC Алексей Продукция MICROCHIP 154 16.03.2015 10:43
PIC32 DMA UART сбои при передаче valery1966 Продукция MICROCHIP 8 01.07.2014 17:11
STM32F407 DMA Pridnya Микроконтроллеры других производителей 0 09.12.2013 10:23
PIC32: скорость DMA tester Продукция MICROCHIP 41 11.06.2011 18:28


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


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