advanced computers and communications (acc) faculty advisors: dr. charles liu dr. helen boussalis...
TRANSCRIPT
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
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
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
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
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!
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