Documentation for SCSI PCMCIA drive SCSI controller hardware V2.0 PCMCIA slot hardware V1.1

Similar documents
Documentation for SCSI controller project PIA (Parallel Interface Agent) module Hardware V2.0 / Firmware V1.0

Documentation for SCSI controller project PIA (Parallel Interface Agent) module Hardware V1.0.1 / Firmware V0.0

Arduino Uno. Arduino Uno R3 Front. Arduino Uno R2 Front

Wireless Sensor Networks. FireFly 2.2 Datasheet

WICE-SPI Hardware Operation Manual

ARDUINO UNO REV3 SMD Code: A The board everybody gets started with, based on the ATmega328 (SMD).

4X4 Driver Shield Manual

HAND HELD PROGRAMMER QUICK START GUIDE

Breeze Board. Type A. User Manual.

Hardware Manual. Crumb128. Rapid Prototyping Module with the Atmega128 AVR Microcontroller

Pridgen Vermeer Robotics Xmega128 Manual

AVR200 Single Board Computer

VLSI AppNote: VSx053 Simple DSP Board

ARDUINO UNO REV3 Code: A000066

CONTENTS BIGAVR2 KEY FEATURES 4 CONNECTING THE SYSTEM 5 INTRODUCTION 6

M32 Development Board

3.3V regulator. JA H-bridge. Doc: page 1 of 7

6LoWPAN Development Platform Saker Manual

Various power connectors. 3.3V regulator. 64K Flash (Internal) 2K EEPROM (Internal) 4K SRAM (Internal) JA Mem Adr/ Data. Doc: page 1 of 9

Getting Started with STK200 Dragon

Modtronix Engineering Modular Electronic Solutions SBC28DC. Single board computer for 28 pin DIP PICs

ARDUINO MEGA 2560 REV3 Code: A000067

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

AVRminiV3.1 Manual. 1. AVRminiV3.1 Overview. 2. AVRminiV3.1 Features and Specifications Standard Features: 2.2. Optional Features:

DEVBOARD3 DATASHEET. 10Mbits Ethernet & SD card Development Board PIC18F67J60 MICROCHIP

Prototyping Module Datasheet

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

DS2118M Ultra3 LVD/SE SCSI Terminator

STK200 Starter Kit User Guide May 2004

HAND HELD PROGRAMMER QUICK START GUIDE

Breeze Board. Type B. User Manual.

Embedded Systems and Software

Arduino ADK Rev.3 Board A000069

ARDUINO MEGA ADK REV3 Code: A000069

MEGATRONICS v3.0 DATASHEET

HFRD REFERENCE DESIGN High-Frequency XFP Host Board. Reference Design: (Includes Integrated RS-232 to I 2 C Conversion)

RS485 3 click. How does it work? PID: MIKROE-2821

Documentation for SCSI controller project Target module Hardware V1.0.1 / Firmware V0.0

The Atmel-ICE Debugger

EXL x240 Graphic LCD Smart Module 3,8 SHORT FORM TECHNICAL SPECIFICATIONS. Via di Corticella, Bologna, Italy

Evaluates: EV Kits Requiring SPI/ Parallel to USB Interface. INTF3000 Interface Board. General Description. Quick Start. Benefits and Features

Ultratronics v1.0 DATASHEET

JED MICROPROCESSORS PTY LTD

Part 1 Using Serial EEPROMs

AVR Intermediate Development Board. Product Manual. Contents. 1) Overview 2) Features 3) Using the board 4) Troubleshooting and getting help

Basic Express, BasicX, BX-01, BX-24 and BX-35 are trademarks of NetMedia, Inc.

REN816XB David Haberle 2010 (Dirknerkle)

Atmel AVR datasheet. Matrix Multimedia Atmel AVR Board EB Contents

CONTENTS. dspicpro4 KEY FEATURES 4 CONNECTING THE SYSTEM 5 INTRODUCTION 6

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

General-Purpose Microcontroller Module 12a Hardware Reference Release 1.4a (October 11, 2017)

PCB-STM32-F3U. Development baseboard for the STMicro Discovery-F3 module (STMicro part# STM32F3DISCOVERY)

HAND HELD PROGRAMMER QUICK START GUIDE

QUASAR PROJECT KIT # ATMEL AVR PROGRAMMER

Amarjeet Singh. January 30, 2012

DS1306. Serial Alarm Real Time Clock (RTC)

More than Compatibility

MEGATRONICS v3.0 DATASHEET

DS21S07AE. SCSI Terminator

um-fpu64 Floating Point Coprocessor 28-pin Breakout Board Introduction Bare um-fpu64 28-pin Breakout Board

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

Teratronik elektronische systeme gmbh. V4½-CPU Technical Data. Date:

MINITRONICS v1.0 DATASHEET

CSE 466 Exam 1 Winter, 2010

JeeNode V2. A small *duino-ish MPU board with a wireless RF module. Jean-Claude Wippler jeelab.equi4.com March 2009

KNJN I2C bus development boards

Doc: page 1 of 8

Win-I2CUSB Hardware User s Manual

APPLICATION NOTE. Atmel ATA6612/ATA6613/ATA6614 Development Board ATA6612/ATA6613/ATA6614. Features

SBAT90USB162 Atmel. SBAT90USB162 Development Board User s Manual

PIC-32MX development board Users Manual

Home Security System with Remote Home Automation Control

Shack Clock kit. U3S Rev 2 PCB 1. Introduction

USER GUIDE. Atmel OLED1 Xplained Pro. Preface

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

Downloaded from Elcodis.com electronic components distributor

AC-PG-USBASP USBASP AVR Programmer

8051 Intermidiate Development Board. Product Manual. Contents. 1) Overview 2) Features 3) Using the board 4) Troubleshooting and getting help

eip-24/100 Embedded TCP/IP 10/100-BaseT Network Module Features Description Applications

DS1305 Serial Alarm Real Time Clock (RTC)

keyestudio Keyestudio MEGA 2560 R3 Board

Documentation for SCSI controller project Target module Hardware V2.0 / Firmware V1.0

ARDUINO MICRO WITHOUT HEADERS Code: A000093

Atmel Microprocessor Programming With AVRISPmkii

Dwarf Boards. DB057 : 40-pin controller board

Mega128-Net Mega128-Net Mega128 AVR Boot Loader Mega128-Net

AVR Hand Held Programmer

AC-PG-USBASP USBASP AVR Programmer

February 28,

TMC428 Evaluation Kit V2.0 Manual English

BG1B Universal Gate Drive Prototype Board

Zippy AVR Programmer. Zippy Programmer Features. Lomae Pty Ltd PO BOX 1297 Baulkham Hills, NSW,1755 ACN

Stepper 6 click. PID: MIKROE 3214 Weight: 26 g

Atmel AVR473: ATAVRSB202 Hardware User Guide. 8-bit Atmel Microcontrollers. Application Note. Features. 1 Introduction

Revision: 05/05/ E Main Suite D Pullman, WA (509) Voice and Fax. Various power connectors. 3.3V regulator

Doc: page 1 of 6

Table of Contents TABLE OF CONTENTS...1

Pmod modules are powered by the host via the interface s power and ground pins.

Building your own special-purpose embedded system gadget.

STK User Guide

Transcription:

