Свежие публикации

Здесь собраны все публикуемые пикабушниками посты без отбора. Самые интересные попадут в Горячее.

15 Февраля 2022

Почувствуй себя изгоем. Или не болей

Почувствуй себя изгоем. Или не болей ОРВИ, Работа, Удаленная работа
Почувствуй себя изгоем. Или не болей ОРВИ, Работа, Удаленная работа
Показать полностью 2

Действительно по объявлению

Взято от сюда https://vk.cc/cb6IVp

Коты это жидкость

Источник https://t.me/mkoska/42

Отладочная плата для PIC18 своими руками

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

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


Итак, всем кто остался в статье:

Для указанных целей потребуется реализовать несколько основных моментов:


1. Распайку микроконтроллера на плате;

1.а. Прошить программу bootloader'a, при помощи программатора;

2. Собрать модуль USB-UART для связи с ПК;

2.а. Установить драйвер на ПК;

2.б. Установить ПО на ПК для связи с микроконтроллером;

3. Написать целевую программу и записать ее в контроллер;


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

Отладочная плата для PIC18 своими руками Микроконтроллеры, Отладочная плата, Своими руками, Длиннопост

Отладочную плату я выполнил с маской используя метод фоторезиста, хотя это не является обязательным. Принципиальная схема включения контроллера примитивна и должна соответствовать схеме включения по дататшиту. В моем случае, используется контроллер PIC18F46K22, так как он имеет два порта UART, что добавляет универсальности схеме.

Отладочная плата для PIC18 своими руками Микроконтроллеры, Отладочная плата, Своими руками, Длиннопост
Отладочная плата для PIC18 своими руками Микроконтроллеры, Отладочная плата, Своими руками, Длиннопост

Впаиваем контроллер, кварцевый резонатор можно и не впаивать, если предполагается использовать только интегрированный. Также, желателен резистор 10К подвесить к MCLR и организовать подключение ICSP-разъема следующим образом:

Отладочная плата для PIC18 своими руками Микроконтроллеры, Отладочная плата, Своими руками, Длиннопост

Организованная группа пинов ICSP разъема позволит использовать программатор подобным образом, чтобы не использовать провода при прошивке контроллера.

Отладочная плата для PIC18 своими руками Микроконтроллеры, Отладочная плата, Своими руками, Длиннопост

П. 1.а.  Прошивка контроллера программой bootloader , которую можно написать самому при желании, но в данном случае я использовал Исходники AN1310  из комплекта выпущенного Microchip - Serial Bootloader AN1310. (можно скачать в интернете),

Однако, этот метод организации Bootloader для PIC18 настолько дремуч, что я даже не смог найти ссылок на официальном сайте Microchip , так как давно уже не используется и не поддерживается. Но для целей электива по теме отладочных плат - сойдет.

Итак, Вы нашли и скачали исходники Bootloader AN1310 (и сам дистрибутив Serial Bootloader), для работы с ними потребуется MPLAB IDE v8.92.


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

- выбрать требуемый UART порт, так как PIC18F46K22 имеет два USART модуля, а программа Bootloader'а по умолчанию использует первый.

Требуется открыть код файла bootconfig.inc, идущего в комплекте AN1310 и этом в файле можно выбрать один из двух режимов работы Bootloader'а:

#define UARTNUM 1 , где 1 или 2 будет равняться UART1 или UART2

Отладочная плата для PIC18 своими руками Микроконтроллеры, Отладочная плата, Своими руками, Длиннопост

- выбрать участок занятой Flash-памяти, в моем примере весь Bootloader размещается в начале файла, Это позволяет более рационально и экономно распределить ресурсы Flash-памяти между микроконтроллером и Bootloader'ом. Во-вторых, весь код, который необходим для работы Bootloader'а можно аппаратно защитить от записи, ничто не cможет его повредить. Чтобы задействовать REMAPPED Bootloader, необходимо в bootconfig.inc указать

#define BOOTLOADER_ADDRESS 0. (такая строка там есть, возможно ее достаточно раскомментировать)

- биты конфигурации. Обязательное внимание уделяем битам, таким как:

