A Data Readout Approach for Physics Experiment*

Similar documents
Design And Implementation Of USART IP Soft Core Based On DMA Mode

D Demonstration of disturbance recording functions for PQ monitoring

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

Field Programmable Gate Array (FPGA) Devices

MICROPROCESSOR BASED SYSTEM DESIGN

Computers and Microprocessors. Lecture 34 PHYS3360/AEP3630

White Paper The Need for a High-Bandwidth Memory Architecture in Programmable Logic Devices

Product Technical Brief S3C2416 May 2008

Designing Embedded Processors in FPGAs

Product Technical Brief S3C2412 Rev 2.2, Apr. 2006

High-Performance 32-bit

Microcontroller basics

Growing Together Globally Serial Communication Design In Embedded System

Product Technical Brief S3C2440X Series Rev 2.0, Oct. 2003

Product Technical Brief S3C2413 Rev 2.2, Apr. 2006

A Fast Ethernet Tester Using FPGAs and Handel-C

A design of real-time image processing platform based on TMS320C6678

Design of a virtual logic analyzer based on FPGA

Overview of Microcontroller and Embedded Systems

CHAPTER 1 Introduction of the tnano Board CHAPTER 2 tnano Board Architecture CHAPTER 3 Using the tnano Board... 8

A hardware operating system kernel for multi-processor systems

ARDUINO MEGA INTRODUCTION

ATmega128. Introduction

Tomasz Włostowski Beams Department Controls Group Hardware and Timing Section. Developing hard real-time systems using FPGAs and soft CPU cores

Ali Karimpour Associate Professor Ferdowsi University of Mashhad

Field Program mable Gate Arrays

The control of I/O devices is a major concern for OS designers

MICROPROCESSOR SYSTEM FOR VISUAL BAKED PRODUCTS CONTROL

OPTIONS FOR NEXT GENERATION DIGITAL ACQUISITION SYSTEMS

ARM ARCHITECTURE. Contents at a glance:

The Design of the Embedded WEB Server Based on ENC28J60

Hardware Design with VHDL PLDs IV ECE 443

PCI to SH-3 AN Hitachi SH3 to PCI bus

1. Introduction 2. Methods for I/O Operations 3. Buses 4. Liquid Crystal Displays 5. Other Types of Displays 6. Graphics Adapters 7.

Design and Application of a Reconfigurable Embedded system

EFM32 Series 0: DMA (ARM PrimeCell µdma PL230)

Health monitoring of an power amplifier using an ethernet controller

INPUT/OUTPUT ORGANIZATION

Chapter 5B. Large and Fast: Exploiting Memory Hierarchy

ARM Processors for Embedded Applications

Review: Hardware user/kernel boundary

CPCI-HPDI32ALT High-speed 64 Bit Parallel Digital I/O PCI Board 100 to 400 Mbytes/s Cable I/O with PCI-DMA engine

The White Rabbit Project

An ATCA framework for the upgraded ATLAS read out electronics at the LHC

Implementation of a PC-based Level 0 Trigger Processor for the NA62 Experiment

Nios Soft Core Embedded Processor

Readout Systems. Liquid Argon TPC Analog multiplexed ASICs SiPM arrays. CAEN 2016 / 2017 Product Catalog

Hello, and welcome to this presentation of the STM32 Low Power Universal Asynchronous Receiver/Transmitter interface. It covers the main features of

ECEN 449 Microprocessor System Design. Hardware-Software Communication. Texas A&M University

The Design of Embedded MCU Network Measure and Control System

Achieving UFS Host Throughput For System Performance

Ali Karimpour Associate Professor Ferdowsi University of Mashhad

ECE 1160/2160 Embedded Systems Design. Midterm Review. Wei Gao. ECE 1160/2160 Embedded Systems Design

Course Introduction. Purpose: Objectives: Content: Learning Time:

M68HC08 Microcontroller The MC68HC908GP32. General Description. MCU Block Diagram CPU08 1

