Intel, AVR, og PIC arkitektur forskjeller

S

skyglin

Guest
Jeg har en god del eksponering for Intel architectured mikroprosessor (spesielt INTEL 80C188EB) i skolen.Nylig fikk jeg inn interesse med AVR og PIC.Jeg forstår at AVR og PIC enheter microcontrollers mens Intel 80C188EB er bare en mikroprosessor.Med 80C188EB kan jeg grensesnitt med mye ekstern eksterne enheter ved hjelp av data buss, adresse buss, og kontroll-signaler (lese og skrive).Siden AVR og PIC enheter er microcontrollers, har de integrert del perifere funksjoner og dette tar bort Hassel.Så spørsmålet mitt er, hva om vi ønsker mer perifere funksjoner med AVR og PIC enheter, hvor er de interfaced med microcontroller (som i 80C188EB tilfelle, er det faktiske pins for data buss, adresse buss, og kontroll-signaler til å koble til, men dette er ikke tilfelle med disse microcontrollers)?

For eksempel samvirking en 74HC139 1 av 4 adresse dekoder kan enkelt gjøres med Intel-prosessor.Men med AVR og PIC jeg ikke så sikker.

Jeg
er veldig forvirret nå

<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Trist" border="0" />
 
Kan starte med å definere en microcontroller som: "CPU, ROM og RAM og periferiutstyr er på chip, pakken pins er I / O til periferiutstyr og mikroprosessor som:" CPU er på chip, pakke nåler gir generelle minne og I / o busser for eksterne applikasjoner til å koble til minne og eksterne enheter som nødvendig ".

Mellom disse to grensene er chips som dimme definisjonene, kan du velge å miste noe I/O- pinner og få noen adresse buss, slik at du kan utvide ROM / RAM / IO hvis du må.Ingenting kommer gratis, selv om, og som har denne fleksibiliteten en tendens til å sette opp pakningsstørrelse & pin teller.

Når du har et program du velge chip til å passe inn, hvis det er behov for mer minne og I / O enn det som er tilgjengelig på en "ren" microcontroller, må du velge noe som har mer "mikroprosessor" egenskaper, og sette andre brikker på plass å gi I / O-enheter du har tapt.

Hva vil du også finne i microcontroller domenet er ulike teknikker for å utvide I/O- og minne uten alle pins som trengs for en adresse buss; eksempler I2C (i-kvadrerte c) (fra Philips opprinnelig for bruk i fjernsyn) som er to-wire, SPI (Motorola) osv. Ingenting i livet er gratis; disse kan bruke noen pinner, men båndbredden tendens til å være begrenset til 100-1000 kbit / s høyeste.Men du kan få sjetonger som forstår disse protokollene og gi noen I/O- pins, EEPROM-minne som kan være svært nyttig i situasjoner med begrenset pins gratis.De er også nyttige for comms mellom microcontrollers.

Utover dette er det homebrew metoder du kan bruke til å utvide I/O- av en microcontroller ved hjelp (si) 3 I/O- pinner for å drive en hc138 dekoder, en for å angi lese / skrive, 8i u. pins som bidirectional I/O- til en delt data buss, en for å angi 'gjøre en lese eller skrive syklus.Med 13 pins og to eksterne dekodere kan du få tilgang til 8 adresser hver av lese og skrive registrerer.Du må programmet denne "bussen" deg selv, din programvare vil måtte sette 3 adressen biter, sette R / W linje angir "syklus" pin lav, lese data bussen "pins, sette syklusen linje høy, etc., så båndbredden vil være begrenset, det vil trolig være bedre å velge en chip med mer mikroprosessor charactersitics som gir disse funksjonene i en hardware adresse buss.

HTH
Barny

 
barny451 virkelig verdsatt for detaljert forklaring

<img src="http://www.edaboard.com/images/smiles/icon_surprised.gif" alt="Overrasket" border="0" />bare en rask spørsmål, hvor lett det er å flytte fra én enhet til en annen innen samme familie, for eksempel fra en ATmega til en annen ATmega?Jeg mener etter en design er fullført, jeg kanskje må oppgradere for ytelse eller nedgradere på pris, uten å endre mye på hele design.

 
Sitat:

hvor enkelt det er å flytte fra én enhet til en annen innen samme familie, for eksempel fra en ATmega til en annen ATmega?
 
De vanligste mindre variant er Flash / RAM størrelse, som har en veldig klar størrelse vs pris tradeoff.Varianter på klokke hastighet også, noen ganger.

Men noe annet vil ha en annen kjerne, så ikke forvente å utvikle programvare og velg deretter en brikke til å passe det.

Enhver annen form for variasjon enn flash / ram / hastighet trolig bli i en annen pakke, som betyr en annen PCB layout.

Hvis det særlig viktig med søknaden for å få laveste pris / maksimal ytelse, som du må ha chip valgt som "må gjøre jobben", og en opp-eller ned-skala av det avhengig neccessity / mulighet til å velge et alternativ .

HTH
Barny

 

Welcome to EDABoard.com

Sponsor

Back
Top