Documentation for SCSI PCMCIA drive SCSI controller hardware V2.0 PCMCIA slot hardware V1.1 2006 06 24 / Michael Bäuerle <micha@hilfe fuer linux.de> Preamble The goal of this project is a PCMCIA drive with SCSI3 interface for hobby usage. It presents a PCMCIA memory card as "removable direct access" device to the SCSI host. The mechnical size is 3.5" (full hight) and fit in standard external SCSI cases. Description I have developed this SCSI PCMCIA drive to access the pictures on the SD (Secure Digital) memory cards of my digital camera with my computers without USB. By using PCMCIA it is possible to use any type of memory card with appropriate adapters. SCSI controller board This board contains the second generation SCSI target controller that I have developed for hobby usage last year. It is SCSI3 compliant and is equipped with an 8Bit (narrow) LVD/SE multimode transceiver (PHY). Nevertheless an 68Pin connector is used to allow the connection of the drive to common 16Bit LVD busses without using an adapter. PCMCIA socket board This board contains a 5V PCMCIA socket for Type III cards. It is designed to be PCMCIA V2.1 compliant. Jumper JP1 is provided to select 16Bit or 8Bit data bus width. The board provides address latches for PCMCIA address lines A8:A25 and power switches for V cc and V pp voltages. V pp can be selected to be 5V or 12V. Page 1 / 13

Content 0. Abstract... Page 2 1. SCSI controller board... Page 3 Power supply... Page 3 PHY module... Page 3 PIA module... Page 4 Target module... Page 6 2. PCMCIA socket board... Page 8 0. Abstract The SCSI controller and the PCMCIA socket board are connected via a standard 40Pin ribbon cable with IDC connectors (2.54mm pitch). CON31 of the SCSI controller board must be connected to CON1 of the PCMCIA socket board. All active low signals have a leading "/" in the name (except on the PHY bus). The pinout of the ISP connectors IC20 and IC30 is Atmel STK200/300 compatible. Technical terms (in alphabetical order): HVD High Voltage Differential Physical signalling uses the voltage difference between two lines. HVD >SCSI uses RS 422 voltage levels and is not compatible to SE >SCSI. LUN Logical UNit Every >SCSI device can contain multiple logical units. Commands are always addressed to logical units, not to the device itself. LVD Low Voltage Differential Physical signalling uses the voltage difference between two lines. LVD >SCSI uses lower voltage levels than >HVD and have a >SE compatibility mode. PCMCIA Personal Computer Memory Card International Association International standard for memory cards, the corresponding japanese standard is called JEIDA. The cards have a 68Pin connector. PHY PHYsical interface This is the Layer1 (Physical layer) of the interface. For the >SPI there are three PHYs defined: >SE, >HVD and >LVD PIA Parallel Interface Agent Uses the >SPI protocol to communicate via the >SCSI bus. SCSI Small Computer System Interface Based on SASI, Industry standard since 1982, American national standard since 1986 (ANSI X3.131:1986, ANSI X3.131:1994, ANSI X3.301:1997). SE Single Ended Physical signalling uses the voltage on a single line against a common ground. This is the oldest >SCSI PHY. SPI SCSI Parallel Interface This is the Layer2 (Link layer) protocol of the parallel >SCSI interface. This name was introduced for SCSI3 because there are other physical interfaces defined since SCSI3 (Fiber Channel, IEEE1394, SAS and others). Serial Peripheral Interface This is 4 wire synchronous serial interface standard. Wide This term indicate a parallel >SCSI interface with more than 8 data lines. Page 2 / 13

1. SCSI controller board SCSI controller board V2.0 (Red: Component side, Blue: Solder side) Page 3 / 13

The SCSI controller consists of four modules: Power supply (Fuses, Indicator LEDs, buffering capacitors) PHY (Physical layer, LVD/SE multimode SCSI tranceivers) PIA (SPI protocol handler) Target (Removable SCSI Type 0 device, PCMCIA controller as LUN 0) Power supply The power supply for 5V and 12V must be connected to CON1: CON1 = AMP 827 001 2 There are fuses for both supply voltages: F1 = Schurter OMT125 0.5A (500mA for 12V) F2 = Schurter OMT125 3A (3A for 5V) The following capacitors are for supply voltage buffering: C2 = 47µF, 10V C3 = 10nF, 16V C4 = 10nF, 10V There are 3 LEDs with corresponding current limiting resistors for visual indication of power supply: D1 = LED 3mm, green D2 = LED 3mm, green D3 = LED 3mm, green R4 = 220Ω R5 = 820Ω R12 = 220Ω With the resistor values above the current for the LEDs is: I D1 = (5V U F, D1) / R4 = (5V 2.5V) / 220Ω = 11.4mA I D2 = (12V U F, D2) / R5 = (12V 2.5V) / 820Ω = 11.6mA I D3 = I D1 (Signal TERMPWR is 5V if active) PHY module This module mainly consist of two Texas Instruments SCSI tranceivers: IC10 = Texas Instruments SN75LVDM977DGG IC11 = Texas Instruments SN75LVDM977DGG IC10 and IC11 transmit and receive the signals on the SCSI bus. Normally SE or LVD mode is selected automatically, a Jumper on JP1 Pin 1 2 forces the whole SCSI bus to SE mode even if the PHY module have no power supply! Page 4 / 13

Some additional components are required (Values from datasheet are used): C10 = 22nF C11 = 100nF / 10V C12 = 100nF / 10V R10 = 8.2kΩ Attention: The signal EN_PHY was intended to force the PHY in the high impedance state. The connection in hardware V2.0 is a bug and does not work! PIA firmware must always drive EN_PHY inactive or let it floating (R11 will do the job in this case) and enable/disable the SCSI bus drivers with the /RE_xxx signals. Because the /RE_xxx inputs of IC10/IC11 have internal pull down resistors, it is ensured that the SCSI bus drivers stay in receive mode after power up as long as the /RE_xxx signals are not driven inactive by IC20 and the PHY is configured for inverting mode (via JP10, see below). With the Jumper JP10 the PHY can be switched to noninverting mode. This is not supported by Hardware V2.0: JP10 = Must always have jumper on Pins 1 2 (Inverting mode) The SCSI bus must be connected to this connector: CON10 = Harting 60050685143 (or something that is pin compatible) PIA module The PIA is controlled by an AVR microcontroller: IC20 = Atmel ATmega165 16AC Fuse bits (Extended / High / Low): 0xFF / 0xD9 / 0xFF C20 = 100nF / 10V C21 = 100nF / 10V IC20 is used as protocol chip replacement for the SCSI Layer2 (SPI) protocol and runs at maximum allowed clock speed with 16MHz: X20 = 16MHz fundamental mode frequency (AT cut), HC49/4H SMD case C22 = 22pF / 10V C23 = 22pF / 10V This module provides a power supply supervisor that is shared with the target module: IC21 = Dallas DS1811 5 IC21 generates a hard reset of at least 150ms for the PIA and Target modules if the 5V supply voltage drops below 4.5V (The internal brown out detectors of IC20 and IC30 can be disabled). Note: A SCSI bus reset does not create a PIA hard reset! Page 5 / 13

IC20 can be programmed "in system" via the ISP connector: CON20 = 2x5Pin IDC, 2.54mm pitch CON20 can also used as an SPI (Serial Peripheral Interface, not SCSI SPI) interface by IC20. The pinout of CON20 is shown in the follwing table: Pin Function 1 MOSI 2 5V power supply output (for ISP programmer or debug adapter) 3 NC 4 GND 5 /RESET 6 GND 7 SCK 8 GND 9 MISO 10 GND The PIA provides a "Busy" LED: D20 = LED 3mm, blue R20 = 100Ω With the resistor R20 the current for the LEDs is: I D20 = (5V U F, D20) / R20 = (5V 3.5V) / 100Ω = 15.0mA To generate and check SCSI parity, the following logic chips with corresponding buffer capacitors are used: IC22 = Fairchild 74F280SC C24 = 100nF / 10V IC23 = Texas Instruments SN74F126D C25 = 100nF / 10V IC23A will drive the PHY bus line /P if the signal /RE_P is inactive. Parity checking is done via Pin PB2. Because this pin is already used by the ISP/SPI interface, the parity signal is routed through IC23B. IC23B disables the parity signal if /RESET is active (this is the case while "in system" programming is in progress). If CON20 is used as an SPI interface the master must be able to overdrive the parity signals current limiting resistor: R21 = 10kΩ IC20 has no problem with this as an SPI master. The PHY interface is provided as PHY bus, the Target interface as PIA bus in the schematic. Page 6 / 13

