частотомер на GD32f303c

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
Прорезались зубы
Аватара пользователя
Сообщения: 202
Зарегистрирован: Сб янв 09, 2016 15:51:17

Сообщение AVI-crak »

[uquote="Игорь2111",url="/forum/viewtopic.php?p=4475001#p4475001"]Обойти двух спецов на ихнем же поле, это было здорово.[/uquote]
Если сделать PI = 2.0, то будет ещё проще и быстрее, есно при наличии аппаратной математики.

Код: Выделить всё

/// value = +4.0 ~ -4.0
/// error 0.025%
float sin_f2(float value)///35
{
    float rev, res, nc;
    if (value < 0.0f){
        value = 0.0f - value;
        nc = -1.0f;
    }else nc = 1.0f;
    if (value > 3.0f) value -= 4.0f;
    else if (value > -1.0f) value = 2.0f - value;
    res = value * value;
    rev = 283.0f * value - (77.0f * res * value);
    res *= 26.0f;
    res += 180.0f;
    rev /= res;
    rev *= nc;
    return rev;
};
https://godbolt.org/z/3Y71no4Wh
https://www.desmos.com/calculator/jlyultpmyt
Кстати в целых числах точность выше, но команд больше.
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 5932
Зарегистрирован: Ср ноя 11, 2009 17:19:30
Откуда: Воронеж

Сообщение >TEHb< »

Но зато в М4 есть SIMD, что в некоторых случаях позволяет неплохо так срезать углы.
Усложнять просто. Упрощать сложно.
Контактная информация:
Реклама
Держит паяльник хвостом
Сообщения: 923
Зарегистрирован: Пн сен 10, 2018 19:16:28

Сообщение linkov1959 »

Синус считать не нужно, всё посчитано до нас, синусы будут выдавать таймеры по два на штуку, проц отдыхает. FPU понадобится для реализации цифровых фильтров с выходом в DACи.
Встал на лапы
Сообщения: 108
Зарегистрирован: Вс май 15, 2022 23:04:19
Откуда: Белгородская обл.

Сообщение Игорь2111 »

Лучшее враг хорошего.
Время расчёта синуса измеренное счётчиком DWT при тактовой 280 мгц
4,8 мксек.
При заранее посчитанных коэф пи - 4,3 мксек..
При 21 значащем разряде.
При используемой памяти РАМ на три таблицы до 10 кбайт
( частота выборки тактовая 10 кГц и выходная частота минимальная 5 Гц 2000 точек)
Время пересчёта трёх таблиц для DMA под нужную частоту (5 гц- 400 Гц)
около 30 миллисекунд.
Теоретически годится.

Под силовую часть на SCM1245- 300 руб/ шт
и оптопары HCPL2631- 100 руб/ 3 шт
Питание силовой от 24-400 вольт
Для этого на bootstrep входы на каждый отдельное изолиров питание 15 в.
+ 3 БП по 100 руб шт.

P.S
Удобная вещь подключенный дисплей. Можно в реальном времени посмотреть всё регистры и переменные.
Реклама
Эиком - электронные компоненты и радиодетали
Держит паяльник хвостом
Сообщения: 923
Зарегистрирован: Пн сен 10, 2018 19:16:28

Сообщение linkov1959 »

Игорь2111, FPU работает?
Реклама
Встал на лапы
Сообщения: 108
Зарегистрирован: Вс май 15, 2022 23:04:19
Откуда: Белгородская обл.

Сообщение Игорь2111 »

Кокос для f103 не подключает.
Можно проверить на других IDE.
Реклама
Поставщик валерьянки для Кота
Сообщения: 1980
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

Возможно, я неправильно понял (ру->бг), но зачем "разгоняем" МК? Раньше, в годах напр. частотомер на PIC (12F1822), с clock 25 MHz, измерял ~150 MHz, с внутренним prescaler перед таймером (количество переполнений таймера * 256/65536 + количество отчетов таймера), асинхронно. A время напр. 1 s: от другого таймера. Overclock для GD32F303 для использования в качестве изп. генератора?

Ниже: Arduino и Si5351A в качестве измерительный генератор. Десятичная точка на дисплее отсутствует (для часы?), читаем: 153,0 MHz.