FOSC - ставим в зависимости от того, какой осцилятор используется внешний/внутрений; 

PLLCFG - ускоритель частоты х 4 - не включаем.

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

WDTEN - ватч.дог, выключаем.

PBADEN - особенность для PIC18F46K22, переводит порты PORTB 5..0 в аналог или цифровой выход

MCLRE - активируем внешний сброс (MCLR Pin Enable bit (MCLR pin enabled, RE3 input pin disabled))

(Читаем даташит!)


Теперь всё готово, прошиваем контроллер используя программатор.



п.2 Собрать переходник USB-UART (или использовать промышленного производства)

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

Отладочная плата для PIC18 своими руками Микроконтроллеры, Отладочная плата, Своими руками, Длиннопост
Отладочная плата для PIC18 своими руками Микроконтроллеры, Отладочная плата, Своими руками, Длиннопост
Отладочная плата для PIC18 своими руками Микроконтроллеры, Отладочная плата, Своими руками, Длиннопост

п. 2.а. Установить драйвер на ПК Главной сложностью, с которой можно здесь столкнуться - драйвер. В целом все просто, микросхема FT232 поддерживается компанией FTDI и поставляет драйвер, только он установится как USB устройство, однако, наш Serial Bootloader работает только с COM.

Поэтому, в драйвере INF потребуется поменять PID , добавив его в раздел

[FtdiHw]

%VID_0403&PID_6001.DeviceDesc%=FtdiPort.NT,FTDIBUS\COMPORT&VID_0403&PID_6001

и

[FtdiHw.NTamd64]

%VID_0403&PID_6001.DeviceDesc%=FtdiPort.NTamd64,FTDIBUS\COMPORT&VID_0403&PID_6001


После его установки, драйвер относится к разделу COM портов.

Отладочная плата для PIC18 своими руками Микроконтроллеры, Отладочная плата, Своими руками, Длиннопост
Отладочная плата для PIC18 своими руками Микроконтроллеры, Отладочная плата, Своими руками, Длиннопост

п. 2.б. Установить ПО на ПК для связи с микроконтроллером

Берем ПО из архива с  Microchip Serial Bootloader AN1310 , в состав которого, входит ПО AN1310 v1.05r.


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

Отладочная плата для PIC18 своими руками Микроконтроллеры, Отладочная плата, Своими руками, Длиннопост

Подключаем переходник UART-USB, к соответствующему порту контроллера и нажимаем кнопку Break/Reset.

Отладочная плата для PIC18 своими руками Микроконтроллеры, Отладочная плата, Своими руками, Длиннопост

Важно!

Тем самым, на выходах RX/TX формируется логические нули, что для прошивки bootloader является триггером определяющим, какую часть кода исполнять, т.е. запуска прошивки пользователя, либо прошивки bootloader.

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


- Если пользовательское ПО еще на записано в контроллер, то запустится программа bootloader в любом случае.

- Если  на RX/TX сформированы логические нули (нажат Break/Reset) и контроллер перезапущен, то запустится программа bootloader.

- В других случаях, при перезагрузке контроллера, будет запущено пользовательское ПО (если оно есть).


Итак, Break/Reset нажат и контроллер перезагружен!, нажимаем, Bootloader mode. И если видите следующую картину, то bootloader запустился и с ним можно работать.

Отладочная плата для PIC18 своими руками Микроконтроллеры, Отладочная плата, Своими руками, Длиннопост

Например, прочитав можно изучить состав данных в CONFIG, EEPROM и пр.

Отладочная плата для PIC18 своими руками Микроконтроллеры, Отладочная плата, Своими руками, Длиннопост

п.3. Написать целевую программу и записать ее в контроллер;

Наиважнейшим этапом написания программы под bootloader является - offset (или смещение). В пункте п.1.а. указывалось, что программа bootloader'a размещается в самом начале и защищена от записи, следовательно, для целей смещения кода (внутри hex файла) пользовательской программы, обязательно используется linker. Для pic18 и компилятора XC8 это сделать достаточно просто (для PIC24 всё мягко говоря сложнее в разы):

