Pull to refresh
0
0
Андрей Николаевич @AndruB

Инженер электроник

Send message

Разбираемся с модулем ШИМ на tms320

Reading time6 min
Views7.1K
Добрый день. Какое-то время назад я прочёл, что какому-то человеку захотелось изучить поглубже вопрос про ePWM модуль на мк tms320f28xxx, поэтому я решил, почему бы и мне не написать статью на эту тему, в которой я постараюсь подробно разжевать этот модуль на примере tms320f28335.
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments6

FPP через FPL: Ускоряем загрузку FPGA

Reading time8 min
Views12K

Всем привет!


Недавно возникла задача — ускорить загрузку FPGA. От появления питания до рабочего состояния у нас есть не более 100 мс. Поскольку чип не самый новый (Altera Cyclone IV GX), просто подключить к нему быструю флешку типа EPCQ не получается. И мы решили задействовать режим FPP (Fast Passive Parallel), поставив снаружи CPLD Intel MAXV с FPL (Flash Parallel Loader). При старте CPLD загружает данные из флешки и формирует сигналы FPP на своих выходах.


Однако, перед тем, как совершить задуманное, собрали DIY-макет из того, что было под рукой, и взялись поэкспериментировать "на кошках". К сожалению, из-за соплей на плате пришлось снизить рабочие частоты, но суть работы FPP от этого не изменилась, зато отладка упростилась. О том, что получилось, и о том, как конфигурируется FPGA, я и решил написать в этой статье. Кому интересно, добро пожаловать под кат.


Читать дальше →
Total votes 47: ↑46 and ↓1+45
Comments10

Моделирование прошивки в среде ModelSim с использованием моделей на языке SystemC

Reading time13 min
Views2.9K
В прошлой статье мы познакомились с процессом моделирования «прошивки» в среде ModelSim, где и целевой код, и генератор тестовых воздействий написаны на языке Verilog. Жаль, но для решаемой в цикле цели этого недостаточно. Я уже многократно продвигал идею, что разработка для комплекса Redd должна идти с наименьшими трудозатратами. Если модель устройства пишется быстро, её можно написать с нуля. В прошлый раз мы сделали модель шины, по которой писали байты в сумматор. Но ULPI — очень сложная вещь. Написать её модель с нуля — ой, как не просто. Если можно найти готовую, лучше это сделать. И я нашёл… Увы и ах, она оказалась на языке SystemC. Как начать работать с этим языком, мы сейчас и рассмотрим.



Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments2

О работе ПК ч.3: От включения до полной загрузки Windows 10

Reading time20 min
Views101K
Мы продолжаем разбираться как работает ПК на примере клавиатуры и Windows 10. В этой статье поговорим о том как происходит единение софта и железа.

Старт системы


Полностью компьютер выключен когда он отключен от питания и конденсаторы на материнской плате разрядились. До эры смартфонов мобильные телефоны часто глючили и если перезагрузка не лечила проблему, то приходилось доставать батарею и ждать 10 секунд, потому что сбрасывалось программное состояние ОС, в то время как чипы на материнской плате и контроллеры устройств оставались активными сохраняя состояние, драйвера ОС к ним просто реконнектились. 10 секунд — время на разрядку конденсаторов, состояние чипов сбрасывается только при полном отключении.
Если же ПК подключен к розетке или батарее, то он находится в режиме Stand-By, это значит что по шине питания подаётся маленькое напряжения (5В) от которого запитываются некоторые чипы на материнке. Как минимум это системный контроллер, по сути это мини-компьютер запускающий большой компьютер. Получив уведомление о нажатии кнопки Power он просит блок питания/батарею подать больше напряжения и после инициализирует весь чип-сет, в том числе и процессор. Инициализация включает в себя перекачку кода и данных прошивки материнки (BIOS/UEFI) в оперативную память и настройку CPU на её исполнение.
Думать что кнопка Power это рубильник который подаёт электричество на CPU и тот начинает исполнять с заранее известного адреса прошивку BIOS неправильно. Возможно старые компьютеры так и работали. Кнопка включения находится на своей плате, вместе со светодиодами состояний и к материнке она подключается через специальный разъём. На картинке ниже видны контакты для кнопки Power, Reset, а также светодиодов с состоянием Power и чтения жёсткого диска. Нажатие кнопки включения переводится в сигнал на контакты материнки, откуда он достигает системный контроллер.

Читать дальше →
Total votes 33: ↑32 and ↓1+44
Comments57

В IT растет цензура, а мы не замечаем — разрешают только улыбаться и молчать

Reading time8 min
Views125K

У меня есть две статьи-интервью вот с такими странными абзацами. За обоими кроются неприятные истории для меня и для людей, про которых я писал.

Читать далее
Total votes 383: ↑366 and ↓17+463
Comments1526

Светодиод, таймер и прерывания на RISC-V с нуля (на примере GD32VF103 и IAR C++)

Reading time41 min
Views25K


Сегодня речь пойдет о модном — о RISС-V микроконтроллере. Я давно хотел познакомиться с этим ядром и ждал когда появится что-то похожее на STM32 и вот дождался, встречайте — китайский GigaDevice — GD32V.


Инфраструктура для этого микроконтроллера не такая обширная как для STM32, но есть все необходимое для того, чтобы начать с ним работать. Благо отладочные платы можно заказать на аликекспресс, например, вот тут: Longan Nano GD32VF103CBT6 RISC-V MCU


Китайцы продвигают для этого микроконтроллера среду разработку Platform IO, которую можно поставить как расширение под Visual Studio Code. Но мы не будем её использовать, это ведь не по инженерным понятиям, мы же инженеры и хотим разобраться во всем сами. Поэтому давайте попробуем запустить плату на IAR, написав все с нуля.


Кстати, IAR раздает отладочный комплект (отладочная плата + отладчик I-Jet + 30 Дней полная лицензия) IAR RISC-V GD32V Evaluation kit. Вот тут можно оставить заявку Request for Development Tools. Не уверен, что они посылают комплект всем желающим, но мы получили в течение 5 дней. Спасибо им за это!


Ну что же, кто заинтересовался, добро пожаловать под кат

Читать дальше →
Total votes 49: ↑49 and ↓0+49
Comments31

Кто такие шизоиды, где они обитают, и почему вам может быть полезно о них узнать

Reading time35 min
Views145K

Основные стереотипы о шизоидах в одной картинке

Synopsis: шизоид — не диагноз, это тип характера. Существуют шизоиды, имеющие психические заболевания (как существуют истероиды, эпилептоиды, сварщики, мужчины и женщины, дети и бухгалтеры, имеющие диагнозы из области психиатрии), но далеко не каждый шизоид (мужчина, бухгалтер, сварщик и т.д.) — болен.

Сам этот характер довольно тяжело описать одновременно коротко и корректно. Некоторые называют их «гиками», «интровертами», «чудаками», «ботаниками», «хикканами», «эксцентричными», «нердами», «компьютерными гениями»[1, стр. 231], и все эти характеристики в той или иной мере имеют отношение к, собственно, шизоидам, но ни одна из них не является определяющей.

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

Большая часть литературы, посвящённой шизоидам, имеет клиническую направленность и описывает достаточно тяжёлые случаи шизоидизации, а в рамках этого текста я хотел бы рассказать о здоровых шизоидах, коих среди нас присутствует достаточно для того, чтобы их особенности имели значение в контексте трудовых отношений, управления и маркетинга.
Читать дальше →
Total votes 126: ↑119 and ↓7+156
Comments351

Что такое Zynq? Краткий обзор

Reading time16 min
Views44K
В далеком 2011 году компания Xilinx представила свои первые микросхемы SoC (System On Chip) — Zynq-7000. SoC Zynq сочетает в себе программируемую логику, процессорный модуль и некоторую периферию. Статья не является максимально полным описанием SoC Zynq, а лишь отражает те или иные характеристики, с которыми пришлось столкнуться при разработке устройств на базе SoC Zynq.
Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments18

Использование Quartus и ModelSim

Reading time10 min
Views35K
Меня всегда интересовала цифровая схемотехника, а в частности языки описания аппаратуры — HDL. У меня давно лежала в списке будущего чтения книга Дэвида М. Хэррис и Сары Л. Хэррис «Цифровая схемотехника и архитектура компьютера», воспользовавшись свободным временем на самоизоляции, я добрался до этой замечательной книги. В процессе чтения я столкнулся с некоторыми трудностями, а в частности, как именно писать и отлаживать код в Quartus Prime. В процессе поисков мне очень помог сайт marsohod.org, но вот процесс симуляции схемы на этом сайте описан с использованием встроенных средств Quartus и в современных версиях программы, этих встроенных средств нет и необходимо использовать ModelSim. Чтобы как-то систематизировать те знания, которые я получил, используя Quartus и ModelSim, я решил написать эту статью. В процессе этой статьи я в качестве примера разберу задачу из книги Дэвида М. Хэррис и Сары Л. Хэррис «Цифровая схемотехника и архитектура компьютера», а конкретно задачу 3.26 про автомат газированной воды. На протяжении статьи я покажу, как установить Quartus, создать проект, написать код и произвести его симуляцию. Всем кому это будет интересно, добро пожаловать под кат.

image
Читать дальше →
Total votes 13: ↑12 and ↓1+19
Comments15

Генерация клока в ПЛИС на примитивах

Reading time5 min
Views6.6K
Читая даташиты на ПЛИС, можно находить таблички об их рабочих частотах…

Хотя нет, история начинается еще с 2015 года, когда я познакомился с ПЛИС. В своих первых простеньких работах я формировал нужный мне клок из счетчика и запитывал от него всю логику(естественно при условии что клок мне нужен медленнее чем подавался на ПЛИС, например UART и SPI). Естественно за такое меня гоняли, но у меня была простая отмазка «но ведь работает же!», и действительно все работало. С тех пор у меня в голове закралась мысль «а откуда вообще можно взять тактирующий сигнал?».

Вариантов источников взять клок не много. Либо взять из некого ClockWizard основанный на PLL или MMCM, либо сформировать из счетчика, либо сразу с ножки так сказать single ended. А что, если взять тактовый сигнал сформированный примитивом ПЛИС?
Читать дальше →
Total votes 8: ↑6 and ↓2+8
Comments39

Преобразователи Time-To-Digital (TDC): что это такое и как они реализованы в FPGA

Reading time8 min
Views16K

На рисунке — первый в мире спутник квантовой связи «Мо-Цзы», который запустили из Китая в 2016 году, в нем летает TDC, реализованная в FPGA.

Объяснить своей девушке (или парню), что такое ADC и DAC, и в каких домашних приборах они используются, может каждый человек, называющий себя инженером. А вот что такое TDC, и почему у нас дома их нет, зачастую можно узнать только после свадьбы.

TDC — это time-to-digital converter. По-русски говоря: времяизмерительная система.

Основные потребители быстродействующих TDC — научные группы. Как правило, под определенный исследовательский проект требуется что-то очень специфическое. То каналов надо много, то разрешение очень высокое, то исполнение компактное. А уровень развития современных FPGA и их доступность как раз дают исследователям возможность экспериментировать с реализациями и подстраивать их под собственные нужды.

В этой хабрастатье приводится детальное описание простенькой времяизмерительной системы на FPGA Cyclone IV. Статья будет полезна не только для расширения кругозора, но и с методической точки зрения, поскольку реализация системы нетривиальная.
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments11

PCI Express в ПЛИС V-й серии Intel: основы интерфейса и особенности аппаратных ядер

Reading time16 min
Views16K

Введение


Знакомый многим интерфейс PCI Express или PCIe был доступен разработчикам систем на ПЛИС уже тогда, когда он только начинал распространяться в цифровой технике. В это время существовало решение, в котором программное ядро подключалось ко внешней микросхеме физического уровня [5]. Это позволяло создавать одноканальную линию PCIe со скоростью 2,5 гигатранзакций в секунду. В дальнейшем, благодаря развитию технологий, физический уровень интерфейса перекочевал в аппаратные блоки PCIe внутри самих ПЛИС; количество возможных каналов увеличилось до 8, а в ряде новых микросхем — и до 16; вслед за современными стандартами выросли возможные скорости передачи данных.

В то же время, в русскоязычных источниках по-прежнему затруднительно найти вспомогательные материалы по работе с аппаратными ядрами современных ПЛИС, не так и много информации доступно по самому интерфейсу PCIe. Руководство к аппаратным ядрам PCI Express подразумевает, что разработчик уже ознакомился со стандартом и понимает основы передачи данных между устройством и персональным компьютером (ПК). Однако обилие информации в самом стандарте PCIe не дает сразу же разобраться в том, какие шаги необходимо предпринять, чтобы успешно передать данные от устройства в память ПК или обратно. Чтобы получить более полную картину, немалую часть сведений приходится собирать по крупицам из разных источников. Для разработчиков систем на ПЛИС фирмы Intel сложность также заключается в том, что большинство доступных материалов и статей описывают работу с аппаратными ядрами ПЛИС фирмы Xilinx.

