Корпорация Microchip, которая и выпускает микроконтроллеры PIC, создала все условия для комфорта пользователей. Но мы к этому моменту ещё вернёмся…
Что такое микроконтроллер
Микроконтроллер — это программируемая микросхема. Своего рода — это эволюция ПЛА (программируемые логические матрицы), которые были очень популярны в 80-е и 90-е годы. В то время основной инструмент для построения схем был набор жёсткой логики: это был целый набор микросхем разной степени интеграции с различными функциями. На данный момент микросхемы жёсткой логики полностью устарели, но выпускаются до сих пор в качестве вспомогательных элементов.
Первые ПЛМ имели кучу минусов, это были некие координатные поля с плавкими перемычками, в процессе «программирования» эти перемычки разрушались и по итогу в зависимости от потенциалов на входах получалась некая логика работы. Инженеры вырисовывали эти ПЛМ на миллиметровках и вычисляли, какие перемычки надо удалить. Это была очень сложная и ответственная работа, но в результате полученное подобие одной «запрограммированной» микросхемы экономила десятки микросхем жёсткой логики, в масштабах предприятий это была явная выгода. К тому же логику работы программируемых логических матриц воспроизвести было достаточно сложно, что являлось собой большим плюсом для компаний, желающих защитить свои авторские права на конечный продукт и защитить его от массового копирования.
Микроконтроллеры расширили возможности ПЛМ: количество пассивных элементов сокращалось в разы, и даже если в теории работу ПЛМ можно было воспроизвести, то первые микроконтроллеры имели одноразовую программируемую память с набором логики, воспроизвести работу которого было практически невозможно.
Однако в начале появления таких сложных устройств, технологии были несовершенные: зачастую микроконтроллеры оснащались одноразовой УФ-стираемой памятью, а весь корпус заливался в непрозрачный компаунд, что накладывало свои ограничения, не многим расширяя возможности ПЛМ. многие энтузиасты научились технологии разрушения непрозрачного компаунда «одноразового» микроконтроллера с последующей заливкой конструкции в УФ-прозрачный корпус с возможностью разблокировки и последующего чтения изначальной прошивки, даже путём разрушения битов конфигурации под воздействием УФ-излучения на определённую часть кристалла (стирание бита конфигурации и защиты), кроме этого превращая «одноразовый» микроконтроллер с многоразовое устройство.
Но технологии не стояли на месте, стали появляться микроконтроллеры с FLASH-памятью и EPROM-областью, добавлялись различные модули-драйверы, по итогу одна маленькая микросхема превратилась в подобие компьютера с периферией, давая всё больше просторов для творчества.
PIC vs Atmel
В начале 2000-х, микроконтроллеры стали доступны и на постсоветском пространстве. На тот момент это были только Atmel, особо любознательные «голодные студенты» устраивали целые ночные рейды в целях вандализма относительно таксофонов, в которых в то время можно было добыть заветную плату с микроконтроллером и 1602 жидкокристаллическим экраном, которые на местных радиорынках можно было продать за несколько месячных стипендий. В те времена нам был доступен только Atmel, заветный микроконтроллер был просто нечто невообразимым.
Особенно Atmel стал популярен после реализации проекта «Arduino» — за смешные деньги вы получали программируемую плату, к тому же окружение Arduino уже имело достаточно понятный для человеческого понимания интерфейс программирования C, с кучей примеров и поблажек непосвящённому пользователю, к тому же все «ардуины» имели простой USB-интерфейс, через который можно было сразу же подключить плату и прошить контроллер. Дополнительно выпускалось куча «ардуино»-совместимых модулей, с примерами программного кода, что превратило проект в подобие детского конструктора. И то, что раньше казалось уделом избранных гениев-программистов, стало доступно даже простой домохозяйке, которая в перерывах между готовкой борща, заботой за детьми и избивания мужа сковородкой смогла сделать какое-то устройство, которое бы реагировало на перегар и анализировать количество промилле, а потом молвило человеческим голосом прямо на кухню, что муж вернулся сильно пьяный, рекомендую использовать сковородку номер 8.
Причём освоить подобие С-arduino мне не составило вообще никакого труда с моим опыта в php, любая задача решалась очень быстро… но…
На своей основной работе мне достался ИБП «Скат», который пал смертью храбрых по причинам, от него независящим. Заменив все неисправные элементы при включении «Скат» молчал, и там как раз таки я впервые столкнулся с PIC, в нём стоял микроконтроллер PIC16F676. Я уже был готов пожертвовать одной из Arduino NANO, чтобы воспроизвести логику работы контроллера, но тут пришла мысль, написать производителю. На моё удивление, мне прислали и схему на этот ИБП и даже прошивку к контроллеру!
Оставалось дело за малым, изучить неизвестный контроллер и его прошить и заменить… На своё удивление, даже в нашей деревне эти контроллеры были в наличии, и мало этого, они продавались по 50 рублей. На всякий случай, я купил 2 штуки… теперь оставалось только как-то его прошить и впаять обратно на плату. Если со вторым проблем у меня не было, то вот с первым… Возникли сложности…. Я понятия не имел, что это и с чем это едят. Поэтому я начал изучать PIC, и мне очень понравилось…..