Как стать автором
Обновить

Комментарии 22

Осталось придумать что можно сделать на такой платке. АЦП на ней насколько быстрый? Можно ли будет на ней сделать SDR?
У нее почти все выводы GPIO сделаны через I2C port expander, так что максимальная частота — 100 кГц, и задержка еще около 2-3 мс, так что SDR из нее если и получится, то совсем никакой.
Меня эта плата заинтересовала как платформа с открытым UEFI, а сама по себе она — первый блин, который комом. Совместимость с Arduino прикручена сбоку и реализована откровенно плохо, GPU в SoC встроить забыли, да и сам он ни производительностью, ни сверхнизким энергопотреблением не блещет, да и x86 там такой, что Windows все равно не грузится и 95% старого софта не работает. Посмотрим, что будет в следующем поколении, надеюсь, что Intel избавит его от совсем уж детских болезней.
Выводы GPIO это отдельный разговор, АЦП там стоит отдельный и подключен напрямую. К сожалению я не смог узнать быстрым гуглением какой же именно там АЦП стоит, часто на первых страницах поиска попадаются слишком общие характеристики платы в целом и упоминание что АЦП там есть а иногда еще тот факт что он быстрее чем в ардуиновских контроллерах. Но насколько? Видимо ответ на этот вопрос поможет чтение подробной документации, но… проще спросить у того кто её уже наверняка читал.
Не углядел, что ADC напрямую подключен, теперь внимательно посмотрел в схему — это действительно так. В качестве ADC на плате выступает чип Analog Devices AD7298, подключенный по SPI.
Вот его характеристики:
12-bit SAR ADC
8 single-ended inputs
Channel sequencer functionality
Fast throughput of 1 MSPS
Analog input range: 0 V to 2.5 V
12-bit temperature-to-digital converter
Temperature sensor accuracy of ±1°C
Temperature range: −40°C to +125°C
Specified for VDD: 2.8 V to 3.6 V
Logic voltage VDRIVE: 1.65 V to 3.6 V
Power-down current: <10 μA
Internal 2.5 V reference
Internal power-on reset
High speed serial interface SPI

Я не очень знаком с темой SDR, поэтому сделать вывод из них не могу, но мне кажется, что даже 30 Мгц на прием FM-станций все равно не хватит.
Где 30Мгц? там всего 1МSPS, т.е. осилить можно частоту до 500кГц.

Можно конечно дополнить синтезатором и смесителем, 500кГц ширины для последующей обработки это не так уж и мало(ширина полосы стерео FM-станции порядка 70кГц), можно покрывать разом отдельные любительские диапазоны и/или вести непрерывный приём SSTV. Вобщем, есть возможность принимать сигналы точного времени на частоте 77кГц, тоже хорошая задача для практики. Лишь бы хватило производительности для математики.
Про 30 Мгц написано в даташите:
The device contains a low noise, wide bandwidth track-and-hold amplifier that can handle input frequencies in excess of 30 MHz.

Посоветуйте, что почитать по теме, может быть и сделаю что-нибудь простое в качестве упражнения.
Это входной усилитель имеет такую полосу пропускания. Но АЦП обеспечивает только 1Мсемпл в секунду.

Для начала можно взять статью оттуда можно уже отправляться смотреть математику и всё остальное.

Основное что может понадобится из математики — сдвиг спектра путём умножения сигнала на косинус опорной частоты и низкочастотные фильтры(FIR)
Забыл написать про производительность: Linpack — 15,5 MFLOPS, у RPi — 22,7. Могу проверить еще через openssl speed, если нужно.
Не думал что SPI-эмуляторы стоят так дорого, доводилось делать самому такой на коленке. Чип с EMC и USB-стэком, 128 метров оперативки, вот всё что нужно.
Код там тривиальный.
Я тоже не думал, пока не столкнулся. На самом деле, тривиально там все только на первый взгляд, ведь нужно правильно эмулировать целый ворох чипов разных производителей с разными же командами, эмулировать режимы DualSPI и QuadSPI, которые аппаратно не поддерживает почти никто, да и сама по себе поддержка базы эмулируемых чипов в актуальном состоянии стоит приличных денег. Думаю сделать в качестве упражнения на коленке эмулятор ровно одного чипа — одного из самых распространенных на десктопных платах Winbond W25Q64BV/128BV в SPI-only режиме, ибо даже такого хватало бы сейчас на 90% плат, с которыми приходится работать.
Так-то да, у меня был конкретный чип, без экзотики.
Кроме того + еще один с собственным протоколом шины, но схемотехника была практически один-в-один.
НЛО прилетело и опубликовало эту надпись здесь
Прикрутить FT2232H — первое, что я попробовал. JTAG работает, SPI — тоже, но flashrom не может достучаться до чипа по каким-то причинам, которые я выяснять не стал, ибо программаторов у меня много. По поводу «нормальности» — Minnovboard MAX обещают почти нормальную (на двуядерном Атоме), но при этом с полностью открытой реализацией UEFI. Осталось дождать ее выхода.
НЛО прилетело и опубликовало эту надпись здесь
Чип там известный Winbond W25Q64FV, проблема где-то между разъемом ISP и FT2232H. Толи питания не хватает, толи частота SPI слишком высокая — пока не могу сказать, некогда было отлаживать, просто взял другой программатор с полки. Будет время — попвтаюсь выяснить, кто виноват и что делать.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
На Bay Trail может быть только TXE, но на этой плате его не будет, ибо с открытостью такие вещи несовместимы. Вместо этого ядро Quark, которое у «взрослых» Atom'ов выполняет код TXE, может быть использовано как встроенный в SoC MCU, но в момент выпуска для него нет никакого ПО, поэтому проще считать, что его нет совсем.
НЛО прилетело и опубликовало эту надпись здесь
Согласен, но пробрасывать в QEMU свое реальное устройство, для которого разрабатывается UEFI-драйвер — тот еще цирк с конями, да и отлаживать, скажем, какие-то защитные механизмы или работу с SMM стоит, на мой взгляд, на реальном железе.
Если же с железом работать не надо, а драйвер ваш, к примеру, для ФС — QEMU + QVMF рулят и педалят.
НЛО прилетело и опубликовало эту надпись здесь
Видел уже, когда исследовал возможность подключения GPU, слишком громоздкий получается сетап. Лучше тогда уже использовать либо mPCIe-карту вроде такой, либо USB-GPU на базе чипов серии DisplayLink 1x5, ибо они относительно хорошо работают в современных Linux'ах почти без бубна. Проблема с ними только одна — стоимость, сравнимая со стоимостью самой платы.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории