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

 
 
> lpc1313 вопрос по быстродействию
aka-cobra
сообщение Apr 18 2012, 07:18
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 28-03-07
Пользователь №: 26 565



Всем привет!
Есть LPC1313. На его порт (CLK) приходят импульсы с частотой 3.2МГц. По переднему фронту импульса нужно считывать данные с другого порта. Разогнал LPC на 72МГц и не успеваю даже ловить фронт...
Код
          ldr          r0,=0x50023ffc; адрес порта CLK
Prg01_00
          ldr               r1,[r0]
          and          r1,r1,#0x00000001
          cbnz         r1,Prg01_01
          b              Prg01_00
Prg01_01
    ; CLK = 1 - сохраняем данные и повторяем процесс
                ...
                ...
                ...
          b              Prg01_00

Подскажите пожалуйста, что я делаю не так...
Заранее благодарен!

Сообщение отредактировал aka-cobra - Apr 18 2012, 07:23
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 7)
jcxz
сообщение Apr 18 2012, 09:51
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Перенесите процедуру в ОЗУ и приведите код полностью.
Также - сделайте вывод в порт чередующихся 0 и 1 с максимальной частотой
MOVS R1,#0
MVNS R2,R1
STR R1, [R0]
STR R2, [R0]
STR R1, [R0]
STR R2, [R0]
...
и измерьте получившуюся частоту работы GPIO.
Go to the top of the page
 
+Quote Post
aka-cobra
сообщение Apr 18 2012, 12:54
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 28-03-07
Пользователь №: 26 565



а как перенести процедуру в ОЗУ? (keil)
Go to the top of the page
 
+Quote Post
Mahagam
сообщение Apr 18 2012, 14:04
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 322
Регистрация: 2-07-04
Из: Minsk
Пользователь №: 240



самое "не так" это то, что работу по такому скоростному ногодрыгу вы возложили на контроллер, а не на программируемую логику.
Go to the top of the page
 
+Quote Post
aka-cobra
сообщение Apr 18 2012, 14:28
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 28-03-07
Пользователь №: 26 565



Разве это скоростной ногодрыг? Потом мне надо не ногами дрыгать, а получать информацию с частотой 3МГц. Конечно, можно поставить плиску и преобразовывать последовательные данные в параллельные и дальше передавать их на контроллер, но это еще один корпус и лишние связи...Я на 51 контроллере все это успевал на частоте 48МГц...
Go to the top of the page
 
+Quote Post
scifi
сообщение Apr 18 2012, 14:42
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(aka-cobra @ Apr 18 2012, 18:28) *
преобразовывать последовательные данные в параллельные и дальше передавать их на контроллер

Разве SPI для этого не подходит?
Go to the top of the page
 
+Quote Post
aka-cobra
сообщение Apr 18 2012, 14:51
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 28-03-07
Пользователь №: 26 565



Может и подойдет, надо попробовать. А какая максимальная частота CLK SPI?
Go to the top of the page
 
+Quote Post
jcxz
сообщение Apr 19 2012, 01:48
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Если это у вас стандартный SPI, то следует вообще забыть о GPIO.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 02:53
Рейтинг@Mail.ru


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