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

 
 
 
Reply to this topicStart new topic
> параллельный ЦАП и AT91SAM7X256, скорость выдачи информации
Диm
сообщение May 21 2007, 10:38
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 24
Регистрация: 31-05-06
Пользователь №: 17 614



на AT91SAM7X256 делаю генератор сигнала, с выводом информации на параллельный ЦАП нету(все работает,сигнал получаю) ,НО скорость выдачи данных составляет порядка 3,5 Мгц, а мне требуется 6,75 мГц поэтому возникает такие вопросы:
1. частота кварца на плате 18,432мГц заменив его на другой вырастет ли скорость выдачи данных и как её просчитать??
2. как повысить скорость выдачи информации?режима ДМА для памяти как я понял не существует.....
и вообще,какие будут соображения на эту тему
с уважением,Дмитрий
Go to the top of the page
 
+Quote Post
nameless
сообщение May 21 2007, 11:44
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 174
Регистрация: 9-07-04
Пользователь №: 305



Цитата(Диm @ May 21 2007, 13:38) *
на AT91SAM7X256 делаю генератор сигнала, с выводом информации на параллельный ЦАП нету(все работает,сигнал получаю) ,НО скорость выдачи данных составляет порядка 3,5 Мгц, а мне требуется 6,75 мГц поэтому возникает такие вопросы:
1. частота кварца на плате 18,432мГц заменив его на другой вырастет ли скорость выдачи данных и как её просчитать??
2. как повысить скорость выдачи информации?режима ДМА для памяти как я понял не существует.....
и вообще,какие будут соображения на эту тему
с уважением,Дмитрий


Вы наверное имели в виду ДМА для PIO? Насколько помню EBI у Х-ов нет. Только порты. Если там все так же как и у SAM-цов, то на 60Мгц из RAM в THUMB mode у меня порты работали 3 такта на ввод и 4 на вывод. Получаецца больше он ничего сделать у вас (как и у меня) не может. А частота кварца множится на "почти" любой коэффициент и больше 72 МГц в нормальных условиях не хочет.

Хотя с тактами я мог и промахнуться...но порядок тот еще...

Есть и альтернативы:
1. DDS от AD (если только гармонический сигнал синтезировать)
2. CPLD/FPGA + SRAM
3. FIFO от IDT

2 и 3 - в любом случае - НЕ бюджетные решения.
Go to the top of the page
 
+Quote Post
Диm
сообщение May 21 2007, 12:07
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 24
Регистрация: 31-05-06
Пользователь №: 17 614



Цитата(nameless @ May 21 2007, 17:44) *
Вы наверное имели в виду ДМА для PIO?


да, дма для пио имел ввиду...

Цитата
на 60Мгц из RAM в THUMB mode у меня порты работали 3 такта на ввод и 4 на вывод.

а вот про это можно поподробнее чуток?
DDS от AD не пойдет так как сигнал негармонический и весьма непростой и возможно буду делать фазоманипулированный....

у меня появилась идея конечноsmile.gif взять атмегу,сделать её управляемой от х7 и на ней тупо проигрывать файл из память программ в порт на цап
хотелось бы без лишних корпусов...чтож буду думать что и как....
Go to the top of the page
 
+Quote Post
nameless
сообщение May 21 2007, 12:45
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 174
Регистрация: 9-07-04
Пользователь №: 305



У меги инструкция LPM Rd, Z+ выполняется за 3 такта, плюс такт на OUT (если цап 8 бит и дополнительно клокать ничего не надо {т.е. асинхронный интерфейс}[даже не знаю таких ЦАП-ов]) итого 5 МГц при тактовой 20МГц (по-моему есть и такие меги) но при всем при этом не обойтись без опроса регистров (SPI например) на предмет фазы с последующей загрузкой в Z. Никак 6.5 не получается.

Лучше попробуйте помароковать вокруг связки CPLD+RAM. По-крайней мере 150nS память дешево встанет и контроллер освободите. У меня похожая задача и я рулю именно туда. Хотя в плане сокращения числа камней лучше FIFO.
Go to the top of the page
 
+Quote Post
Диm
сообщение May 22 2007, 08:15
Сообщение #5


Участник
*

Группа: Новичок
Сообщений: 24
Регистрация: 31-05-06
Пользователь №: 17 614



Цитата(nameless @ May 21 2007, 18:45) *
У меги инструкция LPM Rd, Z+ выполняется за 3 такта, плюс такт на OUT (если цап 8 бит и дополнительно клокать ничего не надо {т.е. асинхронный интерфейс}[даже не знаю таких ЦАП-ов]) итого 5 МГц при тактовой 20МГц (по-моему есть и такие меги) но при всем при этом не обойтись без опроса регистров (SPI например) на предмет фазы с последующей загрузкой в Z. Никак 6.5 не получается.

инструкция LPM Rd, Z+ да это делается за три такта, но ведь Rd можно разный задатьsmile.gif
и выставить цепочку так что может и потянет 6.5МГц
спасибо за ответы,буду думатьsmile.gif
Go to the top of the page
 
+Quote Post
_pv
сообщение May 22 2007, 14:48
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



Цитата(Диm @ May 22 2007, 15:15) *
инструкция LPM Rd, Z+ да это делается за три такта, но ведь Rd можно разный задатьsmile.gif
и выставить цепочку так что может и потянет 6.5МГц
спасибо за ответы,буду думатьsmile.gif


LDI K, Reg - один такт
OUT Port,Reg - еще один такт
если забить флэш парами таких инструкций то и 10МГц при 20 МГц тактовой получить можно.
если конечно ЦАП 8 битный а не больше.

еще можно попробовать использовать EMAC, у него есть DMA,
завести на ETXTCK 13 МГц с таймера, а потом на логике склейть два полследовательных 4 битных слова в одно 8 битное.
правда если ЕМАС не занят езернетом,то в чем прелесть использования sam7x для данной задачи?
лучше уж тогда взять проц с нормальным параллельным портом . например blackfin 531 / 532. стоит столько же, корпус почти такой-же, lqfp-176.
Go to the top of the page
 
+Quote Post
Диm
сообщение May 26 2007, 04:53
Сообщение #7


Участник
*

Группа: Новичок
Сообщений: 24
Регистрация: 31-05-06
Пользователь №: 17 614



Цитата(_pv @ May 22 2007, 20:48) *
еще можно попробовать использовать EMAC, у него есть DMA,
завести на ETXTCK 13 МГц с таймера, а потом на логике склейть два полследовательных 4 битных слова в одно 8 битное.
правда если ЕМАС не занят езернетом,то в чем прелесть использования sam7x для данной задачи?
лучше уж тогда взять проц с нормальным параллельным портом . например blackfin 531 / 532. стоит столько же, корпус почти такой-же, lqfp-176.

хм...а вот это уже интересно и оригинально!!!
использовать блэкфин нецелесообразно по той причине что это нормальный процессор и к нему ещё обвязку нормальную надо,а х7 микроконтроллер просто,все в одномsmile.gif
Go to the top of the page
 
+Quote Post
khach
сообщение May 26 2007, 10:43
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 3 439
Регистрация: 29-12-04
Пользователь №: 1 741



Все таки это изврат. Взять AD9954 c встроенным ОЗУ, загрузить в него самплы, а АРМом только управлять. Нормально выливать поток получалось только по SSP c ДМА, а потом на CPLD был преобразователь последовательный- параллельный. xc9572 хватало. Но все равно это надежно работало только когда АРМ ничем более кроме формирования потока к ЦАП незанимался. Если приходил пакет по эзернету- все срывалось. По ЮСБ еще как-то удавалось разруливать. Что бы поток не рвался, пришлось вместо xc9572 ставить XC3S200-TQFP100 и организовывать буфер фифо на 16 кбайт в ее внутренней памяти. А потом вообще отдать формирование потока внутрь спартана и освободить АРМ для коммуникации. :-)
Go to the top of the page
 
+Quote Post

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

 


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


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