AN2 ZestETM1 User Interface Examples

Add to My manuals
18 Pages

advertisement

AN2 ZestETM1 User Interface Examples | Manualzz

Application Note 2

ZestETM1 User Interface

Examples

Author

Version

Date

Charles Sweeney and Matt Bowen

1.00

16 th

December 2013

Orange Tree Technologies

Version

1.00

Date

16/12/13 First version

Comment

Disclaimer

This document is intended to provide a note for discussion on various issues and whilst every effort has been made by Orange Tree Technologies Limited who retain the ownership thereof to ensure the accuracy of the same, neither these notes or any oral representations made by any member of Orange Tree Technologies Limited, its servants or agents, are intended to be relied upon, nor will Orange Tree Technologies Limited, its employees, members, servants or agents be responsible for any inaccuracies, infringements of intellectual property rights or any matters of a similar nature arising as a result of any publication. The information contained herein is not intended to be or capable of being acted upon or relied upon by third parties and no liability will attach to

Orange Tree Technologies by such use

Page 2 of 18 CONFIDENTIAL

ZestETM1 User Interface Examples

1

References

[1] ZestETM1 User Guide, Orange Tree Technologies

[2] MCF532x ColdFire Microprocessor Data Sheet, Freescale Semiconductor

[3] S3C2416 16/32-Bit RISC Microprocessor User's Manual, Samsung Electronics

[4] TMS320C645x DSP External Memory Interface (EMIF) User's Guide, Texas

Instruments

CONFIDENTIAL Page 3 of 18

Orange Tree Technologies

2

Introduction

ZestETM1 is a Gigabit Ethernet interface module and fits between an Ethernet jack and a local device that can then transfer data to or from the network via ZestETM1. The local device can be intelligent like a microprocessor or an FPGA, or it can be a non-intelligent like an ADC.

ZestETM1 has a user interface for connecting to the device, and this user interface can be configured in a variety of modes to suit the device. This application note describes these modes and gives examples of how they can be used.

Note that these examples are derived from information in the relevant component datasheets and have been characterised by design. The designer should check the relevant datasheet timings for the interface clock frequency that can be achieved.

3

User Interface Modes

The ZestETM1 user interface can be configured in one of four modes:

16-bit SRAM interface

8-bit SRAM interface

FIFO interface

Direct or "bit-banging" interface

Some examples are now given of how to connect devices using each of these modes.

Detailed information about each mode is in the ZestETM1 User Guide [1].

The modes are summarised in the last section at the end of the document.

Page 4 of 18 CONFIDENTIAL

ZestETM1 User Interface Examples

4

16-Bit SRAM Interface

The data bus is 16-bits bidirectional. ZestETM1 is the slave on the bus. The master device needs a synchronous bus interface that can be configured to access ZBT (Zero Bus

Turnaround) SRAM. The main features of this interface are a single clock cycle chip select followed two clock cycles later by the read or write data. The basic access waveforms are shown in Figure 1.

Figure 1. 16-Bit SRAM Interface

Some microcontrollers and DSPs have synchronous interfaces but not specifically ZBT

SRAM interfaces. However it may still be possible to use these interfaces by adding wait states to position the data correctly, and using a signal such as an address valid strobe for the chip select. The microcontrollers featured here have such interfaces, please see the following sections for how to use them.

The example devices described are:

Freescale microcontrollers with FlexBus external interface [2]

Samsung S3C2416 microcontroller [3]

Texas Instruments TMS320C645x DSP [4]

CONFIDENTIAL Page 5 of 18

Orange Tree Technologies

4.1

Freescale Microcontroller FlexBus

The FlexBus external interface is provided on Freescale microcontrollers such as ColdFire and Kinetis. It can be connected to ZestETM1 as shown in Figure 2 and Table 1. The microcontroller interface should be set up as follows:

One wait state so that write and read data are two clock cycles after Transfer

Start.

Auto Transfer Acknowledge as ZestETM1 does not generate this signal.

ZestETM1

CLK

CSn

WEn

BEn[1:0]

A[9:1]

DQ[15:0]

INTn

EOF[1:0]

HEAD

LENGTH

FlexBus

FB_CLK

FB_TSn

FB_R/Wn

FB_BEn/BWEn[1:0]

FB_A[9:1]