Introduction Electrical Considerations Data Transfer Synchronization Bus Arbitration VME Bus Local Buses PCI Bus PCI Bus Variants Serial Buses

Design and Implementation of LED Display Screen Controller based on STM32 and FPGA Chi Zhang 1,a, Xiaoguang Wu 1,b and Chengjun Zhang 1,c

System-on-a-Programmable-Chip (SOPC) Development Board

PRODUCT PREVIEW TNETV1050 IP PHONE PROCESSOR. description

INPUT/OUTPUT ORGANIZATION

Maxim > Design Support > Technical Documents > Application Notes > Microcontrollers > APP 4465

DQ8051. Revolutionary Quad-Pipelined Ultra High performance 8051 Microcontroller Core

Assembly Language for Intel-Based Computers, 4 th Edition. Kip R. Irvine. Chapter 2: IA-32 Processor Architecture

Input/Output Problems. External Devices. Input/Output Module. I/O Steps. I/O Module Function Computer Architecture

High Bandwidth Electronics

Improvement of the Communication Protocol Conversion Equipment Based on Embedded Multi-MCU and μc/os-ii

AVR Microcontrollers Architecture

Flexible Architecture Research Machine (FARM)

Chapter 2. Cyclone II Architecture

FPGA Development Board Hardware and I/O Features

Programmable Logic Design Grzegorz Budzyń Lecture. 15: Advanced hardware in FPGA structures

BES-III off-detector readout electronics for the GEM detector: an update

Module 1. Introduction. Version 2 EE IIT, Kharagpur 1

Digital Integrated Circuits

Hello, and welcome to this presentation of the STM32 Universal Synchronous/Asynchronous Receiver/Transmitter Interface. It covers the main features

ispxpld TM 5000MX Family White Paper

1 The Attractions of Soft Modems

Chapter 5 - Input / Output

Cannon Mountain Dr Longmont, CO LS6410 Hardware Design Perspective

Qsys and IP Core Integration

ROM Status Update. U. Marconi, INFN Bologna

CREATED BY M BILAL & Arslan Ahmad Shaad Visit:

Laboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication

PIC Microcontroller Introduction

Introduction read-only memory random access memory

Segment 1A. Introduction to Microcomputer and Microprocessor

The ASDEX Upgrade UTDC and DIO cards - A family of PCI/cPCI devices for Real-Time DAQ under Solaris

8051 Microcontroller

Unlocking the Potential of Your Microcontroller

HIGH-SPEED DATA ACQUISITION SYSTEM BASED ON DRS4 WAVEFORM DIGITIZATION

Today. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses

Detector Control LHC

Multilevel Memories. Joel Emer Computer Science and Artificial Intelligence Laboratory Massachusetts Institute of Technology

PC104P--HPDI32A High-speed Parallel Digital I/O PMC Board 100 to 200 Mbytes/s Cable I/O with PCI-DMA engine

Research on Image Sensor System Acquisition Based on ARM

BTeV at C0. p p. Tevatron CDF. BTeV - a hadron collider B-physics experiment. Fermi National Accelerator Laboratory. Michael Wang

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

EMBEDDED SYSTEMS WITH ROBOTICS AND SENSORS USING ERLANG

THE ALFA TRIGGER SIMULATOR

8. Migrating Stratix II Device Resources to HardCopy II Devices

Transcription:

A Data Readout Approach for Physics Experiment* HUANG Xi-Ru( 黄锡汝 ) 1,2; 1) 1,2; 2) CAO Ping( 曹平 ) GAO Li-Wei( 高力为 ) 1,2 ZHENG Jia-Jun( 郑佳俊 ) 1,2 1 State Key Laboratory of Particle Detection and Electronics, University of Science and Technology of China, Hefei 230026, China 2 Anhui Key Laboratory of Physical Electronics, Department of Modern Physics, University of Science and Technology of China, Hefei 230026, China 3 Institute of High Energy Physics, Chinese Academy of Sciences, Beijing 100049, China Abstract: With the increasing physical event rate and number of electronic channels, traditional readout scheme meets the challenge of improving readout speed caused by the limited bandwidth of crate backplane. In this paper, a high-speed data readout method based on is designed for each module to have capability of transmitting data to DAQ. Features of explicitly parallel data transmitting and distributed network architecture make the readout system has advantage of adapting varying requirements of particle physics experiments. Furthermore, to guarantee the readout performance and flexibility, a standalone embedded CPU system is utilized for network protocol stack processing. To receive customized data format and protocol from front-end electronics, a field programmable gate array (FPGA) is used for logic reconfiguration. To optimize the interface and improve the data swap speed between CPU and FPGA, a sophisticated method based on SRAM is presented in this paper. For the purpose of evaluating this high-speed readout method, a simplified readout module is designed and implemented. Test results show that this module can support up to 70Mbps data throughput from the readout module to DAQ smoothly. Keywords: data readout, physics experiment, readout system, data acquisition PACS: 29.85.Ca 1 Introduction 1 In a typical particle physics experiment, the readout system is generally implemented in a standard crate (e.g. VME). The crate contains a variety of electronic modules, generally including: readout modules used for receiving data from the front-end electronics (FEE) and transmitting event data to the crate controller via the crate backplane bus, and a crate controller used for collecting event data and sending event data through Gigabit networks to the data acquisition (DAQ) system in real time [1]. Fig.1 shows a simplified version of the architecture of a typical readout system. An event describes the result of a single reaction between tow colliding particles in nuclear and particle physics. Among the large amounts of events, only a rare event is associated with the physics objects (electrons, muons, photon, etc.) of interest to physicists. In order to take out most of irrelevant events and reduce the challenges of storage, it is essential to realize an efficient trigger system to filter events. In conventional data acquisition electronic system, the level-1 trigger that makes the first level of event selection is implemented by hardware and provides trigger signals for readout modules to select event data. As a result, the data rate to be transmitted can be reduced by several orders of magnitude. However, 1 * Supported by National Natural Science Foundation of China (11005107) and independent project of State Key Laboratory of Particle Detection and Electronics (201301) 1) E-mail: xiru@mail.ustc.edu.cn 2) E-mail: cping@ustc.edu.cn the research on various particle physics experiments shows that the physical event rate and number of electronic channels are increasing. Such as ATLAS that is a particle physical experimental instrument at the Large Hadron Collider at CERN, its number of electronic channels reaches upwards of 10 7 and raw data rate is up to hundreds GBytes/s [2-3]. In addition, some collider physics experiments, for example GREAT [4] at Jyväskylä and CBM [5] at GSI/FAIR, begin to use a triggerless data collection method called Total Data Readout [6] to solve some problems (e.g. the dead time) caused by the traditional trigger structure. Here, the triggerless is not entirely without triggering, but abandoned the hardware trigger, replaced by software trigger in DAQ system. Therefore, the readout scheme meets the challenge of improving readout speed caused by the limited bandwidth of crate backplane. Advanced Telecommunications Computing Architecture (ATCA) [7] developed by the PCI Industrial Computer Manufacturers Group (PICMG) is a set of industry standard specifications for the next generation of telecommunication network and data center equipment. The ATCA backplane provides point-to-point connections between the boards and supports the dual star, dual-dual star, and mesh topologies. The dual star topology based on 4X InfiniBand links supports 10Gigabit/sec of raw throughput between hub boards and node boards [8]. The ATCA with high performance backplane has been proposed to develop next generation electronics standards for physics [9]. Despite all of these features, however, ATCA has not been widely applied and it popularizes slowly

