PinDA CPUBUS: Difference between revisions
mNo edit summary |
No edit summary |
||
(3 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
Omdat de besturing mogelijk is door alle lijnen direct aan te sturen of door IO extenders te gebruiken is er een soort abstractie laag gemaakt. | Omdat de besturing mogelijk is door alle lijnen direct aan te sturen of door IO extenders te gebruiken is er een soort abstractie laag gemaakt. | ||
* | * [[CPUBUS_DIRECT]], de data en adres lijnen komen direct overeen met lijnen op de arduino. | ||
* | * [[CPUBUS_SPI]], de data en adres lijnen worden door twee 16 bits IO extenders gestuurd via een SPI koppeling. (arduino/rpi) | ||
* | * [[CPUBUS_I2C]], de data en adres lijnen worden door twee 16 bits IO extenders gestuurd via een I2C koppeling. (arduino/rpi) | ||
zodra de bus gedefineerd is is de bus te lezen en te schrijven. | zodra de bus gedefineerd is is de bus te lezen en te schrijven. | ||
Line 30: | Line 30: | ||
[[File:mega-6802.png]] | [[File:mega-6802.png]] | ||
''2716 ROM'' | |||
Voorbeeld van het uitlezen van een CHEETAH U6 rom | |||
CPUBUS init | |||
READ FROM 0 = 87 | |||
READ FROM 1 = 248 | |||
READ FROM 2 = 0 | |||
READ FROM 3 = 0 | |||
READ FROM 4 = 19 | |||
READ FROM 5 = 16 | |||
READ FROM 6 = 1 | |||
READ FROM 7 = 80 | |||
[[File:cheetah.jpg]] | |||
''PIO 6821'' | |||
[[File:cpubus_pio.jpg]] | |||
//A als ingangen | |||
Cpubus.write( pia_cra,0); | |||
Cpubus.write( pia_ddra,0); | |||
// B uitgang | |||
Cpubus.write( pia_crb,0); | |||
Cpubus.write( pia_ddrb,255); | |||
Cpubus.write( pia_crb,4); | |||
// met om en om patroon | |||
Cpubus.write( pia_ddrb,0x55); | |||
Geeft op de monitor: | |||
PRA = 251 | |||
DDRA = 0 | |||
CRA = 0 | |||
PRB = 85 | |||
DDRB = 255 | |||
CRB = 0 | |||
{{PinDA}} | {{PinDA}} |
Latest revision as of 16:59, 5 April 2013
De CPU bus is een interface naar de memory/databus van de cpu borden. Omdat de besturing mogelijk is door alle lijnen direct aan te sturen of door IO extenders te gebruiken is er een soort abstractie laag gemaakt.
- CPUBUS_DIRECT, de data en adres lijnen komen direct overeen met lijnen op de arduino.
- CPUBUS_SPI, de data en adres lijnen worden door twee 16 bits IO extenders gestuurd via een SPI koppeling. (arduino/rpi)
- CPUBUS_I2C, de data en adres lijnen worden door twee 16 bits IO extenders gestuurd via een I2C koppeling. (arduino/rpi)
zodra de bus gedefineerd is is de bus te lezen en te schrijven.
- constructor(bustype, MPUtype, snelheid)
- read_byte( address )
- write_byte ( address, value )
- read_word( address )
- write_word ( address, value_16 )
Arduino Mega -> 6802 socket
PA0-7 A0-A7 PC0-7 A8-A15 PL0-7 D0-D7 PF0 R /W PF1 E PF2 VMA PF3 /RESET PF4 /HALT PF5 MR PF6 /IRQ PF7 /NMI
Error creating thumbnail: Unable to save thumbnail to destination
2716 ROM Voorbeeld van het uitlezen van een CHEETAH U6 rom
CPUBUS init READ FROM 0 = 87 READ FROM 1 = 248 READ FROM 2 = 0 READ FROM 3 = 0 READ FROM 4 = 19 READ FROM 5 = 16 READ FROM 6 = 1 READ FROM 7 = 80
Error creating thumbnail: Unable to save thumbnail to destination
PIO 6821
Error creating thumbnail: Unable to save thumbnail to destination
//A als ingangen Cpubus.write( pia_cra,0); Cpubus.write( pia_ddra,0);
// B uitgang Cpubus.write( pia_crb,0); Cpubus.write( pia_ddrb,255); Cpubus.write( pia_crb,4); // met om en om patroon Cpubus.write( pia_ddrb,0x55);
Geeft op de monitor:
PRA = 251 DDRA = 0 CRA = 0 PRB = 85 DDRB = 255 CRB = 0