|
Помогите продумать архитектуру проекта на ARM7 |
|
|
|
Feb 7 2009, 05:14
|
Местный
  
Группа: Свой
Сообщений: 413
Регистрация: 15-12-06
Пользователь №: 23 563

|
Господа, подскажите в какую сторону двигаться, а то я как от Иван перед камнем- направо пойдешь... налево пойдешь...
Задача следующая - необходимо с ARM7 контроллера гнать данные на DM164 (драйвер полноцветных светодиодов) со скоростью 1,5 Мбайт/сек. Само устройство - долго объяснять его принцип работы, да и заказчик пожелал особо не распространяться о деталях, в общем, представьте себе что это видеоэкран из RGB светодиодов размерами 40х240 штук. Данные должны читаться с SD карты с FAT16.
Возможно два варианта: читается блок 57600 байт (28800 по 16 бит) и гоняется 30 раз в секунду, либо непрерывно читается поток данных состоящих из блоков того же размера, 30 раз в секунду. Для првого варианта соответственно есть два подварианта - каждый раз читать его с флешки, либо один раз загнать в память, после чего циклически передавать по SPI.
Я мало разбираюсь в видеосистемах, но подозреваю что без RAM не обойтись. По крайней мере видел как люди, пытавшиеся запустить экран от мобильного телефона организовывали буфера из памяти, в одни грузили, из другого выводили, что существенно повышало быстродействие.
Учитывая вышеизложенное возможно несколько вариантов:
1. Попроще - максимально адаптировать содержимое файла, чтобы гнать из него информацию сразу на драйвер. Т.Е. карта и драйвер сидят на одном SPI, контроллер обращается к карте, инициирует чтение данных, а перед собственно чтением включает CS на драйвере и данные идут минуя контроллер. Сам контроллер конечно следит за процессом, проверят периодически состояние кнопок и пр. Но чует мое сердце, что есть подвох в этой простоте и без RAM не обойтись. С использованием RAM тоже несколько вариантов.
2. Взять контроллер потолще - с 64 кб RAM. 57600 используем под данные, остальные 6кб на посторонние нужды - за глаза. Разбить ее на блоки по 240 байт, блок передали, записали с флешки новый, читаем следующий блок и т.д. Однако в этом случае придется в два раза повысить скорость чтения данных, т.е. 3 мБайт/сек, а максимальная частота драйвера DM164 всего 25 Мгц. Не получится.
3. Взять простой контроллер и использовать внешнюю RAM. Однако мне все равно не совсем понятно, даже если организовать две страницы видеопамяти, как с ними работать - если надо передавать допусти 100 байт в секунду, то ведь их одновременно надо читать, не понадобится ли удвоение скорости чтения и передачи?
4. Взять контроллер их серии SE - там вообще мед - встроенный интерфейс под внешнюю RAM под внешнюю FLASH, в описании сказано, что скорость обмена данными благодаря этому чуть ли не в 5 раз больше. Однако нужен ли такой навороченный камень?
В общем, кто что скажет, какие во всем этом есть подводные камни, проверенные способы, может обойтись первым вариантом? Только не предлагайте ПЛИС, мне и так ARM7 с нуля осваивать.
Спасибо.
|
|
|
|
|
 |
Ответов
|
Feb 7 2009, 13:06
|
Местный
  
Группа: Свой
Сообщений: 413
Регистрация: 15-12-06
Пользователь №: 23 563

|
Я все таки не понял про одновременность. По идее чтобы не только прочитать но и отправить нужно вдвое больше процессорного времени. В ARM7 есть многозадачность? Нельзя ли по подробней про SPI с DMA. DMA есть во всех ARM7? Цитата сдвигового регистра в пар.) Что такое "пар." ? И поподробней, что вы подразумеваете, говоря что промежуточный буфер находится в DM164? Цитата Настраиваешь канал от SPI до регистра(буфера) откуда выводишь В этом случае карта и драйвер светодиода будут сидеть на разных линиях? И еще... возможно я не совсем правильно понял принцип работы DM164 - ее можно включить в 8-битный режим? И еще... возможно я не совсем правильно понял принцип работы DM164 - ее можно включить в 8-битный режим?
|
|
|
|
|
Feb 7 2009, 18:42
|

Частый гость
 
Группа: Свой
Сообщений: 81
Регистрация: 28-07-07
Из: Кишинев
Пользователь №: 29 434

|
Цитата(AlexandrY @ Feb 7 2009, 15:55)  Чета не увидел возможности прицепить DM164 к SPI. Нужен как минимум синхронный постоянный глобальный клок и стробирующие загрузку каждого чипа DM164 импульсы помимо битового клока и данных. Да вроде глобальный клок и не должен быть синхронным. Что касается загрузки, то после выдачи всех данных для всех DM164 выставляется общий строб загрузки (программно). Цитата сдвигового регистра в пар.) пар. = параллельный (поленился однако сразу написать) у DM164 есть сдвиговый регистр (shift reg), а в параллельный (data latch) данные попадают токо после подачи строба загрузки (LTH). Цитата DMA есть во всех ARM7? DMA есть не во всех ARM, но Вам надо тот который имеет DMA.
Сообщение отредактировал Шурила - Feb 7 2009, 18:43
|
|
|
|
Сообщений в этой теме
Зверюга Помогите продумать архитектуру проекта на ARM7 Feb 7 2009, 05:14 WDT Можно еще использовать DMA канал.
Настраиваешь кан... Feb 7 2009, 09:36 Шурила Как будто препятствий не видно
Один процесс посл... Feb 7 2009, 12:28 Зверюга ЦитатаЧтобы брать непрерывно и без задержек из SD ... Feb 7 2009, 15:02 Зверюга Кстати, по поводу тех кто писал про низкую скорост... Feb 7 2009, 18:07 aaarrr Цитата(Зверюга @ Feb 7 2009, 21:07) напис... Feb 7 2009, 18:15 Зверюга ЦитатаБудет дикий тормоз.
Почему? Объясните не бе... Feb 7 2009, 18:36 aaarrr Цитата(Зверюга @ Feb 7 2009, 21:36) По по... Feb 7 2009, 18:43 Зверюга aaarrr
ЦитатаРаботать будут с чем скажете. По пово... Feb 7 2009, 19:08 AlexandrY Идея ваша просто очень дикая.
Сами SD карты и NAND... Feb 7 2009, 19:47 aaarrr Цитата(Зверюга @ Feb 7 2009, 22:08) Можно... Feb 7 2009, 21:13 Зверюга Каким же тогда образом без фликеров осуществляется... Feb 7 2009, 20:26 Зверюга ЦитатаНа самом деле Вам нужен не очень скоростной ... Feb 8 2009, 06:17 Зверюга Вот бенчмарк http://elm-chan.org/fsw/ff/img/rwtest... Feb 8 2009, 08:01 sensor_ua Цитатас SD карты чуть ли не 7 Мбайт/сек читается. ... Feb 8 2009, 08:06 Зверюга ЦитатаВам же внятно сказали
Нет, мне сказали невн... Feb 8 2009, 12:08 AlexandrY Хм, работа по исследованию характеристик скорости ... Feb 8 2009, 20:16 Зверюга ЦитатаЕсли взять ARM с 2-я SPI и грузить экран чер... Feb 9 2009, 06:05 Dog Pawlowa Цитата(Зверюга @ Feb 9 2009, 09:05) ... И... Feb 9 2009, 08:51 Зверюга Гуглил про организацию буфера - мало чего полезног... Feb 10 2009, 08:31 Зверюга Гуглил про организацию буфера - мало чего полезног... Feb 10 2009, 08:31 WDT Слушай , Зверюга! Один мой товарищ делал некий... Feb 10 2009, 08:48 wangan ой чувствую заказчик не получит результат как мини... Feb 10 2009, 08:52 Зверюга WDT - ну я же расписал выше. Примерно то же самое,... Feb 10 2009, 09:01 WDT Цитата(Зверюга @ Feb 10 2009, 12:01) WDT ... Feb 10 2009, 09:22  wangan Цитата(WDT @ Feb 10 2009, 13:22) Тут мне ... Feb 10 2009, 10:43 Зверюга Скорость высокая? Так гр-н Шурила выше все расписа... Feb 10 2009, 10:23 Зверюга wangan, тепло))) Feb 10 2009, 11:14 wangan Ну тогда курсовик валют, но думаю через полгода ну... Feb 10 2009, 11:31 sensor_ua ЦитатаУже 50 минут 5 человек смотрят тему и все мо... Feb 10 2009, 11:32 Зверюга sensor_ua, почему недосуг, яж писал, что я уже пон... Feb 10 2009, 11:47 aaarrr Цитата(Зверюга @ Feb 10 2009, 11:31) Да и... Feb 10 2009, 11:49 Зверюга ЦитатаОрганизуем здоровый буфер для чтения SD, пиш... Feb 10 2009, 11:53 aaarrr Цитата(Зверюга @ Feb 10 2009, 14:53) Или ... Feb 10 2009, 11:58 MikePic Цитатаявно больше, чем 6 Мбит.
Только в спеке указ... Feb 10 2009, 11:55 Зверюга ЦитатаНеSDHC обычная карта microSD Toshiba 2GB, ко... Feb 10 2009, 12:21 aaarrr Цитата(Зверюга @ Feb 10 2009, 15:21) Плюс... Feb 10 2009, 12:26  Dog Pawlowa Цитата(aaarrr @ Feb 10 2009, 16:26) SDRAM... Feb 10 2009, 13:47   aaarrr Цитата(Dog Pawlowa @ Feb 10 2009, 16:47) ... Feb 10 2009, 14:04 Зверюга ЦитатаТолько я нить потерял, автор пишет про многи... Feb 10 2009, 14:37 aaarrr Цитата(Зверюга @ Feb 10 2009, 17:37) В лю... Feb 10 2009, 14:42 Зверюга ЦитатаА в еще боьлшее число не встроен. Впрочем, э... Feb 10 2009, 14:44 aaarrr Цитата(Зверюга @ Feb 10 2009, 17:44) SPI ... Feb 10 2009, 14:54 Зверюга Цитатавозьмите контроллер с железным SD.
- возьмит... Feb 10 2009, 14:58 aaarrr Цитата(Зверюга @ Feb 10 2009, 17:58) Все ... Feb 10 2009, 15:07 Dog Pawlowa Цитата(Зверюга @ Feb 10 2009, 18:58) А ес... Feb 10 2009, 15:19 WDT Чего-то не нашел даташит на этот драйвер DM164... Feb 10 2009, 18:28 Зверюга Цитата(WDT @ Feb 10 2009, 21:28) Чего-то ... Feb 10 2009, 19:45  aaarrr Цитата(Зверюга @ Feb 10 2009, 22:45) 8 би... Feb 10 2009, 21:07   WDT Цитата(aaarrr @ Feb 11 2009, 00:07) 8 бит... Feb 11 2009, 05:48    Dog Pawlowa Цитата(WDT @ Feb 11 2009, 09:48) Это ж ск... Feb 11 2009, 06:49     WDT Цитата(Dog Pawlowa @ Feb 11 2009, 09:49) ... Feb 11 2009, 07:15      Dog Pawlowa Цитата(WDT @ Feb 11 2009, 11:15) Может у ... Feb 11 2009, 07:52       WDT Цитата(Dog Pawlowa @ Feb 11 2009, 10:52) ... Feb 11 2009, 08:24        Dog Pawlowa Цитата(WDT @ Feb 11 2009, 11:24) Может в ... Feb 11 2009, 08:38         WDT Цитата(Dog Pawlowa @ Feb 11 2009, 11:38) ... Feb 11 2009, 09:03    aaarrr Цитата(WDT @ Feb 11 2009, 08:48) А насчет... Feb 11 2009, 11:32     WDT Цитата(aaarrr @ Feb 11 2009, 14:32) Непло... Feb 11 2009, 13:19 aaarrr DM164 Feb 10 2009, 18:32 WDT Я тут о чем подумал, Зверюга... У меня посветка на... Feb 10 2009, 18:47 rezident Цитата(WDT @ Feb 10 2009, 23:47) Так вот ... Feb 11 2009, 01:55 Rst7 Господа, а может стоит подумать об упаковке кадров... Feb 10 2009, 23:19 aaarrr Цитата(Rst7 @ Feb 11 2009, 02:19) Господа... Feb 11 2009, 01:01 Зверюга Качественного видео не надо. В лучшем случае карти... Feb 11 2009, 03:57 Зверюга Скажите, а разве нельзя сделать реализацию SD прог... Feb 12 2009, 09:24 WDT Цитата(Зверюга @ Feb 12 2009, 12:24) Скаж... Feb 12 2009, 09:50 KAlex Цитата(Зверюга @ Feb 12 2009, 12:24) Скаж... Feb 12 2009, 10:42  WDT Цитата(KAlex @ Feb 12 2009, 13:42) Для чт... Feb 13 2009, 05:35   aaarrr Цитата(WDT @ Feb 13 2009, 08:35) Может я ... Feb 13 2009, 11:21   KAlex Цитата(WDT @ Feb 13 2009, 08:35) Я наверн... Feb 13 2009, 11:22 aaarrr Цитата(Зверюга @ Feb 12 2009, 12:24) Скаж... Feb 12 2009, 11:11
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|