Перейти к содержанию

Открытые данные атласа микроконтроллеров

Страницы атласа микроконтроллеров построены на открытых данных производителей. Те же записи, по которым собраны таблицы выводов на сайте, здесь можно скачать целиком: для своих скриптов, генераторов кода, библиотек компонентов САПР и сравнения микроконтроллеров. Файлы пересобираются при каждом обновлении сайта и всегда совпадают с тем, что показывают страницы.

Как устроены файлы

Все файлы — CSV по RFC 4180: поля разделены запятыми, строки — переводом строки CRLF, поле с запятой или кавычкой заключено в двойные кавычки. Кодировка UTF-8, первая строка — названия столбцов. Номера выводов — строки: у корпусов BGA это обозначения шариков вроде A1.

Сигналы вывода записаны в одном поле через пробел:

  • USART1_TX:AF7 — сигнал и номер альтернативной функции у STM32 с мультиплексором AF;
  • TIM2_CH1[TIM2_PARTIAL_1] — у STM32F1: ремап AFIO, который выводит сигнал на этот вывод; сигнал без скобок стоит здесь по умолчанию;
  • OC2B* — у AVR: альтернативное расположение сигнала, которое выбирается регистром;
  • ADC6{ATmega88,ATmega168} — у AVR: функция есть не у всех микроконтроллеров страницы, а только у перечисленных.

Прочитать таблицу выводов в Python и найти, на каких выводах STM32F103 в корпусе LQFP48 выходит USART1:

import csv

with open("stm32-pins.csv", newline="", encoding="utf-8") as f:
    for row in csv.DictReader(f):
        if row["ref"] == "STM32F103C(8-B)Tx" and "USART1_" in row["signals"]:
            print(row["position"], row["name"], row["signals"])

Микроконтроллеры STM32: каталог

Одна строка — одна группа микроконтроллеров с общей распиновкой в одном корпусе, как их группирует база ST: семейство, линейка, ядро, частота, память, число линий ввода-вывода и периферия.

stm32-devices.csv — CSV, 218 КБ, 787 строк. Лицензия исходных данных — BSD 3-Clause, текст и происхождение — в файле license-stm32.txt.

СтолбецЧто в нём
refназвание группы в базе ST, например STM32F103C(8-B)Tx
urlстраница группы на gaw.ru
namesмикроконтроллеры группы через пробел
familyсемейство: STM32F1, STM32G0…
lineлинейка: STM32F103, STM32G0x1…
packageкорпус по обозначению ST: LQFP48, UFQFPN32…
versionверсия разводки GP или N, если их две
coreядро
frequency_mhzнаибольшая частота, МГц
ioчисло линий ввода-вывода
pinsчисло позиций корпуса
variantsисполнения через пробел в виде имя:флеш:ОЗУ, память в КБ, x — цифра температуры
peripheralsблоки периферии через пробел в виде вид:количество

Микроконтроллеры STM32: выводы и альтернативные функции

Одна строка — одна позиция корпуса: номер вывода или шарика, имя, тип и сигналы с номерами альтернативных функций (AF) или ремапами STM32F1.

stm32-pins.csv — CSV, 5,4 МБ, 55 462 строк. Лицензия исходных данных — BSD 3-Clause, текст и происхождение — в файле license-stm32.txt.

СтолбецЧто в нём
refназвание группы в базе ST
packageкорпус
positionномер вывода (17) или шарика (A1)
nameимя вывода по базе ST: PA0-WKUP, VDD…
typeio, power, reset, boot, nc или mono (только одна функция)
signalsсигналы через пробел: USART1_TX:AF7 — с номером альтернативной функции, TIM2_CH1[TIM2_PARTIAL_1] — с ремапом AFIO STM32F1

Микроконтроллеры AVR: каталог

Одна строка — один микроконтроллер ATmega или ATtiny из опубликованных страниц: память, частота, напряжение питания, сигнатура, интерфейсы программирования, корпуса.

avr-devices.csv — CSV, 13 КБ, 103 строк. Лицензия исходных данных — Apache 2.0, текст и происхождение — в файле license-avr.txt.

СтолбецЧто в нём
nameмикроконтроллер: ATmega328P
urlстраница на gaw.ru
familyсемейство по паку Microchip: megaAVR, tinyAVR
flash_bytesфлеш-память программ, байт
ram_bytesОЗУ, байт
eeprom_bytesEEPROM, байт
frequency_mhzнаибольшая частота среди заказных номеров, МГц
voltage_minнаименьшее напряжение питания, В
voltage_maxнаибольшее напряжение питания, В
signatureсигнатура, три байта в HEX: 1E950F
interfacesинтерфейсы программирования через пробел
avrdudeобозначение для avrdude -p
packagesкорпуса через пробел

Микроконтроллеры AVR: выводы и функции

Одна строка — одна позиция корпуса, расположение которой сверено с даташитом: номер, имя, тип и функции вывода с поправками по даташитам, которые названы на страницах устройств.

avr-pins.csv — CSV, 250 КБ, 2 660 строк. Лицензия исходных данных — Apache 2.0, текст и происхождение — в файле license-avr.txt.

СтолбецЧто в нём
pageстраница на gaw.ru, где описаны эти микроконтроллеры
devicesмикроконтроллеры с этой распиновкой через пробел
packagesкорпуса с этой распиновкой через пробел
positionномер вывода
nameимя вывода: PB5, VCC, GND…
typeio, power, reset или nc
signalsфункции через пробел: OC1A; со звёздочкой — альтернативное расположение; {ATmega88,ATmega168} — функция есть не у всех микроконтроллеров страницы

Лицензии и как ссылаться

Данные STM32 получены из набора STM32_open_pin_data компании STMicroelectronics и распространяются по лицензии BSD 3-Clause, данные AVR — из паков описаний устройств Microchip по лицензии Apache 2.0. При распространении файлов или их производных сохраните текст лицензии из файлов license-stm32.txt и license-avr.txt: в них же указано, из какой версии исходных данных собраны таблицы и что в них изменено. Подробнее об источниках — на странице «Лицензии и источники данных».

Если таблицы пригодились в проекте или статье, будем рады ссылке на эту страницу. Выводы AVR сверены с даташитами Microchip, а поправки к пакам названы на страницах устройств — эти поправки в файлах уже учтены. Корпуса AVR, расположение выводов которых не удалось сверить, в таблицу выводов не включены.

Заказные номера STM32 с сайта st.com, тексты, схемы и калькуляторы сайта в открытые данные не входят.

Ошибки и пожелания

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