zverik80 0 8 февраля, 2009 Опубликовано 8 февраля, 2009 · Жалоба На самом деле Вам нужен не очень скоростной контроллер, но с быстрым 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 Мбайт/сек читается. Как? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zverik80 0 8 февраля, 2009 Опубликовано 8 февраля, 2009 · Жалоба Вот бенчмарк http://elm-chan.org/fsw/ff/img/rwtest2.png Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sensor_ua 0 8 февраля, 2009 Опубликовано 8 февраля, 2009 · Жалоба с 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zverik80 0 8 февраля, 2009 Опубликовано 8 февраля, 2009 · Жалоба Вам же внятно сказали Нет, мне сказали невнятно. Ибо я спрашивал потом, какова длительность этих тормозов карты, в секундах, в тактах, в проценте процессорного времени - мне не ответили, хотя чувствуется, что люди зна.т об этом явно не из мануалов, а из собственного опыта. И самое главное - итоговая средняя скорость чтения превысит требуемые 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 В описании сказано что там есть буфер.Так какого же еще буфера для этой системы надо? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 8 февраля, 2009 Опубликовано 8 февраля, 2009 · Жалоба Хм, работа по исследованию характеристик скорости чтения из разных 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 минуя шину инструкций. Нет, мне сказали невнятно. Ибо я спрашивал потом, какова длительность этих тормозов карты, в секундах, в тактах, в проценте процессорного времени - мне не ответили, хотя чувствуется, что люди зна.т об этом явно не из мануалов, а из собственного опыта. И самое главное - итоговая средняя скорость чтения превысит требуемые 1,5 мБайт/сек? Если да, тогда мне надо делать буфер. Опять таки, мне тут уже два раза писали про буферизацию. Что есть буферизация? Это чтение данных из карты в буфер "впрок" на более высокой скорости с последующе передачей их из буфера на номинальной скорости, пока карта тормозит? Я правильно понял? Тогда с учетом практических факторов - упомянутых "длительности тормозов карты, в секундах, в тактах, в проценте процессорного времени" каков объем буфера должен быть? На чем его организовать, может использовать внешнюю SRAM? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zverik80 0 9 февраля, 2009 Опубликовано 9 февраля, 2009 · Жалоба Если взять 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, с максимальной скоростью, превышающей скорость отдачи данных из буфера. И если средняя скорость загрузки данных из карты будет выше, то все получится. Либо писать данные в две флешки и грузить из их одновременно в буфер. Нет.. я все-таки теряюсь в догадках, нужна структурная схемка того что вы предлагаете, ибо почти все что пишется можно понять двояко. Извините за назойливость. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DogPawlowa 0 9 февраля, 2009 Опубликовано 9 февраля, 2009 · Жалоба ... Извините за назойливость. Ага, именно это качество Вы демонстрируете :-) Примите как данность - с SD картой работать реально со скоростью сотни килобайт в секунду. Сравнение файловых систем где-то было в инете, но я ссылку не сохранил. По моему, где-то тут на форуме в какой-то из тем было. Поставьте внешнюю RAM, SDRAM большого объема, организуйте буфер и забудьте проблему, по сравнению со стоимостью собственно ридеборда, стоимость контроллера стремится нулю. Да и всей электроники по сравнению с механикой Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zverik80 0 10 февраля, 2009 Опубликовано 10 февраля, 2009 · Жалоба Гуглил про организацию буфера - мало чего полезного нашел. Ну хоть подтолкните пожалуйста в нужном направлении. Как читать и как передавать, как в этом случае использовать преимущество 2-х SPI. Да и по поводу памяти - искал информацию по микросхемам чтранные вещи - попадаются микрухи на 1Мбит стоимость по 600-800 рублей, что-то дорого, модуль DDR компьютерный на 256 МБ стоит рублей 200. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zverik80 0 10 февраля, 2009 Опубликовано 10 февраля, 2009 · Жалоба Гуглил про организацию буфера - мало чего полезного нашел. Ну хоть подтолкните пожалуйста в нужном направлении. Как читать и как передавать, как в этом случае использовать преимущество 2-х SPI. Да и по поводу памяти - искал информацию по микросхемам чтранные вещи - попадаются микрухи на 1Мбит стоимость по 600-800 рублей, что-то дорого, модуль DDR компьютерный на 256 МБ стоит рублей 200. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sasha_sasha 0 10 февраля, 2009 Опубликовано 10 февраля, 2009 · Жалоба Слушай , Зверюга! Один мой товарищ делал некий девайс. В нем он выводил звук следующим образом. На DataFlash 8МБит записывал звуковой файл. Потом Давал команду на чтение по SPI и получал данные на сдвиговый регистр на выходе R2R и усилок. Говорил , что работает. Я так понял и ты хочешь что-то подобное, но с матрицей светодиодов? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
walsv 0 10 февраля, 2009 Опубликовано 10 февраля, 2009 (изменено) · Жалоба ой чувствую заказчик не получит результат как минимум полгода Изменено 10 февраля, 2009 пользователем wangan Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zverik80 0 10 февраля, 2009 Опубликовано 10 февраля, 2009 · Жалоба WDT - ну я же расписал выше. Примерно то же самое, но только скорость поболее будет. Выдать 1,5 мбайт/сек наверное проблемы не будет. Проблема даже не в приеме данных, а в том что карта их не будет отдавать с постоянной скоростью, если я правильно понял форумцев. Мне упорно твердят про 2 SPI, но я только никак не могу понять, как через них можно одновременно читать, если карта одна и давать команду на чтение типа SPI_READ придется по очереди, пока один SPI байт не примет, к другому не обратиться. Что я пока смог себе уяснить - так это то, что буфер заполняется со скоростью большей чем нужно для отдачи информации, что компенсирует провалы в чтении (при условии, что средняя скорость чтения будет выше, я уже отказался от FAT). А вот правильно ли я это понял или нет, мне не говорят. Я готов поставить несколько флешек и читать с них параллельно, до почему-то кажется, что есть более изящные способы. Может быть проблема в том, что я сам предлагаю какие-то вариант, которые подвергаются критике? Может проще спросить, как сделать? А заказчик, мой друг и не торопит. Как раз полгода, не менее, было оговорено. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sasha_sasha 0 10 февраля, 2009 Опубликовано 10 февраля, 2009 · Жалоба WDT - ну я же расписал выше. Примерно то же самое, но только скорость поболее будет. Выдать 1,5 мбайт/сек наверное проблемы не будет. Проблема даже не в приеме данных, а в том что карта их не будет отдавать с постоянной скоростью, если я правильно понял форумцев. Мне упорно твердят про 2 SPI, но я только никак не могу понять, как через них можно одновременно читать, если карта одна и давать команду на чтение типа SPI_READ придется по очереди, пока один SPI байт не примет, к другому не обратиться. Что я пока смог себе уяснить - так это то, что буфер заполняется со скоростью большей чем нужно для отдачи информации, что компенсирует провалы в чтении (при условии, что средняя скорость чтения будет выше, я уже отказался от FAT). А вот правильно ли я это понял или нет, мне не говорят. Я готов поставить несколько флешек и читать с них параллельно, до почему-то кажется, что есть более изящные способы. Может быть проблема в том, что я сам предлагаю какие-то вариант, которые подвергаются критике? Может проще спросить, как сделать? А заказчик, мой друг и не торопит. Как раз полгода, не менее, было оговорено. Два SPI это два аппаратных SPI... То есть даешь команду на чтение по одному SPI когда он ответит через DMA передастся автоматом в регистр второго SPI. Время и ресурсы экономятся сильно. От FAT отказываться смысла нет -- если блоки(кластеры) данных идут ПОДРЯД, то какая разница... Ты же изначально прочитываешь Главную загрузочную запись, Загрузочную запись раздела, FAT и вычисляешь где данные. Тут мне кажется никто, в том числе и я, не понимают что это за девайс:-))) Сказал бы уж что за хрень такая? Например, непонятно зачем такая скорость при выводе на такой дохленький экранчик(240 на 40)??? Для вывода видео все равно не пойдет, а для вывода информации или каких-то эффектов скорости особой не надо. Тем более ты пользуешься каким-то там драйвером. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zverik80 0 10 февраля, 2009 Опубликовано 10 февраля, 2009 · Жалоба Скорость высокая? Так гр-н Шурила выше все расписал. по SPI нужна будет скорость 240*40*3*16*30 фреймов = 13,824 Мбит. Уже 50 минут 5 человек смотрят тему и все молчат ))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
walsv 0 10 февраля, 2009 Опубликовано 10 февраля, 2009 · Жалоба Тут мне кажется никто, в том числе и я, не понимают что это за девайс:-))) Сказал бы уж что за хрень такая? Что непонятного - бегущая строка Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться