Jump to content

    
Sign in to follow this  
KKV2003

STM32F103 и захват потока данных

Recommended Posts

Добрый день, народ.

 

Подскажите, пожалуйста кто знает. Планируем сделать устройство, которое должно хватать поток данных со скоростью хотя бы 10 МБайт в секунду по байту. Можно ли будет притормозить поток - пока не известно. В общем на это рассчитывать не хочется, как крайний вариант разве что.

 

Хватать, конечно, не постоянно - информация дозируется. Объем файла данных порядка мегабайта-двух. Сваливать ее предварительно планировалось в SDRAM - у нее есть burst-режим. Но иногда нужно будет подготавливать новые строки и банки для приема данных.

 

Причем придется еще производить достаточно сложные вычисления, поэтому ее 72 МГц и 32 разряда вполне пригодятся. Поэтому брать что-либо простое ( типа АТМеги или АТхМеги ) трудно.

 

Так вот вопрос в том, сможет ли STM32F103 ( или что-то подобное ) управлять хотя бы записью во внешнюю память со скоростью порядка 10 МГерц или выше? Причем модели в 100-выводном корпусе имеют блок работы со внешней памятью, но разве что статической или флешь-памятью. Можно ли будет использовать их времянку ( циклы чтения/записи ) для управления записью в SDRAM?

 

У АТхМеги есть поддержка SDRAM, но там разве что 4-хбитная шина данных... Что не радует...

 

С АРМами пока мало связывался, но ( по косвенным данным ) с портами они работают медленно и эмулировать протокол быстро не получится...

 

Заранее спасибо.

Share this post


Link to post
Share on other sites
Так вот вопрос в том, сможет ли STM32F103 ( или что-то подобное ) управлять хотя бы записью во внешнюю память со скоростью порядка 10 МГерц или выше? Причем модели в 100-выводном корпусе имеют блок работы со внешней памятью, но разве что статической или флешь-памятью. Можно ли будет использовать их времянку ( циклы чтения/записи ) для управления записью в SDRAM?

 

У АТхМеги есть поддержка SDRAM, но там разве что 4-хбитная шина данных... Что не радует...

 

С АРМами пока мало связывался, но ( по косвенным данным ) с портами они работают медленно и эмулировать протокол быстро не получится...

 

Заранее спасибо.

 

Возьмите контроллер с SDRAM контроллером, например Luminary Micro LM39B96 или какой другой. STM32F103 рулит только статикой.

Share this post


Link to post
Share on other sites

Поток - просто байты по клоку. Причем клок еще нужно сделать ( но тормозить выдачу не желательно ).

 

Нашел еще AT91SAM7SE серию с SDRAM-контроллером, хотя у нее порядка 50 МГц тактовая частота... Но SDRAM контроллер вполне адекватный ( до 32 разрядов, куда их приладить? :) ).

 

LM39B96 сейчас погляжу.

 

 

Share this post


Link to post
Share on other sites
Поток - просто байты по клоку. Причем клок еще нужно сделать ( но тормозить выдачу не желательно ).

 

Нашел еще AT91SAM7SE серию с SDRAM-контроллером, хотя у нее порядка 50 МГц тактовая частота... Но SDRAM контроллер вполне адекватный ( до 32 разрядов, куда их приладить? :) ).

 

LM39B96 сейчас погляжу.

 

Так это простое сэмплирование 8-разрядной шины 10млн. раз в секунду ? И клока в этой шине нет, а вы просто должны брать отсчеты через равные промежутки времени ? Думаю, что на ARM такое не сделать - слишком быстро. Наверное, придется FPGA ставить. Хотя я могу и ошибаться ...

Share this post


Link to post
Share on other sites

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

 

Texas порадовал контроллерами, может будем заказывать образцы и отладку.

 

Про Самсунга тоже гляну, но ( по-моему ) там потребуется внешняя память ( чего сильно не хотелось бы добавлять )...

Share this post


Link to post
Share on other sites
Texas порадовал контроллерами, может будем заказывать образцы и отладку.

 

Про Самсунга тоже гляну, но ( по-моему ) там потребуется внешняя память ( чего сильно не хотелось бы добавлять )...

C Texas'ами (Luminary) осторожнее, там в errata скрыта "камасутра".

Share this post


Link to post
Share on other sites
По смотрите в сторону 9-х армов таких как этот S3C2440.

Там точно получиться.

Угу. Или LPC32x0, если BGA не пугает.

KKV2003, у нас сделали платку на LPC3250 + питание и память, для устройства с мезонинной конструкцией, например. Портировали на нее Linux. Пишите в личку, если интересует такой модуль.

Share this post


Link to post
Share on other sites

FPGA и ARM9 - это весьма тяжелая артиллерия. Не хотелось бы ее применять для наших "воробьев". Тяжело будет ( и по деньгам, и по времени, и по потреблению ).

 

Народ захватывает поток в 8 МГц на какой-то АТМеге16-й и ничего...

Share this post


Link to post
Share on other sites
Народ захватывает поток в 8 МГц на какой-то АТМеге16-й и ничего...

Вы бы подробнее описали что нужно сделать и какой поток, иначе не вижу смысла что-то тут обсуждать

Share this post


Link to post
Share on other sites
Народ захватывает поток в 8 МГц на какой-то АТМеге16-й и ничего...
никакой "поток" с такой скоростью мега не захватит, придется писать во внутреннюю память (всего 1К), и никакую обработку сделать не получится - проц будет занят на 100%.

Так вот вопрос в том, сможет ли STM32F103 ( или что-то подобное ) управлять хотя бы записью во внешнюю память со скоростью порядка 10 МГерц или выше?
у STM32 есть модуль FSMC с DMA, но без поддержки SDRAM. Но получить одновременно чтение/запись 10МБ/сек вряд ли получится.
Edited by ukpyr

Share this post


Link to post
Share on other sites
Народ захватывает поток в 8 МГц на какой-то АТМеге16-й и ничего...

 

Верится с огромным трудом. Точнее, не верю. Проект тов. Чешко на 8-й меге, тот самый, который реализует USB LOW SPEED device, написан целиком на асме, и там все на пределе возможного, по сути. И всего-то 1.5 МБит. А тут 8 МГц. Не поверю, пока не увижу лично ...

 

Share this post


Link to post
Share on other sites

Согласен, поверить трудно. Но сделано.

Смотрим, удивляемся: http://electronix.ru/forum/lofiversion/index.php/t49195.html

Причем из Меги выжаты все соки, но она справляется. Проект весьма удивительный. За 2 такта выдается новый 17-значный адрес...

 

Отсюда и пошло желание реально использовать возможности контроллеров. А их явно больше чем используется в большинстве задач...

 

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

 

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

 

C Texas'ами (Luminary) осторожнее, там в errata скрыта "камасутра".

 

 

Да, камасутра у них богатая... Даже не знаю. Искать С3-кристаллы придется... :crying:

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this