Перейти к содержимому

Mclr в pic что это

  • автор:

Программирование микроконтроллеров семейства PIC

Программирование микроконтроллеров семейства PIC начинающим

Первые микроконтроллеры появились в 60-х годах. Автоматизированные системы до этого времени обычно строились на основе реле. Теперь программируемые логические контроллеры распространены повсеместно. Однако программирование микроконтроллеров — процесс нередко сложно воспринимаемый. Поэтому рассмотрим, как программировать контроллер на примере широко известной серии ПЛК (PLC — Peripheral Interface Controller) — продукта компании Microchip Technology Inc.

Общий взгляд на устройства ПЛК

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

Благодаря таким языкам программирования, существенно облегчается процесс программирования контроллеров. Язык высокого уровня, созданный для ПЛК, обеспечивает простоту, эффективность и дружелюбную среду для пользователя.

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

  • память,
  • входные порты,
  • выходные порты.

В свою очередь, микроконтроллер представляет собой интегральную схему, в составе которой присутствуют:

  • микропроцессор,
  • память программ и данных,
  • генератор тактовых импульсов,
  • интерфейсы ввода и вывода,
  • таймеры,
  • аналого-цифровые преобразователи,
  • внешние коммуникационные порты и другие схемы.

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

Программирование микроконтроллеров PIC

Микроконтроллеры используются в составе современной электроники повсеместно. Умение выполнять программирование микроконтроллеров открывает широкие горизонты

Эффективность программы на основе макросов столь же эффективна, как и запись программы на языке «C». Компилятор отвечает за создание соответствующих подстановок для генерации кода, который передаётся в память программы микропроцессора или микроконтроллера.

Программирование микроконтроллеров PIC 12 / PIC 16

Программирование микроконтроллеров PIC выполняется с использованием проприетарного последовательного протокола. Поэтому конечному пользователю недостаточно просто взять и подключить микросхему контроллера PIC напрямую к любому «стандартному» интерфейсу.

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

Помимо рабочего напряжения, микроконтроллерам требуется ещё три сигнала:

  1. Программируемое напряжение (около 13В).
  2. Таймер программирования (ICSPCLK).
  3. Данные (ICSPDAT).

Поскольку большинство выпускаемых экземпляров PIC допускают программируемое напряжение несколько ниже значения, указанного спецификацией, открывается возможность использования уровней сигналов ± 12В, присутствующих на интерфейсе последовательного порта настольного ПК.

Таким образом, «записать» PIC вполне допустимо без необходимости подключения дополнительного источника питания. Преобразование уровней допускается выполнять при помощи нескольких компонентов. Однако представленная ниже упрощённая схема, обладает некоторыми ограничениями.

В частности, позволяет считывать и программировать непосредственно PIC устройства. Нет никакой гарантии, что эта схема способна обеспечить программирование всех контроллеров, поскольку не соответствует полной спецификации программирования.

Схема простого программатора микроконтроллеров PIC

Схема принципиальная упрощённого программатора микроконтроллеров серии PIC и обозначенные линии подключения интерфейсов RS232 / ISSP

Внутрисхемное программирование микроконтроллеров PIC

Разъём внутрисхемного программирования (ICSP) предоставляет возможность запрограммировать микроконтроллер непосредственно в рамках прикладной схемы.

Этот вариант видится особенно полезным в домашних условиях или в другой не специальной среде. Например там, где по каким-либо причинам требуется повторное изменение — программирование микроконтроллеров PIC и тестирование схемы.

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

ICSP соединитель под цепи программирования

Вот такой вариант ICSP соединителя вполне подойдёт для подключения линий связи на случай выполнения программирования микроконтроллера серии PIC12/PIC16

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

Основные условия программирования:

  • время переключения напряжения программирования «0 – 13В» составляет несколько микросекунд;
  • полный размах напряжения сигналов таймера и данных достигается в течение одной микросекунды;
  • вывод сигнала PGM остаётся низким всё время программирования.

Некоторые микроконтроллеры PIC требуют применения напряжения программирования до подачи рабочего напряжения. В этом случае напряжением программирования управляют через модуль программатора. Самый простой способ выполнить первые два условия — не использовать корреспондирующие выводы в цепях схемы. Если необходимо, следует использовать отладчик.

Рекомендации относительно процедуры программирования

Не рекомендуется подключать активные цепи к линии внешнего (основного) сброса (MCLR – Microcontroller Line Reset). Если сигнал MCLR используется для сброса PIC, следует устанавливать резистор номинальным сопротивлением более 56 кОм между выводами MCLR и подачи напряжения питания.

Рекомендуется в цепь резистора включать конденсатор небольшой ёмкости — менее 100 пФ со смещением на землю (вывод GND).

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

Схема доработок программатора PIC

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

Этот вариант может иметь место, если схема содержит собственный стабилизатор напряжения питания и оснащается развязывающим конденсатором большой ёмкости. Модуль программатора, предназначенный под напряжение питания 3,3В, не в состоянии заряжать конденсатор достаточно быстро, а для программирования PIC требуется не менее 4,5В.

Между тем вариант изолирования можно исключить, если в схеме используется диод Шоттки. Чтобы удерживать вывод перевода микроконтроллера в режим программирования (PGM) на низком уровне, рекомендуется подключать этот вывод к земле через резистор номиналом от 2,2 кОм до 10 кОм.

Всегда рекомендуется таймер включения питания вносить в «слово» конфигурации. Задержка таймера более 40 мс даёт достаточно времени для стабилизации напряжения питания перед началом любой операции. Такой шаг позволяет избежать непреднамеренного выполнения программы до входа в режим программирования.

Во время программирования остальные контакты порта остаются в режиме ввода — имеют высокий импеданс. Используемой схемой необходимо обрабатывать такое состояние по возможности неактивным способом. Чтобы избежать нежелательных «побочных эффектов», следует рассмотреть возможность дополнения подтягивающими резисторами.

Для обеспечения повторного программирования микроконтроллера PIC в условиях напряжения питания ниже 4,5В, область памяти необходимо отключить от защиты. Это обусловлено применением «Chip Erase», единственного способа удаления кода или защиты данных, которого требуют практически все микроконтроллеры PIC с напряжением питания выше 4,5В.

Сигналы ICSP соответствующие контактам PIC 12Fxxx / 16Fxxx

Число ниже аббревиатуры сигнала соответствует выходу разъема ICSP модуля программатора. Для использования модуля с тестовыми платами сторонних производителей требуется адаптер.

Таблица контактных групп

Следует обратить внимание: разъём ICSP этого модуля программатора имеет различный порядок сигналов по сравнению с другими программаторами микроконтроллеров PIC

Следующие схемы показывают, как подключать сигналы программирования к микроконтроллерам PIC 12Fxxx / 16Fxxx:

Схемы распиновки для отдельных чипов

Схемы, определяющие порядок подключения сигнальных проводников, участвующих в процедуре чтения/записи данных микроконтроллеров разной конфигурации

Программирование микроконтроллеров + фирменные средства

Существует солидная группа фирменных программаторов для микроконтроллеров семейства PIC. Наиболее известные аппаратные средства:

  • REAL ICE

Характерные отличия отмеченных программаторов – устройства обладают не просто классическими функциями чтения/записи. Фирменным программаторам присущ целый ряд расширенных функций, включая полный контроль содержимого памяти и стёка.

На основе информации: Uolsinectis

КРАТКИЙ БРИФИНГ

Z-Сила — публикации материалов интересных полезных для социума. Новости технологий, исследований, экспериментов мирового масштаба. Социальная мульти-тематическая информация — СМИ .

Урок 5. Первая программа на PIC12F675

