реклама на сайте
подробности

 
 
5 страниц V  < 1 2 3 4 > »   
Reply to this topicStart new topic
> Помогите продумать архитектуру проекта на ARM7
Зверюга
сообщение Feb 8 2009, 06:17
Сообщение #16


Местный
***

Группа: Свой
Сообщений: 413
Регистрация: 15-12-06
Пользователь №: 23 563



Цитата
На самом деле Вам нужен не очень скоростной контроллер, но с быстрым SPI, нормальным контроллером SD и достаточно большим количеством памяти


Подсказать что-нибудь можете?
Быстрый SPI это сколько? А то ведь в ARM7 вроде как и на 30 МГц можно работать.
Контроллер SD - помоему он только в ARM9 появляется.

Цитата
Можно ли из DataFlash, NAND flash по одному проводу непрерывно без тормозов


А как же пост #13 Александра? Кому верить?

Так и не услышал комментариевна вот это:
Цитата
Весьма условно: вот я передаю данные - скорость SPI равна CLK/2 . 16 тактов - 1 байт. А если контроллер принимает и передает информацию, то он должен за 16 тактов принять байт, записать его в свой регистр, потом за следующие 16 тактов второй SPI должен передать этот байт, в итоге 2кратное снижение скорости. Если думаешь как это сделать транзитно, то невольно приходишь к мысли, а не заменить ли контроллер проводом? Тут бит появился, там его тут же приняли. Задача контроллера только организовывать сеанс сязи и тактировать его. Какие же при этом будут тормоза?


И если все-таки использовать SD, то какой скорости чтения с использованием FAT и SPI режима на частоте контроллера 60МГц можно добиться?
Если она превышает 15 МБит/c то может действительно добавить SRAM и буферизовать?

Вот нашел бенчмарк прадва для LPC - там с SD карты чуть ли не 7 Мбайт/сек читается. Как?
Go to the top of the page
 
+Quote Post
Зверюга
сообщение Feb 8 2009, 08:01
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 413
Регистрация: 15-12-06
Пользователь №: 23 563



Вот бенчмарк http://elm-chan.org/fsw/ff/img/rwtest2.png
Go to the top of the page
 
+Quote Post
sensor_ua
сообщение Feb 8 2009, 08:06
Сообщение #18


Профессионал
*****

Группа: Свой
Сообщений: 1 266
Регистрация: 22-04-05
Из: Киев
Пользователь №: 4 387



Цитата
с SD карты чуть ли не 7 Мбайт/сек читается. Как?
Вам же внятно сказали, что контроллер карты (внутри который) отдаёт данные достаточно быстро, но когда ему нужно спокойненько сообщает, что занят и продолжает заниматься своими делами.
В спецификации на SD v2 (SDHC) (файл с sdcard.org Simplified_Physical_Layer_Spec.pdf) указаны размеры AU - Table 4-41: Maximum AU size, а далее в рамочке примечание и там есть - The host should use the maximum AU Size (4 MB) to determine host buffer size. Делаю вывод - обеспечение заявляемых скоростей учитывает наличие буфера у хост-контроллера.
Тут тоже бенчмарки
http://www.embedded-os.de/index.html?pcfat_port.htm


--------------------
aka Vit
Go to the top of the page
 
+Quote Post
Зверюга
сообщение Feb 8 2009, 12:08
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 413
Регистрация: 15-12-06
Пользователь №: 23 563



Цитата
Вам же внятно сказали


Нет, мне сказали невнятно. Ибо я спрашивал потом, какова длительность этих тормозов карты, в секундах, в тактах, в проценте процессорного времени - мне не ответили, хотя чувствуется, что люди зна.т об этом явно не из мануалов, а из собственного опыта. И самое главное - итоговая средняя скорость чтения превысит требуемые 1,5 мБайт/сек? Если да, тогда мне надо делать буфер.

Опять таки, мне тут уже два раза писали про буферизацию. Что есть буферизация? Это чтение данных из карты в буфер "впрок" на более высокой скорости с последующе передачей их из буфера на номинальной скорости, пока карта тормозит? Я правильно понял? Тогда с учетом практических факторов - упомянутых "длительности тормозов карты, в секундах, в тактах, в проценте процессорного времени" каков объем буфера должен быть? На чем его организовать, может использовать внешнюю SRAM?

Нельзя ли использовать 2 или 4 флешки, и читать из них данные параллельно? Типа как RAID 0?

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

aaarrr, вы как специалист по драйверам светодиодов, скажите, а может быть мне для моей задачи стоит ограничиться 8 битами? Я слаб в английском, так и не понял, в младшем брате DM164 - DM163 можно пользоваться только 8-битным банком, а 6-ти битный запрограммировать 1 раз и не трогать? Мне бы хотя бы в 2 раза урезать скорость данных.

http://www.gaw.ru/html.cgi/txt/publ/memory/nand.htm

В описании сказано что там есть буфер.Так какого же еще буфера для этой системы надо?
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Feb 8 2009, 20:16
Сообщение #20


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Хм, работа по исследованию характеристик скорости чтения из разных SD карт в зависимости от разных условий может оказаться дороже всего вашего проекта.
Скажем было такое наблюдение: у SanDisk вариации времени чтения на файлах одинаковой длины могут достигать 30%, а у Kingston - 4%
Но это как нарвешься.
Чем более изношенная карта, тем сильнее вариации.

Вам надо иметь как минимум 2-а буфера вмещающих целые кадры на внешней RAM
А лучше делать адаптивную буфферизацию, как только фиксируется нехватка данных на вывод сразу увеличивать количество буферов.
Если взять ARM с 2-я SPI и грузить экран через оба SPI, то проблем с недостаточной скоростью загрузки можно избежать.
С SD картами лучше работать через специализированный 4-х битный интерфейс.

Вам бы подошел STM32F103xE.
Там аж 3-и SPI по 18 МГц, т.е. 54 Mbit/s в сумме . Есть интерфейсы и к SD карте и к NAND и к PSRAM
Только надо проверить мультиплексирование пинов, а то не всякая конфигурация может оказаться реализуемой.
Может внешняя RAM и не понадобится, у STM32 неплохая шинная матрица и потоки из NAND и SPI как бы могут пересылаться напрямую по DMA минуя шину инструкций.


Цитата(Зверюга @ Feb 8 2009, 14:08) *
Нет, мне сказали невнятно. Ибо я спрашивал потом, какова длительность этих тормозов карты, в секундах, в тактах, в проценте процессорного времени - мне не ответили, хотя чувствуется, что люди зна.т об этом явно не из мануалов, а из собственного опыта. И самое главное - итоговая средняя скорость чтения превысит требуемые 1,5 мБайт/сек? Если да, тогда мне надо делать буфер.

Опять таки, мне тут уже два раза писали про буферизацию. Что есть буферизация? Это чтение данных из карты в буфер "впрок" на более высокой скорости с последующе передачей их из буфера на номинальной скорости, пока карта тормозит? Я правильно понял? Тогда с учетом практических факторов - упомянутых "длительности тормозов карты, в секундах, в тактах, в проценте процессорного времени" каков объем буфера должен быть? На чем его организовать, может использовать внешнюю SRAM?
Go to the top of the page
 
+Quote Post
Зверюга
сообщение Feb 9 2009, 06:05
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 413
Регистрация: 15-12-06
Пользователь №: 23 563



Цитата
Если взять ARM с 2-я SPI и грузить экран через оба SPI, то проблем с недостаточной скоростью загрузки можно избежать.


Так ведь проблема не в скорости передачи данных из контроллера в экран, а в загрузке данных из флешки в контроллер или буфер.
Собственно, грузить экран можно и дерганьем ног, а 2 SPI использовать для загрузки буферов. Вот только мне непонятна архитектура их буфера, 2х-SPI и одной sd карты. Был бы благодарен за объяснение на пальцах или в виде схемки.

Цитата
Вам бы подошел STM32F103xE.
Там аж 3-и SPI по 18 МГц, т.е. 54 Mbit/s в сумме . Есть интерфейсы и к SD карте и к NAND и к PSRAM


через efind.ru не нашел его цены.
Работает ли он с SD картами в SD режиме?

В принципе я готов поставить две или три NAND flash и грузить буфер из них, если это возможно. Как тогда организовать буфер? Я не имею опыта в создании таких схем.


