Здравствуйте, уважаемые читатели! Сегодня я, aquaratixc, автор блога LightHouse Software, покажу, как можно практически безболезненно погрузиться в мир архитектуры RISC-V и начать использовать микроконтроллер на ее базе. Оговорюсь сразу, что мы будем использовать не аппаратный микроконтроллер. Вместо этого мы возьмем уже готовое soft-ядро и загрузим его в FPGA-плату BlackIce II, уже знакомую читателям данного блога.

При использовании Raspberry Pi в качестве роутера я столкнулся с одной проблемой. Дело в том, что дома иногда отключают свет. По моим наблюдениям, это происходит ненадолго и только в рабочие часы. Видимо, неподалеку идут какие-то ремонтные работы. Так вот, когда это происходит, мне приходится заходить на малину по SSH и запускать все, что в ней крутилось в tmux — как минимум, это OpenVPN. Мне также приходится выставлять время на микроволновке и газовой плите, поскольку в них сэкономили на часах реального времени, но это другая история. Так или иначе, встал вопрос о приобретении UPS для моего роутера.

Эквивалент нагрузки (dummy load) — крайне полезное устройство. Ранее мы использовали эквивалент нагрузки для тестирования фильтров, антенного переключателя, генератора Клаппа, и даже антенных трапов. Маломощный эквивалент нагрузки стоит недорого. Однако в некоторых задачах может потребоваться эквивалент нагрузки, скажем, на 100 Вт. В этом случае его дешевле изготовить самостоятельно. Далее будет рассказано, как это сделать.

Внимательный читатель мог заподозрить, что сравнение двух антенн в посте Знакомство с тюнером MFJ-971 и антенной «длинный провод» подразумевает наличие у автора какого-то антенного переключателя (коммутатора). Такой переключатель у меня действительно есть, и он был сделан своими руками.

Переменные конденсаторы, они же конденсаторы переменное емкости или КПЕ, используется во множестве устройств. Они нужны в генераторах, фильтрах, антенных тюнерах, некоторых видах антенн, и много где еще. Обратим внимание на тот факт, что в любительской радиосвязи, к примеру, трансивер может с легкостью выдавать 25 Вт или 100 Вт, максимально же разрешенная мощность составляет 1000 Вт. Понятно, что общедоступные маленькие КПЕ тут совершенно не годятся, а нужных для таких мощностей КПЕ в магазине вы попросту не найдете.

Допустим, у вас есть некое устройство, питаемое от внешнего аккумулятора. Для определенности скажем, от это LiIon или LiPo, часто используемые в квадракоптерах. При питании от внешнего источника всегда есть неплохие шансы сжечь устройство. Самый простой способ это сделать — перепутать полярность. Еще можно запитать устройство от блока питания и, случайно крутанув ручку, превысить допустимое напряжение. Давайте рассмотрим классическую схему, защищающую от таких ошибок при помощи компонентов общей стоимостью менее 5$.

Ранее в этом блоге многократно упоминались чипы производства компании FTDI, такие, как FT232RL и FT2232HL — смотри заметки раз, два и далее по ссылкам. В частности, было сказано, что этими чипами можно управлять с компьютера, что позволяет использовать их, например, в качестве программатора. При этом чипы FTDI поддерживают несколько режимов работы. Далее будет рассмотрен, пожалуй, самый простой режим под названием bitbang.

Wiznet W5500 — это Ethernet-контроллер с интерфейсом SPI. Чип поддерживает стандарты 10baseT и 100baseT. Характерной особенностью контроллера является то, что он имеет аппаратную реализацию TCP/IPv4. Это позволяет существенно разгрузить работающий с ним микроконтроллер. Wiznet W5500 поддерживает до 8 сокетов и имеет суммарно 16 Кб памяти на прием и еще 16 Кб на передачу. Эта память может быть распределена между сокетами произвольным образом. Давайте же разберемся, как работать с этим чипом на примере МК STM32.

OpenOCD (Open On-Chip Debugger) — это открытое ПО для программирования и отладки различного железа. Допустим, к вашему компьютеру подключен один из программаторов, поддерживаемых проектом. OpenOCD позволяет сходить через программатор в некий микроконтроллер или FPGA, используя такой протокол, как JTAG или SWD. В качестве более конкретного примера, рассмотрим, как OpenOCD может быть использован для прошивки и отладки микроконтроллеров STM32.

Сегодня мне хотелось бы рассказать о небольшом устройстве, сделанном чисто для развлечения. Проект не мой, о нем сравнительно недавно рассказывалось в блоге Hackaday. Устройство представляет собой тестер Ethernet-кабелей. У меня как раз никогда не было такого тестера. Так почему бы не сделать его самому? Особенно учитывая, что почти все необходимые компоненты у меня уже были, и все равно валялись по коробкам без дела.