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

 
 
> Быстрый доступ в срам avr, Осц.пробник
yarunt
сообщение Mar 15 2007, 11:07
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 215
Регистрация: 13-12-06
Из: fghgfh
Пользователь №: 23 476



Подключая АД9280 , быстрый ацп , столкнулся с ситуацией быстрой записи из порта в срам авра.
Частота процессора 16 мег и адс. Все условия типа if,else не использую так-как занимают от 5 до 8 циклов, 67(количество колонок в дисплее) раз делаю запись из порта подключеного адс в срам ,с инкрементом.Такой доступ должен мне должен какбы обеспечить доступ в срам за 2 цикла. Тоесть полезный каждый 2-й цикл,значит 8 мгц выборки.Чтоб увидеть синусоиду на дисплее мне нужно как минимум 5 выборок , делю 8мгц на 5 выборок получаю полезных 1.6 мгц.

Но нетут-то было получается 300кгц с натягом ,подскажите может где-то я в расчетах ошибся?


Проэкт не могу показать так-как в алгоритм билдере. Приму любую критику на свой счет.


--------------------
Нельзя впихнуть,невпихуемое?МОЙ БЛОГ
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
mse
сообщение Mar 15 2007, 14:19
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693



Цитата(yarunt @ Mar 15 2007, 11:07) *
Подключая АД9280 , быстрый ацп , столкнулся с ситуацией быстрой записи из порта в срам авра.
Частота процессора 16 мег и адс. Все условия типа if,else не использую так-как занимают от 5 до 8 циклов, 67(количество колонок в дисплее) раз делаю запись из порта подключеного адс в срам ,с инкрементом.Такой доступ должен мне должен какбы обеспечить доступ в срам за 2 цикла. Тоесть полезный каждый 2-й цикл,значит 8 мгц выборки.Чтоб увидеть синусоиду на дисплее мне нужно как минимум 5 выборок , делю 8мгц на 5 выборок получаю полезных 1.6 мгц.

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

Ха...А из порта читаешь? Из одного? А запуск АЦП делаешь?.. А счоччик какой есть с переходом по условию? Посмотри листинг, чего там твой билдер наворотил.
Go to the top of the page
 
+Quote Post
yarunt
сообщение Mar 15 2007, 14:34
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 215
Регистрация: 13-12-06
Из: fghgfh
Пользователь №: 23 476



Цитата(mse @ Mar 15 2007, 15:19) *
Ха...А из порта читаешь? Из одного? А запуск АЦП делаешь?.. А счоччик какой есть с переходом по условию? Посмотри листинг, чего там твой билдер наворотил.

Ну вот пример;
AD_TO PIN
|
$200->y
|
0-> threestate \\ включаем адс
pine->[y++] \\ записываем с порт е в срам с инкриментом
pine->[y++] \\ записываем с порт е в срам с инкриментом
pine->[y++] \\ записываем с порт е в срам с инкриментом
......
и так 67 раз
1-> threestate \\ выключаем адс
|
SR_TO LCD \\ выводим на дисплей
RET \\ назад


--------------------
Нельзя впихнуть,невпихуемое?МОЙ БЛОГ
Go to the top of the page
 
+Quote Post
=GM=
сообщение Mar 15 2007, 14:51
Сообщение #4


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Прикрепленный файл  colourStrips.bmp ( 23.24 килобайт ) Кол-во скачиваний: 73
Цитата(yarunt @ Mar 15 2007, 11:34) *
Ну вот пример;
AD_TO PIN
|
$200->y
|
0-> threestate \\ включаем адс
pine->[y++] \\ записываем с порт е в срам с инкриментом
pine->[y++] \\ записываем с порт е в срам с инкриментом
pine->[y++] \\ записываем с порт е в срам с инкриментом
......
и так 67 раз
1-> threestate \\ выключаем адс
|
SR_TO LCD \\ выводим на дисплей
RET \\ назад

Ну вот, я говорил, что си замедляет в 5-10 раз, а билдер, значит, ещё больше. Вы с трудом получаете 300 кГц, по сравнению с потенциально достижимым 5333 билдер проигрывает в 17 раз.

Вот, посмотрите, откопал один снапшот с тем пробником на 5333 кГц.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
yarunt
сообщение Mar 15 2007, 15:02
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 215
Регистрация: 13-12-06
Из: fghgfh
Пользователь №: 23 476



