|
Какую максимальную частоту можно считать с портов контроллера?, LPC2478 |
|
|
|
 |
Ответов
|
Apr 22 2011, 06:44
|

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

|
QUOTE Что нет так? Ну надо точно засинхронизироваться с началом PCLK, видимо как-то так: CODE while(!((*port) & HSYNC_MASK)); while (!((*port) & PCLK_MASK)); do { v = *port; ... Рекомендую вместо __no_operation() добавить дергание какой-либо ножкой порта и посмотреть, в какие моменты времени происходит считывание. Благо, сейчас там у Вас очень много nop'ов. QUOTE Тут вроде как написано, что это трёх проводная последовательная шмна. Как она должна мне помочь? Просветите пожалуйста. Черт... Пардон... У Вас же шина параллельная. Да, конечно, не поможет, это я загнался
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Apr 22 2011, 08:28
|
Частый гость
 
Группа: Участник
Сообщений: 184
Регистрация: 11-09-08
Пользователь №: 40 121

|
Цитата(Rst7 @ Apr 22 2011, 12:44)  Ну надо точно засинхронизироваться с началом PCLK, видимо как-то так: Рекомендую вместо __no_operation() добавить дергание какой-либо ножкой порта и посмотреть, в какие моменты времени происходит считывание. Благо, сейчас там у Вас очень много nop'ов. Черт... Пардон... У Вас же шина параллельная. Да, конечно, не поможет, это я загнался  Вот результат моего творчества: Код __ramfunc unsigned int GetScanLine(unsigned char *dest, unsigned long volatile *port) { unsigned int v; unsigned char *d = dest; while(!((*port) & HSYNC_MASK)); while(!((*port) & PCLK_MASK)); do { v = *port; *d++ = v; if (!(v & PCLK_MASK)) { v = *port; } FIO2SET |= 1 << 10; __no_operation(); __no_operation(); FIO2CLR |= 1 << 10; __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); } while((v & HSYNC_MASK)); return d - dest; } 1,125 MHz Поднимает на ура и железно. Возникла другая проблема вот в этом месте: *d++ = v; Когда в функцию передаёшь указатель на внутреннею память, тоесть просто создаёшь BYTE buff[500]; Всё нормально, *d++ = v эта команда выполняется с постоянное число тактов. А когда передаёшь на внешнюю память, то вот это *d++ = v; каманда исполняется за разное число тактов. Проверил точно предложенным Вами способом. В чём проблема. Может как-то не так настроена внешняя память??? Из - за этого сбивается вся синхронизация и поэтому получается такой своего рода случайный процесс. ))) Помогите пожалуйста и как правильно объявлять массив во внешней памяти?
|
|
|
|
Сообщений в этой теме
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 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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|