Я покажу тобі світ без STM32

Компанія ЕФО перезапускає сайт myMCU.ru — портал для параметричного пошуку мікроконтролерів та супутніх рішень.

Ми уважно вивчили асортимент провідних виробників мікроконтролерів і склали єдину базу мікросхем, налагоджувальних плат і програмних засобів розробки. Сьогодні розповімо про те, як створювався сайт і які проблеми довелося вирішити, щоб об'єднати різні контролери в єдину базу для пошуку і зберегти докладні описи для кожної мікросхеми.

Стаття буде цікава в першу чергу розробників вбудованих систем — мова піде про проблеми вибору апаратних платформ, а не про ідеальних веб-інтерфейси і цьому вашому юзабіліті.





Навіщо створювався сайт

Параметричний пошук для таких складних продуктів як мікроконтролери — штука дуже корисна. Це, напевно, очевидно всім.

Кожен виробник мікроконтролерів в тому чи іншому вигляді пропонує параметричний пошук, іноді він опрацьований краще, іноді гірше. Деякі російськомовні ресурси мають систему пошуку по об'єднаним баз кристалів, але їх головною проблемою залишається погана якість самої бази контролерів. Дані з документації збираються напівавтоматично, часто містять помилки і порожні поля.

Ми ставили перед собою мету зробити не найповнішу, але саму докладну і достовірну систему для підбору мікроконтролерів.
Навіть якщо жоден користувач не визнає цей сайт корисним, наша робота проведена не даремно — ми регулярно отримуємо запити від розробників, які починаються зі слів "Мені потрібен мікроконтролер, у якого.." і тепер відповідаємо набагато швидше.

Отже, нашим завданням було:

  • Створити детальну і достовірну «таблицю», що описує всі можливі параметри кожної мікросхеми.
  • Організувати коректний пошук по максимальній кількості параметрів.
  • Для кожної мікросхеми підібрати відповідні засоби налагодження і надати користувачеві докладні описи відповідних плат, програм і т. д.
  • Зібрати в одному місці статті, відеоогляди та інші корисні матеріали, які у нас накопичилися, і формувати для кожної обраної користувачем мікросхеми список ресурсів по темі.
Результат вийшов не ідеальний, але цілком гідний. Ви можете познайомитися з ним самостійно, а я поки розповім про деякі складнощі, з якими ми зіткнулися при створенні сайту.

Про даних для пошуку та відображення
Уявіть собі, у вас є кілька десятків параметрів мікросхем і кілька сотень несхожих один на одного даташітов. Поступово заповнюючи гігантську таблицю характеристик мікросхем, ви починаєте розуміти, що існує величезна кількість почти_одинаковых периферійних блоків, які називаються по-різному.

Приклад #1



Поширений шинний інтерфейс I2C.

Деякі виробники, наприклад Atmel, називають відповідний периферійний блок контролера не I2C, а TWI. Чому? Тому що коли-то I2C був зареєстрованим товарним знаком Philips і в Atmel почали використовувати іншу назву. Складнощів з ліцензійним використанням назви I2C не існує вже понад 10 років, але назва TWI міцно закріпилося в документації на мікроконтролери Atmel і використовується до цих пір.

Є ще один схожий шинний інтерфейс — SMBus. По суті, це той же I2C, але 3.3 Ст.
Виносити TWI або SMBus як окремий параметр мікросхеми сенсу немає, тому відповідні периферійний модулі ми вважаємо ідентичними і просто підсумовуємо. Таким чином на сайті myMCU замість «Кількість інтерфейсів I2C» відображається ознака «Кількість інтерфейсів I2C / TWI / SMBus».

Але далеко не завжди подібні проблеми вирішуються простим об'єднанням схожих периферійних блоків.

Приклад #2



Банальний послідовний інтерфейс UART. Відмінно.

Спочатку згадаємо, що крім UART часто зустрічаються синхронні USART. USART може працювати як UART, але не навпаки, як їх краще представити на сайті? Поки думаємо над цим питанням, виявляється, що:

  • Деякі мікроконтролери Silicon Labs мають низькошвидкісні малопотребляющие UARTы, які називаються LEUART (Low Energy UART)
  • мікроконтролерів Atmel такі інтерфейси теж бувають і називаються PicoUART
  • Ще деякі контролери Atmel мають послідовні інтерфейси Flexcom і SERCOM. Обидва блоки можуть працювати і в режимі UART, і в режимі USART
  • Texas Instruments називає деякі послідовні інтерфейси з режимом UART загадковою абревіатурою SCI
  • Компанія Infineon випускає ARM-контролери з універсальними блоками USIC, які можуть працювати як UART, SPI, I2C, I2S або LIN
З одного боку, потрібно відобразити всі ці нюанси в описах мікросхем на сайті. З іншого боку, безглуздо створювати для параметричного пошуку окремі ознаки для кількості UART, USART, LeUART, PicoUART і так далі.

Так з'явилася ідея дублювати такі параметри для кожного мікроконтролера. В базі мікросхем одне поле служить тільки для параметричного пошуку та містить сумарна кількість інтерфейсів, а сусіднє поле — докладну інформацію про те, що насправді являють собою ці інтерфейси. Інформація з другого поля відображається в характеристиках мікроконтролера на сайті.







Для пошуку за кількістю послідовних інтерфейсів Для відображення результатів пошуку на сайті 2 1 x USART + 1 x Low Energy UART 2 1 x UART + 1 x USART 2 2 x USART (на блоках SERCOM) 2 2 x USIC (можуть працювати як UART, SPI, I2C, I2S, LIN)
Цей же принцип — поділ даних для пошуку і даних для відображення — ми використовували при описі інших блоків.
Так, SPI може бути представляти собою окремий блок SPI або QSPI, а також може бути реалізований на послідовному інтерфейсі:





Для пошуку за кількістю інтерфейсів SPI Для відображення результатів пошуку на сайті 8 3 x SPI + 5 x SPI (через USART) 1 1 x SPI (через QSPI) 3 0 x SPI + 3 x SPI (через SERCOM)
Підхід виявився корисним не тільки при описі комунікаційних інтерфейсів, але і для пристроїв вводу/виводу, інтерфейсу підключення зовнішньої пам'яті, блоку апаратного шифрування і багатьох інших параметрів мікросхем.

Під наявністю контролера РКІ може матися на увазі і інтерфейс для підключення сегментного РКІ, і TFT-контролер.
В параметричному пошуку для наявності РКІ задається тільки «так» або «ні», а в результуючій таблиці в стовпці РКІ буде вказано тип підтримуваних індикаторів, і максимальну кількість сегментів або дозвіл.

Наявність контролера сенсорних інтерфейсів може позначати взагалі що завгодно. Вибираючи «так» у пункті Контролер сенсорних інтерфейсів ви отримаєте мікроконтролери, які мають:
  1. «Прості» ємнісні канали введення,
  2. Багатофункціональні блоки сенсорного введення PTC (у МК виробництва Atmel),
  3. Блоки LEDTS, призначені не тільки для ємнісного введення, але і для управління світлодіодними матрицями (у МК виробництва Infineon),
  4. Контролери резистивних сенсорних екранів і так далі.
Думаю, принцип вже добре зрозумілий і не варто перераховувати всі параметри мікроконтролерів, описані аналогічним чином.

Приклад #3



Окремо варто згадати пошук за типом корпусу. Відомо, що одні і ті ж мікроконтролери часто виконуються в різних корпусах.

Розглянемо приклад. ATtiny24A випускається в шести корпусах:
  • PDIP-14,
  • СПК-14,
  • MLF-20 (він же QFN-20) 4 x 4 x 0.8 мм
  • VQFN-20 3 x 3 x 0.8 мм
  • UFBGA-15 3 x 3 x 0.6 мм
В характеристиках мікросхеми ATtiny24A на myMCU.ru, природно, відображається повний список корпусів, але що робити з пошуком?

Логічно, що мікросхема ATtiny24A повинна входити в результати всіх запитів, що містять хоча б один з перерахованих корпусів. Проблема в тому, що список з унікальних корпусів — це понад 200 назв. Робити гігантський список чекбоксов не входило в наші плани, тому варіанти для пошуку довелося скорочувати:

Першим ділом викинули розміри корпусу.
Далі, вольовим рішенням, прибрали кількість ніжок. Так, це деяка втрата інформативності, але інакше кількість варіантів було ніяк не скоротити до розумних розмірів.
Останнім кроком була угруповання корпусів — PDIP і CDIP об'єдналися в групу DIP; корпуси QFN, UDFN, DFN, MLF, VFQFN, LQFN, HTQFN та інші об'єдналися в QFN і так далі.

У підсумку залишилося 10 основних груп корпусів: BGA, CSP, DIP, PLCC, QFN, QFP, СПК, SOP/SSOP, SOT і безкорпусні виконання.
ATtiny24A знайдеться по запитах з галочкою на DIP, СПК, QFN або BGA.

Про спеціалізовані контролери

Крім універсальних контролерів, при виборі яких має значення деякий набір параметрів, існують спеціалізовані мікросхеми, які мають, по факту, єдиний головний ознака.
Прикладом таких мікросхем є мікросхеми Wiznet, мають апаратно реалізований стек TCP/IP, або контролери фірми FTDI, призначені для управління TFT-дисплеями.
Для того, щоб такий контролер можна було легко знайти на сайті передбачена функція пошуку за єдиним параметром — пошук за призначенням.



Ми також спробували передбачити популярні запити розробників — самий бюджетний контролер, самий малопотребляющий контролер і т. д. Для пошуку по одному з цих параметрів служить Пошук за відмітним ознакою.



Про подання мікросхем на сайті
Більшість запитів для параметричного пошуку по мікроконтроллерів — це популярні і досить прості вимоги, за якими проходить велика кількість різноманітних мікросхем. Наприклад, шукаємо мікроконтролери з ядром Cortex-M0 / M0+ в корпусі QFP і як мінімум трьома послідовними інтерфейсами.



Результат — це 95 докладно описаних мікроконтролерів від чотирьох різних виробників. Але кому захочеться вдивлятися в таку довгу таблицю результатів?
Тому ми структурували результати для кожного пошуку — спочатку завжди відображаються серії мікросхем із зазначенням їх основних характеристик.



Кожна серія розкривається у велику таблицю з докладним описом всіх мікроконтролерів, що належать серії і що підходять під запит користувача.



У такому поданні дані читаються краще, але вибрати той самий єдиний і неповторний контролер серед ста мікросхем все одно непросто параметри пошуку потрібно уточнювати.



Додаємо ще кілька умов: мінімум 30 ліній вводу/виводу, від 128 Кбайт Flash-пам'яті і хоча б один інтерфейс USB Device.



В результаті залишилося всього 14 мікроконтролерів, їх характеристики можна вивчити детальніше в випадаючих таблицях.



Про підбір матеріалів «по темі»

Вибір мікроконтролера визначається не тільки характеристиками конкретного кристала, але і доступними засобами для розробки та налагодження, навчальними матеріалами і так далі.

По кліку на будь-мікроконтролер, представлений в таблиці, можна знайти меню із засобами розробки, статтями та новинами, пов'язаними з обраним контролером.





Ця функція була реалізована з допомогою так званих міток — кожна плата, програма, статтю або новину може бути пов'язана з однією або кількома мікросхемами, серіями мікросхем або з усім асортиментом виробника. І дійсно, більшість налагоджувальних плат призначений для вивчення конкретної серії мікроконтролерів, фірмові IDE зазвичай підходять під всю продукцію виробника, а, наприклад, програматори IAR підходять для всіх ARM-контролерів незалежно від виробника кристала.

Крім як у рекомендаціях для вибраного мікроконтролера, всі матеріали доступні єдиними списками в меню Засоби розробки, Статьи і Новости.

Сподіваємося, ресурс буде корисним для розробників. Спасибі за увагу!

Передбачаючи коментарі
  • Так, на сайті ми розміщуємо тільки ту продукцію, постачання якої здійснює ЕФО. Ми не претендуємо на покриття всіх існуючих на ринку мікроконтролерних рішень, зате готові надати будь-яку технічну підтримку по тих напрямках, якими займаємося.
  • Жарт про «тутсі-точка-ру» вже багато раз жартували. Не треба ще раз, правда.
  • На сайті дійсно майже не наводяться ціни. Цілком розумію, що ціна — це теж важливий параметр при виборі мікросхеми, але myMCU — це не інтернет-магазин, тому ось так.


Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.