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

 
 
> Скорость дрыганья ногой AVR
Zazou
сообщение Apr 13 2008, 16:11
Сообщение #1


Участник
*

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



Как узнать с какой частотой максимально можно дрыгать ножкой?(asm незнаю).
Хочу подключить авр через FT245BM(FIFO-USB) к усб компьютера. И разогнать его до 8Mbps, сижу вот думаю, успеет ли авр ножками дрыгать или не успеет. dsp не очень хочется ставить из за USB.

Сообщение отредактировал Zazou - Apr 13 2008, 16:12
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 28)
SIA
сообщение Apr 13 2008, 16:14
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 462
Регистрация: 26-06-07
Пользователь №: 28 723



Цитата(Zazou @ Apr 13 2008, 19:11) *
Как узнать с какой частотой максимально можно дрыгать ножкой?(asm незнаю).
Хочу подключить авр через FT245BM(FIFO-USB) к усб компьютера. И разогнать его до 8Mbps, сижу вот думаю, успеет ли авр ножками дрыгать или не успеет. dsp не очень хочется ставить из за USB.

Выдавать 8 МБ/С не успеете. Реальна примерно половина при тактовой 16-20.
Go to the top of the page
 
+Quote Post
Zazou
сообщение Apr 13 2008, 16:24
Сообщение #3


Участник
*

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



Цитата(SIA @ Apr 13 2008, 20:14) *
Выдавать 8 МБ/С не успеете. Реальна примерно половина при тактовой 16-20.

Ну половина тоже в принципе устроит. надо сделать переходник USB-CAN. если с USB получать ~4Mbps то на CAN задержек не должно быть. но хотелось бы точнее знать, с какой скоростью авр сможет в FIFO данные закатывать.

Сообщение отредактировал Zazou - Apr 13 2008, 16:24
Go to the top of the page
 
+Quote Post
anpilog
сообщение Apr 13 2008, 16:49
Сообщение #4


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

Группа: Свой
Сообщений: 145
Регистрация: 11-12-06
Пользователь №: 23 382



Цитата(Zazou @ Apr 13 2008, 19:24) *
Ну половина тоже в принципе устроит. надо сделать переходник USB-CAN. если с USB получать ~4Mbps то на CAN задержек не должно быть. но хотелось бы точнее знать, с какой скоростью авр сможет в FIFO данные закатывать.

Тогда это надо делать на камне с CAN и USB.
По другому такой пропускной способности не получить ИМХО.


--------------------
---
human traffic - всегда 8)
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 13 2008, 16:52
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



У AVR команды cbi/sbi (сбросить/установить ногу порта) - 2 такта, in/out (чтение/запись порта) - 1 такт. Остальное прикидывайте сами.

4Мбит/с - это очень много для AVR, если нужна хотя бы малейшая обработка.
Go to the top of the page
 
+Quote Post
Zazou
сообщение Apr 13 2008, 17:07
Сообщение #6


Участник
*

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



Цитата(aaarrr @ Apr 13 2008, 20:52) *
У AVR команды cbi/sbi (сбросить/установить ногу порта) - 2 такта, in/out (чтение/запись порта) - 1 такт. Остальное прикидывайте сами.

4Мбит/с - это очень много для AVR, если нужна хотя бы малейшая обработка.

ок. решено ставить DSP от TI на 60Mhz. На нем точно получиться сделать нормальный переходник, чтобы в CAN на 1Мбит не было задержек связанных с низкой скоростью USB->микроконтроллер+ будет время над командами подумать.
Go to the top of the page
 
+Quote Post
Qwertty
сообщение Apr 13 2008, 17:10
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527



8Mbps - обычно под этим подразумевается 8 мегаБИТ, а не мегабайт. Так что и АВР успеет.
А вот CAN с такой скоростью трудно себе представить. Обычно скорость CAN выбирается небольшой, тут главное гарантированная доставка сообщения, а не скорость. Да и не смогут CAN трансиверы с такой скоростью работать, там гарантированная скорость 1 мегабит, например у PCA82c250. При этом нормальная работа обеспечивается на очень небольших расстояниях, <20 метров.
Если все же нужна большая скорость, то лучший выбор это АРМ с обоими этими интерфейсами, типа LPC2378.

