Stai visualizzando 8 post - dal 9 a 16 (di 17 totali)
  • Autore
    Post
  • #9623
    Just4FunJust4Fun
    Partecipante

    Il clock del 68008 (8MHz) è generato dal PIC (nella scheda rossa).
    Il basic è l’Enhanced Basic per 68000.

    Considera che a causa dell’elevato assorbimento della CPU ho dovuto usare per i collegamenti di alimentazione 4 fili in parallelo saldati su un pin header per minimizzare le cadute di tensioni sulla breadboard:

    Grazie per… l’ammirazione… 🙂

    • Questa risposta è stata modificata 2 mesi, 1 settimana fa da Just4FunJust4Fun.
    • Questa risposta è stata modificata 2 mesi, 1 settimana fa da Just4FunJust4Fun.
    #9626
    Picmicro675Picmicro675
    Moderatore

    Beh, chissà se di riesce a caricare il basic di Amiga 😛 . Oddio quel mostro della Microsfot. Ma forse non si riesce ad arrivare a mettere un AmigaOS.

    #9633
    Picmicro675Picmicro675
    Moderatore

    Hai fatto anche presto.

    #9635
    Just4FunJust4Fun
    Partecipante

    Altro piccolo passo avanti…
    Usare la SD per caricare un eseguibile alla lunga è una rottura, in quanto ad ogni variazione bisogna fare il “travaso” manuale del nuovo file sulla SD stessa.
    Così ho realizzato un “loader” (che ho chiamato sLoad) per caricare un eseguibile da seriale (virtuale su USB) usando il formato S-record della Motorola ed eseguirlo automaticamente sul target.
    In questo modo ora ho una toolchain che mi permette di compilare ed eseguire sul target (la CPU 68008) senza toccare o spostare nulla:

    Di fatto ora ho un sistema di sviluppo completo per il 68008. Questo mi faciliterà enormemente nelle fasi successive…

    • Questa risposta è stata modificata 2 mesi fa da Just4FunJust4Fun.
    • Questa risposta è stata modificata 2 mesi fa da Just4FunJust4Fun.
    • Questa risposta è stata modificata 2 mesi fa da Just4FunJust4Fun.
    • Questa risposta è stata modificata 2 mesi fa da Just4FunJust4Fun.
    #9654
    Just4FunJust4Fun
    Partecipante

    Il PIC18F47Q10 ha tra i moduli interni 8 unità CLC.

    Il CLC è una sorta di LUT (Look Up Table) che è il modulo base di una CPLD. Infatti con questo modulo si può sintetizzare in HW una funzione logica in modo da “assorbire” eventuali “glue logic” esterne.

    Ovviamente bisogna tenere conto che per collegare un modulo CLC all’esterno è necessario usare dei pin che verrebbero “sottratti” all’uso normale di GPIO.
    Nel caso presente ogni singolo pin è utilizzato, per cui l’uso di un tale modulo per “assorbire” HW esterno è possibile solo a “parità di bilancio” dell’uso dei pin.

    Nel “68008 on breadboard” è utilizzato un 74HCT02 (quadruplo NOR) come da figura seguente:

    Se si analizza la parte evidenziata in rosso, che rappresenta l’HW esterno che vorrei “assorbire” dentro il PIC con l’uso dei moduli CLC, si vede che attualmente è connesso a tre pin fisici del PIC (RA2, RA3 e RA4), mentre due segnali (IO/M e DS) sono non collegati a nessun pin del PIC.

    Quindi in totale la rete logica ha 3 segnali collegati al PIC e due no, e quindi una eventuale sintesi interna al PIC richiederebbe l’uso di altri due pin.

    I realtà i due segnali connessi ai pin RA2 e RA3 sono dei GPIO connessi solo a questa rete, per cui possono essere “sostituiti” con lo stato di due bit interni ai registri che gestiscono i moduli CLC, e quindi possono essere “virtualizzati” liberando due pin.
    Questi due pin “liberati” possono così essere utilizzati per connettere i due segnali IO/M e DS andando a “pareggiare ” il bilancio dei pin usati.

    Ora non rimane che implementare il tutto in MPLABX usando l’editor dello MCC…

    • Questa risposta è stata modificata 1 mese, 3 settimane fa da Just4FunJust4Fun.
    • Questa risposta è stata modificata 1 mese, 3 settimane fa da Just4FunJust4Fun.
    • Questa risposta è stata modificata 1 mese, 3 settimane fa da Just4FunJust4Fun.
    • Questa risposta è stata modificata 1 mese, 3 settimane fa da Just4FunJust4Fun.
    • Questa risposta è stata modificata 1 mese, 3 settimane fa da Just4FunJust4Fun.
    • Questa risposta è stata modificata 1 mese, 3 settimane fa da Just4FunJust4Fun.
    #9661
    Picmicro675Picmicro675
    Moderatore

    Ma non capisco se vuoi un sistema con 68008 stand-alone o se lo colleghi in dipendenza del PIC-one. Se è solo la fase di sviluppo allora hai ragione di prendere dal PIC, ma poi dovresti fare una GAL se liberi il 68k da solo.

    #9663
    Just4FunJust4Fun
    Partecipante

    Il PIC sarà presente anche sulla scheda finale in quanto emula tutti i vari IC di I/O compreso il controller degli interrupt (oltre a generare il clock ed altre cosette).
    Il 68008 dopo il boot gira alla sua velocità massima (8MHz) in “free running”. Solo nelle operazioni di I/O interviene il PIC simulando gli IC di I/O direttamente sul bus del 68008.
    La “serie” di schede XXX-MBC deve essere a basso costo e facile da costruire, quindi no SMD, EEPROM, GAL, CPLD, ecc.
    E’ una specie di retro-computer “ibrido” in cui la CPU è quella originale ma tutto l’I/O è “software defined”… In questo modo si evitano IC di difficile reperibilità e si semplifica enormemente l’HW.

    • Questa risposta è stata modificata 1 mese, 3 settimane fa da Just4FunJust4Fun.
    • Questa risposta è stata modificata 1 mese, 3 settimane fa da Just4FunJust4Fun.
    #9668
    Just4FunJust4Fun
    Partecipante

    Ha funzionato!

    Ecco la nuova situazione della breadboard senza l’integrato 74HCT02 (che “giace” capovolto…) in quanto è stato “virtualizzato” all’interno del PIC:

    Ovviamente il 68008 del tutto ignaro di quello che è successo funziona come prima…

Stai visualizzando 8 post - dal 9 a 16 (di 17 totali)
  • Devi essere connesso per rispondere a questo topic.