Изображение
Контактная информация:
Держит паяльник хвостом
Сообщения: 923
Зарегистрирован: Пн сен 10, 2018 19:16:28

Сообщение linkov1959 »

Наконец, удалось заказать в Днепр процы.
https://aliexpress.ru/item/100500550037 ... 3325720675
Подозрительно дешево. Как отличить 303й от 103го?
Держит паяльник хвостом
Сообщения: 923
Зарегистрирован: Пн сен 10, 2018 19:16:28

Сообщение linkov1959 »

Точно, если 256 кБ, то 303й однозначно. Я и stm32f303cc заказал, там тоже не обманешь.https://www.aliexpress.com/item/1005006 ... MLhIm&mp=1
Встал на лапы
Сообщения: 108
Зарегистрирован: Вс май 15, 2022 23:04:19
Откуда: Белгородская обл.

Сообщение Игорь2111 »

veso74
Сделать хороший частотомер цели не было.
Все поделки в этой теме это привлечь внимание к линейке GD32F303
отличной, дешевой замене STM32F103.
А также исследование их возможностей на практике с минимум затрат.
Без платных Кейл и ИАР за 3000$ (программы более 32 кб)
Для меня это хобби.

Сколько ни покупал на Али все рабочие. (макс тактовая от 280 до 320 мгц)
Китайский Кокос отлично совместим с китайским программатором ST-Link и их процами.(отладка работает 100%)
Похоже китайцы сами себя не подделывают :))
Последний раз редактировалось Игорь2111 Чт сен 14, 2023 21:52:34, всего редактировалось 2 раза.
Поставщик валерьянки для Кота
Сообщения: 1980
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

Спасибо. Подумал, что в выбранном методе (частотмер на STM32) есть что-то особенное. А способ решения AVR, PIC -> STM немного меняется, и того стоит, имеет гораздо больше возможностей (мне кажется STM сложнее, но в какой-то степени - проще). И есть большой периферии по цене 1-2-3 чашек кофе. Для меня тоже хобби.
Контактная информация:
Держит паяльник хвостом
Сообщения: 923
Зарегистрирован: Пн сен 10, 2018 19:16:28

Сообщение linkov1959 »

[uquote="Игорь2111",url="/forum/viewtopic.php?p=4476787#p4476787"]veso74
Сделать хороший частотомер цели не было.
Все поделки в этой теме это привлечь внимание к линейке GD32F303
отличной, дешевой замене STM32F103.[/uquote]
Китаец выслал мне оригинальный stm32f303cct6 за меньше 2$, а stm103 меньше 1$. что бы привлечь внимание к GD нужно делать не просто хороший, а настоящий частотомер.:)
Встал на лапы
Сообщения: 108
Зарегистрирован: Вс май 15, 2022 23:04:19
Откуда: Белгородская обл.

Сообщение Игорь2111 »

Меня интересовал диапазон 144 мгц.
stm32f103 больше 80 мгц не гонится.
stm32f303 не пробовал.
Подозреваю что тоже, судя по даташиту.

Хороший частотомер мне видится
ТСХО 25 мгц-> AD9833 0.1 гц-> gd32f303 280 мгц без прескалера.
Точность +/- 1гц при 9 разрядах до 100 мгц.
С прескалером 2
Точность +/-2 Гц при 9 разрядах до 280 мгц

Также на этой связке можно будет сделать стробоскопический осциллограф до 200 мгц.

Дорого для любителя.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1104
Зарегистрирован: Пт апр 09, 2010 16:06:38
Откуда: Тула

Сообщение Andrey_B »

Игорь2111, а в чём смысл измерять частоту именно напрямую МК? Почему не применить предделитель? С нормальными алгоритмами асинхронные делители не снижают разрешающую способность. STM32F303 + 74hc74 без разгона способен 100МГц за 1с измерить с разрешением 8.5 разрядов:
(1с*144МГц*100МГц)/((1с*144Мед.сч)+1ед.сч) = 99 999 999.3056 Гц
(1с*144МГц*100МГц)/((1с*144Мед.сч)-1ед.сч) = 100 000 000.6940 Гц
Причём с примерно таким-же разрешением можно измерить любую входную частоту выше 1Гц за время около 1с.

