Например TDA7294

Форум РадиоКот • Просмотр темы - частотомер на GD32f303c
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт июн 19, 2025 23:43:23

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 244 ]     ... , , , 11, ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: частотомер на GD32f303c
СообщениеДобавлено: Вт ноя 21, 2023 09:35:47 
Встал на лапы

Карма: 1
Рейтинг сообщений: 15
Зарегистрирован: Вс май 15, 2022 23:04:19
Сообщений: 108
Откуда: Белгородская обл.
Рейтинг сообщения: 0
Из оригинальной библиотеки.
/* FPU settings 303*/
#if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */
#endif

Советы из инета.

Нужно стараться, чтобы все переменные были float а не double. По умолчанию компилятор делает double, и в этом случае сопроцессор особо не помогает.
В прерываниях плавучку не использовать (либо озаботиться сохранением плавучего контекста).

после инициализации переменной нужно букву f ставить.
Либо указать ключ -fsingle-precision-constant (это для gcc). Тогда все константы по умолчанию будут float, а не double.

По умолчанию константы с плавающей точкой считаются double. А если в выражении хоть один операнд является double, то все другие операнды преобразуются в double, и вычисления производятся в double. Так работает си.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: частотомер на GD32f303c
СообщениеДобавлено: Пт ноя 24, 2023 23:43:21 
Держит паяльник хвостом

Карма: -2
Рейтинг сообщений: 35
Зарегистрирован: Пн сен 10, 2018 19:16:28
Сообщений: 923
Рейтинг сообщения: 0
Andrey_B, хочу сделать конвейер на GD. Или чего-то не понимаю, или куб не использует своими настройками возможности таймеров. Куб не позволяет настроить таймер так, что бы тактировался от своего канала захвата и захват работал. Таймер тактируется от канала, но захват не работает. Если выставить TI1_ED(по двум фронтам), то работает, а от TI1FP1 не хочет.
Если вручную подшаманить, то работает. Это недоработка куба или моя?
Эти строчки приходится каждый раз добавлять вручную.
sSlaveConfig.InputTrigger = TIM_TS_TI1FP1;
sConfigIC.ICSelection = TIM_ICSELECTION_DIRECTTI;


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: частотомер на GD32f303c
СообщениеДобавлено: Сб ноя 25, 2023 10:36:01 
Держит паяльник хвостом
Аватар пользователя

Карма: 14
Рейтинг сообщений: 320
Зарегистрирован: Пт апр 09, 2010 16:06:38
Сообщений: 963
Откуда: Тула
Рейтинг сообщения: 1
linkov1959, да, куб некоторые вещи не позволяет сделать. Видимо разработчики считают, что чрезмерная гибкость больше навредит. Иногда помогает перейти с HAL на LL. Но частенько "доинициализировать" приходится вручную. Пользоваться функциями куба не только для инициализации, но и для непосредственного управления, считаю вообще нельзя.

Вообще использовать заточенный на STM куб для работы с GD плохая идея. Они всё таки различаются. Сам я с GD не работал, но по опыту работы например с CH32F103C8T6 или CH32V203K8T6, при всей похожести периферии клонов, иногда вылезают ну очень значительные отличия. Так что только даташит.

ЗЫ: что касается плавучки и быстродействия. Многие вещи, которые на первый взгляд скрыты, например сохранение и восстановления контекста при вызове обработчика прерывания с использованием плавучих переменных или без них, тоже по разному будет сказываться на производительности в целом. Или интенсивное использование ПДП (DMA), которое вроде как идёт в фоне, тоже может сильно влиять на производительность.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: частотомер на GD32f303c
СообщениеДобавлено: Сб ноя 25, 2023 14:50:08 
Держит паяльник хвостом

Карма: -2
Рейтинг сообщений: 35
Зарегистрирован: Пн сен 10, 2018 19:16:28
Сообщений: 923
Рейтинг сообщения: 0
Andrey_B, по прерываниям есть вопросы. Оказалось, что мой конвейер на stm401 работает не так, как я задумал. Может, потому и работает.:) Я там разрешаю прерывания по захвату NVIC_EnableIRQ(50), но по таймингу вижу, что прерывание срабатывает сразу не дожидаясь захвата. Вроде за это какой-то бит отвечает и его надо сбрасывать, неужели куб этого не делает?


Вернуться наверх
 
В продаже новые LED-драйверы XLC компании MEAN WELL с диммингом нового поколения

Компания MEAN WELL пополнила ассортимент своей широкой линейки светодиодных драйверов новым семейством XLC для внутреннего освещения. Главное отличие – поддержка широкого спектра проводных и беспроводных технологий диммирования. Новинки представлены в MEANWELL.market моделями с мощностями 25 Вт, 40 Вт и 60 Вт. В линейке есть модели, работающие как в режиме стабилизации тока (СС), так и в режиме стабилизации напряжения (CV) значением 12, 24 и 48 В.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: частотомер на GD32f303c
СообщениеДобавлено: Сб ноя 25, 2023 23:45:48 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2916
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23833
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
интенсивное использование ПДП (DMA), которое вроде как идёт в фоне, тоже может сильно влиять на производительность.

Не просто влиять, а вплоть до почти полной блокировки исполнения...
Попробуйте снять данные с конвейерного АЦП через GPIO и DMA на частоте вчетверо ниже частоты ядра... :tea: :)))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: частотомер на GD32f303c
СообщениеДобавлено: Чт ноя 30, 2023 09:50:52 
Встал на лапы

Карма: 1
Рейтинг сообщений: 15
Зарегистрирован: Вс май 15, 2022 23:04:19
Сообщений: 108
Откуда: Белгородская обл.
Рейтинг сообщения: 0
Запаял GD32F407VG (360 руб) на переходник (100 руб)
Залил blink кокосом как для stm32f407ve.
Запустился на частотах по Кубу.
с кварцем 20 мгц коэф. /2 *78 /2=390мгц
с ТСХО 25 мгц /2 *63 /2=393мгц
периферию не смотрел.
Плюсы
подключается FPU
таймера 8+2(32 бит) +2+2
ADC -3 штуки
флеш 512 кб. с 0-ws.
рам 192 кб.
По цене оптимально GD32F407VE -260 руб с доставкой
BOOT0 нужно садить на землю
Прошивка и отладка в кокосе через порт SW без отключения от компа и всяких перемычек.
Через ST LINK v2 , с него и питание 3,3в


Последний раз редактировалось Игорь2111 Чт ноя 30, 2023 15:36:43, всего редактировалось 3 раз(а).

Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: частотомер на GD32f303c
СообщениеДобавлено: Чт ноя 30, 2023 12:45:29 
Держит паяльник хвостом

Карма: -2
Рейтинг сообщений: 35
Зарегистрирован: Пн сен 10, 2018 19:16:28
Сообщений: 923
Рейтинг сообщения: 0
Игорь2111, супер! Где брал?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: частотомер на GD32f303c
СообщениеДобавлено: Чт ноя 30, 2023 13:07:15 
Встал на лапы

Карма: 1
Рейтинг сообщений: 15
Зарегистрирован: Вс май 15, 2022 23:04:19
Сообщений: 108
Откуда: Белгородская обл.
Рейтинг сообщения: 0
на AliExpress
https://sl.aliexpress.ru/p?key=89LvU77

Периферию надо будет проверить на макс. тактовую.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: частотомер на GD32f303c
СообщениеДобавлено: Чт ноя 30, 2023 19:35:17 
Держит паяльник хвостом

Карма: -2
Рейтинг сообщений: 35
Зарегистрирован: Пн сен 10, 2018 19:16:28
Сообщений: 923
Рейтинг сообщения: 0
//По цене оптимально GD32F407VE -260 руб с доставкой//
Заказал за 150р с доставкой.:)
https://www.aliexpress.com/item/1005005 ... 1802hsc9Cx


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: частотомер на GD32f303c
СообщениеДобавлено: Пн дек 04, 2023 01:09:49 
Встал на лапы

