Перейти к содержанию
    

Интересен JPEG кодек в STM32F7, пока даже документации по нему нет. На кодирование с камеры он потянет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На кодирование с камеры он потянет.
А откуда вы знаете, что потянет, если документации нет?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

F7

Digital camera interface (DCMI)

The devices embed a camera interface that can connect with camera modules and CMOS

sensors through an 8-bit to 14-bit parallel interface, to receive video data. The camera

interface can sustain a data transfer rate up to 54 Mbyte/s at 54 MHz. It features:

• Programmable polarity for the input pixel clock and synchronization signals

• Parallel data communication can be 8-, 10-, 12- or 14-bit

Supports 8-bit progressive video monochrome or raw bayer format, YCbCr 4:2:2

progressive video, RGB 565 progressive video or compressed data (like JPEG)

• Supports continuous mode or snapshot (a single frame) mode

• Capability to automatically crop the image

 

Чем только этот суппортс будет обеспечен? :laughing:

 

E70

The Image Sensor Interface (ISI) supports direct connection to the ITU-R BT. 601/656 8-bit mode compliant

sensors and up to 12-bit grayscale sensors. It receives the image data stream from the image sensor on the 12-bit

data bus...

For 8-bit color sensors, the data stream received can be in several possible formats: YCbCr 4:2:2, RGB 8:8:8,

RGB 5:6:5 and may be processed before the storage in memory. When the preview DMA channel is configured

and enabled, the preview path is activated and an ‘RGB frame’ is moved to memory.

 

А тут, вроде как без обработки, просто снимает поток с сенсора.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чем только этот суппортс будет обеспечен?

 

Ну.. мало ли чем. Скидывайте RAW в оперативку. А дальше, кодек вам зачем поставили?

Пользуйтесь! А там глядишь, может кодек уже и с VGA потоком справится!

 

Остаётся одно, тестировать :laughing:

 

Вот только непонятно, зачем принимать сжатые данные, что бы потом "дохленькое" ядрышко, с никакой памятью, загрузить под 100% ...... Но наше дело supports, а ваше дело разбираться..

 

Предположу, что реальное применение кодеку - только если на входе JPG, и ничего нельзя с этим поделать. Например, изображение из интернета.

 

Жаль, что на 216 МГц так и остановились :crying:

 

p.s.

Ковыряюсь сейчас с AM3358, работающим на частоте 1 ГГц. То же не всё гладко.. Что бы код выполнялся на такой частоте в одноцикловом режиме, он должен загрузиться в L1. Наблюдаю как это работает в реальной жизни? Механизм очень похож на следующий: что бы участок кода попал в L1, он должен быть хотя бы один раз выполнен процессором. И тогда он начинает работать на максимуме. Действительно, некоторые инструкции начинают выполняться по 2 штуки за цикл.

 

Так вот, хотя бы один раз пройден, вот этот самый первый раз выполняется на скорости от 5 до 15(!) раз медленней! Скорость зависит от того, где размещается исполняемый код - в L3 или в DDR. Способ подгрузить код в L1 как-то вручную, я пока не обнаружил..

 

Результаты измерений. Есть некий участок кода, подпрограмма. При размещении её в DDRIII, первый вызов выполняется за ~500 циклов, из L3 уже за ~200 циклов. Все последующие вызовы этой подпрограммы стабильно требуют всего 44 (сорок четыре) цикла на её выполнение. Хотя реально в этом коде 48 строк. Остаётся только понять, надолго ли этот фрагмент задержится в L1?

 

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

 

Время выполнения измерял встроенным в ядро счётчиком машинных циклов, типа DWT.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Supports 8-bit progressive video monochrome or raw bayer format, YCbCr 4:2:2

progressive video, RGB 565 progressive video or compressed data (like JPEG)

• Supports continuous mode or snapshot (a single frame) mode

• Capability to automatically crop the image

 

Чем только этот суппортс будет обеспечен? :laughing:

Это означает, что DCMI умеет принимать данные без подсчета строк/столбцов. Просто как параллельный слейв порт, сколько дали - столько съел. Полезная фишка, не все камни такое умеют. Для камер с встроенным JPEG самое оно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Между делом такие вот красавчики в мире возникают. Криптомашинка один фих закрыта :laughing:

 

Решение НЕнародное. Платок по 50 долларов с емкостным экраном ждать бесполезно..

Изменено пользователем LWW

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дискавери оень неудобен в смысле доступа к периферии. Гораздо интереснее модульки типа http://www.emcraft.com/products/413#som

Вопрос по STM32F7 - кто как борется с cache uncoherency при использовании DMA? а то все драйвера от 4 приходится переписывать, выравнивать буфера в памяти на размер страниц кеша и прочей ерундой заниматься. http://www.nuttx.org/doku.php?id=wiki:howt...drivers_stm32f7

Можек то внятно обяснить, когда надо делать инвалидацию кеша относительно момента запуска ДМА?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дискавери оень неудобен в смысле доступа к периферии. Гораздо интереснее модульки типа http://www.emcraft.com/products/413#som

Вопрос по STM32F7 - кто как борется с cache uncoherency при использовании DMA? а то все драйвера от 4 приходится переписывать, выравнивать буфера в памяти на размер страниц кеша и прочей ерундой заниматься. http://www.nuttx.org/doku.php?id=wiki:howt...drivers_stm32f7

Можек то внятно обяснить, когда надо делать инвалидацию кеша относительно момента запуска ДМА?

 

Для DMA специально выделяют некэшированную память. Для этого конфигурируют MPU.

 

А вообще в Keil-е есть прекрасный RTE менеджер.

Поставил галочку напротив нужной периферии с обменом по DMA и все.

Портировал на STM32F7 автоматом все проекты включая загрузчик.

Самое сложное на CMSIS RTOS перейти.

А вот с доступом на запись к FLASH был фокус. Надо применять оператор__DSB(); Там это некий макрос включающий команду dsb

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот у празднующих Новый обезъяний год интересная платка-универсалка на STM32F746NG.

http://world.taobao.com/item/521741145674....0.9F4DA0#detail

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...