File Server File Server Readout System Crate Online Switch Readout System Crate Other Other Crate Controller FEEs FEEs Fig. 1. Readout Simplified architecture of a typical readout system. Readout Fig. 2. Simplified architecture of a new-type readout system. in particle physics experiments. The main task of the crate controller in a typical readout system is to gather data from the crate backplane and then transmit them to DAQ system through networks. This is a centralized architecture that needs to improve backplane performance for applications with higher readout speed requirement. Actually, a decentralized architecture can be used for readout system that has advantage for improving readout speed, compared with the centralized one. In this paper, a high-speed data readout method based on is introduced. A simplified readout prototype module is designed and implemented. This module has a 100M port on it. Test result shows that the raw data throughput from the readout module to DAQ can reach up to 70Mbps. 2 High-speed data readout method Instead of improving backplane performance, each readout module is designed to have capability of transmitting data to DAQ, as shown in Fig. 2. To make each readout module supporting network communication, a dedicated CPU is utilized to establish an embedded system. Fig.3 shows the system architecture of the method. It is consisted of two main blocks: embedded CPU and field programmable gate array (FPGA). There are three important transmission channels: a high-speed data transmission channel, a low-speed command transmission channel, and an interface respectively. Considering the fact that the throughput of data uploading from FEE to DAQ is much larger that of data downloading to FEE in particle physics experiments. So the high-speed data transmission channel is designed as simplex mode and only used for transmitting data from FPGA to CPU. While the low-speed command transmission channel is also committed as simplex mode for sending command or configuration from CPU to FPGA. Based on these two dedicated channels, there can be realized a full-duplex data communication mode between CPU and FPGA. Unrelated with FPGA, the CPU is a standalone chip for maintaining an embedded Linux operation system. The TCP/IP protocol stack is supported in the operation system. This embedded system can be considered as a small computer based on a particular microprocessor core. This chip generally integrates various necessary features and peripherals such as internal memory (e.g., ROM, RAM), input/output control unit, serial bus interface (e.g., serial peripheral interface (SPI), universal asynchronous receiver transceiver (UART), inter-integrated circuit (I²C)), and external memory controller etc. The external memory controller is capable of handling several types of external memories and peripheral devices, such as SRAM, Flash, and SDRAM. There are many embedded CPUs can be considered as the candidate for implementing readout module, such as ARM, Power PC, MIPS, Am186/88, and so on. With the help of embedded Linux system, data can be packaged with TCP/IP protocol and sent to DAQ. But there lies a problem that how to transfer data from FEE to this CPU system efficiently and smoothly in real-time. Considering the simplicity and universality, in this readout architecture, the high-speed data transmission channel is implemented by using an external SRAM interface which connecting CPU and FPGA together. On one side, FPGA receives data from FEE, re-packages and feeds the data to this SRAM interface. On the other side, CPU receives data from this SRAM interface and relays to DAQ through port. The use SRAM interface makes it easier to design or implement readout module, whichever for hardware circuit or FPGA logic. There is no need to use special IP (intellectual property) cores, which degrades the cost or requirement for FPGA. SRAM interface has advantages of simplicity, low cost and high performance as well. In fact, the maximum