Мы уже получили минимальные представления о микроконтроллерах, установили необходимые программы: среду разработки MPLAB и C-компилятор для микроконтроллеров фирмы Microchip Hi-Tech PICC. На этом уроке, как я уже давно обещал, мы научимся создавать проект в среде MPLAB, напишем первую программу для PIC12F675 и проверим ее работоспособность в среде моделирования Proteus. Программа будет очень простая: с помощью нашего микроконтроллера мы заставим мигать два светодиода. То есть на данном этапе нам нужно понять: как работать с портами ввода/вывода.

Одно важное замечание: я работаю с MPLAB и PICC в операционной системе Windows XP. При работе в Windows 7 и новее, могут возникать определенные проблемы с компилятором PICC. О них я напишу позже.

Итак, надеюсь, что MPLAB, Proteus и PICC вы скачали и установили.

Кто испытывает трудности с чтение на английском языке, рекомендую скачать даташит на PIC12F675 на русском языке.

Для начала создадим в Proteus схему нашей мигалки.

Схема мигалки на PIC12F675 в Proteus

Вывод MCLR используется для сброса микроконтроллера, поэтому для нормальной работы его нужно подтягивать к питанию через резистор. Если подать на этот вход сигнал низкого уровня (логический «0»), то произойдет сброс микроконтроллера. В качестве цифровых выходов, которые будут управлять светодиодами, выбираем выходы GP4 и GP5. Двойным кликом левой кнопки мыши на микроконтроллере U1 открываем его свойства. Здесь необходимо установить такие настройки:

Настройки PIC12F675 в Proteus

Пока просто установите все как на рисунке, подробности будут потом.

Для тех, кто не умеет работать в протеусе, я снял видео о том, как создать схему в Proteus .

Теперь, когда схема в протеусе готова, создадим проект в среде MPLAB.

Запускаем MPLAB, переходим в меню Project->ProjectWizard…

Должно появиться окно:

Создание проекта в MPLAB

Нажимаем Далее и в поле Device выбираем нужный микроконтроллер PIC12F675.

Создание проекта в MPLAB. Выбор микроконтроллера

Нажимаем Далее. В следующем окне предлагается выбрать компилятор.

Создание проекта в MPLAB. Выбор компилятора

Здесь, как вы уже догадались, мы выбираем установленный ранее компилятор PICC.

Если возле PICC Compiler, Assembler или Linker появится красный крестик, то нужно указать полный путь к файлу picc.exe. Обычно это что-то вроде c:\Program Files\HI-TECH Software\PICC\9.50\bin\picc.exe

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

Создание проекта в MPLAB. Рабочая директория проекта

Выбираем нужную директорию, в поле Имя файла задаем имя нашего проекта и нажимаем Сохранить.

Создание проекта в MPLAB. Имя проекта

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

Создание проекта в MPLAB. Добавление файлов в проект

Просто жмем Далее. В следующем окне появится сообщение о том, что проект создан. Нажимаем Готово.

Создание проекта в MPLAB. Завершение

Далее предлагается сохранить файл рабочей директории Workspace Files.

Создание проекта в MPLAB. Сохранение mcw

Здесь обычно я пишу такое же имя, как и у самого проекта. Хотя можно писать и другое.

Дальше у вас должно открыться дерево проекта “Project” и окно “Output”.

Дерево проекта в MPLAB

Открыть/закрыть их можно через меню View. View->Project, View->Output

Пришло время создать файл программы. Заходим в меню File->New. Появится текстовый редактор.

Текстовый редактор MPLAB

Дальше вставляем в редактор код программы:

Позже я объясню как работает программа.

Сохраняем файл программы File->Save .

Сохраняем исходный код программы main.c

В появившемся диалоговом окне выбираем директорию, в которой создавался проект, и даем имя файлу main.c . Нажимаем Сохранить .

Теперь нужно добавить файл программы в дерево проекта. Для этого нажимаем правой кнопкой мыши на Source Files и выбираем пункт Add Files…

Добавление файла программы в дерево проекта

Находим наш main.c и нажимаем Открыть . После этого main.c появится в дереве проекта.

Сохраняем нашWorkspace: File->Save Workspace .

Теперь, чтобы создался файл прошивки *.hex, нужно откомпилировать проект.

Заходим в меню Project и нажимаем Bild All.

Компиляция проекта MPLAB

Так как программа проверенная, ошибок в ней нет, то компилятор выдаст сообщение об успешной компиляции в окне Output и укажет сколько памяти микроконтроллера использовано.

Результат компиляции проекта в MPLAB

Program space – постоянная flash память, в которой хранится программа.

Data space – временная память, в которой хранятся переменные

EEPROM – энергонезависимая постоянная память, в ней могут храниться какие-то настройки устройства.

Configuration bits – область памяти, в которой хранятся биты конфигурации.

Если в программе имеются ошибки, то в окне Output появится предупреждение о них.

После компиляции в папке с проектом должен появиться файл leds_blink.hex

Название может быть и другим — смотря как назван проект.

Загружаем данный файл в модель микроконтроллера PIC12F675 в протеусе. Для этого заходим в параметры микроконтроллера (рисунок в начале урока) и в поле Program File выбираем файл прошивки leds_blink.hex.

В левом нижнем углу среды Proteus нажмите кнопку Play. Запускается симуляция работы микроконтроллера и светодиоды должны замигать. Поздравляю, вы создали первую программу!

Теперь подробнее расскажу — что же мы написали в коде нашей программы.

Прежде всего напоминаю, что для работы микроконтроллера необходимо его тактировать. В микроконтроллере PIC12F675 предусмотрена возможноcть тактирования как от внешнего источника, которым может служить кварцевый резонатор или RC-цепочка, так и от внутреннего RC-генератора. Максимальная частота тактирования для данного микроконтроллера составляет 20 МГц. Частота внутреннего RC-генератора фиксирована и составляет 4 МГц. От какого типа генератора будет тактировать микроконтроллер, определяется битами конфигурации. В коде программы биты конфигурации настраиваются через макрос __CONFIG(0x31F4);

Число, записанное в скобках, не взято «с потолка». Это число записывается в регистр CONFIG, и определяет такие параметры как: режим тактирования/источник тактирования, разрешает/запрещает работу сторожевого таймера, таймера включения питания, разрешение сброса контроллера при понижении питания и другие настройки. Подробно о регистре написано в разделе 9.1 Configuration Bits даташита. В среде MPLAB есть графический инструмент для настройки битов конфигурации, из которого можно получить число, записываемое в регистр CONFIG. Запускается данный инструмент через меню Configure->Configuration Bits…

Биты конфигурации в MPLAB

Снимите галочку Configuration Bits set in code.

1. Выбираем генератор FOSC : INTOSC oscillator: I/O function on GP4/OSC2/CLKOUT pin, I/O function on GP5/OSC1/CLKIN.

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

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

2. Настройка сторожевого таймера (Watchdog Timer) WDTE: WDT Disabled.

Сторожевой таймер – это такой таймер, который «сторожит» микроконтроллер от зависания. Данный таймер отсчитывает определенные интервалы времени, и если за это время не сбросить таймер, то он сбрасывает микроконтроллер (перезапускает программу). Т.е. в программе нужно с определенной периодичностью сбрасывать данный таймер. Период таймера настраивается в регистре OPTION_REG. Для обнуления сторожевого таймера вызывается ассемблерная команда CLRWDT. На си можно записать ее так asm(“CLRWDT”);

Наше устройства выполняет простые функции и если оно зависнет, то это не приведет к тяжелым последствиям, поэтому просто выключает сторожевой таймер, иначе он выключит нас J.

3. Таймер включения питания PWRTE: PWRT Disable.

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

4.Настройка пина MCLR: GP3/MCLR pin function is MCLR.

Я уже писал ранее, что этот пин используется для внешнего сброса микроконтроллера. Но его можно настроить так, чтобы он выполнял функцию цифрового вывода порта (в данном случае MCLR подтягивается к питанию внутренним резистором). Я вам советую оставить функцию внешнего сброса по данному пину, иначе, в зависимости от программатора, могут возникнуть проблемы при дальнейшем перепрограммировании МК.

5.Сброс по снижению питания BODEN: BOD enable. Здесь все понятно: снижается питание Vdd до определенного порога Vbor в течение времени Tbor – происходит сброс микроконтроллера. Vbor как правило — это напряжение 2.0…2.1 В. Включаем функцию сброса по снижению питания.

6.Бит защиты памяти программ CB: disable. Может называться CP (Code protect). Установка этого бита защищает память микроконтроллера от чтения программатором. Предположим, что вы проделали большую интеллектуальную работу – написали сложную программу для устройства, которое поступит в серийное производство, и вам не хотелось бы, чтобы данное устройство мог кто-то с легкостью скопировать, поэтому в данном случае вы включаете защиту памяти микроконтроллера от считывания. Когда этот бит установлен, программу нельзя считать. В нашем случае мы защиту отключаем.

7. Бит защиты памяти EEPROM CPD: disable. Здесь все аналогично CB, только устанавливается защита на энергонезависимую память EEPROM. Тоже отключаем.

После того, как каждый бит конфигурации установлен, в поле Value можно увидеть шестнадцатеричное число, которое записывается в регистр CONFIG. У меня получилось число 0x31F4.

Для того, чтобы с регистрами можно было работать, используя их имена, а не адреса в памяти, подключается заголовочный файл pic.h c помощью директивы компилятора #include.

Как известно, основная функция в Си, с которой начинается выполнения программы – это функция main. Программа наша не большая и весь код будет находиться в функции main. Еще одной важной особенностью написания программ для микроконтроллера является наличие бесконечно цикла (в нашем случае это while(1)). Если это не сделать, то счетчик команд дойдет до последнего адреса в памяти программ (flash-памяти) и перейдет на нулевой адрес, что приведет, если не к сбросу микроконтроллера, так, по крайней мере, к повторному запуску программы и повторной инициализации всех регистров. В общем, ерунда получится.

Теперь рассмотрим как настроить порты ввода/вывода, чтобы они работали правильно, т.е. являлись выходами и способны были зажигать светодиоды.

Заглянем в даташит на мк и увидим, что за работу цифровых портов ввода/вывода отвечают следующие регистры: GPIO , TRISIO , WPU и еще другие, но о них позже.

Регистр GPIO :

Регистр GPIO

Данный регистр отвечает за то, какой логический уровень сигнала будет на выходе: 1 – высокий (5 В), 0 – низкий (0В). Нужно заметить, что установить уровень выходного сигнала можно в том случает, если цифровой вывод используется в качестве выхода.

За направление работы порта на вход или выход отвечает регистр TRISIO .

Регистр TRISIO

Если бит TRISIOn установлен в 1, то соответствующий n-й вывод порта будет работать на вход. Если 0 – то на выход.

Когда выводы порта используются как входы, то часто необходимо их подтягивать к питанию через резистор. Вход в «висящем» состоянии оставлять нежелательно, так как из-за наводок на нем хаотически могут возникать сигналы высокого или низкого уровня. Когда же вход подтянут к питанию (или к земле), то можно с уверенностью сказать, что на нем присутствует сигнал высокого (низкого) уровня. В микроконтроллере PIC12F675 имеются встроенные подтягивающие резисторы, что избавляет разработчика от применения внешних резисторов и уменьшает конструкцию устройства. За настройку подтягивающих резисторов отвечает регистр WPU .

Регистр WPU

Установка бита WPUn в 1 разрешает внутреннюю подтяжку к питанию вывода n. Сброс бита в 0 соответственно запрещает использование подтягивающего резистора.

Однако разрешить использование подтягивающих резисторов в регистре WPU не достаточно. Есть еще такой замечательный регистр OPTION . Он в основном отвечает за настройку режима работы таймера Timer0 , о котором будет сказано на других уроках, но помимо этого данный регистр содержит бит GPPU , который запрещает или разрешает использование всех подтягивающих регистров.

Регистр OPTION

Над описание бита GPPU стоит черта инверсии. Это значит, что установка бита в 1 запрещает подтягивающие резисторы, а сброс бита в 0 наоборот разрешает.

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

Теперь алгоритм работы программы по порядку.

1) Запрещаем использование подтягивающих резисторов, так как порт работает на выход.

Необходимо заметить, что в файле pic.h описаны не только регистры целиком, но и каждый бит по отдельности, поэтому мы записали единицу в бит GPPU вместо того, чтобы записать ее в регистр OPTION. Запись OPTION |= 0x80 будет равнозначной записи GPPU = 1. Т.е. тут дело вкуса/универсальности программы. Если число 0x80 перевести в двоичный код, то получим 0b10000000, т.е. в бит под номером 7 (отсчет идет от 0-го бита) мы запишем единицу.

2)Настраиваем все выводы порта на выход.

3)Устанавливаем все выходы микроконтроллера в 0.

4) Устанавливаем на выходе GP4 единицу, а на выходе GP5 – ноль (см. схему в протеусе).

5)Организовываем задержку во времени на переключение светодиодов. Каждая команда PIC-контроллера выполняется за 4 машинных цикла. Мы настраивали тактирование микроконтроллера от внутреннего RC-генератора частотой 4МГц. Т.е получается , что каждая команда выполняется с частотой 1МГц, т.е. за 1 мкс. Если переключать светодиоды с такой частотой, то мы просто не увидим этого. Нам будет казаться, что они постоянно горят. Для этого создаем программный цикл на n-е количество «бесполезных» операций, которые задержат переключение светодиодов.

6)Как только истекло время задержки, переключаем светодиоды. На выходе GP4 устанавливается ноль, на выходе GP5 – единица.

7)Снова организовываем задержку.

Все! Весь алгоритм работы программы. Все на самом деле проще, чем кажется изначально.

После компиляции программы получаем hex-файл, который загружается в модель микроконтроллера в протеусе, о чем говорилось выше. Как это сделать показано на видео.

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

Mclr в pic что это

  • />31 августа
  • Тема:Работа сайта и сервера
  • От:makc
  • />31 августа
  • Тема:Работа сайта и сервера
  • От:makc

—>

Другие известные форумы и сайты по электронике

все что посвящено электронике и общению специалистов. реклама других ресурсов.

  • Магазины
  • Форумы и конференции
  • Производители
  • Информационные ресурсы
  • Поисковики
  • FTP-серверы
  • />21 августа
  • Тема:"Точка Опоры" и наш магазин — работают по прежне…
  • От:megajohn
  • />21 августа
  • Тема:"Точка Опоры" и наш магазин — работают по прежне…
  • От:megajohn

—>

В помощь начинающему

вопросы начального уровня

Модераторы раздела VAI aosp SergM fill vetal KRS Alexandr des00 Uladzimir Rst7 iosifk ViKo Herz l1l1l1 Tanya Сергей Борщ Omen_13 Vasily_ Егоров Walrus

  • ARM, 32bit
  • MCS51, AVR, PIC, STM8, 8bit
  • Программирование
  • Схемотехника
  • Интерфейсы
  • />9 минут назад
  • Тема:Li-Ion питает аппарат для точечной сварки аккуму…
  • От:варп
  • />9 минут назад
  • Тема:Li-Ion питает аппарат для точечной сварки аккуму…
  • От:варп

—>

International Forum

This is a special forum for English spoken people, read it first.

  • />14 мая
  • От:byRAM
  • />14 мая
  • От:byRAM

—>

Образование в области электроники

все что касается образования, процесса обучения, студентам, преподавателям.

Модераторы раздела des00

  • />Понедельник в 08:20
  • Тема:Задержки на PN-переходе
  • От:rmDAC
  • />Понедельник в 08:20
  • Тема:Задержки на PN-переходе
  • От:rmDAC

—>

Обучающие видео-материалы и обмен опытом

Обсуждение вопросов создания видео-материалов

Модераторы раздела iosifk

  • />17 февраля
  • Тема:Dilduino
  • От:k155la3
  • />17 февраля
  • Тема:Dilduino
  • От:k155la3

Cистемный уровень проектирования

    Последнее сообщение

—>

Вопросы системного уровня проектирования

Применение MATLAB, Simulink, CoCentric, SPW, SystemC ESL, SoC

Модераторы раздела Rst7

  • />26 августа
  • Тема:SLIP, Windows 10
  • От:tonyk_av
  • />26 августа
  • Тема:SLIP, Windows 10
  • От:tonyk_av

—>

Математика и Физика

Модераторы раздела Rst7

  • />Понедельник в 00:57
  • Тема:Магнитная проницаемость от электрического поля
  • От:Hale
  • />Понедельник в 00:57
  • Тема:Магнитная проницаемость от электрического поля
  • От:Hale

—>

Операционные системы

Linux, Win, DOS, QNX, uCOS, eCOS, RTEMS и другие

Модераторы раздела Rst7

  • Программирование
  • Linux
  • uC/OS-II
  • scmRTOS
  • FreeRTOS
  • Android
  • />17 часов назад
  • Тема:Редактор интерфейса форм для GUI/HMI под винду, …
  • От:x893
  • />17 часов назад
  • Тема:Редактор интерфейса форм для GUI/HMI под винду, …
  • От:x893

—>

Документация

оформление документации и все что с ней связано

Модераторы раздела Rst7

  • />30 августа
  • Тема:Doxygen: коллизия на титульной странице
  • От:kolobok0
  • />30 августа
  • Тема:Doxygen: коллизия на титульной странице
  • От:kolobok0

—>

Системы CAD/CAM/CAE/PLM

обсуждение САПР AutoCAD, Компас, SolidWorks и др.

  • />5 февраля
  • Тема:Ошибка установки Solidworks
  • От:baumanets
  • />5 февраля
  • Тема:Ошибка установки Solidworks
  • От:baumanets

—>

Разработка цифровых, аналоговых, аналого-цифровых ИС

Модераторы раздела Rst7

  • />23 часа назад
  • Тема:Отечественный аналог AD9361/AD9364
  • От:Gas Wilson
  • />23 часа назад
  • Тема:Отечественный аналог AD9361/AD9364
  • От:Gas Wilson

—>

Электробезопасность и ЭМС

Обсуждение вопросов электробезопасности и целостности сигналов

Модераторы раздела Rst7

  • ЭМС
  • Электробезопасность
  • />15 августа
  • Тема:ЭМС блока питания
  • От:HardJoker
  • />15 августа
  • Тема:ЭМС блока питания
  • От:HardJoker

—>

Управление проектами

Управление жизненным циклом проектов, системы контроля версий и т.п.

Модераторы раздела Rst7

  • />30 октября, 2022
  • Тема:Как тестировать разработанную электронику и встр…
  • От:KBH
  • />30 октября, 2022
  • Тема:Как тестировать разработанную электронику и встр…
  • От:KBH

—>

Нейронные сети и машинное обучение (NN/ML)

Форум для обсуждения вопросов машинного обучения и нейронных сетей

Модераторы раздела Rst7

  • />1 сентября
  • Тема:Обучение и положительный результат работы нейро…
  • От:Doka
  • />1 сентября
  • Тема:Обучение и положительный результат работы нейро…
  • От:Doka

Программируемая логика ПЛИС (FPGA,CPLD, PLD)

    Последнее сообщение

—>

Среды разработки — обсуждаем САПРы

Quartus, MAX, Foundation, ISE, DXP, ActiveHDL и прочие.
возможности, удобства.

Модераторы раздела vetal />des00 />

  • />Вчера в 10:13
  • Тема:Констрейнты в Lattice Diamond
  • От:dortonyan
  • />Вчера в 10:13
  • Тема:Констрейнты в Lattice Diamond
  • От:dortonyan

—>

Работаем с ПЛИС, области применения, выбор

на чем сделать? почему не работает? кто подскажет?

Модераторы раздела vetal />des00 />

  • />6 часов назад
  • Тема:Сформировать *.svf для стирания чипа
  • От:Freibier
  • />6 часов назад
  • Тема:Сформировать *.svf для стирания чипа
  • От:Freibier

—>

Языки проектирования на ПЛИС (FPGA)

Verilog, VHDL, AHDL, SystemC, SystemVerilog и др.

Модераторы раздела aosp vetal des00

  • />Четверг в 13:52
  • Тема:Преобразование sfixed to signed
  • От:10ff
  • />Четверг в 13:52
  • Тема:Преобразование sfixed to signed
  • От:10ff

—>

Системы на ПЛИС — System on a Programmable Chip (SoPC)

разработка встраиваемых процессоров и периферии для ПЛИС

Модераторы раздела vetal des00 Omen_13

  • />2 часа назад
  • Тема:Загрузка Petalinux 2023.1 на Microblaze. Плата M…
  • От:Dimonira
  • />2 часа назад
  • Тема:Загрузка Petalinux 2023.1 на Microblaze. Плата M…
  • От:Dimonira

Цифровая обработка сигналов — ЦОС (DSP)

    Последнее сообщение

—>

Сигнальные процессоры и их программирование — DSP

Обсуждение различных сигнальных (DSP) процессоров, возможностей, совместимости и связанных с этим тем.

Модераторы раздела des00

  • />1 сентября
  • Тема:как записать загрузочный rom для adsp-2181 ez-ki…
  • От:tiretrak
  • />1 сентября
  • Тема:как записать загрузочный rom для adsp-2181 ez-ki…
  • От:tiretrak

—>

Алгоритмы ЦОС (DSP)

Обсуждение вопросов разработки и применения (программирования) алгоритмов цифровой обработки сигналов.

Модераторы раздела des00

  • />Четверг в 11:46
  • Тема:Алгоритм CIRC, CD, Red Book
  • От:repstosw
  • />Четверг в 11:46
  • Тема:Алгоритм CIRC, CD, Red Book
  • От:repstosw

Микроконтроллеры (MCU)

    Последнее сообщение

—>

Cредства разработки для МК

FAQ, How-to, тонкости работы со средствами разработки

Модераторы раздела haker_fox

  • IAR
  • Keil
  • GNU/OpenSource средства разработки
  • />Понедельник в 16:15
  • Тема:Чужой исходник -> IAR
  • От:dimka76
  • />Понедельник в 16:15
  • Тема:Чужой исходник -> IAR
  • От:dimka76

—>
Модераторы раздела haker_fox

  • STM
  • NXP
  • Microchip (Atmel)
  • TI, Allwinner, GigaDevice, Nordic, Espressif и другие
  • />3 часа назад
  • Тема:Allwinner A13 SoC уделал DSP C6745. Смеяться или…
  • От:GenaSPB
  • />3 часа назад
  • Тема:Allwinner A13 SoC уделал DSP C6745. Смеяться или…
  • От:GenaSPB

—>

RISC-V

Микроконтроллеры на базе ядер RISC-V, RISC-X

Модераторы раздела haker_fox

  • />22 августа
  • Тема:АМУР от Микрона: имеет ли смысл связываться?
  • От:makc
  • />22 августа
  • Тема:АМУР от Микрона: имеет ли смысл связываться?
  • От:makc

