1 Programming of FPGA in LiCAS ADC for Continuous Data Readout Week 6 Report Wednesday 6 th August 2008 Jack Hickish.

Slides:



Advertisements
Similar presentations
Controller Tests Stephen Kaye Controller Test Motivation Testing the controller before the next generation helps to shake out any remaining.
Advertisements

I2C bus Inter Integrated Circuits bus by Philips Semiconductors
Computer Architecture
System Integration and Performance
NCCR-MICS Project MP3 on Btnode. Main Idea Btnode designed as clever « sensor » Btnode designed as clever « sensor » Goal : Use it as audio sensor (AudioNode)
MM Player Supervised by: Dr. Luai Malhis. Prepared by: Mustafa Assaf & Mahmoud Musa.
Computer System Organization Computer-system operation – One or more CPUs, device controllers connect through common bus providing access to shared memory.
FPGA Configuration. Introduction What is configuration? – Process for loading data into the FPGA Configuration Data Source Configuration Data Source FPGA.
By: Russ Butler ECE4220 Spring 2012 Dr. DeSouza May 2, 2012.
Serial I/O - Programmable Communication Interface
Final Year Project Progress January 2007 By Daire O’Neill 4EE.
Higher Computing: Unit 1: Topic 3 – Computer Performance St Andrew’s High School, Computing Department Higher Computing Topic 3 Computer Performance.
Interrupts (contd..) Multiple I/O devices may be connected to the processor and the memory via a bus. Some or all of these devices may be capable of generating.
Super Fast Camera System Performed by: Tokman Niv Levenbroun Guy Supervised by: Leonid Boudniak.
© 2006 Pearson Education, Upper Saddle River, NJ All Rights Reserved.Brey: The Intel Microprocessors, 7e Chapter 13 Direct Memory Access (DMA)
Travis Reed Todd Hummel Kwan-Truc. Concept USB 1.1 SPI b.
Informationsteknologi Friday, November 16, 2007Computer Architecture I - Class 121 Today’s class Operating System Machine Level.
7-1 Digital Serial Input/Output Two basic approaches  Synchronous shared common clock signal all devices synchronised with the shared clock signal data.
File Management.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Chapter 4 Digital Transmission.
Operating Systems.
File System. NET+OS 6 File System Architecture Design Goals File System Layer Design Storage Services Layer Design RAM Services Layer Design Flash Services.
INPUT/OUTPUT ARCHITECTURE By Truc Truong. Input Devices Keyboard Keyboard Mouse Mouse Scanner Scanner CD-Rom CD-Rom Game Controller Game Controller.
PP2 Status F. Bellina. Problem solved.. Problem with inhibit and reading temperature and many crazy behavior Solved with a new FPGA firmware: the hardware.
Data Acquisition Software Integration and ADC Characterisation Jack Hobbs 4 th August
Chapter 10: Input / Output Devices Dr Mohamed Menacer Taibah University
Basic LAN techniques IN common with all other computer based systems networks require both HARDWARE and SOFTWARE to function. Networks are often explained.
ENTC-489 Embedded Real Time Software Development Embedded Real Time Software Development Week 10 Real Time System Design.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Principles of I/0 hardware.
CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise.
Developments in networked embedded system technologies and programmable logic are making it possible to develop new, highly flexible data acquisition system.
Data Handling Stephen Kaye Caltech Data Format in Pipeline 16 Bit data from ADC FPGA combines multiple conversions (subtract 5 reset, add.
CY2003 Computer Systems Lecture 09 Memory Management.
1 Programming of FPGA in LiCAS ADC for Continuous Data Readout Week 3 Report Jack Hickish.
Autonomous Helicopter James LydenEE 496Harris Okazaki.
PROCStar III Performance Charactarization Instructor : Ina Rivkin Performed by: Idan Steinberg Evgeni Riaboy Semestrial Project Winter 2010.
Senior Project Presentation: Designers: Shreya Prasad & Heather Smith Advisor: Dr. Vinod Prasad May 6th, 2003 Internal Hardware Design of a Microcontroller.
Renesas Technology America, Inc. Flash!. CPU Rewrite CPU-rewrite is a term that refers to an Renesas MCU’s ability to erase/program its own internal Flash.
USB Project (15 th August) Ian Coulter. Last Week Needed to work error flags and error counting into labview. This seems to work successfully but doesn’t.
Chapter 2 Introducing the PIC Mid-Range Family and the 16F84A The aims of this chapter are to introduce: The PIC mid-range family, in overview The overall.
Features of the new Alibava firmware: 1. Universal for laboratory use (readout of stand-alone detector via USB interface) and for the telescope readout.
CS 241 Section Week #9 (11/05/09). Topics MP6 Overview Memory Management Virtual Memory Page Tables.
FPGA firmware of DC5 FEE. Outline List of issue Data loss issue Command error issue (DCM to FEM) Command lost issue (PC with USB connection to GANDALF)
1 Programming of FPGA in LiCAS ADC for Continuous Data Readout Week 5 Report Tuesday 29 th July 2008 Jack Hickish.
I MPLEMENTING FILES. Contiguous Allocation:  The simplest allocation scheme is to store each file as a contiguous run of disk blocks (a 50-KB file would.
1Ben ConstanceFONT Meeting 1st August 2008 ATF2 digital feedback board 9 channel board with replaceable daughter board (RS232 etc.) − Board will log data.
FUNDAMENTALS OF NETWORKING
Unit 1 Lecture 4.
5 June 2002DOM Main Board Engineering Requirements Review 1 DOM Main Board Software Engineering Requirements Review June 5, 2002 LBNL Chuck McParland.
ChibiOS/RT Demo A free embedded RTOS
1 Programming of FPGA in LiCAS ADC for Continuous Data Readout Week 7 Report Friday 15 th August 2008 Jack Hickish.
TEL62 AND TDCB UPDATE JACOPO PINZINO ROBERTO PIANDANI CERN ON BEHALF OF PISA GROUP 14/10/2015.
Sub- Nyquist Sampling System Hardware Implementation System Architecture Group – Shai & Yaron Data Transfer, System Integration and Debug Environment Part.
XTRP Software Nathan Eddy University of Illinois 2/24/00.
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
1 Status of Validation Board, Selection Board and L0DU Patrick Robbe, LAL Orsay, 19 Dec 2006.
ECE 456 Computer Architecture Lecture #9 – Input/Output Instructor: Dr. Honggang Wang Fall 2013.
Status report 2011/7/28 Atsushi Nukariya. Progress Progresses are as follows. 1. FPGA -> Analyze data from FPGA, and some revise point is found. 2. Software.
1 Programming of FPGA in LiCAS ADC for Continuous Data Readout Week 4 Report Tuesday 22 nd July 2008 Jack Hickish.
MADEIRA Valencia report V. Stankova, C. Lacasta, V. Linhart Ljubljana meeting February 2009.
USB Project (6th August)
Clock Domain Crossing Keon Amini.
AT91RM9200 Boot strategies This training module describes the boot strategies on the AT91RM9200 including the internal Boot ROM and the U-Boot program.
Serial Communication Interface: Using 8251
Data Acquisition Software Integration and ADC Characterisation
Operating Systems Chapter 5: Input/Output Management
Status of GbE Peripheral Crate Controller
Requirements Definition
USB Project (22nd August)
Presentation transcript:

1 Programming of FPGA in LiCAS ADC for Continuous Data Readout Week 6 Report Wednesday 6 th August 2008 Jack Hickish

2 Progress Last Week Implemented SPI – leaving 12 free connections between USB controller and FPGA Integrated ability to output error flags from FPGA – yet to see working from user interface Extended downscaling (sampling/averaging) capabilities, encountering problems with limited FPGA resources

3 Since then... Downscaling Having experimented to determine the resource use of different components, the downscaling capability of the ADC has been reduced to a ratio of 2 19 giving a minimum data output of around 5 samples per second. This reduction has allowed to internal FIFO to be expanded to 16kb (previously 1k) to reduce the speed demands of the USB and any PC based data acquisition software.

4 Error Checking Error Flags PC USB interface now able to read back error flags from FPGA. Flags included: Internal FIFO full/empty flags External FIFO full/empty flags RAM full/empty flags USB full flag Burst/Continuous operation flag 2 bytes output give: - current state of flags - historical state of flags (any flags that went high since last reset)‏

5 Error Checking Error Flags Running continuous mode at full speed gives errors as expected. Running continuous at very low speed (1 channel, 512 averaging) gives no errors, as expected. but... This simple error checking system becomes problematic when used in continuous mode at all but the lowest speeds. FPGA must receive stop command as soon as PC stops taking data – otherwise FIFO overflows very rapidly. Stop command itself takes a relatively long time to send (16 bits in serial taking time to send a write pulse for each bit) – in this time FIFO can overflow and flag errors. - New stop command that has own dedicated line between USB controller and FPGA – single line that is raised to 1 to stop acquisition. This faster system may solve or at the very least improve this problem

6 Error Checking (Continuous Mode)‏ The problems encountered when using the SPI bus to output error flag states in continuous mode were not unforeseen – the system was mainly for burst operation. For continuous mode, a more rigorous system has been implemented, that both indicates errors and allows captured data to remain useful. Problems to overcome: - System needs to indicate extent of data loss - System needs to allow data with holes to be correctly assigned to correct channels

7 Solution If the internal FIFO becomes full, a count is kept of how many pieces of data have been lost. When there is once again space in the FIFO, 6 bytes of error information are sent out from the FPGA in the main data stream, before normal operation is resumed. Error Checking (Continuous Mode)‏

8 ADC data is sent out as 14 bits along a 16 bit bus. This leaves 2 bits that can be utilised for error analysis. Implemented system is as follows: b13b10b15b14b11b12b9b8b7b6b5b4b3b0b2b1 b1011b11b12b9b8b7b6b5b4b0b2b1 b1010b11b12b9b8b7b6b5b4b3b0b2b1 b1001b11b12b9b8b7b6b5b4b3b0b2b1 b1000b11b12b9b8b7b6b5b4b3b0b2b1 Data Error1 Error2 Error3 14 bit data Lost data count (bits ) Lost data count (bits ) Lost data count (bits 9 - 0)‏Channel number Error Checking (Continuous Mode)‏

9 This system allows gaps to be identified, and the number of missing pieces of data (up to 38 bit to be recorded)‏ The channel number of the last piece of missing data is also output, allowing data acquisition software to allocate the first piece of data after a gap to the correct channel. (This can be compared with what is expected given the number of pieces of data that have been lost)‏ Error Checking (Continuous Mode)‏

10 Now errors can be identified, the ADC can be tested at various speeds, testing its reliability with different channels and downscaling ratios. Experiments with the ADC will also give some idea of what data acquisition method (multiple data files, single data file written in bursts) will best deal with the continuous data output. The Week Ahead...