Сообщение отредактировал Qwertty - Apr 13 2008, 17:15
Go to the top of the page
 
+Quote Post
Zazou
сообщение Apr 13 2008, 17:17
Сообщение #8


Участник
*

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



Цитата(Qwertty @ Apr 13 2008, 21:10) *
8Mbps - обычно под этим подразумевается 8 мегаБИТ, а не мегабайт. Так что и АВР успеет.
А вот CAN с такой скоростью трудно себе представить. Обычно скорость CAN выбирается небольшой, тут главное гарантированная доставка сообщения, а не скорость. Да и не смогут CAN трансиверы с такой скоростью работать, там гарантированная скорость 1 мегабит, например у PCA82c250. При этом нормальная работа обеспечивается на очень небольших расстояниях, <20 метров.

речь естественно шла о мегабитах. CAN будет работать на 1Mbps, следовательно передача данных от компьютера к микроконтроллеру должна быть намного выше чем 1Mbps, чтобы не было задержек + МК должен успевать по быстрому, принятые по USB пакеты(а принимать он будет по каком нибудь протоколу, что тоже процессорное время на обработку) преобразовывать в годный для отправки по CAN формат. народ говорит, что авр не потянет. пока верю. АРМ незнаю и нехочу, ибо дсп заменят мне почти любой арм.

Сообщение отредактировал Zazou - Apr 13 2008, 17:18
Go to the top of the page
 
+Quote Post
zhevak
сообщение Apr 13 2008, 17:35
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(Zazou @ Apr 13 2008, 21:11) *
Как узнать с какой частотой максимально можно дрыгать ножкой?(asm незнаю).
Хочу подключить авр через FT245BM(FIFO-USB) к усб компьютера. И разогнать его до 8Mbps, сижу вот думаю, успеет ли авр ножками дрыгать или не успеет. dsp не очень хочется ставить из за USB.


Я месяц назад как раз делал нечто подобное: Мега8, 16 Мгц, FT245BM.

Максимум на что мне удалсь подняться -- это 360 КБайт/с. Каждый байт мега выбирала из своей памяти и закидывала его в FT245BM за 2.75 us. Потом в работе с 245-ым, естественно, возникала небольшая пауза, связанная с накоплением новой порции инфы и другими прочими делами, типа посмотреть "а не пришло-ли что с юсб" или "не нажал-ли какую-нибудь кнопочку юзер", ну и т.д, и т.п.

Прогу я писал ислючительно на Си (CV 1.25.3), ассемблер не использовал.

Прога высылает и получает инфу в виде коротких пакетов. Передаваемая инфа -- это двоичные данные. Пакеты передается в виде неперерывного потока. Соответственно, на приемном конце возникает проблема: обратно выделять из непрерывного потока эти пакеты, т.е. нужно уметь как-то идентифицировать начало каждого пакета. Я пошел по пути "стаффинга". Исходники приложил (1.45 KB). Они выдернуты из рабочего проекта, работают без нареканий. Юзайте на здоровье! smile.gif

Если часть кода напишите на асме, то, думаю, сможете поднять скорость передачи раза в два.

Удачи!
Прикрепленные файлы
Прикрепленный файл  usbdrv.rar ( 1.54 килобайт ) Кол-во скачиваний: 55
 


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Apr 13 2008, 18:24
Сообщение #10


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(Zazou @ Apr 13 2008, 21:17) *
АРМ незнаю и нехочу, ибо дсп заменят мне почти любой арм.

Можно использовать контроллеры от Freescale с соответствующей периферией. ИМХО: DSP по периферии далеко не всегда может заменить контроллер.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
Zazou
сообщение Apr 13 2008, 19:02
Сообщение #11


Участник
*

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



Цитата(zhevak @ Apr 13 2008, 21:35) *
Я месяц назад как раз делал нечто подобное: Мега8, 16 Мгц, FT245BM.

Спасибо. Но думаю мне с авр в данном проекте не по пути sad.gif

Цитата

Наверное год не был на форуме, и думал, что чудо под названием а_в_р123 вымерло. Оказывается нет. живет и процветает.

Сообщение отредактировал zltigo - Apr 13 2008, 19:42
Go to the top of the page
 
+Quote Post
SIA
сообщение Apr 13 2008, 19:19
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 462
Регистрация: 26-06-07
Пользователь №: 28 723



Цитата(Zazou @ Apr 13 2008, 22:02) *
Спасибо. Но думаю мне с авр в данном проекте не по пути sad.gif
Наверное год не был на форуме, и думал, что чудо под названием а_в_р123 вымерло. Оказывается нет. живет и процветает.

Сам не понимаю. Те же Cygnal куда богаче и по периферии, и по производительности, да и по цене часто выгоднее..

Цитата(aaarrr @ Apr 13 2008, 19:52) *
У AVR команды cbi/sbi (сбросить/установить ногу порта) - 2 такта, in/out (чтение/запись порта) - 1 такт. Остальное прикидывайте сами.

4Мбит/с - это очень много для AVR, если нужна хотя бы малейшая обработка.

Конечно, без обработки, причем передача блока - с развернутым раз в 8 циклом для ускорения.
Go to the top of the page
 
+Quote Post
DS
сообщение Apr 13 2008, 20:17
Сообщение #13


Гуру
******

Группа: СуперМодераторы
Сообщений: 3 096
Регистрация: 16-01-06
Из: Москва
Пользователь №: 13 250



Цитата(SIA @ Apr 13 2008, 23:19) *
Сам не понимаю. Те же Cygnal куда богаче и по периферии, и по производительности, да и по цене часто выгоднее..


lol.gif Вы просто не в курсе, тут есть персонаж, из-за которого были забанены некоторые слова (типа avr123). Он похоже опять реинкарнировался под ником Abckur


--------------------
Не бойтесь тюрьмы, не бойтесь сумы, не бойтесь мора и глада, а бойтесь единственно только того, кто скажет - "Я знаю как надо". А. Галич.
Go to the top of the page
 
+Quote Post
=GM=
сообщение Apr 13 2008, 20:47
Сообщение #14


Ambidexter
*****

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



Цитата(Zazou @ Apr 13 2008, 15:11) *
Как узнать с какой частотой максимально можно дрыгать ножкой? Хочу подключить авр через FT245BM(FIFO-USB) к усб компьютера. И разогнать его до 8Mbps, сижу вот думаю, успеет ли авр ножками дрыгать или не успеет. dsp не очень хочется ставить из за USB

А если рассмотреть вариант с AT76C713 - МК с системой команд AVR, работает на тактовой 48 МГц, есть встроенный USB, ещё и DMA есть. Ногами обдрыгаетесь.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
SIA
сообщение Apr 13 2008, 21:00
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 462
Регистрация: 26-06-07
Пользователь №: 28 723



Цитата(=GM= @ Apr 13 2008, 23:47) *
А если рассмотреть вариант с AT76C713 - МК с системой команд AVR, работает на тактовой 48 МГц, есть встроенный USB, ещё и DMA есть. Ногами обдрыгаетесь.

Atmel на него забила - NRND. По этой причине он изначально не может подлежать рассмотрению.
Go to the top of the page
 
+Quote Post
=GM=
сообщение Apr 13 2008, 21:21
Сообщение #16


Ambidexter
*****

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



Цитата(SIA @ Apr 13 2008, 20:00) *
Atmel на него забила - NRND

Ну это как идея. Можно взять что-то типа at90usb1286.

Кстати, вот ещё вариант: взять at90usb1286 с usb на борту и добавить at90can128 с can на борту. И голову ломать не надо, чем дрыгать: принял - передал, и забыл.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
Qwertty
сообщение Apr 13 2008, 22:00
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527



Цитата(=GM= @ Apr 14 2008, 01:21) *
Кстати, вот ещё вариант: взять at90usb1286 с usb на борту и добавить at90can128 с can на борту.

Неужели будет проще и дешевле чем LPC2378 за 10$ с обоими интерфейсами в одном корпусе? Там и скорости хватит и цена невеликая. Одна at90can128 стоит дороже....
Go to the top of the page
 
