Начало

От концепция до прототип — самостоятелна продуктова разработка

Цялостна разработка на електронни устройства: схема, разположение на платка, фърмуер, FPGA дизайн, симулация и верификация.

Embedded устройствата рядко възникват от една дисциплина. Нова идея изисква схема, схемата изисква разположение на платка, разположението изисква фърмуер или FPGA дизайн, и всичко това в края изисква верификация и документация. Разделянето на това сътрудничество между няколко доставчика означава купуване на интерфейси — а интерфейсите са най-честият източник на грешки.

Самостоятелната цялостна разработка означава: един контакт, end-to-end отговорност, кохерентно състояние на документацията.

Как протича типичен цялостен проект

Макар всеки проект да е различен, протичането следва разпознаваем модел:

  1. Разбиране на задачата. Встъпителният разговор изяснява какво трябва да прави устройството, какви гранични условия се прилагат и какви интерфейси съществуват към съществуващи системи.
  2. Концепция и спецификация. От задачата се очертава техническа концепция: коя платформа подхожда, какви шини, каква софтуерна архитектура. Резултатът е спецификационен документ.
  3. Проектиране на схема. Изготвяне на схемата с избраните компоненти, оразмеряване на критичните компоненти, симулация в решаващи точки.
  4. Разположение на платка. Многослоен PCB дизайн с оглед на високоскоростните сигнали, EMC, отвеждане на топлина и възможност за производство.
  5. Фърмуер или FPGA дизайн. Имплементация на управляващата или обработваща сигнали логика на C/C++ за микроконтролери, на VHDL/SystemVerilog за FPGA.
  6. Верификация и тест. Симулация на схеми в критични точки, testbench-ове за FPGA дизайни, хардуерни тестове на прототип.
  7. Доставка и документация. Пълен изходен код, схема, данни за разположението, спецификация на материалите, документация на подхода и проектните решения.

При нужда поемам и координацията със серийния производител, който доставя желаното качество — както при проекта Audi (виж референции).

Три дисциплини — от една ръка

Следните три дисциплини се срещат в цялостен проект:

Хардуер

Хардуерна разработка

Проектиране и реализация на електронен хардуер — от схема през разположение на платка до координация на серийното производство.

  • Микроконтролерни системи (ARM Cortex-M, ESP32, Atmel/Microchip)
  • FPGA дизайн и интеграция (Xilinx Artix-7, Zynq)
  • Аналогови и цифрови схеми
  • PCB дизайн (Pulsonix, многослоен, високоскоростен, EMC)
  • Оразмеряване на схеми и избор на компоненти
  • Съпровождане на PCB производство и координация с индустриални партньори
  • Пускане в експлоатация и hardware bring-up
Софтуер

Софтуерна разработка

Имплементация на embedded софтуер на разработения хардуер — от bare-metal програмиране близко до хардуера до многоядрени операционни системи в реално време.

  • Embedded софтуер (C, C++, асемблер)
  • FPGA програмиране (VHDL, Verilog, SystemVerilog)
  • Системи в реално време (FreeRTOS, bare-metal, многоядрени)
  • Комуникационни протоколи (CAN, CAN FD, Ethernet, EtherCAT, I²C, SPI, MOST)
  • Разработка на драйвери за интерфейси близки до хардуера
  • Bootloader, watchdog, механизми за актуализация на фърмуер
  • Алгоритми за обработка на сигнали и регулиране
Верификация

Симулация и верификация

Систематична валидация на разработеното решение — на ниво схема, FPGA, система.

  • Симулация на схеми в час и честотен диапазон
  • Монте Карло анализ и проучвания на най-лошия случай
  • FPGA верификация с testbench-ове на SystemVerilog
  • HDL симулация (Vivado, Icarus Verilog, Verilator)
  • Боде диаграма, Найкуист анализ, проучвания на стабилност
  • Hardware-in-the-loop тестове за интегрирани системи

Какво отличава цялостната разработка от «чистото кодиране»

Когато един клиент днес търси «embedded разработчик», той най-често има предвид някой, който ще изпълни частична задача: C модул, FPGA компонент, драйвер. За това има много доставчици.

Цялостната разработка е нещо друго. Изисква някой, който може да решава — за архитектура, избор на компоненти, интерфейси, компромиси между разходи и функционалност.

Поемам цялостна разработка там, където клиентът не иска да поддържа собствен embedded отдел — и където произтичащият обем на работата и отговорността могат икономически да лежат на един човек.

Форми на сътрудничество

Цялостните проекти по правило се изпълняват като договор с фиксирана цена и твърдо обещание за доставка. Подробности на страницата Поръчка.

Цветова схема

Език