Мощный прибор
Оптические приборы не относятся к нашей специализации. Но ведь бинокли бывают и электронными, как, например, цифровые фотоаппараты или электронные микроскопы. Именно такой образец — с электронным управлением и памятью — стал одним из наших проектов.
Этот аппарат умеет показывать на экране увеличенный объект, фотографировать его, измерять расстояние до него и вести журнал событий.
Он фиксирует координаты, высоты, изображения самих наблюдаемых объектов и временные отметки сделанных измерений.
Расчет координат цели осуществляется в автоматическом режиме на основании показаний множества датчиков (GPS/ГЛОНАСС, электронный магнитный компас, электронный угломер, дальномер).
От подобных ему приборов этот бинокль отличается еще и своей безопасностью и скрытностью. Безопасность важна при проведении учений, а скрытность — одно из главных современных требований к такого рода устройствам.
Про военную приемку, температурные диапазоны, режимы вибрации и все остальное даже упоминать не стоит: все в наличии.
Задача
Изначально нас привлекли к проекту как экспертов, а не исполнителей: к моменту нашего знакомства с биноклем над его электронной начинкой вот уже два года работала другая компания.
За это время подрядчик успел подключить периферию к электронной плате, развести плату, спаять компоненты. Не смог он только заставить все это выполнять необходимые функции, т.е. работать как законченный прибор.
Нереализованных функций было много:
- прием и выдача оптического и тепловизионного видеоизображения в реальном времени
- масштабирование этих изображений в соответствии с разрешающей способностью дисплея
- работа с динамической памятью, включая буферизацию
- работа с flash-памятью
- обработка данных дальномера
Кроме того, необходимо было все это отладить и написать встроенное ПО прибора.
Все недостающие функции предыдущий подрядчик планировал реализовать с помощью ПЛИС. Ранее ПЛИС с подобным функционалом он не проектировал, однако отложил всю эту работу на последний этап. И вот, когда до завершения проекта оставались считанные месяцы, подрядчик объявил о невозможности довести его до конца.
По нашей оценке, проектирование такого, по большей части типового для серийных микроконтроллеров функционала ПЛИС — затратное по времени, дорогое по стоимости и, пожалуй, бессмысленное в данном случае занятие. Особенно с учетом требования завершить проект за короткий срок. Получив нашу экспертную оценку, заказчик согласился как можно скорее переделать всю электронику так, как мы рекомендовали, и поручил заканчивать проект нам.
Особенностями задачи были сжатые сроки и невозможность изменить ни одно из уже выбранных исполнительных устройств. За четыре месяца до завершения проекта предстояло переделывать плату.
Решение
Что мы сделали:
- подобрали отдельный процессор для обработки потоковой видеоинформации и работы с памятью, а ПЛИС оставили для более специфичных функций
- чтобы сразу начать писать встроенное ПО на выбранном процессоре, купили отладочный комплект и сделали «переходку», стыкующую его с уже готовыми узлами прибора
Непростой оказалась работа с тепловизором российского производства.
Он выдает картинку в режиме модулированного тактирования: тактирование идет не постоянно, а только при активной области видеоизображения. Цифрового выхода непосредственно с сенсора также нет. И все потому, что выполнялось первоначальное требование, чтобы тепловизор сразу выводил картинку на телевизор. Но телевизор работает и без тактирования, а вот синхронизации для цифровой обработки нет. И именно этот тепловизор решили установить в нашем цифровом устройстве. Выбор, прямо скажем, не лучший, но для опытных разработчиков ПЛИС преобразовать такой интерфейс в понятный для цифровой логики — задача решаемая.
Реализовать лазерный дальномер в данном случае было сложнее, чем может показаться. Дело в том, что это не простой, а скрытый дальномер: измерительный луч должен быть невидим для измеряемого объекта, т.е. объект не должен иметь возможность его засечь. Для этого прибор работает с малыми амплитудами излучений, не превышающими естественный фоновый шум. Полная конспирация.
При таком слабом сигнале задача поймать отраженный сигнал среди шумов становится нетривиальной. Требуется накопить и обработать большой массив информации за короткий промежуток времени. Благо на ПЛИС можно применить параллельные вычисления и быстро их обработать, не прибегая к программной обработке данных.
Stackup (послойную структуру) печатной платы пришлось делать необычной, чтобы она была прочной и выдерживала возможные перегрузки при работе.
Четыре месяца наш коллектив работал не покладая рук. Правильная изначальная оценка, что повторение типовых контроллеров в ПЛИС — неверный путь, помогла сэкономить немало времени.
Использованные технологии
Проектирование электронных схем
Методики проектирования:
- использование библиотек элементов (library based design)
- задание правил автоматического контроля соответствия параметров (electrical DRC)
Проектирование печатных плат
Методики проектирования:
- задание ограничений трассировки (constrained based routing)
- задание правил автоматического контроля соответствия параметров (DRC — design rules check)
- разработка под производство (DFMA — design for manufacturing and assembly)
- проектирование в соответствии со стандартами IPC
Интерфейсы и шины:
- VGA, Composite Video
- I2C, SPI, RS232
- SDRAM mDDR
- NOR Flash, SD Card
- GPS, GLONASS
Проектирование ПЛИС
Целевая технология:
- Xilinx Spartan-3E
Языки описания аппаратуры:
- VHDL
Методики и технологии верификации:
- задание правил соответствия (assertion-based verification)
- моделирование отдельных составных узлов (block-level simulation)
Разработка встроенного ПО
Платформы:
- ARM9
Технические характеристики разработанного продукта не разглашаются по требованию заказчика.
Этот проект показал, что небольшая сплоченная команда настоящих профессионалов способна решать технически сложные задачи в крайне сжатые сроки намного эффективнее крупных компаний, применяющих традиционные подходы.