Gå til innhold

WLan fjernkontroll med FPGA-kort


Anbefalte innlegg

Jeg ønsker å lage en fjernkontroll til pc'n min. Er stortsett software jeg jobber med så er litt fersk på de mere avanserte områdene på hardware siden.

Har foreløpig en teori om at hvis jeg kobler et programmerbart FPGA-kort til et WLAN-adapter gjennom USB-tilgangen på FPGA-kortet, så skal det gå ann å sende signaler ut på nettverket fra dette kortet og da til pc'en min.

Jeg må jo da lage et program som tar imot disse signalene, men det er ikke noe jeg anser som et problem.

Er det noen som kan hjelpe meg med dette? Eller som vet om andre personer/steder/bøker/sider som kan hjelpe?

 

 

Har funnet et FPGA-kort som jeg har en teori om at kan funke:

http://www.opalkelly.com/products/xem3010/

 

 

 

Håper noen kan hjelpe :hmm:

Lenke til kommentar
Videoannonse
Annonse
Hei.

 

FPGA kortet ser komplisert ut, enklere med en mikrokontroller men hvorfor finne opp hjulet på nytt?

 

Se her : http://www.pcremotecontrol.com/info.html

 

For hardware som du trenger: http://www.lirc.org/receivers.html

 

For Software: http://winlirc.sourceforge.net/

 

Håper dette kan hjelpe deg på vei.

 

Good Luck

7236072[/snapback]

 

Som sagt ikke så dreven på hardware ennå, så hva er forskjellen på en FPGA og en mikrokontroller? og hvor får jeg eventuelt tak i noe slikt?

Poenget er ikke å "finne opp hjulet på nytt", men å faktisk lære hvordan man "lager hjulet". Dette for å kunne videreutvikle det jeg ønsker å lage, til en fjernkontroll med flere funksjoner enn bare å sende ut signaler. Det å kunne ha en kontroll som sender og mottar WLan signaler, åpner for utrolig mange muligheter i begge ender.... :dribble:

Lenke til kommentar

Jeg tror det blir lettere for deg å programmere en mikrokontroller, ettersom FPGA-kretsen benytter et eget programmeringsspråk som heter VHDL som er mye vanskeligere å programmere enn C.

 

Mikrokontrollere (MCU) er mye lettere å programmere (ved hjelp av C), så i dette tilfellet tror jeg det vil være det beste valget. Det er også billigere... Det finnes mange forskjellige kontrollere man kan benytte, men Atmel AVR og Microchip PIC er to MCUer som er mest utbredt i hobbybruk.

 

Hvis du er nybegynner når det gjelder generell elektronikk, tror jeg et slikt prosjekt kan være mye å bite over, men hvis du har litt erfaring kan det nok gå :D

Endret av St Thicket
Lenke til kommentar

Ettersom jeg forstår når jeg leser på siden jeg har referert til i mitt første innlegg, så gjør medfølgende software ifra Opalkelly at man kan skrive i høyere nivå språk, quote:

"Complete Application Programmer's Interface (API) in C++, Python, and Java."

 

Dette er jo språk jeg er veldig kjent med. Jeg tenker også på muligehetene for å bygge ut modulen med en liten LCD-skjerm modul, men usikker på vanskelighets graden.... :dontgetit:

Lenke til kommentar
Ettersom jeg forstår når jeg leser på siden jeg har referert til i mitt første innlegg, så gjør medfølgende software ifra Opalkelly at man kan skrive i høyere nivå språk, quote:

"Complete Application Programmer's Interface (API) in C++, Python, and Java."

 

Dette er jo språk jeg er veldig kjent med. Jeg tenker også på muligehetene for å bygge ut modulen med en liten LCD-skjerm modul, men usikker på vanskelighets graden....  :dontgetit:

7243005[/snapback]

 

Da kan det hende at det følger med en kompiler som støtter disse programmeringsspråkene, og da burde du ha peiling på programmeringen.

 

Jeg ser også ut fra siden at dette kortet har 110 I/O, som betyr at du har MANGE muligheter til å legge til forskjellige ting som display, nettverk, etc.

 

Jeg tror at denne fpgaen kan fungere bra, men hvis man ser på prisen kan MCU være et billigere alternativ, men da må du skreddersy maskinvaren selv...

Lenke til kommentar

Takker for veldig mange gode svar og meniger fra alle :thumbup:

 

Men lurer på en ting til. Hvis jeg skulle valgt MCU, hva trenger jeg å gjøre for å oppnå samme mulighetene som ved den refererte FPGA'en?

Det jeg ønsker foreløpig er å kunne sende ut informasjon over WLan, altså koble til et WLan'adapter, og jeg ønsker etterhvert å koble til en liten LCD-skjerm modul, som sagt tidligere..

Og selv sagt kunne ha noen trykknapper.

Lenke til kommentar
Takker for veldig mange gode svar og meniger fra alle  :thumbup:

 

Men lurer på en ting til. Hvis jeg skulle valgt MCU, hva trenger jeg å gjøre for å oppnå samme mulighetene som ved den refererte FPGA'en?

Det jeg ønsker foreløpig er å kunne sende ut informasjon over WLan, altså koble til et WLan'adapter, og jeg ønsker etterhvert å koble til en liten LCD-skjerm modul, som sagt tidligere..

Og selv sagt kunne ha noen trykknapper.

7243172[/snapback]

 

Først må du finne ut hvordan Wlan-modulen kommuniserer (hvilket interface/bus/etc.)

Finn en MCU som har innebygd støtte for en slik bus (ikke nødvendig, men gjør det lettere) Det finnes MCUer med innebygd USB-interface som feks PIC18F4550.

