USB Test Environment ATUSBTEST- SS7400. Summary



Similar documents
AT89C5131A Starter Kit... Software User Guide

8-bit RISC Microcontroller. Application Note. AVR236: CRC Check of Program Memory

8-bit Microcontroller. Application Note. AVR400: Low Cost A/D Converter

8-bit Microcontroller. Application Note. AVR222: 8-point Moving Average Filter

AVR319: Using the USI module for SPI communication. 8-bit Microcontrollers. Application Note. Features. Introduction

AVR317: Using the Master SPI Mode of the USART module. 8-bit Microcontrollers. Application Note. Features. Introduction

8-bit RISC Microcontroller. Application Note. AVR182: Zero Cross Detector

AVR106: C functions for reading and writing to Flash memory. 8-bit Microcontrollers. Application Note. Features. Introduction

General Porting Considerations. Memory EEPROM XRAM

8-bit Microcontroller. Application Note. AVR105: Power Efficient High Endurance Parameter Storage in Flash Memory

AVR305: Half Duplex Compact Software UART. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AT91 ARM Thumb Microcontrollers. Application Note. Interfacing a PC Card to an AT91RM9200-DK. Introduction. Hardware Interface

8-bit Microcontroller. Application Note. AVR415: RC5 IR Remote Control Transmitter. Features. Introduction. Figure 1.

AVR134: Real Time Clock (RTC) using the Asynchronous Timer. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Quick Start Guide. CAN Microcontrollers. ATADAPCAN01 - STK501 CAN Extension. Requirements

Application Note. C51 Bootloaders. C51 General Information about Bootloader and In System Programming. Overview. Abreviations

Tag Tuning/RFID. Application Note. Tag Tuning. Introduction. Antenna Equivalent Circuit

8-bit Microcontroller. Application Note. AVR461: Quick Start Guide for the Embedded Internet Toolkit. Introduction. System Requirements

AVR030: Getting Started with IAR Embedded Workbench for Atmel AVR. 8-bit Microcontrollers. Application Note. Features.

8-bit Microcontroller. Application Note. AVR314: DTMF Generator

How to Calculate the Capacitor of the Reset Input of a C51 Microcontroller 80C51. Application Note. Microcontrollers. Introduction

USB 2.0 Full-Speed Host/Function Processor AT43USB370. Summary. Features. Overview

ATF15xx Product Family Conversion. Application Note. ATF15xx Product Family Conversion. Introduction

8-bit Microcontroller. Application Note. AVR134: Real-Time Clock (RTC) using the Asynchronous Timer. Features. Theory of Operation.

8-bit Microcontroller. Application. Note. AVR204: BCD Arithmetics. Features. Introduction. 16-bit Binary to 5-digit BCD Conversion bin2bcd16

8-bit Microcontroller. Application Note. AVR201: Using the AVR Hardware Multiplier

AVR034: Mixing C and Assembly Code with IAR Embedded Workbench for AVR. 8-bit Microcontroller. Application Note. Features.

AVR32701: AVR32AP7 USB Performance. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

AT91 ARM Thumb Microcontrollers. AT91SAM CAN Bootloader. AT91SAM CAN Bootloader User Notes. 1. Description. 2. Key Features

AVR32100: Using the AVR32 USART. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR245: Code Lock with 4x4 Keypad and I2C LCD. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Application Note. 8-bit Microcontrollers. AVR270: USB Mouse Demonstration

AVR1309: Using the XMEGA SPI. 8-bit Microcontrollers. Application Note. Features. 1 Introduction SCK MOSI MISO SS

Application Note. USB Mass Storage Device Implementation. USB Microcontrollers. References. Abbreviations. Supported Controllers

AVR32110: Using the AVR32 Timer/Counter. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

Table of Contents. Section 1 Introduction Section 2 Getting Started Section 3 Hardware Description

Application Note. 8-bit Microcontrollers. AVR280: USB Host CDC Demonstration. 1. Introduction

3-output Laser Driver for HD-DVD/ Blu-ray/DVD/ CD-ROM ATR0885. Preliminary. Summary

8-bit RISC Microcontroller. Application Note. AVR155: Accessing an I 2 C LCD Display using the AVR 2-wire Serial Interface

Using CryptoMemory in Full I 2 C Compliant Mode. Using CryptoMemory in Full I 2 C Compliant Mode AT88SC0104CA AT88SC0204CA AT88SC0404CA AT88SC0808CA

ATF1500AS Device Family. Application Note. In-System Programming of Atmel ATF1500AS Devices on the HP3070. Introduction.

Application Note. Migrating from RS-232 to USB Bridge Specification USB Microcontrollers. Doc Control. References. Abbreviations

8-bit. Application Note. Microcontrollers. AVR282: USB Firmware Upgrade for AT90USB

Step Motor Controller. Application Note. AVR360: Step Motor Controller. Theory of Operation. Features. Introduction

AVR241: Direct driving of LCD display using general IO. 8-bit Microcontrollers. Application Note. Features. Introduction AVR

256K (32K x 8) OTP EPROM AT27C256R 256K EPROM. Features. Description. Pin Configurations

AVR287: USB Host HID and Mass Storage Demonstration. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR1900: Getting started with ATxmega128A1 on STK bit Microcontrollers. Application Note. 1 Introduction

AVR442: PC Fan Control using ATtiny13. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR120: Characterization and Calibration of the ADC on an AVR. 8-bit Microcontrollers. Application Note. Features. Introduction

Atmel AVR4903: ASF - USB Device HID Mouse Application. Atmel Microcontrollers. Application Note. Features. 1 Introduction

How To Prevent Power Supply Corruption On An 8Bit Microcontroller From Overheating

DIP Top View VCC A16 A15 A12 A7 A6 A5 A4 A3 A2 A1 A0 I/O0 I/O1 I/O2 GND A17 A14 A13 A8 A9 A11 A10 I/O7 I/O6 I/O5 I/O4 I/O3. PLCC Top View VCC A17

Multiple clock domains

AVR1922: Xplain Board Controller Firmware. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR1600: Using the XMEGA Quadrature Decoder. 8-bit Microcontrollers. Application Note. Features. 1 Introduction. Sensors

AVR1318: Using the XMEGA built-in AES accelerator. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Two-wire Automotive Serial EEPROM AT24C01A AT24C02 AT24C04 AT24C08 (1) AT24C16 (2)

AVR318: Dallas 1-Wire master. 8-bit Microcontrollers. Application Note. Features. Introduction

AVR2006: Design and characterization of the Radio Controller Board's 2.4GHz PCB Antenna. Application Note. Features.

AVR115: Data Logging with Atmel File System on ATmega32U4. Microcontrollers. Application Note. 1 Introduction. Atmel

AVR033: Getting Started with the CodeVisionAVR C Compiler. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

2-wire Serial EEPROM AT24C512

AT91 ARM Thumb Microcontrollers. Application Note. GNU-Based Software Development on AT91SAM Microcontrollers. 1. Introduction. 2.

3-output Laser Driver for HD-DVD/ Blu-ray/DVD/ CD-ROM ATR0885. Preliminary. Summary. Features. Applications. 1. Description

AT86RF230 (2450 MHz band) Radio Transceiver... User Guide

Atmel AVR4920: ASF - USB Device Stack - Compliance and Performance Figures. Atmel Microcontrollers. Application Note. Features.

AVR353: Voltage Reference Calibration and Voltage ADC Usage. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

2-Wire Serial EEPROM AT24C32 AT24C64. 2-Wire, 32K Serial E 2 PROM. Features. Description. Pin Configurations. 32K (4096 x 8) 64K (8192 x 8)

Application Note. 8-bit Microcontrollers. AVR091: Replacing AT90S2313 by ATtiny2313. Features. Introduction

APPLICATION NOTE. Atmel AT02985: User s Guide for USB-CAN Demo on SAM4E-EK. Atmel AVR 32-bit Microcontroller. Features. Description.

8-bit Microcontroller. Application Note. AVR410: RC5 IR Remote Control Receiver

AVR32138: How to optimize the ADC usage on AT32UC3A0/1, AT32UC3A3 and AT32UC3B0/1 series. 32-bit Microcontrollers. Application Note.

AVR1510: Xplain training - XMEGA USART. 8-bit Microcontrollers. Application Note. Prerequisites. 1 Introduction

2-wire Serial EEPROM AT24C1024. Advance Information

Atmel AVR4921: ASF - USB Device Stack Differences between ASF V1 and V2. 8-bit Atmel Microcontrollers. Application Note. Features.

Project 4: Pseudo USB Simulation Introduction to UNIVERSAL SERIAL BUS (USB) STANDARD

AVR068: STK500 Communication Protocol. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Application Note. 8-bit Microcontrollers. AVR272: USB CDC Demonstration UART to USB Bridge

AVR1301: Using the XMEGA DAC. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Application Note. 8-bit Microcontrollers. AVR293: USB Composite Device

AVR32788: AVR 32 How to use the SSC in I2S mode. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

UMBC. ISA is the oldest of all these and today s computers still have a ISA bus interface. in form of an ISA slot (connection) on the main board.

AVR2004: LC-Balun for AT86RF230. Application Note. Features. 1 Introduction

32-bit AVR UC3 Microcontrollers. 32-bit AtmelAVR Application Note. AVR32769: How to Compile the standalone AVR32 Software Framework in AVR32 Studio V2

SDLC Controller. Documentation. Design File Formats. Verification

AVR151: Setup and Use of the SPI. Introduction. Features. Atmel AVR 8-bit Microcontroller APPLICATION NOTE

Two-wire Serial EEPROM AT24C1024 (1)

TIP-VBY1HS Data Sheet

How To Use An Atmel Atmel Avr32848 Demo For Android (32Bit) With A Microcontroller (32B) And An Android Accessory (32D) On A Microcontroller (32Gb) On An Android Phone Or

Atmel AVR4950: ASF - USB Host Stack. 8-bit Atmel Microcontrollers. Application Note. Features. 1 Introduction

Application Note. 8-bit Microcontrollers. AVR307: Half Duplex UART Using the USI Module

AVR444: Sensorless control of 3-phase brushless DC motors. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

MAX II ISP Update with I/O Control & Register Data Retention

Manchester Encoder-Decoder for Xilinx CPLDs

ENGINEERING CHANGE NOTICE

USB 2.0 Transceiver Macrocell Interface (UTMI) Specification

Getting off the ground when creating an RVM test-bench

8051 Flash Microcontroller. Application Note. A Digital Thermometer Using the Atmel AT89LP2052 Microcontroller

Transcription:

Features Simple Command-driven Host Model Comprehensive Reports by Monitor Protocol Validation by Monitor Comprehensive Test Suite Fully Compliant with USB Forum Checklist Generates and Monitors Packets NRZI, Bit-stuffed, CRC Encoded Packets Error Packets Can Be Generated to Test for Robustness Provides Commands Set to Generate Different Transactions Interfaces with Atmel s USB Cores ATUSBHUB-SSU8040 ATUSBFUNC-SS7211 Overview The ATUSBTEST-SS7400 is a USB simulation environment designed to simulate and verify the application and USB functionality during the initial phases of the design and to verify the complete application in the final stages of the design. A typical USB environment consists of these functional blocks: host bus functional model to generate USB traffic; monitor model to monitor USB traffic; target device core such as the ATUSBFUNC-SS7211 (full-speed core) or the ATUSBHUB- SSU8040 (hub); and an application model to emulate the end application. The ATUSBTEST-SS7400 includes a host bus functional model with a command file interface and a simple integrated monitor model. The ATUSBTEST-SS7400 also includes an application model. This model can handle control transfers, interrupt transfers, bulk/iso in and bulk/iso out transfers. It has a simple command file interface to transfer the required data and simple controls to generate STALL and NO RESPONSE from the application. This model, in the course of the design, can be easily replaced by the end application s synthesized logic. This test environment supports both low- and full-speed implementations, although the ATUSBFUNC-SS7211 only allows full speed. USB Test Environment ATUSBTEST- SS7400 Summary Simple Simulation Environment Report File: hst_log Monitor Model Command File: hst_cmds Host Bus Functional Model USB Device Core Application Model Command File: app_cmds Rev. 1669AS 07/01 Note: This is a summary document. A complete document is available under NDA. For more information, please contact your local Atmel sales office. 1

