Comments (8)
An alternative idea is to invert the REQ logic to idle low, which would simplify the hardware and maybe reduce the mental overhead a bit...?
Truth table:
DEV ARB DEV DEV
1:REQ 1:REQ/nGO -> 1:nGO GATES
LOW In: HiZ -> HI OFF Idle/Waiting for request
HI In: HiZ/Out: HI -> HI OFF Request to send/Not accepted
HI Out: LOW -> LOW ON Request accepted
Notes:
U1: XNOR gate (i.e. SN74HC266 or CD4077)
U2: Tristate buffer (i.e. SN74LVC125)
C1: sized to avoid false nGO
triggers, depending on capacitive load
The nCS
, COPI
and SCK
tristate buffer gates were omitted in the drawing for brevity (read "lazyness").
EDIT: Updated drawing with correct logic gate, added C1
for de-glitching, added R2
for defined behaviour when the device is not plugged in. nCS
driven from controller, through tristate gating buffer.
from anachro.
That wouldn't work: With this AND port, the nGO
pin would be low whenever the REQ
is low. Meaning the communication is enabled while the device isn't even asking to communicate.
In my schematic, I tried to minimize both the number of pins that have to go the device (the lines that cross the leftmost blue line: just one go/req line next to the three spi lines), and the amount of extra components needed on the device (just one resistor).
from anachro.
No 1:REQ/nGO
is in floating state, so both ports will be low, so the AND XNOR output / nGO
input is HI...
from anachro.
Only when the arbitrator's 1:REQ/nGO
is pulled low and the device's 1:REQ
is hi nGO
will go low
from anachro.
in floating state
How could that work? How would the arbitrator tell if there's an incoming request if the pin is floating? It'll just randomly measure high or low if that pin is floating. Same for the nCS pin.
from anachro.
In idle state it will be pulled low by 1:REQ
, but yeah true that nCS
will be a problem as is...
from anachro.
But if REQ is low in idle, the output of the AND port will be low, enabling the buffer and enabling the GO signal.
from anachro.
Oh sorry, i meant it should be an XNOR gate
from anachro.
Related Issues (9)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from anachro.