—>
Модераторы раздела haker_fox

  • />Среда в 11:11
  • Тема:Преобразование Int в строку на LCD (ICCAVR7)
  • От:James D.
  • />Среда в 11:11
  • Тема:Преобразование Int в строку на LCD (ICCAVR7)
  • От:James D.

—>

MSP430

Модераторы раздела VAI />haker_fox />

  • />28 августа
  • Тема:Настройка ЦАП MSP-EXP430FR2355
  • От:_pv
  • />28 августа
  • Тема:Настройка ЦАП MSP-EXP430FR2355
  • От:_pv

—>

Все остальные микроконтроллеры

и все что с ними связано

Модераторы раздела haker_fox

  • PIC
  • MCS51
  • PowerQUICC
  • HC(S)08
  • AVR32
  • STM8
  • MIPS
  • />1 сентября
  • Тема:PIC24FJ128GU406 Bootloader и таблица прерываний
  • От:kan35
  • />1 сентября
  • Тема:PIC24FJ128GU406 Bootloader и таблица прерываний
  • От:kan35

—>

Отладочные платы

Вопросы, связанные с отладочными платами на базе МК: заказ, сборка, запуск

Модераторы раздела haker_fox

  • Arduino
  • Raspberry Pi
  • Rainbow
  • Siberia
  • EVMxxxx
  • />Вторник в 17:25
  • Тема:China-Link, Вариант отладчика из Китая
  • От:backa
  • />Вторник в 17:25
  • Тема:China-Link, Вариант отладчика из Китая
  • От:backa

Печатные платы (PCB)

    Последнее сообщение

—>

Разрабатываем ПП в САПР — PCB development

FAQ, вопросы проектирования в ORCAD, PCAD, Protel, Allegro, Spectra, DXP, SDD, WG и др.

Модераторы раздела SergM />fill />

  • Библиотеки компонентов
  • Altium Designer, DXP, Protel
  • P-CAD 200x howto
  • Эремекс, Delta Design
  • Cadence
  • Примеры
  • Zuken CADSTAR
  • Siemens EDA — Xpedition, PADS (ex. Mentor)
  • Бесплатные САПР: KiCAD, EasyEDA, EAGLE и др.
  • />Вчера в 08:11
  • Тема:Настройка вывода Design Rule Verification Report
  • От:fatus
  • />Вчера в 08:11
  • Тема:Настройка вывода Design Rule Verification Report
  • От:fatus

—>

Работаем с трассировкой

тонкости PCB дизайна, от Spectra и далее.

Модераторы раздела fill

  • />16 часов назад
  • Тема:Расчет волнового сопротивления
  • От:tim_ben
  • />16 часов назад
  • Тема:Расчет волнового сопротивления
  • От:tim_ben

—>

Изготовление ПП — PCB manufacturing

Фирмы, занимающиеся изготовлением, качество, цены, сроки

Модераторы раздела fill

  • ПСБ Технолоджи
  • ТеПро
  • PS-Electro
  • Резонит
  • PCB Professional
  • Абрис
  • ОАО "НИЦЭВТ"
  • ООО "М-Плата"
  • в домашних условиях
  • />Понедельник в 16:22
  • Тема:Статья «Мокрое травление печатных плат с использ…
  • От:EdgeAligned
  • />Понедельник в 16:22
  • Тема:Статья «Мокрое травление печатных плат с использ…
  • От:EdgeAligned

Сборка РЭУ

    Последнее сообщение

—>

Пайка и монтаж

вопросы сборки ПП, готовых изделий, а также устранения производственных дефектов

  • />Понедельник в 09:53
  • Тема:Подскажите, подходящий флюс.
  • От:Vasily_
  • />Понедельник в 09:53
  • Тема:Подскажите, подходящий флюс.
  • От:Vasily_

—>

Корпуса

обсуждаем какие есть копруса, где делать и прочее

  • />19 августа
  • Тема:Разница между TSSOP-8 и SOIC-8
  • От:EdgeAligned
  • />19 августа
  • Тема:Разница между TSSOP-8 и SOIC-8
  • От:EdgeAligned

—>

Вопросы надежности и испытаний

расчеты, методики, подбор компонентов

  • />Четверг в 17:03
  • Тема:Мягкий демфер, кто что посоветует?
  • От:alexPec
  • />Четверг в 17:03
  • Тема:Мягкий демфер, кто что посоветует?
  • От:alexPec

Аналоговая и цифровая техника, прикладная электроника

    Последнее сообщение

—>

Вопросы аналоговой техники

разработка аналоговых схем, моделирование схем в SPICE, расчёты и анализ, выбор элементной базы

Модераторы раздела Alexandr rloc ViKo Tanya Егоров

  • />44 минуты назад
  • Тема:Малый токи (порядка E-9) в Multisim 14.3
  • От:uzzzer
  • />44 минуты назад
  • Тема:Малый токи (порядка E-9) в Multisim 14.3
  • От:uzzzer

—>

Цифровые схемы, высокоскоростные ЦС

High Speed Digital Design

Модераторы раздела rloc

  • />1 сентября
  • Тема:Помощь программировании ключа Dalas DS1977#F5
  • От:Сергей Борщ
  • />1 сентября
  • Тема:Помощь программировании ключа Dalas DS1977#F5
  • От:Сергей Борщ

—>

RF & Microwave Design

wireless технологии и не только

Модераторы раздела rloc />l1l1l1 />

  • />18 часов назад
  • Тема:Купить фазовращатели
  • От:RAD1ST
  • />18 часов назад
  • Тема:Купить фазовращатели
  • От:RAD1ST

—>

Метрология, датчики, измерительная техника

Все что связано с измерениями: измерительные приборы (осциллографы, анализаторы спектра и пр.), датчики, обработка результатов измерений, калибровка, технологии измерений и др.

Модераторы раздела rloc ViKo Tanya

  • />Среда в 05:51
  • Тема:bme280
  • От:ShAlex
  • />Среда в 05:51
  • Тема:bme280
  • От:ShAlex

—>

АВТО электроника

особенности электроники любых транспортных средств: автомашин и мотоциклов, поездов, судов и самолетов, космических кораблей и летающих тарелок.

Модераторы раздела rloc />Vasily_ />

  • />2 июля
  • Тема:Провод для автомобильного компрессора
  • От:byRAM
  • />2 июля
  • Тема:Провод для автомобильного компрессора
  • От:byRAM

—>

Умный дом

Модераторы раздела rloc

  • />7 часов назад
  • Тема:Видеонаблюдение
  • От:magvrn
  • />7 часов назад
  • Тема:Видеонаблюдение
  • От:magvrn

—>

3D печать

3D принтеры, наборы, аксессуары, ПО

Модераторы раздела rloc

  • />5 июля
  • Тема:Демонстрация работы моего 3D-принтера
  • От:vov4ick
  • />5 июля
  • Тема:Демонстрация работы моего 3D-принтера
  • От:vov4ick

—>

Робототехника

Модели, классификация, решения, научные исследования, варианты применения