В данной статье автор постарается рассказать о том, что необходимо знать разработчику систем на ПЛИС для работы с интерфейсом PCI Express; рассмотрит особенности работы с аппаратными ядрами PCI Express ПЛИС V-й серии фирмы Intel в варианте Avalon-ST.
К основной части
Total votes 33: ↑33 and ↓0+33
Comments20

Проект «Горижопа» — разработка изделия «гель Thermo-Intensive»

Reading time12 min
Views96K
image
Поговорим о стоящей за этим науке

Поскольку наша уютная лаборатория специализируется на гелях и трансдермальном транспорте, было бы странно не заняться проблемой целлюлита. Там почти не бывает сложностей, это вам не регенерация раны (сложно протестировать) и не медиагели (сложно делать много, стабильно и дёшево, с сохранением нужной звукопроводности, вязкости и акустического импеданса).

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

Начнём с концентрации действующих веществ. У каждой таблетки есть предел суточной дозы, после которого риск плохих побочных эффектов резко увеличивается. Обычно речь про передозировку и аллергию. Как я рассказывала в прошлый раз, сенсибилизироваться легко даже к перчаткам из латекса при долгом ношении, и тогда даже обычные презервативы будут вызывать аллергию с первых секунд. Но «Гельтек» известен на рынке именно тем, что умудряется добиваться очень высоких концентраций при полном прохождении тестов на безопасность и челлендж-тестов.

На деле решение очень простое и элегантное с точки зрения биохимии, но довольно сложное в тестировании.
Читать дальше →
Total votes 128: ↑80 and ↓48+67
Comments206

Пишем операционную систему. Часть 1. Загрузчик

Reading time3 min
Views42K
Всем привет! Сегодня мы напишем загрузчик, который будет выводить «Hello World» и запустим его на VirtualBox. Писать будем на ассемблере FASM. Скачать его можно отсюда. Также нам понадобится собственно VirtualBox и UltraISO. Перед тем как писать код, разберемся как загружаются операционные системы.

Итак, когда мы нажимаем большую кнопку включения на нашем компьютере запускается система, которая есть на любом компьютере — BIOS (Basic Input/Output System или базовая система ввода/вывода). Задача BIOS это:

Читать дальше →
Total votes 43: ↑35 and ↓8+36
Comments37

Сравнение репитеров сотовой связи. RF-Link 1800/2100-75-23 и AliExpress Noname

Reading time12 min
Views19K

Для сравнения выбраны модели идентичные по характеристикам. Aliexpress желтый Noname и RF-Link 1800/2100-75-23 – по паспорту оба усиливают диапазоны 1800 и 2100 МГц на 75 дБ и имеют выходную мощность 200 мВт (23 дБм). Важное замечание в статье не рассматривается ценовая разница, да она есть, в статье сравниваются реальные характеристики выдаваемые репитерами.




Теория


Виды модуляции, используемые в современных средствах связи, предъявляют высокие требования к линейности трактов приема, передачи. Эти требования также касаются репитеров, ведь репитер становится частью системы, посредником между базовой станцией и мобильным терминалом абонента, и от качества изготовления, качества комплектующих, от знаний и опыта инженеров-разработчиков зависит надёжность связи или количество помех и проблем для пользователя, которые создаст репитер в случае несоблюдения некоторых требований при разработке и производстве о которых будет сказано ниже.


Что из себя представляет репитер? Если упростить, это двунаправленный полосовой линейный усилитель. На самом деле, это сложное электронное устройство, которое должно отвечать жёстким требованиям.


Основное функциональное назначение радиочастотного усилителя – повышение уровня (размаха колебаний, амплитуды или мощности) входного сигнала без недопустимых искажений его формы, спектрального состава, ухудшения отношения сигнал/шум. На практике получить неискаженный сигнал на выходе усилителя невозможно. Это объясняется тем, что в состав усилителя входят активные и пассивные элементы которые вносят свой отрицательный вклад, генерируя искажения.


К активным элементам относятся малошумящие и промежуточные (каскадируемые) усилители, электронные аттенюаторы, выходные транзисторы, детекторы уровня сигналов. К пассивным элементам относятся дуплексные и полосовые фильтры, конденсаторы, индуктивности.


Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments12

ESP-NOW — альтернативный протокол обмена данными для ESP8266 и ESP32. Основные понятия

Reading time8 min
Views34K


Технология ESP-NOW — это упрощенный протокол связи WiFi с передачей коротких пакетов между парами сопряженных устройств, разработанный и выпущенный Espressif в 2016.07 для микроконтроллеров ESP8266 и ESP32. При этом дополнительные процедуры, связанные с поддержкой протокола WiFi не используются, что ускоряет процесс обмена пакетами.

ESP-NOW может применяться в Интернете Вещей для управления интеллектуальными источниками света, реле, розетками, другими устройствами дистанционного управления, получения информации от датчиков и других приложений.

ESP-NOW поддерживает следующие функции


  • Зашифрованная и незашифрованная связь между сопряженными парами устройств.
  • Смешанные зашифрованная и незашифрованная связь между сопряженными устройствами.
  • Передача до 250 байт полезной информации.
  • Настройка функции обратного вызова для информирования прикладного уровня, в частности, об успешности или сбое передачи.

Читать дальше →
Total votes 15: ↑14 and ↓1+20
Comments13

SiC: микроэлектроника — это не только кремний

Reading time25 min
Views21K
Современная микроэлектроника практически полностью построена вокруг кремниевых КМОП-микросхем. Как вышло, что кремний опередил появившийся раньше германий и более перспективный арсенид галлия, я уже рассказывал раньше, а сегодня давайте поговорим о другом полупроводниковом материале, стремительно ворвавшемся в царство кремния и готовящемся остаться в нем всерьез и надолго. Этот материал — карбид кремния (SiC).


Статья получилась длинной, поэтому спойлеры: гегемонии кремния в микропроцессорах ничего не угрожает, но в силовой электронике SiC действительно намного лучше. В частности, внутри статьи можно будет увидеть чуть-чуть внутренностей автомобилей Tesla и много силовых полупроводниковых приборов.
Читать дальше →
Total votes 35: ↑35 and ↓0+35
Comments27

Практическая работа с ПЛИС в комплекте Redd. Осваиваем DMA для шины Avalon-ST и коммутацию между шинами Avalon-MM

Reading time10 min
Views5.5K
Продолжаем двигаться к созданию реальных устройств на базе ПЛИС комплекса Redd. Для другого проекта All-Hardware мне нужен простенький логический анализатор, поэтому будем двигаться именно в этом направлении. Повезёт — дойдём и до шинного анализатора USB (но это пока в отдалённой перспективе). Сердцем любого анализатора является ОЗУ и блок, который сначала закачивает в него данные, а затем изымает их. Сегодня мы как раз спроектируем его.

Для этого мы освоим блок DMA. Вообще, DMA — моя любимая тема. Я даже делал большую статью про DMA у некоторых контроллеров ARM. Из той статьи видно, что DMA отнимает такты у шины. В текущей статье мы рассмотрим, как дела обстоят в случае процессорной системы на базе ПЛИС.


Читать дальше →
Total votes 5: ↑4 and ↓1+4
Comments6

Настройка автовыравнивания фазы в дифференциальных парах в САПР Cadence Allegro

Reading time3 min
Views3.5K
Иногда даже любимые программы могут доставить мучения — особенно если не знаешь, как правильно настраивать ту или иную функцию. В редакторе печатных плат Cadence Allegro есть такая офигенно полезная опция, High Speed, которая ооочень помогает в трассировке скоростных сигналов, DDR и дифференциальных пар. Однако… не все там получается так уж гладко и просто, если не знать некоторых нюансов.

Одной из таких функций является возможность автоматического выравнивания статической и динамической фазы в дифференциальных парах, с помощью «горбиков», так называемых bumps. Однако данный инструмент не будет хорошо работать без настройки, и получить хорошие результаты, просто запустив инструмент командой Route – Auto-interactive phase tune, и кликнув мышкой на несколько диф. пар, не получится.

Предлагаю вашему вниманию мой опыт работы с данным инструментом:
Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments0

Работа с SD-картой по интерфейсу SPI. Реализация на VHDL

Reading time17 min
Views30K
Привет, Habr! Однажды на работе мне досталась задача оценить возможность реализации хранения данных на SD-карте при подключении ее к FPGA. В качестве интерфейса взаимодействия предполагалось использование SPI, так как он проще в реализации. Полученным опытом хотелось бы поделиться.


Читать дальше →
Total votes 31: ↑31 and ↓0+31
Comments39

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity