Date post: | 28-Dec-2015 |
Category: |
Documents |
Upload: | scot-gilmore |
View: | 220 times |
Download: | 0 times |
Project GoalsProject Goals
1.1. Get to knowGet to know • Quartus • SoPC builder environment
2.2. Stream Stream Video
3.3. Build Build foundation for part B- Tracking system
Project StagesProject Stages
1.1. ConfigureConfigure the system using SoPC builder
2.2. Create Create embedded software
3.3. GenerateGenerate system input using USB
4.4. Display Display video
HostHost
1.1. Detect Detect Attachment/RemovalAttachment/Removal
2.2. Manage Manage Control flowControl flow
3.3. Manage Manage Data FlowData Flow
DeviceDevice
1.1. Respond Respond to Requeststo Requests• StatusStatus• DataData
Isochronous TransferIsochronous Transfer
1.1.High priorityHigh priority
2.2.Low latencyLow latency
3.3.No Resend on ErrorNo Resend on Error
Referenced ArchitectureReferenced Architecture
1.1. Tal Rath and Eyal Enav Tal Rath and Eyal Enav
• Configuration:Configuration: NIOS II USBNIOS II USB Jungo configurationJungo configuration
2.2. DE2 demonstrationsDE2 demonstrations
Our DesignOur Design
• Data flow Data flow inside the System inside the System • InputInput from file from file• StreamingStreaming format format
Why DMAWhy DMA??
• CPU can perform data transfers…CPU can perform data transfers…
… … but then it won’t be available for anything but then it won’t be available for anything else…else…
• The DMA allows us to transfer data from one The DMA allows us to transfer data from one place to another without making use of the place to another without making use of the CPU.CPU.
Direct Memory AccessDirect Memory Access
• DMA receives:DMA receives:– SourceSource– DestinationDestination– Amount of data to transferAmount of data to transfer
DMA USB INTERFACEDMA USB INTERFACE
USBDATAPORT
PC sends a packet
System receives INT
DMA starts transfer
System awaits next INT
Transfer finishes
System with fifoSystem with fifo
Transmission Transmission donedone
Reception doneReception doneDMA streaming DMA streaming FIFOFIFO
Pixel FormatPixel Format
•Data Bytes per packet = 1022Data Bytes per packet = 1022•Bytes per pixel = 2Bytes per pixel = 2•Pixel per packet = 1022/2 = 511Pixel per packet = 1022/2 = 511
Tools and DebugTools and Debug
1.1. Quartus II Quartus II – Signal tap.
2.2. Model Sim Model Sim – for design verification
3.3. Logic analyserLogic analyser
4.4. Nios II IDENios II IDE
5.5. Hex EditorHex Editor
6.6. Microsoft Visual StudioMicrosoft Visual Studio
TroubleshootingTroubleshooting
1.1. Quartus Quartus • Version related issues• USB Drivers
2.2. Model SimModel Sim
3.3. Nios II IDE Nios II IDE • SoPC builder environment
Memory considerationsMemory considerations
• 0.5 MB SRAM is not enough for possible extended image resolution (640x480).
• 8 MB of SDRAM will be enough for:160x120x3x3 = 172,800 Bytes which is the current plan.
SummerySummery
MilestoneStatus
Learn SOPC environment (Quartus,Nios II IDE,SOPC builder ect.)
Done
Evaluate different VGA architecturesDone
Evaluate different DMA configurationsDone
Ramp up on USB 1.1 protocolDone
Create interrupt driven software architectureDone
Create internal protocol for streaming videoDone
Integration of different projects and platformsDone
Evaluate alternative architectures for Steaming video system
Done