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

 
 
> Разработка параллельного синхронного интерфейса, arm 23xx
SmileGobo
сообщение Feb 28 2011, 07:26
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 7-12-10
Пользователь №: 61 451



Необходимо разработать параллельный синхронный интерфейс 6 разрядов данные, 1 разряд синхросигнал. Для этого я использовал быстрые порты ввода вывода и таймер(для установления частоты синхросигнала 640 КГц). Пробовал выдавать данные с использованием прерывания таймера и без. В обоих случаях не удается добиться четкой частоты, при добавлении кода на заполнения буффера или контроля счетков, частота начинает уплывать - длительность синхроимпульсов не четкая. Возможны ли другие пути решения задачи?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SmileGobo
сообщение Mar 1 2011, 07:45
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 7-12-10
Пользователь №: 61 451



Цитата
А она действительно нужна -- четкость длительности синхроимпульсов? И если нужна, какой допустимый джиттер?

Нужна очень! Необходимо соблюдать четко синхросигнал - 640 КГц и данные 320 отклонения в пределах 3%.

Проблема еще в том что синхросигнал имеет такую структуру ....1010101010101010001010101.... - эта так называемая вырезка генерируется с частотой 8КГц

Цитата
640 килогерц -- круто. У вас всего < 120 клоков на каждый пакет данных.
А как вы расчитали что менее 120 клоков? я работаю на частоте 72Мгц

Вы говорите об использовании DMA, когда я выдавал данные через SSP проблем не было завязать его с DMA, а куда привязывать DMA в случае параллельного интерфейса,возможно его связать с портом вывода?
Go to the top of the page
 
+Quote Post
scifi
сообщение Mar 1 2011, 09:10
Сообщение #3


Гуру
******

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



Цитата(SmileGobo @ Mar 1 2011, 10:45) *
Проблема еще в том что синхросигнал имеет такую структуру ....1010101010101010001010101.... - эта так называемая вырезка генерируется с частотой 8КГц

Такие вырезки желательно внешней логикой формировать. Наверняка можно два выхода PWM скомбинировать при помощи одной логической ячейки и получить желаемое.

Цитата(SmileGobo @ Mar 1 2011, 10:45) *
А как вы расчитали что менее 120 клоков? я работаю на частоте 72Мгц

72000000 / 640000 = 112.5

Цитата(SmileGobo @ Mar 1 2011, 10:45) *
Вы говорите об использовании DMA, когда я выдавал данные через SSP проблем не было завязать его с DMA, а куда привязывать DMA в случае параллельного интерфейса,возможно его связать с портом вывода?

Если сообщите марку МК, придётся меньше гадать.
Go to the top of the page
 
+Quote Post
SmileGobo
сообщение Mar 1 2011, 11:07
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 7-12-10
Пользователь №: 61 451



Прошу прощения сразу не догадался сказать марку - lpc2378 NXP. В целом эта программа пойдет и на 68 процессор
Собственно я еще раз погонял на осциллографе без логического анализатора, и вроде как частота выдерживается, так что вопрос исчерпан.
Единственное хотелось бы узнать как связать порт ввода/вывода и DMA и на сколько это возможно.
Спасибо за уделенное внимание

Сообщение отредактировал SmileGobo - Mar 1 2011, 11:08
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 2nd August 2025 - 05:28
Рейтинг@Mail.ru


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