High speed USB interface for digital processor system

Similar documents
EZ-USB SX2 Development Kit Manual Getting Started. Rev 2.0

H O S T. FX2 SX2 Back - to - Back Setup. Project Objective. Overview

SMT943 APPLICATION NOTE 1 APPLICATION NOTE 1. Application Note - SMT372T and SMT943.doc SMT943 SUNDANCE MULTIPROCESSOR TECHNOLOGY LTD.

AKKON USB CONTROLLER BOARD

D12 Mass Storage Kit. ( USB to CompactFlash TM or IDE)

CPLD board datasheet EB

Bolt 18F2550 System Hardware Manual

Serial Communications

EZ-USB FX3 Development Kit Guide

CPLD board datasheet EB

FUSB301 Evaluation Board Users Guide

An Universal USB 3.0 FIFO Interface For Data Acquisition

PCI to SH-3 AN Hitachi SH3 to PCI bus

PSoC 1 I 2 C Bootloader

ISA Host Controller 15a Hardware Reference Release 1.2 (October 16, 2017)

FAE Summit Interfacing the ADS8361 to the MSP430F449 Low Power Micro Controller

Goal: We want to build an autonomous vehicle (robot)

EB-51 Low-Cost Emulator

TI s PCI2040 PCI-to-DSP Bridge

ESPino - Specifications

PCI Host Controller 14a Hardware Reference Release 1.2 (October 16, 2017)

EZ-Link (AN2720SC) Single-Chip USB-to-USB Networking Solution FEATURES OVERVIEW

Hardware Reference. DIL/NetPC DNP/2110 Board Revision 1.0

Intelop. *As new IP blocks become available, please contact the factory for the latest updated info.

EZ-USB SX2 High Speed USB Interface Device

SBAT90USB162 Atmel. SBAT90USB162 Development Board User s Manual

HCAL DCC Technical Reference E. Hazen - Revised March 27, 2007 Note: Latest version of this document should be available at:

LBAT90USB162 Atmel. LBAT90USB162 Development Board User s Manual

Symphony SoundBite Reference Manual

Block Diagram. mast_sel. mast_inst. mast_data. mast_val mast_rdy. clk. slv_sel. slv_inst. slv_data. slv_val slv_rdy. rfifo_depth_log2.

KeyStone Training. Bootloader

ERRATA SHEET INTEGRATED CIRCUITS. Date: 2008 June 2 Document Release: Version 1.6 Device Affected: LPC2468. NXP Semiconductors

Melon S3 FPGA Development Board Product Datasheet

ArduCAM-M-2MP Camera Shield

Embedded Controller Design. CompE 270 Digital Systems - 5. Objective. Application Specific Chips. User Programmable Logic. Copyright 1998 Ken Arnold 1

CPT-DA Texas Instruments TMS320F28377D controlcard compatible. DA Series Interface Card. Technical Brief

MegaAVR-DEVelopment Board Progressive Resources LLC 4105 Vincennes Road Indianapolis, IN (317) (317) FAX

PSIM Tutorial. How to Use SPI in F2833x Target. February Powersim Inc.

KNJN I2C bus development boards

VINCULUM-BASED TEMPERATURE / HUMIDITY / VOLTAGE DATA LOGGER FEATURES:

Arduino Uno R3 INTRODUCTION

ARDUINO MEGA INTRODUCTION

CEIBO FE-51RD2 Development System

The Atmel ATmega328P Microcontroller

Programming in the MAXQ environment

EZ-USB SX2 High-Speed USB Interface Device

Introduction to ARM LPC2148 Microcontroller

SMT130. User Manual V1.0

Engr 355 Embedded Systems Design. mbed and LPC11U24 Overview. Dr. Curtis Nelson* *Original lecture written by Tim Kyle ARM

Espardino micro2142/8

EZ-USB Technical Reference Manual. Document # Rev. *A

ADSP-218x Family EZ-ICE Hardware Installation Guide

CEIBO FE-5111 Development System

User Manual for SMT111

AN EZ-USB FX3 I 2 C Boot Option. Application Note Abstract. Introduction. FX3 Boot Options

An Introduction to Universal Serial Bus

Using the TMS320C5509 USB Bootloader

SH69P21 EVB. Application Note for SH69P21 EVB SH69P21 EVB SH69P21

TDSDB Features. Description

FIRMWARE DOWNLOAD AND ON-BOARD FLASH PROM PROGRAMMING

EZ-USB AT2LP USB 2.0 to ATA/ATAPI Bridge

Hello, and welcome to this presentation of the STM32L4 System Configuration Controller.

PIC Microcontroller Introduction

Getting Started with STK200 Dragon

Product Overview: DWM1001-DEV DWM1001 Module Development Board. Key Features and Benefits

Mega128-DEVelopment Board Progressive Resources LLC 4105 Vincennes Road Indianapolis, IN (317) (317) FAX

The Atmel ATmega168A Microcontroller

Easy Kit Board Manual

Opal Kelly. XEM3001v2 User s Manual. A business-card sized (3.5 x 2.0 ) experimentation board featuring the Xilinx Spartan 3 FPGA.

Getting Started With the Stellaris EK-LM4F120XL LaunchPad Workshop. Version 1.05

Interconnects, Memory, GPIO

MINITRONICS v1.0 DATASHEET

Group 10 Programmable Sensor Output Simulator Progress Report #2

Keystone ROM Boot Loader (RBL)

CPLD board. EB020

StrongARM** SA-110/21285 Evaluation Board

User Manual For CP-JR ARM7 USB-LPC2148 / EXP

Freescale and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their

Product Technical Brief S3C2440X Series Rev 2.0, Oct. 2003

ARM programmer and daughter board EB Technical datasheet

P-ROC. Pinball Remote Operations Controller. Version 2.4 August 8, Copyright 2017, Multimorphic, Inc. 1/28

Trends in Prototyping Systems. ni logic Pvt. Ltd., Pune, India

THIS SPEC IS OBSOLETE

High Speed SPI Slave Implementation in FPGA using Verilog HDL

FPGA Interfacing of HD44780 Based LCD Using Delayed Finite State Machine (FSM)

Adaptive Motion Control of FIREBIRD V Robot

EE 354 Fall 2015 Lecture 1 Architecture and Introduction

U6DIL. AVR USB Module. Rev. 1.1 Documentation Rev. 18. Reusch Elektronik Reusch Elektronik, Dipl.-Ing. (FH) Rainer Reusch

UM ISP1181x Microcontroller Eval Kit. Document information. Keywords isp1181a, isp1181b, usb, universal serial bus, peripheral

PCI GS or PCIe8 LX Time Distribution Board

Member of the ams Group

Nios Embedded Processor Development Board

Handouts. FPGA-related documents

TUTORIAL Auto Code Generation for F2806X Target

External and Flash Memory

Programming the TMS320VC5509 RTC Peripheral

Lab 1. OMAP5912 Starter Kit (OSK5912)

The Freescale MC908JL16 Microcontroller

In this tutorial, we will discuss the architecture, pin diagram and other key concepts of microprocessors.

SH69P48A EVB. Application Notes for SH69P48A EVB SH69V48A JP2 J4(ICE_J4) S1 IDD TEST JP1 74HC273 JP4 JP3 74HC273 JP6 STKOVE JP7 SW1 J5(ICE_J5)

Transcription:

EE318 Electronic Design Lab Project Report, EE Dept, IIT Bombay, April 2007 High speed USB interface for digital processor system Group No: B1 Siddharth Tallur (04007020) <sidtallur@e.iitb.ac.in> Akshay Bhatnagar (04007038) <abhatnagar@ee.iitb.ac.in> Kanik Arora (04007024) <kanikarora@ee.iitb.ac.in> Supervisors: Prof. M. C. Chandorkar, Prof. D. K. Sharma Abstract: This project involved designing a high speed USB (480 Mbps) interface for a TMS320VC33 digital processor system. The interface will support user program download and debugging, as well as data exchange between a host computer and the processor while user programs are being executed. We propose the design of a high speed USB circuit using the Cypress Semiconductor USB IC CY7C68013, and its associated firmware. 1. Introduction The goal behind designing such a system is to support user program download and debugging, as well as data exchange between a host computer and the DSP while user programs are being executed. The idea for using high speed USB interface is to allow transfer of large chunks of data between the host PC and the DSP with high throughput. The block diagram of the circuit we have designed is as shown above.

A brief description of each module with the accompanying circuit diagram is provided below: 1. Host PC Cypress controller interface: This interface has been designed and successfully tested. Sample firmware and test code available on the internet has been successfully tried out on this board. The Cypress chip is powered by the 5V available on the USB, the necessary 3.3V signal being generated by the TPS7333 voltage regulator IC. A 24MHz crystal is used along with the Cypress controller chip. Reset and wake up circuitry are also provided as shown in the figure. The firmware that we have developed has also been successfully tested with this module.