Отладочная плата для PIC18 своими руками Микроконтроллеры, Отладочная плата, Своими руками, Длиннопост
Отладочная плата для PIC18 своими руками Микроконтроллеры, Отладочная плата, Своими руками, Длиннопост

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


Для большего понимания зачем это нужно, вот скрин из даташита к AN1310:

Отладочная плата для PIC18 своими руками Микроконтроллеры, Отладочная плата, Своими руками, Длиннопост

По факту завершения написания программы, компилируете и возвращаетесь в Serial Bootloader AN1310., затем:


Reset\Break + MCLR

Отладочная плата для PIC18 своими руками Микроконтроллеры, Отладочная плата, Своими руками, Длиннопост

Запускаем Bootloader, убеждаемся, что он запущен

Отладочная плата для PIC18 своими руками Микроконтроллеры, Отладочная плата, Своими руками, Длиннопост

Открываем скомпилированный код HEX и нажимаем Write Device

Отладочная плата для PIC18 своими руками Микроконтроллеры, Отладочная плата, Своими руками, Длиннопост

По завершение загрузки, нажимаем  Run

Отладочная плата для PIC18 своими руками Микроконтроллеры, Отладочная плата, Своими руками, Длиннопост

Контроллер сразу начнет выполнение пользовательского кода.

Вот как так это всё и работает. Зато это гораздо интереснее этой вашей арудины.



В следующий раз расскажу про Bootloader PIC24 и самописное ПО для ПК.

Отладочная плата для PIC18 своими руками Микроконтроллеры, Отладочная плата, Своими руками, Длиннопост
Отладочная плата для PIC18 своими руками Микроконтроллеры, Отладочная плата, Своими руками, Длиннопост

Ссылки на предыдущие части:

Тест LCD 16bit , ОЗУ, SDCARD на PIC24

Bluetooth термометр  или вариации на тему

Радиоприемник на базе цифрового радиочипа и контроллера PIC

Многофункциональное устройство своими руками, часть 2

Многофункциональное устройство своими руками

Часы пикабушника

Показать полностью 24

От чистого листа

Метелит ночь, густа, пуста...
Ору от чистого листа,
как вестовой, кто неспроста
вещает непрестанно.
Но если в уши всем кричать
сломав безмолвия печать -
не превозмочь ни чудь, ни чадь,
ни странностей Тристана.

Пусть всех странней ты здесь один,
пусть тишиной непобедим -
безумной музы господин
и сам себе предтеча,
влекут пути нале-напра
к котам и крышам до утра
меж зодиаков дальних стран,
где каждый атом вечен...

А коли вечен, не пеняй -
гони февраль и в хвост, и в май.
Сколь душ о зиму ни ломай -
весна не за горами.
Сойдут тоска и холода,
и всем настанет навсегда
любви далёкая звезда
что греет и не ранит...

Пока же ветра круговерть
снежинок взводы шлёт на смерть,
и снеговик, прямой как жердь,
палит морозом с тыла -
не упусти свою звезду
на перепутьях вольных дум,
пусть ты рождён не в том году,
и пламя слов остыло.

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


2012

Показать полностью

«Снежная Луна» (Snow Moon) 16 февраля 2022 года: где и как можно наблюдать

«Снежная Луна» (Snow Moon) 16 февраля 2022 года: где и как можно наблюдать Луна, Полнолуние, Земля, Астрономия, Солнечная система, Космос, Наука, Видео, Длиннопост

Сегодня мы Вас познакомим с очередным полнолунием в 2022 году, на этот раз – с февральским, которое сейчас официально называют Снежной полной Луной (по-английски – Snow Moon).


По данным НАСА, в феврале 2022 года Луна станет полной 16 числа в 4 часа и 57 минут по Гринвичу, что соответствует 7 часам и 57 минутам по времени московскому, поэтому для жителей европейской части России полнолуние переносится на следующий вечер. Хотя все окрестные для указанной даты вечера способны подарить любителям астрономической эстетики ошеломляющее зрелище в виде крупной луны на нашем небосводе, которая окрасится в слегка белый цвет и будет почти что целиком отвечать своему официальному названию.


