Datainsamlingskort för anslutning till USB Examensarbete Anders Karlström Examinator: Lennart Lind
Bakgrund Verifierad IP-kärna för USB och kunskaper om drivrutiner för USB var resultat av examensarbete av Andreas Malmqvist och Erik Käll. Ett datainsamlingskort behövdes i examinators växthus.
Problembeskrivning Syftet var att konstruera & tillverka ett billigt kretskort för datainsamling från sensorer och styrning av styrdon. Funktioner som AD/DA-omvandling och digitala in/utgångar skulle finnas. IP-kärnan skulle laddas till en FPGA som skulle vara huvudkrets. En marknadsundersökning skulle utföras för att kontrollera vad som redan fanns och vad som inte fanns. Kretskortet skulle tillverkas och ett PC-program som styrde kortet skulle tas fram. Då kortet var avsett för hemmabruk behövdes inga extrema prestanda.
Marknadsundersökning Syftet var att hitta en nisch med få konkurrerande produkter och få en uppfattning om hur andra produkter fungerade. Tre nischer med få produkter identifierades: Enheter med inbyggd webserver strömförsörjda via Power-over-Ethernet Enheter som är radioanslutna. Billiga USB-insamlingsenheter med pris till slutkund <960 kr + moms
Power-over-Ethernet Strömförsörjning via nätverkskabeln, kräver speciella switchar. Strömmen överförs i de två kablar som inte används för dataöverföring. 15.4W och 48V per port. Används för IP-telefoni.
Radio Kan lättast åstadkommas med standardkomponenter för USB eller Ethernet som redan finns på marknaden.
USB Billigaste konkurrerande produkt: LabJack U12 Analoga ingångar 8 st – 12 bitars upplösning Ingångsförstärkare (1,2,4,5,8,10,16,20 ggr förstärkning) Mätområde ±10 V Samplingsfrekvens 300 S/s
Analoga utgångar 20 digitala in/utgångar Utspänning 0-5 V Uppdateringsfrekvens 50 Hz 20 digitala in/utgångar 1 Timer med 32 bitars upplösning Watchdogtimer med kontroll av digitalutgångar Pris: 960 kr + moms
Målsättning med USB en kontakttyp för alla sorts kringutrustningar. möjlighet att ansluta flera kringutrustningar till samma kontakt. en metod för att undvika systemresurskonflikter. anslutning av kringutrustning utan att datorn behöver stängas av. automatisk avkänning och konfiguration av kringutrustning. att hålla nere kostnaderna för både system och kringutrustning. att öka prestanda. stöd för anslutning av ny kringutrustning. låg strömförbrukning.
USB 127 enheter kan anslutas med hjälp av hubbar Inga resurskrav vad gäller I/O-adressområde IRQ-adresser eller DMA-kanaler Datorn behöver inte stängas av när en enhet ska anslutas Datorn installerar direkt rätt drivrutin när en enhet ansluts USB bygger på Master/Slave-principen vilket gör att de kretsar som sitter i enheterna har kunnat göras billiga. 3 olika överföringshastigheter: Low Speed 1.5 Mb/s, Full Speed 12 Mb/s, & High Speed 480 Mb/s När en enhet inte används sätts den i ”Suspend Mode”, den får då dra maximalt 500 uA från USB.
USB Device / endpoint En device är en kringutrustning som mus, skrivare etc. En device innehåller ett antal beskrivningar deskriptors som används för att ladda rätt drivrutin i datorn. En enpoint är ett register i device som tar hand om datorkommunikationen från/till datorn. En device har flera endpoints.
USB-Transfertyper Isochronous transfers Bulk transfers Används för realtidsapplikationer som behöver en synkron anslutning till datorn. Tex Audioapplikationer behöver överföra information synkront för att undvika distorsion av ljudet. Mycket data kan överföras, men det finns ingen verifiering av överförd data. Bulk transfers Används av enheter vars funktion inte påverkas av överföringshastigheten tex skrivare. Har lägst prioritet på bussen. Ger snabb överföring när lite övrig trafik finns på bussen, annars långsam överföring.
USB-Transfertyper Interrupt transfers Control transfers Används för att polla enheter för att se om de behöver sända data. Möss använder Interrupt Transfers. Överföringstypen har verifiering av överförda data och garanterad överföring av data varje pollningsintervall. Control transfers Används för att konfigurera enheten och kontrollera dess tillstånd. När en enhet ansluts till USB läses data ur enheten som identifierar och definierar den för datorn.
USB Strömförsörjning Nominell spänning 5V. 100 mA normalt. Kan konfigureras för 500 mA om enheten behöver så mycket ström. I Suspend Mode får enheten maximalt förbruka 500 µA.
USB Strömförsörjning Vald processor kan ha matningsspänning 4,35 - 5,25 V
Konstruktionen – Första kravspecifikationen 4 analoga in, 8 bitars upplösning 0-5 V 2 analoga ut, 8 bitars upplösning 0-5 V 8 digitala in, 5 V CMOS 8 digitala ut, 5 V CMOS Kommunikation med Full Speed. Ger överföringshastighet på 64 kB/s Isolation mellan USB och mätkretsarna. Kortet ska vara billigt att tillverka En FPGA med tillhörande USB-tranceiver ska kommunicera med USB
Konstruktionen – Första designförslaget I2C Linjär spännings-regulator USB-kontakt Switchad flyback- regulator LDO I/O ADC/ DAC Mätkontakt USB- tranceiver Signal Strömförsörjning Isolations-gränssnitt ROM Isolation FPGA
Konstruktionen – Problem Ingen FPGA klarar USB Suspend Mode, dvs strömförbrukning < 500 µA. Isolationen mellan USB och mätkretsar gav många kretsar, gör att kortet blir dyrt att tillverka.
Konstruktionen – Slutgiltig kravspecifikation 4 analoga in, 8 bitars upplösning 0-5 V 2 analoga ut, 8 bitars upplösning 0-5 V 4 digitala in, 5 V CMOS 4 digitala ut, 5 V CMOS Kommunikation med Low Speed. Ger överföringshastighet på 800 B/s Kortet ska vara billigt att tillverka en krets som klarar att arbeta i Suspend Mode ska användas för kommunikationen med USB.
Konstruktionen – Slutgiltig design Kravspecifikationen anpassad för mikrokontrollern PIC16C745 från Microchip Klarar Suspend Mode Inbyggd USB-tranceiver 22 I/O-pinnar 2 PWM-utgångar med 10 bitars upplösning 5 A/D-ingångar med 8 bitars upplösning
Konstruktionen - Schemat
Konstruktionen - Spänningsreferensen A/D-omvandlarens referensspänning varierar inte med spänningen från USB En spännings-delare behövs för att kunna mäta upp till 5 V
Konstruktionen – Antivikningsfiltret Behövs för att uppfylla samplingsteoremet. Samplingsfrekvensen ska vara minst dubbelt så hög som signalkomponenten med högst frekvens.
Konstruktionen - Antivikningsfiltret VAIN ANx R1 R2 C
Konstruktionen - Antivikningsfiltret Maximal överföringshastighet mellan kortet och datorn är 800 B/s vilket ger maximal samplingsfrekvens för A/D-omvandlaren på 800 Hz. A/D-omvandlaren i kretsen har en nominell samplingsfrekvens på 26316 Hz. Detta gör att endast vart 33:e sampel hinner överföras till datorn. Filter av första ordningen för att begränsa antalet komponenter. De låga frekvenserna gör att komponentvärdena blir stora, C=115 µF.
Konstruktionen – Antivikningsfiltret 0dB -50dB fc fs/2=400Hz Antivikningsfilter för en 8-bitars A/D-omvandlare
Konstruktionen - PWM Analoga spänningar är svåra att överföra långa sträckor utan att påverkas av brus och spänningsfall. Därför har många µC PWM istället för D/A-omvandlare. Oftast är frekvensen konstant och duty-cycle varieras. PWM-signalen kan lågpassfiltreras för att få en analog spänning.
Konstruktionen - PWM Mikrokontroller PWM-modul R C V 5V V T ta t U
Tillverkning av koret Schemaritning / skapa symboler Kortlayout Ta ut Gerberfiler Fräsning Lödning – Om möjligt på båda sidor Isolationstest
Konstruktionen - Kostnadskalkyl Produkt / Tjänst 1 kort 100 kort 1000 kort Komponenter 169,03 7 439,70 63 744,00 Laminat / mönsterkort 32,60 2 853,00 14 083,00 Plastlåda Elfa 50-362-23 29,00 2 420,00 24 200,00 Montering 100,00 7 600,00 68 000,00 Totalt 330,63 20 312,70 170 027,00 Pris/enhet 203,13 170,03
Konstruktionen - Försäljningspris Bör ligga betydligt under 1200 kr (inkl moms) vilket är priset på billigaste konkurrerande produkt, LabJack U12. Ett sätt att enkelt räkna ut försäljningspriset är att multiplicera tillverkningskostnaden med fyra. Typ av kundkrets inverkar på försäljningspriset, en företagskund kan betala mer än en privatperson.
Konstruktionen - Försäljningspris 1 kort 100 kort 1000 kort Tillverkningskostnad/enhet 330,63 203,13 170,03 Försäljningspris/enhet 1 322,52 812,52 680,12 Försäljningspris/enhet (inkl moms) 1 653,15 1 015,65 850,15
Slutsatser Att konstruera ett billigt kort är svårt. Om produkten ska säljas till konsument krävs stora serier för att få ner priset. Det är lätt att sikta för högt när man skriver kravspecifikation. Svårt att hitta optimal mikrokontroller för projektet. En mikrokontroller som klarar att kommunicera med Full Speed över USB vore att föredra.
Tack till Lennart Lind, IDT Joakim Adomat, IDT Anna Petersson, JAPS Elektronik