FB_D[15:0]

IRQn

FB_CS[5:0]

FB_OEn

FB_TAn

Page 6 of 18 CONFIDENTIAL

ZestETM1 User Interface Examples

4.2

Samsung S3C2416 Microcontroller

The Static Memory Controller (SMC) of this microcontroller can be connected to

ZestETM1 as shown in Figure 3 and Table 2. The SMC should be configured for:

Synchronous single accesses.

2 wait states for writes and 1 wait state for reads. This places the data 2 clock cycles after SMAVD, which is used as the CSn for ZestETM1.

ZestETM1

CLK

CSn

WEn

BEn[1:0]

A[9:1]

DQ[15:0]

INTn

EOF[1:0]

HEAD

LENGTH

Samsung S3C2416

RSMCLK

RSMAVD nRWE nRBE[1:0]

RADDR[8:0]

RDATA[15:0]

EINTn nRCS[5:0] nROE nWAIT

RSMBWAIT

CLK

CSn

WEn

DQ[15:0]

INTn

Figure 3. Samsung S3C2416 Connections to ZestETM1 User Interface in 16-Bit SRAM Mode

ZestETM1 Samsung S3C2416 Comment

BEn[1:0]

A[9:1]

RSMCLK

RSMAVD nRWE nRBE[1:0]

RADDR[8:0]

RDATA[15:0]

EINTn nRCS[5:0] nROE nWAIT

RSMBWAIT

RSMCLK frequency should be from 5MHz to 125MHz

Address Valid is used as the Chip Select for ZestETM1. If the microcontroller is connected to multiple devices then

Address Valid should be gated with one of the microcontroller Chip Selects.

A is byte address and RADDR is word address so A[0] is tied low.

RADDR[25:9] are not connected.

Not connected, but see comment for

Address Valid

Not connected

Not used, tie high if not used for other devices

Not connected

Table 2. Samsung S3C2416 Connections to ZestETM1 User Interface in 16-Bit SRAM Mode

CONFIDENTIAL Page 7 of 18

Orange Tree Technologies

4.3

TI TMS320C645x DSP

The Texas Instruments TMS320C645x DSP has an external memory interface (EMIF) that can be configured for Zero Bus Turnaround (ZBT) SRAM. This is suitable for use with the

ZestETM1 16-bit SRAM interface. The connections are shown in Figure 4 and Table 3.

ZestETM1

CLK

CSn

WEn

BEn[1:0]

A[9:1]

DQ[15:0]

INTn

EOF[1:0]

HEAD

LENGTH

TMS320C645x

ECLKOUT

CEn

SWEn

BEn[1:0]

EA[7:0], BA[1]

ED[15:0]

GPINTn

SOEn

SADSn/SREn

BA[0]

Figure 4. TI TMS320C645x Connections to ZestETM1 User Interface in 16-Bit SRAM Mode

CLK

CSn

WEn

BEn[1:0]

A[9:1]

Page 8 of 18 CONFIDENTIAL

Fast time to market

Reduced project risk

Offload TCP/IP processing burden from the DSP

Very high sustained bandwidth

ZestETM1 User Interface Examples

CONFIDENTIAL Page 9 of 18

Orange Tree Technologies

5

8-Bit SRAM Interface

This is actually composed of two separate and independent synchronous 8-bit interfaces, one for writing to ZestETM1 and one for reading from ZestETM1. In both cases ZestETM1 is the slave. Write data is coincident with address and control, but read data has a latency of 2 clock cycles. See Figure 5 for the waveforms.

Figure 5. 8-Bit SRAM Write and Read Interfaces

Page 10 of 18 CONFIDENTIAL

ZestETM1 User Interface Examples

5.1

FPGA

The 8-bit SRAM interface, with its two unidirectional ports, is suitable for connection to an

FPGA. The connections are shown in Figure 6 and Table 4. For FPGA's with Slave SPI configuration (e.g. Lattice ECP3 series), the ZestETM1 SPI port can be connected directly to the FPGA Slave SPI port for configuring the FPGA.

ZestETM1

CLK

WEn

DA[9:0]

D[7:0]

REn

QA[9:0]

Q[7:0]

INTn

EOF

HEAD

SPI

CLKOUT

WEn

FPGA

QA[9:0]

Q[7:0]

REn

