реклама на сайте
подробности

 
 
> Какую максимальную частоту можно считать с портов контроллера?, LPC2478
Prinz
сообщение Apr 15 2011, 11:24
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 184
Регистрация: 11-09-08
Пользователь №: 40 121



Использую контроллер LPC2478.
Перефирия на частоте 72МГц.
Подскажите пожалуйста какую максимальную частоту можно считать этим контроллером с его портов?
И как будет быстрее в прерывании по изменении порта или в лмнлвнлм цикле?
Как правильно настроить ИАР для этого?
Поделитесь Ваши опытом пожалуйста. Самостоятельно у меня получилось считать только до 1 MHz. И то с натягом.
Заранее спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Rst7
сообщение Apr 22 2011, 09:53
Сообщение #2


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



QUOTE
4.5 это нормальный результат. В идеале надо 9.


Можно и 9. На асме и с считыванием кратно 3м байтам.

CODE
        SECTION `.textrw`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, SHF_WRITE | SHF_EXECINSTR
        ARM
//  189 __ramfunc unsigned int GetScanLine(unsigned char *dest, unsigned long volatile *port)
//  190 {
//  191   unsigned int v;
//  192   unsigned char *d=dest;
GetScanLine:
        MOV      R2,R0
//  193   while(!((*port) & 0x400000));
??GetScanLine_0:
        LDR      R3,[R1, #+0]
        TST      R3,#0x400000
        BEQ      ??GetScanLine_0
//  194   while(!((*port) & 0x800000));
??GetScanLine_1:
        LDR      R3,[R1, #+0]
        TST      R3,#0x800000
        BEQ      ??GetScanLine_1
//  195   do
//  196   {
//  197     v=*port;
??GetScanLine_2:
        LDR      R3,[R1, #+0]
//  198     *d++=v;
        STRB     R3,[R2], #+1
//  199     if (!(v&0x800000)) {v=*port;}
        TST      R3,#0x800000
        LDREQ    R3,[R1, #+0]
//  200     v=*port;
        LDR      R3,[R1, #+0]
//  201     *d++=v;
        STRB     R3,[R2], #+1
        TST      R3,#0x400000
//  203     __no_operation();
        Nop      
//  204     __no_operation();
        Nop      
//  205     v=*port;
        LDR      R3,[R1, #+0]
//  206     *d++=v;
        STRB     R3,[R2], #+1
//  207   }
//  208   while(v & 0x400000);
        BNE      ??GetScanLine_2
//  209   return d-dest;
        SUB      R0,R2,R0
        BX       LR              ;; return
//  210 }


Смысл в том, что в одном цикле считывается три байта и доп. действия распределены так - на первом байте - ФАПЧ, на втором - проверка конца строки, на третьем - собственно цикл. Обратите внимание, что собственно чтение с порта выполняется всегда на точке, кратной 8ми тактам, т.е. 72/8=9МГц.

QUOTE
А правильный memcpy это какой???


Который не по байту копирует, а пачками слов через LDM/STM.

QUOTE
У меня память подключена по 16 бит.


Ну уже хуже.

QUOTE
Прилогаю usermanual:


Ну и? Вам еще и начальные настройки разжевывать? Учить азам ремесла? Уж извините, молодой человек, но Вам уже все на блюдечке принесли. Дальше - за деньги, или включайте собственный мозг, учите матчасть.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Prinz
сообщение Apr 22 2011, 10:12
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 184
Регистрация: 11-09-08
Пользователь №: 40 121



Цитата(Rst7 @ Apr 22 2011, 15:53) *
Можно и 9. На асме и с считыванием кратно 3м байтам.

Смысл в том, что в одном цикле считывается три байта и доп. действия распределены так - на первом байте - ФАПЧ, на втором - проверка конца строки, на третьем - собственно цикл. Обратите внимание, что собственно чтение с порта выполняется всегда на точке, кратной 8ми тактам, т.е. 72/8=9МГц.

Который не по байту копирует, а пачками слов через LDM/STM.

Ну уже хуже.

Ну и? Вам еще и начальные настройки разжевывать? Учить азам ремесла? Уж извините, молодой человек, но Вам уже все на блюдечке принесли. Дальше - за деньги, или включайте собственный мозг, учите матчасть.


Понятно, буду выжимать мксимум, но я ещё дождусь другой контроллер с готовым интерфейсом.
Тоесть его писать самому? Его нет в библиотеках, как на билдере?
Если честно, то я на армах всего 3-ю неделю пишу, но разжёвывать не надо, я его на всякий случай выложил, раз вы сказали его нет под рукой.
Никогда ничего не покупал, всё сам, так что лучше вариант второй, с мозгом который)))
За помощь спасибо.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Prinz   Какую максимальную частоту можно считать с портов контроллера?   Apr 15 2011, 11:24
- - scifi   Для точного захвата внешних сигналов следует испол...   Apr 15 2011, 11:30
|- - Prinz   Цитата(scifi @ Apr 15 2011, 17:30) Для то...   Apr 15 2011, 11:37
|- - kovigor   Цитата(Prinz @ Apr 15 2011, 14:37) И как ...   Apr 15 2011, 12:02
|- - Prinz   Цитата(kovigor @ Apr 15 2011, 18:02) Боюс...   Apr 18 2011, 05:33
- - Rst7   Строб заводите на ножку прерывания. Режим для этог...   Apr 16 2011, 15:12
- - Prinz   Был бы рад краткому курсу по asm LPC ) Кодvoid Ca...   Apr 18 2011, 07:36
|- - kovigor   Цитата(Prinz @ Apr 18 2011, 10:36) Вот эт...   Apr 18 2011, 07:52
|- - Prinz   Цитата(kovigor @ Apr 18 2011, 13:52) А вы...   Apr 18 2011, 08:04
|- - kovigor   Цитата(Prinz @ Apr 18 2011, 11:04) Может ...   Apr 18 2011, 08:17
|- - Prinz   Цитата(kovigor @ Apr 18 2011, 14:17) А вы...   Apr 18 2011, 08:35
|- - Слесарь   Цитата(Prinz @ Apr 18 2011, 12:35) Мне на...   Apr 18 2011, 08:36
|- - Prinz   Цитата(Слесарь @ Apr 18 2011, 14:36) Тогд...   Apr 18 2011, 08:46
|- - scifi   Цитата(Prinz @ Apr 18 2011, 12:46) Я не в...   Apr 18 2011, 11:16
|- - ViKo   Цитата(scifi @ Apr 18 2011, 14:16) Лучше ...   Apr 18 2011, 11:33
|- - Prinz   Цитата(ViKo @ Apr 18 2011, 17:33) Наверно...   Apr 18 2011, 11:38
|- - ViKo   Цитата(Prinz @ Apr 18 2011, 14:38) А како...   Apr 18 2011, 11:59
- - Слесарь   Я при тактовой частоте 24 мГц PIC контроллера, уст...   Apr 18 2011, 08:18
- - Слесарь   проблема может статься в задержке распространения ...   Apr 18 2011, 08:58
|- - Prinz   Цитата(Слесарь @ Apr 18 2011, 14:58) проб...   Apr 18 2011, 09:10
- - Слесарь   У тебя есть осцилограф Если бы у меня был осц...   Apr 18 2011, 09:21
|- - Prinz   Цитата(Слесарь @ Apr 18 2011, 15:21) У те...   Apr 18 2011, 09:28
||- - Слесарь   Цитата(Prinz @ Apr 18 2011, 13:28) Я так ...   Apr 18 2011, 09:47
||- - Prinz   Цитата(Слесарь @ Apr 18 2011, 15:47) Мало...   Apr 18 2011, 09:53
|- - ViKo   Цитата(Слесарь @ Apr 18 2011, 12:21) Если...   Apr 18 2011, 11:07
|- - Prinz   Цитата(ViKo @ Apr 18 2011, 17:07) У меня ...   Apr 18 2011, 11:12
- - Prinz   Коллеги, кто ещё что посоветует? Прерывание счиате...   Apr 18 2011, 10:58
- - Rst7   Во-первых, я не помню, но посмотрите, есть ли в Ва...   Apr 18 2011, 12:10
|- - Prinz   Цитата(Rst7 @ Apr 18 2011, 18:10) Во-перв...   Apr 19 2011, 07:39
- - Prinz   Кодvoid CameraTest(BYTE *BmpBuff) 92 {...   Apr 19 2011, 09:51
- - Rst7   QUOTE Сделал, по Вашему совету. Разве я вам такое...   Apr 19 2011, 10:56
|- - Prinz   Цитата(Rst7 @ Apr 19 2011, 16:56) Разве я...   Apr 19 2011, 11:21
- - Rst7   QUOTE Я его пробовал, он почему-то хуже работает. ...   Apr 19 2011, 11:26
|- - Prinz   Цитата(Rst7 @ Apr 19 2011, 17:26) Покажит...   Apr 19 2011, 12:04
- - Rst7   QUOTE Я бы не писал это ересь, если бы она не рабо...   Apr 19 2011, 12:57
|- - Prinz   Цитата(Rst7 @ Apr 19 2011, 18:57) Ага, то...   Apr 20 2011, 04:57
- - Rst7   Вы бы все-таки огласили параметры тактового сигнал...   Apr 20 2011, 07:58
|- - Prinz   Цитата(Rst7 @ Apr 20 2011, 13:58) Вы бы в...   Apr 20 2011, 08:48
- - Rst7   QUOTE Ну только ради Вас: Это я и так понимаю. А ...   Apr 20 2011, 10:25
|- - Prinz   Цитата(Rst7 @ Apr 20 2011, 16:25) Это я и...   Apr 20 2011, 10:50
- - Flexz   А обязательно по PCLK синхронизироваться каждый ра...   Apr 20 2011, 11:23
|- - Prinz   Цитата(Flexz @ Apr 20 2011, 17:23) А обяз...   Apr 20 2011, 12:07
- - Rst7   QUOTE он же стабильный и кратный частоте проца. Э...   Apr 20 2011, 12:27
|- - Prinz   Цитата(Rst7 @ Apr 20 2011, 18:27) . 1) Ч...   Apr 21 2011, 05:57
- - Rst7   QUOTE 1) Что-то мой иар не знает __delay_cycles дл...   Apr 21 2011, 08:09
|- - Prinz   Накатал кодик: Код__ramfunc unsigned int GetScanL...   Apr 21 2011, 08:46
- - Rst7   QUOTE Оцените, пожалуйста. Ересь какая-то. У Вас ...   Apr 21 2011, 10:09
|- - Prinz   Цитата(Rst7 @ Apr 21 2011, 16:09) Ересь к...   Apr 21 2011, 10:12
- - Rst7   QUOTE А что нельзя, в начале один раз затактироват...   Apr 21 2011, 10:15
|- - Prinz   Цитата(Rst7 @ Apr 21 2011, 16:15) Нельзя,...   Apr 21 2011, 11:27
- - Rst7   QUOTE Это должно быть так!? Уберите вот эти _...   Apr 21 2011, 11:53
|- - Prinz   Цитата(Rst7 @ Apr 21 2011, 17:53) Уберите...   Apr 22 2011, 04:58
- - Rst7   QUOTE Что нет так? Ну надо точно засинхронизирова...   Apr 22 2011, 06:44
|- - Prinz   Цитата(Rst7 @ Apr 22 2011, 12:44) Ну надо...   Apr 22 2011, 08:28
- - Rst7   QUOTE 1,125 MHz Поднимает на ура и железно. Это е...   Apr 22 2011, 08:50
|- - Prinz   Цитата(Rst7 @ Apr 22 2011, 14:50) Это еще...   Apr 22 2011, 08:58
- - Rst7   QUOTE 6 всё равно маловато, надо 9 ) Вы бы опреде...   Apr 22 2011, 09:11
|- - Prinz   Цитата(Rst7 @ Apr 22 2011, 15:11) Вы бы о...   Apr 22 2011, 09:34
- - Rst7   QUOTE Тоесть его писать самому? Его нет в библиоте...   Apr 22 2011, 10:26
- - Prinz   Цитата(Rst7 @ Apr 22 2011, 16:26) Посмотр...   Apr 22 2011, 10:32


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 13:54
Рейтинг@Mail.ru


Страница сгенерированна за 0.01478 секунд с 7
ELECTRONIX ©2004-2016