32bit_me: (Default)
 С целью удобства сделал список публикаций на хабре:
 
 
Мои публикации на хабре/ГТ:
Программирование/компиляторы:
LLVM: компилятор своими руками. Введение
Как приручить дракона. Краткий пример на clang-c
Электроника и контроллеры:
Аналого-цифровое преобразование для начинающих
Подключение цветного LCD с сенсорным экраном к микроконтроллеру
Мобильный телефон своими руками. Часть 1
Мобильный телефон своими руками. Часть 2
Siemens Logo! — десять лет спустя
Начинаем работать в STM32CubeMX. Часть 1
Начинаем работать в STM32CubeMX. Часть 2
Ретрокомпьютеры:
Ноутбук Tandy TRS-80 model 200
Персональная электронная вычислительная машина «Апогей БК-01»
Персональный компьютер «Электроника МК-85»
Разное:
Raspberry Pi и Синяя Изолента
Внешняя USB-видеокарта Startech USB2DVIE3
Ремонт мыши Logitech MX Air
Обзор USB-осциллографа Hantek DSO-6022BL с логическим анализатором и гикпорном
32bit_me: (Default)
Прочитал статью Howard Mao "Hardware Acceleration for Memory to Memory Copies", 27 стр.англ. язык.



Это тот самый Howard Mao, по статьям из блога которого я изучал SoC Cyclone V. Но эта статья не про Cyclone V, а про RISC V. В статье рассматривается расширение системы команд RISC V для операций копирования и перемещения участков памяти в процессоре с виртуализацией памяти. Указывается, что перемещение памяти в таких системах можно (в ряде случаев) осуществлять заменой записей в TLB, без физического копирования данных, а копирование можно делать с помощью специального узла Tile Link Memory Interface. От обычного DMA он отличается тем, что работает с адресами виртуальной памяти, а не с физическими адресами, и следовательно, может вызываться напрямую из user-space.
Понятно, что на задачах копирования памяти выигрыш по скорости составляет разы, кроме только самых маленьких блоков памяти (за счет дополнительных накладных расходов), а тест Dhrystone должен вообще сильно ускориться (но это уже мои догадки, авторы этот тест не проводили).
32bit_me: (Default)
Прочитал две статьи:
1. Gerard J. Holzmann. The Power of Ten – Rules for Developing Safety Critical Code1, 4 стр. англ. язык.
2. JPL Institutional Coding Standard for the C Programming Language, 22 стр. англ. язык.

Обе статьи посвящены стандартам кодирования при разработке надёжного ПО, используемым в Jet Propulsion Laboratory, NASA. Эта организация, например, разрабатывала марсоход Curiosity, работающий на Марсе с августа 2012 года по сей день без единой ошибки.
32bit_me: (Default)
Прочитал статью С.Н. Зыль "Особенности применения языков программирования С и С++ при кодировании для систем ответственного назначеия", 4 стр., русск. язык.
В статье рассматриваются некоторые особенности применения стандартов IEC 61508, MISRA C и MISRA C++.
32bit_me: (Default)
Прочитал статью "Главный вопрос программирования, рефакторинга и всего такого".

Статья представляет собой сборник из 42 примеров с разбором ошибок, найденных в реальных проектах. Все эти проекты являются open-source, и проверялись с помощью статического анализатора PVS-Studio.
Наверное, это прекрасный анализатор, но он коммерческий, причем даже цен на сайте нет. Однако же использование статических анализаторов может быть полезно, и я думаю, надо освоить какой-либо бесплатный статический анализатор.
32bit_me: (Default)
Прочитал AN4073 "How to improve ADC accuracy when using STM32F2xx and STM32F4xx microcontrollers", 33 стр. англ. язык. Материал описывает программные способы повышения точности АЦП в микроконтроллере STM32, с примерами исходного кода.