Карма: 1
Рейтинг сообщений: 15
Зарегистрирован: Вс май 15, 2022 23:04:19
Сообщений: 108
Откуда: Белгородская обл.
Рейтинг сообщения: 0
По частоте ядра GD32F407 стабильно работает только до 330-340 мгц
С ТСХО 25 мгц коф /2 *54 /2 =337 мгц


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: частотомер на GD32f303c
СообщениеДобавлено: Вт дек 05, 2023 15:41:51 
Встал на лапы

Карма: 1
Рейтинг сообщений: 15
Зарегистрирован: Вс май 15, 2022 23:04:19
Сообщений: 108
Откуда: Белгородская обл.
Рейтинг сообщения: 1
Нестабильность была из-за питания.
Внутренний стаб.ST-LINK не тянул.
При 400 мгц потребление 175 ма.
Норма при 168 мгц 85 ма.
Поставил внешний 1117-33.
При 400 мгц тактовой время расчета синуса без FPU по ранее описанному алгоритму 2,7 мксек (1118 тактов)
с FPU 0.7 мксек. (291 такт системной)
Прилично теплый.
Режим тяжелый придется или клеить радиатор или снижать частоту.

без FPU
https://img.radiokot.ru/files/149432/3b7spfoe08.jpg

c FPU
https://img.radiokot.ru/files/149432/3b7sqcymkk.jpg

Добавлено after 5 hours 58 minutes 42 seconds:
В GD32F407 есть строеный режим работы ADC 1,2,3
Интересно что получится при макс.тактовой.
https://img.radiokot.ru/files/149432/3b83m95zcc.jpg


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: частотомер на GD32f303c
СообщениеДобавлено: Ср дек 06, 2023 04:23:26 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2916
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23833
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
В очередной раз. Дело не в интерливе. Дело в совершенно аналоговой схеме АЦП. Сигнал еще нужно захватить, прежде чем запустить преобразование. Ну и само преобразование - это тоже глубоко аналоговый процесс с балансировкой заряда... Его разгон приводит к потере эффективной разрядности.
На выходе быстро растет шум.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: частотомер на GD32f303c
СообщениеДобавлено: Ср дек 06, 2023 17:42:34 
Держит паяльник хвостом

Карма: -2
Рейтинг сообщений: 35
Зарегистрирован: Пн сен 10, 2018 19:16:28
Сообщений: 923
Рейтинг сообщения: 0
КРАМ, Всё просто. В кубе выставляется 3 ADC на общий канал, выбирается режим интерлив, разрядность, настраивается DMA и массив из ОЗУ выводится на экран. Подаем тестовый сигнал и гоним тактовую ADC , наблюдая картинку. Полутонов не замечал, там резкий срыв.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: частотомер на GD32f303c
СообщениеДобавлено: Чт дек 07, 2023 11:43:40 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2916
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23833
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Полутонов не замечал, там резкий срыв.

Вы несете ахинею, извините.
Что вы называете "тестовым сигналом"?
Как вы измеряете ENOB?
Срыв - это когда перестает работать автомат последовательных приближений - чисто цифровая схема.
Но далеко задолго до этого срыва от исходных 12 разрядов мало что остается...
Откройте даташит на любой SAR ADC и узнайте для себя его основные параметры. И лишь потом экспериментируйте со встроенным АЦП.
Интерлив лишь позволяет получить чередование АЦП в автоматическом режиме, тем самым кратно увеличивая скорость. Но он никак не влияет на скорость отдельных ядер АЦП.
массив из ОЗУ выводится на экран.

Я должен вас огорчить. Скорость сканирования памяти с помощью JTAG столь низка, что вашим "методом" ничего определить невозможно.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: частотомер на GD32f303c
СообщениеДобавлено: Чт дек 07, 2023 14:27:26 
Встал на лапы