Что касается точности, то тут всё будет зависеть от стабильности опоры.

ЗЫ: и зачем для измерения частоты нужна AD9833?
Прорезались зубы
Аватара пользователя
Сообщения: 202
Зарегистрирован: Сб янв 09, 2016 15:51:17

Сообщение AVI-crak »

[uquote="Andrey_B",url="/forum/viewtopic.php?p=4477022#p4477022"]Что касается точности, то тут всё будет зависеть от стабильности опоры.[/uquote]
Первая дельная мысль. А теперь дружно смотрим на цены OCXO генераторов. Можно конечно китайский дешман поставить, но смысл теряется полностью.
С китайским дешманом даже простой часовой кварц подстроить не получится. Ибо прибор будет реагировать на тепло руки.
Контактная информация:
Поставщик валерьянки для Кота
Сообщения: 1980
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

Из Китая есть TCXO 0,5..0,1 ppm (по данным, напр. 26, 13 MHz). Есть частотомер с 13 MHz, приличная точность и темп. стабильность. Сколько раз я проверял изменение времени (GPS). Вначале: несколько Hz, потом года 2-3-5 (почти) не менялось. Правда, не лаб. инструмент, но за КВ и с УКВ (с оговоркой) перекрываются с достаточной точностью. Но есть те же сомнения по поводу OCXO - проверять его ежегодно, например, потому что выбор генератора основан на потребностях. С OCXO не нравятся два момента: ожидание при включении (5 мин ...24 часа?) и большой расход тока.

AD9833 вероятно, это что-то вроде "переменного кварцевого генератора" для облегчения калибровки, дешев и можно разместить где угодно.
The frequency registers are 28 bits wide: with a 25 MHz clock rate, resolution of 0.1 Hz can be achieved; with a 1 MHz clock rate, the AD9833 can be tuned to 0.004 Hz resolution.
Контактная информация:
Встал на лапы
Сообщения: 108
Зарегистрирован: Вс май 15, 2022 23:04:19
Откуда: Белгородская обл.

Сообщение Игорь2111 »

veso74
Все верно написали.
Добавлю по бюджету
ОCXO более 10 тыс.руб
TCXO +AD9833+датчик Т (коррекция термопрофиля и смещений(F/Uпит) TCXO) -2тыс.руб
простой -300 руб.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1104
Зарегистрирован: Пт апр 09, 2010 16:06:38
Откуда: Тула

Сообщение Andrey_B »

[uquote="Игорь2111",url="/forum/viewtopic.php?p=4476996#p4476996"]Дорого для любителя.[/uquote]
Если говорить о стоимости, то вполне годные OCXO имеются по 700р., причём уже "состаренные".
И если не требуется иметь выход "круглого" значения частоты, а нужно только измерять, то всякие AD9833 вообще не потребуются, МК без разницы, какое значение взято за опору. В этом случае можно сделать ещё дешевле, обычный кварцевый генератор в самодельном термостате, например как тут:

Изображение

PS: за 10т.р. можно взять уже готовый GPSDO с антенной, который обеспечит 1E-9 прямо из коробки.
Поставщик валерьянки для Кота
Сообщения: 1980
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

Худшая особенность OCXO, что ему приходится ждать после включения. Я пока не могу с этим смириться. Предпочитаю, чтобы все устройства работали с вкл. кнопки ON, а работать круглосуточно без выключения лично не вариант.

AD9833 будет предназначена для переноса одной частоты на другую, с возможностью цифрового ступенчатого изменения 0,1 Hz. Ето как крутить триммер, только в цифровом формате - входите в меню и задаете другую выходную частот с шаг изменения 0.1 Hz. Я предпочитаю другие методы (например мащабирования, даже с float), но все методи возможные.
Контактная информация:
Встал на лапы
Сообщения: 108
Зарегистрирован: Вс май 15, 2022 23:04:19
Откуда: Белгородская обл.

Сообщение Игорь2111 »

Andrey_B
Спасибо за ответ.
Если Вы использовали ОСХО за 700р.
просьба написать как ведет себя частота после включения и
через сколько времени стабилизируется.
Ответить

Вернуться в «ARM»