Открытые данные атласа микроконтроллеров
Страницы атласа микроконтроллеров построены на открытых данных производителей. Те же записи, по которым собраны таблицы выводов на сайте, здесь можно скачать целиком: для своих скриптов, генераторов кода, библиотек компонентов САПР и сравнения микроконтроллеров. Файлы пересобираются при каждом обновлении сайта и всегда совпадают с тем, что показывают страницы.
Как устроены файлы
Все файлы — 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… |
type | io, 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_bytes | EEPROM, байт |
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… |
type | io, 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, тексты, схемы и калькуляторы сайта в открытые данные не входят.
Ошибки и пожелания
Если значение в таблице расходится с даташитом или не хватает нужного столбца, напишите нам: укажите файл, строку и документ, с которым сверяли.