SD/MMC и DataFlash-SPI ридер для 5V TTL MCU

AVR
Плата для SD/MMC карт, совмещенная с NOR/DataFlash(SPI), использованная в AtMega1284p/644p и W5500 Ethernet.
Коротко о схеме:
  • Конвертер уровней TTL/LVTTL выполнен на IC HEF4050BT/CD74HC4050(предпочтительнее это)
  • SPI-Flash IC подходят: M25P08/25LC256-512-1024/25AA02E48(Microchip OUI MAC GEN)
  • CDI — детектор наличия карты. Логический «0» на выходе при вставленной SD/MMC-карте, и наоборот «1» при отсутствии карты (как правило у китайских плат с AliExpress эта линия не разведена).
  • Протестировано и используется совместно с M644_breakout_v1.2d
  • Совместима с любыми 5V-толерантными MCU: AVR MEGA/Arduino, PIC16/18, STM8 и тд…


Читать дальше

Эксперименты с Nb-IoT (LTE-NB). Прием и детектирование сигнала NPSS при помощи SDR HackRF.

В последнее время много разговоров на тему «интернет вещей» и связанных с этим технологий.
Одна из таких технологий — Nb-IoT, или Narrow-band Internet of Things.
Технология является подмножеством LTE, ну или в некотором смысле его упрощением.

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

В Nb-IoT, как и в LTE, используется ODFM для Downlink и SC-FDMA для Uplink. Но об этом чуть позже. Сначала давайте разберемся, где вообще искать этот сигнал и как он может выглядеть.
Для приема сигнала я использовал HackRF, которую мне одолжил один хороший человек.



Для начала, погуглим и выясним, на каких вообще частотах работает этот самый Nb-IoT у нас в стране.




Читать дальше
  • +6
  • 17 апреля 2019, 17:30
  • Ezhik

Вебинар «Прецизионные сигма-дельта АЦП Texas Instruments» (17.04.2019)

Аналого-цифровой преобразователь – ключевой элемент аналогового тракта любого измерительного прибора. От его характеристик критически зависит качество измерений. Компанией Texas Instruments накоплен огромный опыт разработки, производства и применения самых современных АЦП.

Частицей этого опыта с участниками вебинара поделится один из ведущих разработчиков прецизионных аналого-цифровых сигма-дельта преобразователей Шридар Мор. В ходе вебинара Шридар кратко расскажет, как работает Δ-Σ АЦП, затронет основные проблемы, с которыми сталкиваются разработчики измерительных систем, а также разберет некоторые примеры разработки устройств с применением новейших АЦП Texas Instruments.

Содержание
  • Принципы работы Δ-Σ АЦП;
  • Линейка Δ-Σ АЦП Texas Instruments;
  • Оптимизация схемотехнического решения измерительной системы при помощи высокоинтегрированных АЦП ADS122U04;
  • Разработка прецизионных и точных измерительных систем на основе АЦП ADS1262;
  • Построение измерительных систем на основе резистивных мостовых схем;
  • Интегрированные функции диагностики и мониторинга состояния АЦП на примере ADS124S08.

Общая информация
Начало: 17 апреля 2019 г. в 11:00
Продолжительность: 45 мин.
Форма участия: бесплатно, но нужна регистрация.

Регистрация тут

По окончании вебинара, когда будут доступны материалы, то они будут добавлены в этот пост.
  • +2
  • 11 апреля 2019, 17:39
  • DIHALT

AtMega1284p/644p и W5500 Ethernet

AVR

Множество тестовых примеров использующих ATMEGA 1284p/644p и Ethernet контроллер W5500.

Собственно выкладываю ссылку на «распатроненный» мной Ethernet-стек для дешевого Ethernet контроллера на Wiznet 5500 SPI: m1284p_wiz5500
Основано на примерах для W5500 EVB (LCP13xx + W5500). Не Arduino С-код, довольно серьезно модифицировано(по причинам различий в архитектуре процессоров ARM и AtMega, a также немалого количества багов в коде приложений для W5500 EVB). Собиралось при помощи Eclipse Kepler с плагином AVR-Eclipse и тулчейном avr-gcc 4.9.2 (посредством самописного Makefile, думаю тоже соберется при желании).


Читать дальше
  • +6
  • 10 апреля 2019, 23:25
  • maxxir
  • 1

Печатная плата под AtMega 8535/16/32/644/1284

AVR
Мой вариант печатной платы под AtMEGA 16/32/644/1284 (TQFP-44 0.8mm).
Оригинал разводился еще в древнем Eagle 5.6.0.
Было интересно, получится ли провести экспорт в KiCad 5.xx.
И да — все прошло на удивление гладко, герберы успешно сгенерированы, и приняты на производство PCBWAY.


Читать дальше

STM8L Компараторы: часть2 COMP2 и оконный режим

В первой части мы рассмотрели COMP1. Теперь займёмся вторым компаратором COMP2 и задействуем оконный режим. Работать будем с микроконтроллером STM8L152C6T6, который установлен на плате STM8L-DISCOVERY. STM8L152C6T6 относится к классу medium. Для работы с компараторами возьмём делитель напряжения из первой части, только переделаем его так, чтобы он давал напряжение от 0 до 1,5V.


Выход делителя теперь подключим к ножке PE5 микроконтроллера:

Читать дальше

STM8L Компараторы: часть1 COMP1

Компараторы в микроконтроллерах серии STM8L рассмотрим на примере STM8L152C6T6, который установлен на плате STM8L-DISCOVERY.

Наш STM8L152C6T6 относится к классу medium. Для начала разберёмся с подключением первого компаратора COMP1. Для иллюстрации подключения компаратора из RM0031 возьмём рисунок из раздела Routing interface (RI) для medium:


Входной сигнал мы будем подавать

Читать дальше

USB HID для микроконтроллеров STM32F103 без использования библиотек

Однажды озадачившись подключением микроконтроллера к ПК через USB, я обнаружил, что это непростая задача. По сравнению с USART, SPI и.т.п., программирование USB оказалось на порядок сложнее. Поиск примеров в интернете практически не дал никаких результатов. Имеющиеся примеры, как правило, основаны на использовании больших и сложных библиотек, которые очень трудно применить, а тем более модифицировать под свои нужды. Также эти примеры обычно состоят из множества файлов, так что даже понять структуру проекта, а не то что принцип работы, USB из них не представляется возможным. Есть неплохие статьи по USB, однако ответа на вопрос, как реализовать обмен данными на конкретном контроллере они не дают. В итоге пришлось самостоятельно, путем длительных экспериментов пытаться запустить USB.
Используемый контроллер STM32F103C8T6. Это наверное самый распространенный и дешевый контроллер с модулем USB. Конкретно использовалась вот такая плата:
ru.aliexpress.com/item/STM32F103C8T6-ARM-STM32-DIY-KIT/32839140960.html?spm=a2g0v.search0104.3.14.1a477b81mKd6hC&ws_ab_test=searchweb0_0%2Csearchweb201602_9_10065_10068_319_317_10696_453_10084_454_10083_10618_10307_10301_537_536_10902_10059_10884_10889_10887_321_322_10915_10103_10914_10911_10910%2Csearchweb201603_58%2CppcSwitch_0&algo_pvid=551618bd-fcbf-49a9-9147-692e88feb8ce&algo_expid=551618bd-fcbf-49a9-9147-692e88feb8ce-5
Цена такой платы практически равна цене микросхемы отдельно. Реализуемый класс устройств HID. Преимущества HID известны. Это отсутствие необходимости использования драйверов на ПК и относительная простота реализации. К недостаткам можно отнести низкую скорость передачи данных. В качестве среды программирования использован CooCox. Программа со стороны ПК компилировалась в Borland C++ 5.5.
Программа для CooCox состоит из одного файла и не использует никаких библиотек (кроме RCC, которая нужна лишь ради функции SystemInit(); в начале программы). Также не используются прерывания, поскольку, на мой взгляд, их использование, затрудняло бы понимание кода и отладку. VID и PID взяты от какого-то STM-овского устройства. При их смене, нужно так-же сменить их и в программе на ПК, поскольку поиск устройства происходит по VID и PID.
Работа рассматриваемой пары программ состоит в следующем. Программа со стороны ПК посылает целое число в контроллер. Контроллер делает инкремент полученного числа и отправляет его назад в ПК. Затем этот цикл повторяется снова и снова. В окне программы выводится полученное число. Дополнительно реализовано управление светодиодом на плате (PC13).
Данная программа не претендует на полное соответствие протоколу USB. В ней реализована обработка ограниченного набора запросов (только тех, что реально попадались при отладке). Как показала практика, набор запросов может различаться на разных компьютерах. Кроме того несмотря на то что удалось добиться работоспособности данной программы, многие вопросы касающиеся USB для меня так и остались непонятными. Этот пример, скорее полуфабрикат, требующий дальнейшей доработки.
Файлы проекта:
drive.google.com/drive/folders/1b3E0YwgRlacK2K2Qykc7OxS11ocNuWig?usp=sharing
  • +8
  • 27 марта 2019, 17:29
  • VVK
  • 1

Глава из «Поваренной книги разработчика аналоговой электроники», от Texas Instruments (TI)

Измерения с использованием датчиков малой мощности: 12-битная, несимметричная схема с одним источником питания на 3,3 В, 1 ksps

Исходные данные к описываемому решению представлены в таблицах 9 и 10



Описание решения
В данном решении усилитель сверхнизкой мощности используется для управления АЦП SAR, уровень энергопотребления которого в активном режиме измеряется в нановаттах. Решение предназначено для использования в системах сбора данных с датчиков с общим уровнем потребления в несколько микроватт. Примерами таких систем являются пассивные инфракрасные датчики, датчики газа и глюкометры. Значения в разделе выбора компонентов могут быть скорректированы в соответствии с требуемой скоростью передачи данных и полосой пропускания усилителя. В предыдущей части рассматривается более сложная версия схемы, где на канал отрицательного напряжения подается небольшое отрицательное напряжение (-0,3 В). Вариант схемы с одним источником питания показывает пониженную производительность, когда выходной сигнал усилителя близок к нулю. Однако в большинстве случаев конфигурация с одним источником питания является более предпочтительной благодаря простоте (рисунок 10, таблица 11).


Рис. 10 Несимметричная схема с одним ИП


Таблица 11. Спецификации упрощенной версии 12-битной несимметричной схемы

Рекомендуем обратить внимание
  • Определите линейный диапазон операционного усилителя на основе характеристик синфазного сигнала, размаха выходного напряжения и линейного коэффициента усиления напряжения. Это описано в разделе выбора компонентов.
  • Используйте конденсаторы COG для минимизации искажений.
  • Используйте пленочные резисторы 0,1% 20 ppm/°C или более высокой точности для минимизации искажений.


В серии обучающих видеороликов TI “Precision Labs – ADCs” показаны методы выбора элементов цепи зарядного сегмента Rfilt и Cfilt. Данные параметры компонентов зависят от полосы пропускания усилителя, частоты дискретизации преобразователя данных и конструкции самого преобразователя. Приведенные здесь значения позволяют получить хорошие показатели установления сигнала и динамические характеристики для усилителя и преобразователя данных в этом примере. В случае изменения дизайна вам понадобится выбрать другой RC-фильтр. Ознакомьтесь с обучающим видео “Введение в выбор компонентов для входных каскадов SAR АЦП”, в котором представлена дополнительная информация по выбору RC-фильтра для получения наилучших характеристик по установлению сигнала и переменному току. Далее...

CP2102 - еще один переходник USB-COM

Универсальный переходник CP2102 USB-COM.


Особенности моего донгла:
  1. «Универсальный» режим питания CP2102-модуля, а также подключаемого MCU модуля:
    USB/Внешнее питание/Сдвоенное питание.
  2. Дополнительные линии DTR/RTS для бутлоадера (проверено на бутявках Arduino/AVR, STM32)
  3. USB-супрессор
  4. Авто-Толерантность RX/TX к уровням сигнала MCU 3.3-5V (ну это заслуга создателей CP2102, привет FT232!)



Читать дальше
  • +5
  • 20 марта 2019, 23:51
  • maxxir
  • 3