Модераторы раздела rloc

  • />28 июня
  • Тема:Минималистичный Форт компьютер на TTL логике (ди…
  • От:KPG
  • />28 июня
  • Тема:Минималистичный Форт компьютер на TTL логике (ди…
  • От:KPG

—>

Ремонт и отладка

обсуждение вопросов ремонта и отладки различных устройств и готовых изделий

Модераторы раздела rloc />Herz />

  • />20 июля
  • Тема:Ремонт осциллограф Rigol DS1074Z
  • От:ded2016
  • />20 июля
  • Тема:Ремонт осциллограф Rigol DS1074Z
  • От:ded2016

Силовая электроника — Power Electronics

    Последнее сообщение

—>

Силовая Преобразовательная Техника

Источники питания электронной аппаратуры, импульсные и линейные регуляторы. Топологии AC-DC, DC-DC преобразователей (Forward, Flyback, Buck, Boost, Push-Pull, SEPIC, Cuk, Full-Bridge, Half-Bridge). Драйвера ключевых элементов, динамика, алгоритмы управления, защита. Синхронное выпрямление, коррекция коэффициента мощности (PFC)

Модераторы раздела Herz />Егоров />

  • />Вчера в 05:51
  • Тема:Защита выходов ULN2003
  • От:ChristinaChadzynski
  • />Вчера в 05:51
  • Тема:Защита выходов ULN2003
  • От:ChristinaChadzynski

—>

Обратная Связь, Стабилизация, Регулирование, Компенсация

Организация обратных связей в цепях регулирования, выбор топологии, обеспечение стабильности, схемотехника, расчёт

Модераторы раздела Herz />Егоров />

  • />11 июля
  • Тема:Писк трансформатора Flyback при малой нагрузке
  • От:UART
  • />11 июля
  • Тема:Писк трансформатора Flyback при малой нагрузке
  • От:UART

—>

Первичные и Вторичные Химические Источники Питания

Li-ion, Li-pol, литиевые, Ni-MH, Ni-Cd, свинцово-кислотные аккумуляторы. Солевые, щелочные (алкалиновые), литиевые первичные элементы. Применение, зарядные устройства, методы и алгоритмы заряда, условия эксплуатации. Системы бесперебойного и резервного питания

Модераторы раздела Herz />Егоров />

  • />Вчера в 08:21
  • Тема:13s4p лития титанат 160А спроектировать балансир
  • От:Vasily_
  • />Вчера в 08:21
  • Тема:13s4p лития титанат 160А спроектировать балансир
  • От:Vasily_

—>

Высоковольтные Устройства — High-Voltage

Высоковольтные выпрямители, умножители напряжения, делители напряжения, высоковольтная развязка, изоляция, электрическая прочность. Высоковольтная наносекундная импульсная техника

Модераторы раздела Herz

  • />2 сентября
  • Тема:Защита и регулировка входа осциллографа от высок…
  • От:Точка Опоры
  • />2 сентября
  • Тема:Защита и регулировка входа осциллографа от высок…
  • От:Точка Опоры

—>

Электрические машины, Электропривод и Управление

Электропривод постоянного тока, асинхронный электропривод, шаговый электропривод, сервопривод. Синхронные, асинхронные, вентильные электродвигатели, генераторы

Модераторы раздела Herz

  • />Четверг в 18:37
  • Тема:Ищу схемы для ЭМУ 50АЗ-СУ3 (Электромашинный усел…
  • От:HardEgor
  • />Четверг в 18:37
  • Тема:Ищу схемы для ЭМУ 50АЗ-СУ3 (Электромашинный усел…
  • От:HardEgor

—>

Индукционный Нагрев — Induction Heating

Технологии, теория и практика индукционного нагрева

Модераторы раздела Herz

  • />30 мая
  • Тема:Какое может быть количество индукторов для индук…
  • От:Лапух
  • />30 мая
  • Тема:Какое может быть количество индукторов для индук…
  • От:Лапух

—>

Системы Охлаждения, Тепловой Расчет – Cooling Systems

Охлаждение компонентов, систем, корпусов, расчёт параметров охладителей

Модераторы раздела Herz

  • />Среда в 13:32
  • Тема:Сравнение экспериментальных данных с расчетом
  • От:ChristinaChadzynski
  • />Среда в 13:32
  • Тема:Сравнение экспериментальных данных с расчетом
  • От:ChristinaChadzynski

—>

Моделирование и Анализ Силовых Устройств – Power Supply Simulation

Моделирование силовых устройств в популярных САПР, самостоятельных симуляторах и специализированных программах. Анализ устойчивости источников питания, непрерывные модели устройств, модели компонентов

Модераторы раздела Herz />Егоров />

  • />17 августа
  • Тема:Моделирование в LTSpice, достоверность результат…
  • От:byRAM
  • />17 августа
  • Тема:Моделирование в LTSpice, достоверность результат…
  • От:byRAM

—>

Компоненты Силовой Электроники — Parts for Power Supply Design

Силовые полупроводниковые приборы (MOSFET, BJT, IGBT, SCR, GTO, диоды). Силовые трансформаторы, дроссели, фильтры (проектирование, экранирование, изготовление), конденсаторы, разъемы, электромеханические изделия, датчики, микросхемы для ИП. Электротехнические и изоляционные материалы.

Модераторы раздела Herz />Егоров />

  • />7 августа
  • Тема:Помогите найти производителей унифицированных др…
  • От:LLLLLLLLLL
  • />7 августа
  • Тема:Помогите найти производителей унифицированных др…
  • От:LLLLLLLLLL

Интерфейсы

    Последнее сообщение

—>

Форумы по интерфейсам

все интерфейсы здесь

  • ISDN/G.703/E1
  • ISA/PCI/PCI-X/PCI Express
  • Wireless/Optic
  • RS232/LPT/USB/PCMCIA/FireWire
  • Fast Ethernet/Gigabit Ethernet/FibreChannel
  • Интерфейсы для "интеллектуального дома"
  • от ТТЛ до LVDS здесь
  • IDE/ATA/SATA/SAS/SCSI/CF
  • Аудио/Видео интерфейсы
  • Сотовая связь и ее приложения
  • FAQ по XPort/WiPort
  • Controller Area Network (CAN)
  • />22 часа назад
  • Тема:USB power delivery
  • От:Flood
  • />22 часа назад
  • Тема:USB power delivery
  • От:Flood

Поставщики компонентов для электроники

    Последнее сообщение

—>

Поставщики всего остального

от транзисторов до проводов

  • />1 сентября
  • Тема:Контрактная сборка плат
  • От:destroit
  • />1 сентября
  • Тема:Контрактная сборка плат
  • От:destroit

—>

Компоненты

Закачка тех. документации, обмен опытом, прочие вопросы.

  • Тех. документация
  • Микросхемы
  • Транзисторы
  • Диоды
  • Резисторы
  • Средства индикации
  • />Четверг в 08:51
  • Тема:Отечественные 0402 конденсаторы
  • От:vladec
  • />Четверг в 08:51
  • Тема:Отечественные 0402 конденсаторы
  • От:vladec

Майнеры криптовалют и их разработка, BitCoin, LightCoin, Dash, Zcash, Эфир

    Последнее сообщение

—>

Обсуждение Майнеров, их поставки и производства

наблюдается очень большой спрос на данные устройства.

  • />25 апреля
  • Тема:Ремонт Асиков
  • От:mantech
  • />25 апреля
  • Тема:Ремонт Асиков
  • От:mantech

Дополнительные разделы — Additional sections

    Последнее сообщение

—>

Встречи и поздравления

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

Модераторы раздела VAI aosp SergM vetal KRS Alexandr des00 Uladzimir Rst7 iosifk ViKo Herz l1l1l1 Tanya Сергей Борщ Omen_13 Vasily_ Егоров Walrus

  • />10 мая
  • Тема:С Днём Великой Победы!
  • От:Chenakin
  • />10 мая
  • Тема:С Днём Великой Победы!
  • От:Chenakin

—>

Ищу работу

ищу работу, выполню заказ, нужны клиенты — все это сюда

Модераторы раздела VAI aosp SergM vetal KRS Alexandr des00 Uladzimir Rst7 iosifk ViKo Herz l1l1l1 Tanya Сергей Борщ Omen_13 Vasily_ Егоров Walrus

  • />Среда в 14:05
  • Тема:Группа инженеров разработает почти любую электро…
  • От:iBredihin
  • />Среда в 14:05
  • Тема:Группа инженеров разработает почти любую электро…
  • От:iBredihin

—>

Предлагаю работу

нужен постоянный работник, разовое предложение, совместные проекты, кто возьмется за работу, нужно сделать.

Модераторы раздела VAI aosp SergM vetal KRS Alexandr des00 Uladzimir Rst7 iosifk ViKo Herz l1l1l1 Tanya Сергей Борщ Omen_13 Vasily_ Егоров Walrus

  • />Вчера в 08:30
  • Тема:Проект на контроллере WCH (Jiangsu Qin Heng)
  • От:x893
  • />Вчера в 08:30
  • Тема:Проект на контроллере WCH (Jiangsu Qin Heng)
  • От:x893

—>

Куплю

микросхему; устройство; то, что предложишь ты 🙂

Модераторы раздела VAI aosp SergM vetal KRS Alexandr des00 Uladzimir Rst7 iosifk ViKo Herz l1l1l1 Tanya Сергей Борщ Omen_13 Vasily_ Егоров Walrus

  • />47 минут назад
  • Тема:Пробка для бака с водой Xiaomi Dreame F9
  • От:Vasily_
  • />47 минут назад
  • Тема:Пробка для бака с водой Xiaomi Dreame F9
  • От:Vasily_

—>

Продам

есть что продать за деньги, пиво, даром ?
Реклама товаров и сайтов также здесь.

Модераторы раздела VAI aosp SergM vetal KRS Alexandr des00 Uladzimir Rst7 iosifk ViKo Herz l1l1l1 Tanya Сергей Борщ Omen_13 Vasily_ Егоров Walrus

  • />Четверг в 14:10
  • Тема:Продам ПЛИСины
  • От:Dmitriy_T
  • />Четверг в 14:10
  • Тема:Продам ПЛИСины
  • От:Dmitriy_T

—>

Объявления пользователей

Тренинги, семинары, анонсы и прочие события

Модераторы раздела VAI aosp SergM vetal KRS Alexandr des00 Uladzimir Rst7 iosifk ViKo Herz l1l1l1 Tanya Сергей Борщ Omen_13 Vasily_ Егоров КОМПЭЛ Walrus

  • />Вчера в 08:45
  • Тема:Знаете ли вы основную конструкцию одноосного пов…
  • От:Ericco Inertial
  • />Вчера в 08:45
  • Тема:Знаете ли вы основную конструкцию одноосного пов…
  • От:Ericco Inertial

—>

Общение заказчиков и потребителей электронных разработок

Обсуждение проектов, исполнителей и конкурсов

Модераторы раздела VAI aosp SergM vetal KRS Alexandr des00 Uladzimir Rst7 haker_fox iosifk ViKo Herz l1l1l1 Tanya Сергей Борщ Omen_13 Vasily_ Егоров Walrus

  • />1 сентября
  • Тема:Вопрос про возможность изготовления подложки с м…
  • От:SNGNL
  • />1 сентября
  • Тема:Вопрос про возможность изготовления подложки с м…
  • От:SNGNL

Прошивка PIC микроконтроллеров с «нуля».

Итак, пришло время изучать микроконтроллеры, а потом и их программировать, а так же хотелось собирать устройства на них, схем которых сейчас в интернете ну просто море. Ну нашли схему, купили контроллер, скачали прошивку….а прошивать то чем. И тут перед радиолюбителем, начинающим осваивать микроконтроллеры, встает вопрос – выбор программатора! Хотелось бы найти оптимальный вариант, по показателю универсальность — простота схемы — надёжность. «Фирменные» программаторы и их аналоги были сразу исключены в связи с довольно сложной схемой, включающей в себя те же микроконтроллеры, которые необходимо программировать. То есть получается «замкнутый круг»: что бы изготовить программатор, необходим программатор. Вот и начались поиски и эксперименты! В начале выбор пал на PIC JDM. Работает данный программатор от com порта и питается от туда же. Был опробован данный вариант, уверенно запрограммировал 4 из 10 контроллеров, при питании отдельном ситуация улучшилась, но не на много, на некоторых компьютерах он вообще отказался что либо делать да и защиты от «дурака» в нем не предусмотрено. Далее был изучен программатор Pony-Prog. В принципе, почти тоже самое что и JDM.Программатор «Pony-prog», представляет очень простую схему, с питанием от ком-порта компьютера, в связи с чем, на форумах, в Интернете, очень часто появляются вопросы по сбоям при программировании того, или иного микроконтроллера. В результате, выбор был остановлен на модели «Extra-PIC». Посмотрел схему – очень просто, грамотно! На входе стоит MAX 232 преобразующая сигналы последовательного порта RS-232 в сигналы, пригодные для использования в цифровых схемах с уровнями ТТЛ или КМОП, не перегружает по току COM-порт компьютера, так как использует стандарт эксплуатации RS232, не представляет опасности для COM-порта.Вот первый плюс!
Работоспособен с любыми COM-портами, как стандартными (±12v; ±10v) так и с нестандартными COM-портами некоторых моделей современных ноутбуков, имеющих пониженные напряжения сигнальных линий, вплоть до ±5v – еще плюс! Поддерживается распространёнными программами IC-PROG, PonyProg, WinPic 800 (WinPic800) и другими – третий плюс!
И питается это все от своего собственного источника питания!
Было решено – надо собирать! Так в журнале Радио 2007 №8 был найден доработанный вариант этого программатора. Он позволял программировать микроконтроллеры в двух режимах.
Известны два способа перевода микроконтроллеров PICmicro в режим программирования:
1.При включённом напряжении питания Vcc поднять напряжение Vpp (на выводе -MCLR) от нуля до 12В
2.При выключенном напряжении Vcc поднять напряжение Vpp от нуля до 12В, затем включить напряжение Vcc
Первый режим — в основном для приборов ранних разработок, он накладывает ограничения на конфигурацию вывода -MCLR, который в этом случае может служить только входом сигнала начальной установки, а во многих микроконтроллерах предусмотрена возможность превратить этот вывод в обычную линию одного из портов. Это еще один плюс данного программатора. Схема его приведена ниже:

Крупнее
Все было собрано на макетке и опробовано. Все прекрасно и устойчиво работает, глюков замечено небыло!
Была отрисована печатка для этого программатора.
depositfiles.com/files/mk49uejin
все было собрано в открытый корпус, фото которого ниже.


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

Итак, программатор собран, кабель тоже, наступил черед проверки всего этого хозяйства на предмет работоспособности, поиск глюков и ошибок.
Сперва наперво устанавливаем программу IC-prog, которую можно скачать на сайте разработчика www.ic-prog.com, Распакуйте программу в отдельный каталог. В образовавшемся каталое должны находиться три файла:
icprog.exe — файл оболочки программатора.
icprog.sys — драйвер, необходимый для работы под Windows NT, 2000, XP. Этот файл всегда должен находиться в каталоге программы.
icprog.chm — файл помощи (Help file).
Установили, теперь надо бы ее настроить.
Для этого:
1.(Только для Windows XP): Правой кнопкой щёлкните на файле icprog.exe. «Свойства» >> вкладка «Совместимость» >> Установите «галочку» на «Запустить программу в режиме совместимости с:» >>выберите «Windows 2000».
2.Запустите файл icprog.exe. Выберите «Settings» >> «Options» >> вкладку «Language» >> установите язык «Russian» и нажмите «Ok».
Согласитесь с утверждением «You need to restart IC-Prog now» (нажмите «Ok»). Оболочка программатора перезапустится.
Настройки» >> «Программатор

1.Проверьте установки, выберите используемый вами COM-порт, нажмите „Ok“.
2.Далее, „Настройки“ >> „Опции“ >> выберите вкладку „Общие“ >> установите „галочку“ на пункте „Вкл. NT/2000/XP драйвер“ >> Нажмите „Ok“ >> если драйвер до этого не был устновлен на вашей системе, в появившемся окне „Confirm“ нажмите „Ok“. Драйвер установится, и оболочка программатора перезапустится.
Примечание:
Для очень „быстрых“ компьютеров возможно потребуется увеличить параметр „Задержка Ввода/Вывода“. Увеличение этого параметра увеличивает надёжность программирования, однако, увеличивается и время, затрачиваемое на программирование микросхемы.
3.»Настройки» >> «Опции» >> выберите вкладку «I2C» >> установите «галочки» на пунктах: «Включить MCLR как VCC» и «Включить запись блоками». Нажмите «Ok».
4.«Настройки» >> «Опции» >> выберите вкладку «Программирование» >> снимите «галочку» с пункта: «Проверка после программирования» и установите «галочку» на пункте «Проверка при программировании». Нажмите «Ok».
Вот и настроили!
Теперь бы нам протестировать программатор в месте с IC-prog. И тут все просто:
Далее, в программе IC-PROG, в меню, запустите: Настройки >> Тест Программатора

Перед выполнением каждого пункта методики тестирвания, не забывайте устанавливать все «поля» в исходное положение (все «галочки» сняты), как показано на рисунке выше.
1.Установите «галочку» в поле «Вкл. Выход Данных», при этом, в поле «Вход Данных» должна появляться «галочка», а на контакте (DATA) разъёма X2, должен установиться уровень лог. «1» (не менее +3,0 вольт). Теперь, замкните между собой контакт (DATA) и контакт (GND) разъёма X2, при этом, отметка в поле «Вход Данных» должна пропадать, пока контакты замкнуты.
2.При установке «галочки» в поле «Вкл. Тактирования», на контакте (CLOCK) разъёма X2, должен устанавливаться уровень лог. «1». (не менее +3,0 вольт).
3.При установке «галочки» в поле «Вкл. Сброс (MCLR)», на контакте (VPP) разъёма X3, должен устанавливаться уровень +13,0… +14,0 вольт, и светиться светодиод D4 (обычно красного цвета).Если переключатель режимов поставить в положение 1 то будет светится светодиод HL3
Если при тестировании, какой-либо сигнал не проходит, следует тщательно проверить весь путь прохождения этого сигнала, включая кабель соединения с COM-портом компьютера.
Тестирование канала данных программатора EXTRAPIC:
1. 13 вывод микросхемы DA1: напряжение от -5 до -12 вольт. При установке «галочки»: от +5 до +12 вольт.
2. 12 вывод микросхемы Da1: напряжение +5 вольт. При установке «галочки»: 0 вольт.
3. 6 вывод микросхемы DD1: напряжение 0 вольт. При установке «галочки»: +5 вольт.
3. 1 и 2 вывод микросхемы DD1: напряжение 0 вольт. При установке «галочки»: +5 вольт.
4. 3 вывод микросхемы DD1: напряжение +5 вольт. При установке «галочки»: 0 вольт.
5. 14 вывод микросхемы DA1: напряжение от -5 до -12 вольт. При установке «галочки»: от +5 до +12 вольт.
Если все тестирование прошло успешно, то программатор готов к эксплуатации.
Для подключения микроконтроллера к программатору можно использовать подходящие панельки или же сделать адаптер на основе ZIF панельки (с нулевым усилием прижатия), например как здесь radiokot.ru/circuit/digital/pcmod/18/.
Теперь несколько слов про ICSP — Внутрисхемное программирование
PIC-контроллеров.
При использовании ICSP на плате устройства следует предусмотреть возможность подключения программатора. При программировании с использованием ICSP к программатору должны быть подключены 5 сигнальных линий:
1. GND (VSS) — общий провод.
2. VDD (VCC) — плюс напряжение питания
3. MCLR’ (VPP)- вход сброса микроконтроллера / вход напряжения программирования
4. RB7 (DATA) — двунаправленная шина данных в режиме программирования
5. RB6 (CLOCK) Вход синхронизации в режиме программирования
Остальные выводы микроконтроллера не используются в режиме внутрисхемного программирования.
Вариант подключения ICSP к микроконтроллеру PIC16F84 в корпусе DIP18:

1.Линия MCLR’ развязывается от схемы устройства перемычкой J2, которая в режиме внутрисхемного программирования (ICSP) размыкается, передавая вывод MCLR в монопольное управление программатору.
2.Линия VDD в режиме программирования ICSP отключается от схемы устройства перемычкой J1. Это необходимо для исключения потребления тока от линии VDD схемой устройства.
3.Линия RB7 (двунаправленная шина данных в режиме программирования) изолируется по току от схемы устройства резистором R1 номиналом не менее 1 кОм. В связи с этим максимальный втекающий/стекающий ток, обеспечиваемый этой линией будет ограничен резистором R1. При необходимости обеспечить максимальный ток, резистор R1 необходимо заменить (как в случае c VDD) перемычкой.
4.Линия RB6 (Вход синхронизации PIC в режиме программирования) так же как и RB7 изолируется по току от схемы устройства резистором R2, номиналом не менее 1 кОм. В связи с этим максимальный втекающий/стекающий ток, обеспечиваемый этой линией будет ограничен резистором R2. При необходимости обеспечить максимальный ток, резистор R2 необходимо заменить (как в случае с VDD) перемычкой.
Расположение выводов ICSP у PIC-контроллеров:

Эта схема только для справки, выводы программирования лучше уточнить из даташита на микроконтроллер.
Теперь рассмотрим прошивку микроконтроллера в программе IC-prog. Будем рассматривать на примере конструкции вот от сюда rgb73.mylivepage.ru/wiki/1952/579
Вот схема устройства

вот прошивка
Прошиваем контроллер PIC12F629. Данный микроконтроллер для своей работы использует константу osccal — представляет собой 16-ти ричное значение калибровки внутреннего генератора МК, с помощью которого МК отчитывает время при выполнении своих программ, которая записана в последней ячейке данных пика. Подключаем данный микроконтроллер к программатору.
Ниже на сриншоте красными цифрами показана последовательность действий в программе IC-prog.

1. Выбрать тип микроконтроллера
2. Нажать кнопку «Читать микросхему»
В окне «Программный код» в самой последней ячейке будет наша константа для данного контроллера. Для каждого контроллера константа своя!Не сотрите ее, запишите на бумажку и наклейте ее на микросхему!
Идем далее

3. Нажимаем кнопку «Открыть файл. », выбираем нашу прошивку. В окне программного кода появится код прошивки.
4. Спускаемся к концу кода, на последней ячейке жмем правой клавишей мыши и выбираем в меню «править область», в поле «Шестнадцатеричные» вводим значение константы, которую записали, нажимаем «ОК».
5. Нажимаем «программировать микросхему».
Пойдет процесс программирования, если все прошло успешно, то программа выведет соответствующее уведомление.
Вытаскиваем микросхему из программатора и вставляем в собранный макет. Включаем питание. Нажимаем кнопку пуск.Ура работает! Вот видео работы мигалки
video.mail.ru/mail/vanek_rabota/_myvideo/1.html
С этим разобрались. А вот что делать если у нас есть файл исходного кода на ассемблере asm, а нам нужен файл прошивки hex? Тут необходим компилятор. и он есть — это Mplab, в этой программе можно как писать прошивки так и компилировать. Вот окно компилятора

Устанавливаем Mplab
Находим в установленной Mplab программу MPASMWIN.exe, обычно находится в папке — Microchip — MPASM Suite — MPASMWIN.exe
Запускаем ее. В окне (4) Browse находим наш исходник (1) .asm, в окне (5) Processor выбираем наш микроконтроллер, нажимаем Assemble и в той же папке где вы указали исходник появится ваша прошивка .HEX Вот и все готово!
Надеюсь эта статья поможет начинающим в освоении PIC контроллеров! Удачи!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *