Микроконтроллеры семейства F2MC-16LX/FR представляют собой удачную и полноценную замену широко распространенным чипам ATmega128, ADuC812, PIC16C923 (924). Соответственно микроконтроллеры Fujitsu следует рассматривать устройствами, которые реально применять в широком диапазоне электронных разработок. Цена Flash микроконтроллеров F2MC-16LX/FR относительно невысока (250 – 1200 руб.) и напрямую связана с конкретной серией микроконтроллера. Впрочем, дело вовсе не в цене чипов, когда решается вопрос их применения. Более весомый аргумент – возможности пользовательского программирования. Исходя из этого, рассмотрим тему – как программировать микроконтроллер F2MC производства фирмы Fujitsu.
Содержимое публикации
Программирование микроконтроллеров Fujitsu
Используя стандартный интерфейс RS-232C и кабель, изготовленный под этот тип коммуникации с персональным компьютером, осуществляется процесс программирования микроконтроллеров F2MC-16LX/FR семейства.
Так данные флэш-памяти микроконтроллера, установленного в пользовательской системе, достаточно просто перепрограммировать в случае необходимости. Пользовательская разработка должна иметь драйвер RS-232C для связи с микроконтроллером по каналу UART.
Выводы микроконтроллера, обозначенные как MD2, MD1, MD0 и Pxx не поддерживают управление системой ПК. Поэтому их конфигурация выполняется на стороне пользовательской конструкции.
Перед запуском последовательного программирования, следует устанавливать для вывода HSTX значение «высокого потенциала» (актуально только для микроконтроллеров с выводом HSTX).
Если контакт RSTX перевести от «низкого потенциала» на «высокий потенциал» после установки всех уровней для выводов MD2, MD1, MD0, а также Px0, Px1, микроконтроллер F2MC переходит в режим последовательного перепрограммирования. Останется только запустить программное обеспечение на ПК.
Стандартная программа последовательного программирования от Fujitsu поддерживает асинхронный метод программирования микроконтроллера.
Для подключения чипа к утилитарному программному обеспечению необходимы две линии последовательного интерфейса: SOT (Transmit) и SIN (Receive). На стороне ПК для установления соединения с микроконтроллером линии RTS и CTS соединяются вместе.
Контакт DTR необходимо подключать к линии DSR, чтобы предотвратить ошибки связи. Линия RD подключается к SOT, а линия TD, соответственно подводится к SIN. Драйвер RS232 собирается на основе MAX232 — преобразователя уровней напряжений порта RS-232.
Номера портов и настройка Pxx-контактов, а также контактов SIN и SOT зависят от конкретной модели микроконтроллера.
Настройка аппаратного и программного обеспечения
- Загрузить утилиту программирования Flash памяти.
- Подключить через кабель адаптер и целевую плату пользователя (На плате пользователя желательно внедрить 10-контактный разъем).
- Подключить 9-контактный последовательный кабель одной стороной к переходному кабелю (J2), другой стороной к интерфейсу ПК.
- Установить все DIP-переключатели SW1 (MD0, MD2, Pxx и Pyy) в положение «включено». Контакты Pxx и Pyy должны соответствовать для установленных каждому конкретному микропроцессору. Информация на этот счёт есть в спецификации чипов.
- Подключить источник питания к целевой плате (питание на плату адаптера подаётся от целевой платы пользователя через 10-контактный разъём).
- Запустить на ПК утилиту программирования Flash.
- Выбрать чип из списка и установить COM-порт (номер последовательного порта).
- Включить блок питания. Выполнить команду «Загрузки» (Download) внутри интерфейса Flash-утилиты.
- Если загрузка прошла без ошибок, выбрать файл прошивки формата «.hex» и выполнить команду на последовательное программирование
- После успешного выполнения прошивки установить все DIP-переключатели в положение «отключено» или отсоединить кабель программирования.
Утилиты прошивки Flash микроконтроллеров F2MC
Специалистами Fujitsu разработаны несколько версий программного обеспечения, пригодного для прошивки Flash микроконтроллеров семейства F2MC-16LX (список файлов для загрузки ниже). Благодаря созданным утилитам, достаточно просто осуществляется процесс записи и считывания информации.
Требования, предъявляемые к ПК пользователей, готовых программировать Flash память утилитами Fujitsu:
- частота процессора (x86) ПК не менее 800 МГц;
- Windows XP Professional (SP3), Vista (32 бит), Windows7 (32 бит);
- оперативная память от 512 МБ.
Установка утилит на персональный компьютер выполняется стандартными действиями.
- Приобретённый zip-пакет распаковать в любую папку.
- Среди распакованных файлов запустить «setup.exe».
- Следовать указаниям процесса установки.
Функциональность установленного программатора
Рассмотрим функциональность утилиты программирования от компании Fujitsu под названием «Fujitsu Flash MCU Programmer».
Утилитой обеспечиваются несколько программных функций:
- очистка,
- проверка бланка,
- программирование,
- проверка записи,
- чтение и сравнение,
- копирование.
Операции по загрузке данных
В первую очередь выполняется полная настройка пользовательской системы (платы микроконтроллера), где предполагается программировать чип.
При новом запуске или изменениях в настройках необходимо выполнить загрузку. После нормального завершения загрузки выполняются процедуры «Очистки» (Erase) и «Программирование» (Program).
Процедура загрузки и достижения рабочего состояния программы предполагает следующее:
А: Указать тип микроконтроллера, используемого в схеме пользовательской системы, выбрав чип в строке «Target Microcontroller» основного диалогового окна.
Чтобы выбрать тип микроконтроллера, используется клавиша «Tab». Чтобы перейти к целевому микроконтроллеру, используются клавиши курсора «↑» и «↓» с последующей активацией «Enter».
Б: Указать частоту кварцевого генератора на микроконтроллер через опцию «Crystal Frequency» основного диалогового окна.
Частота кварцевого генератора, которая может быть указана для каждого из существующих микроконтроллеров, должна соответствовать частотам, которые поддерживает конкретный чип.
В: Выбрать COM-порт ПК, подключенный к пользовательской разработке.
Г: Активировать кнопку «Установить окружение» (Set Environment) главного окна диалога, открыв этим действием окно настройки. Далее активировать опцию «COM PORT» в окне настройки и указать нужный номер COM-порта.
Д: Выполнить операцию загрузки, используя опцию «Загрузить» (Download). На следующем диалоговом окне, сначала подать сигнал сброса на микроконтроллер и затем включить режим прошивки кнопкой «OK».
После этой операции диалоговое окно закрывается, становятся активными кнопки «Стереть» (Erase), «Проверка бланка» (Blank Check), «Программирование и проверка» (Program & Verify), «Чтение и сравнение» (Read & Compare), «Копировать» (Copy).
Функции полного режима программирования
Каждая указанная выше операция также может быть выполнена активацией клавиши, соответствующей подчеркнутому символу в названии операции, с одновременным нажатием клавиши ALT.
Таким же способом открывается hex-файл, подходящий для прошивки контроллера. Выполнение операции открытия файлов «.hex» активируется клавишей «O» (Open) в комбинации с ALT.
Как правило, используются файлы формата «Motorola-S» или «Intel-HEX» для программирования флэш-памяти микроконтроллера. Утилитой поддерживается функция прямого перетаскивания файла из «Проводника».
Однако рекомендуется стандартный вариант с предоставлением точного пути размещения назначенного файла и подтверждением выбора кнопкой «Открыть» (Open).
Указывать файл с расширением «.hex» требуется для выполнения всех операций списка:
- Program & Verify,
- Read & Compare
- Full Operation (D + E + B + P)
Так рабочий файл каждый раз декодируется на любом из процессов. Поэтому даже если указанный формат «Motorola S» изменится на «Intel-HEX» или другой, утилита предложит пересмотреть операцию.
Полная очистка бланка и программирование
Полное стирание области флэш-памяти обеспечивает команда «Очистка» (Erase) переводом ячеек в состояние (0xff) при каждом новом программировании.
Проверку полной очистки области флэш-памяти запускает кнопка «Проверка бланка» (Blank Check), которая подтверждает, что флэш-память находится в состоянии (0xff).
Опция «Программирование и проверка» (Program & Verify) запускает функцию прошивки файлом формата «Motorola-S» или «Intel-HEX» флэш-памяти микроконтроллера и одновременно производит проверку. Запись выполняется по 512 байт в каждый блок и проверяется контрольная сумма.
«Чтение и сравнение» (Read & Compare) – функция чтения и сравнения данных в файле формата «Motorola-S» или «Intel-HEX», указанном как hex-файл с данными флэш-памяти микроконтроллера.
Как и обработка «Программирование и проверка», данные Flash передаются по 512 байт каждого блока, выполняется проверка ошибок CRC операцией сравнения.
Кнопкой «Copy» активизируется функция считывания данных из флэш-памяти, встроенной в микроконтроллер. Эти данные сохраняются как файл формата «Motorola-S» или «Intel-HEX».
Подобно обработке «Чтения и сравнения», копирование Flash-памяти выполняется по 512 байт каждого блока с проверкой контрольной суммы.
Наконец, полный процесс (D + E + B + P) позволяет выполнять автоматическое программирование. В случае чистого бланка памяти операция выполняется в порядке «Загрузка» (Download) и «Программирование с проверкой» (Program & Verify). Если чип не чистый, обработка выполняется по пакету:
- «Загрузка» (Download),
- «Проверка бланка» (Blankcheck),
- «Очистка» (Erase),
- «Проверка бланка» (Blankcheck),
- «Программирование и проверка» (Program & Verify).
Справочные таблицы и файлы для загрузки
Список утилит Fujitsu для прошивки Flash
| Наименование утилиты | Версия | Ссылка на загрузку |
| Программатор FM0/3/4 | 01L23 | PCWFM3 |
| Программатор F2MC-16LX | 01L27 | PCW16LX |
| Программатор FR | 01L33 | PCWFR |
| Программатор F2MC-16FX | 01L18 | PCW16FX |
| Программатор Traveo | 01l03 | PCWT |
| Программатор FR(SS) | 02L07 | FRSS |
| Программатор F2MC-8L | 01L08A | PCW8 |
| Программатор F2MC-8LP | 01L08 | PCW8P |
| Программатор F2MC-8LF | 00L02 | PCW8F |
| Программатор F2MC-8FX | 01L09 | PCW8X |
Таблица чипов, поддерживающих программирование
| MB90F428GA/GC | MB90F584C/CA | MB90F335 |
| MB90F438L/LS | MB90F591A/G | MB90F962 |
| MB90F439/S | MB90F594A/G | MB90F912 |
| MB90F443G | MB90F598/G | MB90F997 |
| MB90F455/S | MB90F654A | MB90F952 |
| MB90F456/S | MB90F804 | MB90F828B |
| MB90F457/S | MB90F822 | MB90F423GA/GC |
| MB90F462 | MB90F823 | MB90MF408 |
| MB90F474H/L | MB90F867A/AS | MB90F395H |
| MB90F476/A | MB90F867E/ES | MB90F372 |
| MB90F481 | MB90F897/S | MB90F367E/ES/TE/TES |
| MB90F482 | MB90F983 | MB90F362E/ES/TE/TES |
| MB90F488 | MB90F352/S | MB90F352A/TAS/TA/AS |
| MB90F489 | MB90F883 | MB90F351E/ES/TE/TES |
| MB90F497/G | MB90F884 | MB90F351A/AS/TA/TAS |
| MB90F498G | MB90F351/S | MB90F349E/CE/ES/CES |
| MB90F523B | MB90F351B/BS | MB90F349 A/CA/AS/CAS |
| MB90F543/G/GS | B90F352B/BS | MB90F347E/CE/ES/CES |
| MB90F546G/GS | MB90F922 | MB90F347A/CA/AS/CAS |
| MB90F548G/GS | MB90F946A | MB90F346E/CE/ES/CES |
| MB90F549/G/GS | MB90F947A | MB90F346A/CA/AS/CAS |
| MB90F553A | MB90F949A | MB90F345E/CE/ES/CES |
| MB90F562/B | MB90F822 | MB90F345 A/CA/AS/CAS |
| MB90F568 | MB90F803 | MB90F342E/CE/ES/CES |
| MB90F574/A | MB90F923 | MB90F342A/CA/AS/CAS |
| MB90F583B/C/CA | MB90F924 | MB90F334/337 |