T: Kretskort och program till AVR projekt med IP gränssnitt
-
- Inlägg: 61
- Blev medlem: 19 november 2007, 21:43:08
- Ort: Skövde
T: Kretskort och program till AVR projekt med IP gränssnitt
Skall fatta mig kort...
Jag har sedan länge velat ha ett kretskort till min Showlaser med ethernet kommunication.... Och eftersom jag är lite för grön och ringrostig så tänkte jag ta lite hjälp här...
Jag har för stunden ett kort som jag köpt men det kör på USB och det använder sig av en AVR så en del tipps kan tas där ifrån...
Krav:
1. AVR processor....
2. 2st minst 13Bit Analogutgångar balanserat 5v..
3. Minst 3st 8Bit Analogutgångar 0-5v..
4. Ethernet komunikation..
5. Några få ej för stunden klara in och utgångar..
6. Programmet till AVR skrivet i C. (För att jag i framtiden vill lära mig....)
7. ISP port....
Gärna utgång för lcd och då även typ 4 menyknappar men dessa behöver inte vara med i programmet för stunden...
Tanken är att en PC skickar Block med:
Hastighet (Points/s) Upp till 40kpps
Antal Punkter Upp till tex 3000punkter
Punkter enligt nedan....
X (16bit)
Y (16bit)
R (8bit)
G (8bit)
B (8bit)
Data (8bit)
Typ..
Jag betalar givetvis kort och komponenter så du inte behöver lägga ut något..
Vad pratar vi för pengar? För CAD och programmering? PMa mig vid intresse...
Jag har sedan länge velat ha ett kretskort till min Showlaser med ethernet kommunication.... Och eftersom jag är lite för grön och ringrostig så tänkte jag ta lite hjälp här...
Jag har för stunden ett kort som jag köpt men det kör på USB och det använder sig av en AVR så en del tipps kan tas där ifrån...
Krav:
1. AVR processor....
2. 2st minst 13Bit Analogutgångar balanserat 5v..
3. Minst 3st 8Bit Analogutgångar 0-5v..
4. Ethernet komunikation..
5. Några få ej för stunden klara in och utgångar..
6. Programmet till AVR skrivet i C. (För att jag i framtiden vill lära mig....)
7. ISP port....
Gärna utgång för lcd och då även typ 4 menyknappar men dessa behöver inte vara med i programmet för stunden...
Tanken är att en PC skickar Block med:
Hastighet (Points/s) Upp till 40kpps
Antal Punkter Upp till tex 3000punkter
Punkter enligt nedan....
X (16bit)
Y (16bit)
R (8bit)
G (8bit)
B (8bit)
Data (8bit)
Typ..
Jag betalar givetvis kort och komponenter så du inte behöver lägga ut något..
Vad pratar vi för pengar? För CAD och programmering? PMa mig vid intresse...
Senast redigerad av DeeJay_Bamse 25 september 2008, 19:44:10, redigerad totalt 1 gång.
Välj en 32bitars processor direkt tycker jag. T.e.x STM32 från st eller varför inte LM3S8971 från www.luminarymicro.com som har ethernet direkt.
http://www.luminarymicro.com/products/e ... n_kit.html
508kr på farnell för dev kit.
http://www.luminarymicro.com/products/e ... n_kit.html
508kr på farnell för dev kit.
Senast redigerad av Micke_s 25 september 2008, 19:35:48, redigerad totalt 1 gång.
-
- Inlägg: 61
- Blev medlem: 19 november 2007, 21:43:08
- Ort: Skövde
-
- Inlägg: 61
- Blev medlem: 19 november 2007, 21:43:08
- Ort: Skövde
micke_s, vari består dessa stygga buggar?
Och fiinns det några bra alternativ till ENC 28J60 ?
Annars, MicroIP för 8-bit cpu:
http://ietfreport.isoc.org/all-ids/draf ... -ip-00.txt
Och fiinns det några bra alternativ till ENC 28J60 ?
Annars, MicroIP för 8-bit cpu:
http://ietfreport.isoc.org/all-ids/draf ... -ip-00.txt
Erratan på chippet kanske
B5 chippets.
ww1.microchip.com/downloads/en/DeviceDoc/80264d.pdf
"The Receive Packet Pending Interrupt Flag
(EIR.PKTIF) does not reliably/accurately report
the status of pending packets. " bra interrupt, typ rapporterar när den vill.
"The receive hardware may corrupt the circular
receive buffer (including the Next Packet Pointer
and receive status vector fields) when an even value
is programmed into the ERXRDPTH:ERXRDPTL
registers. " tycker jag inte är så trevlig att mottagen buffer kan bli förstört.
DMA går ej använda för räkna fram CRC på ett paket.
Deras lösning: "Do not use the DMA module to perform checksum
calculations; perform checksums in software. This
problem does not affect the DMA copy operation
(ECON1.CSUMEN = 0)." alltså räkna CRC själv i processorn.
Alternativet om man vill ha en stand-alone ethernetkontroller är begränsade. men tittar man på arm varianter så finns det många. Anledningen är väl att det behövs 32bitar processor för hantera vettigt.
Edit: B7 rev har fortfarande CRC buggen.
( http://ww1.microchip.com/downloads/en/D ... 80349b.pdf )
B5 chippets.
ww1.microchip.com/downloads/en/DeviceDoc/80264d.pdf
"The Receive Packet Pending Interrupt Flag
(EIR.PKTIF) does not reliably/accurately report
the status of pending packets. " bra interrupt, typ rapporterar när den vill.
"The receive hardware may corrupt the circular
receive buffer (including the Next Packet Pointer
and receive status vector fields) when an even value
is programmed into the ERXRDPTH:ERXRDPTL
registers. " tycker jag inte är så trevlig att mottagen buffer kan bli förstört.
DMA går ej använda för räkna fram CRC på ett paket.
Deras lösning: "Do not use the DMA module to perform checksum
calculations; perform checksums in software. This
problem does not affect the DMA copy operation
(ECON1.CSUMEN = 0)." alltså räkna CRC själv i processorn.
Alternativet om man vill ha en stand-alone ethernetkontroller är begränsade. men tittar man på arm varianter så finns det många. Anledningen är väl att det behövs 32bitar processor för hantera vettigt.
Edit: B7 rev har fortfarande CRC buggen.
( http://ww1.microchip.com/downloads/en/D ... 80349b.pdf )
-
- Inlägg: 61
- Blev medlem: 19 november 2007, 21:43:08
- Ort: Skövde
AT32UC3A1128 t.ex. 128k ram och 32k sram. helt okej.
TQFP100 är handlödbar också.
Utgå från http://www.atmel.com/dyn/Products/tools ... ol_id=4114 och bygg på vad du nu behöver.
TQFP100 är handlödbar också.
Utgå från http://www.atmel.com/dyn/Products/tools ... ol_id=4114 och bygg på vad du nu behöver.
-
- Inlägg: 61
- Blev medlem: 19 november 2007, 21:43:08
- Ort: Skövde
Satt och kollade på den AVR32an men tillbaka till varför jag skrev tråden från början...
Någon som vill tjäna en slant på att göra bygget??
Har som sagt inte hållt på med microprocesorer på 14år så att börja med ethernet är kanske inte något att rekomendera....
Därför behöver jag hjälp med cad och program.....
Någon som vill tjäna en slant på att göra bygget??
Har som sagt inte hållt på med microprocesorer på 14år så att börja med ethernet är kanske inte något att rekomendera....
Därför behöver jag hjälp med cad och program.....
Måste det vara ett custom-tillverkat kretskort? Kan du inte nöja dig med ett devkit + lite elektronik runtomkring för att få D/A, display osv? Det skulle spara väldigt mycket tid, och tid är ju pengar.
Då kan du ju till exempel välja något kit med en AVR32, så du får ethernet, usb, Linux med mera. Fördelarna är ju att det är väldigt enkelt att utveckla program, script osv i linux. Till exempel så kan du ju slänga upp en pytteliten webserver om du skulle få för dig att göra det.
Det är även enkelt att i framtiden expandera, kanske till exempel slänga på en liten färg-LCD med touch screen.
Hos lawicel kan du ju köpa ett "ICnova AP7000 Base AVR32" för 750kr + moms. Detta kort har Linux förinstallerat direkt i kartongen. Då får du ju:
140MHz max. 200MHz, 64MB SDRAM, 32Bit data bus, 8MB Flash , USB-UART via CP2102, optional USB2.0 Highspeed Device(AP7000), 10/100MBit/s Ethernet, high-quality step-down-regulator for this low-power embedded platform, 8 LED, 1 user switch, 1 reset switch, UART, I2C

Då kan du ju till exempel välja något kit med en AVR32, så du får ethernet, usb, Linux med mera. Fördelarna är ju att det är väldigt enkelt att utveckla program, script osv i linux. Till exempel så kan du ju slänga upp en pytteliten webserver om du skulle få för dig att göra det.

Hos lawicel kan du ju köpa ett "ICnova AP7000 Base AVR32" för 750kr + moms. Detta kort har Linux förinstallerat direkt i kartongen. Då får du ju:
140MHz max. 200MHz, 64MB SDRAM, 32Bit data bus, 8MB Flash , USB-UART via CP2102, optional USB2.0 Highspeed Device(AP7000), 10/100MBit/s Ethernet, high-quality step-down-regulator for this low-power embedded platform, 8 LED, 1 user switch, 1 reset switch, UART, I2C

Hur blir det egentligen? Kunden jag jobbar hos nu har sagt upp kontraktet med i princip omedelbar verkan. Från och med måndag så går jag ner på min garantilön på 75% och jobbar bara 6 timmar om dagen fram tills dess att de hittar ett nytt projekt åt mig, vilket brukar kunna ta 2 veckor. Det betyder att det finns tid över åt andra grejer 
Om du behöver få ihop något fort och tycker det är okej att basera projektet på ett AVR32-devkit (till exempel det jag länkade till ovan) så är det ju bara att säga till. Jag har redan ett NGW100 som jag skulle kunna använda som utvecklingsplattform.
Jag skulle kunna skriva ihop lite enkel mjukvara (server + client) för att få igång kommunikation mellan AVR:en och en PC med valfritt operativsystem och göra så den uppfyller dina krav + att den kan kommunicera med några extra in- och utgångar. Sedan är det ju inte så svårt att slänga på några D/A-omvandlare ovanpå det. Jag tro dessutom det kanske redan finns färdiga kort med 16bit D/A som man skulle kunna använda sig av för att spara ännu mer tid.
Som sagt är det ju inga problem att expandera i framtiden då utvecklingskitten innehåller rätt mycket bra features, extra headers, osv. Sen att det är Linux i grund och botten gör det ju bara ännu enklare då man har rätt mycket färdigt, till exempel en fullt fungerande TCP/IP-stack, FTP och SSH.
Här verkar vara någon som kopplat en liten TFT till kortet jag visade ovan.
Kan tilläggas att jag jobbar som programmerare och programmerar i C/C++. Självklart har jag ju även rätt mycket erfarenhet av Linux och embedded. Både proffisionellt och privat.
Sen finns det säkert fler personer här på forumet som hjälper till. Till exempel skulle säkert någon här med CNC-fräs kunna fräsa ut en snygg låda åt dig till ett bra pris.

Om du behöver få ihop något fort och tycker det är okej att basera projektet på ett AVR32-devkit (till exempel det jag länkade till ovan) så är det ju bara att säga till. Jag har redan ett NGW100 som jag skulle kunna använda som utvecklingsplattform.
Jag skulle kunna skriva ihop lite enkel mjukvara (server + client) för att få igång kommunikation mellan AVR:en och en PC med valfritt operativsystem och göra så den uppfyller dina krav + att den kan kommunicera med några extra in- och utgångar. Sedan är det ju inte så svårt att slänga på några D/A-omvandlare ovanpå det. Jag tro dessutom det kanske redan finns färdiga kort med 16bit D/A som man skulle kunna använda sig av för att spara ännu mer tid.
Som sagt är det ju inga problem att expandera i framtiden då utvecklingskitten innehåller rätt mycket bra features, extra headers, osv. Sen att det är Linux i grund och botten gör det ju bara ännu enklare då man har rätt mycket färdigt, till exempel en fullt fungerande TCP/IP-stack, FTP och SSH.
Här verkar vara någon som kopplat en liten TFT till kortet jag visade ovan.
Kan tilläggas att jag jobbar som programmerare och programmerar i C/C++. Självklart har jag ju även rätt mycket erfarenhet av Linux och embedded. Både proffisionellt och privat.
Sen finns det säkert fler personer här på forumet som hjälper till. Till exempel skulle säkert någon här med CNC-fräs kunna fräsa ut en snygg låda åt dig till ett bra pris.