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

 
 
> Расчёт скорости GPIO, какова максимальна скорость дрогонья и чтения?
bullit
сообщение Dec 22 2008, 11:23
Сообщение #1


пуля
****

Группа: Свой
Сообщений: 674
Регистрация: 10-05-06
Из: Уфа
Пользователь №: 16 959



День добрый всем!

Прошу помочь с расчётом.
Есть мк LPC2194. Необходимо проделать следующее
1) считать значение порта Р0 с 0 по 7 (8 линий)
2) с "0" на "1" переключить одну ногу(не из тех 8 линий)
3) снова считать значение (1)
4) значения по байтно записывать в память оперативную
Условия:
- и на всё это отводится не более 900 нс.
- цикл (1-4) повторяется раз в 2 мкс
- VPBDIV = 0 , т.е. деления частоты для переферии нет = частоте тактирования проца. (хотя не уверен)
- Кварц 10МГц, с ФАПЧ 60 МГц.

Можно ли успеть?
Думаю асм вставку придётся делать... + код в оперативу кидать...

К сожелению генератора под рукой нет... чтоб проверить.

А смысл в следующем: у ацп есть функция смена местами на выводах старшую и младшую байт, тем самым используя 8 линий сосчитать 16 бит. Для этого нужно "менять" уровень на определённой ноге.

Уж не знаю с какой скорость читать будет... но обычный "дрогатель":
Код
IO0SET = 0x40000000;
IO0CLR = 0x40000000;
Дал мне максимум 2,5 МГц при расположение кода в оперативе... Это максимум? (правда сейчас стоит проц 2294 и кварц 14,7456 МГц и ФАПЧ до 56 МГц должно разгонять)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
bullit
сообщение Feb 21 2009, 04:39
Сообщение #2


пуля
****

Группа: Свой
Сообщений: 674
Регистрация: 10-05-06
Из: Уфа
Пользователь №: 16 959



Спасибо большое! Не думал что так много ошибок, + перенос переключение реад старший младший байт - как это я его не догадался перенести...
Да, оптимизацией кода я действительно никогда не занимался. Имею опыт работы только с Мегами от АVR. Оптимизация никогда не требовалась...

Во вторник буду проверять!

А где можно посмотреть в сторону оптимизации кода? т.е. какие операции выполняются с разной скоростью, ну и все подобное.... Потому как прямо такого не встречал!

PS C наступающим всех, с 23 февралем!
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Feb 21 2009, 07:42
Сообщение #3


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(bullit @ Feb 21 2009, 10:39) *
А где можно посмотреть в сторону оптимизации кода?

В листинге smile.gif
А длительность инструкций процессора ARM7 в файле arm7tdmi.pdf. Должен лежать где-нибудь в сети.

Думаю можно ещё ускорить перенеся CONV_START в конец, сразу после чтения обоих каналов
CODE

CONV_START
CONV_STOP

for (u16 i = 0; i<1000; i++) {
READ_LOWBYTE2
READ_LOWBYTE1

while(BUSY_ADC1 == 1){};

START_READ1
mb = FIO0PIN0;
READ_HIGHBYTE1
sb = FIO0PIN0;
*ptr++ = (mb & 0xff) | (sb << 8);
STOP_READ1

START_READ2
mb = FIO0PIN0;
READ_HIGHBYTE2
sb = FIO0PIN0;
*ptr++ = (mb & 0xff) | (sb << 8);
STOP_READ2
CONV_START
CONV_STOP
}


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- bullit   Расчёт скорости GPIO   Dec 22 2008, 11:23
- - GetSmart   Для IOPIN, IOSET, IOCLR запись в порт 7 тактов, чт...   Dec 22 2008, 12:03
- - bullit   МК именно 01. (только сейчас на олимексовской плат...   Dec 22 2008, 12:40
- - GetSmart   Цитата(bullit @ Dec 22 2008, 17:23) ... У...   Dec 22 2008, 15:58
- - bullit   ЦитатаКроме того, неясно, кроме чтения/записи в по...   Dec 22 2008, 18:05
|- - aaarrr   Цитата(bullit @ Dec 22 2008, 21:05) Как л...   Dec 22 2008, 19:00
|- - GetSmart   Цитата(bullit @ Dec 23 2008, 00:05) Да бу...   Dec 23 2008, 04:46
- - bullit   ЦитатаА эти две миллисекунды нельзя полностью ...   Dec 23 2008, 04:59
|- - GetSmart   Цитата(bullit @ Dec 23 2008, 10:59) А вот...   Dec 23 2008, 05:14
|- - aaarrr   Цитата(bullit @ Dec 23 2008, 07:59) Т.к. ...   Dec 23 2008, 06:50
- - bullit   Чесно говоря не понял что Вы предлогаете. Я считыв...   Dec 23 2008, 07:30
|- - GetSmart   Цитата(bullit @ Dec 23 2008, 13:30) ... Н...   Dec 23 2008, 07:49
|- - aaarrr   Цитата(bullit @ Dec 23 2008, 10:30) Ну вр...   Dec 23 2008, 08:23
- - bullit   У меня обе АЦПшки висят на одном порту. АЦП имеет ...   Dec 23 2008, 09:46
|- - aaarrr   Цитата(bullit @ Dec 23 2008, 12:46) НО то...   Dec 23 2008, 09:56
|- - GetSmart   Цитата(bullit @ Dec 23 2008, 15:46) Завод...   Dec 23 2008, 10:43
- - bullit   Я подумал на один пин Думаю поступлю именно как В...   Dec 23 2008, 11:05
|- - GetSmart   Цитата(bullit @ Dec 23 2008, 17:05) Даже ...   Dec 23 2008, 11:33
- - bullit   Хотел бы поднять тему, с целью получения совета, н...   Feb 3 2009, 15:56
|- - aaarrr   Цитата(bullit @ Feb 3 2009, 18:56) Вот ка...   Feb 3 2009, 16:48
- - bullit   1000 прощений!!! не 2 бита, а 2 байта...   Feb 3 2009, 18:15
|- - aaarrr   Цитата(bullit @ Feb 3 2009, 21:15) не 2 б...   Feb 3 2009, 18:25
- - bullit   К сожелению я с С/С++ пока на Вы. В дельфях еще бо...   Feb 3 2009, 18:35
|- - aaarrr   Цитата(bullit @ Feb 3 2009, 21:35) Типа d...   Feb 3 2009, 18:43
- - koyodza   Вставлю свои 5 копеек: я так понял, что эти два АЦ...   Feb 3 2009, 20:44
- - bullit   Цитатая так понял, что эти два АЦП 8-разрядные? Не...   Feb 4 2009, 04:32
- - bullit   Делал тут я испытания... и вот что у меня получило...   Feb 20 2009, 09:07
|- - GetSmart   Цитата(bullit @ Feb 20 2009, 15:07) Как м...   Feb 20 2009, 21:54


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

 


RSS Текстовая версия Сейчас: 29th July 2025 - 20:40
Рейтинг@Mail.ru


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