8051 vs AVR
-
- Inlägg: 2360
- Blev medlem: 16 september 2003, 17:18:13
- Ort: Dubai, United Arab Emirates
- Kontakt:
Jo, fysisk storlek och pris är minst lika vikiga faktorer.
Snabbheten kan man ofta komma runt genom att ge tusan att använda ett interpreterande spräk när man programmerar och i stället köra med ett språk för "real men" - dvs assembler. Fast lika ofta så kan man få en bra hastighetsökning genom att använda sig av bättre / mer lämpade algoritmer för det man vill göra istället för att koda i assembler. Och att använda hårdvaran på et trelevant sätt - timers, interrupts och pwmhårdvara kan avlasta mjukvaran från mycket onödigt slit.
Snabbheten kan man ofta komma runt genom att ge tusan att använda ett interpreterande spräk när man programmerar och i stället köra med ett språk för "real men" - dvs assembler. Fast lika ofta så kan man få en bra hastighetsökning genom att använda sig av bättre / mer lämpade algoritmer för det man vill göra istället för att koda i assembler. Och att använda hårdvaran på et trelevant sätt - timers, interrupts och pwmhårdvara kan avlasta mjukvaran från mycket onödigt slit.
- MicaelKarlsson
- Inlägg: 4669
- Blev medlem: 18 juni 2004, 09:16:07
- Ort: Aneby
- Kontakt:
Har du kollat på Cygnal's (eller silicon labs som dom numera heter) C8051F120 t.ex. ?
Här finns den kretsens PDF om du är intresserad.
100MIPS 8051 med 128k flash och 8k ram
JTAG - ISP och debug
Intern oscillator / PLL
16 * 16bit MAC
AD
DA
PGA
Komparator
SPI
UART
I2C
Timers
Brownout
Watchdog
Externt bussinterface
Kort & gott - nästan allt man behöver i en och samma krets.
Finns även med alternativa konfigureringar som t.ex. CAN och USB.
100MHz och 70% av instruktionerna exekvieras på en eller två klockcykler.
Whee...!
Här finns den kretsens PDF om du är intresserad.
100MIPS 8051 med 128k flash och 8k ram
JTAG - ISP och debug
Intern oscillator / PLL
16 * 16bit MAC
AD
DA
PGA
Komparator
SPI
UART
I2C
Timers
Brownout
Watchdog
Externt bussinterface
Kort & gott - nästan allt man behöver i en och samma krets.
Finns även med alternativa konfigureringar som t.ex. CAN och USB.
100MHz och 70% av instruktionerna exekvieras på en eller två klockcykler.
Whee...!
Senast redigerad av Michel 14 oktober 2004, 13:55:49, redigerad totalt 1 gång.
- MicaelKarlsson
- Inlägg: 4669
- Blev medlem: 18 juni 2004, 09:16:07
- Ort: Aneby
- Kontakt:
- MicaelKarlsson
- Inlägg: 4669
- Blev medlem: 18 juni 2004, 09:16:07
- Ort: Aneby
- Kontakt:
Vi på jobbet har kört mycket med Microchip och PIC men har tröttnat på detta och gått äver till Atmel AVR. Får man bara till programmet på en PIC så funkar det bra utan tvekan. Problemet uppstår när programmen blir stora, dvs mer än 256 resp. 2048 instruktioner... och det är inte mycket. Jag vet det finns fräschare PIC:ar men inte till låga priser.
AVR har linjärt minne och det är bara att dundra på med kod. Programmeringsdosan är billig och även starterkitet, sensationellt billigt vill jag påstå. Även en fattig stiudent har råd om han prioriterar.
AVR har linjärt minne och det är bara att dundra på med kod. Programmeringsdosan är billig och även starterkitet, sensationellt billigt vill jag påstå. Även en fattig stiudent har råd om han prioriterar.
- MicaelKarlsson
- Inlägg: 4669
- Blev medlem: 18 juni 2004, 09:16:07
- Ort: Aneby
- Kontakt:
-
- Inlägg: 2360
- Blev medlem: 16 september 2003, 17:18:13
- Ort: Dubai, United Arab Emirates
- Kontakt:
Nästan-citat från diverse medlemmar på forumet:
"Nänänä... nu blir det för jobbigt här. En processor kan ju bara göra en sak i taget. Om man kör en Sleep så stannar ju allt så det blir svårt att styra flera gatuljus samtidigt. Borde man inte kunna lösa det med att ha flera processorer som kommunicerar via en gemensam specialbyggt kommunikationsprocessor och sedan bara låta varje enskild processor ha hand om ett gatuljus.. Men det verkar svårt det också. Jag vet hur man blinkar med EN lysdiod, men hur tänder jag två samtidigt, lixom röd och gul lyser ju samtidigt ibland? Kan någon vara snäll och visa mig exakt hur jag ska göra? Och måste jag koppla in båda pinnarna på lysdioderna - räcker det inte med en för strömmen? Och så har jag hört att set sitter en processor i mobiltelefoner, jag har en gammal SH888 här. Kan jag inte ta ut processorn ur den och bygga en programmerare av några kabler för den och ha den som styrenhet. Jag har aldrig hållt i en lödkolv eller programmerat något, men kan jag inte ändå ha som förstaprojekt att bygga om min Nokia 9010-telefon till en gameboy eller så?"
Jaja, alla har vi ju varit nybörjare :-)
"Nänänä... nu blir det för jobbigt här. En processor kan ju bara göra en sak i taget. Om man kör en Sleep så stannar ju allt så det blir svårt att styra flera gatuljus samtidigt. Borde man inte kunna lösa det med att ha flera processorer som kommunicerar via en gemensam specialbyggt kommunikationsprocessor och sedan bara låta varje enskild processor ha hand om ett gatuljus.. Men det verkar svårt det också. Jag vet hur man blinkar med EN lysdiod, men hur tänder jag två samtidigt, lixom röd och gul lyser ju samtidigt ibland? Kan någon vara snäll och visa mig exakt hur jag ska göra? Och måste jag koppla in båda pinnarna på lysdioderna - räcker det inte med en för strömmen? Och så har jag hört att set sitter en processor i mobiltelefoner, jag har en gammal SH888 här. Kan jag inte ta ut processorn ur den och bygga en programmerare av några kabler för den och ha den som styrenhet. Jag har aldrig hållt i en lödkolv eller programmerat något, men kan jag inte ändå ha som förstaprojekt att bygga om min Nokia 9010-telefon till en gameboy eller så?"
Jaja, alla har vi ju varit nybörjare :-)
- MicaelKarlsson
- Inlägg: 4669
- Blev medlem: 18 juni 2004, 09:16:07
- Ort: Aneby
- Kontakt:
- MicaelKarlsson
- Inlägg: 4669
- Blev medlem: 18 juni 2004, 09:16:07
- Ort: Aneby
- Kontakt: