30 ноября 2021 г.

Светодиодный индикатор уровня сигнала (громкости) на LM3914 / LM3915 / LM3916


Введение

В данной статье будет описан процесс создания измерителя уровня сигнала. Основная цель – измерение громкости музыкального сигнала, который можно снять с мобильного телефона либо компьютера, через 3.5 мм джек.

Индикация будет реализована на светодиодах и драйвере LM3914 (LM3915, LM3916). LM3914 имеет линейную шкалу отображения, LM3915 – логарифмическую. Для отображения уровня громкости лучше подходит логарифмическая шкала, но они структурно не отличаются и будут рассмотрены оба. Для входного буфера используется TL072. В качестве источника сигнала используется Redmi note 7.

Буфер применяется для того, чтобы не повредить источник сигнала и не учитывать его импеданс. Сперва следует определиться с параметрами, основным является диапазон изменений входного сигнала.

3 августа 2019 г.

Zynq UIO Linux драйвер, как его использовать с AXI интерфейсом

В этой статье речь пойдёт про UIO драйвер Linux, Userspace Input Output.

Ранее было рассмотрено несколько простых способов как работать с GPIO на плате Zybo с помощью Linux и было сказано несколько слов про работу с памятью ОС в целом.

Для работы с периферией нужно использовать специальный драйвер предназначенный конкретно для неё, либо обладать правами администратора, знать где в памяти ОС находится необходимые регистры и работать с ними напрямую через /dev/mem.

Но в целях безопасности, обычные пользователи не обладают достаточными правами для работы с памятью напрямую, и необходимого драйвера может не быть в принципе. К тому же многие устройства генерируют прерывания. Для их обработки без драйвера не обойтись.

Создание своего драйвера требует довольно больших затрат и возможно оно нее оправдано, к примеру для простого доступа к светодиоду. Для его написания нужно взаимодействовать с исходниками ядра, что в конечном итоге может повредить всю ОС.
Хорошая книга по Linux драйверам: Linux Device Drivers,

21 июля 2019 г.

Как помигать светодиодом на Zynq FPGA (ПЛИС) с помощью Linux используя отладочную плату Zybo вместе с sysfs или /dev/mem

В данной статье будет рассмотрено несколько способов мигания светодиодом, в принципе небольшое пособие по использованию портов ввода вывода из Linux.

Теория

Есть 3 основных варианта создания и настройки GPIO выводов из ARM процессора.
Информация по большей части взята из документации ug585-Zynq-7000-TRM.

в сердце Zybo находится XC7Z010-1CLG400C, это SoC (System on Chip), который состоит из ARM процессора и FPGA. Их можно рассматривать как 2 раздельных устройства, у каждого из них имеются свои подключения к ножкам микросхемы, к тому же между ними есть внутренние соединения для обмена данными. Более детально это можно увидеть на следующей схеме:

Рис.1 структурная схема интерфейсов

Светильники из орг стекла

Пару лет назад сделал подарок на день рождения. с Bill cipher из Gravity Falls:


Ещё раньше сделал следующее:


16 июля 2019 г.

Как добавить FPGA bit файл в загрузочный BOOT.bin, для конфигурации ПЛИС вместе с Linux

В данном руководстве будет рассказано каким образом перекомпилировать U-Boot, для того, чтобы, добавить бинарный файл для конфигурации FPGA, в загрузочный файл BOOT.bin.

Для того чтобы FSBL сконфигурировал ПЛИС при включении питания и перед запуском Linux, его необходимо добавить в загрузочный файл сразу после FSBL, иначе он его не найдёт. Необходимо использовать *.bit файл в *.bin файле нет заголовка и он не запуститься через FSBL. Это выглядит следующим образом:

11 июля 2019 г.

Embedded Linux на Zynq, как переместить файлы с компьютера на Linux

О том как запустить Linux на Zynq рассказано здесь.

По умолчанию для передачи файлов на Linux ядро от Xilinx, можно использовать несколько способов описанных на их wiki: xilinx-wiki.atlassian.net.

На рабочую систему файлы можно передавать как через Ethernet порт, так и через USB (UART) порт. Но т.к. файловая система находится в RAM, при выключении питания добавленные файлы пропадут, для их сохранения необходимо изменить файловую систему rootfs. Сперва рассмотрим передачу файлов через ethernet.

28 июня 2019 г.

Как скомпилировать Linux для отладочной платы Zybo (Zynq) и запустить его с QSPI

В данной статье будет описано каким образом подготовить все необходимые файлы для запуска Linux с FPGA фирмы Xilinx, а именно отладочной платы Zybo. С последующей записью необходимых файлов на QSPI и запуском готовой системы.

Данное руководство основано на следующих:
instructables.comxilinx-wiki.atlassian.netgithub.com.

Разработка FPGA части будет производиться в Vivado 2019.1, компиляция необходимых файлов для Linux будет выполнена в виртуальной машине Oracle VM VirtualBox, на которой установлена Ubuntu.

Компиляция будет происходить без использования PetaLinux, как утверждают Xilinx - это платформа, которая содержит всё необходимое для запуска Linux на FPGA и облегчает внесение изменений. В данном руководстве всё будет собираться ручным образом, для того чтобы ближе взглянуть на работу встроенных систем.

22 августа 2015 г.

Как работать с SD / MMC картой через SPI - Теория

SD карты (Secure Digital) - это формат карт флэш памяти. Был представлен в 1999 как улучшенный MMC. Стандарт SD регулирует "SD Association" (SDA).  На их сайте можно найти документацию на стандарт.

Я постараюсь вкратце расписать, как использовать эту карту для хранения и считывания информации с помощью SPI. О том как работать с SPI расписано здесь.

Рис.1 SD карты различных размеров

4 августа 2015 г.

Как работать с SPI - Теория

SPI (Serial Peripheral Interface, последовательный периферийный интерфейс, шина SPI) - Это интерфейс для передачи данных на короткое расстояние, разработанный Motorola. Данные передаются в режиме полного дуплекса (в обе стороны) используя архитектуру ведущий - ведомый (master-slave). SPI также иногда называют четырёхпроводным (four-wire) интерфейсом.

Рис.1 стандартное общение по SPI

26 июля 2015 г.

Как работать с PS/2 интерфейсом, клавиатура и мышь

Зачем кому-то нужен PS/2 интерфейс? Может вы задумали сделать проект, где необходимо вводить целые слова, в таком случае парой кнопкой не обойдешься, а собирать матрицу из кнопок не очень увлекательное занятие.

Часто используют старые клавиатуры и мышки ради практики работы на ПЛИС, клавиатуру можно подключить к любому дисплею, чтобы получить терминал. Можно с ней поэкспериментировать просто ради спортивного интереса.