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

 
 
> быстрый тайминг GPIO для LPC
ГУ-49А
сообщение Jan 6 2008, 20:16
Сообщение #1


Участник
*

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



Есть такая задача: реализовать быстрый синхронный 16-битный вывод в GPIO-порт для LPC2103 (через FIO). При этом ещё должна выполняться фоновая задача. Проблема в том, что вывод в порт необходимо делать стабильно, через равные интервалы времени, с как можно большей частотой. Скорость выполнения фоновой задачи при этом не принципиальна, но она не должна задерживать основной вывод в порт.

Первое и самое простое, что приходит на ум - использовать прерывание по таймеру для вывода в порт. Но очевидно, что максимума скорости так не добиться, хотя бы из-за избыточной работы по обслуживанию прерываний. По той же причине, видимо, не годятся и RTOS-надстройки.

Если же просто перемежать вызовы команд этих двух задач, то не понятно, как при этом обеспечить стабильный тайминг вывода в порт - ведь подсчёт тактов для пайплайна задача непростая... Есть ли какой-то инструментарий для подсчёта тактов выполнения команд на LPC? Чтобы можно было с учётом этого написать на асме код фоновой задачи так, чтобы вперемешку с ним выводить в порт данные строго каждые N тактов?

Какие ещё существуют способы решения данной задачи?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- ГУ-49А   быстрый тайминг GPIO для LPC   Jan 6 2008, 20:16
- - zltigo   Цитата(ГУ-49А @ Jan 6 2008, 22:16) К...   Jan 6 2008, 20:45
|- - ГУ-49А   Цитата(zltigo @ Jan 6 2008, 22:45) Конкре...   Jan 6 2008, 21:10
|- - zltigo   Цитата(ГУ-49А @ Jan 6 2008, 23:04) в...   Jan 6 2008, 21:46
|- - rezident   Цитата(ГУ-49А @ Jan 7 2008, 02:10) И...   Jan 8 2008, 13:31
- - zhevak   Цитата(ГУ-49А @ Jan 7 2008, 01:16) К...   Jan 6 2008, 20:50
- - Rst7   ЦитатаСкоп был хороший (LeCroy) и позволял собират...   Jan 6 2008, 21:01
- - GetSmart   Думаю можно достичь скорости вывода до Fosc/25 (ме...   Jan 7 2008, 09:43
- - ГУ-49А   Цитата(zltigo @ Jan 6 2008, 23:46) Задача...   Jan 7 2008, 10:25
|- - zltigo   Цитата(ГУ-49А @ Jan 7 2008, 12:25) О...   Jan 7 2008, 17:12
- - zhevak   Боюсь нарваться на скандал, но все же скажу, ибо и...   Jan 7 2008, 12:46
|- - ГУ-49А   Цитата(zhevak @ Jan 7 2008, 14:46) Боюсь ...   Jan 7 2008, 13:41
|- - zhevak   К сожалению, ни готового решения, ни совета я Вам ...   Jan 7 2008, 14:12
|- - ГУ-49А   Цитата(zhevak @ Jan 7 2008, 16:12) К сожа...   Jan 7 2008, 14:44
|- - Alex03   Цитата(ГУ-49А @ Jan 7 2008, 19:44) Ц...   Jan 8 2008, 08:20
|- - ГУ-49А   Цитата(Alex03 @ Jan 8 2008, 10:20) Дальше...   Jan 8 2008, 10:52
- - GetSmart   Цитата(ГУ-49А)Спасибо. Я готов переписать фон...   Jan 7 2008, 13:37
|- - ГУ-49А   Цитата(GetSmart @ Jan 7 2008, 15:37) Я им...   Jan 7 2008, 13:58
- - GetSmart   ЦитатаИли, может, мне стоит написать такой инструм...   Jan 7 2008, 13:53
- - GetSmart   Вы бы ещё пояснили подробности такого нестандартно...   Jan 7 2008, 14:06
- - GetSmart   Цитата(ГУ-49А)Т.е. одна из сложностей задачи ...   Jan 7 2008, 15:43
- - GetSmart   Цитата(Alex03)одна и та же команда в внутреннюю RA...   Jan 8 2008, 09:59
- - GetSmart   ЦитатаВидимо, речь идёт о выводах MATx.y? К сожале...   Jan 8 2008, 12:01
- - digital   ЦитатаМожет я что-то пропустил в обсуждении, но я ...   Jan 8 2008, 14:53
- - GetSmart   Господа-товарищи! Я тоже сначала подумал об SS...   Jan 8 2008, 15:18
|- - rezident   Цитата(GetSmart @ Jan 8 2008, 20:18) макс...   Jan 8 2008, 15:26
- - GetSmart   Скорость вывода бита = 2 такта. Чтобы вывести 16 б...   Jan 8 2008, 15:47
|- - ГУ-49А   Цитата(GetSmart @ Jan 8 2008, 17:47) Скор...   Jan 8 2008, 19:13
- - GetSmart   Цитата(GetSmart)Кстати, есть алгоритм, которым мож...   Jan 8 2008, 18:29
- - GetSmart   КодLDR R9,[R8] ; R8 = T0CR (иниц...   Jan 8 2008, 19:57
|- - alexander55   Вопрос к автору. Что Вы хотите сделать ? Варианты ...   Jan 9 2008, 07:23
|- - ГУ-49А   Цитата(alexander55 @ Jan 9 2008, 09:23) В...   Jan 9 2008, 18:16
|- - alexander55   Цитата(ГУ-49А @ Jan 9 2008, 21:16) О...   Jan 10 2008, 06:23
- - GetSmart   Попытался применить код, который я тут запостил и ...   Jan 13 2008, 11:41
- - GetSmart   Попробывал применить этот алгоритм в своём генерат...   Jan 21 2008, 07:23
- - Alex03   А если MAM=0?   Jan 21 2008, 08:47
- - GetSmart   Частота 5 МГц, PLL off, MAM=0, MAMTIM=1. Прерывани...   Jan 21 2008, 10:12
- - GetSmart   Частота 59 МГц, прерывание в RAMe, MAM = 2, MAMTIM...   Jan 23 2008, 12:46
- - ГУ-49А   Позвольте изложить некоторые результаты по открыто...   Feb 18 2008, 22:42
- - GetSmart   Конечно интересно! Думаю даже не мне одному   Feb 19 2008, 04:31
|- - alexander55   Цитата(GetSmart @ Feb 19 2008, 07:31) Кон...   Feb 19 2008, 06:18
|- - ГУ-49А   Цитата(GetSmart @ Feb 19 2008, 06:31) Кон...   Feb 19 2008, 09:47
- - GetSmart   Очень даже неплохо получилось. Можно сказать что э...   Feb 19 2008, 10:05
- - GetSmart   Цитата(ГУ-49А)Что ж, давайте ещё раз напомню,...   Feb 24 2008, 15:04
- - ГУ-49А   Цитата(GetSmart @ Feb 24 2008, 17:04) Мож...   Feb 24 2008, 16:02


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

 


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


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