Når det gjelder knapper og display burde det ikke være noe problem... så lenge du har nok inn og utganger. Knappene kan du sette i en matrise for å utnytte pinnene maksimalt. Et LCD benytter minimum 4 bits+kontrollsignal, tror det var 7 pinner.

 

Programmeringen gjøres i C, og det finnes et utall kompilatorer tilgjengelig. En programmerer som støtter den MCUen du har valgt trengs også. For mer info om MCU-programmering kan man se etter forum. Finnes mange gode forum for både PIC og AVR, så man må bare bestemme seg for hvilken man vil velge.

 

Jeg har peiling på PIC for det meste, så bare send meg en PM hvis det er noe du lurer på (eller post det her).

Lenke til kommentar

Prosessor, WLAN, display .... det begynner å se ut som en PDA, spør du meg.

 

Hva med å ta utgangspunkt i en billig PDA med innebygget WLAN evt. WLAN via SDIO-kort? Da har du driverne for WLAN-kortet på plass, display-driverne på plass, og det finnes sannsynligvis flere SW-utviklingsverktøy som kan brukes.

 

Selve fjernkontroll-applikasjonen må du fortsatt lage, men lista ligger i hvert fall litt lavere enn om du skulle starte med separate HW-deler.

Lenke til kommentar

PIC18F4550 kan ikke brukes her, den kan bare fungere som USB-slave, ikke USB-host. Hvis du skal bruke et USB-WLAN-kort så må du kunne implementere en USB-host, alternativene du da har er en mikrokontroller med innebygget USB-host (høres ikke helt lett ut å skaffe), en mikrokontroller og en ekstern USB-host-chip (FTDI har en sånn) eller FPGA. Akkurat denne FPGAen ser ut til å være ganske overkill for det du skal bygge, sjekk ut www.digilentinc.com, de har noen rimelige begynnerkort.

Lenke til kommentar

For det første, om du i utgangspunktet ikke vet forskjellen mellom MCU og FPGA så hold deg langt unna FPGA, vertfall når du sier at du ikke har mye peiling på hardware!

 

Så en annen ting, vi må huske på at det finnes to typer USB interface, Host interface og Device interface. Om du ikke vet forskjellen på dette vet jeg ikke om du er helt klar for USB heller. Altsa den FPGA saken du linket til hadde ikke noe USB Host interface, det er en ren USB device, dette vil si at du kan plugge den i en PC men kan ikke plugge en USB Wlan enhet inn i den. Jeg ser noen her nevner PIC med USB men har aldri hørt om en PIC med USB host.

 

Det jeg vil anbefale deg er å se etter ARM eller Coldfire utviklings kit med USB host interface. Disse kan kjøre linux så da har du USB, LAN og WLAN drivere og slikt klart. Da vil en normal software utvikler greie seg ganske bra. Man må ha et OS om man skal drive med ting som USB host og WLAN, dette er ting som er allt for vanskilig å utvikle for seg selv. Men om du ikke tror meg gå på www.usb.org og last ned usb specen les den å skriv et host interface i C. Greier du å skrive det på noen måneder med fulltid programmering (12 timer dagen) må jeg si at jeg blir ekstremt imponert.

 

det finnes også et alternativ og det er MCU med LAN interface og så et interface mellom LAN og WLAN.

 

EDIT: Ser MIkkel var før meg

Endret av jogamaster
Lenke til kommentar

Jeg er enig med folk flest her; har du ikke mye erfaring innen elektronikk bør du gå for en mikrokontroller (MCU).

 

Tenkte bare jeg skulle prøve å forklare deg litt mer om forskjellen på FPGA og MCU siden det ser ut som folk utelater dette:

 

MCU:

Dette er mer som en "liten datamaskin". Den er ferdig laget og har forskjellige tilkoblingsmuligheter og kan (som oftest) programmers i et eller annet høynivå språk som C eller liknende. Du vil som regel her starte med å initialisere den til å bruke de IO enhetene du trenger, så vil du prosessere data og lese/skrive til IO, registre osv... Du trenger med andre ord ikke vite hvordan hardwaren virker, bare hvordan den skal brukes.

 

FPGA:

dette er en masse logiske porter (LUTer : Look up tables) som i utgangspunket ikke er koblet sammen og derfor ikke gjør noe. Her vil du som regel programmere i språk som VHDL eller Verilog. Den koden du skriver her beskriver hvordan hardwaren i kontrolleren skal bli. DU MÅ derfor ha full kontroll på hva du lager og hvordan det virker ( jeg og en i klassen satt 10 timer i dag for å finne 3 feil i VHDL koden vår, den så ut til å simulere rett, ga ingen kompileringsfeil, men gjorde ikke det den skulle på FPGAen (Den virker nå da;-) ). En bør derfor ha en god del kunnskap om hardware og hvordan den er bygd opp. På den andre siden kan en lage de interfacenen en måtte trenge selv. Det har kommet/kommer kompilatorer for andre høynivåspråk som C for FPGA etter hvert også, har ikke prøvd slike selv, så skal ikke uttale meg om hvor bra de er, men vil anta at de er litt umodne enda...

 

Fordeler/ulemper for MCU vs. FPGA:

MCU : billig, enkelt å komme i gang, lett å de-buge (finnes ofte gratis kompilatorer og annen software)

FPGA: dyr software (hvis du skal få laget noe fornuftig), krever mer kunnskaper, vanskeligere å de-buge (med mindre du har bra software og hardware å hjelpe deg med (som f.eks. J-TAG o.l.)), som regel dyrere kretser.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...