ГА71 - Простой универсальный функциональный генератор
Re: ГА71 - Простой универсальный функциональный генератор
С алиэкспрес попался интересный экземпляр чипа SI5351, у которого по диапазону были пораженные точки (11МГц, 31.5МГц и много других частот), на которых генерация хаотично срывалась на 2-50мс с периодичность 10-200Гц. Думал проблема в коде управления, но оказалось в схеме тактирования. Так и не получилось по простому ей тактирование организовать от генератора МК, пришлось поставить отдельный кварц (ножки 2 и 3).
Ну и пользуясь случаем, обновил прошивку.
В ver1.4 : -------------------------------------------------------------
1. Исправлена ошибка на стартовом экране.
2. Коррекция кода управления si5351.
Ну и пользуясь случаем, обновил прошивку.
В ver1.4 : -------------------------------------------------------------
1. Исправлена ошибка на стартовом экране.
2. Коррекция кода управления si5351.
- Вложения
-
- FM_GA71_v14.ZIP
- (103 КБ) 581 скачивание
- Tvics
- Нашел транзистор. Понюхал.
- Сообщения: 175
- Зарегистрирован: Вс май 20, 2018 03:47:25
- Откуда: Иркутская обл.
Re: ГА71 - Простой универсальный функциональный генератор
Кварц на SI5351 как я понимаю ставить на 27 мгц?
Re: ГА71 - Простой универсальный функциональный генератор
Tvics, нет. 25 МГц.
-
coba57
- Первый раз сказал Мяу!
- Сообщения: 29
- Зарегистрирован: Ср янв 07, 2015 00:20:42
- Откуда: Москва
Re: ГА71 - Простой универсальный функциональный генератор
Добрый день. Залил прошивку v1.4, поставил кварц 25мГц на Si5351, пропал пункт меню высокочастотные выходы. Кварц не заводится? С прежней схемой тактирования работало.
И еще, программатор не видит МК (ST-LINK/V2). Через USB-бутлодер заливается нормально, в чем может быть причина.
С уважением Андрей.
И еще, программатор не видит МК (ST-LINK/V2). Через USB-бутлодер заливается нормально, в чем может быть причина.
С уважением Андрей.
Re: ГА71 - Простой универсальный функциональный генератор
[uquote="coba57",url="/forum/viewtopic.php?p=3743957#p3743957"]Кварц не заводится?[/uquote]
Скорее всего. Нужно подобрать конденсаторы от выводов кварца на землю. Вот апнота на эту тему :
https://www.silabs.com/documents/public ... /AN551.pdf
[uquote="coba57",url="/forum/viewtopic.php?p=3743957#p3743957"]И еще, программатор не видит МК (ST-LINK/V2). Через USB-бутлодер заливается нормально, в чем может быть причина.[/uquote]
Как ни странно, это может быть связано с перепайкой кварца на SI5351. При программировании через ST-LINK задействуется нога PA14 мк, а это как раз линия SDA I2C шины, которая подходит к SI5351. Может посадили соплю на ее ногах ? Или сама SI5351 при остановленном тактовом генераторе блокирует I2C.
Еще может быть постоянно замкнут контакт энкодера S3 (линия SWDIO).
Ну или просто ошибка монтажа или КЗ/непропай цепей, используемых ST-LINK, или виновата настройка софта программатора.
Скорее всего. Нужно подобрать конденсаторы от выводов кварца на землю. Вот апнота на эту тему :
https://www.silabs.com/documents/public ... /AN551.pdf
[uquote="coba57",url="/forum/viewtopic.php?p=3743957#p3743957"]И еще, программатор не видит МК (ST-LINK/V2). Через USB-бутлодер заливается нормально, в чем может быть причина.[/uquote]
Как ни странно, это может быть связано с перепайкой кварца на SI5351. При программировании через ST-LINK задействуется нога PA14 мк, а это как раз линия SDA I2C шины, которая подходит к SI5351. Может посадили соплю на ее ногах ? Или сама SI5351 при остановленном тактовом генераторе блокирует I2C.
Еще может быть постоянно замкнут контакт энкодера S3 (линия SWDIO).
Ну или просто ошибка монтажа или КЗ/непропай цепей, используемых ST-LINK, или виновата настройка софта программатора.
-
coba57
- Первый раз сказал Мяу!
- Сообщения: 29
- Зарегистрирован: Ср янв 07, 2015 00:20:42
- Откуда: Москва
Re: ГА71 - Простой универсальный функциональный генератор
Добрый вечер. Спасибо за помощь. Вышла из строя Si5351, заменил все работает. Почему вышла из строя не понятно.
Программатор не подключал, уже поздно. Еще раз спасибо. Андрей.
Программатор не подключал, уже поздно. Еще раз спасибо. Андрей.
Re: ГА71 - Простой универсальный функциональный генератор
Вопрос из нескромных... А автор на заказ изделие делает?
Звание - сила
Re: ГА71 - Простой универсальный функциональный генератор
Stan47, пока нет, но планирую заказать партию печатных плат.
Re: ГА71 - Простой универсальный функциональный генератор
Повторил, всё заработало, памятку как пользоваться пока на телефоне , прошивал через USB и с кварцем на 8мгц.
Скажем так это прибор для человека который думает, а не для того кто гоняется за шумами, и РРМ, и особо ограничен с весом оборудования для ремонта.
А подсказка, проблему с шаговым приводом вычислить элементарно.
Скажем так это прибор для человека который думает, а не для того кто гоняется за шумами, и РРМ, и особо ограничен с весом оборудования для ремонта.
А подсказка, проблему с шаговым приводом вычислить элементарно.
— Позвольте, а что вы будетее делать с трупами кошек?
— На польты пойдут!
— На польты пойдут!
Re: ГА71 - Простой универсальный функциональный генератор
Благодарю, все собрал без проволочек, все отлично работает. Не знаю кому как, но мне управление очень даже удобным показалось и наглядным.
Re: ГА71 - Простой универсальный функциональный генератор
Маленькая доработка.
Платка зарядки, Li аккумулятор и кнопка включения, добавляют удобства в использовании.
Платка зарядки, Li аккумулятор и кнопка включения, добавляют удобства в использовании.
- Вложения
-
- IMG_2672.gif
- (170.94 КБ) 635 скачиваний
— Позвольте, а что вы будетее делать с трупами кошек?
— На польты пойдут!
— На польты пойдут!
Re: ГА71 - Простой универсальный функциональный генератор
электроника-наука о контактах,радиотехника-наука о "земле".
"Копаю" хорошо,лопата импортная)
"Копаю" хорошо,лопата импортная)
Re: ГА71 - Простой универсальный функциональный генератор
[uquote="вадим1964",url="/forum/viewtopic.php?p=3795454#p3795454"]тоже отмечусь,поселил его на кросс плату с ВNC разъемами
мне достаточно 3-х выходов
Весьма красивое решение.
мне достаточно 3-х выходов
Весьма красивое решение.
— Позвольте, а что вы будетее делать с трупами кошек?
— На польты пойдут!
— На польты пойдут!
Re: ГА71 - Простой универсальный функциональный генератор
Весьма красивое решение.[/uquote]

электроника-наука о контактах,радиотехника-наука о "земле".
"Копаю" хорошо,лопата импортная)
"Копаю" хорошо,лопата импортная)
Re: ГА71 - Простой универсальный функциональный генератор
На завтра приготовил кусок полистирола, буду к прибору BNC разъёмы прикошачивать.
Andrey_B
Автор огромное спасибо за прибор!!!!!
Andrey_B
Автор огромное спасибо за прибор!!!!!
— Позвольте, а что вы будетее делать с трупами кошек?
— На польты пойдут!
— На польты пойдут!
-
sslobodyan
- Родился
- Сообщения: 9
- Зарегистрирован: Чт авг 12, 2010 00:55:38
Re: ГА71 - Простой универсальный функциональный генератор
Andrey_B, а поделитесь плиз исходником либо описанием быстрого цифрового синтеза? Или ткните носом где почитать.
Ну и хотелка (а вдруг сбудется?) - на отдельной страничке экрана строить АЧХ, можно даже в попугаях. Здорово поможет при настройке-постройке всяческих гитарных искажателей, а также исследованиях УЗ-излучателей. Раньше сам писал такую штуку на DSO-203, но какой-то редиске мой ослик сильно понадобился
Большого ослика (DS1054) с собой не потаскаешь, а Ваш генератор - маленький но очень удачный приборчик. Спасибо.
Ну и хотелка (а вдруг сбудется?) - на отдельной страничке экрана строить АЧХ, можно даже в попугаях. Здорово поможет при настройке-постройке всяческих гитарных искажателей, а также исследованиях УЗ-излучателей. Раньше сам писал такую штуку на DSO-203, но какой-то редиске мой ослик сильно понадобился
Re: ГА71 - Простой универсальный функциональный генератор
[uquote="sslobodyan",url="/forum/viewtopic.php?p=3803470#p3803470"]Andrey_B, а поделитесь плиз исходником либо описанием быстрого цифрового синтеза?[/uquote]
Алгоритм общеизвестный DDS, в сети легко находятся множество описаний, http://www.rotr.info/electronics/mcu/st ... le_sin.htm. Конкретная реализация от Neekeetos в прицепе. Еще стоит ознакомится с исходниками ncp1400 вот тут https://www.radiokot.ru/forum/viewtopic ... 2&t=121330. Если интересует именно реализация различных вариантов модуляции, то вот кусок кода из ГА71:
[uquote="sslobodyan",url="/forum/viewtopic.php?p=3803470#p3803470"]Ну и хотелка (а вдруг сбудется?) - на отдельной страничке экрана строить АЧХ, можно даже в попугаях.[/uquote]
Так-то в планах есть что-то такое реализовать, но беда сейчас со временем.
Алгоритм общеизвестный DDS, в сети легко находятся множество описаний, http://www.rotr.info/electronics/mcu/st ... le_sin.htm. Конкретная реализация от Neekeetos в прицепе. Еще стоит ознакомится с исходниками ncp1400 вот тут https://www.radiokot.ru/forum/viewtopic ... 2&t=121330. Если интересует именно реализация различных вариантов модуляции, то вот кусок кода из ГА71:
Спойлер
Код: Выделить всё
switch(B_Komb)
{
case 1: // Б = А + Б
while(Ii < Jj)
{
Mm = A_Table[phase_1>>22];
dac_buf[Ii++] = (((Mm+B_Table[phase_2>>22])>>1)<<16)|Mm;
phase_1 += freq_1;
phase_2 += freq_2;
}
break;
case 2: // Б = А * Б
while(Ii < Jj)
{
Mm = A_Table[phase_1>>22];
dac_buf[Ii++] = ((Mm*B_Table[phase_2>>22])&0xFFFF0000)|Mm;
phase_1 += freq_1;
phase_2 += freq_2;
}
break;
case 3: // Б = А * -Б
while(Ii < Jj)
{
Mm = A_Table[phase_1>>22];
dac_buf[Ii++] = (((((int32_t)B_Table[phase_2>>22]-(B_M_VolHalf<<1))*((~Mm)&0xFFFF))+((uint32_t)B_M_VolHalf<<17))&0xFFFF0000)|Mm;
phase_1 += freq_1;
phase_2 += freq_2;
}
break;
case 4: // Б = А ам Б
while(Ii < Jj)
{
Mm = A_Table[phase_1>>22];
dac_buf[Ii++] = (((((int32_t)B_Table[phase_2>>22]-B_M_VolHalf)*((~Mm)&0xFFFF))+((uint32_t)B_M_VolHalf<<16))&0xFFFF0000)|Mm;
phase_1 += freq_1;
phase_2 += freq_2;
}
break;
case 5: // Б = Б ам А
while(Ii < Jj)
{
Mm = A_Table[phase_1>>22];
dac_buf[Ii++] = (((((int32_t)Mm-A_M_VolHalf)*B_Table[phase_2>>22])+((uint32_t)A_M_VolHalf<<16))&0xFFFF0000)|Mm;
phase_1 += freq_1;
phase_2 += freq_2;
}
break;
case 6: // Б = А чм Б
while(Ii < Jj)
{
Mm = A_Table[phase_1>>22];
dac_buf[Ii++] = ((uint32_t)B_Table[phase_2>>22]<<16)|Mm;
phase_1 += freq_1;
phase_2 += (freq_2 +(uint32_t)(((uint64_t)(freq_2 -(freq_2>>3))*((~Mm)&0xFFFF))>>13))>>3; // (f+((7*f*(-Mm))/65536))/8
}
break;
default: // Б = Б, шум
while(Ii < Jj)
{
dac_buf[Ii++] = ((uint32_t)B_Table[phase_2>>22]<<16)|A_Table[phase_1>>22];
phase_1 += freq_1;
phase_2 += freq_2;
}
break;
}
Так-то в планах есть что-то такое реализовать, но беда сейчас со временем.
- Вложения
-
- src_dds.zip
- (4.3 КБ) 402 скачивания
Re: ГА71 - Простой универсальный функциональный генератор
электроника-наука о контактах,радиотехника-наука о "земле".
"Копаю" хорошо,лопата импортная)
"Копаю" хорошо,лопата импортная)