Название Snow Moon, то есть Снежная Луна сейчас является официальным названием февральского полнолуния в Европе и Северной Америке, что и неудивительно, поскольку в этих частях света февраль всегда был наиболее морозным и снежным месяцем.


В средневековой Европе это полнолуние называлось еще и Голодным, у кельтов – Мрачным, а друидов – Последним, возможно, потому, что это последнее полнолуние в период зимы.  


Коренные народы Северной Америки имели на февральское полнолуние свои взгляды. Так, например, племена оджибве называли его Медвежьей Луной, кри – Великой Луной, тлинкаты (тлинкиты), населявшие Аляску, — Луной черного медведя, а хайда – Гусиной Луной.


В Южном полушарии, где февраль приходится на конец лета, это полнолуние было Хлебным, Дождливым, Ягодным и Урожайным. В свою очередь маори на Новой Зеландии называли февральское полнолуние Путу-те-ранги, что переводится как «Сейчас собран урожай».


В Китае в традиционном лунном календаре февральская полная луна называется первым месяцем Чжэнъюэ, и именно в этот день празднуется традиционный китайский Лунный Новый год. В 2022 году ночь полнолуния в Пекине выпадает на 17 февраля, то есть через два дня после Фестиваля фонарей, который знаменует собой кульминацию традиционных празднований китайского Нового года.  


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

Источник: Интересные новости

Показать полностью 1

Корпорация Intel объявила о покупке израильской компании Tower Semiconductor за $5,4 млрд

Американская корпорация Intel подтвердила, что покупает израильского производителя чипов Tower Semiconductor. Названа сумма сделки: $5,4 млрд.

Intel заплатит $53 за акцию Tower Semiconductor – это на 60% выше стоимости бумаг израильской компании на закрытие рынка 14 февраля ($33,13). Сделка будет полностью оплачена денежными средствами и положительно скажется на скорректированной прибыли в ближайшее время, говорится в пресс-релизе корпорации Intel.


Ранее американское финансовое издание Wall Street Journal писало, что корпорация Intel близка к покупке базирующегося в Мигдаль а-Эмеке производителя чипов Tower Semiconductor исходя из стоимости в 6 миллиардов долларов. Издание Bloomberg называло сумму в 5 миллиардов долларов.


На фоне этих публикаций акции израильской компании на Нью-Йоркской фондовой бирже подорожали на 50% и ее стоимость оценивается рынком в 3,8 миллиарда долларов.


Штат Tower составляет 6 тысяч человек. Для Intel это вторая по стоимости покупка в Израиле после Mobileye, купленной за 15 миллиардов долларов. Habana Labs обошлась Intel в 2 миллиарда долларов.


Tower Semiconductor, акции которой торгуются на бирже Nasdaq, производит полупроводниковые компоненты и интегральные микросхемы, использующиеся в автомобилях, потребительских устройствах, медицинском и промышленном оборудовании. Компания имеет производственные предприятия в Израиле и Японии, а также штатах Калифорния и Техас.


https://www.newsru.co.il/finance/15feb2022/intel_ts_110.html

Показать полностью

В Питере шаверма и мосты, в Казани эчпочмаки и казан. А что в других городах?

Мы постарались сделать каждый город, с которого начинается еженедельный заед в нашей новой игре, по-настоящему уникальным. Оценить можно на странице совместной игры Torero и Пикабу.

Реклама АО «Кордиант», ИНН 7601001509

Петля от мебельной стенки, чем заменить?

Пришла в негодность петля от мебельной стенки (открывается сверху вниз), чем заменить не знаю, пойдет ли обычная мебельная петля для шкафов, если да то какая?

Петля от мебельной стенки, чем заменить? Мебель, Своими руками, Рукожоп
Мои подписки
Подписывайтесь на интересные вам теги, сообщества, авторов — и читайте свои любимые темы в этой ленте.
Чтобы добавить подписку, нужно авторизоваться.

Отличная работа, все прочитано! Выберите