Pull to refresh
17
0

Разработка железа

Send message
смотря о каком уровне детализации прототипа идет речь — совсем примитивно (плата+3 д принтер) сами. что то более сложное — снаружи
облачный гантт. все просто. ну и yandex.ru/tracker конечно
На дворе XXI век. Какие лампочки?

Читатели разные. Лампочки поймут все. Светодиоды — меньше

Не от того ли возникло столько много нареканий от пользователей на Станцию? Может лучше было оставить тесты, но заплатить за них? Думаю, производить более дорогой, но более качественный товар лучше, чем наоборот. Лучше для всех.

После Станции было выпущена Мини, которая спроектирована с учетом опыта Станции. Но даже в станции была оптимзация тестов. Какой смысл тестировать компонент с браком по тестам 0,00001%?

Не согласен. Одни и те же комплектующие могут быть разного качества, в зависимости от их производителя. Трудиться на сборке тоже можно по-разному: можно тяп-ляп, побыстрее, а можно как положено. Ну и качество оборудования, на котором идет производство, тоже не стоит сбрасывать со счетов.

Не согласны с чем? Все что вы перечислили — это список того что удорожает производство и устройство, с т.з. фабрики это снижает маржинальность проекта для них. И как раз задача заказчика добиться чтобы компоненты девайса были оптимальны по цене и качеству, чтобы сборка и монтаж были качественными. Например- типовая цифра которую хорошая фабрика дает по браку это 2%. Если вы хотите иметь цифру меньше (и не заплатить сильно дороже за устройство) — это ваша задача. Это прям битва с фабрикой.

Есть ли хоть какая-нибудь надежда на организацию производства электроники Яндекс в России?

о. это любимый вопрос. вкратце — я пока не видел производств в России дающей гибкость и скорость аналогичную Китаю.
Всё верно. Поэтому такой пример и привел. Мы думали про качество и забыли про сроки.
Там всё проще. Можно сказать, что микрофоны или работают, или не работают. То есть, в случае проблем характеристики катастрофически хуже, и это сразу видно.
Собственные шумы и гармонические искажения влияют слабо, потому что исходно система работает в сильно зашумлённой обстановке: там же ещё в сантиметрах от микрофона играет громкая музыка! И в нашем случае мы распознаём речь, а не классическую музыку записываем, так что требования к гладкости характеристики ниже.
Тут ещё вопрос целеполагания. Потому что, как известно, «любой шаг, не ведущий к прогрессу, ведёт к деградации».
Можно, конечно, повторить плату от XMOS, изучив её схему и выкинув лишнее. Понадобится изучить ряд вопросов. Загрузчик там сразу есть, с завода, по USB? А какая микросхема FLASH подойдёт для хранения прошивки? Точно? А то они как-то подтвердили Part Number, а оно не заработало :) А как быть с микросхемой генератора частот? (Там есть нюансы, XMOS заказывает её предпрошитую, чтоб она генерировала что надо при включении питания).
То есть, это не просто срисовать схему. Потребуется её творчески переработать. Возможно, это будет быстрее, чем сделать свою плату со своим софтом, но какой опыт при этом будет получен? Разве что аппаратные особенности конкретной системы XMOS, и это не очень интересно.
Для того, чтобы написать что-то с использованием стандартных библиотек, надо изучить:
* datasheet (+Reference Manual);
* документацию на библиотеку, если есть;
* пример использования библиотеки;
* код библиотеки (а он зачастую прям труден для понимания).
Если же писать что-то на регистрах, достаточно первого пункта.
Разработка с использованием стандартных библиотек шла ужасно медленно, и закончилась вот как. Нужно было вывести ШИМ с определённого канала таймера, при этом выполнив какой-то хитрый Remap (подробности сокрыты туманом времени, давно было дело). Было потрачено четыре часа на тщетные попытки сделать это через HAL. И тогда на регистрах всё было написано за пятнадцать минут.
То есть, на HAL становится чудовищно неудобно писать, как только появляется какая-то нестандартная задача. Точнее, так: некоторый набор задач учитывался при разработке HAL, и их решать удобно. Но если задача не закладывалась в HAL, то её решить средствами HAL либо сложно/некрасиво, либо вообще нельзя (и приходится писать в регистры).
Ещё один момент: для инициализации периферии через HAL требуется несколько экранов кода, потому что задание параметров через структуры очень громоздкое. А хочется использовать что-то вроде
PinSetupAlterFunc(GPIOB, 9,  omPushPull, pudNone, AF13);

В целом, конечно, тут в большой степени дело вкуса. Кому-то вполне удобно использовать HAL (или LL), плюс HAL неизбежно будет:
* известен большему количеству разработчиков
* лучше документирован
потому что исходно создаётся для общественного пользования. Наши библиотеки, увы, документированы разве что комментариями в коде.
Это правда: максимальная частота PDM, с которой мы работаем — примерно 4 МГц, на ней выравнивать длины проводников нет необходимости. Но тут идея такая: как лучше, выравнивать или не выравнивать? Выравнивать — немножечко лучше :) При этом выравнивание нам ничего не стОит. Так давайте выравнивать :)
Вообще, параметры микрофонов достаточно похожи. На производстве каждая плата проходит через специальный стенд, который проверяет микрофоны: проигрывается синусоида меняющейся частоты, записывается сигнал каждого микрофона, а дальше этот сигнал сравнивается с образцовым. Если параметры отличаются больше дозволенного — плата считается бракованной.
Стандартные библиотеки от ST мы не используем, потому что они нам не нравятся.
В некоторых наших устройствах на STM32 используется ChibiOS в довольно урезанном виде (потому что, например, HAL от Chibios нам тоже не нравится). Но USB стек там неплохой, его мы и применяем. Тот кусок, который работает как восьмиканальный микрофон, мы писали сами. Дескрипторы сооружали тоже сами. читая кусок стандарта USB про аудиодевайсы.
Плата от XMOS выглядит существенно сложнее нашей. Опять же, STM32 гораздо доступнее по сравнению с XMOS. Насчёт отсутствия заморочек с софтом — вопрос тоже спорный, потому что же придётся в этот XMOS чип как-то заливать прошивку. На отладочной плате есть встроенный программатор для этого, а на своей что делать? Возможно, можно подключиться стандартным JTAG, — но тут уже начинаются вопросы и сомнения. Пока что у нас нет стремления изучать XMOS, хотя ребята они хорошие :)
По ссылке две платы: одна — просто текстолит с микрофонами (и светодиодами, но это неважно); вторая — SoM с двухъядерным RISC-V с блоками ускорения нейросетей и цифровой обработки. Но без USB :) Так что для исходной задачи — трансляции сигнала в USB — этот SoM плохо подходит. Плата же с микрофонами нам тоже не очень интересна, потому что микрофонные платы наших устройств точно будут другими.
Нам не нужно обрабатывать звук, нам нужно его перевести из 8х PDM в USB :) Никакой сложной обработки. А все алгоритмы удобно писать и отлаживать на большом компе.

Information

Rating
Does not participate
Works in
Registered
Activity