ARM7 Microcontroller Based Digital PRBS Generator

Similar documents
Analysis of Different Pseudo Noise Sequences

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Optimization of Multi-Channel BCH Error Decoding for Common Cases. Russell Dill Master's Thesis Defense April 20, 2015

LFSRs as Functional Blocks in Wireless Applications Author: Stephen Lim and Andy Miller

[Krishna*, 4.(12): December, 2015] ISSN: (I2OR), Publication Impact Factor: 3.785

Design of BIST with Low Power Test Pattern Generator

Synthesis Techniques for Pseudo-Random Built-In Self-Test Based on the LFSR

Individual Project Report

Available online at ScienceDirect. Procedia Technology 24 (2016 )

ASNT8140. ASNT8140-KMC DC-23Gbps PRBS Generator with the (x 7 + x + 1) Polynomial. vee. vcc qp. vcc. vcc qn. qxorp. qxorn. vee. vcc rstn_p.

Design and Implementation OF Logic-BIST Architecture for I2C Slave VLSI ASIC Design Using Verilog

VLSI System Testing. BIST Motivation

DESIGN and IMPLETATION of KEYSTREAM GENERATOR with IMPROVED SECURITY

Design for Test. Design for test (DFT) refers to those design techniques that make test generation and test application cost-effective.

Guidance For Scrambling Data Signals For EMC Compliance

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

AbhijeetKhandale. H R Bhagyalakshmi

DEPARTMENT OF ELECTRICAL &ELECTRONICS ENGINEERING DIGITAL DESIGN

8 DIGITAL SIGNAL PROCESSOR IN OPTICAL TOMOGRAPHY SYSTEM

Comparative Analysis of Stein s. and Euclid s Algorithm with BIST for GCD Computations. 1. Introduction

CHAPTER 4 RESULTS & DISCUSSION

CS 110 Computer Architecture. Finite State Machines, Functional Units. Instructor: Sören Schwertfeger.

TV Character Generator

AC : DIGITAL DESIGN MEETS DSP

A Pseudorandom Binary Generator Based on Chaotic Linear Feedback Shift Register

International Journal of Scientific & Engineering Research, Volume 5, Issue 9, September ISSN

WINTER 15 EXAMINATION Model Answer

Department of Electrical and Computer Engineering University of Wisconsin Madison. Fall Final Examination CLOSED BOOK

Implementation of UART with BIST Technique

From Theory to Practice: Private Circuit and Its Ambush

Fully Pipelined High Speed SB and MC of AES Based on FPGA

Available online at ScienceDirect. Procedia Computer Science 46 (2015 ) Aida S Tharakan a *, Binu K Mathew b

Solution to Digital Logic )What is the magnitude comparator? Design a logic circuit for 4 bit magnitude comparator and explain it,

Chapter 4. Logic Design

Design and Implementation of Data Scrambler & Descrambler System Using VHDL

VHDL Design and Implementation of FPGA Based Logic Analyzer: Work in Progress

ASNT_PRBS20B_1 18Gbps PRBS7/15 Generator Featuring Jitter Insertion, Selectable Sync, and Output Amplitude Control

Hardware Implementation of Viterbi Decoder for Wireless Applications

A High- Speed LFSR Design by the Application of Sample Period Reduction Technique for BCH Encoder

Implementation of BIST Test Generation Scheme based on Single and Programmable Twisted Ring Counters

Understanding Cryptography A Textbook for Students and Practitioners by Christof Paar and Jan Pelzl. Chapter 2 Stream Ciphers ver.

Development of an Analog ECG Simulator using Standalone Embedded System

Midterm Exam 15 points total. March 28, 2011

FPGA IMPLEMENTATION AN ALGORITHM TO ESTIMATE THE PROXIMITY OF A MOVING TARGET

Design and Implementation of Encoder for (15, k) Binary BCH Code Using VHDL

Understanding Cryptography A Textbook for Students and Practitioners by Christof Paar and Jan Pelzl. Chapter 2 Stream Ciphers ver.

ASNT8142-KMC Generator of DC-to-23Gbps PRBS with Selectable Polynomials

Testing of Cryptographic Hardware

True Random Number Generation with Logic Gates Only

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

THE USE OF forward error correction (FEC) in optical networks

Reconfigurable FPGA Implementation of FIR Filter using Modified DA Method

Design of Fault Coverage Test Pattern Generator Using LFSR

DETERMINISTIC SEED RANGE AND TEST PATTERN DECREASE IN LOGIC BIST

Sequences and Cryptography

Digital Systems Laboratory 1 IE5 / WS 2001

hochschule fu r angewandte wissenschaften hamburg Prof. Dr. B. Schwarz FB Elektrotechnik/Informatik

Scanned by CamScanner

LFSR Based Watermark and Address Generator for Digital Image Watermarking SRAM

Exercise 4. Data Scrambling and Descrambling EXERCISE OBJECTIVE DISCUSSION OUTLINE DISCUSSION. The purpose of data scrambling and descrambling

Implementation of a turbo codes test bed in the Simulink environment

IT T35 Digital system desigm y - ii /s - iii

NH 67, Karur Trichy Highways, Puliyur C.F, Karur District UNIT-III SEQUENTIAL CIRCUITS

LFSR Counter Implementation in CMOS VLSI

Design and Implementation of Uart with Bist for Low Power Dissipation Using Lp-Tpg

Design of BIST Enabled UART with MISR

Sequential Logic. Analysis and Synthesis. Joseph Cavahagh Santa Clara University. r & Francis. TaylonSi Francis Group. , Boca.Raton London New York \

VLSI Test Technology and Reliability (ET4076)

Bit Swapping LFSR and its Application to Fault Detection and Diagnosis Using FPGA

CHAPTER 4: Logic Circuits

Lossless Compression Algorithms for Direct- Write Lithography Systems

DIGITAL FUNDAMENTALS

SDR Implementation of Convolutional Encoder and Viterbi Decoder

DesignandImplementationofDataScramblerDescramblerSystemusingVHDL

ECE 715 System on Chip Design and Test. Lecture 22

More Digital Circuits

PCIe BASED TWO CHANNEL DATA ACQUISITION CARD

CS150 Fall 2012 Solutions to Homework 4

Enable input provides synchronized operation with other components

Design & Simulation of 128x Interpolator Filter

MODULE 3. Combinational & Sequential logic

TYPICAL QUESTIONS & ANSWERS

FPGA Based Implementation of Convolutional Encoder- Viterbi Decoder Using Multiple Booting Technique

Decade Counters Mod-5 counter: Decade Counter:

An Efficient Reduction of Area in Multistandard Transform Core

Why FPGAs? FPGA Overview. Why FPGAs?

International Journal of Engineering Research-Online A Peer Reviewed International Journal

An Improved Recursive and Non-recursive Comb Filter for DSP Applications

A Novel Low Power pattern Generation Technique for Concurrent Bist Architecture

PICOSECOND TIMING USING FAST ANALOG SAMPLING

Distributed Arithmetic Unit Design for Fir Filter

Sequential Circuit Design: Principle

Optimization of FPGA Architecture for Uniform Random Number Generator Using LUT-SR Family

SRAM Based Random Number Generator For Non-Repeating Pattern Generation

Instructions. Final Exam CPSC/ELEN 680 December 12, Name: UIN:

FPGA Design. Part I - Hardware Components. Thomas Lenzi

Modeling Digital Systems with Verilog

Segmented Leap-Ahead LFSR Architecture for Uniform Random Number Generator

Design and Implementation of Signal Processing Systems: An Introduction

Design and analysis of microcontroller system using AMBA- Lite bus

Transcription:

I J C International Journal of lectrical, lectronics ISSN No. (Online) : 2277-2626 and Computer ngineering 1(2): 55-59(2012) Special dition for Best Papers of Michael Faraday IT India Summit-2012, MFIIS-12 ARM7 Microcontroller Based Digital PRBS Generator S. Mondal, A. D. Barman, and A.K. Datta * Academy of Technology, West Bengal, India **Institute of Radio Physics and lectronics, West Bengal, India, ***BOM Charitable Trust, Kolkata, India, (Received 15 October, 2012 Accepted 01 December, 2012) ABSTRACT: This paper reports a Pseudo Random Binary Sequence (PRBS) generation by an ARM7 Microcontroller. It generates 32 bit shift register equivalent pseudo noise sequence at variable bit rate with a maximum 2.25 Mbps for 60 MHz clock frequency of the microcontroller. The maximum bit rate can be further increased using high frequency microcontroller. Keil µversion-4 compiler has been used for programming of ARM7 microcontroller. Quality of PRBS bits are measured in terms of rise time, fall time, amplitude jitter and these values are found to be within satisfactory limits. Index Terms ARM7 Microcontroller, Autocorrelation, PRBS, Shift Register. I. INTRODUCTION seudo Random Bit Sequence is widely used for performance Panalysis in electronics applications, digital data encryption and digital communication techniques etc. The pseudo random sequence is defined as a random coded sequence of ones and zeros with a periodicity of random data and associated with the randomness properties like Balance, Run and Correlation property. There are few techniques of generating PRBS. The conventional way of developing PRBS is Linear Feedback Shift Register (LFSR) array. This LFSR technique [1,2] based on polynomial operation under modulo- 2 arithmetic [3]. The length of cascading stages of shift register associated with the length of PRBS sequence. FPGA, Digital Signal Processor (DSP) based approaches [4,5][6] are reconfigurable just by changing programming but these are little expensive. In FPGA based design [2] first true random number is generated and then it produces pseudo random number, which reduces the throughput of the design to 225 bps [2]. A VHDL based synthesized hardware [7] simulates the results with a 2.81 fold increase in throughput compared to non pipelined architecture. Here we have presented a relatively inexpensive reconfigurable technique of PRBS generation based on memory and ARM7 microcontroller. This is an inexpensive method to generate a 32 bit PRBS with a specified bit rate and quality obtained through professional Bit rror Ratio Testing Instruments [8]. Reconfigurable means that by programming one can change the PRBS sequence. We demonstrated that a 60 MHz ARM7 microcontroller can produce a PRBS sequence 2.25 Mbps with an initial delay of 95 µsec for 4 bit equivalent shift register sequence. After this initial delay PRBS sequence generation will be in real time with the specific bit rate. A microcontroller generates the sequence depending upon the user given length. The desired sequence is loaded in an external memory. This stand alone system is able to generate PRBS for a given user length. The programming for ARM7 Microcontroller LPC2148 has been developed in Keil µversion4 platform. The real time PRBS data output is stored and processed offline by MATLAB to evaluate bit eye-pattern and autocorrelation of PRBS data. II. MTHODOLOGY A. PRBS Generation The basic method of generation of PRBS employs LFSR under modulo-2 arithmetic [3,9]. The shift register sequence {a n } = {a 0, a 1, a 2, } describing the history of the first flip flop is shown in Fig.1. Generating function G(x) holds all the flip flop data in polynomial form as shown below. Where a n satisfy the recursive relation with the r number of flip flop stages and n is the instant. Where And r th order characteristic polynomial is as follows (1) (2) (3)

Mondal, Barman, and Datta 56 The Generating function entirely expressed in terms of the initial conditions {a -1, a -2, a -r } and the feedback coefficients c 1, c 2,.. c r. When initial condition is a -1 = a -2 = a -3 =.. = 0 and a -r = 1, the period of the sequence can be found as p for which the characteristic polynomial divides under modulo-2 arithmetic. The maximum length of a LFSR array of r flip flop stages is. The recursive relation for a n defines the feedback connection required for any valid pseudo noise sequence. a n a n-1 a n-2 1 2 r C 1 B. ARM7 Microcontroller Software Algorithm ARM7 microcontroller [10] has been used to implement the algorithm of PRBS generation. ach of the 32 bit data field represents 32 flip flops of a shift register. According to the user data the number of bits of a data field will be selected and the mask data will be one of the preloaded data stored in microcontroller memory according to the recursive relation of a n as given by qn-(2). Table-1 shows the mask data format, corresponding to any shift register length, mask data is saved in memory. For 4 bit shift register the 32 bit mask data is 0x0000000C. The first seed data will be any nonzero value having the same bits of the data field. The feedback binary digit can be calculated by logical XOR operation of the data bits according to the mask data field which is then shifted to find the parity bit. For r bit data field (2 r -1) nonzero patterns can be produced, which are to be loaded in successive address locations of external RAM by the microcontroller. Then microcontroller selects the starting address of RAM and update address location with a proper delay to adjust the bit rate of PRBS. The Fig. 2 describes the software flow diagram of ARM7. The main program involves the following software libraries: Generation of PRBS LCD interfacing through parallel mode C 2 + Fig. 1. The LFSR Structure C r a n-r PC keyboard interfacing using I 2 C mode xternal RAM interfacing xample: Number of flip flops, r=4 Step-1: The 32 bit mask data is MDATA = 0x0000000C. Step-2: Let the initial seed value of register VAL=0x00000001. Step-3: After each iteration the new data pattern is as follows. VAL = [(VAL<<1) AND (0xFFFFFFF)] OR [0x0000000P] Where COUNT = NUMBR OF ONS IN [(VAL) AND (MDATA)] and The total iteration required is (2 r -2). Table-2 shows each iteration output. ach iteration requires [(r-1) 2 +1] times bit shifting operation and [r+1] times logical AND operation. Yes System Power on Reset (POR) Initialization LCD Menu Generate & Load Data Generate PRBS from RAM Intt? No Input LFSR Length Fig. 2. The Flow Diagram of Software.