Target module The Target module is controlled by an AVR microcontroller: IC30 = Atmel ATmega64 16AC Fuse bits (Extended / High / Low): 0xFF / 0xC9 / 0xFF C30 = 100nF / 10V C31 = 100nF / 10V C30 implements the SCSI target function (removable Type 0 "direct access" device in this case) and the PCMCIA controller. It runs at maximum allowed clock speed with 16MHz: X30 = 16MHz fundamental mode frequency (AT cut), HC49/4H SMD case C32 = 22pF / 10V C33 = 22pF / 10V To force a manual hard reset, the jumper JP30 is provided: JP30 = Force hard reset if closed (must be normally open) Note: Closing JP30 will also create a hard reset for the PIA module! The Target firmware must know its own SCSI ID, therefore we have 3 pin pairs on JP1 for this purpose: JP1 SCSI ID Jumpers A2: Pin 5 6 A1: Pin 7 8 A0: Pin 9 10 IC30 can be programmed "in system" via the ISP connector: CON30 = 2x5Pin IDC, 2.54mm pitch CON30 can also used as an asynchronous serial interface by IC30. The pinout of CON30 is shown in the follwing table: Pin Function 1 MOSI or UART input 2 5V power supply output (for ISP programmer or debug adapter) 3 NC 4 GND 5 /RESET 6 GND 7 SCK 8 GND 9 MISO or UART output 10 GND Page 7 / 13

The PIA interface is provided as PIA bus on the schematic. The PCMCIA controller that is used as LUN 0 is completely implemented in the Target firmware. No hardware support for anything is provided. The PCMCIA socket board must be connected to: CON31 = 2x20Pin IDC, 2.54mm pitch, 90 The PCMCIA socket board interface is provided as CABLE bus on the schematic. Because the signal /LED_ERR is shared with the SCK line of the ISP interface, a current limiting resistor is used: R30 = 1kΩ Note: Do not drive a LED directly with the signal /LED_ERR! Because of R30 the ISP programmer will not be able to overdrive the LED current in this case. Page 8 / 13

2. PCMCIA socket board PCMCIA socket board V1.1 (Red: Component side, Blue: Solder side) Page 9 / 13

The PCMCIA socket board is connected to the Target module via CON1: CON1 = 2x20Pin IDC, 2.54mm pitch On the schematic this is the CABLE bus. There are 3 transparent latches for the PCMCIA address: IC1 = Harris 74HC573N C1 = 100nF / 10V IC2 = Harris 74HC573N C2 = 100nF / 10V IC3 = Harris 74HC573N C3 = 100nF / 10V The resistor R14 keeps the outputs of IC1, IC2 and IC3 in high impedance state if the /OE signal of the CABLE bus is floating: R14 = 22kΩ IC3 provides the control signals for the PCMCIA power supply. The following table lists all possible combinations: /EN_VCC, EN_VPP, SEL_VPP Meaning 0, 0, 0 V cc enabled, V pp disabled 0, 0, 1 V cc enabled, V pp disabled 0, 1, 0 V cc enabled, V pp = 5V 0, 1, 1 V cc enabled, V pp = 12V 1, 0, 0 Power disabled 1, 0, 1 Power disabled 1, 1, 0 V cc disabled, V pp = 5V (do not use) 1, 1, 1 V cc disabled, V pp = 12V (do not use) The decoder IC4 creates the control signals for the V pp power switches from the input signals EN_VPP and SEL_VPP: IC4 = Texas Instruments SN74HC138N The following resistors ensure that the card power supply is disabled if the outputs of IC3 are in high impedance state: R1 = 22kΩ R7 = 22kΩ R8 = 22kΩ Page 10 / 13