+Quote Post
Zazou
сообщение Apr 14 2008, 06:18
Сообщение #18


Участник
*

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



Цитата(Qwertty @ Apr 14 2008, 02:00) *
Неужели будет проще и дешевле чем LPC2378 за 10$ с обоими интерфейсами в одном корпусе? Там и скорости хватит и цена невеликая. Одна at90can128 стоит дороже....

Это будет дороже. Я арм незнаю, а его изучение займет время=деньги.+ примеров под CAN для LPC2378 нет,с нуля я не хочу поднимать его. самый простой и дешевый вариант TMS320F28016, стоит
7$.задрыгает любого до смерти.
Go to the top of the page
 
+Quote Post
Igor26
сообщение Apr 14 2008, 08:19
Сообщение #19


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 10-02-05
Пользователь №: 2 544



Цитата
Максимум на что мне удалсь подняться -- это 360 КБайт/с.

Ну не знаю. У меня живет один проект с 2002 года. Сделан на АТ89S8252 и FT232BM, плюс три восьмиразрядных регистра. С небольшой обработкой пуляет в компьютер на скорости 460кб/с. Сделано около 50-ти устройств. Ни одного нарекания не было.
Go to the top of the page
 
+Quote Post
zhevak
сообщение Apr 14 2008, 09:24
Сообщение #20


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(Igor26 @ Apr 14 2008, 14:19) *
Ну не знаю. У меня живет один проект с 2002 года. Сделан на АТ89S8252 и FT232BM, плюс три восьмиразрядных регистра. С небольшой обработкой пуляет в компьютер на скорости 460кб/с. Сделано около 50-ти устройств. Ни одного нарекания не было.


Уважаемый Igor26, у меня нет никакого желания мериться с Вами пиписками. При разработке проекта у меня не было задачи "передать данные на максимальной скорости". Ширина потока моих данных составляет всего 10-20 килобайт в секунду, поэтому, мощьности получившегося канала (360 килобайт в секунду) мне хватило за глаза. РАзумеется, еще повышать скорость, не было совершенно никакой необходимости. Я указал "честную" скорость 360 кБ/с, которую я получил в реальном изделии. Получил, не прибегая к каким-либо ухищрениям.

А то, что Вы смогли получить скорость 460 килобайт (кстати, килобайт пишется не "кб", а -- "кБ" или "кБайт".) в секунду -- это тоже хорошая цифра. "Хорошая" в том плане, что дает ориентацию разработчикам, которые подошли к вопросам передачи данных через USB. Когда я начинал свой USB-проект, я ведь тоже не знал, на какую скорость я могу рассчитывать. Одно дело синтетические тесты и заявления производителей, и другое -- реальная жизнь.

Я вот сейчас смотрю на сохраненые осциллограммы и вижу, что после получения очередного байта FT245BM снимет готовность к приему (TXE) на 460..600 ns. Импульс записи (WR) -- уменя 125 ns, отсюда предельно возможная скорость передачи из меги в FT будет = 1 / (600 + 125) = 1.4 МБ/с или (11.2 Мб/с). Но в реальных устройствах процессорное время расходуется не только на передачу данных. Поэтому появляются накладные расходы, которые неизбежно приводят к снижению скорости передачи. Смысл поднятого в топике вопроса состоит не в том -- с какой максимальной скоростью данные можно передать, а в том -- с какая максимальная скорость реально получается.

Мы же здесь не спортсмены, а разработчики. Почувствуйте разницу.


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
defunct
сообщение Apr 14 2008, 11:11
Сообщение #21


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(zhevak @ Apr 14 2008, 11:24) *
Уважаемый Igor26, у меня нет никакого желания мериться с Вами пиписками.
...
Мы же здесь не спортсмены, а разработчики. Почувствуйте разницу.
Игорь, как я понимаю, использовал внешнюю шину памяти 52-го. Для 2-х MIPSового процессора 460Kbyte/s вполне реальная скорость.
В случае 16-ти MIPSового AVR если использовать шину памяти (m162 / m128), то 4 MByte/s вполне достижимая скорость и даже останется время для маломальской обработки.

