Easyelectronics.ru

Электроника для всех
Текущее время: 23 май 2017, 15:33

Часовой пояс: UTC + 5 часов



    • Изготовление печатных плат. Примерные цены: 10 штук 2-слоя 100*100mm 8.21$ или около ~470 рублей
    • Создание принципиальных схем и проектирование печатных плат
    • Симуляция работы на spice моделях
    • Просмотр GERBER файлов

Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Как разгонать плату на LPC2468 заменой кварца 8МГц на другой
СообщениеДобавлено: 02 фев 2014, 13:54 
Старожил

Зарегистрирован: 21 мар 2012, 14:33
Сообщения: 404
Хотелось бы повысить вычислительную производительность платы, построенной на процессоре LPC2468. После просмотра документации и попыток оптимизации алгоритма пришла идея заменить кварц. Имеется: плата на LPC2468, на SPI к процессору подключено несколько чипов (которые мне даже и не нужны). Сейчас в деревне и нет возможности попробовать, а идея постоянно крутится в голове. Какие проблемы могут возникнуть? Например, может ли появиться перегрев при температурных испытаниях до +60 градусов.

В прошивке правил только алгоритм, а в инициализацию всехо хозяйства на плате особо не вникал. Предполагаю, что можно убрать всю работу по SPI с чипами, которые мне и не нужны, остаётся только настроить работу UART.
По документации написано чип до 72МГц, какой кварц реально поставить в аналогичном корпусе? Подозреваю, что только что-нибудь около 18МГц?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как разгонать плату на LPC2468 заменой кварца 8МГц на другой
СообщениеДобавлено: 02 фев 2014, 16:30 
Старожил

Зарегистрирован: 19 июн 2012, 14:17
Сообщения: 3435
Оставьте кварц в покое, в камне есть умножитель частоты с ФАПЧ (PLL).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как разгонать плату на LPC2468 заменой кварца 8МГц на другой
СообщениеДобавлено: 09 мар 2014, 19:51 
Старожил

Зарегистрирован: 21 мар 2012, 14:33
Сообщения: 404
Спасибо, надоумили. Изучил вопрос, отыскал в исходниках инициализацию PLL.
Оказывается уже всё по максимуму - 72МГц...
PLLCFG_Val EQU 0x0000000B
CCLKCFG_Val EQU 0x00000003
2*12*12/4 = 72 МГц

Возможна ли замена этого микропроцессора на более быстродействующий и совместимый по пинам и коду?
http://www.nxp.com/products/microcontro ... C2400.html - посмотрел здесь, отличия только во FLASH и RAM.

Что-нибудь побыстрее вообще водится? Из этой же ценовой категории или дешевле, памяти RAM не более 30кб.
Нужна скорость раза в 4 быстрее, всё съедают вложенные циклы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как разгонать плату на LPC2468 заменой кварца 8МГц на другой
СообщениеДобавлено: 10 мар 2014, 12:31 
Старожил

Зарегистрирован: 15 янв 2013, 13:24
Сообщения: 5665
tmtlib писал(а):
Что-нибудь побыстрее вообще водится? Из этой же ценовой категории или дешевле, памяти RAM не более 30кб.
Этот МК на давно устаревшем ядре ARM7. Быстрее - это новые ядра ARM-Cortex-M3 (например, LPC1768) и ARM-Cortex-M4 (они аж до ~200 МГц бывают, причём кварц может оставаться тем же 8МГц). Но для них плата будет другая.
tmtlib писал(а):
Нужна скорость раза в 4 быстрее, всё съедают вложенные циклы.
Подозреваю, что можно сам алгоритм переписать, а МК оставить в покое. Что вычисляете?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как разгонать плату на LPC2468 заменой кварца 8МГц на другой
СообщениеДобавлено: 10 мар 2014, 13:27 
Старожил

Зарегистрирован: 21 мар 2012, 14:33
Сообщения: 404
Ищу максимумы в нескольких 2D массивах, похоже на обработку картинки. Ищется максимум, "заливается" нулями, потом по второму разу и т.д.. Максимумов бывает до 10 штук.

Пока что нашёл небольшое место, где можно было бы избавиться от 20мс задержки. По последовательному порту от другой микросхемы приходят исходные данные. Чтение из порта идёт не по прерываниям, а в основном цикле. Если внешняя микросхема ещё не очухалась, то идёт простой, иногда достигающий 20мс. Я заменил чтение данных на пусышку, сразу заметный прирост по скорости.

Обмен с внешней микросхемой идёт по UART3. Пытаюсь вынести чтение в прерывание, и завести буфер на приходящие данные.
Пока разбирался в программе, нашёл только одно место с прерываниями:
Код:
VICVectAddr4=(unsigned) Tmr0Irq;
VICVectPriority4=0x00000000;
VICVectAddr=0x0;
VICIntEnable=0x00000010;


включается только таймер. Попробовал по образу и подобию сделать следующую штуку:
Код:
VICVectAddr4=(unsigned) Tmr0Irq;
VICVectPriority4=0x00000000;
//VICVectAddr=0x0;
//VICIntEnable=0x00000010;

VICVectAddr29=(unsigned) Uart3Irq; // в обработчик прерываний почему-то не заходит
VICVectPriority29=0x00000001;
VICVectAddr=0x0;
VICIntEnable=0x20000010;


сижу думаю что тут

UPDATE:
добавил
Код:
U3IER=1

прерывания по чтению заработали, щас будем оптимизировать


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как разгонать плату на LPC2468 заменой кварца 8МГц на другой
СообщениеДобавлено: 10 мар 2014, 14:04 
Старожил

Зарегистрирован: 15 янв 2013, 13:24
Сообщения: 5665
Скорость поступления данных по UART'у (сотни бит в секунду) на порядки меньше, чем скорость работы CPU (72 MHz, работа с 32-хбитными словами). Так что, уверен, можно успеть обработать все данные и на LPC2468.

Приём данных с UART ускорится не только работой по прерыванию, но и буферизацией приёма в достаточно большой массив. То есть не надо алгоритму обработки реагировать на каждый принятый байт, пусть поднакопятся сначала.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как разгонать плату на LPC2468 заменой кварца 8МГц на другой
СообщениеДобавлено: 10 мар 2014, 15:42 
Старожил

Зарегистрирован: 21 мар 2012, 14:33
Сообщения: 404
Возникла проблема, на плате нету выхода для JTAG. Из документации я понял, что SWD здесь нету..
После принятия байтов по UART3 перестаёт работать отправка по таймеру в UART2.
Плата четырёхслойная, и не видно есть ли что-то на ногах JTAG, только если отпаивать целиком микропроцессор. Вообще имеет ли смысл в таком случае подпаиваться к JTAG, или на тех ногах уже может что-нибудь другое сидеть?

Пока что посылаю байтики в работающий UART2 из разных частей программы. 12345 и т.д., чтобы понять где стопорится.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как разгонать плату на LPC2468 заменой кварца 8МГц на другой
СообщениеДобавлено: 10 мар 2014, 15:52 
Старожил

Зарегистрирован: 15 янв 2013, 13:24
Сообщения: 5665
tmtlib писал(а):
имеет ли смысл в таком случае подпаиваться к JTAG, или на тех ногах уже может что-нибудь другое сидеть?
Посмотрите в даташите: чтО из присутствующего на плате может находиться на JTAG-пинах. Потом сверьтесь со списком занятых пинов в исходном тексте проекта. Если даже что-то конфликтующее обнаружится - Вы же говорили, что SPI-устройства Вам не нужны. В общем, думаю, что пины JTAG удастся высвободить.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB