Круто! А не смотрели с какой частоты синтезирования начинаются искажения? Я уже тему SoftDDS порядком подзабыл, но какова вероятность, используя вашу методику, получить синус или меандр на небольшом участке от 500кгц с шагом 0.25гц?
А не смотрели с какой частоты синтезирования начинаются искажения? какова вероятность, используя вашу методику, получить синус или меандр на небольшом участке от 500кгц с шагом 0.25гц?
Шаг скорее всего потянет, но слишком велика частота. Только 5 точек успеет отрисоваться на период, на синус это не будет похоже. Прямоугольник с диким джиттером наверно можно, если выводить не в АЦП, а на ногу порта. Но алгоритм в корне менять надо. Лучше взять аппаратный dds-синтезатор для такой задачи.
Круто! А не смотрели с какой частоты синтезирования начинаются искажения? Я уже тему SoftDDS порядком подзабыл, но какова вероятность, используя вашу методику, получить синус или меандр на небольшом участке от 500кгц с шагом 0.25гц?
Он хорош, но избыточен. AD9833 достаточно для опорного генератора PLL синтезатора частот. Но, например, древний и хорошо изученный LM7001 может не только в штатные 7.2 мгц опорного но и в 500 кгц и выше.
_________________ (Аль Котоне,кот ещё тот,Cattus Sapiens) Усы и хвост - мои документы. Кот - авторитет! Скажет "Мяу!" - не поспоришь. (скажи мне "мяу" и я скажу кто ты)
Я их через SWD шью. Программатор из Arduino-Nano. Прошивка на github где то есть и инструкция на ютубчике Жаль что отладки по SWD там нет. Нужно фирменный флашер/дебаггер покупать. Вроде на тао-бао 100 юаней стоит
Заголовок сообщения: Re: LGT8F328P (китайский AVR) или WAVGAT в Arduino/
Добавлено: Пн июл 17, 2023 20:27:12
Друг Кота
Карма: 22
Рейтинг сообщений: 94
Зарегистрирован: Чт мар 26, 2009 04:35:04 Сообщений: 3146 Откуда: Москва
Рейтинг сообщения:0
Просто есть такая же ардуиноподобная плата с тем же холтеком на борту и есть по-отдельности. И у холтековской есть штатный выход DTR - не надо жать на ресет, шьётся из ИДЕ, как ардуинка. Только надо загрузить в ИДЕ файло по ссылке, чтобы оно распознавалось.
_________________ (Аль Котоне,кот ещё тот,Cattus Sapiens) Усы и хвост - мои документы. Кот - авторитет! Скажет "Мяу!" - не поспоришь. (скажи мне "мяу" и я скажу кто ты)
Столкнулся для себя с непонятным моментом при прошивке LGT8F328P. Может кто сможет пояснить в чем причина. PS. Будет много пердварительной информации.
Для начала исходные данные: 1) Плата Nano c LGT8F328P; 2) Arduino IDE v 1.8.19, далее по тексту просто ИДЕ. Установлен пакет LGT8fx Boards v2.0.7 (https://github.com/dbuezas/lgt8fx); 3) AVRDUDESS 2.20 (avrdude v 8.1),далее по тексту просто "дудка". По настройкам программатора выбирался как avrisp, так и stk500 v1, работают одинаково. MCU - LGT8F328P. 4) Исходник - Blink из стандартных примеров. 5) Программатор LarduinoISP (https://github.com/LGTMCU/LarduinoISP/tree/master)
Настройки в ИДЕ такие:
При выборе в ИДЕ Скетч/Загрузка и дальнейшей прошивке встроенный светодиод начинает мигать с периодом 2 секунды, работа прошивки адекватная.
Далее попробовал прошить из ИДЕ через внешний программатор. При выборе в качестве программатора AVR ISP программа вывалила ошибку о невозможности открыть COM порт программатора. Попробовал вторым доступным программатором LGTSWD mkII as ISP, тут, предсказуемо, ошибка связи по USB. Не понимаю! Скетч/Загрузка через тот же программатор AVR ISP происходит, а при выборе Скетч/Загрузить через программатор не может достучаться до COM порта.
Следующим этапом тестирования выполнил Скетч/экспорт бинарного файла. При этом получил два файла с прошивкой. с бутлоадером и без. Эти файлы нужны для прошивки их через "дудку". Для начала загрузил "дудкой" прошивку без бутлоадера. Работа прошивки ничем не изменилась. Светодиод все также мигает с периодом 2 секунды. Бутлоадера нет, естественно через ИДЕ уже не прошить.
Заливаю теперь через "дудку" второй файл с бутлоадером. И вот тут и начинается непонятное, из-за чего я так долго всё это рассписывал. Светодиод начал выдавать 3 коротки вспышки, с периодом каждой вспышки в 120 мс и длиной паузы между пачками вспышек в 2 секунды. Такое ощущение, что с бутлоадером прошивка работает либо не на своей частоте, либо сам бутлоадер ей мешает. Тут я не соображу, как разобраться точно. Если теперь прошить через ИДЕ, то светодиод опять замигает с периодом 2 секунды и бутлоадер прекрасно отработает.
Отсюда собственно два вопроса у меня. 1. Почему ИДЕ не может прошить через Скетч/Загрузка через программатор, при этом Скетч/Загрузка работает? 2. Как может ИДЕ компилировать бинарный файл с бутлоадером, отличающийся от того, который прошивается стандартно через Зугрузку?
Я не знаю, надо ли прикладывать бинарные файлы? Мне кажется, если кто-то сможет повторить по моим шагам весь процесс, то я хотя бы выясню, виновата ли в происходящем ИДЕ, или я что-то не так делаю. PS2. Пробовал шить из-под "дудки" не как LGT8F328P, а как ATmega328P, прошивка точно также выдаёт три коротких вспышки. PS3. Также пробовал компилировать и шить с параметрами тактирования от внутреннего генератора 32 МГц с делителем на 2. Поведение платы такое же.
Вообще то вкладка Скетч -> загрузка аналогична кнопке загрузки на панели IDE - идет обычная загрузка через Rx/Tx линии под управлением имеющегося в МК бутлоадера ("стандартное" подключение платки ардуинки). А вот Скетч -> загрузить через программатор выполняет загрузку при условии что к ПК сначала подключен программатор а уже к тому программатору через ISP целевая платка присоединена. Причем прошивка таким образом стирает бутлоадер ардуинки. При таком же подключении ( к ПК сначала подключен программатор а уже к тому программатору через ISP целевая платка присоединена) может использоваться и инструменты -> записать загрузчик эта операция восстанавливает бутлоадер и загружает комплект фуз (фузы касаются АВРок, но не LGT) Да и сами платки LGT идут при продаже с "проблесковым" блинком. а не с простой "мигалкой" - видимо для различия от АВРок. Похоже Вы спутали простую загрузку скотча по Rx/Tx при помощи бутлоадера и работу с платкой ардуинки через программатор (SWD для LGT или ISP для АВР). Как возможный вариант - ошибка при изготовлении программатора из ардуинки - после заливки скотча не выполнена предварительная операция по аппаратному отключению активации бутлоадера на платке программатора.
Вот как ни старайся написать подробно, всегда ответят, что не так делаю . Все, что Вы написали я прекрасно знаю. Так вот, что касается этих плат LGT8F328P, то я все прошивал через программатор и порт ISP этой самой платы LGT8F328. Вот Вам и первый вопрос! Почему загрузка скетча в ИДЕ идет через внешний программатор и разъем ISP платы LGT8F328, а команда загрузки через внешний программатор не работает? Загадка? А вот Вам и вторая загадка. Я же шил один и тот же пример Blink! Так почему при прошивке через ИДЕ этот блинк себя ведет как ему полагается по коду, а при прошивке бинарного файла через "дудку" получается тот самый "проблесковый маяк"???
PS. Не ищите подвоха в моём тексте и не копайте в том направлении, что я ничего не соображаю. Я реально не понимаю, как один и тот же код из ИДЕ, но прошитый в камень разными путями и ведет себя по-разному!
У меня в качестве программатора использовался ардуино-нано с прошивкой LarduinoISP. У прошивки именно для LGT платки в качестве программатора есть дополнительная особенность по размеру буфера связи - вспоминать надо (да и перепроверять)... Касательно разного поведения после прошивок из IDE и "сторонней софт-оболочки" - скорее всего, как мне кажется, из под IDE загрузка не прошла, а вот из под "сторонней софтинки" наверняка выполнилась. Дело в том, что при использовании ардуинки (что на АВР ках, что на LGT) в качестве программатора нужно для платки, используемой как программатор, отключить возможность запуска ее бутлоадера. Если такой операции не выполнить, то получим не программатор, а не слишком понятную зверушку - вместо транзита кода программы(и соответствующей обработки как программатором) в целевую платку наш программатор по факту сам его слопает. А в целевой платке так и останется то, что в ней и раньше было (прошивка не пройдет). Это не о "поиске подвоха" , а о реальном варианте... Да еще и весьма смутнопроверяемом (подопытную платку лишний раз дергать не слишком охота, а LGT нанку переделывать в программатор для LGT жаба удавила)... Могу вариант своей макетки(база ардуино-нано), да использованной софтинки предложить (если интерес проанализировать различия будет) ...
У меня в качестве программатора использовался ардуино-нано с прошивкой LarduinoISP
У меня точно такой же вариант программатора.
BOB51 писал(а):
как мне кажется, из под IDE загрузка не прошла
Крестится надо. Я же написал, что прошивка идет и в ИДЕ, и через дудку. И схему подключения LGT8 к программатору я не менял. Я как подключил программатор к компьютеру, так его и не отключал. Менял только софт, чем шил.
BOB51 писал(а):
вместо транзита кода программы
В этом случае я бы получил не программатор, а плату ардуино нано с кодом BLINK внутри. Только опять мимо! Программатор исправно транслирует код в LGT8! Просто он априори не может себя перепрошить. В ATmega8, в программаторе, зашит свой загрузчик, а в менеджере плат ИДЕ выбрана плата LGT8! И загрузчик у нее свой.
BOB51 писал(а):
LGT нанку переделывать в программатор для LGT жаба удавила)
Да ничего переделывать не надо! Программатор у меня сделан из ардуино нано с ATmega328P на борту и прошивкой LarduinoISP.
PS. Я вижу Ваше желание помочь разобраться, но Вы по-прежнему ищите подвох в том, что я не разбираюсь в вопросе и где-то накосячил. Не спорю, может и есть косяк где-то, раз поведение прошивки разное! Но в вопросе я все же разбираюсь. Просто повторите опыт, который я подробно расписал в первом сообщении. Только не вносите в него ничего своего. А то до китайской Пасхи будем разбираться.
Три вспышки - вероятно это не функция вашей программы прошивки, а функция загрузчика - он ждет загрузки данных, их нет, потом самосбрасывается (предположение) и так далее в цикле.
Для теста загрузите, напр. программу, которая ничего не делает. Есть блинк 3 раза или нет? (вероятно да). Переставьте пин для блинк на другой пин. Есть блинк 3 раза или нет? (или просто ничего не происходит).
Есть или неточность настройки, загрузки, либо старый загрузчик, либо что-то еще. Сделайте тестовый сброс с кнопки при заливке, поэкспериментируйте.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения