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

 
 
> Какую максимальную частоту можно считать с портов контроллера?, 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
Ответов
Prinz
сообщение Apr 18 2011, 07:36
Сообщение #2


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

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



Был бы рад краткому курсу по asm LPC )

Код
void CameraTest(void)
  {

    BYTE str1[40];
  
  SCS |= 0x1;
  FIO0DIR_bit.P0_22 = 0;
  #define HSYNC FIO0PIN_bit.P0_22
  FIO2DIR_bit.P2_22 = 0;
  #define PCLK  FIO2PIN_bit.P2_22
  DWORD PixelCount = 0;
  bool FlagReady = false;
  
  while(1)
  {
    while(HSYNC == 1);
    PixelCount = 0;
    while(HSYNC == 0);
    while(1)
    {
      if(HSYNC == 0) break;
      if(PCLK  == 1)
      {
        if(FlagReady)
        {
          //BmpBuff[PixelCount] = 0x56;
            PixelCount ++;
            FlagReady = false;
        }
      }
      else FlagReady = true;
    }
    sprintf((char*)str1,"%u",PixelCount);
    lcd_put_str(10, 28, str1, 0x00FFFFFF,0);    
  }
  }

Вот этотим кусочком я пытаюсь сосчитать стробы.
Подскажите, как он на asm выглядеь будет?
Go to the top of the page
 
+Quote Post
kovigor
сообщение Apr 18 2011, 07:52
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(Prinz @ Apr 18 2011, 10:36) *
Вот этотим кусочком я пытаюсь сосчитать стробы.
Подскажите, как он на asm выглядеь будет?


А вы посмотрите файл листинга и узнаете. От себя добавлю, что ваша идея почти наверняка обречена на неудачу. 4.5МГц - это явно очень быстро. А современные компиляторы генерируют ну почти оптимальный код, и чтобы сделать лучше, программируя на ассемблере, придется серьезно потрудиться ...
Go to the top of the page
 
+Quote Post
Prinz
сообщение Apr 18 2011, 08:04
Сообщение #4


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

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



Цитата(kovigor @ Apr 18 2011, 13:52) *
А вы посмотрите файл листинга и узнаете. От себя добавлю, что ваша идея почти наверняка обречена на неудачу. 4.5МГц - это явно очень быстро. А современные компиляторы генерируют ну почти оптимальный код, и чтобы сделать лучше, программируя на ассемблере, придется серьезно потрудиться ...



CODE
59 void CameraTest(void)
60 {
\ CameraTest:
\ 00000000 30402DE9 PUSH {R4,R5,LR}
\ 00000004 2CD04DE2 SUB SP,SP,#+44
61
62 BYTE str1[40];
63
64 SCS |= 0x1;
\ 00000008 ........ LDR R0,??DataTable1 ;; 0xe01fc1a0
\ 0000000C 000090E5 LDR R0,[R0, #+0]
\ 00000010 010090E3 ORRS R0,R0,#0x1
\ 00000014 ........ LDR R1,??DataTable1 ;; 0xe01fc1a0
\ 00000018 000081E5 STR R0,[R1, #+0]
65 FIO0DIR_bit.P0_22 = 0;
\ 0000001C FF05A0E3 MOV R0,#+1069547520
\ 00000020 FF0980E3 ORR R0,R0,#0x3FC000
\ 00000024 000090E5 LDR R0,[R0, #+0]
\ 00000028 4008D0E3 BICS R0,R0,#0x400000
\ 0000002C FF15A0E3 MOV R1,#+1069547520
\ 00000030 FF1981E3 ORR R1,R1,#0x3FC000
\ 00000034 000081E5 STR R0,[R1, #+0]
66 #define HSYNC FIO0PIN_bit.P0_22
67 FIO2DIR_bit.P2_22 = 0;
\ 00000038 FF01E0E3 MVN R0,#-1073741761
\ 0000003C FE0DC0E3 BIC R0,R0,#0x3F80
\ 00000040 000090E5 LDR R0,[R0, #+0]
\ 00000044 4008D0E3 BICS R0,R0,#0x400000
\ 00000048 FF11E0E3 MVN R1,#-1073741761
\ 0000004C FE1DC1E3 BIC R1,R1,#0x3F80
\ 00000050 000081E5 STR R0,[R1, #+0]
68 #define PCLK FIO2PIN_bit.P2_22
69 DWORD PixelCount = 0;
\ 00000054 0000A0E3 MOV R0,#+0
\ 00000058 0040B0E1 MOVS R4,R0
70 bool FlagReady = false;
\ 0000005C 0000A0E3 MOV R0,#+0
\ 00000060 0050B0E1 MOVS R5,R0
71
72 while(1)
73 {
74 while(HSYNC == 1);
\ ??CameraTest_0:
\ ??CameraTest_1:
\ 00000064 AF01E0E3 MVN R0,#-1073741781
\ 00000068 FF0DC0E3 BIC R0,R0,#0x3FC0
\ 0000006C 000090E5 LDR R0,[R0, #+0]
\ 00000070 400810E2 ANDS R0,R0,#0x400000
\ 00000074 200BB0E1 LSRS R0,R0,#+22
\ 00000078 010050E3 CMP R0,#+1
\ 0000007C F8FFFF0A BEQ ??CameraTest_1
75 PixelCount = 0;
\ 00000080 0000A0E3 MOV R0,#+0
\ 00000084 0040B0E1 MOVS R4,R0
76 while(HSYNC == 0);
\ ??CameraTest_2:
\ 00000088 AF01E0E3 MVN R0,#-1073741781
\ 0000008C FF0DC0E3 BIC R0,R0,#0x3FC0
\ 00000090 000090E5 LDR R0,[R0, #+0]
\ 00000094 400810E2 ANDS R0,R0,#0x400000
\ 00000098 200BB0E1 LSRS R0,R0,#+22
\ 0000009C 000050E3 CMP R0,#+0
\ 000000A0 F8FFFF0A BEQ ??CameraTest_2
77 while(1)
78 {
79 if(HSYNC == 0) break;
\ ??CameraTest_3:
\ 000000A4 AF01E0E3 MVN R0,#-1073741781
\ 000000A8 FF0DC0E3 BIC R0,R0,#0x3FC0
\ 000000AC 000090E5 LDR R0,[R0, #+0]
\ 000000B0 400810E2 ANDS R0,R0,#0x400000
\ 000000B4 200BB0E1 LSRS R0,R0,#+22
\ 000000B8 000050E3 CMP R0,#+0
\ 000000BC 0B00001A BNE ??CameraTest_4
80 if(PCLK == 1)
81 {
82 if(FlagReady)
83 {
84 //BmpBuff[PixelCount] = 0x56;
85 PixelCount ++;
86 FlagReady = false;
87 }
88 }
89 else FlagReady = true;
90 }
91 sprintf((char*)str1,"%u",PixelCount);
\ 000000C0 0420B0E1 MOVS R2,R4
\ 000000C4 ........ ADR R1,??DataTable0 ;; 0x25, 0x75, 0x00, 0x00
\ 000000C8 04008DE2 ADD R0,SP,#+4
\ 000000CC ........ BL sprintf
92 lcd_put_str(10, 28, str1, 0x00FFFFFF,0);
\ 000000D0 0000A0E3 MOV R0,#+0
\ 000000D4 00008DE5 STR R0,[SP, #+0]
\ 000000D8 FF34E0E3 MVN R3,#-16777216
\ 000000DC 04208DE2 ADD R2,SP,#+4
\ 000000E0 1C10A0E3 MOV R1,#+28
\ 000000E4 0A00A0E3 MOV R0,#+10
\ 000000E8 ........ BL _Z11lcd_put_strttPhjj
\ 000000EC DCFFFFEA B ??CameraTest_0
\ ??CameraTest_4:
\ 000000F0 AF01E0E3 MVN R0,#-1073741781
\ 000000F4 FE0DC0E3 BIC R0,R0,#0x3F80
\ 000000F8 000090E5 LDR R0,[R0, #+0]
\ 000000FC 400810E2 ANDS R0,R0,#0x400000
\ 00000100 200BB0E1 LSRS R0,R0,#+22
\ 00000104 010050E3 CMP R0,#+1
\ 00000108 0600001A BNE ??CameraTest_5
\ 0000010C FF5015E2 ANDS R5,R5,#0xFF ;; Zero extend
\ 00000110 000055E3 CMP R5,#+0
\ 00000114 E2FFFF0A BEQ ??CameraTest_3
\ 00000118 014094E2 ADDS R4,R4,#+1
\ 0000011C 0000A0E3 MOV R0,#+0
\ 00000120 0050B0E1 MOVS R5,R0
\ 00000124 DEFFFFEA B ??CameraTest_3
\ ??CameraTest_5:
\ 00000128 0100A0E3 MOV R0,#+1
\ 0000012C 0050B0E1 MOVS R5,R0
\ 00000130 DBFFFFEA B ??CameraTest_3
\ 00000134 REQUIRE _A_SCS
\ 00000134 REQUIRE _A_FIO0DIR
\ 00000134 REQUIRE _A_FIO0PIN
\ 00000134 REQUIRE _A_FIO2DIR
\ 00000134 REQUIRE _A_FIO2PIN
93 }
94 }


Может вы своим провессиональным взглядом, что подскажите??? Где, что надо умотать, чтобы шустрее работало.
У меня даже 1 мегагерц сейчас пиксели пропускаются.

Сообщение отредактировал IgorKossak - Apr 18 2011, 08:05
Причина редактирования: [codebox] !!!
Go to the top of the page
 
+Quote Post
kovigor
сообщение Apr 18 2011, 08:17
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(Prinz @ Apr 18 2011, 11:04) *
Может вы своим провессиональным взглядом, что подскажите??? Где, что надо умотать, чтобы шустрее работало.
У меня даже 1 мегагерц сейчас пиксели пропускаются.


А вы попробуйте сначала сделать вообще без прерывания (для проверки). Запретите все прерывания и просто в цикле ждите фронтов синхроимпульсов или того, что у вас там вместо них, и по этим фронтам читайте ваши данные. Успеете ? Ну, тогда и с прерываниями можно потягаться. Нет ? Тогда и пробовать нечего ...
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   Цитата(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 4.5 это нормальный результат. В идеале надо ...   Apr 22 2011, 09:53
|- - Prinz   Цитата(Rst7 @ Apr 22 2011, 15:53) Можно и...   Apr 22 2011, 10:12
- - 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 Текстовая версия Сейчас: 20th July 2025 - 21:11
Рейтинг@Mail.ru


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