grigorybold 0 13 июля, 2006 Опубликовано 13 июля, 2006 · Жалоба Здравствуйте, господа разработчики. У кого есть опыт чтения карт CompactFlash ARM-ом? Расскажите, какая скорость была достигнута на каком процессоре, через какой интерфейс, разрядность шины (8/16 бит). Вообщем буду благодарен за любую информацию на эту тему. Текже интересуют и SD/MMC. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
beer_warrior 0 13 июля, 2006 Опубликовано 13 июля, 2006 · Жалоба По SD/MMC гляньте здесь: http://gandalf.arubi.uni-kl.de/avr_project..._arm/index.html Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VslavX 0 13 июля, 2006 Опубликовано 13 июля, 2006 · Жалоба Здравствуйте, господа разработчики. У кого есть опыт чтения карт CompactFlash ARM-ом? Расскажите, какая скорость была достигнута на каком процессоре, через какой интерфейс, разрядность шины (8/16 бит). Вообщем буду благодарен за любую информацию на эту тему. Текже интересуют и SD/MMC. Скорость CF зависит от многих факторов: - способа подключения - TrueIDE, I/O, Memory; - разрядности и скорости использованной шины - насколько быстро можно выполнять единичные транзакции чтения-записи байта/слова; - быстродействия самой карточки; Мой практический опыт использования CF в комплекте с XScale: - подключение в режиме TrueIDE - через 16-битную внешнюю шину с тактовой 66МГц (позволяет настроиться на максимально быстрый режим PIO4 - 120 нс цикл) Реально полученная пиковая скорость - 10-11МБ/с, на нее влияет собственно синхронизация внешней шины с внутренней AHB процессора, а также способы кеширования (поскольку процессор может кешировать указанное адресное пространство - в этом случае при чтении обмен идет пакетами размером со строку кеша) Средняя скорость на чтение- 1-8 МБ/с - зависит от самой карточки, и способа чтения. Также влияет способ чтения - по одному/несколько секторов, команды READ/READ MULTIPLE. Например, древняя CF32MB при чтении по одному сектору дала скорость всего 1МБ/с. При чтении 16-секторными блоками - около 3 МБс, более новые карточки при чтении 16-секторными блоками достигали 8 МБ/с. С записью ситуация похуже - на моих картах была в 2-4 раза медленее чтения. Это был режим TrueIDE, возможно в режиме Memory ситуация получше. При использовании MMC версий до 3.2- физически скорость ограничена 20Мбит/сек, SD - 4x25 Мбит/сек И также влияют те же самые факторы - чтение посекторно или блоками, и насколько долго карта "думает" после получения команды. Максимум, что мне удалось достичь на Samsung 2410 для MMC - чтение в среднем 1.5МБ/сек, запись 0.8МБ/сек. SD - чтение в среднем 6 Мбайт/сек, запись - 2МБайт/сек. Обе карточки были трех-четырех летней давности, новые карты могут быть побыстрее. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
grigorybold 0 13 июля, 2006 Опубликовано 13 июля, 2006 · Жалоба Спасибо VslavX за развернутый ответ! А есть ли опыт работы с CF через внешнюю шину LPC22xx? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Evgeny_CD 0 13 июля, 2006 Опубликовано 13 июля, 2006 · Жалоба Вот результаты тестирования SD/MMC карточек в оптимизированых устройствах, т.е. максимально возможная практическая скорость. http://www.caxapa.ru/echo/arm.html?id=49592 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VslavX 0 13 июля, 2006 Опубликовано 13 июля, 2006 · Жалоба Вот результаты тестирования SD/MMC карточек в оптимизированых устройствах, т.е. максимально возможная практическая скорость. http://www.caxapa.ru/echo/arm.html?id=49592 Это скорости новых карт и именно на оптимизированном обрудовании - "подбирайте карту к оборудованию" :). Встроенные в чипы контроллеры далеко не всегда оптимизированные. Например, упомянутый 2410 - там SD/MMC тактируется от периферийного клока PClk, обычно это составляет четверть от ядра - макс 66МГц (оптимизация по скорости, ядро на максимуме @266МГц). Потом внутри SD контроллера этот клок, ессно, делится пополам - имеем 33 МГц, а потом уже есть опциональный прескайлер. И какое значение прескайлера выбрать? Ставим 0 - имеем 33 МГц на SD шине, для v1.0 это много (25МГц макс). Ставим 1 - имеем 33/2->17МГц, это уже недобор :( Короче, вершина видна, но для ее достижения обычного альпснаряжения может не хватить :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться