Помогите решить задачу на скорость!

Обсуждаем контроллеры компании Atmel.
Ответить
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Сообщение Reflector »

[uquote="clawham",url="/forum/viewtopic.php?p=3189236#p3189236"]ну Rx есть а что такое B ? чего не написать сразу в столбике?[/uquote]
На первой странице DS написано, что всего есть 4 модификации(x4/x6/x8/xB), т.е. B находится в последней колонке. Но согласен, могли бы написать прямо в таблице...
Кстати снова таки вопрос - Debugwire - это то что есть как программатор-отладчик в stm32vldiscovery? оно получается под любые их процы? только две ноги надо ?
Да, две ноги(три, с необязательным RESET), под все их процы, программатор/отладчик стоит ~2.5$ или собирается самостоятельно на F103C8/F072C8, причем по этим двум ногам еще и инфу в консоль умеет слать. Без программатора шьется по USART, некоторые чипы и по USB.
Я чесно говоря не хочу арма. а оперативки мне надо совсем мало. мне хватит всего 4-5 кадров при 8 битах цвета на одну точку на 32 светика.
это ж всего 8 килов при 256 лучах на круг или 3,2 кила на круг при 100 лучах! этого вполне более чем за глаза. 64 кила взялись из попытки заставить мегу тупо копировать оперативка-спи и чтоб больше она ничем не занималась.
Тогда возможно хватит даже самого мелкого F030F4P6 на 20ног, с 4К RAM, там есть SPI и USART, гонится до ~100MHz.
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Сообщение Z_h_e »

Может подумать в сторону распараллеливания задачи? Ну т.е. одну линейку разбить, например, на 4 и одновременно задвигать данные по 4 каналам?

Добавлено after 6 hours 1 minute 36 seconds:
Можно вместо ОЗУ попробовать применить флешку типа АТ25. То есть с SPI. Выход флешки подключить сразу на сдвиговые регистры. Перед нулевой строкой МК отправляет команду чтения и адрес, а потом только молоти частотой на sck и защелкивай данные вовремя.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Реклама
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса

Сообщение clawham »

ну пока я пытаюсь подняться на stm32f100rbt6 - разогнал его до 56 мегагерц. таймера там что надо ну и дма и спи быстрый. сичас попробую уже собираю макетку :) пока чисто в теории - успевает легко.

ну вот и результат!

Строка рав данных длиною в 12 бит * 16 каналов одного чипа * 6 чипов в одной линейке * 3 линейки на круг = 3456 бит или 432 байта - выплевывается непрерывно с оперативки проца через спи и ДМА на скорости 3,8 килогерц! мне нужно было всего 1.6 килогерц(128 линий на круг * 14 герц скорость вращения).

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

Тоесть мне надо будет пока спи пулеметит с дма - прочитать 432 байта из оперативки обращаясь разом к одному порту А для установки адреса, выжыдаем 4 такта проца и читаем что там на порту Б ну и сохраняем во временный буффер - тот что передатсся следующим.

итого вместе с этой катавасией - частота перерисовки упала до 1.8 килогерц....печаль...впритык.
И это проц stm32f100fbt6 разогнанный до 56 мегагерц! 60 не берет :) Буду искать быстрые способы читать и писать в порт целиком. сейчас использую такие конструкции:
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_All, 0xFFFF);
HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_All);

понимаю что это капец как неоптимально.

Переделал на прямое чтение портов - стало нереально круто - 6 килогерц! теперь прохожу просто со свистом :) можно даже разгон снять с проца :)
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Контактная информация:
Ответить

Вернуться в «AVR»