Mondal, Barman, and Datta 57 Table-1 Mask Data Format. Length of Shift Bit numbers in mask data Register contains 1 s (considering lsb index is 0) 2 0,1 3 0,3 C. System Description 4 2,3 5 2,4 6 4,5 7 5,6 8 1,2,3,7 9 4,8 10 6,9 11 1,10 12 1,9,10,11 13 0,10,11,12 14 1,11,12,13 15 13,14 16 10,12,13,15 We have presented a stand-alone system for generation of PRBS using LPC2148 ARM7 microcontroller. Fig.3 describes the schematic of the system. PS/2 keyboard is used to provide input data from user end via I 2 C protocol. A shift register (IC- 74164, serial in parallel out) arrangement is used to collect the serial data of keyboard then it fed to a parallel 8 bit to I 2 C converter IC-PCF8574, which will interrupt the microcontroller for input data. Microcontroller will develop and load pseudo noise pattern to external RAM according to the user specified bit length. Fig.4 describes the connection between LPC2148 and RAM. The whole process status is displayed in a 128x64 LCD. Individual data pin-out of RAM (D 0, D 1,..D r-1 ) generates PRBS. P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P0.8 P0.9 P1.16 P1.17 P1.18 P1.19 P1.20 P1.21 LCD LPC2148 KYBOARD R A M D 0 D 1 D r-1 Fig. 3. The schematic of stand-alone PRBS Simulator. ] -4 I[1 D A0 A0 A1 A1 A2 A2 A3 A3 A4 A4 A5 A5 A6 A6 A7 A7 ] A8 A8-9 [0 A9 A9 A DI1 DI1 DI2 DI2 DI3 DI3 DI4 DI4 U1 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 DI1 DI2 DI3 DI4 CS R/W OD DO1 DO2 DO3 DO4 PNS1 PNS2 PNS3 PNS4 In this proposed system microcontroller uses a look up table for storing the recursive relation of a n as mask data. User can select the number of stages ( r) of flip flop that can map to a particular mask data from look up table. The initial default value of the LFSR can be taken as any one of the combination of r bits except decimal equivalent zero. This default value is initial data for the algorithm; microcontroller will develop the successive data sequence. These data are loaded to the external memory system according to increasing order of address. The memory is contained with a valid sequence of PRBS in any bit location of each memory address. The controlling signals for RAM are write enable and output enable are used during the data loading and generation of PRBS respectively. At the end of data loading to memory system, microcontroller starts to select the address of memory with a proper delay according to the bit rate. Whenever the user try to change the order of flip flop stage or bit rate of PRBS using keyboard interrupt process, microcontroller adjust the proper data sequence and delay. Fig. 4. The schematic of 1024 x 4 bit RAM Interfacing using LPC2148. III. MASURMNTS AND RSULTS The measurement setup is shown in Fig.5. The proposed system generates PRBS with 2.25 Mbps bit rate. Output bit sequences are stored in a Digital Storage Oscilloscope (DSO) and the sampled data is processed offline by MATLAB to plot the eye-diagram and autocorrelation of the bit sequence. The output sequence satisfies Run and Balance property [3,11] as observed from PRBS data in a DSO. From the stored DSO data, eye-pattern is plotted as shown in Fig.6(a) which can be used to find the amplitude jitter. The autocorrelation function in Fig.6(b) shows a plot for a quasi periodic signal; the average period value of this signal is the fundamental period of PRBS sequence, which is used to calculate the bit rate of PRBS.

Rise time and fall time of the bit are measured from DSO as shown in Fig.6(c) and Fig.6(d) respectively. Rise time and Fall time is defined as time taken to change the data level form 10% to 90%. Table-3 summarizes the measured values. Our measured values are commensurate with CCSDS recommendation [12]. The system computational delay is also measured and found to be 95 µs. The system computational delay is defined as the time taken by ARM7 microcontroller to generate the total pseudo noise pattern and then stored it to an external RAM. We have presented here the result for 4 bit shift register with DSO sampling rate 65 GSamp/sec with 4 Kbyte storage capacities. However the result can be shown for maximum of 32 bits shift register with higher storage capacity of DSO. Mondal, Barman, and Datta 58 size of the external RAM need to be large. The bit rate can be varied up to a range of 2.25 Mbps with maximum clock frequency 60 MHz of LPC2148. To obtain the higher bit rate of PRBS generation the same algorithm can be used in higher operating frequency microcontroller. Fig. 6(a). ye-pattern. Fig. 5. The Measurement Setup. Table 3: Measured Values for 4 bit shift register. Bit Rate Amplitude Jitter Rise Time Fall Time System Computational delay 2.25 Mbps 0.16 volt (4.8% of peak to peak) 13 ns 16 ns 95 µs Fig. 6(b). Autocorrelation. IV. CONCLUSION In this work we developed PRBS prototype generator with the help of ARM7 microcontroller. The scheme is very effective in generating variable length PRBS with controllable bit rate at very low cost. Quality of PRBS bits are measured in terms of rise time, fall time, amplitude jitter and these values are found to be within satisfactory limits. Though the results are presented in terms of 4 bit shift register, results can easily be extended for 32 bit shift register with the same bit quality. However, to increase the length of the sequence the memory Fig. 6(c). Rise Time.

Mondal, Barman, and Datta 59 RFRNCS Fig. 6(d). Fall Time. [1] Horan. D, Guinee. R, A Novel Stream Cipher for Cryptographic Applications,Military Communications Conference MILCOM, I 2006, pp. 1-5. [2] Nur A. Touba and dward J. McCluskey, Altering A Pseudo-Random Bit Sequence For Scan-Based Bist, Test Conference, 1996. Proceedings., International,I, pp. 167-175. [3] S. W. Golomb, Shift Register Sequences, Laguna Hills, CA, 1982. [4] Tsoi. K.H, Leung K.H, Leong P.H.W, Compact FPGAbased True and Pseudo Random Number Generators,Proceedings of the 11th Annual I Symposium on Field-Programmable Custom Computing Machines (FCCM 03), pp. 51-61. [5] Schellekens. D, Preneel.B, Verbauwhede.I, FPGA Vendor Agnostic True Random Number Generator, I International Conference on Field Programmable Logic and Application, 2006, pp. 1-6. [6] Qianying Guo, Guangyi Wang- Generation of a Chaosbased PN sequence and its quality Analysis, I. [7] Raj S. Katti and Sudarshan K. Srinivasan, fficient Hardware Implementation of a new Pseudo-random Bit Sequence Generator, Circuits and Systems,ISCAS 2009. I International Symposium, 2009, pp. 1393 1396. [8] http://www.home.agilent.com/en/pc- 1000000193%3Aepsg%3Apgr/bit-error-ratio-test-bertsolutions?&cc=IN&lc=eng [9] Sundararajan Sriram, and Vijay Sundararajan, fficient Pseudo-Noise Sequence Generation for Spread Spectrum Applications, I Workshop on Signal Processing Systems (SPIS'02), pp. 80-86. [10] Amol D. Tupkar, Prof. U.A. Rane, Arm Microcontroller Implementation of Des Using Concept with Time- Variable Key, International Journal of advancement in electronics and computer engineering (IJAC) Volume 1, Issue 2, May 2012, pp.62-68. [11] http://csrc.nist.gov/groups/st/toolkit/rng/documentation_ software.html [12] http://public.ccsds.org/publications/archive/415x1b1.pdf