Цитата
Импульс записи (WR) -- уменя 125 ns, отсюда предельно возможная скорость передачи из меги в FT будет = 1 / (600 + 125) = 1.4 МБ/с или (11.2 Мб/с). Но в реальных устройствах процессорное время расходуется не только на передачу данных.

В реальных условиях подключаете FTшку к шине m162 через буфер и будет щастье. Расхода на передачу практически 0 - как массив перегнать из одного участка памяти в другой.
Go to the top of the page
 
+Quote Post
Igor26
сообщение Apr 15 2008, 04:20
Сообщение #22


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 10-02-05
Пользователь №: 2 544



Цитата
использовал внешнюю шину памяти 52-го.

Точно так.
Цитата
В реальных условиях подключаете FTшку к шине m162 через буфер и будет щастье. Расхода на передачу практически 0 - как массив перегнать из одного участка памяти в другой.

+1 Да, да да!!!
Цитата
Смысл поднятого в топике вопроса состоит не в том -- с какой максимальной скоростью данные можно передать, а в том -- с какая максимальная скорость реально получается.

А я о чем говорил? Zhevak, не понятно, что Вы обиделись:-(
Go to the top of the page
 
+Quote Post
ControllerZ
сообщение Apr 16 2008, 02:37
Сообщение #23


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

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



Подскажите а есть готовые проекты реализации CAN на мега8, 16 либо 32?
Go to the top of the page
 
+Quote Post
vet
сообщение Apr 16 2008, 04:25
Сообщение #24


Знающий
****

Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32



Цитата(ControllerZ @ Apr 16 2008, 06:37) *
Подскажите а есть готовые проекты реализации CAN на мега8, 16 либо 32?

почему бы сразу не заложить в схему контроллер с аппаратным CAN, тот же AT90CAN32 ?


--------------------
Главная линия этого опуса ясна мне насквозь!
Go to the top of the page
 
+Quote Post
Zazou
сообщение Apr 17 2008, 16:46
Сообщение #25


Участник
*

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



Цитата(ControllerZ @ Apr 16 2008, 06:37) *
Подскажите а есть готовые проекты реализации CAN на мега8, 16 либо 32?

Как то в сети видел драйвер для SJA1000, под авр. если не найдете, могу у себя поискать.
А вообще было бы разумней, как тут уже посоветовали, воспользоваться камнем с аппаратным CAN. at90can128. can32/64 - очень сложно купить
Go to the top of the page
 
+Quote Post
KRS
сообщение Apr 17 2008, 17:29
Сообщение #26


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Zazou @ Apr 17 2008, 20:46) *
at90can128. can32/64 - очень сложно купить

уже не сложно! мы как раз перешли на CAN64 они заметно дешевле CAN128, а вот CAN32 мало по цене от 64 отличается.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Apr 17 2008, 19:27
Сообщение #27


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(defunct @ Apr 14 2008, 15:11) *
В случае 16-ти MIPSового AVR если использовать шину памяти (m162 / m128), то 4 MByte/s вполне достижимая скорость и даже останется время для маломальской обработки.

Неа. sad.gif
Для FTDI заявленная скорость - 1Мбайт в сек. Думаю и уту цифру со стороны FTDI получить будет затруднительно.
Go to the top of the page
 
+Quote Post
galjoen
сообщение Apr 17 2008, 19:43
Сообщение #28


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(SasaVitebsk @ Apr 17 2008, 23:27) *
Для FTDI заявленная скорость - 1Мбайт в сек.

Это ограничение USB full speed (FTDI тут ни при чём). 16 пакетов по 64 байта за кадр (1 мС) максимум. Контрольный канал не используется (ещё 1 пакет).
Go to the top of the page
 
+Quote Post
Dars
сообщение May 13 2008, 19:32
Сообщение #29


Местный
***

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



Цитата(KRS @ Apr 17 2008, 21:29) *
уже не сложно! мы как раз перешли на CAN64 они заметно дешевле CAN128, а вот CAN32 мало по цене от 64 отличается.

извиняюсь за офф. но где вы покупаете at90can64??
Go to the top of the page
 
+Quote Post

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

 


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


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