Цитата
Может внешняя RAM и не понадобится, у STM32 неплохая шинная матрица и потоки из NAND и SPI как бы могут пересылаться напрямую по DMA минуя шину инструкций.


Простите мне мою тупость, но я понял ситуацию так:
проблема не со скоростью контроллера, а с непостоянной скоростью загрузки данных из карты. Стало быть, нужно грузить из карты в буфер SRAM, с максимальной скоростью, превышающей скорость отдачи данных из буфера. И если средняя скорость загрузки данных из карты будет выше, то все получится. Либо писать данные в две флешки и грузить из их одновременно в буфер.

Нет.. я все-таки теряюсь в догадках, нужна структурная схемка того что вы предлагаете, ибо почти все что пишется можно понять двояко. Извините за назойливость.
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Feb 9 2009, 08:51
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(Зверюга @ Feb 9 2009, 09:05) *
... Извините за назойливость.

Ага, именно это качество Вы демонстрируете :-)
Примите как данность - с SD картой работать реально со скоростью сотни килобайт в секунду. Сравнение файловых систем где-то было в инете, но я ссылку не сохранил. По моему, где-то тут на форуме в какой-то из тем было.
Поставьте внешнюю RAM, SDRAM большого объема, организуйте буфер и забудьте проблему, по сравнению со стоимостью собственно ридеборда, стоимость контроллера стремится нулю. Да и всей электроники по сравнению с механикой biggrin.gif


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
Зверюга
сообщение Feb 10 2009, 08:31
Сообщение #23


Местный
***

Группа: Свой
Сообщений: 413
Регистрация: 15-12-06
Пользователь №: 23 563



Гуглил про организацию буфера - мало чего полезного нашел.
Ну хоть подтолкните пожалуйста в нужном направлении. Как читать и как передавать, как в этом случае использовать преимущество 2-х SPI.

Да и по поводу памяти - искал информацию по микросхемам чтранные вещи - попадаются микрухи на 1Мбит стоимость по 600-800 рублей, что-то дорого, модуль DDR компьютерный на 256 МБ стоит рублей 200.
Go to the top of the page
 
+Quote Post
Зверюга
сообщение Feb 10 2009, 08:31
Сообщение #24


Местный
***

Группа: Свой
Сообщений: 413
Регистрация: 15-12-06
Пользователь №: 23 563



Гуглил про организацию буфера - мало чего полезного нашел.
Ну хоть подтолкните пожалуйста в нужном направлении. Как читать и как передавать, как в этом случае использовать преимущество 2-х SPI.

Да и по поводу памяти - искал информацию по микросхемам чтранные вещи - попадаются микрухи на 1Мбит стоимость по 600-800 рублей, что-то дорого, модуль DDR компьютерный на 256 МБ стоит рублей 200.
Go to the top of the page
 
+Quote Post
WDT
сообщение Feb 10 2009, 08:48
Сообщение #25


Участник
*

Группа: Новичок
Сообщений: 31
Регистрация: 30-01-09
Пользователь №: 44 166



Слушай , Зверюга! Один мой товарищ делал некий девайс. В нем он выводил звук следующим образом.
На DataFlash 8МБит записывал звуковой файл. Потом Давал команду на чтение по SPI и получал данные на сдвиговый регистр на выходе R2R и усилок.
Говорил , что работает.
Я так понял и ты хочешь что-то подобное, но с матрицей светодиодов?
Go to the top of the page
 
+Quote Post
wangan
сообщение Feb 10 2009, 08:52
Сообщение #26


Местный
***

Группа: Свой
Сообщений: 265
Регистрация: 30-11-05
Из: Омск
Пользователь №: 11 590



ой чувствую заказчик не получит результат как минимум полгода

Сообщение отредактировал wangan - Feb 10 2009, 08:53
Go to the top of the page
 
+Quote Post
Зверюга
сообщение Feb 10 2009, 09:01
Сообщение #27


Местный
***

Группа: Свой
Сообщений: 413
Регистрация: 15-12-06
Пользователь №: 23 563



WDT - ну я же расписал выше. Примерно то же самое, но только скорость поболее будет.
Выдать 1,5 мбайт/сек наверное проблемы не будет. Проблема даже не в приеме данных, а в том что карта их не будет отдавать с постоянной скоростью, если я правильно понял форумцев.
Мне упорно твердят про 2 SPI, но я только никак не могу понять, как через них можно одновременно читать, если карта одна и давать команду на чтение типа SPI_READ придется по очереди, пока один SPI байт не примет, к другому не обратиться.

Что я пока смог себе уяснить - так это то, что буфер заполняется со скоростью большей чем нужно для отдачи информации, что компенсирует провалы в чтении (при условии, что средняя скорость чтения будет выше, я уже отказался от FAT). А вот правильно ли я это понял или нет, мне не говорят. Я готов поставить несколько флешек и читать с них параллельно, до почему-то кажется, что есть более изящные способы.

Может быть проблема в том, что я сам предлагаю какие-то вариант, которые подвергаются критике? Может проще спросить, как сделать?

А заказчик, мой друг и не торопит. Как раз полгода, не менее, было оговорено.
Go to the top of the page
 
+Quote Post
WDT
сообщение Feb 10 2009, 09:22
Сообщение #28


Участник
*

Группа: Новичок
Сообщений: 31
Регистрация: 30-01-09
Пользователь №: 44 166



Цитата(Зверюга @ Feb 10 2009, 12:01) *
WDT - ну я же расписал выше. Примерно то же самое, но только скорость поболее будет.
Выдать 1,5 мбайт/сек наверное проблемы не будет. Проблема даже не в приеме данных, а в том что карта их не будет отдавать с постоянной скоростью, если я правильно понял форумцев.
Мне упорно твердят про 2 SPI, но я только никак не могу понять, как через них можно одновременно читать, если карта одна и давать команду на чтение типа SPI_READ придется по очереди, пока один SPI байт не примет, к другому не обратиться.

Что я пока смог себе уяснить - так это то, что буфер заполняется со скоростью большей чем нужно для отдачи информации, что компенсирует провалы в чтении (при условии, что средняя скорость чтения будет выше, я уже отказался от FAT). А вот правильно ли я это понял или нет, мне не говорят. Я готов поставить несколько флешек и читать с них параллельно, до почему-то кажется, что есть более изящные способы.

Может быть проблема в том, что я сам предлагаю какие-то вариант, которые подвергаются критике? Может проще спросить, как сделать?

А заказчик, мой друг и не торопит. Как раз полгода, не менее, было оговорено.

Два SPI это два аппаратных SPI... То есть даешь команду на чтение по одному SPI когда он ответит через DMA передастся автоматом в регистр второго SPI. Время и ресурсы экономятся сильно.
От FAT отказываться смысла нет -- если блоки(кластеры) данных идут ПОДРЯД, то какая разница...
Ты же изначально прочитываешь Главную загрузочную запись, Загрузочную запись раздела, FAT и вычисляешь где данные.

Тут мне кажется никто, в том числе и я, не понимают что это за девайс:-))) Сказал бы уж что за хрень такая?
Например, непонятно зачем такая скорость при выводе на такой дохленький экранчик(240 на 40)??? Для вывода видео все равно не пойдет, а для вывода информации или каких-то эффектов скорости особой не надо. Тем более ты пользуешься каким-то там драйвером.
Go to the top of the page
 
+Quote Post
Зверюга
сообщение Feb 10 2009, 10:23
Сообщение #29


Местный
***

Группа: Свой
Сообщений: 413
Регистрация: 15-12-06
Пользователь №: 23 563



Скорость высокая? Так гр-н Шурила выше все расписал.
Цитата
по SPI нужна будет скорость 240*40*3*16*30 фреймов = 13,824 Мбит.


Уже 50 минут 5 человек смотрят тему и все молчат )))
Go to the top of the page
 
+Quote Post
wangan
сообщение Feb 10 2009, 10:43
Сообщение #30


Местный
***

Группа: Свой
Сообщений: 265
Регистрация: 30-11-05
Из: Омск
Пользователь №: 11 590



Цитата(WDT @ Feb 10 2009, 13:22) *
Тут мне кажется никто, в том числе и я, не понимают что это за девайс:-))) Сказал бы уж что за хрень такая?

Что непонятного - бегущая строка
Go to the top of the page
 
+Quote Post

5 страниц V  < 1 2 3 4 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 10:39
Рейтинг@Mail.ru


Страница сгенерированна за 0.01427 секунд с 7
ELECTRONIX ©2004-2016