Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: LPC17xx: GPDMA, арбитраж AHB
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
jcxz
Кто-нить работал на семействе LPC17xx с SSP/GPDMA на SCLK-частоте SSP равной 1/4 от частоты CPU?
Или с другой периферией на высокой скорости обмена?
Есть два канала GPDMA - приём и передача. Прерывание стоит по завершении приёма блока.
На одной из транзакций происходит следующее - после старта DMA, жду завершения, не дожидаюсь - таймаут,
смотрю регистры - вижу что передающий канал полностью отработал, а приёмный - не полностью - от 1-го до 4-байт
не принято. Такое ощущение, что теряется один из "burst request".
При понижении частоты CPU в два раза (со 100 до 50МГц) картина та же (SCLK соотв. тоже ниже).
На меньшей частоте SCLK - всё ок (проверено на неск. миллионах транзакций).
На другом процессоре (LPC1778, но это уже другое семейство), всё тоже ок на частоте SCLK==CPU_CLK/4, но в нём есть
регистр управления приоритетами арбитра AHB (и максимальный приоритет выставлен для GPDMA).
В LPC17xx нет возможности поставить GPDMA максимальный приоритет.
Или всё-таки есть? Может кто знает?
Управление SSEL через GPIO.
Неужто перегрузка шины AHB транзакциями CPU и GPDMA может приводить к потерям запросов DMA???? smile3046.gif
jcxz
Вот здорово - уменьшил размер пакета на приём/передачу до одного слова - всё заработало. wacko.gif
Получается что с SSP пакетные запросы к GPDMA не работают корректно на больших скоростях???
Раньше стояло: размер пакета для периферии (SSP) == 4, для памяти == 1.
Думал, что FIFO SSP формирует пакетный DMA-запрос при заполнении наполовину или таймауте....
На LPC1778 всё нормально работает и с пакетными запросами, а вот на LPC17xx такая бяка....
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.