Test Environment Guidelines Setting Up the Test Bench Users need to make sure that the ATUSBTEST-SS7400 is installed using the detailed instructions in the installation document. Upon successful installation of the ATUS- BTEST-SS7400, the following design steps need to be taken for proper simulation and verification of the USB device under test (DUT). 1. Instantiate the host model (from ATUSBTEST- SS7400) in a testbench module. 2. Instantiate two instances of transceiver model (provided): One transceiver to connect to the host model. One transceiver to connect to the DUT. 3. Instantiate the DUT and make appropriate connections to the transceiver model as suggested in the sample testbench. 4. If the application portion of the design is not yet developed, the user needs to instantiate the ATUSBFUNC-SS7211 device core and the sample application model provided with it to simulate the application interface. 5. Upon having an instance of the ATUSBTEST- SS7400, two transceivers, the ATUSBFUNC- SS7211 and application model, the testbench module is complete for use. 6. Along with the testbench module, the necessary design modules needed to generate USB traffic are the hst_mdl.v (for ATUSBTEST- SS7400), all the modules related to the ATUSB- FUNC-SS7211, xvr.v (for the transceiver) and app_mdl.v (for the application model). 7. To generate USB traffic, the ATUSBTEST- SS7400 requires the command file hst_cmds, which is explained in detail in the next section. hst_cmds file is a user-friendly, customizable USB traffic generator. This file is translated into a format that can be understood by hst_mdl by using an executable script called hst_mdl. This script, when run on the hst_cmds file, generates intermediate files that are compliant with requirements of the host model. hst_mdl also flags any format errors in the hst_cmds file. 8. If the sample application model is being used to generate traffic and communicate with the USB device core, the test directory needs to have three files for data transfers from the device EPs to the host. ep0_data is the file that contains the data for EP0 transfers from application to host; ep1_data contains the data for EP1 transfers from application to host; and ep2_data contains the data for EP2 transfers from application to host. The format of these files is explained in the section The Application Model. The application model requires another file, app_cmds, which is used by the application model to generate no response to interrupts and stall to different device endpoints. 9. Once the preceding files are available, the user is ready to simulate the USB device core using the ATUSBTEST-SS7400. Running Simulations 1. Run the executable hst_mdl on hst_cmds file to generate the intermediate files required for the host model and monitor model. 2. Compile all device core-related modules, application model, host model and the transceivers. 3. Run for a specific amount of time or until the host model reaches the end of the hst_cmds file. The host model is designed to automatically exit upon completion of the last executable command in the hst_cmds file. Logs and Reports Pre-simulation Logs hst_cmd.out When hst_mdl is executed on the hst_cmds file, a log file named hst_cmd.out is generated. This generates a log of possible errors in the hst_cmds files. A few such logs are: Include file not found Data files not found Incorrect number of bytes in a transfer (if the user defines data that does not end on byte boundary) Incorrect data format (such as a character g through z in hex data) Number of commands found in the hst_cmds files. (User may check to see if all commands intended were processed.) 2 ATUSBTEST-SS7400