Карма: 1
Рейтинг сообщений: 15
Зарегистрирован: Вс май 15, 2022 23:04:19
Сообщений: 108
Откуда: Белгородская обл.
Рейтинг сообщения: 0
Попробуем , может и получится. Любителям много не надо
Увидеть на экране показометра-частомера TFT-LCD 128*160 чистый меандр на частоте желательно 10 мгц. без внешней обвязки. (тестовый сигнал)
При этом не спалив МК из-за большой потребляемой мощности.
Это и будет проверкой всей периферии МК. (А как это все будет реализовано абсолютно неважно)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: частотомер на GD32f303c
СообщениеДобавлено: Чт дек 07, 2023 15:18:07 
Держит паяльник хвостом

Карма: -2
Рейтинг сообщений: 35
Зарегистрирован: Пн сен 10, 2018 19:16:28
Сообщений: 923
Рейтинг сообщения: 0
Игорь2111, 15 Мсэмплов минимум должны получить, это сносный меандр 1 Мгц, но можно помечтать о 30 Мсэмплах.:)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: частотомер на GD32f303c
СообщениеДобавлено: Чт дек 07, 2023 19:10:04 
Электрический кот
Аватар пользователя

Карма: 4
Рейтинг сообщений: 135
Зарегистрирован: Сб мар 09, 2013 11:29:22
Сообщений: 1029
Откуда: 40RUS, Жуков
Рейтинг сообщения: 0
Для 10МГц нужно , хотя бы, 300 М/с.

_________________
IVL ex UA6PJ


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: частотомер на GD32f303c
СообщениеДобавлено: Сб фев 10, 2024 23:14:35 
Встал на лапы

Карма: 1
Рейтинг сообщений: 15
Зарегистрирован: Вс май 15, 2022 23:04:19
Сообщений: 108
Откуда: Белгородская обл.
Рейтинг сообщения: 0
На макетнойй плате с GD32F303CC можно сделать простой генератор синуса
с помощью 12 бит DAC (pin A4) на фиксированную частоту.
Первый способ рассчет таблицы синуса в оперативке и вывод в DAC в цикле for()
для частоты 775 гц 4631 точка на период синуса.
+-1 точка +-0,2 гц

Добавлено after 6 minutes 51 second:
Второй способ
Предварительный расчет таблицы одного периода синуса в оперативке и
вывод по переполнению таймера через DMA в DAC
для 775 гц таблица 20071 точка
Частота меняется изменением количества точек
+-1точка +-0,1 гц

Собирается,прошивается и отлаживается в Кокосе под видом stm32f103RC
Бюджет макетка-350 руб, програматор-120 руб, усилок D класс 20 Вт на tpa3116 собранный 350 руб


Вложения:
Комментарий к файлу: синус таймер+DMA
303 синус табл 775 гц +DMA+TIM4+.rar [2.96 KiB]
Скачиваний: 155
Комментарий к файлу: вывод в цикле
303 синус табл 775 гц +.rar [2.29 KiB]
Скачиваний: 211


Последний раз редактировалось Игорь2111 Вс фев 11, 2024 03:51:59, всего редактировалось 1 раз.
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: частотомер на GD32f303c
СообщениеДобавлено: Вс фев 11, 2024 02:27:15 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2916
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23833
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Оба метода ничем друг от друга не отличаются и для формирования сетки 0,1 Гц являются отвратительными.
Причин две.
1. Сетка будет принципиально нелинейной.
2. Безумное, ни на чем не основанное количество отсчетов.
Мелкий шаг делается с помощью DDS. А DDS - это скользящая фаза.
Если не устраивает полученный джиттер, то делают дополнительно следящий фильтр.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: частотомер на GD32f303c
СообщениеДобавлено: Вс фев 11, 2024 12:23:20 
Встал на лапы

Карма: 1
Рейтинг сообщений: 15
Зарегистрирован: Вс май 15, 2022 23:04:19
Сообщений: 108
Откуда: Белгородская обл.
Рейтинг сообщения: 0
Благодарю, будем учиться дальше

Добавлено after 9 hours 11 minutes 28 seconds:
По количеству точек
Читал по теории для КНИ синуса половина младшего разряда DAC 2-n разрядов количество точек на период должно быть 2-n +3.
Т.е для 12 разрядного 32568.
И поразила низкая частота вывода массива в цикле for (~100 тактов)


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 244 ]     ... , , , 11, ,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

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


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y