PHY MAC Serial Bus Low-speed command transmission channel Serial Bus FPGA Embedded CPU FEE FLASH SDRAM SRAM High-speed data transmission channel Buffer User Logic FLASH SDRAM Fig. 3. System architecture of the high-speed data readout method. data throughput of a synchronous SRAM interface can reach up to 1600Mbps with 100MHz running clock and 16-bit data width. On the other side, the maximum data throughput of an asynchronous SRAM interface can be up to 800Mbps with 20-ns read/write cycle period and 16-bit data width. Differing from the data channel, the low-speed command transmission channel is implemented by using a serial data interface between CPU and FPGA. Besides, the CPU system must also support a high-speed MAC and physical signal interface, which is used for transmitting/receiving data to/from transmission lines. Nowadays, FPGAs have large resources of logic gates and RAM blocks which make it good for implementing complex digital logic design. In this system architecture, the key task of FPGA is to process data sent from FEE with customized format and protocol, and to send the valid data to CPU through the high-speed data channel for transmission. 3 Implementation of the module inside FPGA During transferring, CPU reads data from FPGA via the SRAM interface. However, FPGA isn t a standard SRAM for CPU. It should always be ready and response correctly whenever there is a data receiving or transmitting transaction. A data synchronization mechanism should be guaranteed between CPU and FPGA. Here a hand-shaking protocol is provided. Table 1 lists all of the handshaking signals. Table 1. Signal name Read Ready IRQ CLK Additional hand-shaking signals. Description The read ready signal is used for initiating a data transfer by CPU. The interrupt request signal is used for interrupting CPU by FPGA. When FPGA detects that the read ready signal is valid, it will judge whether the data is ready. If it is ready, FPGA makes the interrupt request signal valid. Then, when FPGA waits for the read ready signal is invalid, it will make the interrupt request signal invalid. The clock signal is used for synchronizing signal timing of the SRAM interface. If the SRAM interface is an asynchronous SRAM interface, CPU needs to provide a clock signal for FPGA. In FPGA, the main logic module is called buffer module. It is in charge of caching data from the user logic module and sending them to CPU through the SRAM bus. Fig.4 shows the detailed structure of this buffer module. It consists of three parts: FIFO, FIFO controller, and state machine. FIFO is used for caching data. It is designed as an asynchronous FIFO. It provides a general FIFO interface (including signals of datain, wrclk, wrreq, wrfull) to the user logic module from the input side. While from the output side, there is a data bus connecting it with the SRAM interface. To guarantee operate synchronously, the clock of the FIFO output side is provided by CPU. FIFO controller generates the read request signal for FIFO according to the control signal timing of the SRAM bus, and doesn t need to use the address signal of the SRAM bus. When the read ready signal is valid, the state machine will judge whether

Trans Length Embedded CPU SRAM CLK IRQ Read Ready Data Bus Address Bus Control Bus Fig. 4. State Machine FIFO Controller FIFO Count Read Req FIFO Buffer General FIFO Block diagram of the buffer module. User Logic the data in FIFO is ready through comparing the transmission length with the FIFO count. Then the state machine makes IRQ signal valid to respond the read data request of CPU. In addition, the transmission length can be set to a default value or configured by the command. 4 Implementation of network transmission An embedded Linux operating system will be installed on this microcomputer system. Linux OS provides a complete, powerful network functions for users and its performance in real-time applications is improving with the development of new scheduling algorithm. The Linux kernel is released under an open source license, so anyone can read and modify its code. 4.1 Design of device-driver A device driver (commonly called driver) provides a software interface to hardware devices and tells the operating system and other software how to access hardware without needing to know precise details of the hardware being used. In Linux environments, drivers are built as modules that can be easily loaded in or unloaded from the kernel during running time. For the Linux OS, the buffer module can be viewed as a device and not use the generic SRAM driver. Therefore a special driver needs to be prepared for controlling and managing the buffer module. The driver can be classified as a character driver. Fig.5 shows the structure of the driver in kernel space. There are several major modules in this structure: initialization module, exit module, open module, release module, read module, memory mapping (mmap) module, and interrupt handler. First, the initialization module has to configure the device resources, for example, set IRQ pin, set read ready pin, configure SRAM interface. Then the module allocates a major and a minor number for this char device. Finally, the initialization is finished after registration of the char device. Once the module has been installed successfully, the driver is ready for work. The user software in user space uses the open method to request the I/O memory resources according to the memory mapping of CPU. Then the open method completes an important process: requesting an interrupt number from the system and installing an interrupt handler. Finally, if the open method is called successfully, it will return a file descriptor that establishes an access path to the device. In our design scheme, the user software doesn t use the read method to acquire data, but accesses the address pointer returned from the mmap method to fetch data. Data obtaining procedure as follows: first, the user software tries to read the device and wait for its return. On the kernel side, the read module first set read ready pin valid to inform FPGA that it is ready to receive data. Next it uses a macro called wait_event_interruptible to put the process into an interruptible sleep. Once the data in the buffer module is ready, an interrupt is generated and the corresponding handler is immediately evoked. Then the interrupt handler sets read ready pin invalid and wakes the read module up by the function called wake_up_interruptible. Finally the read module returns a status flag to the user software. At this point, the read method is complete, and then the user software can access the address pointer to read data. 4.2 Design of software One of the main tasks of the readout module designed by the high-speed data readout method is to transfer data to the concentration center or PC farms via. To maximize transfer performance, the software residing in the embedded Linux system must be designed in a simple and parallel structure, as shown in Fig.6.