DA[9:0]

D[7:0]

INTn

EOF

HEAD

SLAVE SPI CONFIG

Figure 6. FPGA Connections to ZestETM1 User Interface in 8-Bit SRAM Mode

CLK

WEn

DA[9:0]

D[7:0]

REn

QA[9:0]

Q[7:0]

INTn

EOF

HEAD

SPI

ZestETM1

CLKOUT

FPGA

WEn

QA[9:0]

Q[7:0]

REn

DA[9:0]

D[7:0]

INTn

EOF

HEAD

SLAVE SPI CONFIG

Comment

CLKOUT frequency should be from 5MHz to 125MHz

Write address

Write data

Read address

Read data

Optional SPI for configuring FPGA

Table 4. FPGA Connections to ZestETM1 User Interface in 8-Bit SRAM Mode

For configuring FPGA's without a Slave SPI configuration port, such as Xilinx FPGA's, there are some options:

Use a CPLD as a bridge from the ZestETM1 master SPI port to the FPGA slave serial configuration port.

CONFIDENTIAL Page 11 of 18

Orange Tree Technologies

Use SPI flash for configuring the FPGA, and program this flash from ZestETM1 master SPI. There will need to be a multiplexor between the FPGA SPI chip select and the ZestETM1 SPI chip select.

Use the Xilinx MultiBoot master SPI configuration mode. A "golden" or "fallback" configuration file is programmed into the SPI flash either by using JTAG via the

FPGA or by pre-programming the flash before board assembly. This configuration file provides a bridge inside the FPGA from the ZestETM1 user interface to the SPI flash for programming the "main" configuration file over Ethernet (e.g. using FIFO high speed mode or master SPI), see Figure 7. The FPGA reconfigures itself from flash with the main file using the IPROG (internal PROGRAM_B) command and registers that specify the start address of the file in flash. If the main configuration also contains the user interface to SPI bridge then the main file in the flash can be updated in the field. This has the added advantage that if the main file update fails then the Multiboot fallback feature means that FPGA will fall back to the golden file and the board can be recovered.

ZestETM1

User I/F

User FPGA

Bridge

SPI Flash

Figure 7. Using the Xilinx Multiboot Scheme to Program an FPGA

Page 12 of 18 CONFIDENTIAL

ZestETM1 User Interface Examples

6

FIFO Interface

Similarly to the 8-bit SRAM mode, this mode has two separate and independent 8-bit ports, one for data received from Ethernet and one for data to be transmitted to

Ethernet.

Note that this mode is for data transfer only and the ZestETM1 control registers must be accessed either via the SPI slave interface or the UART interface. If the FIFO interface is connected to a non-intelligent device such as a DAC or ADC then either a simple microcontroller can be used for the control registers, or ZestETM1's Auto Connection facility can be used. With Auto Connection, the control registers do not need to be accessed as ZestETM1 handles all state control for the Ethernet communication channels.

Figure 8 shows the FIFO waveforms for TCP transfers. Note that UDP transfers add the datagram length and UDP header to received data, and require datagram length for transmitted data. Hence UDP transfers can be used only when connected to a device that can handle these fields, while TCP transfers can be used with non-intelligent devices such as DAC's and ADC's.

Figure 8. FIFO interface read and write operations for TCP frames

CONFIDENTIAL Page 13 of 18

Orange Tree Technologies

6.1

DAC and ADC

When using DAC's and ADC's the Ethernet network bandwidth must be greater than the

DAC or ADC data rate in order to ensure one byte per clock cycle to the DAC and from the ADC. Although ZestETM1 has 1MByte of buffer for each Ethernet transmit channel and about the same for each Ethernet receive channel, it may be necessary to add buffer memory between ZestETM1 and the DAC or ADC to ensure a smooth data rate of one byte per clock cycle. This will depend on the amount of other network traffic interrupting the ZestETM1 network traffic. If the network is point-to-point between host computer and

ZestETM1 then the ZestETM1 buffers may be adequate.

Figure 9 and Table 5 show a simple scheme without any extra buffering.

Clock

ZestETM1

CLK

Q[7:0]

RXn

RFn[0]

RFn[7:1]

RC[2:0]

D[7:0]

TXn

TFn[7:0]

TC[2:0]

INTn

'1'

'0'

'0'

'0'

CLK

D[7:0]

DAC

CLK

Q[7:0]

ADC

Figure 9. DAC and ADC Connections to ZestETM1 User Interface in FIFO Mode

Page 14 of 18 CONFIDENTIAL

ZestETM1 User Interface Examples

CLK

Q[7:0]

RXn

RC[2:0]

D[7:0]

TXn

ZestETM1

RFn[7:0]

TFn[7:0]

TC[2:0]

INTn

CLK

DAC/ADC Comment

D[7:0]

Q[7:0]

ZestETM1 clock output is 125MHz, which is too fast for sustained data rate over gigabit

Ethernet, so an external clock source must be used.

The clock can be gated with a signal to start and stop the ADC and DAC - the signal can be controlled by e.g. ZestETM1 master SPI port.

The clock to the ADC may need to be inverted to meet ZestETM1 timing.

Data to DAC

Receive strobe optionally connected if the DAC has a write strobe or chip select input

Receive Full flags - if using GigEx channel 0, tie RFn[0] high and RFn[7:1] low

Receive channel not connected

Data from ADC

Transmit strobe is not output by ADC's so tie low or drive by flip-flop controlled from e.g.

ZestETM1 master SPI port or TFn0

Transmit Full flags not connected or connect

TFn[0] (for GigEx channel 0) via inverter to

TXn

Transmit channel tied low to select GigEx channel 0

Not connected

Table 5. DAC and ADC Connections to ZestETM1 User Interface in FIFO Mode

Note. It is assumed above that the network data rate is high enough for writing data to the DAC and receiving data from the ADC at one byte per CLK clock cycle. Otherwise, invalid data (or no data if RXn is used) will be written to the DAC, and data from the ADC will be dropped.

CONFIDENTIAL Page 15 of 18

Orange Tree Technologies

7

Direct Interface

The direct or "bit-banging" interface enables 32 pins of the user interface to be set as either inputs or outputs in groups of 8 pins. These inputs and outputs can then be read or written by a client on the Ethernet network. The states of outputs are held between writes so they can be used to generate waveforms controlling devices. There are strobes and FIFO flags for situations where flow control is required. Only TCP can be used as it doesn't require header information on the user interface, which UDP does require.

Note that this mode is for data transfer only and the ZestETM1 control registers must be accessed either via the SPI slave interface or the UART interface. Either a simple microcontroller can be used for the control registers, or ZestETM1's Auto Connection facility can be used. With Auto Connection, the control registers do not need to be accessed as ZestETM1 handles all state control for the Ethernet communication channels.

Figure 10 shows the direct interface without any flow control.

Figure 10. Direct Interface with No Flow Control

This mode can be used to control devices with non-standard interfaces. Some pins could be data and other pins could be strobes and clocks whose state could be changed on every cycle of CLK.

For example Figure 11 shows connection to a 7-segment display. It requires simply 8 user interface pins connected to the display's 7 segment pins and 1 decimal point pin.

The CLK is not used by the display but since there must be a user interface clock it is the

125MHz internal clock. The display is updated whenever the device on the network writes to the GigEx channel 0, which is the only channel that can be connected to the direct interface. The state of the B outputs is preserved between writes.

Page 16 of 18 CONFIDENTIAL

ZestETM1

CLK

B[7:0]

B[31:8]

Rxn

RxEmptyn

RxFulln

Txn

TxFulln

INTn

Figure 11. Direct Mode Controlling a 7-Segment Display

ZestETM1 User Interface Examples

CONFIDENTIAL Page 17 of 18

Orange Tree Technologies

8

Summary of Modes and Devices

Table 6 below summarises the recommended mode to use to connect various types of devices to ZestETM1.

16-Bit SRAM 8-Bit SRAM FIFO Direct

Microcontroller

Microprocessor

DSP

FPGA

Yes

Yes Yes

Yes

Yes

Yes ADC/DAC

Miscellaneous devices with non-standard interfaces

Comments

Yes

Bidirectional bus so more suited to microcontroller than FPGA

Unidirectional buses suited to

FPGA

Multiple

Ethernet channels available for multiple devices

Only

Ethernet one channel so only one device

Table 6. Summary of Modes and Devices

Page 18 of 18 CONFIDENTIAL

advertisement

Related manuals

advertisement