2. External power module: This module is provided to meet the worst case current requirements of the circuit, which may well exceed the 500mA that the USB can supply. The regulator IC 7805 is used as shown to give a constant output of 5V, which is then fed to the regulator TPS768D318, which gives outputs of both 3.3V (used by the CPLD and I/O pins of the TMS processor), and 1.8V (used by the core CPU of the TMS processor). The jumper JP1 provides the flexibility of using either the external mains supply, or the USB voltage for powering the TMS processor and the CPLD. 3. External serial port interface: This pin header is provided to allow an alternate window to load programs into the TMS DSP, which would be helpful in debugging of the board. This helps to serially boot load the DSP using an existing board developed by Prof. M. C. Chandorkar available in the APEL lab in our Department.

4. TMS DSP Cypress controller interface via the Xilinx CPLD: The figure above shows the CPLD circuit. The DSP circuit is as follows:

The interface is designed as shown above. A 15MHz crystal is used with the DSP chip. The PLL circuitry inside the DSP multiplies this by 5 and uses the resultant clock of 75MHz. The logic for the connections to the CPLD is worked out as follows: SLWR\ -> STRB\.RD/W\ SLRD\ -> (STRB\)\.(RD/W\.(H1/2)) PKTEND -> XF1 (flag from the DSP) RDY\ -> FULL + EMPTY SLOE -> (RD/W\)\ + STRB\ in accordance with the timing diagrams for the Cypress slave FIFO endpoint buffers and the TMS processor as shown in the figure on the next page. The VHDL code for the CPLD has been written and simulation studies have been successfully carried out to check the correct functioning of the logic. The address lines

chosen to be connected to the CPLD are such that the address range for TMS reads lies in the range 1000h 1100h, which allows bootstrapping to take place through the USB interface. The range for write addresses is chosen to be 1200h 1300h. Using such a range allows us to use PAGE0\ instead of STRB\ in the CPLD logic equations shown earlier. Also, limiting our read and write address ranges to a small part of the DSP memory map, in the same page allows easy extension of the design to further applications, without losses of memory space. Software: We have written a code to test the transfer of data from the host PC through the Cypress controller to the DSP (cfirm.c). It involves transferring an array (array.txt) of code to flash a flag pin on the DSP (XF1). The basic idea is as follows: The Cypress controller endpoint RAM is implemented as 4 FIFO buffers: EP2, EP4 (for master reads) and EP6, EP8 (for master writes). EP0 is used for control transfers by the host and EP1 is used for interrupt transfers (not used). We have used EP2 endpoint RAM buffer of the Cypress controller for Cypress->DSP writes and EP6 buffer for DSP- >Cypress writes. The DSP is set up for boot loading in mode 1 (bootload from the address 1000h): where the RESET\ pin has to be de-asserted followed by de-asserting the INT0\ pin. This is done by first loading the code array into the EP2 buffer and then de-asserting pins PA0

(RESET\) and PA1 (INT0\) respectively of the Cypress controller. The code successfully loads the FIFO buffer EP2 and successfully de-asserts the port A pins of the Cypress controller. The code is compiled using the sdcc compiler. Also, one needs the libusb library for the usb functions. The binary code for the array to be transferred to the DSP is obtained by generating a listing file (.lst) by compiling the DSP code (test.asm). The list file provides the data in binary format. The asm file for the DSP is compiled using the tic4x assemblercompiler. Conclusion: The Cypress controller host PC interface has been successfully tested. The DSP circuitry also works perfectly. The test firmware written also works perfectly. These two circuits are interfaced through the CPLD circuitry, which is not behaving properly. Future work would involve debugging the CPLD VHDL code and debugging the interface circuitry. References: 1. EZ USB-FX2 Technical Reference manual, Cypress Semiconductors. 2. TMS320C3X User s guide, Texas Instruments. 3. TMS320C3x General-Purpose Applications User's Guide, Texas Instruments. 4. Datasheets: i. CY7C68013A EZ-USB FX2LP USB Microcontroller, Cypress Semiconductors. ii. TMS320VC33 Digital Signal Processor, Texas Instruments. iii. XC9572XL High Performance CPLD, Xilinx