19
Advanced Computers and Communications (ACC) Faculty Advisors: Dr. Charles Liu Dr. Helen Boussalis 10/25/2012 1 NASA Grant URC NCC NNX08BA44A Student Assistants: Airs Lin Aleksander Milshteyn Gabriel Nunez Evan Tsai

Advanced Computers and Communications (ACC)

  • Upload
    norris

  • View
    46

  • Download
    1

Embed Size (px)

DESCRIPTION

Advanced Computers and Communications (ACC). Student Assistants: Airs Lin Aleksander Milshteyn Gabriel Nunez Evan Tsai. Faculty Advisors: Dr. Charles Liu Dr. Helen Boussalis. Handshaking Protocol. Handshaking Protocol. Flow of data: PC (Application)  USB Output  FPGA Input - PowerPoint PPT Presentation

Citation preview

Page 1: Advanced Computers and Communications (ACC)

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)

Handshaking Protocol

7/19/2012 NASA Grant URC NCC NNX08BA44A 2

Page 3: Advanced Computers and Communications (ACC)

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)

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)

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)

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)

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)

EZ-USB Basic Block Diagram

Page 9: Advanced Computers and Communications (ACC)

Custom Handshaking Interface (Ports Mode)

7/19/2012 NASA Grant URC NCC NNX08BA44A 11

Page 10: Advanced Computers and Communications (ACC)

WriteToFPGA Mode

7/19/2012 NASA Grant URC NCC NNX08BA44A 12

Page 11: Advanced Computers and Communications (ACC)

ReadFromFPGA Mode

7/19/2012 NASA Grant URC NCC NNX08BA44A 13

Page 12: Advanced Computers and Communications (ACC)

Windows Application

7/19/2012 NASA Grant URC NCC NNX08BA44A 14

Page 13: Advanced Computers and Communications (ACC)

Loop Test

7/19/2012 NASA Grant URC NCC NNX08BA44A 15

Page 14: Advanced Computers and Communications (ACC)

Handshaking Block-DiagramFPGA Side

7/19/2012 NASA Grant URC NCC NNX08BA44A 16

Page 15: Advanced Computers and Communications (ACC)

Handshaking WR Mode (Encoding)

7/19/2012 NASA Grant URC NCC NNX08BA44A 17

Page 16: Advanced Computers and Communications (ACC)

Handshaking WR Mode (Encoding)

7/19/2012 NASA Grant URC NCC NNX08BA44A 18

Page 17: Advanced Computers and Communications (ACC)

Handshaking RD Mode (Encoding)

7/19/2012 NASA Grant URC NCC NNX08BA44A 19

Page 18: Advanced Computers and Communications (ACC)

Handshaking RD Mode (Encoding)

7/19/2012 NASA Grant URC NCC NNX08BA44A 20

Page 19: Advanced Computers and Communications (ACC)

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