Init module Exit module Read module Set IRQ pin Unregister char device Set Read Ready pin valid Set Read Ready pin Release major and minor number Wait event interruptible Config SRAM Release module Return 1 To data transceiving thread in user space Allocate major and minor number Free IRQ Register char device Free I/O memory resources Kernel space Open module Request I/O memory resources Request IRQ register Interrupt handler Waitting for interrupt Set Read Ready pin invalid wakeup Wake up interruptible Mmap module Mapped to linear virtual address space Fig. 5. Physical memory address space Driver in kernel space. Socket layer Cmd Network Creating and Monitoring Thread Data Network Creating and Monitoring Thread transmission software User space Cmd Processing Thread Local Cmd Data Transceiving Thread Downward Cmd Serial Device Driver Buffer Device Driver Kernel space Serial Bus FPGA Buffer Hardware layer Fig. 6. Structure of the transmission software in user space. There are 4 kinds of threads in this transmission software: command network creating and monitoring thread, command processing thread, data network creating and monitoring thread, and data transceiving thread. When the transmission software start running, these threads will automatically be created with detached attribute and are run in parallel in the user space. Command network creating and monitoring thread creates a server socket and then builds a command channel through accepting connections from the PC client. This command channel is only responsible for receiving commands. After the channel is built, the thread monitors the channel on and off. Once the channel is disconnected, the thread will close the original channel and rebuild a new channel. Data network creating and monitoring thread also completes similar work. The task of command processing thread is to process commands. If the command is a local command used for configuring and controlling the software, the thread will analyze the command and then make an appropriate response. If the command is a downward command used for configuring and controlling the hardware, the thread will send the command to FPGA via the write method related to the serial device. The task of data transceiving thread is to receive data from FPGA and then transmit them to PC via. During the initialization of the thread, it creates a file descriptor related to the buffer module via using the open method and gets an address pointer related to physical address space of the buffer module via using the mmap method. Then in a loop, it first needs to ensure that the data in the buffer module is ready through the read method

using the file descriptor, and next transfer this piece of data to PC through the write method using the data server socket and address pointer, and then return to the beginning of the loop. 5 Experiments and evaluation For the purpose of evaluating this high-speed readout method, a simplified readout module is designed and implemented with an AT91RM9200 and EP3C40F780C8 chip. The AT91RM9200 chip [10] is a microcontroller introduced by Atmel Corporation, which is based on the ARM920T 32-bit RISC processor with 16KB instruction and 16KB data cache memories and memory management unit (MMU). Its speed can achieve 200 MIPS when working at 180 MHz frequency. The chip contains an external bus interface (EBI) dedicated to interfacing external memory devices, four programmable external clock signals, seven external interrupt sources, four 32-bit I/O controllers, a 10/100 Base-T MAC, four universal synchronous/asynchronous receiver transceivers (USART), and so on. The EBI integrates three external memory controllers: static memory controller (SMC, supported 16-bit asynchronous SRAM), SDRAM controller, and burst flash controller. Furthermore, the EBI handled data transfers with up to eight external devices through eight chip select lines, each assigned to eight address spaces defined by the embedded memory controller. Therefore, this chip is able to satisfy the application requirements of the readout method. The EP3C40F780C8 chip [11] is a FPGA of Cyclone III device family of Altera Corporation. The Cyclone III device family is a high functionality, low-power and low-cost FPGA family, which is based on Taiwan Semiconductor Manufacturing Company (TSMC) 65-nm lowpower (LP) process technology. The chip contains a great variety of logical unites (nearly 40,000 LEs), 126 M9K memory blocks (9 Kbits), 126 18 18-bit multiplier units, 4 PLLs, 20 global clock networks, and 780 external lead feet. Here, the high-speed data transmission channel is implemented by using the static memory controller, an external interrupt source, a programmable external clock signal and a programmable I/O line of the AT91RM9200 chip. Moreover, the lowspeed command transmission channel is implemented by using a USART of the AT91RM9200 chip. Fig.7 shows the prototype of the readout module. To measure the network transfer performance of the readout module, the port of the readout module is directly connected to a PC using a good wiring. Then an embedded Linux OS with kernel version 2.6 is running on the readout module. As shown in Fig.8, route 1 denotes the throughput of SRAM bus from EP3C40F780C8 to AT91RM9200, route 2 denotes the throughput of 100M from AT91RM9200 to PC, and route 3 denotes the throughput of 100M from EP3C40F780C8 to PC. Moreover, the data in the buffer module is always ready. Fig. 7. Prototype PCB of the readout module.