32bit_me: (Default)
Прочитал AN2834 "How to get the best ADC accuracy in STM32Fx Series and STM32L1 Series devices", 45 стр. англ. язык.
Документ описывает основные источники погрешностей АЦП типа SAR, применяемых в микроконтроллерах STM, и способы борьбы с ними.

32bit_me: (Default)
Написал вторую часть статьи по STM32CubeMX для хабра. Ссылка.



Как всегда, заходите, плюсуйте, комментируйте.
32bit_me: (Default)
Прочитал статью Paul N. Leroux "Real Time or Real Linux? A Realistic Alternative", 12 стр., англ. язык.
Статья посвященную сравнению Linux и QNX с точки зрения возможности построения систем реального времени. Как известно, существует RTLinux, операционная система реального времени, в которой Linux выполняется как вытесняемый процесс. В статье проводится сравнение такого подхода с архитектурой ОСРВ QNX Neutrino.

32bit_me: (Default)
Прочитал "Операционная система RTEMS. Руководство пользователя", автор В.Р.Мамкин, 29 стр., русск. язык.
Интересная операционная система реального времени, с богатыми возможностями. Руководство старое, 2001 года, но оно может служить хорошим введением в тему.
Фирменное руководство имеет гораздо больший объём, более 500 стр., и описывает систему во всех подробностях. Поэтому для получения общего понимания того, что представляет собой ОС RTEMS, данное руководство очень хорошо подходит.
32bit_me: (Default)

Originally published at 32 bit.me. You can comment here or there.

Прочитал статью «Ten C++11 Features Every C++ Developer Should Use», автор Marius Bancila, ссылка: http://www.codeproject.com/Articles/570638/Ten-Cplusplus-Features-Every-Cplusplus-Developer. Весьма интересно и познавательно. Я, конечно, основные моменты знал и ранее, но после прочтения познания в C++11 несколько упорядочились.
Вообще, www.codeproject.com — хороший сайт, надо почаще заглядывать.

32bit_me: (Default)

Originally published at 32 bit.me. You can comment here or there.

Предыдущая часть здесь.

pic

Продолжим разработку FPU. В предыдущих частях был рассмотрен делитель вещественных чисел Деление является самым сложным в реализации арифметическим действием. Следующим по сложности идёт сложение, а самой простой операцией является умножение. В этой части рассмотрен умножитель.

Read the rest of this entry »

32bit_me: (Default)

Originally published at 32 bit.me. You can comment here or there.

Представляю вашему вниманию модель микросхемы памяти IS61WV102416 на verilog с учетом задержек.Модель предназначена для построения тестов устройств, содержащих SRAM. Модель не синтезируема.


wave1


is61wv102416bll-10tl-102416-tssop48


Микросхема IS61WV102416 является асинхронной быстродействующей статической памятью объемом 16М и организацией 1М х 16. Имеются варианты с временем доступа 8, 10 и 20нс. В данной модели установлены тайминги для варианта 10нс.


Read the rest of this entry »

32bit_me: (Default)

Originally published at 32 bit.me. You can comment here or there.

Продолжение. Начало здесь: часть 1, часть 2.

Итак, тест готов, теперь можно написать сам код делителя.

Для удобства нарисуем интерфейс модуля в таком виде:


pic1

Read more... )

LCR

Mar. 7th, 2015 03:13 pm
32bit_me: (Default)
Нашел интересный проект: измеритель LCR с погрешностью 500ppm (то есть 0,05%), что очень неплохо для любительского прибора.

lcr

Я не собираюсь, конечно, делать себе такой же, т.к. он мне не очень нужен, но меня заинтересовала схемотехника.
Я заботливо скачал для вас номера журнала Elektor, где эта схема была опубликована: скачать.
Автору этого проекта 72 года (то есть было 70 на момент публикации статьи). Респект, что я могу сказать. Желаю всем так же зажигать в этом возрасте.
32bit_me: (Default)

