| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| USB Full Speed device - кой контролер да избера? http://mcu-bg.com/mcu_site/viewtopic.php?f=2&t=2239 |
Страница 1 от 3 |
| Автор: | Цецо [ Сря Апр 19, 2006 4:08 pm ] |
| Заглавие: | USB Full Speed device - кой контролер да избера? |
Трябва да се прави един проект, който да прехвърля доста прилично количество информация към PC. Данните представляват непрекъснат поток който може да се каже че откъм устройството постъпва синхронно. Скоростта е близо 300 кбайта за секунда (12 канала 24 битa 8Khz ADC). Скоростта е височка и предвид синхронността на данните - гледам към изохронен USB трансфер. В полезрението ми са следните чипове: 1. PIC18F4550 2. AT91SAM7S 3. LPC214X 4. C8051F34X (обаче не ми допада 8051 ядрото, т.е няма кой да седне да го мъчи тепърва). Имате ли опит с нещо подобно? Как мислите възможно ли е по принцип? Освен това ми виси и проблема с драйверите за Windows. Никога не съм се блъскал в тая посока. Дали има нещо готово за целта, да не откривам топлата вода. Друга еретична мисъл дето ми хрумва е Ethernet. Ама с USB поне имам малък опит откъм дивайса, а за мрежата съм бос както откъм устройство, така и откъм PC. А и много харчи пусти Ethernet, а аз се храня на батерии. |
|
| Автор: | 3aek [ Сря Апр 19, 2006 4:37 pm ] |
| Заглавие: | |
ако не си правил драйвери за USB за Windows забрави всички гореизброени, тръгнахме в таз насока от няколко месеца си блъскаме главите и писането е най-малкия проблем, после идват маса въпроси от клиенти - драйвера не работи със Windows build XXX, SP YYY, защо пренебрегвате великата система Lunux (или Mac OS) и прочее FT245 + процесор по избор е най-бързото решение |
|
| Автор: | Цецо [ Сря Апр 19, 2006 4:43 pm ] |
| Заглавие: | |
няма начин да стане FTто. То има ограничение на 3Мbit. А моя трафик отива на малко над 3М, защото ми трябва и служебна информация. Някъде къде 3,2 мбита ми трябват. По отношение на драйверите си мислех не може ли да се ползват някакви стандартни класове - например за stream audio. |
|
| Автор: | backson [ Сря Апр 19, 2006 4:47 pm ] |
| Заглавие: | |
Цецо това са байтове бе влизаш в нормата ?! --> http://ftdichip.com/Products/FT245BM.htm драйверите VCO - 300 кбайт/сек ако с D2XX - 1Mбайт/сек трансфери. Аз между другото искам да питам варианта PIC18F4550 - USB некой пускал ли го е въобще поне като виртуален ком ? |
|
| Автор: | TheWizard [ Сря Апр 19, 2006 5:34 pm ] |
| Заглавие: | |
Цецо - PIC18F4550 - ексампъла(можеша да си го оптимизираш) на микрочип работи на 98 и на ХР и по скорост бие омразното ми FT. Допуска смяна на драйвери, но е все тая... backson - какъв е смисъла да го правиш на СОМ като можеш да го адресираш дирекно 3aek - за 4550 невиждам смисъл да си пиша драйвер(WIN) освен да бъда оригинален. Проблем остават други операционни системи |
|
| Автор: | backson [ Сря Апр 19, 2006 5:56 pm ] |
| Заглавие: | |
Брех тоз магьосника ни сипа на всичките да ядем. |
|
| Автор: | TheWizard [ Сря Апр 19, 2006 7:00 pm ] |
| Заглавие: | |
Значи ако компилнеш примера им работи в дебуг режим с ICD2 - махаш фусето за дебуг Драйверите дето съм пробвал са оригиналния на микрочип и USBIO98.SYS - разлика - малка и несъществена main.c #include <p18cxxx.h> #include "config.h" ................... Conifg.H #ifdef __18F4550_H #pragma config PLLDIV = 3 // Divide by 3 (12MHz input) #pragma config CPUDIV = OSC1_PLL2 // [OSC1/OSC2 Src: /1][96MHz PLL Src: /2] #pragma config USBDIV = 2 // Clock source from 96MHz PLL/2 #pragma config FOSC = HSPLL_HS // HS oscillator, PLL enabled, HS used by USB #pragma config FCMEM = OFF // Fail Safe Clock Monitor #pragma config VREGEN = ON // USB Voltage Regulator #pragma config IESO = OFF // Internal/External Switch Over #pragma config PWRT = ON // Power Up Timer #pragma config BOR = OFF // Brown Out Reset #pragma config BORV = 21 // Brown Out Voltage #pragma config WDT = OFF // Watchdog Timer #pragma config WDTPS = 32768 // 1:32768 #pragma config MCLRE = OFF // MCLR Enable #pragma config LPT1OSC = OFF // Low Power Timer1 Oscillator Enable #pragma config PBADEN = OFF // Port B A/D Enable: PortB<4:0> pins are configured as digital I/O on RESET #pragma config CCP2MX = OFF // CCP2 Mux bit #pragma config STVREN = OFF // Stack Overflow Reset #pragma config LVP = OFF // Low Voltage ICSP: #pragma config ICPRT = OFF // Dedicated In-Circuit Debug/Programming Enable #pragma config XINST = OFF // Extended Instruction Set Enable #pragma config DEBUG = OFF // Background Debugger Enable #pragma config CP0 = OFF //Code Protection Block 0 #pragma config CP1 = OFF //Code Protection Block 1 #pragma config CP2 = OFF //Code Protection Block 2 #pragma config CP3 = OFF //Code Protection Block 3 #pragma config CPB = OFF //Boot Block Code Protection #pragma config CPD = OFF //Data EEPROM Code Protection: #pragma config WRT0 = OFF // Write Protection Block 0: #pragma config WRT1 = OFF //Write Protection Block 1: #pragma config WRT2 = OFF //Write Protection Block 2: #pragma config WRT3 = OFF //Write Protection Block 3: #pragma config WRTB = OFF //Boot Block Write Protection: #pragma config WRTC = OFF //Configuration Register Write Protection: #pragma config WRTD = OFF //Data EEPROM Write Protection: #pragma config EBTR0 = OFF //Table Read Protection Block 0: #pragma config EBTR1 = OFF //Table Read Protection Block 1: #pragma config EBTR2 = OFF //Table Read Protection Block 2: #pragma config EBTR3 = OFF //Table Read Protection Block 3: #pragma config EBTRB = OFF //Boot Block Table Read Protection: //#pragma config // #endif |
|
| Автор: | miro_atc [ Сря Апр 19, 2006 7:11 pm ] |
| Заглавие: | |
SAM&LPC са за предпочитане, даже по-скоро само SAM заради това че има DMA-та. но... първо трябва да помислиш как ще ги вкараш в съответния контролер... Всичко зависи от интерфейса на АЦП-то... Ако примерно е SPI - тогава най-лесно ще стане с SAM - пускаш си ДМА-тата и чакаш... Ама ако ще ги вкарваш прези GPIO-ta имаш сериозен проблем... Ако си мастер, ще ти трябват поне 3 операции с бавните портове, ако си слейв - може евентуално да успееш с FIQ-a |
|
| Автор: | Цецо [ Сря Апр 19, 2006 7:19 pm ] |
| Заглавие: | |
Верно че 245 цата работи до 1 мегабайт (поне така пише). Магьостник, какъв трансфер си вдигал със драйвера на микрочип? Ако не ме лъже паметта той беше за виртуален COM. Пробвал ли си да правиш непрекъснат трансфер - не кратки и бързи пакети, а продължителен трансфер да кажем 10 минути на висока скорост. Че контролера го може е ясно, ама не знам драйверите дали са написани като хората. |
|
| Автор: | TheWizard [ Сря Апр 19, 2006 7:38 pm ] |
| Заглавие: | |
синхрония трансфер е 64кБАЙТА/сек асинхронния - скороста ти зависи от натовареноста на виндоуса за 4550 max 800 кбайта/сек - само прехвърля масив ном 400 кбайта/сек - работи без проблем пробите за време(постоянен обмен) бяха около няколко часа(над 2) Има и виртуален ком - не съм го пробвал, но работил - има много примери в нета за ком Аз пробвах дирекния със IOCTL и ReadFile, WriteFile |
|
| Автор: | F-DR [ Чет Апр 20, 2006 1:15 am ] |
| Заглавие: | |
Главното преимущество на C8051F3xx на Silabs e високопроизводителното ядро - от 2 до 4 пъти по-производително от PIC18F4550, както и бързото АЦП, вграден осцилатор (и за USB). |
|
| Автор: | Цецо [ Чет Апр 20, 2006 10:13 am ] |
| Заглавие: | |
Ама е 8051. А аз него не го обичам (защото просто не го познавам добре), а пък тепърва да седна да се занимавам с него, нямам време и нерви. Иначе нищо лично към процесорите - сигурно са си ОК. |
|
| Автор: | backson [ Чет Апр 20, 2006 10:18 am ] |
| Заглавие: | |
Цецо към какво се насочи все пак ? Аз също имам един проект с USB и PIC ма не ми се рискува с 4550, мисля да си ползвам FTxxx чисто решение без да ставам "гуру" в протокола на USB. Много ми се ще да ползвам 4550 щото ще спестя пари и място на платката, ама нещо нямам доверие на PIC с USB, пък и някой беше казал някога във форума май беше бач Кольо, че ако трябва да се прави нещо дет работи читаво по-добре от FTDI няма, а 4550 ще си го оставя кат имам по-свободно време да го разцъкам |
|
| Автор: | Цецо [ Чет Апр 20, 2006 10:26 am ] |
| Заглавие: | |
И аз имам същия проблем. Трябва ми бързо решение, без много да се мисли. Засега ще пробваме с 245цата. Но иначе имам желание да разбера как да стане с пика, на по късен етап, може да го ползвам. |
|
| Автор: | miro_atc [ Чет Апр 20, 2006 10:42 am ] |
| Заглавие: | |
Цецо какъв ти е проблема с AT91SAM7S32 ? само с това животно може да постигнеш >12мбита. Разбира се, ако можеш да си направиш и входния и изходен трансфер с ДМА-та, а по средата CPU-to компресира "on the fly".... Не занам какво мериш с тези АЦП-та, но много вероятно е от 24-бит стойности с проста компресия да ги намалиш поне до 8-бит. |
|
| Страница 1 от 3 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|