PC 3 2 Fig. 8. 1 AT91RM9200 SDRAM register SRAM Bus Measurement scheme. Trans Length Buffer EP3C40F780C8 Figure 9 and 10 show the measurement result of the route 1, the route 2, and the route 3 limited in a wide range of transmission lengths. There are two main time costs in the route 1 and route 3: data synchronization time and data transmission time. When the transmission length is relatively small, such as 256 bytes, a large proportion of time is spent in data synchronization. With increasing the transmission length, the proportion of time spent in data synchronization is smaller and smaller, at the same time, the throughput of the route 1 and route 3 is bigger and bigger and finally approaches a stable value. For transmission lengths larger than 16384 bytes, the throughput of the route 2 and route 3 can reaches up to 70Mbps. Fig. 9. Data throughput of SRAM interface. 6 Conclusions and future work A high-speed data readout method based on embedded CPU and FPGA is presented in this paper. This method makes each readout module being capable of communicating with DAQ system through networks. It has advantages of simplicity, universality, expansibility and low cost. It is suitable for various applications of data readout in particle physics experiments. To verify and evaluate this method, a prototype readout module is designed and implemented. Test results show that this module can support up to 70Mbps valid data throughput from the readout module to DAQ. To further improve the data throughput (e.g. 1000Mbps), a more powerful CPU should be adopted for data and protocol processing. To achieve higher performance of transmitting data to CPU from FPGA with this presented method, there s little modification except for improving the clock frequency and modifying logical behavior of the SRAM interface according to CPU. References 1 BESIII Design Report. BESIII DAQ System (Online), http://bes.ihep.ac.cn/bes3/design05/design/design1.htm 2 ATLAS Collaboration. ATLAS Inner Detector: Technical Design Report. Volume 1. 1997, CERN-LHCC-97-016 3 ATLAS Collaboration. ATLAS High-Level Trigger, Data- Acquisition and Controls: Technical Design Report. 2003, CERN-LHCC-2003-022 4 Page R D, Andreyev A N, Appelbe D E et al. Nuclear Instruments and Methods in Physics Research Section B: Beam Interactions with Materials and Atoms, 2003, 204: 634-637 5 Friese V. Nuclear Physics A, 2006, 774: 377-386 6 Lazarus I H, Appelbe D E, Butler P A et al. IEEE Transactions on Nuclear Science, 2001, 48(3): 567-569 7 http://www.picmg.org/openstandards/advancedtca/ 8 http://picmg.org//wp-content/uploads/picmg_3_2_shortfor m.pdf 9 Raymond S. Larsen. Advances in Developing Next- Generation Electronics Standards for Physics. Real Time Conference, 2009. RT'09. 16th IEEE-NPSS. 2009, 7-15 10 http://www.atmel.com/images/doc1768.pdf 11 http://www.altera.com/literature/hb/cyc3/cyclone3_handboo k.pdf Fig. 10. Network throughput.