Последние комментарии
- 09.03.2023 10:51
-
25.01.2023 16:05
Спасибо. Хорошая статья. Хотелось бы увидеть как ...
-
21.01.2023 22:58
Доброго дня! Як можна замовити? І чи є схема або ...
-
05.05.2022 19:14
Спасибо автору, понял почему блинк не работал
-
21.04.2022 13:18
В моём случае он используется совместно с AGP ...
Самое читаемое
- Многофункциональный программатор на CH341A
- Переходник USB to TTL (RS232) YP-01 на чипе PL2303HX
- Знакомство с Arduino Pro mini на примере китайского аналога
- Подключаем мощную нагрузку к Arduino, через реле модуль
- Твердотельное реле из симистора для коммутации мощной нагрузки через Ардуино
- Знакомство с Arduino Micro (ATmega32U4) на примере китайского аналога Pro Micro
- Знакомство с Arduino Nano на примере китайского аналога
- Знакомство с Arduino UNO на примере китайского аналога
- Обход блокировки Одноклассников, Вконтакте, Яндекс и Маил.ру с помощью OpenVPN
- Управляем Arduino через Bluetooth HC-06, с компьютера или смартфона
N76E003 - обзор и программирование 8-битного микроконтроллера от Nuvoton
N76E003 - это 8-битный микроконтроллер от тайваньской компании Nuvoton, основанный на популярной архитектуре 8051. Этот МК часто сравнивают с STM8S003 от STMicroelectronics, но так ли это на самом деле? На фоне подорожания чипов в 2021 году, отладочные платы на данном микроконтроллере, остаются в низком ценовом сегменте, и поэтому самое время купить и попробовать что-то запрограммировать. Рассмотрим, как скомпилировать прошивку и загрузить её без использования дорогих программаторов.
Сходство и отличие N76E003 и STM8S003
Несмотря на внешнее сходство с STM8S003, процессорное ядро N76E003 построено на архитектуре 8051. Ядро же STM8S003 - это собственная разработка ST, основанная на Гарвардской архитектуре.
Расположение выводов N76E003, в корпусе TSSOP20, совпадают с выводами STM8S003, что даёт возможность заменить чип, не меняя топологии печатной платы. В связи с подорожанием чипов STM, китайские производители так и поступают, устанавливая чип от Nuvoton в свои устройства. Несмотря на это, в плане дополнительных аппаратных средств, между микроконтроллерами всё же имеются отличия.
В таблице можно увидеть эти отличия и за одно, ознакомится со спецификацией чипов.
Варианты отладочных плат на N76E003
Отладочная плата от Nuvoton - NT-N76E003
Nuvoton выпустил свою отладочную плату, вместе с программатором, под названием NT-N76E003. Цена этого комплекта не радует, поэтому для разработки собственных проектов, можно купить один из вариантов, которыми завален Aliexpress. Основное их отличие, это наличие microUSB или miniUSB разъёма, а так же разводка платы, от которой может отличаться расположение выводов.
MCU_E003 - один из вариантов отладочной платы на N76E003. Особенность платы - наличие microUSB разъёма. Размер 39 х 28 мм.
USB разъём нужен только для питания платы, поэтому можно взять плату у которой нет этого разъёма. Для такой платы нужно подавать напряжение 3.3 В, линейный стабилизатор отсутствует. Размер платы 43 х 30 мм.
Зато с обратной стороны присутствуют контакты, для припаивания приёмо-передатчика на LT8920.
Я выбрал плату от LC Tehnology, с разъёмом miniUSB, всё-таки он надёжнее припаян и не отвалится, как это можно наблюдать с microUSB. Ещё на моей плате имеется разъём для внешнего кварца. Размер платы 44 х 30 мм.
Shenzhen Airsay Technology Co., Ltd.(LC Technology) - высокотехнологичная компания, специализирующаяся на разработке однокристальных встраиваемых систем и прикладного программного обеспечения.
1. Два боковых 10-контактных разъёма, с шагом 2,54 мм, выводят контакты GPIO и шину питания.
Через контакты «3V3» и «5V» можно подавать соответствующее напряжение для питания.
2. Как уже было сказано ранее, miniUSB разъём нужен лишь для удобного питания платы от компьютера, блока питания или повербанка.
3. Напряжение 5 В поступает через линейный стабилизатор 1117, который понижает его до необходимого значения 3,3 В.
4. Напротив USB-порта расположены контакты для программирования микроконтроллера.
5. Светодиод D1 сигнализирует наличие питания.
6. Светодиод D2, через перемычку, подключен к контакту P12. На других платах этот светодиод может быть подключен к другому контакту.
7. Разъём для внешнего кварцевого резонатора. Может пригодиться для дальнейших разработок, где требуется внешний кварц. На других версия отладочных плат, этого разъёма может не быть, как и на оригинальной плате от Nuvoton, поскольку внутренний высокочастотный генератор достаточно точен и подойдёт в большинстве случаев.
8. Кнопка «Reset».
Расположение интерфейсов на N76E003
Принципиальная схема отладочной платы на N76E003 от LC Tehnology.
Программирование N76E003
Микроконтроллер поддерживает три метода программирования:
IAP (In-Application Programming) - программирования через программное обеспечение, без использования каких-либо инструментов.
ISP (In-System Programming) – внутрисистемное программирование. Для реализации этого метода, в микроконтроллер должен предварительно быть загружен специальный загрузчик. Затем прошивать можно при помощи USB-UART переходника. Для этого на плате имеются контакты: GND, TXD, RXD.
ICP (In-Circuit Programming) - внутрисхемное программирование. Производится с помощью программатора Nu-Link, который подключается к компьютеру по USB, а к микроконтроллеру по SWD-интерфейсу. Для этого на плате имеются контакты: 3V3, DAT, CLK, RST, GND.
Оригинальный программатор «Mu-Link-Me» стоит дорого и обычно продаётся вместе с оригинальной отладочной платой «NT-N76E003».
Китайский программатор на Aliexpress стоит в пределах $17. На мой взгляд, и это дорого, когда хочется запрограммировать китайскую плату за $2.
Автор программы «NeoProgrammer», под ником TTAV134, добавил в свою программу возможность, прошивать микроконтроллер N76E003 по интерфейсу ICP, с помощью дешёвого программатора на CH341А.
Это довольно популярный программатор, который может прошивать большое количество разнообразных микросхем. Если у вас до сих пор нет его в своём хозяйстве, на Aliexspress его цена до $5 и это намного дешевле, чем даже не оригинальный Nu-Link. Более подробно про программатор в моём обзоре.
Что бы в N76E003 загрузить программу, её код нужно предварительно скомпилировать в среде разработки. Несмотря на то, что Nuvoton является гигантом в производстве некоторых чипов, в отличии от STMicroelectronics или Microchip, он не предоставляет собственный бесплатный компилятор C. Придётся воспользоваться платными продуктами сторонних разработчиков. Прошивку для N76E003 можно собирать в Keil Micro Vision или IAR Embedded Workbench. С первым продуктом я уже знаком, когда компилировал прошивку для микроконтроллеров STCmicro, так что на нём и остановлюсь.
В конечном результате, у нас окажется программа в виде hex-файла, который загрузим в микроконтроллер, с помощью программы «NeoProgrammer» и программатора на CH341А.
Схема подключения отладочной платы к CH341А.
Программатор подключается через SPI интерфейс: MISO, SCK, RST, 3V3, MOSI, GMD.
Предварительно на компьютере должен быть установлен драйвер для CH341А. На плате программатора должна быть установлена перемычка P/S.
У данной версии программатора имеется ошибка. Контакт RST подключен не правильно и ничего не имеет общего с контактом CS в SPI-интерфейсе. Этот контакт должен быть подключен к 15-й ножке чипа CH341A, но он почему-то подключен к 16-й. Поэтому этот контакт не будет работать в SPI, легче взять правильный, с соответствующего контакта ZIF панели.
После того, как отладочная плата и программатор соединены, подключаем программатор к компьютеру. С завода в плату уже был загружен код Blink, поэтому светодиод сразу начнёт мигать.
Запускаем NeoProgrammer и в пункте меню "Микросхемы" выбираем чип N76E003.
В пункте "Программатор" я выбрал "CH341 Зелёный".
Затем переподключаем программатор с компьютером и в программе видим зелёное сообщение "N76E003 Подключено". На сообщение стереть чип, я нажал "Да". После этой команды память микроконтроллера очистилась и светодиод больше не мигал.
Если нажать на иконке "Читать чип", прочитается содержимое памяти микроконтроллера. Видим, что пусто.
Для записи программы в N76E003, нажимаем на иконке "Открыть файл" и выбираем заранее скомпилированный hex-файл. В моём случае, я загружал программу Blink.
Нажимаем на иконку "Записать". На сообщение "Начать запись?", нажимаем "Yes". Программа записалась, о чём сигнализирует сообщение "Успех". Светодиод на плате начнём мигать.
Скачать NeoProgrammer 2.2.0.10
Как настроить среду разработки и скомпилировать код для N76E003
Подробнее...