Итак, продолжим разработку FPU.

Первая часть статьи находится здесь: http://32bit.me/?p=1902. Напомню также, что все исходники, приведенные в статье, можно скачать на гитхабе.

waveform-1

Картинка для привлечения внимания (кликабельно)

Read more... )
В следующей статье мы нарисуем остальную сову напишем сам модуль div_float.

Комментарии, вопросы и пожелания приветствуются. Не стесняйтесь.
P.S. Если кто-либо знает, как в ЖЖ вставлять исходники с подсветкой синтаксиса, подобно тому, как это делается в Wordpress, напишите, пожалуйста.

32bit_me: (Default)

Originally published at 32 bit.me. You can comment here or there.

Не задумывались ли вы о том, как работает FPU процессора? Казалось бы, там всё довольно просто. Есть стандарт представления чисел с плавающей точкой, IEEE754, а сама реализация арифметических операций очевидна.
Но на самом деле, за кажущейся простотой скрыто множество нюансов.

Read more... )

Ссылка на гитхаб: https://github.com/arktur04/FPU

В репозитории содержится исходный текст программы генерации тестового файла (на C++, разработана в Linux, однако не содержит ничего Linux-специфического и должна собираться в любом компиляторе под Windows, возможно, с минимальными изменениями), сам тестовый файл, и программа-калькулятор, позволяющая переводить числа из hex-вида во float и наоборот и производить с числами арифметические действия (на С#, разработана в среде Visual Studio 2012).

По мере продвижения я буду пополнять репозиторий.

В следующий раз мы напишем простой тестбенч для операции деления.

Продолжение следует.

32bit_me: (Default)

Запись опубликована 32 bit.me. You can comment here or there.

В дву постах на хабре я описываю основы применения GSM-модуля M10 фирмы Quectel и его AT-команды.

Ссылки на хабр: часть 1, часть 2.

 

32bit_me: (Default)

Запись опубликована 32 bit.me. You can comment here or there.

Перепост с Хабрахабра:

Добрый день, хабр. Сегодня я хотел бы поделиться некоторым опытом, касающимся подключения цветных LCD-индикаторов к микроконтроллеру. Эта тема уже поднималась на хабре (http://habrahabr.ru/post/139384/), поэтому данный пост может рассматриваться как дополнение к уже написанному моими уважаемыми коллегами.

Читать далее:   http://habrahabr.ru/post/140415/

32bit_me: (Default)

Запись опубликована 32 bit.me. You can comment here or there.

Второй вариант схемы питания подсветки LCD-индикатора (первый вариант описан здесь: http://32bit.me/?p=1399). Данный вариант реализован на микросхеме MC34063A, и обеспечивает преобразование входного напряжения +5В в напряжение +25 В (без нагрузки) либо в стабилизированный ток 20 мА при подключенной нагрузке.

Схема преобразователя приведена на рис. 1 (на картинку можно нажать для увеличения).

Рис. 1. Принципиальная схема преобразователя.

Результаты испытаний преобразователя приведены в таблице.

Rнагр, Ом Uнагр., В Iнагр., мА Pнагр, мВт Iвх, мА Pвх, мВт КПД, %
740 15.4 20.74 319.4 100 500 63.88
949 20.17 20.36 410.66 128 640 64.17
1465 23.2 19.88 461.22 141 705 65.42

Как видно из таблицы, преобразователь имеет даже несколько больший КПД, чем на микросхеме LM2733XMF (при значительной разнице в их стоимости: MC34063A — 7,21Р, LM2733XMF — 50,03 Р по каталогу фирмы «Промэлектроника», цены на момент написания поста, цены при покупке небольших количеств микросхем).

Profile

32bit_me: (Default)
32bit_me

July 2017

S M T W T F S
      1
2345678
9101112131415
16171819202122
232425262728 29
3031     

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 25th, 2017 09:47 am
Powered by Dreamwidth Studios