Обновить
51
0
Сергей Новиков@Pisikak

Радиоинженер

Отправить сообщение

Здравствуйте. Последние пару дней пытаюсь добавить периферийное ядро в свой дизайн по туториалу для режима PIO, и всё синтезируется, имплементируется и генерируется bitstream, потом я экспортирую .xsa. Но приложение hello world, которое я создаю не компилируется.

рис. Два одинаковых приложения для двух разных hdl дизайнов
рис. Два одинаковых приложения для двух разных hdl дизайнов

Стоит удалить из hdl дизайна периферийное ядро и снова собрать проект как приложение hello world компилируется. Работаю в 2021 Vivado

Здравствуйте. Последние пару дней пытаюсь добавить периферийное ядро в свой дизайн по туториалу для режима PIO, и всё синтезируется, имплементируется и генерируется bitstream, потом я экспортирую .xsa. Но приложение hello world, которое я создаю не компилируется.

рис. Два одинаковых приложения для двух разных hdl дизайнов
рис. Два одинаковых приложения для двух разных hdl дизайнов

Стоит удалить из 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 приёмнику, чтобы можно было проверить до куда я смогу достучаться

SDR радиотрансивер (справа) и просто комп для подключения к WEBSDR
SDR радиотрансивер (справа) и просто комп для подключения к WEBSDR
Одноплатник для SDR
Одноплатник для SDR
Одноплатник для WEBSDR
Одноплатник для WEBSDR

Про VARA ещё пока не слышал, спасибо за статью. Последнее время много экспериментирую с js8call, она вот абсолютно бесплатная. Совсем недавно про неё упоминали в статье про децентрализованные системы радиосвязи

а я заказал пару журнальчиков:)

Расскажу историю. И смешно, и грустно. Стал настраивать VIVADO на новом ноутбуке для работы на чужом поле. Дошёл до шага программирования eFUSE регистров и завис...

После того как правой кнопкой мыши по ПЛИС вызывается меню и выбирается Program eFUSE Registers должно появиться вот такое окно:

"Правильное" окно Program eFUSE Registers
"Правильное" окно Program eFUSE Registers

Здесь очень важным пунктом является чекбокс Enable AES key programming. С помощью этого чекбокса появляется возможность указать собственные ключи шифрования, а не те, что Vivado сгенерирует сама.

Из-за особенностей разрешения экрана ноутбука я видел такое окно:

"Неправильное" окно
"Неправильное" окно

Младшие 8 пользовательских бит в регистре недоступны. Необходимого чекбокса нет. Причём можно запрограммировать старшие 24 пользовательских бита и нажать кнопку "next". В следующих диалоговых окнах всё как надо. Только эти eFUSE программируются только один раз...

Я грешил на неправильную лицензию, неверную установку Vivado, даже на сам ноутбук. И когда уже ничего не помогало, я решил растянуть окно...

Необходимо просто "растянуть" окно вверх
Необходимо просто "растянуть" окно вверх

И, о, чудо! Важный чекбокс теперь доступен. Не попадайтесь на такое:)

Здравствуйте, планирую, только разберусь как это делается:)

В общем, я понял, что надо писать стать не про приём RDS, а про передачу;)

si473x + ESP32-S3, например, этой связкой тоже можно управлять с телефона. Только приложение для телефона написать надо.

Flipper Zero из коробки управляется с телефона. Mute работает если нажать на центральную кнопку Flipper Zero

Я думаю, что Analog Devices сделали это для высокоуровневых программистов. Использование готового библиотечного компонента (https://wiki.analog.com/resources/eval/user-guides/ad-fmcomms2-ebz/reference_hdl) не предполагает погружение в низкоуровневый С (тот который язык программирования) или тем более Verilog. Похоже что на лицо стандартный подход зарубежной инженерной школы, когда один инженер создаёт HDL дизайн, другой инженер компилирует программу под ARM, MicroBlaze, NioS, а потом это передаётся высокоуровневым програмистам, которые работают с привычным DMA, передают сформированные I/Q отсчёты и не заботятся о тонкостях радиотехники. Другое дело наш отечественный подход когда это всё требуют от одного человека, но где ж таких найти, которые могут и с ПЛИС поработать, а потом и программку под MicroBlaze состряпать.

Даташиты ad936x очень сухие. Сплошные регистры и их дефолтные знчения. Но в Wiki написано уже более дружелюбно, хотя и без конкретных туториалов как мы любим. Для fmcomms2 и fmcomms3 есть примеры Matlab и много Linux, но совсем нет для No-OS, а очень хотелось бы. За поддержкой можно обратиться к No-OS engineer zone page (там очень много информации, хотя и хаотично разбросанной в стиле форума).
По поводу несоответствия нельзя однозначно сказать что документация врёт, хотя я и столкнулся с тем что от 10 МГц микросхема не запускается, а должна (The AD9361 operates using a reference clock that can be provided by two different sources. The first option is to use a dedicated crystal with a frequency between 19 MHz and 50 MHz connected between the XTALP and XTALN pins. The second option is to connect an external oscillator or clock distribution device (such as the AD9548) to the XTALN pin (with the XTALP pin remaining unconnected). If an external oscillator is used, the frequency can vary between 10 MHz and 80 MHz. This reference clock is used to supply the synthesizer blocks that generate all data clocks, sample clocks, and local oscillators inside the device. - AD9361 Data Sheet, CLOCK INPUT OPTIONS).
Для инициализации микросхемы используется SPI, а это значит, что можно пользоваться любым микроконтроллером. Лишь бы памяти хватило. При этом в библиотеках AD необходимо лишь подправить функции для работы с SPI (под капотом примеров AD все заточено под использование ARM, MicroBlaze или NioS). Но нужно ли? Интерфейс передачи данных в/из микросхему(ы) предполагает использование ПЛИС, а раз есть ПЛИС, зачем городить еще один контроллер. Тем более что двайверы уже готовы (While the register map is provided as a convenience for those who want to understand the low level operation of the part, it is not recommended to attempt to create your own software. Analog Devices provides complete drivers for the AD9361 for both bare metal/No-OS and operating systems (Linux). The AD9361 and AD9364 share the same API. The AD9361 and AD9364 drivers can be found at:

  • Linux wiki page

  • No-OS wiki page

    Support for these drivers can be found at:

  • Linux engineer zone page

  • No-OS engineer zone page. - AD9361 Register Map Reference Manual
    UG-671)

Здравствуйте, и Вам спасибо за хороший комментарий. Действительно, это еще один способ сформировать синусоиду :)

В статье нашел краткое описание LibreSDR, в основе которого ad9363, а это значит, что можно пользоваться примерами Analog Devices. На wiki AD написано очень много чего интересного, а в их репозиториях есть примеры hdl описаний и прошивок для ARM ядра ZYNQ или софт-процессора Microblaze. Там же есть примеры работы из под Linux для ZYNQ.

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Инженер встраиваемых систем
Ведущий
От 450 000 ₽
STM32
Arduino
AVR C
FPGA