Communications and Networks Chapter 8 in Discovering Computers Fundamentals.
Advanced Computers and Communications (ACC)
description
Transcript of Advanced Computers and Communications (ACC)
![Page 1: Advanced Computers and Communications (ACC)](https://reader030.fdocuments.us/reader030/viewer/2022020320/568154b2550346895dc2bd5e/html5/thumbnails/1.jpg)
Advanced Computers and Communications (ACC)
Faculty Advisors:
Dr. Charles Liu
Dr. Helen Boussalis
10/25/2012 1NASA Grant URC NCC NNX08BA44A
Student Assistants:
Airs Lin
Aleksander Milshteyn
Gabriel Nunez
Evan Tsai
![Page 2: Advanced Computers and Communications (ACC)](https://reader030.fdocuments.us/reader030/viewer/2022020320/568154b2550346895dc2bd5e/html5/thumbnails/2.jpg)
Handshaking Protocol
7/19/2012 NASA Grant URC NCC NNX08BA44A 2
![Page 3: Advanced Computers and Communications (ACC)](https://reader030.fdocuments.us/reader030/viewer/2022020320/568154b2550346895dc2bd5e/html5/thumbnails/3.jpg)
Handshaking Protocol
7/19/2012 NASA Grant URC NCC NNX08BA44A 3
• Flow of data:PC (Application) USB Output FPGA Input PC (Application) USB Input FPGA Output
Begin
End
![Page 4: Advanced Computers and Communications (ACC)](https://reader030.fdocuments.us/reader030/viewer/2022020320/568154b2550346895dc2bd5e/html5/thumbnails/4.jpg)
Simple Parallel I/O
• Processor writes data into output port
• Processor reads data from input port
• No latching of data
• No indication that data has changed
![Page 5: Advanced Computers and Communications (ACC)](https://reader030.fdocuments.us/reader030/viewer/2022020320/568154b2550346895dc2bd5e/html5/thumbnails/5.jpg)
Strobe Synchronization
Strobe – additional control signal accompanies the data
Notifies the microcontroller when new data is ready at the input port
Notifies external devices when new data is ready at an output port
A latch asserts interrupt
The microcontroller must read data before next input strobe occurs
Problem: Data can be sent by input device without receiver being ready
![Page 6: Advanced Computers and Communications (ACC)](https://reader030.fdocuments.us/reader030/viewer/2022020320/568154b2550346895dc2bd5e/html5/thumbnails/6.jpg)
Handshaking Synchronization
•A second control line is used
•Form of acknowledgement or busy signal
•Solves the problem of data being sent before the receiving end is ready
•Potential race condition exist: Microcontroller is testing its Busy bit, prior to the Output Device asserting busy.
• It forces Microcontroller to send another chunk of data to Output Device, since the busy signal has not reached it on time.
Race Condition!
![Page 7: Advanced Computers and Communications (ACC)](https://reader030.fdocuments.us/reader030/viewer/2022020320/568154b2550346895dc2bd5e/html5/thumbnails/7.jpg)
Full Handshaking(Solving Race Condition)
Uses both edges of the strobe and busy signals
The Request for Data signal is held high when it is ready to accept new data from Input Device
The Data Available signal is held high when Input Device is ready to send new data
Based on two above conditions – Data Transfer occurs and Busy is asserted
When the data recipient (Microcontroller) acknowledges receipt of data, the Request signal is lowered
Input Device “learns” that data has been received, removes the data, and waits for the next data request
![Page 8: Advanced Computers and Communications (ACC)](https://reader030.fdocuments.us/reader030/viewer/2022020320/568154b2550346895dc2bd5e/html5/thumbnails/8.jpg)
EZ-USB Basic Block Diagram
![Page 9: Advanced Computers and Communications (ACC)](https://reader030.fdocuments.us/reader030/viewer/2022020320/568154b2550346895dc2bd5e/html5/thumbnails/9.jpg)
Custom Handshaking Interface (Ports Mode)
7/19/2012 NASA Grant URC NCC NNX08BA44A 11
![Page 10: Advanced Computers and Communications (ACC)](https://reader030.fdocuments.us/reader030/viewer/2022020320/568154b2550346895dc2bd5e/html5/thumbnails/10.jpg)
WriteToFPGA Mode
7/19/2012 NASA Grant URC NCC NNX08BA44A 12
![Page 11: Advanced Computers and Communications (ACC)](https://reader030.fdocuments.us/reader030/viewer/2022020320/568154b2550346895dc2bd5e/html5/thumbnails/11.jpg)
ReadFromFPGA Mode
7/19/2012 NASA Grant URC NCC NNX08BA44A 13
![Page 12: Advanced Computers and Communications (ACC)](https://reader030.fdocuments.us/reader030/viewer/2022020320/568154b2550346895dc2bd5e/html5/thumbnails/12.jpg)
Windows Application
7/19/2012 NASA Grant URC NCC NNX08BA44A 14
![Page 13: Advanced Computers and Communications (ACC)](https://reader030.fdocuments.us/reader030/viewer/2022020320/568154b2550346895dc2bd5e/html5/thumbnails/13.jpg)
Loop Test
7/19/2012 NASA Grant URC NCC NNX08BA44A 15
![Page 14: Advanced Computers and Communications (ACC)](https://reader030.fdocuments.us/reader030/viewer/2022020320/568154b2550346895dc2bd5e/html5/thumbnails/14.jpg)
Handshaking Block-DiagramFPGA Side
7/19/2012 NASA Grant URC NCC NNX08BA44A 16
![Page 15: Advanced Computers and Communications (ACC)](https://reader030.fdocuments.us/reader030/viewer/2022020320/568154b2550346895dc2bd5e/html5/thumbnails/15.jpg)
Handshaking WR Mode (Encoding)
7/19/2012 NASA Grant URC NCC NNX08BA44A 17
![Page 16: Advanced Computers and Communications (ACC)](https://reader030.fdocuments.us/reader030/viewer/2022020320/568154b2550346895dc2bd5e/html5/thumbnails/16.jpg)
Handshaking WR Mode (Encoding)
7/19/2012 NASA Grant URC NCC NNX08BA44A 18
![Page 17: Advanced Computers and Communications (ACC)](https://reader030.fdocuments.us/reader030/viewer/2022020320/568154b2550346895dc2bd5e/html5/thumbnails/17.jpg)
Handshaking RD Mode (Encoding)
7/19/2012 NASA Grant URC NCC NNX08BA44A 19
![Page 18: Advanced Computers and Communications (ACC)](https://reader030.fdocuments.us/reader030/viewer/2022020320/568154b2550346895dc2bd5e/html5/thumbnails/18.jpg)
Handshaking RD Mode (Encoding)
7/19/2012 NASA Grant URC NCC NNX08BA44A 20
![Page 19: Advanced Computers and Communications (ACC)](https://reader030.fdocuments.us/reader030/viewer/2022020320/568154b2550346895dc2bd5e/html5/thumbnails/19.jpg)
7/19/2012 NASA Grant URC NCC NNX08BA44A 21
1. https://www.youtube.com/watch?v=b1NyAS7qjpU - Handshaking Protocol - Project Steps (2013)
2. https://www.youtube.com/watch?v=fvHS-Rn9Syk - Compiling and Debugging of Cypress FX2 Board & Encoding/Decoding Application