The V cc power switch uses 3 P channel MOSFETS in parallel to decrease the source impedance of the power supply: T1 = Motorola MTD5P06 or similar T3 = Motorola MTD5P06 or similar T2 = Motorola MTD5P06 or similar I have used some obsolete MTD4P05 which I found in my fund. Use something with lower RDS,on if you want to use PCMCIA cards that draw a lot of power (up to 1A is allowed). The low pass filter R1/C9 is used for "soft" switching: R1 = 330Ω C9 = 22µF / 10V This gives a time constant of: τ = R1 * C9 = 330Ω * 22µF = 7.26ms After something like 5 * τ = 36.3ms the switch is really "on" and the capacitors of the card are charged. This time should be in the range 1ms 100ms for PCMCIA cards. I have added a buffer capacitor after the V cc switch: C6 = 100nF / 10V There is a LED in the front bezel that indicates whether Vcc is switched on: D4 = LED 3mm, yellow R13 = 220Ω With the resistor R13 the current for the LED is: I D4 = (5V U F, D4) / R13 = (5V 2.5V) / 100Ω = 11.4mA This LED is named "Mounted" or "Locked" to indicate that the card should not be ejected until the PCMCIA controller has disabled the socket. The V pp power switches do not have a soft switch feature. A Schottky and a Zener diode are used to prevent the reverse diodes of the switches from conducting: T4 = Motorola MTD5P06 or similar R3 = 330Ω R4 = 22kΩ D5 = Phillips BZX84 7.5V T5 = Motorola MTD5P06 or similar R5 = 330Ω R6 = 22kΩ D6 = Fairchild SB130 Page 11 / 13

There is a logic to generate the /CD (Card Detect) signal on the CABLE bus: D1 = Philips 1N4148 D2 = Philips 1N4148 R9 = 4.7kΩ R10 = 4.7kΩ R11 = 47kΩ The signal /CD is active only if both signals /CD1 and /CD2 on the PCMCIA bus are active (what means that the card is fully inserted). The PCMCIA slot itself is a 5V coded model from Berg/FCI: CON2 = FCI 92193 050CA It is open on the top so that Type III PCMCIA cards can be inserted and has a 5mm spacing to the PCB so that parts can be mounted between card and PCB. The jumper JP1 is used to select 16Bit (Jumper on Pin 1 2) or 8Bit (Jumper on Pin 2 3) mode: JP1 = Select 8Bit or 16Bit mode (Default: 16Bit, Jumper on 1 2) In 16Bit mode the signal /CE2 of the PCMCIA card is connected to /CE (=/CE1), otherwise it is tied to V cc. The jumper JP2 is used to disable the RESET signal from the PCMCIA bus: JP2 = Disable PCMCIA RESET (Default: Disabled, Jumper on 1 2) A Jumper on Pin 1 2 of JP2 disables the RESET function, a jumper on Pin 2 3 connnect the cards RESET pin to the RESET signal of the PCMCIA bus. I have problems with some cards that do not like it if RESET is inactive at power up. They work fine using their internal power on reset with a Jumper on Pin 1 2. The low pass filters on the strobe signals /OE and /WE are the result of multi day debugging session: R17 = 120Ω C7 = 470pF / 10V R18 = 120Ω C8 = 470pF / 10V Everything seems to work without them but within several megabytes of transferred data there are sometimes a few errors because the card have detected one strobe edge as two edges. This comes from the fast rise/fall times of the AVR (the datasheet say 3.5ns) together with the uncontrolled impedance and missing termination of the connection between PCMCIA socket and controller. Each filter have a time constant of: τ = R * C = 120Ω * 470pF = 56.4ns Attention: The PCMCIA controller must add extra delays for this filters! Page 12 / 13

Finally there is an "Error" LED that can be controlled by the PCMCIA controller using the /LED_ERR signal. The additional parts are an amplifier that reduce the current drawn from the /LED_ERR line: D3 = LED 3mm, red R12 = 330Ω T6 = BC557 R15 = 100kΩ R16 = 22kΩ With the resistor R12 the current for the LED is: I D3 = (5V U CE,sat,T6 U F, D4) / R12 = (5V 0.25V 2V) / 330Ω = 8.33mA EOF Page 13 / 13