Limited wires. We have only one data line. Use for for bi- directional communication. Need to send:...
-
Upload
brook-osborne -
Category
Documents
-
view
216 -
download
0
Transcript of Limited wires. We have only one data line. Use for for bi- directional communication. Need to send:...
![Page 1: Limited wires. We have only one data line. Use for for bi- directional communication. Need to send: – requests for data – rumble pack on/off Need to receive.](https://reader036.fdocuments.net/reader036/viewer/2022082613/5697bfd91a28abf838caf7ee/html5/thumbnails/1.jpg)
Limited wires.
• We have only one data line. Use for for bi-directional communication.
• Need to send:– requests for data– rumble pack on/off
• Need to receive– controller status
Some slides from Aaron Ridenour, Ryan Wooster and Alex Jaeckel. http://www.eecs.umich.edu/courses/eecs373/Lec/F13Student/N64.pptx See http://www.eecs.umich.edu/courses/eecs373/Lec/StudentW14/N64%20Controller.pdf for other details.
![Page 2: Limited wires. We have only one data line. Use for for bi- directional communication. Need to send: – requests for data – rumble pack on/off Need to receive.](https://reader036.fdocuments.net/reader036/viewer/2022082613/5697bfd91a28abf838caf7ee/html5/thumbnails/2.jpg)
Bi-directional Open Collector
• Pull-up resistor keeps the line high while idle.• To send 0, the output line is pulled low and connected
to ground.• To send 1, nothing should be sent.
• Never drive the line high.
• Both sides do this, so bidirectional.– If no data to send, wire stays (floats) high.
![Page 3: Limited wires. We have only one data line. Use for for bi- directional communication. Need to send: – requests for data – rumble pack on/off Need to receive.](https://reader036.fdocuments.net/reader036/viewer/2022082613/5697bfd91a28abf838caf7ee/html5/thumbnails/3.jpg)
Controller Encoding
Each bit is sent in ~4 Logical 0:
Logical 1:
Low for 3 , followed by high for 1
Low for 1 , followed by high for 3
![Page 4: Limited wires. We have only one data line. Use for for bi- directional communication. Need to send: – requests for data – rumble pack on/off Need to receive.](https://reader036.fdocuments.net/reader036/viewer/2022082613/5697bfd91a28abf838caf7ee/html5/thumbnails/4.jpg)
Controller Encoding
http://inst.eecs.berkeley.edu/~cs150/sp01/Labs/lablecckpt1.ppt
![Page 5: Limited wires. We have only one data line. Use for for bi- directional communication. Need to send: – requests for data – rumble pack on/off Need to receive.](https://reader036.fdocuments.net/reader036/viewer/2022082613/5697bfd91a28abf838caf7ee/html5/thumbnails/5.jpg)
![Page 6: Limited wires. We have only one data line. Use for for bi- directional communication. Need to send: – requests for data – rumble pack on/off Need to receive.](https://reader036.fdocuments.net/reader036/viewer/2022082613/5697bfd91a28abf838caf7ee/html5/thumbnails/6.jpg)
|----Command (console) 0x01-----| |----Data1 (controller) 0x00------||-------Data2 (controller) 0x00----|
|--------Data3 (controller) 0x00----------||---------Data4 (controller) 0x01-----------|
A B Z St
reset 0 L R
Joystick x-coordinate Joystick y-coordinate
start bit
stop bit
Images taken from: http://afermiano.com/index.php/n64-controller-protocol
![Page 7: Limited wires. We have only one data line. Use for for bi- directional communication. Need to send: – requests for data – rumble pack on/off Need to receive.](https://reader036.fdocuments.net/reader036/viewer/2022082613/5697bfd91a28abf838caf7ee/html5/thumbnails/7.jpg)
Clock Synchronization
• Once a FF goes metastable (due to a setup time violation, say) we can’t say when it will assume a valid logic level or what level it might eventually assume.
• The only thing we know is that the probability of a FF coming out of a metastable state increases exponentially with time.
This and next slide from http://web.stanford.edu/class/ee183/handouts/synchronization_pres.pdf. If you have an interest in this topic, that’s a nice slide set. https://web.archive.org/web/20070203054100/http://www.caip.rutgers.edu/~bushnell/dsdwebsite/dsdlecture18.ppt has yet more details.
![Page 8: Limited wires. We have only one data line. Use for for bi- directional communication. Need to send: – requests for data – rumble pack on/off Need to receive.](https://reader036.fdocuments.net/reader036/viewer/2022082613/5697bfd91a28abf838caf7ee/html5/thumbnails/8.jpg)
Traditional synchronizer• SIG is asynchronous, and META might go metastable
from time to time• However, as long as META resolves before the next
clock period SIG1 should have valid logic levels• Place FFs close together to allow maximum time for
META to resolve.– Under reasonable assumptions, MTBF=9x1010 years.– More than the age of the Earth. Could add a third.