И у Altera и у Xilinx есть библиотечные элементы FFT. Например, в HDL дизайне можно направить отсчёты одного из каналов axi_ad9361 на модуль преобразования Фурье и спектр готов:) Вот как это визуализировать красиво и эффективно в GUI вопрос хороший. Можно и дисплейчик прикрутить к отладке, а можно и на компьютер пробросить по-простому и с помощью Python строить графики. Хорошая, кстати, получилась бы лабораторная работа для статьи на Хабре
А если кому-нибудь потребуется написать свою прошивку для этого железа, может быть, пригодится моя статья Как запрограммировать ad936x https://habr.com/p/840484/
Я думаю что всё зависит от задачи. И, конечно, ресурсы. Linux требует места на кристалле. А bare-metal достаточно компактненький. В следующей статье я вставлю в HDL дизайн модулятор и демодулятор. Парой строк включу олну микросхему на передачу, а другую на приём. И всё. Из под Linux тоже можно это сделать.
В общем, это на любителя. Кто-то любит и привык работать с операционной системой, а кого-то хлебом не корм дай микроконтроллер запрограммировать.
Здорово, что ad9361 это всё позволяет. А Вы как думаете? Сложно будет сделать тоже самое из под Linux.
P.s. zynq-7000 позволяет запустить Linux, а вот как быть без arm ядер??? Когда есть только логика Kintex? Там Microblaze. На нём Linux раньше нельзя было запустить....
Здравствуйте, спасибо за статью. Мне очень знакомы сложности запуска прототипов за очень короткое время и хочу Вам сказать, что получилось очень здорово! Система работала да ещё и в таких сложных условиях. Как-то по работе мне было необходимо сделать систему передачи данных. И мой выбор пал на Ebyte E22. Первый прототип приёмника и передатчика был сделан за сутки до исптытаний. Но тогда самолёт, на который был установлен один из модулей с обычной антенной от радиостанции Baofeng под крылом смог улететь аж на 110 км и связь продолжала работать! Может быть работало бы и дальше, но диспетчеры уже дальше не отпускали. У меня на базе приёмопередатчик мощностью 30 dBm отправлял короткий запрос около 10-15 байт, а приёмопередатчик на самолёте принимал его и отправлял значение функции millis(). В процессе, когда самолёт был на расстоянии 70 км, мы даже усомнились, а не работает ли у меня в коде какая-нибудь заглушка, и стали проверять отправляя другие запросы или отключая, но всё было по-честному.
А дальше была первая версия изделия, которая хорошо показала себя на испытаниях локальной системы навигации. Этой системе передачи данных необходимо постоянно (с периодичностью в районе минуты) передавать около 150 байт от контрольно-корректирующей станции на передатчики навигационного сигнала и получать ответ об успешном приёме. И так для нескольких радиопередатчиков за раз. Получилась система звезда. Запрос-ответ, запрос-ответ, запрос-ответ. И через минуту тоже самое. Один запрос ответ у меня длился около 800 мс. Прошивка абсолютно кастомная простая. Я не использовал никакие готовые протоколы, а просто передавал в радиоканал, то что приходило на вход.
С этой задачей очень хорошо справлялись gsm-модемы. Хорошие, заводские. Но нам назначили госиспытания в Сабетте. Там были сложности с сотовой сетью. Звонки работали, но интернет был специально задавлен. Работали лишь несколько жизненно необходимых приложений типа Сбербанка. Вот тут моя система передачи данных и показала себя во всей красе. К тому моменту были изготовлены модули второй версии в герметичных корпусах и мощностью 33 dBm! Приёмопередатчики были расположены на высоких навигационных знаках и работали несколько суток подряд.
Вообще, когда я подбирал компоненты, то так и не нашел ничего лучше Ebyte E22. Они доступны, надёжны, передают до 200 байт и просты в использовании. Программируется всё играючи. А Lora модуляция показала себя намного лучше тойже FSK на подобных модулях. Сказать намного это ничего не сказать. Потому что я делал прототипы на известных микросхемах с FSK, но о такой надёжности приёма и речи не шло. Как и о дальности. Если кто-то знает альтернативу, то, пожалуйста, напишите, мне интересно такое.
Здравствуйте. Последние пару дней пытаюсь добавить периферийное ядро в свой дизайн по туториалу для режима PIO, и всё синтезируется, имплементируется и генерируется bitstream, потом я экспортирую .xsa. Но приложение hello world, которое я создаю не компилируется.
рис. Два одинаковых приложения для двух разных hdl дизайнов
Стоит удалить из hdl дизайна периферийное ядро и снова собрать проект как приложение hello world компилируется. Работаю в 2021 Vivado
Здравствуйте. Последние пару дней пытаюсь добавить периферийное ядро в свой дизайн по туториалу для режима PIO, и всё синтезируется, имплементируется и генерируется bitstream, потом я экспортирую .xsa. Но приложение hello world, которое я создаю не компилируется.
рис. Два одинаковых приложения для двух разных hdl дизайнов
Стоит удалить из hdl дизайна периферийное ядро и снова собрать проект как приложение hello world компилируется. Работаю в 2021 Vivado
Ого, спасибо большое за советы. Я буду пробовать. На самом деле мне выписывал невролог какие-то суматриптаны, сказал что если выпить когда заболит и не поможет, то это не мигрень - не помогло. Ещё пробовал следить за давлением утром и вечером, даже дневник вёл, но никаких изменений не было, хотя я не пробовал мерить когда болит... Так что буду пробовать
А у меня голова болит через день. Как по графику каждый второй день часов с 15 и до 22-23. Таблетки не помогают. Был у невролога, он дал попробовать таблетки от мигрени, но ни вообще никак не повлияли на боль. На МРТ ничего не увидели. Так и живу через день. Даже не знаю что делать теперь
Мне хотелось чего-то компактного в путешествии на машине. В кладовке нашлись пару одноплатников и я собрал себе в дорогу комплект для передачи и комплект для подключения к websdr приёмнику, чтобы можно было проверить до куда я смогу достучаться
SDR радиотрансивер (справа) и просто комп для подключения к WEBSDR
Про VARA ещё пока не слышал, спасибо за статью. Последнее время много экспериментирую с js8call, она вот абсолютно бесплатная. Совсем недавно про неё упоминали в статье про децентрализованные системы радиосвязи
Расскажу историю. И смешно, и грустно. Стал настраивать VIVADO на новом ноутбуке для работы на чужом поле. Дошёл до шага программирования eFUSE регистров и завис...
После того как правой кнопкой мыши по ПЛИС вызывается меню и выбирается Program eFUSE Registers должно появиться вот такое окно:
"Правильное" окно Program eFUSE Registers
Здесь очень важным пунктом является чекбокс Enable AES key programming. С помощью этого чекбокса появляется возможность указать собственные ключи шифрования, а не те, что Vivado сгенерирует сама.
Из-за особенностей разрешения экрана ноутбука я видел такое окно:
"Неправильное" окно
Младшие 8 пользовательских бит в регистре недоступны. Необходимого чекбокса нет. Причём можно запрограммировать старшие 24 пользовательских бита и нажать кнопку "next". В следующих диалоговых окнах всё как надо. Только эти eFUSE программируются только один раз...
Я грешил на неправильную лицензию, неверную установку Vivado, даже на сам ноутбук. И когда уже ничего не помогало, я решил растянуть окно...
Необходимо просто "растянуть" окно вверх
И, о, чудо! Важный чекбокс теперь доступен. Не попадайтесь на такое:)
И у Altera и у Xilinx есть библиотечные элементы FFT. Например, в HDL дизайне можно направить отсчёты одного из каналов axi_ad9361 на модуль преобразования Фурье и спектр готов:) Вот как это визуализировать красиво и эффективно в GUI вопрос хороший. Можно и дисплейчик прикрутить к отладке, а можно и на компьютер пробросить по-простому и с помощью Python строить графики. Хорошая, кстати, получилась бы лабораторная работа для статьи на Хабре
А если кому-нибудь потребуется написать свою прошивку для этого железа, может быть, пригодится моя статья Как запрограммировать ad936x https://habr.com/p/840484/
Обзор получился шикарный. Очень хочется написать свою кастомную прошивку для этого железа:)
Я думаю что всё зависит от задачи. И, конечно, ресурсы. Linux требует места на кристалле. А bare-metal достаточно компактненький. В следующей статье я вставлю в HDL дизайн модулятор и демодулятор. Парой строк включу олну микросхему на передачу, а другую на приём. И всё. Из под Linux тоже можно это сделать.
В общем, это на любителя. Кто-то любит и привык работать с операционной системой, а кого-то хлебом не корм дай микроконтроллер запрограммировать.
Здорово, что ad9361 это всё позволяет. А Вы как думаете? Сложно будет сделать тоже самое из под Linux.
P.s. zynq-7000 позволяет запустить Linux, а вот как быть без arm ядер??? Когда есть только логика Kintex? Там Microblaze. На нём Linux раньше нельзя было запустить....
Здравствуйте, спасибо за статью. Мне очень знакомы сложности запуска прототипов за очень короткое время и хочу Вам сказать, что получилось очень здорово! Система работала да ещё и в таких сложных условиях. Как-то по работе мне было необходимо сделать систему передачи данных. И мой выбор пал на Ebyte E22. Первый прототип приёмника и передатчика был сделан за сутки до исптытаний. Но тогда самолёт, на который был установлен один из модулей с обычной антенной от радиостанции Baofeng под крылом смог улететь аж на 110 км и связь продолжала работать! Может быть работало бы и дальше, но диспетчеры уже дальше не отпускали. У меня на базе приёмопередатчик мощностью 30 dBm отправлял короткий запрос около 10-15 байт, а приёмопередатчик на самолёте принимал его и отправлял значение функции millis(). В процессе, когда самолёт был на расстоянии 70 км, мы даже усомнились, а не работает ли у меня в коде какая-нибудь заглушка, и стали проверять отправляя другие запросы или отключая, но всё было по-честному.
А дальше была первая версия изделия, которая хорошо показала себя на испытаниях локальной системы навигации. Этой системе передачи данных необходимо постоянно (с периодичностью в районе минуты) передавать около 150 байт от контрольно-корректирующей станции на передатчики навигационного сигнала и получать ответ об успешном приёме. И так для нескольких радиопередатчиков за раз. Получилась система звезда. Запрос-ответ, запрос-ответ, запрос-ответ. И через минуту тоже самое. Один запрос ответ у меня длился около 800 мс. Прошивка абсолютно кастомная простая. Я не использовал никакие готовые протоколы, а просто передавал в радиоканал, то что приходило на вход.
С этой задачей очень хорошо справлялись gsm-модемы. Хорошие, заводские. Но нам назначили госиспытания в Сабетте. Там были сложности с сотовой сетью. Звонки работали, но интернет был специально задавлен. Работали лишь несколько жизненно необходимых приложений типа Сбербанка. Вот тут моя система передачи данных и показала себя во всей красе. К тому моменту были изготовлены модули второй версии в герметичных корпусах и мощностью 33 dBm! Приёмопередатчики были расположены на высоких навигационных знаках и работали несколько суток подряд.
Вообще, когда я подбирал компоненты, то так и не нашел ничего лучше Ebyte E22. Они доступны, надёжны, передают до 200 байт и просты в использовании. Программируется всё играючи. А Lora модуляция показала себя намного лучше тойже FSK на подобных модулях. Сказать намного это ничего не сказать. Потому что я делал прототипы на известных микросхемах с FSK, но о такой надёжности приёма и речи не шло. Как и о дальности. Если кто-то знает альтернативу, то, пожалуйста, напишите, мне интересно такое.
Здравствуйте. Последние пару дней пытаюсь добавить периферийное ядро в свой дизайн по туториалу для режима PIO, и всё синтезируется, имплементируется и генерируется bitstream, потом я экспортирую .xsa. Но приложение hello world, которое я создаю не компилируется.
Стоит удалить из hdl дизайна периферийное ядро и снова собрать проект как приложение hello world компилируется. Работаю в 2021 Vivado
Здравствуйте. Последние пару дней пытаюсь добавить периферийное ядро в свой дизайн по туториалу для режима PIO, и всё синтезируется, имплементируется и генерируется bitstream, потом я экспортирую .xsa. Но приложение hello world, которое я создаю не компилируется.
Стоит удалить из hdl дизайна периферийное ядро и снова собрать проект как приложение hello world компилируется. Работаю в 2021 Vivado
Ого, спасибо большое за советы. Я буду пробовать. На самом деле мне выписывал невролог какие-то суматриптаны, сказал что если выпить когда заболит и не поможет, то это не мигрень - не помогло. Ещё пробовал следить за давлением утром и вечером, даже дневник вёл, но никаких изменений не было, хотя я не пробовал мерить когда болит... Так что буду пробовать
Скоро выйдет статья с названием "История о том как заглянуть к соседям с помощью Arduino и четырёх USB вентиляторов"
Классная статья, я даже не думал о такой скрытой угрозе. Попробую заглянуть к соседям через окно с помощью удочки и зеркала, а то 11 этаж.
P.s. шапочка у меня уже есть - тоже не помогает. Надо, конечно, попробовать в ванной как в Вашей статье, тогда позже расскажу...
А у меня голова болит через день. Как по графику каждый второй день часов с 15 и до 22-23. Таблетки не помогают. Был у невролога, он дал попробовать таблетки от мигрени, но ни вообще никак не повлияли на боль. На МРТ ничего не увидели. Так и живу через день. Даже не знаю что делать теперь
Сам как-то заинтересовался API. Нашёл беглым поиском https://github.com/simbaaz/js8callapi
https://pypi.org/project/backstop-python-js8call-api/
Только сам ещё не попробовал.
Мне хотелось чего-то компактного в путешествии на машине. В кладовке нашлись пару одноплатников и я собрал себе в дорогу комплект для передачи и комплект для подключения к websdr приёмнику, чтобы можно было проверить до куда я смогу достучаться
Про VARA ещё пока не слышал, спасибо за статью. Последнее время много экспериментирую с js8call, она вот абсолютно бесплатная. Совсем недавно про неё упоминали в статье про децентрализованные системы радиосвязи
а я заказал пару журнальчиков:)
Мне тоже пришло такое письмо
Расскажу историю. И смешно, и грустно. Стал настраивать VIVADO на новом ноутбуке для работы на чужом поле. Дошёл до шага программирования eFUSE регистров и завис...
После того как правой кнопкой мыши по ПЛИС вызывается меню и выбирается Program eFUSE Registers должно появиться вот такое окно:
Здесь очень важным пунктом является чекбокс Enable AES key programming. С помощью этого чекбокса появляется возможность указать собственные ключи шифрования, а не те, что Vivado сгенерирует сама.
Из-за особенностей разрешения экрана ноутбука я видел такое окно:
Младшие 8 пользовательских бит в регистре недоступны. Необходимого чекбокса нет. Причём можно запрограммировать старшие 24 пользовательских бита и нажать кнопку "next". В следующих диалоговых окнах всё как надо. Только эти eFUSE программируются только один раз...
Я грешил на неправильную лицензию, неверную установку Vivado, даже на сам ноутбук. И когда уже ничего не помогало, я решил растянуть окно...
И, о, чудо! Важный чекбокс теперь доступен. Не попадайтесь на такое:)
Здравствуйте, планирую, только разберусь как это делается:)
Сделаем)
В общем, я понял, что надо писать стать не про приём RDS, а про передачу;)
si473x + ESP32-S3, например, этой связкой тоже можно управлять с телефона. Только приложение для телефона написать надо.