AnyCPU
http://anycpu.org/forum/

Bus master controller (repurposing an 8259)
http://anycpu.org/forum/viewtopic.php?f=17&t=685
Page 1 of 1

Author:  robfinch [ Sat Mar 07, 2020 3:49 am ]
Post subject:  Bus master controller (repurposing an 8259)

Came up with the following schematic for a bus master (not an interrupt) controller. I think it’s interesting that an 8259 could be used in this manner. I was going to use it to handle bus mastering, but decided to implement most of the circuit inside the FPGA chip to conserve board space. The 8259 has the option of rotating the interrupt priorities which could be put to use for rotating the bus master priorities. The 8259 receives a bus master request using one of it’s interrupt lines. It then generates an INT signal which is fed to logic that generates an INTA. The INTA pulses latch the resolved requester on the 8259’s cascade lines. The 8259 must be in master mode for this to work. The cascade lines are decoded and latched by a 74SLS259 and used as an acknowledge signal for the bus master. The ‘259 makes the bus master selection sticky. The 574 latch makes sure that the bus arbitration is on a bus cycle basis. (CYC goes high at the start of a bus cycle).
I think a circuit like this has a lot of good features. The bus master can be turned off by disabling the interrupt in the 8259. Priorities can be controlled via software.
Attachment:
File comment: 8259 used to control bus mastering
bm8259.png
bm8259.png [ 29.2 KiB | Viewed 1244 times ]

Page 1 of 1 All times are UTC
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/