Domanda:
Iniziare con un microprocessore
Dean
2011-01-14 21:47:35 UTC
view on stackexchange narkive permalink

Al momento sto leggendo di un microprocessore e mi chiedo se potrei iniziare con un microprocessore a 8 bit. Di cosa avrei bisogno per iniziare. Capisco che abbiano bisogno di RAM e ROM esterne. Non so se sia ancora possibile ottenere un processore Intel a 8 bit poiché il mio libro è del 1980. Quindi ci sono altri consigli? Sto cercando gli schemi elettrici per creare i miei PCB, è consigliabile? Qualcosa come un computer a scheda singola è quello che sto cercando.

Non si realizzano più semplici microprocessori con RAM esterna, ROM e I / O. Se vuoi questo genere di cose, dovrai progettare le tue usando un FPGA.
:( non è molto buono. Immagino che dovrò continuare a giocare con i miei AVR.
http://search.digikey.com/scripts/DkSearch/dksus.dll?Cat=2556260 Sezione microprocessore di DigiKey
Il 6802 è probabilmente il chip più semplice, combina CPU e RAM. Aggiungi un chip IO (6821 IIRC?) E una (E) EPROM e via (dai o prendi un Xtal, 7805 e forse una porta NAND). Una volta ho fatto un PCB unilaterale per questo, ma non ho mai avuto modo di usarlo. Lo sviluppo con EPROM è una PITA!
Nove risposte:
mctylr
2011-01-15 04:18:43 UTC
view on stackexchange narkive permalink

Quali sono i tuoi requisiti o obiettivi di progettazione? Ci sono aree su cui ti aspetti di aver bisogno di saperne di più o aree su cui desideri concentrarti?

Poiché la maggior parte dei microprocessori Intel a 8 bit erano così popolari che sono abbastanza facili da trovare come New Old Stock ( NOS) o tirato / ricondizionato (rigenerato / riciclato, solitamente testato). Almeno l'8080, l'8088, l'8086 e l'8085 sono disponibili presso i distributori o le forniture obsolete / vecchie.

Altri due che vale la pena considerare sarebbero Zilog - Z80 ( descrizione tecnica) e la tecnologia MOS 6502 ( descrizione tecnica). Lo Z80 è stato creato da Federico Faggin, che ha progettato l'8080 di Intel, e ha reso lo Z80 un processore compatibile con i binari (ma migliorato).

Lo Z80 richiede meno chip di supporto rispetto all'i8080 con aggiornamento DRAM integrato, un requisito di alimentazione di tensione singola (5V) (i8080 richiesto +/- 5V e + 12V) e può essere eseguito a qualsiasi velocità di clock fino alla velocità specificata (ad esempio 2,5 MHz per i primi modelli NMOS).

In combinazione con alimentazione a 5 V, clock dell'oscillatore (ad es. oscillatore TTL / CMOS "can"), RAM statica (anziché RAM dinamica, DRAM) hai solo bisogno di una ROM / EPROM / EEPROM e di un'interfaccia (ad es. chip per interfacce parallele o seriali) per costruire un microcomputer minimale.

Un libro abbastanza popolare sulla costruzione del proprio microcomputer utilizzando lo Z80 è stato Build Your Own Z80 Computer (disponibile con il permesso di copyright dell'autore / editore) di Steve Ciarcia. Consulta anche le alt.comp.hardware.homebuilt (datate) FAQ e la community N8VEM per ulteriori risorse e riferimenti.

Il MOS 6502 era un altro microprocessore popolare, in parte perché era molto più economico ($ 25 USD) del Motorola 6800 che era originariamente di $ 300 USD circa nel 1975. Era utilizzato in sistemi popolari come l'Apple I di Apple Computers , Commodore KIM-1, PET e Vic-20, BBC Micro e il sistema di gioco Commodore 64 e Atari 2600 utilizzavano derivati ​​6502 (6510 e 6507). Quindi c'è molto materiale disponibile online da persone di retro computing e retro-gaming e parti. Il 6502, come lo Z80, è stato prodotto da diverse fonti (es. Second sourcing) tra cui Rockwell in aggiunta al principale progettista / produttore, MOS Technology.

Se hai un particolare (forte) interesse per x86 o IBM PC / XT, quindi un 8088 o 8086 potrebbe essere un obiettivo educativo da considerare. Altrimenti mi orienterei verso la Z80 come prima scelta e la 6502 come seconda scelta a causa della disponibilità di parti e della disponibilità di materiale delle risorse.

La gamma di opzioni è illimitata da un microcomputer costruito quasi esclusivamente da transistor discreti, a una workstation MC68030 a 25 MHz e 32 bit.

Grazie per quello. Mi piace l'aspetto del microcomputer Z80. Sono andato a caccia di fortuna in alcune librerie usate per vedere se riesco a trovarlo. Quindi può avere una copia cartacea.
se vuoi giocare con una cpu a 8 bit, lo z80 e il 6502 sono probabilmente i meno complicati dal punto di vista elettrico, in quanto presentano bus non multiplex, funzionano con una singola alimentazione a 5V e non richiedono clock multifase.
Non dimenticare il 6809, probabilmente l'8 bitter più sexy di sempre! Solo 59 istruzioni di base, ma grazie al set più completo di modalità di indirizzamento buono per 1464 varianti.
jet
2011-01-15 00:00:53 UTC
view on stackexchange narkive permalink

Ti consiglierò di costruire un computer a scheda singola con firmware già sviluppato (monitor) - puoi esercitarti a programmare immediatamente senza bisogno di masterizzare E / EPROM, e successivamente sostituire il firmware con il tuo

se preferisci Intel CPU - qualcosa come basato su i8085 - puoi scaricare il programma di monitoraggio dei file Hex, il file JEDEC di PLD e lo schema hardware completo.

Puoi popolare solo la parte necessaria dei componenti

alt text

Non sapevo che fossero chiamati computer a scheda singola.
Toby Jaffey
2011-01-14 21:59:53 UTC
view on stackexchange narkive permalink

Ecco due tutorial dai miei segnalibri:

Breadboarding di un 6502:

http://mysite.du.edu/~jcalvert/tech/6504.htm

Micro 8 bit costruiti in casa:

http://6502.org/homebuilt

JustJeff
2011-01-15 05:36:55 UTC
view on stackexchange narkive permalink

Se vuoi giocare con una cpu a 8 bit, lo z80 e il 6502 sono probabilmente i meno complicati dal punto di vista elettrico, poiché presentano bus non multiplex, funzionano da una singola alimentazione a 5 V e non richiedono clock multifase . I chip più vecchi come l'8080 o il 6800 richiedono più tensioni di alimentazione. L'indirizzo ei dati multiplex 8035 e 8085 richiedono di fornire un registro esterno per bloccare parte del bus di indirizzi. Il 6809 ha istruzioni più potenti, ma la variante 6809 con orologio singolo è più difficile da trovare rispetto all'orologio in quadratura fase 6809E.

L'unico vero motivo per costruire un SBC attorno a uno di questi è per il gusto di farlo . Un sistema basato su un microcontrollore moderno sarà più piccolo, consumerà meno energia e supererà i vecchi dinosauri in termini di set di istruzioni e periferiche integrate.

È davvero per il gusto di farlo.
@Dean: va bene, fallo.
Leon Heller
2011-01-15 00:32:06 UTC
view on stackexchange narkive permalink

Ho alcuni semplici progetti di PCB qui per una varietà di MCU. Alcuni dei chip sono stati sostituiti, ma ci sono dispositivi attuali che entreranno subito. Saranno necessari strumenti di programmazione e debugging appropriati, sono disponibili abbastanza a buon mercato dai produttori di chip.

Brian Carlton
2011-01-15 01:04:00 UTC
view on stackexchange narkive permalink

Inizia acquistando un libro più aggiornato. Molte cose sono cambiate, ad esempio gli attuali controller di memoria a microprocessore a bordo. Quindi acquista (non costruire) un SBC, simile a quanto suggerito da @jet. E potresti semplicemente volere un microcontrollore di fascia più alta piuttosto che un microprocessore.

Puoi consigliarmi un nuovo titolo, quindi per favore faticato a trovare qualcosa di più nuovo.
russ_hensel
2011-01-15 23:45:21 UTC
view on stackexchange narkive permalink

Qualunque cosa tu faccia, inizia con un linguaggio di livello superiore come C. So che impareresti di più sugli interni con asm, ma se vuoi fare qualcosa in un tempo finito, asm di solito non è la strada migliore. p>

E guarda il costo del compilatore (e di altri strumenti) per effettuare confronti di prezzo.

C sarà sicuramente più portabile, ma ho scoperto di poter essere anche molto produttivo in assembly, utilizzando macro per aumentare efficacemente il livello del linguaggio, anche per formare strutture di programma ed eliminare gli spaghetti.Ottieni codice più leggibile, privo di bug, manutenibile, conciso, ecc. Le macro possono essere utilizzate per ottenere molti dei vantaggi di un linguaggio di alto livello, senza rinunciare alle prestazioni, all'efficienza e ai vantaggi di controllo dell'assembly.Ho un articolo sulla rilevanza del linguaggio assembly oggi, sul mio sito Web orientato al 6502, all'indirizzo http://wilsonminesco.com/AssyDefense/.
Garth Wilson
2013-03-23 20:05:44 UTC
view on stackexchange narkive permalink

I CMOS 6502 (65c02) e 65816 sono ancora in produzione oggi, senza una fine in vista, realizzati dal Western Design Center ( http://www.westerndesigncenter.com/). Sono valutati in modo prudente per 14 MHz e hanno molti miglioramenti hardware e software rispetto al MOS 6502 originale. C'è un enorme supporto per loro su 6502.org e forum.6502.org. Ho un manuale di 6502 su http://wilsonminesco.com/6502primer/index.html in 22 capitoli che coprono la decodifica degli indirizzi, i requisiti delle mappe di memoria, le connessioni di interrupt, le famiglie logiche 74xx e i margini di temporizzazione (più " Ho bisogno di ricetrasmettitori bus? "E precauzioni per la gestione dell'elettricità statica), generazione di clock, circuiti di ripristino, cosa fare con i pin" misteriosi ", costruzione per buone prestazioni CA, bus di espansione e interfacce, ottenere di più su una scheda, cavo di risposta -wrap domande e dubbi, "E le schede PC personalizzate?", IC I / O (più informazioni extra sulle opzioni di clocking 6551 ACIA), display, dove acquistare parti di 65 famiglie, passaggi generali per un progetto di successo, cablaggio del programma : "Da dove comincio?" (e cosa inserire nel file .asm), debug, suggerimenti per la programmazione (alcuni influenzano anche la progettazione dell'hardware), apparecchiature di base del banco di lavoro e un pot-pourri di circuiti per interfacciare cose del mondo reale. Buon edificio!

È chiaro che il 65C02 è ancora disponibile, anche se mi piacciono alcune delle istruzioni non documentate del 6502 che non sono implementate nel 65C02 [ad es. Esistono codici operativi che caricano A e X simultaneamente, che memorizzano l'AND binario di A e X, e persino eseguono un decremento e confronto]. Per inciso, trovo curioso che ADC richieda un ciclo extra sul 65C02 quando è impostato il flag D, e JMP (abs) richiede sempre un ciclo extra, per ragioni che non capisco del tutto.
supercat, il 'c02 ha nuove istruzioni e modalità di indirizzamento che penso siano più utili di quelle illegali del NMOS 6502.IIRC, il ciclo extra in ADC in modalità decimale è quello di rendere validi i flag risultanti (che non erano sul NMOS).JMP (xxFF) sul NMOS non funzionava correttamente e quel bug (insieme a tutti gli altri nel NMOS) è stato corretto sul CMOS.Con i codici operativi inutilizzati del CMOS, puoi eseguire I / O ultraveloci, fino al ciclo singolo.Guarda come su http://wilsonminesco.com/6502primer/potpourri.html#Jeff.Il CMOS ha anche più pin I / O: abilitazione bus, pull vettoriale e blocco memoria.
Il 65C02 ha aggiunto alcune nuove funzionalità utili, ma alcune delle funzionalità NMOS non documentate come quelle che ho menzionato erano utili, e penso che ci sarebbe stato spazio nella mappa del codice operativo del 65C02 per mantenerle.Il flag C funziona correttamente su NMOS BCD, mentre N e Z sarebbero raramente rilevanti.Mentre JMP (abs) era strano, assicurarsi che la destinazione non oltrepassasse i confini di una pagina non era gravoso, e devo confessare che non sono sicuro del motivo per cui i progettisti CMOS non l'hanno fatto funzionare in cinque cicli sfigando il sequencer di istruzioni cosìche JMP (abs) inizierebbe a essere elaborato proprio come JMP, ma invece di procedere ...
... al primo ciclo dell'istruzione successiva, procederà al secondo e "fingerà" di aver appena recuperato $ 4C.Penso che utilizzare il PC per incrementare l'indirizzo prima di recuperare l'MSB della destinazione finale sarebbe stato più semplice rispetto all'utilizzo dell'ALU a tale scopo.Così com'è, fare in modo che JMP (abs) richieda sei cicli nega alcuni dei motivi della sua esistenza (la versione NMOS ha salvato un ciclo anziché passare a un'istruzione JMP).
vicatcu
2011-01-14 22:00:29 UTC
view on stackexchange narkive permalink

Ti suggerisco di iniziare a sfogliare le domande pertinenti sul sito. Ci sono molte opzioni per microcontrollori a 8 bit / 16 bit là fuori, e in genere non richiedono memorie esterne (anche se questo dipende dalla tua applicazione, suppongo). I microcontrollori popolari con buoni strumenti di sviluppo oggi disponibili sono Atmel AVR, TI MSP430 e Microchip PIC.

Conosco i microcontrollori (uso AVR) ma non i microprocessori, che è quello che voglio sapere.
@Dean, OK - quindi stai pensando sulla falsariga degli ARM allora ... Non credo che troverai core a 8 bit che sono nel regno dei "microprocessori" rispetto a quelli che chiami "microcontrollori . "
Non deve essere a 8 bit, ma è di questo che sto leggendo, quindi aiuterebbe a capire.
Gli ARM @vicatu, sono microcontrollori. -> [Qual è la differenza tra un microcontrollore e un microprocessore?] (Http://electronics.stackexchange.com/q/1092/2118)
@tyblu, Credo che ARM siano disponibili sia come microprocessori (RAM / ROM esterna, ecc., Es. TI ARM Cortex AM3517) che come microcontrollori (serie NXP LPC).
ARM fa core non chip, alcuni bracci sono microcontrollori (ram / rom ecc. Sono generalmente su chip) e alcuni sono processori (ram / rom, ecc. Sono fuori chip). Penso che Dean voglia qualcosa sulla falsariga di 808x, z80, 6502 e famiglia, ecc. Penso che ci sia ancora un'azienda che produce 6502 famiglie di parti. E so che innovasic.com produce componenti legacy per vari sistemi, 80186, TMS70C20 / C40 e alcuni altri. Oppure trova un luogo di riparazione di videogiochi o qualcuno con alcuni vecchi gameboys o atari 2600 o cose del genere e prendi le parti dalle schede.
@vicatcu - Non è solo la presenza / assenza di memoria che fa la differenza tra microcontrollori e microcprocessori. I microcontrollori hanno I / O e timer su chip e spesso anche comunicazioni seriali, almeno UART. Anche con zero memoria su chip, questi sono microcontrollori, non microprocessori.
@stevenvh ha convenuto che i microprocessori in genere devono interagire con un "controller di sistema" per fare qualsiasi cosa di interesse, quindi una definizione più ampia potrebbe essere che hanno bisogno di più di un contesto di sistema per funzionare, la memoria è tipicamente solo una parte di quel sistema.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 2.0 con cui è distribuito.
Loading...