Ну вот, я говорил, что си замедляет в 5-10 раз, а билдер, значит, ещё больше. Вы с трудом получаете 300 кГц, по сравнению с потенциально достижимым 5333 билдер проигрывает в 17 раз.

Вот, посмотрите, откопал один снапшот с тем пробником на 5333 кГц.
[/quote]
Вопрос а запись в стек быстрее ,ато мне кажется инкримент добавляет один цикл? Ну а по билдеру это тот-же ассемблер глюков своих в нем хватает.


--------------------
Нельзя впихнуть,невпихуемое?МОЙ БЛОГ
Go to the top of the page
 
+Quote Post
=GM=
сообщение Mar 15 2007, 17:05
Сообщение #6


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(yarunt @ Mar 15 2007, 12:02) *
Вопрос, а запись в стек быстрее, а то мне кажется, инкримент добавляет один цикл? Ну а по билдеру это тот-же ассемблер глюков своих в нем хватает.

Значит, по билдеру я не прав. Вообще, я про него ничего толком не знаю, и сужу о нём только с ваших слов о выборке в 300 кГц...

Запись в стек занимает те же 3 такта на выборку, только мороки чуток побольше. Есть ещё один вариант, запись из порта в 32 регистра, 1 такт на выборку, так-то не надо - слишком мало выборок, но можно залудить какую-нибудь электронную лупу (трёхкратную) в заданное время.

Вот еще мысль пришла в голову. Лучше тактировать АЦП не от клоков МК, а с выхода оср, тогда можно будет менять частоту выборок, а следовательно и развёртку, динамически.

И сделайте не 67 выборок, а раз в 10-20 побольше, весь буфер можно будет просматривать в режиме окна. Иногда удобно, особенно для однократных процессов.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
muravei
сообщение Mar 15 2007, 17:36
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591



Цитата(=GM= @ Mar 15 2007, 17:05) *
Вот еще мысль пришла в голову. Лучше тактировать АЦП не от клоков МК, а с выхода оср, тогда можно будет менять частоту выборок, а следовательно и развёртку, динамически.

А я давно думаю, чем бы это сделать внешним .
И хорошо бы найти FIFO 16x8 или 32x8 и можно сделать "отрицательное" время.
Go to the top of the page
 
+Quote Post
=GM=
сообщение Mar 15 2007, 18:41
Сообщение #8


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(muravei @ Mar 15 2007, 14:36) *
Цитата(=GM= @ Mar 15 2007, 14:05) *
Вот еще мысль пришла в голову. Лучше тактировать АЦП не от клоков МК, а с выхода оср, тогда можно будет менять частоту выборок, а следовательно и развёртку, динамически

А я давно думаю, чем бы это сделать внешним

Недопонял(:-). Чем оср хуже?

Цитата(muravei @ Mar 15 2007, 14:36) *
И хорошо бы найти FIFO 16x8 или 32x8 и можно сделать "отрицательное" время

Для периодических сигналов легко сделать, запускаете в Т=Тразв-Тнегатив.
Для непериодических можно писать всё время, не дожидаясь начала развертки, по кругу, при появлении импульса запуска оставлять часть буфера нетронутой в качестве отрицательного времени.

Вообще, большой вопрос, нужно ли оно, это отрицательное время?


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
muravei
сообщение Mar 15 2007, 19:01
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591



Цитата(=GM= @ Mar 15 2007, 18:41) *
Для непериодических можно писать всё время, не дожидаясь начала развертки, по кругу, при появлении импульса запуска оставлять часть буфера нетронутой в качестве отрицательного времени.

Вообще, большой вопрос, нужно ли оно, это отрицательное время?

Для МК это будет криво- нужно же будет переходить с конца на начало.
А отрицательное время нужно хотябы для того , что бы увидеть момент синхронизации . а то пока МК доберется до записи, куча тактов пройдет.
Go to the top of the page
 
+Quote Post
=GM=
сообщение Mar 15 2007, 19:34
Сообщение #10


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(muravei @ Mar 15 2007, 16:01) *
Для МК это будет криво- нужно же будет переходить с конца на начало.
А отрицательное время нужно хотябы для того, чтобы увидеть момент синхронизации, а то пока МК доберется до записи, куча тактов пройдет.

