CLI
GitHub Desktop
Neotron
ATX
PIO
SPI
SD Card
Slot 1'
the Board Management Controller
Slot 0'
Slot 2'
Slot 7'
IRQ
the Neotron OS
CP/M
Microchip MCP23S17 SPI
GPIO
VGA
TPD7S019
DVI
HDMI
Reset
UART
Data Terminal Equipment
IBM
Intel
ISA
AT24C256
EEPROM
Vcc
GND
AT24C256 EEPROM
TE
PCI
PCB
Copyright (c
Creative Commons Attribution
ShareAlike
International License
Kicad/Models
Neotron
Raspberry Pi Pico
Use Git
Instuments Tiva-C Launchpad
THS7316
Chip Select
MCP23S17
No matching tags
Neotron-32
Pico
the Raspberry Pi Pico
the Neotron Pico
the Pico for Audio and Video
Texas
SD
8-bit
No matching tags
The eight chip-selects are gated with a tri-state bus transceiver, allowing the Pico to talk to either the I/O exander, or the selected expansion slot. Each expansion slot has both I²C and SPI, along with unique chip-select and IRQ signals.The Neotron Pico is designed to run the Neotron OS - a CP/M or MS-DOS alike OS written in Rust. Each device we wish to communicate with on the SPI bus must have a unique chip select line and so have limited lines means we could only have a limited number of SPI devices.However, in this design, we cheat and use a Microchip MCP23S17 I/O expander. It also has an IRQ output which be programmed to fire when the input pins match a certain state.The problem would come when the Pico has finished talking to our select SPI device - how does it tell the MCP23S17 to release the current chip select, without the SPI bus traffic also going to the currently selected expansion slot?
As said here by Neotron-Compute