← Начало
От концепция до прототип — самостоятелна продуктова разработка
Цялостна разработка на електронни устройства: схема, разположение на платка, фърмуер, FPGA дизайн, симулация и верификация.
Embedded устройствата рядко възникват от една дисциплина. Нова идея изисква схема, схемата изисква разположение на платка, разположението изисква фърмуер или FPGA дизайн, и всичко това в края изисква верификация и документация. Разделянето на това сътрудничество между няколко доставчика означава купуване на интерфейси — а интерфейсите са най-честият източник на грешки.
Самостоятелната цялостна разработка означава: един контакт, end-to-end отговорност, кохерентно състояние на документацията.
Как протича типичен цялостен проект
Макар всеки проект да е различен, протичането следва разпознаваем модел:
- Разбиране на задачата. Встъпителният разговор изяснява какво трябва да прави устройството, какви гранични условия се прилагат и какви интерфейси съществуват към съществуващи системи.
- Концепция и спецификация. От задачата се очертава техническа концепция: коя платформа подхожда, какви шини, каква софтуерна архитектура. Резултатът е спецификационен документ.
- Проектиране на схема. Изготвяне на схемата с избраните компоненти, оразмеряване на критичните компоненти, симулация в решаващи точки.
- Разположение на платка. Многослоен PCB дизайн с оглед на високоскоростните сигнали, EMC, отвеждане на топлина и възможност за производство.
- Фърмуер или FPGA дизайн. Имплементация на управляващата или обработваща сигнали логика на C/C++ за микроконтролери, на VHDL/SystemVerilog за FPGA.
- Верификация и тест. Симулация на схеми в критични точки, testbench-ове за FPGA дизайни, хардуерни тестове на прототип.
- Доставка и документация. Пълен изходен код, схема, данни за разположението, спецификация на материалите, документация на подхода и проектните решения.
При нужда поемам и координацията със серийния производител, който доставя желаното качество — както при проекта 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 отдел — и където произтичащият обем на работата и отговорността могат икономически да лежат на един човек.
Форми на сътрудничество
Цялостните проекти по правило се изпълняват като договор с фиксирана цена и твърдо обещание за доставка. Подробности на страницата Поръчка.