Пожертвовать одним тактом на выборку, сделать andi xh,0x03, чтобы крутиться по памяти, а время засекать по импульсу запуска в icr. Потом это всё ж таки пробник, хоть и осциллографический...


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- yarunt   Быстрый доступ в срам avr   Mar 15 2007, 11:07
- - GDI   А что за мега, то? может ацп на шину внешней памят...   Mar 15 2007, 11:56
|- - yarunt   Цитата(GDI @ Mar 15 2007, 12:56) А что за...   Mar 15 2007, 12:32
- - Kuzmi4   2 yarunt - в принципе есть идея , только не знаю ...   Mar 15 2007, 12:40
|- - yarunt   Цитата(Kuzmi4 @ Mar 15 2007, 13:40) 2 yar...   Mar 15 2007, 12:57
- - Kuzmi4   Сча собой нету(диплом у меня такой был), как добер...   Mar 15 2007, 13:49
|- - yarunt   Цитата(Kuzmi4 @ Mar 15 2007, 14:49) Сча с...   Mar 15 2007, 14:21
- - muravei   Цитата(yarunt @ Mar 15 2007, 11:07) Проэк...   Mar 15 2007, 13:49
|- - yarunt   Цитата(muravei @ Mar 15 2007, 14:49) Посм...   Mar 15 2007, 14:16
||- - muravei   Цитата(=GM= @ Mar 15 2007, 18:41) Недопон...   Mar 16 2007, 10:39
|- - muravei   Цитата(=GM= @ Mar 15 2007, 14:51) Ну вот,...   Mar 15 2007, 16:28
- - =GM=   Цитата(yarunt @ Mar 15 2007, 08:07) Подкл...   Mar 15 2007, 14:28
- - SasaVitebsk   Если использовать IAR C, то я думаю потерь вообще ...   Mar 15 2007, 19:22
- - bodja74   Тактирование АЦП от таймера и запись по четырем та...   Mar 15 2007, 19:52
|- - =GM=   Цитата(bodja74 @ Mar 15 2007, 16:52) Такт...   Mar 16 2007, 00:34
|- - yarunt   Цитата(bodja74 @ Mar 15 2007, 20:52) Такт...   Mar 16 2007, 10:29
|- - bodja74   Цитата(yarunt @ Mar 16 2007, 10:29) А раз...   Mar 16 2007, 16:22
- - Kuzmi4   2 yarunt - название микрухи CY7C421 .. В приложено...   Mar 16 2007, 10:46
|- - yarunt   Цитата(Kuzmi4 @ Mar 16 2007, 11:46) 2 yar...   Mar 16 2007, 13:08
- - Kuzmi4   2 yarunt - та схема проста - на вход подаёш через...   Mar 16 2007, 16:36
- - yarunt   Спасибо за инфу ,поеду закажу микруху.   Mar 16 2007, 17:53
- - GDI   Пару лет назад я такую микруху на сайте кипресса к...   Mar 19 2007, 11:20
- - µµC   Цитата(yarunt @ Mar 15 2007, 12:07) Приму...   Mar 20 2007, 05:01
|- - muravei   Цитата(µµC @ Mar 20 2007, 05:01) Можно пр...   Mar 20 2007, 14:25
|- - µµC   Цитата(muravei @ Mar 20 2007, 14:25) Да у...   Mar 20 2007, 15:23
|- - viael   Цитата(muravei @ Mar 20 2007, 15:25) Да у...   Mar 20 2007, 15:31
|- - =GM=   Цитата(viael @ Mar 20 2007, 12:31) Вряд л...   Mar 20 2007, 20:56
- - yarunt   Отвлекся от темы ,борол сименс дисплей сх65. Спаси...   Mar 20 2007, 09:39
|- - muravei   Цитата(yarunt @ Mar 20 2007, 09:39) Для н...   Mar 20 2007, 10:33
||- - µµC   Цитата(muravei @ Mar 20 2007, 11:33) А чт...   Mar 20 2007, 13:10
|- - yarunt   Снял со старой материнки срам GLT751208-15t ,может...   Mar 20 2007, 12:33
- - Kuzmi4   http://www.alldatasheet.com/view.jsp?Searc...d=GLT...   Mar 20 2007, 12:49
- - yarunt   Цитата(Kuzmi4 @ Mar 20 2007, 13:49) http:...   Mar 20 2007, 13:04
- - Nanobyte   Цитата(yarunt @ Mar 20 2007, 13:04) На ал...   Mar 20 2007, 23:05
- - yarunt   Цитата(Nanobyte @ Mar 21 2007, 00:05) Пос...   Mar 21 2007, 09:48


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

 


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


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