2. План
● Что такое Виртурилка?
● Как вообще работает разработка и
производство электроники?
● История Виртурилки и собранные грабли
● Как программировать под Виртурилку
● Что вообще из нее можно сделать
3.
4.
5. Размеры - 70 х 42 х 10 мм
Вес - 25 грамм
Процессор
Texas Instruments DaVinci DM365
SOC — TMS320DM365, 65nm
ARM9 300Mhz (ARM926EJ-S rev 5)
DSP (720p 30 fps, On-Screen Display
(OSD))
Память
DDR2 RAM 128Mb
NAND ROM 256Mb
Питание
2.8-15 Вольт. Потребляемый ток
(основная плата) — 220mA (при
напряжении >= 5В)
11. Процесс производства
электроники
Инженер-системотехник: выбор платформы
- Документация / SDK
- Development board
- Reference design + Bill of materials (BOM)
- Программные компоненты и IP
Выход: принципиальная схема
Инженер-схемотехник: разводка печатной
платы
- Особенности разводки на высоких частотах
- Много практики
Выход: файлы для производства (макеты слоев, карты
сверлений и металлизации, маски контактных площадок и т.д.)
12. Процесс производства
электроники - 2
● Производство печатной платы
Количество слоев
Плотность упаковки
● Монтаж компонентов
ручной
полуавтоматизированный
автоматизированный
● Тестирование и отбраковка
автоматизированная проверка
стенды для приемного тестирования
13. Электроника — наука о контактах
● Непропай и КЗ
● Паразитная емкость и индуктивность
● Помехи и наводки / Мало земли
● Дребезг контактов / Переходные процессы
● Неправильная коммутация / Термо эффекты
● Ошибки проектирования
● Ошибки монтажа / Брак производства / Пересортица
● Ошибки эксплуатации / Вибрация / Окисление
● MTBF / Закон больших чисел
14. Тиражи Virt2real
Три тиража:
● Т-10 (экспериментальная партия)
● T-100 (предтиражный заказ для проверки
внесенных изменений)
● Т-1000 (продаваемый тираж)
На каждом из них были свои сложности и
проблемы...
15. T-10
● WiFi на основной плате, а microSD и консоль — на
мезонине
● Родной Ethernet
● Аппаратный патч для UART
● Клеммные колодки для питания и моторов
● Нет зазора и возможна неправильная установка плат
расширения (как раз на фото)
16. T-100
Конструктивные изменения:
- Wi-Fi переместился на мезонин, а
microSD — на основную плату
- добавлен чип Ethernet для
экономии прерываний
- поменялась контактная группа
питания и мезонина
- появилась защита от
неправильного крепления плат
расширения
- microUSB на плате выполняет
роль не только питания, но и USB
OTG
18. Проблемы и их решения
●
Т-10
- на пятом слое перепутали дорожки TX/RX консоли, пришлось накладывать аппаратный патч
- выбранный чип Wi-Fi оказался с закрытыми драйверами и не поддерживающий AP
●
T-100
- перепутаны дорожки на NAND (аппаратный патч)
- вместо резисторов номиналом порядка мОм впаяли резисторы порядка МОм (ошиблись в
миллиард раз, лечится пайкой)
- перепутаны дорожки на плате сенсора (не лечили)
● Т-1000
- отбраковка 25% тиража Wi-Fi (не проверили на месте)
- SEPIC-схема греется больше заявленного (предположительно — брак компонента, не критично)
- нашли аппаратную ошибку в процессоре (программное исправление в ядре)
- процессор может быть «разогнан» (дает заметный прирост производительности)
- особенности реализации видеоподсистемы: на каждый тип устройства захвата требуется по
своему ядру
19. Особенности разработки
● Кросс-компиляция и toolchains
● Всего мало (мало памяти, мало постоянного
хранилища, мало производительности процессора)
● Приемы из HPC
● Оптимизация по размеру и скорости, в т.ч.
низкоуровневые
● Аппаратные ускорители
● Аппаратные ошибки
20. Загрузка и карта памяти
● Загрузка происходит с
- microSD
- NAND Flash
- через UART
● Основные разделы:
- загрузчик (UBL + Uboot)
- ядро (Linux kernel)
- файловая система (UBIFS, UnionFS:
cramfs+jffs2)
24. IP/PTZ/Live-камера
Питание от широкого диапазона
напряжений
Контроль разряда батареи
Малый вес и компактные
размеры
Низкое энергопотребление
Поддержка 3G и 4G модемов
Множество протоколов вещания
— RTP, RTSP, RTMP
Легкое подключение
сервоприводов