ATUSBTEST-SS7400 Post-simulation Logs Host Side ep0_rcvd_app EP0 from the device. It also specifies the transaction number for which the data was received. ep1_rcvd_app EP1 from the device. It also specifies the transaction number for which the data was received. ep2_rcvd_app EP2 from the device. It also specifies the transaction number for which the data was received. hst_log This file logs all the data transmitted/received on the USB line with summary of errors, recommendation and log of every USB transaction. It also specifies the transaction number for which the data was received. This is explained in detail in the section on the monitor reports. Device Side ep0_rcvd_host This file logs all the data received on the USB line to endpoint EP0 from the host for the setup, data portion of the control transfer. ep3_rcvd_host EP3 from the host. app_log This file stores the interrupts received, action performed, count value and interrupt status register value for the complete simulation. Verification for Correctness Correctness of the simulation may be checked in two phases: Correctness of protocol Correctness of data Correctness of Protocol This may be checked by looking for ***ERROR in the hst_log. This tells the user whether the DUT performed any protocol violation such as transmitting an incorrect CRC, invalid handshake, etc. The user is also recommended to check for ***WARNING to see if the user has unintentionally introduced errors in the hst_cmds file such as illegal packet sizes, incorrect addresses, incorrect endpoints, etc. Correctness of Data This may be checked by comparing the data transferred from the application and the data received by the host, and vice versa. Atmel provides a simple script to process the received and transmitted data at the end of the simulation. This script is tailor-made for specific applications, primarily due to variable data formats. Check with your Atmel Support Engineer for details on this script. Installing the Design Install the complete design in a common place. Run the following commands as root. Later releases will be installed in this directory. < PROMPT> cd /installation_dir/ < PROMPT> unzip ss7211.zip Running Simulation 1. Compile all Verilog files (SS7211/core) in the directory SS7211/SS7400/ 2. Compile all Verilog files (SS7211/SS7400) in the directory SS7211/SS7400/ the compile_mti file has the script for the compilation in Model Tech environment. 3. Run the simulator or run the batch file run??.bat for DOS environment in SS7211/SS7400/ or run_mti <Test Case No.> for UNIX environment is SS7211/SS7400 4. The batch file: Compiles the host commands files to bit pattern for Verilog; Runs the Verilog simulation; and Scans the simulation and reports the simulation status. 3

Installation Directory Structure CORE Verilog Files for Core SS7211 TEST TEST1 TEST12 Command and Data Files Command and Data Files DOC SS7211 Document SS7400 Document Test Environment Document SS7400 Host model exe file, ram_data, batch files host, application, xvr, ram models and testbench SCRIPTS SYNTHESIS SCRIPTS run_mti (script to run test cases) compile_mti (compile script for Model Tech tool) TEST1 hst_log and monitor.log RSLT TEST12 hst_log and monitor. log Host Model The host functional model has a simple, user-friendly, configurable and comprehensive command file interface. Based on the commands initiated by the user, the host model generates a bit-stuffed, NRZI data on the USB line. It also maintains the necessary frequency and signaling based on full-speed and low-speed signaling. It generates CRC5 for token and CRC16 for data. It generates SYNC pattern, SOP and EOP to maintain packet integrity. Through the command line interface, the user can generate error conditions that help in checking the correctness of design and protocol integrity of the device under test. In the receiver mode, the host model detects SYNC pattern, SOP and EOP. It performs NRZI encode and bit unstuffing and checks for the correctness of the CRC. The host model is also capable of detecting time-out conditions, ACK, NAK and STALL conditions. The host model is also capable of performing a retry on a NAKed packet. The host model generates the necessary USB packets such as SETUP, OUT, IN and SOF from a command file, which is described in detail in the following sections. Command File The host bus functional model uses a file named hst_cmds to generate necessary USB traffic on the line. This file is generated by the user/designer based on the format described in the next section. This file needs to be available in the current directory where the simulation is run. 4 ATUSBTEST-SS7400

ATUSBTEST-SS7400 Appendix A: Functional Block Diagrams Host Model Pin Name Direction Comments vpo Output Goes to the transceiver to generate a differential signal on the USB line vmo Output Goes to the transceiver to generate a differential signal on the USB line oe_n Output Enables the transceiver transmitter clk Input USB clk clk_4x Input 4x clk suspend Input Used from the device to detect suspend by monitor fsen Output Indicates the current speed of the transfer iso Input Indicates from the device whether the current transfer is isochronous vp Input Digital data corresponding to the differential data in the USB line (from the transceiver) vm Input Digital data corresponding to the differential data in the USB line (from the transceiver) line_rcv Input Data received from the USB line (from the transceiver) Host Model I/O vpo vmo oe_n clk clk_4x suspend fsen iso vp vm line_rcv 5

Transceiver Model Pin Name Direction Comments fsen Input Determines the signaling from the transceiver. This is generated by the host model. vmo Input Data from the host model to generate differential data on the USB line vpo Input Data from the host model to generate differential data on the USB line oe_n Input Generated by the host model to enable the transmitter vp Output Generated by the transceiver to indicate idle, SE0 and line status vm Output Generated by the transceiver to indicate idle, SE0 and line status rcv Output Generated by the transceiver in the receive mode to indicate the received data from the line Note: This table shows the pinout of the transceiver model used in the building of the testbench. Transceiver Model I/O fsen vmo vpo oe_n vp vm rcv 6 ATUSBTEST-SS7400

Atmel Headquarters Corporate Headquarters 2325 Orchard Parkway San Jose, CA 95131 TEL (408) 441-0311 FAX (408) 487-2600 Europe Atmel SarL Route des Arsenaux 41 Casa Postale 80 CH-1705 Fribourg Switzerland TEL (41) 26-426-5555 FAX (41) 26-426-5500 Asia Atmel Asia, Ltd. Room 1219 Chinachem Golden Plaza 77 Mody Road Tsimhatsui East Kowloon Hong Kong TEL (852) 2721-9778 FAX (852) 2722-1369 Japan Atmel Japan K.K. 9F, Tonetsu Shinkawa Bldg. 1-24-8 Shinkawa Chuo-ku, Tokyo 104-0033 Japan TEL (81) 3-3523-3551 FAX (81) 3-3523-7581 Atmel Operations Atmel Colorado Springs 1150 E. Cheyenne Mtn. Blvd. Colorado Springs, CO 80906 TEL (719) 576-3300 FAX (719) 540-1759 Atmel Rousset Zone Industrielle 13106 Rousset Cedex France TEL (33) 4-4253-6000 FAX (33) 4-4253-6001 Atmel Smart Card ICs Scottish Enterprise Technology Park East Kilbride, Scotland G75 0QR TEL (44) 1355-357-000 FAX (44) 1355-242-743 Atmel Grenoble Avenue de Rochepleine BP 123 38521 Saint-Egreve Cedex France TEL (33) 4-7658-3000 FAX (33) 4-7658-3480 Fax-on-Demand North America: 1-(800) 292-8635 International: 1-(408) 441-0732 e-mail literature@atmel.com Web Site http://www.atmel.com BBS 1-(408) 436-4309 Atmel Corporation 2001. Atmel Corporation makes no warranty for the use of its products, other than those expressly contained in the Company s standard warranty which is detailed in Atmel s Terms and Conditions located on the Company s web site. The Company assumes no responsibility for any errors which may appear in this document, reserves the right to change devices or specifications detailed herein at any time without notice, and does not make any commitment to update the information contained herein. No licenses to patents or other intellectual property of Atmel are granted by the Company in connection with the sale of Atmel products, expressly or by implication. Atmel s products are not authorized for use as critical components in life support devices or systems. Marks bearing and/or are registered trademarks and trademarks of Atmel Corporation. Terms and product names in this document may be trademarks of others. Printed on recycled paper. 1669AS 07/01