Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
18.01.2008, 15:19
|
#31
|
Временная регистрация
Регистрация: 19.06.2007
Сообщений: 85
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Уважаемый(ая) Тень.
О совместимости я чуть ранее уже написал. Вопрос о скорости, т.е. о количестве "полезных" бит в сек.
|
|
|
|
18.01.2008, 16:30
|
#32
|
Почётный гражданин KAZUS.RU
Регистрация: 27.06.2005
Сообщений: 1,389
Сказал спасибо: 19
Сказали Спасибо 210 раз(а) в 156 сообщении(ях)
|
Сообщение от tnosov
|
Уважаемый(ая) Тень.
О совместимости я чуть ранее уже написал. Вопрос о скорости, т.е. о количестве "полезных" бит в сек.
|
http://forum.microchip.com/tm.aspx?m=304436
Цитата:
|
Date Created: 8/18/2005
Last Updated: 10/10/2005
Description:
When using a Microchip full speed usb device such as a PIC18F4550, I'm finding my transfer speeds are very slow, in some cases as low as 2kB/s. What are the factors that determine usb transfer rates?
Resolution:
Since usb is a shared bus system with many options, transfer speed can vary considerably. If you are using interrupt transfers, the maximum transfer rate is approximately 64 kB/s, and if using bulk transfer, the maximum rate is about 1.2 MB/s, which is 19 bulk packets per ms, with each packet containing 64 bytes of data.
If you send less than the maximum number of bytes, or do not have them ready at the appropriate time, then your throughput rate will suffer.
If you are using interrupt transfers, the fastest interrupt rate is 1ms. The settings for this are in the usb endpoint descriptor and is known as the polling interval, set this to 1ms for maximum performance.
See chapter 5 of the usb specification if you would like to know more about usb speeds, transfer rates and setup options.
Some other things to consider:
How many other devices are sharing the same bus? If you have more than one device on the usb system, it will consume bandwidth. Low speed usb devices are some of the worst consumers of bandwidth as they will take more time to transmit only a small amount of data. However, since most low speed devices do not transmit a lot of data, they are not usually a problem for bandwidth unless they are very active. Try removing as many usb devices from your computer as possible, or try testing on a fresh computer with no usb devices connected. This will give you a better measure of throughput.
How fast is the PIC clock? Using a slower clock speed on the PIC will degrade performance. The usb engine may be running at 48MHz, but if the PIC is running slowly, it will have problems filling the pipeline quickly enough. This won't cause any errors, but will harm throughput. Other things like interrupts that make the device constantly busy or similar CPU hogging tasks may also cause speed reductions on your usb. 12 MIPS is the recommended speed of the MCU for the fastest throughput when moving usb data.
|
Для Bulk Transfer - 1.2 MByte/s,
для Interrupt Transfer - 64 kByte/s.
(подправил чтобы разночтений не было).
|
|
|
|
18.01.2008, 16:54
|
#33
|
Почётный гражданин KAZUS.RU
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
|
Че так пессимистично, Тень... 1.2 мегабода я вытягивал даже на виртуальном ком-порту. Через буржуйский драйвер наверняка пошибче бегать будет - там же прямой доступ к ендпоинтам. Вот человек рассказывает, что у него 5 мегабод получилось - правда, каким образом он за 40 хм.. микросекунд заполнил буфер на 64 байта.. правда, можно, умеючи
http://www.microchip.su/showthread.p...0462#post20462
|
|
|
|
18.01.2008, 17:02
|
#34
|
Почётный гражданин KAZUS.RU
Регистрация: 27.06.2005
Сообщений: 1,389
Сказал спасибо: 19
Сказали Спасибо 210 раз(а) в 156 сообщении(ях)
|
не мегабода, а мегабайта. и не пессимистично, а максималистично ![Весело](images/smilies/icon_laugh.gif)
и кстате. какой это был виртуальный ком.порт? майкрософтовский работает через прерывания - так чта максимум 512Кбит/с (8*64КБайта).
|
|
|
|
18.01.2008, 17:17
|
#35
|
Временная регистрация
Регистрация: 19.06.2007
Сообщений: 85
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Уважаемый(ая) ТЕНЬ.
Я удовлетворен вашим ответом. Хотя ожидал от PIC18F2455_2550_4455_4550 большего. Конечно не быстрее чем (48МГц/4)= 12 Мбит/с, т.е. 12Мбит/8 = 1,5 Мбайт/с.
Получается, что за один машинный цикл отправляется один бит? С другой стороны одна ассемблерная команда тоже выполняется за один машинный цикл. Судя по Агурову в потоке еще масса "технологической" информации. Сколько же "полезной" информации придет на ПК, каков процент. Ладно, всё это я теоретизирую на уровне Ассемблера. Всем спасибо. Хотя вопрос интересный.
|
|
|
|
18.01.2008, 17:17
|
#36
|
Почётный гражданин KAZUS.RU
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
|
Я посчитал сумму - одновременно делал прием и передачу - 600 килобод на прием и 600 на передачу. график выложить могу только в понедельник - он на домашней машине. Кстати, у меня закончилась триал-версия "считалки" юсб трафика - у кого-то есть ? Хочу еще через драйвер посчитать, но нечем...
|
|
|
|
18.01.2008, 17:33
|
#37
|
Почётный гражданин KAZUS.RU
Регистрация: 27.06.2005
Сообщений: 1,389
Сказал спасибо: 19
Сказали Спасибо 210 раз(а) в 156 сообщении(ях)
|
Сообщение от urry
|
Я посчитал сумму - одновременно делал прием и передачу - 600 килобод на прием и 600 на передачу. график выложить могу только в понедельник - он на домашней машине.
|
Вполне возможно, что реально получится немного больше. Но это особенности Windows и конкретного адаптера USB и его драйвера.
В USB Specification оговорено МАКСИМАЛЬНАЯ длительность polling, равная 1мс. Реальная железка может опрашивать немного чаще. У меня реально USB Polling происходит 1024 раза в секунду.
|
|
|
|
18.01.2008, 17:37
|
#38
|
Почётный гражданин KAZUS.RU
Регистрация: 27.06.2005
Сообщений: 1,389
Сказал спасибо: 19
Сказали Спасибо 210 раз(а) в 156 сообщении(ях)
|
Сообщение от tnosov
|
Получается, что за один машинный цикл отправляется один бит?
|
Машинный цикл как бы не привязан к USB. Это абсолютно отдельный блок, занимающийся приемом/отправкой в то время как ядро процессора исполняет программу. Когда нужно - USB SIE выставляет флажки и (если разрешены) генерирует прерывания.
Сообщение от tnosov
|
Сколько же "полезной" информации придет на ПК, каков процент.
|
Цифры были даны для "полезной" информации.
|
|
|
|
21.01.2008, 13:26
|
#39
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Сообщение от urry
|
... у меня закончилась триал-версия "считалки" юсб трафика - у кого-то есть?
|
Может, снупи подойдет? Сам, правда, еще не пробовал...
|
|
|
|
24.01.2008, 00:05
|
#40
|
Прохожий
Регистрация: 24.07.2007
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Цитата:
|
у меня закончилась триал-версия "считалки" юсб трафика - у кого-то есть ?
|
А вы не Bus Hound используете? Серийник можно найти здесь: http://forum.ru-board.com/topic.cgi?...17097&start=40
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Практика ремонта мобильных телефонов
|
halizev2 |
Автоматика и аппаратура связи |
3 |
22.11.2008 02:01 |
ПЛИС GAL16V8 и элементарная логика.
|
WattsON |
Микроконтроллеры, АЦП, память и т.д |
2 |
27.06.2007 11:59 |
"Практика программирования USB" П.Агуров, качайте
|
lol2007 |
Микроконтроллеры, АЦП, память и т.д |
1 |
21.01.2007 12:01 |
Практика программирования: Бейсик, Си, Паскаль (+ дискета)
|
dosikus |
Proteus, KiCAD и другие ECAD |
4 |
25.09.2006 08:53 |
delphi
|
sport7 |
Микроконтроллеры, АЦП, память и т.д |
6 |
27.12.2005 00:14 |
Часовой пояс GMT +4, время: 00:43.
|
|