Copyright. Joel Thomas Williams

Size: px
Start display at page:

Download "Copyright. Joel Thomas Williams"

Transcription

1 Copyright by Joel Thomas Williams 2010

2 The Report Committee for Joel Thomas Williams Certifies that this is the approved version of the following report: Prototyping of MP3 Decoding and Playback on an ARM-based FPGA Development Board APPROVED BY SUPERVISING COMMITTEE: Supervisor: Andreas Gerstlauer Mark McDermott

3 Prototyping of MP3 Decoding and Playback on an ARM-based FPGA Development Board by Joel Thomas Williams, B.S. Report Presented to the Faculty of the Graduate School of The University of Texas at Austin in Partial Fulfillment of the Requirements for the Degree of Master of Science in Engineering The University of Texas at Austin May 2010

4 Abstract Prototyping of MP3 Decoding and Playback on an ARM-based FPGA Development Board Joel Thomas Williams, M.S.E. The University of Texas at Austin, 2010 Supervisor: Andreas Gerstlauer MP3, or MPEG-1 Layer 3, is the most widely-used format for storing compressed audio. MP3 is more advantageous than uncompressed audio (PCM), offering a much smaller size but without a noticeable loss in audio quality. This report will demonstrate decoding and playback of MP3 audio using a TLL5000 FPGA board. iv

5 Table of Contents List of Tables... vi List of Figures... vii 1. INTRODUCTION MP3 Decoder PCM Buffer Digital-to-Analog Converter SOFTWARE IMPLEMENTATION 3 3. HARDWARE/SOFTWARE INTERFACE 5 4. AUDIO CODEC 97 (AC97) CONTROLLER IMPLEMENTATION AC97 Input Frame Description AC97 Output Frame Description Setting up the AC Reset Register (0x00) Master Volume Register (0x02) Extended Audio Status and Control Register (0x2A) PCM Front DAC Rate Register (0x2C) RTL Implementation of AC97 Controller Receiving Data from the Codec Sending Data to the Codec TESTING AND RESULTS Testing FPGA Synthesis Results...28 REFERENCES 31 VITA 32 v

6 List of Tables Table 2.1 MP3 File Structure...3 Table 3.1 FIFO Signal Description...5 Table 4.1 AC97 Signal Detail...8 Table 4.2 AC97 Input Frame Slot Detail...10 Table 4.3 AC97 Input Slot 0 Detail...11 Table 4.4 AC97 Input Slot 1 Detail...12 Table 4.5 AC97 Input Slot 2 Detail...12 Table 4.6 AC97 Output Frame Slot Detail...14 Table 4.7 AC97 Output Slot 0 Detail...15 Table 4.8 AC97 Output Slot 1 Detail...16 Table 4.9 Master Volume Register Detail...17 Table 4.10 Extended Audio Status and Control Register Detail...18 Table 4.11 PCM Front DAC Rate Register Detail...19 Table 4.12 FPGA to AC97 Interface...20 Table 4.13 AC97 Frame Summary...21 Table 5.1 Device Utilization Summary...28 Table 5.2 Component Summary...29 Table 5.3 Clock Summary...30 vi

7 List of Figures Figure 1.1 System Overview...1 Figure 2.1 Software Architecture...4 Figure 3.1 SW/HW Timing Diagram...6 Figure 4.1 AC97 Block Diagram...7 Figure 4.2 AC97 Input Frame...9 Figure 4.3 AC97 Output Frame...13 Figure 4.4 AC97 Controller Input State Machine...23 Figure 4.5 AC97 Controller Output State Machine...26 vii

8 1. INTRODUCTION This project encompasses an MP3 decoding and playback system. A TLL5000 Electronic System Design demonstration board is the foundation of the MP3 playback hardware. This board is similar to a PC s motherboard, with numerous audio, video, and I/O ports, but includes a Xilinx Spartan-3 FPGA rather than a CPU. [4] The board I/O, including the audio signals used for audio playback, is accessed via the FPGA. Audio playback capability on the TLL5000 is provided by an Analog Devices AC 97 Codec chip. [6] This report will document the procedure for configuring the TLL5000 board to function as an MP3 player. This playback system will have three components: an MP3 decoder, an audio buffer, and a digital-to-analog converter. These are explained in greater detail below. ARM Processor FS i.mx21 MP3 Decoder TLL 6219 FPGA Xilinx Spartan-3 PCM Buffer AC97 Controller Audio Codec AD1981BL D-A Conv. audio out TLL 5000 Figure 1.1 System Overview 1

9 1.1. MP3 Decoder MP3 decoding is performed by the i-mx21 processor on the TLL 6219 daughter card. This card provides a Linux shell for program execution PCM Buffer The inputs to the audio codec chip on the TLL5000 are only accessible via the Spartan-3 FPGA. The FPGA acts as a buffer, receiving the decompressed audio data (PCM format) from the TLL 6219 and then sending the data to the audio codec along with the correct timing signals the codec requires. In so doing, the FPGA is configured to act as the audio codec controller Digital-to-Analog Converter The TLL5000 board includes an Analog Devices AD1981BL AC 97 Codec chip. AC 97 is a standard developed by Intel which encompasses both audio playback and recording. [6] Included in the AD1981BL chip is an analog-to-digital converter for audio recording and a digital-to-analog converter for audio playback. For this application, only the audio playback capability is used. 2

10 2. SOFTWARE IMPLEMENTATION MPEG-1 Layer 3 (MP3) compression is not lossless. Some information will be lost in the compression process, but the algorithm attempts to limit such losses to frequencies normally outside the range of human hearing. This allows for a very faithful reproduction of the original audio when the MP3 is decoded. An MP3 file consists of multiple frames of audio data with tag information at the beginning and end of the file. The older tag format (ID3v1) is located at the end of the file. The newer tag format (ID3v2) is located at the beginning of the file. ID3v2 is more commonly used, but ID3v1 is maintained for backwards compatibility. Contained in the tag is information about the audio data such as artist, album, and song title. Tag (ID3v2) Frame 1 Frame 2 Frame N Tag (ID3v1) Table 2.1 MP3 File Structure Each frame of audio data is preceded with a header containing information about the frame. Each frame represents approximately 26 ms of audio. Using a bit rate of 128kbps, the frame size will typically contain 417 bytes. The software architecture of the MP3 decoder is shown in Figure 2.1 [2]. A constant stream of MP3 data is fed to the decoder, which produces pulse-code modulated 3

11 (PCM) samples at its output. After synchronization and error checking, Huffman coding, requantization, and reordering are performed. The resulting frequency coefficients are fed into an inverse modified discrete cosine transform (IMDCT) for each stereo channel. Finally, the polyphase filter transforms the data into PCM samples. Figure 2.1 Software Architecture The implementation of the MP3 decoder software used in this application is taken from [3]. For this project, the automatically synthesized C code obtained from [3] was adopted in largely unmodified form. The I/O routines and interrupt handlers for interface with the hardware were replaced with an implementation using a Linux kernel module driver. 4

12 3. HARDWARE/SOFTWARE INTERFACE The data rate for transferring PCM samples from the ARM board to the FPGA is much faster than the rate for transferring data from the FPGA to the AC97 codec. To account for this, the FPGA is configured to act as a buffer, storing the incoming data and sending it to the codec. Two buffers will be used, one each for the left and right audio channels. A first-in-first-out (FIFO) queue will serve as the buffer architecture. Since read and write accesses to the FIFOs occur in different clock domains, the FIFOs are setup to use separate read and write clocks. Valid for Write Clock Data In (20-bit bus) Write Enable Full Almost Full Valid for Read Clock Data Out (20-bit bus) Read Enable Empty Almost Empty Table 3.1 FIFO Signal Description A single frame of PCM data contains bit samples (16-bits each for left and right channels). The FIFO depth is chosen to allow 2 complete frames (2 x 1152 = 2304 samples) to be stored. The Xilinx CORE Generator used to automatically generate the Verilog code for the FIFO only allows FIFO depths in powers of 2. However, the capability exists to create a FIFO with a programmable full threshold. [8] In this case a FIFO with size 4096 is generated and the full threshold is set to The PCM Buffer is setup to automatically store incoming PCM samples into the FIFOs. The buffer does not perform any handshaking with the ARM. Synchronization with the ARM is 5

13 performed by the AC97 Controller (see Section 4). The controller will signal the ARM to send PCM data via a hardware interrupt. Figure 3.1 shows the timing diagram of the software and hardware interface. The software (ARM) will begin decoding MP3 data immediately but will wait to send the decoded PCM samples to the FGPA until signaled via an interrupt from the FPGA. Upon receiving the interrupt the ARM will transmit a frame of PCM data to the FPGA and the FPGA will immediately begin sending those samples to the audio codec. While those samples are being sent to the codec, the ARM will resume decoding the next MP3 frames. This process will repeat until there are no more MP3 frames to decode. Figure 3.1 SW/HW Timing Diagram 6

14 4. AUDIO CODEC 97 (AC97) CONTROLLER IMPLEMENTATION AC97 is an audio playback and recording standard created by Intel. [7] Figure 4.1 AC97 Block Diagram 7

15 Table 4.1 lists the AC97 signals used in this application. Signal Direction Description SDATA_IN Out Serial Data to AC97 Controller (Recorded Data) BIT_CLK Out MHz Clock to Controller SDATA_OUT In Serial Data from AC97 Controller (Playback Data) SYNC In Frame Sync RESET In Master Reset ID0 In Chip Select 0 ID1 In Chip Select 1 XTL_IN In MHz from external oscillator LINE_OUT_L Out Analog Output (Left Channel) LINE_OUT_R Out Analog Output (Right Channel) Relative to AC97 Codec Table 4.1 AC97 Signal Detail The Xilinx Spartan-3 FPGA is configured to act as the AC97 controller. Data is sent serially from the controller to the codec (SDATA_OUT). Data sent to the codec is made active on the rising edge of BIT_CLK and then sampled by the codec on the falling edge. The serial data is not limited to PCM audio data. Frame header information and commands to configure codec registers are also sent in the bit stream. The controller receives data from the codec on SDATA_IN, but samples this data on the falling edge of BIT_CLK. The SYNC signal is used to define frame boundaries. 8

16 4.1. AC97 Input Frame Description The AC97 input frame is sent from the controller to the codec. The frame sync signal is used to signal the start of each frame of data sent to the codec. Figure 4.2 AC97 Input Frame Each input frame consists of 13 slots, shown below. Slot 0 is a frame header and is used to specify which of the remaining slots contain valid data. The SYNC signal is high while Slot 0 is being transmitted. The SYNC signal is raised one BIT_CLK period prior to the start of Slot 0 and is lowered during the final BIT_CLK period of Slot 0, as indicated in Figure 4.2. Commands can be issued to the codec by writing values to codec registers. Codec register values can also be read back. Commands to read or write codec registers use slots 1 and 2. (If a read command is issued, the readback data will appear in Slot 2 of the following codec output frame.) The audio data for playback is sent in slots 3 and 4. Additional audio channels are available in Slots 5-12, but are not used in this application. PCM Playback Left and Right Data are the only audio channels used in this example. 9

17 Slot Size Description Notes 0 16 Frame TAG / Codec ID Specified which slots contain valid data 1 20 Command Address Codec command register address 2 20 Command Data Codec command register data 3 20 PCM Playback Left Data 4 20 PCM Playback Right Data 5 20 Modem Line 1 Output Channel Not used 6 20 PCM Center Data Not used 7 20 PCM Surround Left Data Not used 8 20 PCM Surround Right Data Not used 9 20 PCM LFE Data Not used Modem Line 2 Output Channel Not used Modem Handset Output Channel Not used Modem GPIO Control Channel Not used Table 4.2 AC97 Input Frame Slot Detail The total number of bits transmitted in a frame is 256. The BIT_CLK frequency, MHz, divided by 256, is 48 khz, which is the codec s default audio sampling rate and is the frequency of the frame sync signal. Different sampling rates (e.g khz) may be used, but the codec must be set up accordingly. If a 44.1 khz-sample rate PCM data is fed to the codec without proper setup, the sound will appear to play too fast. A 48 khz PCM signal sends 480 samples using 480 frames. Each frame will contain data. However, in the same span of time, a 44.1 khz PCM signal will send 441 samples in 480 frames. 39 frames will not contain data. The codec takes an on-demand approach to 10

18 signal the controller when to send data through the use of slot request bits. These are described in further detail in the next section. Slot 0 is the frame header and is used to specify if data in Slots 1-12 is valid. Bit Description Default Value 15 Frame Valid 1 14 Slot 1 Valid 1 if command is to be sent 13 Slot 2 Valid 1 if command is to be sent 12 Slot 3 Valid 1 if audio data is to be sent 11 Slot 4 Valid 1 if audio data is to be sent 10 Slot 5 Valid 0 9 Slot 6 Valid 0 8 Slot 7 Valid 0 7 Slot 8 Valid 0 6 Slot 9 Valid 0 5 Slot 10 Valid 0 4 Slot 11 Valid 0 3 Slot 12 Valid 0 2 Reserved Codec ID Field 00 Table 4.3 AC97 Input Slot 0 Detail 11

19 address. If a command is to be sent to the codec, Slot 1 is used to specify the command Bits Description Notes 19 Read/Write 1 = read, 0 = write Register Index Command Address 11 0 Reserved 0 Table 4.4 AC97 Input Slot 1 Detail Slot 2 is used to specify the command data. Bits Description Notes 19 4 Register Data Command Data 3 0 Reserved 0 Table 4.5 AC97 Input Slot 2 Detail 12

20 4.2. AC97 Output Frame Description The AC97 output frame is data sent from the codec to the controller. This data consists of recorded audio, codec register readback data, and slot request bits. Figure 4.3 AC97 Output Frame Each output frame consists of 13 slots, shown below. Slot 1 contains two items. First is an echo of the command register address if a read command was requested in the previous input frame to the codec. The second item is the slot request bits which notify the controller to send audio data to the codec in the following frame. Codec register readback data is returned in slot 2. Captured audio data is sent in slots 3-12, but will not be used. 13

21 Slot Size Description Notes 0 16 Frame TAG Codec Ready Flag; flags to specify which slots contain valid data 1 20 Command Readback Address / Codec register address SLOTREQ bits 2 20 Command Readback Data Codec register status 3 20 PCM Record Left Data Not used 4 20 PCM Record Right Data Not used 5 20 Modem Line 1 ADC Not used 6 20 Dedicated Microphone Record Not used Data 7 20 Reserved Not used 8 20 Reserved Not used 9 20 Reserved Not used Modem Line 2 ADC Not used Modem Handset ADC Not used Modem GPIO Status Not used Table 4.6 AC97 Output Frame Slot Detail 14

22 Slot 0 is the frame header and is used to specify if data in Slots 1-12 is valid. Bit Description Notes 15 Codec Ready 1 = Ready 14 Slot 1 Valid 1 = Valid, 0 = Not Valid 13 Slot 2 Valid 12 Slot 3 Valid 0 11 Slot 4 Valid 0 10 Slot 5 Valid 0 9 Slot 6 Valid 0 8 Slot 7 Valid 0 7 Slot 8 Valid 0 6 Slot 9 Valid 0 5 Slot 10 Valid 0 4 Slot 11 Valid 0 3 Slot 12 Valid Reserved 000 Table 4.7 AC97 Output Slot 0 Detail Slot 1 contains the Control Register Index Echo as well as the slot request bits. When a slot request is sent from the codec, the controller must send the next audio sample in the following input frame. 15

23 Bits Description Notes 19 Reserved Control Register Index Echo Echo of register address for readback data 11 Slot 3 Request (PCM Left Channel) 0 = send data, 1 = don t send 10 Slot 4 Request (PCM Right Channel) 0 = send data, 1 = don t send 9 Slot 5 Request (Modem Line 1) 8 Slot 6 Request (PCM Center) 7 Slot 7 Request (PCM Left Surround) 6 Slot 8 Request (PCM Right Surround) 5 Slot 9 Request (PCM LFE) 4 Slot 10 Request (Modem Line 2 or PCM Left [n+1]) 3 Slot 11 Request (Modem Handset or PCM Right [n+1]) 2 Slot 12 Request (PCM Center [n+1]) 1-0 Reserved 00 Table 4.8 AC97 Output Slot 1 Detail 16

24 4.3. Setting up the AC97 Setting up the AC97 device for playback requires writing values to several registers on the codec RESET REGISTER (0X00) The reset register is used to perform a master reset of the device. All written registers will be initialized to defaults. The reset register address is 0x00. Writing any value to the register will perform the reset MASTER VOLUME REGISTER (0X02) This register is used to control the master volume levels for the left and right audio channels. Left and right channels can be configured separately, though this is unnecessary for this application. Bits Description Notes Value Used 15 Master Volume Mute 1 = Mute Reserved Left Master Volume Control 1.5 db resolution = 21 x 1.5 = 31.5 db 7 Right Channel Mute 1 = Mute Reserved Right Master Volume Control 1.5 db resolution = 21 x 1.5 = 31.5 db Table 4.9 Master Volume Register Detail 17

25 The db values used for the left and right volume are used to specify attenuation levels. Thus, a value of 0 db (0) represents maximum volume while 46.5 db (31) represents minimum volume. Attenuation can be set in increments of 1.5 db. A fixed level of 31.5 db was chosen for this application EXTENDED AUDIO STATUS AND CONTROL REGISTER (0X2A) This register is used for SPDIF configuration and also for enabling variable audio rates. For this application, only the variable audio enable bit in this register is used. The default audio rate is 48 khz, but this application required 44.1 khz, so this bit will be enabled. The bit rate is set in the PCM Front DAC Rate Register. Bits Description Notes Value Used 15 Validity Force Reserved SPDIF Configuration Valid Read Only n/a 9 6 Reserved SPDIF Slot Assignment Reserved SPDIF Transmitter Subsystem 0 = disable 0 Enable 1 Reserved Variable Rate Enable 0 = fixed rate 1 1 = variable rate Table 4.10 Extended Audio Status and Control Register Detail 18

26 PCM FRONT DAC RATE REGISTER (0X2C) This register is used to set the audio sample rate. A rate of 44.1 khz is used. Bits Description Notes Value Used 15 0 Sample Rate 1 Hz resolution Hz Table 4.11 PCM Front DAC Rate Register Detail 19

27 4.4. RTL Implementation of AC97 Controller The Xilinx Spartan-3 FPGA is configured to act as the AC97 controller. Net Name Signal Name FPGA Pin AC97_IO0 SDATA_IN P7 AC97_IO1 BIT_CLK P6 AC97_IO2 SDATA_OUT P5 AC97_IO3 ID0 P4 AC97_IO4 ID1 P3 AC97_IO5 SYNC P2 AC97_IO6 RESET P1 Table 4.12 FPGA to AC97 Interface As described in the previous section, data received by the controller is sampled on the negative edge of the clock, while data sent from the controller is made active on the positive edge of the clock. This allows the controller to sample incoming data at the same time it is transmitting data. Table 4.13 lists the data that will be sent and received in each frame. The configuration of the codec occurs first, followed by the sending of audio data. 20

28 Frame To Codec (pos BIT_CLK) From Codec (neg BIT_CLK) 0 Apply Reset n/a 1 Read Status Register (0x26) n/a 2 None Status Register Response (0x26) 3 Write Master Volume (0x02) n/a 4 Write Status and Control (0x2A) n/a 5 Write Audio Frequency (0x2C) n/a 6 None Read Slot Request 1 7 Send Audio 1 Read Slot Request 2 8 Send Audio 2 Read Slot Request 3 N Send Audio M n/a Table 4.13 AC97 Frame Summary The Verilog contains two always blocks. One block operates on the negative edge of BIT_CLK and is used to process the incoming data from the codec. The data processed in this block is either codec register readback data or slot requests. The second always block operates on the positive edge of BIT_CLK and either writes data to codec registers or sends audio data to the codec RECEIVING DATA FROM THE CODEC The function of the posedge always block is to receive data from the codec. A frame boundary is defined by the SYNC signal. The block is setup to operate in two states. 21

29 State 0 (Idle State) The block will wait in state 0 for the assertion of the SYNC signal to indicate the start of a frame. When SYNC is detected, execution will proceed to State State 1 (Receive Data) In State 1 the incoming data from the codec is processed. The first bit in a frame indicates the codec ready status. If this bit is high the codec is ready to receive audio data. However, if the codec is not ready, the processing of all the remaining incoming slot data from the codec is skipped for the current frame. When the codec indicates it is ready, the remaining data from the codec will be captured. The tag header (slot 0), indicating which of the remaining slots contains valid data, is captured next. The code will immediately examine the just-received slot 1 and slot2 valid bits and if valid, will latch the slot1 and slot2 data into registers. If slot1 or 2 are not indicated as valid, the slot 1 or 2 data will be ignored. Under normal operations (all expected validity bits valid) the code will store the codec readback register address and data and the slot request bits in separate registers. When the end of the frame is reached, PCM left and right channel request flags are set based on the values in the slot request register. These are set at the end of the input frame and are used by the output frame that immediately follows. Having the output frame use these separate slot request flags rather than the values in the slot request register directly ensures that an output frame will only send audio data if a slot request was made during the previous input frame. 22

30 Figure 4.4 AC97 Controller Input State Machine SENDING DATA TO THE CODEC State 0 (Initial State) In this the code will wait until the application of an external DIP switch before asserting the interrupt to the ARM requesting it to begin transferring PCM samples to the FPGA. Execution will next proceed to state State 1 (Idle State) In this state the code checks the empty flags of both FIFOs. If the FIFOs contain data execution will proceed to state State 2 (Send Slot 0: Frame Header) In state 2 the frame header (slot 0) is sent. This data indicates which of the remaining slots (1-12) are valid. Table 4.13 shows which type of data will be sent in each successive frame. A frame counter is maintained so that the correct type of data will be sent for each frame. (Certain frames are register writes, while others are audio data.) When the last bit of the header is sent, SYNC will be lowered. 23

31 State 3 (Send Slots 1-2: Commands and Data) In state 3 the codec commands and data (slots 1 and 2) are sent. If a read command is issued then slot 2 will be filled with zeros. If no audio data is being sent in this frame then the command and data slots will be filled with zeros. Execution will then proceed to state 6 (where empty data is sent, on account of slots 3-12 being unused), with the BIT CLK counter value set to 200 (indicating that 200 more BIT CLKs make up the slot 3-12 portion of the frame). If audio data is to be sent execution will proceed to state 4. If a left or right channel slot request has been made by the codec, indicating that audio data may be sent, the program will read the next PCM sample from the appropriate FIFO in preparation for sending the data during states 4 and State 4 (Send Slot 3: PCM Left Data) In state 4 the PCM Left data (Slot 3) is sent if the PCM Left Slot Request flag is enabled. (The audio data having been loaded into a local register during state 3.) State 5 (Send Slot 4: PCM Right Data) In state 5 the PCM Right data (Slot 4) is sent if the PCM Right Slot Request flag is enabled. (The audio data having been loaded in to a local register during state 3.) State 6 (Send Slots 5-12: Empty) Slots 5-12 are not used in this application. The BIT CLK counter will be set to 160 to count down the remaining BIT CLKs during these unused slots. Only zeros will be sent to the codec in this state. If during the current frame no audio was sent the BIT CLK counter will be set to 200 indicating that slots 3-12 are unused. When the BIT CLK counter reaches 1 the program will check the FIFO almost empty flags. If either FIFO is almost empty, the ARM will be signaled via interrupt to transfer more PCM samples. At the end of state 6, the program is ready to send the next AC97 frame, so execution will 24

32 return to state 2. If at the end of state 6, if both FIFOs are empty it is an indication that there are no additional PCM samples to be transferred from the ARM and execution will return to state 0, the initial state. 25

33 Figure 4.5 AC97 Controller Output State Machine 26

34 5. TESTING AND RESULTS 5.1. Testing Several methods to aid testing and debug were employed. A row of 8 LEDs is included on the TLL5000 board. LEDs[2:0] are configured to display the current state in the AC97 output state machine. LED[3] is configured to show when an interrupt occurred. LEDs[4:5] are configured to show the state of each FIFO. (The LED is wired to the compliment of the FIFO empty flag, so a lit LED is an indication that the FIFO contains data.) LEDs[6:7] are configured to indicate if a L or R channel slot request was sent from the AC97. The DIP switches on the board were also utilized to hold the execution in a particular state and to verify correct state transitions. The weak link in the debugging process was the ability to examine the serial data stream to and from the codec. Ideally a logic analyzer would be used to examine all the signals at once data. A logic analyzer would allow the capturing of an entire input and output frame to allow for more rapid debugging. 27

35 5.2. FPGA Synthesis Results The following table shows the device utilization summary after generating the RTL for the AC97 Controller with the Xilinx ISE tool. Logic Utilization Used Available Utilization Number of Slice Flip Flops % Number of 4 input LUTs % Logic Distribution Number of occupied Slices % Number of Slices containing only related logic % Number of Slices containing unrelated logic % Total Number of 4 input LUTs % Number used as logic 456 Number used a route-thru 55 Number of bonded IOBs % Number of bonded IOB Flip Flops 32 Number of RAMB16s % Number of BUFGMUXs % Table 5.1 Device Utilization Summary 28

36 The following table summarizes the components used. Component Number Component Number ROMs 1 Comparators 10 8x16-bit ROM 1 3-bit comparator less 1 Adders/Subtractors 4 8-bit comparator greatequal 1 3-bit adder 1 8-bit comparator greater 4 8-bit subtractor 1 8-bit comparator less 3 9-bit adder 1 8-bit comparator lessequal 1 9-bit subtractor 1 Multiplexers 7 Counters 1 1-bit 16-to-1 multiplexer 3 8-bit up counter 1 1-bit 20-to-1 multiplexer 2 Registers 42 3-bit 8-to-1 multiplexer 1 1-bit registers 32 8-bit 8-to-1 multiplexer 1 16-bit registers 3 Tristates 1 20-bit registers 4 32-bit tristate buffer 1 3-bit registers 2 8-bit registers 1 Table 5.2 Component Summary 29

37 The following table summarizes the clock characteristics. Clock Net Resource Fanout Net Skew (ns) Max Delay (ns) AC_BIT_CLK_BUFGP BUFGMUX MZ_CPLD_CLKO_BUFGP BUFGMUX Table 5.3 Clock Summary 30

38 REFERENCES [1] Analog Devices. AC 97 SoundMAX Codec. Revision A [2] Pramod Chandraiah and Rainer Dömer. Specification and Design of a MP3 Decoder. Center for Embedded Computer Systems, University of California, Irvine.. May [3] Andreas Gerstlauer, Dogwan Shin, Samar Abdi, Pramod Chandraiah, Daniel Gajski. Design of a MP3 Decoder using the System-On-Chip Environment (SCE). Center for Embedded Computer Systems, University of California, Irvine. November 2007 [4] The Learning Labs. TLL5000 Electronic System Design Base Module User Guide. Version [5] The Learning Labs. TLL6219 Embedded Systems Design Module User Guide. Version [6] The Learning Labs. AC 97 Audio Codec [7] Intel. Audio Codec 97. Revision 2.3. April [8] Xilinx. LogicCore IP FIFO Generator v4.3 User Guide. Revision 8.0. March [9] Xilinx. Spartan-3 Generation FPGA User Guide. Revision 1.5. January

39 VITA The author is a 2001 graduate of Lehigh University with a degree in computer engineering. He has worked for Northrop Grumman, AAI Test Systems (formerly Symtx), and now Motorola as a test engineer. Permanent joel.williams7@gmail.com This report was typed by Joel Thomas Williams. 32

MP3 Player CSEE 4840 SPRING 2010 PROJECT DESIGN. zl2211@columbia.edu. ml3088@columbia.edu

MP3 Player CSEE 4840 SPRING 2010 PROJECT DESIGN. zl2211@columbia.edu. ml3088@columbia.edu MP3 Player CSEE 4840 SPRING 2010 PROJECT DESIGN Zheng Lai Zhao Liu Meng Li Quan Yuan zl2215@columbia.edu zl2211@columbia.edu ml3088@columbia.edu qy2123@columbia.edu I. Overview Architecture The purpose

More information

SDLC Controller. Documentation. Design File Formats. Verification

SDLC Controller. Documentation. Design File Formats. Verification January 15, 2004 Product Specification 11 Stonewall Court Woodcliff Lake, NJ 07677 USA Phone: +1-201-391-8300 Fax: +1-201-391-8694 E-mail: info@cast-inc.com URL: www.cast-inc.com Features AllianceCORE

More information

NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter

NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter Description: The NTE2053 is a CMOS 8 bit successive approximation Analog to Digital converter in a 20 Lead DIP type package which uses a differential

More information

Specification and Design of a Video Phone System

Specification and Design of a Video Phone System Specification and Design of a Video Phone System PROJECT REPORT G roup Members: -Diego Anzola -H anirizk Contents Introduction Functional Description - Spec. Components Controller Memory Management Feasibility

More information

LogiCORE IP AXI Performance Monitor v2.00.a

LogiCORE IP AXI Performance Monitor v2.00.a LogiCORE IP AXI Performance Monitor v2.00.a Product Guide Table of Contents IP Facts Chapter 1: Overview Target Technology................................................................. 9 Applications......................................................................

More information

Hello, and welcome to this presentation of the STM32 Serial Audio Interface. I will present the features of this interface, which is used to connect

Hello, and welcome to this presentation of the STM32 Serial Audio Interface. I will present the features of this interface, which is used to connect Hello, and welcome to this presentation of the STM32 Serial Audio Interface. I will present the features of this interface, which is used to connect external audio devices 1 The Serial Audio Interface,

More information

Computer Performance. Topic 3. Contents. Prerequisite knowledge Before studying this topic you should be able to:

Computer Performance. Topic 3. Contents. Prerequisite knowledge Before studying this topic you should be able to: 55 Topic 3 Computer Performance Contents 3.1 Introduction...................................... 56 3.2 Measuring performance............................... 56 3.2.1 Clock Speed.................................

More information

System-On Chip Modeling and Design A case study on MP3 Decoder

System-On Chip Modeling and Design A case study on MP3 Decoder System-On Chip Modeling and Design A case study on MP3 Decoder Pramod Chandraiah, Hans Gunar Schirner, Nirupama Srinivas and Rainer Doemer CECS Technical Report 04-17 June 21, 2004 Center for Embedded

More information

Below is a diagram explaining the data packet and the timing related to the mouse clock while receiving a byte from the PS-2 mouse:

Below is a diagram explaining the data packet and the timing related to the mouse clock while receiving a byte from the PS-2 mouse: PS-2 Mouse: The Protocol: For out mini project we designed a serial port transmitter receiver, which uses the Baud rate protocol. The PS-2 port is similar to the serial port (performs the function of transmitting

More information

Audio Codec 97. Revision 2.3 Revision 1.0 April, 2002

Audio Codec 97. Revision 2.3 Revision 1.0 April, 2002 Audio Codec 97 Revision 2.3 Revision 1.0 April, 2002 NOTICES Intel Corporation assumes no responsibility for errors or omissions in the guide. Nor does Intel make any commitment to update the information

More information

150127-Microprocessor & Assembly Language

150127-Microprocessor & Assembly Language Chapter 3 Z80 Microprocessor Architecture The Z 80 is one of the most talented 8 bit microprocessors, and many microprocessor-based systems are designed around the Z80. The Z80 microprocessor needs an

More information

Technical Note. Micron NAND Flash Controller via Xilinx Spartan -3 FPGA. Overview. TN-29-06: NAND Flash Controller on Spartan-3 Overview

Technical Note. Micron NAND Flash Controller via Xilinx Spartan -3 FPGA. Overview. TN-29-06: NAND Flash Controller on Spartan-3 Overview Technical Note TN-29-06: NAND Flash Controller on Spartan-3 Overview Micron NAND Flash Controller via Xilinx Spartan -3 FPGA Overview As mobile product capabilities continue to expand, so does the demand

More information

Glitch Free Frequency Shifting Simplifies Timing Design in Consumer Applications

Glitch Free Frequency Shifting Simplifies Timing Design in Consumer Applications Glitch Free Frequency Shifting Simplifies Timing Design in Consumer Applications System designers face significant design challenges in developing solutions to meet increasingly stringent performance and

More information

Design and Verification of Nine port Network Router

Design and Verification of Nine port Network Router Design and Verification of Nine port Network Router G. Sri Lakshmi 1, A Ganga Mani 2 1 Assistant Professor, Department of Electronics and Communication Engineering, Pragathi Engineering College, Andhra

More information

UMBC. ISA is the oldest of all these and today s computers still have a ISA bus interface. in form of an ISA slot (connection) on the main board.

UMBC. ISA is the oldest of all these and today s computers still have a ISA bus interface. in form of an ISA slot (connection) on the main board. Bus Interfaces Different types of buses: ISA (Industry Standard Architecture) EISA (Extended ISA) VESA (Video Electronics Standards Association, VL Bus) PCI (Periheral Component Interconnect) USB (Universal

More information

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai 2007. Jens Onno Krah

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai 2007. Jens Onno Krah (DSF) Soft Core Prozessor NIOS II Stand Mai 2007 Jens Onno Krah Cologne University of Applied Sciences www.fh-koeln.de jens_onno.krah@fh-koeln.de NIOS II 1 1 What is Nios II? Altera s Second Generation

More information

USB - FPGA MODULE (PRELIMINARY)

USB - FPGA MODULE (PRELIMINARY) DLP-HS-FPGA LEAD-FREE USB - FPGA MODULE (PRELIMINARY) APPLICATIONS: - Rapid Prototyping - Educational Tool - Industrial / Process Control - Data Acquisition / Processing - Embedded Processor FEATURES:

More information

Digital Guitar Effects Pedal

Digital Guitar Effects Pedal Digital Guitar Effects Pedal 01001000100000110000001000001100 010010001000 Jonathan Fong John Shefchik Advisor: Dr. Brian Nutter SPRP499 Texas Tech University jonathan.fong@ttu.edu Presentation Outline

More information

Timer A (0 and 1) and PWM EE3376

Timer A (0 and 1) and PWM EE3376 Timer A (0 and 1) and PWM EE3376 General Peripheral Programming Model Each peripheral has a range of addresses in the memory map peripheral has base address (i.e. 0x00A0) each register used in the peripheral

More information

International Journal of Advancements in Research & Technology, Volume 2, Issue3, March -2013 1 ISSN 2278-7763

International Journal of Advancements in Research & Technology, Volume 2, Issue3, March -2013 1 ISSN 2278-7763 International Journal of Advancements in Research & Technology, Volume 2, Issue3, March -2013 1 FPGA IMPLEMENTATION OF HARDWARE TASK MANAGEMENT STRATEGIES Assistant professor Sharan Kumar Electronics Department

More information

A New Paradigm for Synchronous State Machine Design in Verilog

A New Paradigm for Synchronous State Machine Design in Verilog A New Paradigm for Synchronous State Machine Design in Verilog Randy Nuss Copyright 1999 Idea Consulting Introduction Synchronous State Machines are one of the most common building blocks in modern digital

More information

CHAPTER 11: Flip Flops

CHAPTER 11: Flip Flops CHAPTER 11: Flip Flops In this chapter, you will be building the part of the circuit that controls the command sequencing. The required circuit must operate the counter and the memory chip. When the teach

More information

Counters and Decoders

Counters and Decoders Physics 3330 Experiment #10 Fall 1999 Purpose Counters and Decoders In this experiment, you will design and construct a 4-bit ripple-through decade counter with a decimal read-out display. Such a counter

More information

Web Site: www.parallax.com Forums: forums.parallax.com Sales: sales@parallax.com Technical: support@parallax.com

Web Site: www.parallax.com Forums: forums.parallax.com Sales: sales@parallax.com Technical: support@parallax.com Web Site: www.parallax.com Forums: forums.parallax.com Sales: sales@parallax.com Technical: support@parallax.com Office: (916) 624-8333 Fax: (916) 624-83 Sales: (888) 512-124 Tech Support: (888) 997-8267

More information

AXI Performance Monitor v5.0

AXI Performance Monitor v5.0 AXI Performance Monitor v5.0 LogiCORE IP Product Guide Vivado Design Suite Table of Contents IP Facts Chapter 1: Overview Advanced Mode...................................................................

More information

DDS. 16-bit Direct Digital Synthesizer / Periodic waveform generator Rev. 1.4. Key Design Features. Block Diagram. Generic Parameters.

DDS. 16-bit Direct Digital Synthesizer / Periodic waveform generator Rev. 1.4. Key Design Features. Block Diagram. Generic Parameters. Key Design Features Block Diagram Synthesizable, technology independent VHDL IP Core 16-bit signed output samples 32-bit phase accumulator (tuning word) 32-bit phase shift feature Phase resolution of 2π/2

More information

Chapter 2 Logic Gates and Introduction to Computer Architecture

Chapter 2 Logic Gates and Introduction to Computer Architecture Chapter 2 Logic Gates and Introduction to Computer Architecture 2.1 Introduction The basic components of an Integrated Circuit (IC) is logic gates which made of transistors, in digital system there are

More information

AN3998 Application note

AN3998 Application note Application note PDM audio software decoding on STM32 microcontrollers 1 Introduction This application note presents the algorithms and architecture of an optimized software implementation for PDM signal

More information

Ogg Vorbis Audio Decoder Jon Stritar and Matt Papi 6.111 December 14, 2005

Ogg Vorbis Audio Decoder Jon Stritar and Matt Papi 6.111 December 14, 2005 Ogg Vorbis Audio Decoder Jon Stritar and Matt Papi 6.111 December 14, 2005 Abstract The goal of this project was to design and implement an Ogg Vorbis decoder in hardware. Ogg Vorbis is a highly dynamic

More information

Interfacing Analog to Digital Data Converters

Interfacing Analog to Digital Data Converters Converters In most of the cases, the PIO 8255 is used for interfacing the analog to digital converters with microprocessor. We have already studied 8255 interfacing with 8086 as an I/O port, in previous

More information

Command Processor for MPSSE and MCU Host Bus Emulation Modes

Command Processor for MPSSE and MCU Host Bus Emulation Modes Future Technology Devices International Ltd. Application Note AN_108 Command Processor for MPSSE and MCU Host Bus Emulation Modes Document Reference No.: FT_000109 Version 1.5 Issue Date: 2011-09-09 This

More information

Chapter 1 Computer System Overview

Chapter 1 Computer System Overview Operating Systems: Internals and Design Principles Chapter 1 Computer System Overview Eighth Edition By William Stallings Operating System Exploits the hardware resources of one or more processors Provides

More information

A low-cost, connection aware, load-balancing solution for distributing Gigabit Ethernet traffic between two intrusion detection systems

A low-cost, connection aware, load-balancing solution for distributing Gigabit Ethernet traffic between two intrusion detection systems Iowa State University Digital Repository @ Iowa State University Graduate Theses and Dissertations Graduate College 2010 A low-cost, connection aware, load-balancing solution for distributing Gigabit Ethernet

More information

PCM Encoding and Decoding:

PCM Encoding and Decoding: PCM Encoding and Decoding: Aim: Introduction to PCM encoding and decoding. Introduction: PCM Encoding: The input to the PCM ENCODER module is an analog message. This must be constrained to a defined bandwidth

More information

Manchester Encoder-Decoder for Xilinx CPLDs

Manchester Encoder-Decoder for Xilinx CPLDs Application Note: CoolRunner CPLDs R XAPP339 (v.3) October, 22 Manchester Encoder-Decoder for Xilinx CPLDs Summary This application note provides a functional description of VHDL and Verilog source code

More information

Quick Start. Guide. The. Guide

Quick Start. Guide. The. Guide Quick Start 1 Quick Start Introducing VirtualDub Working with video requires a variety of tools to achieve the best possible results. re are some processes for which dedicated-purpose tools can be invaluable

More information

Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts)

Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts) Dr. Greg Tumbush, gtumbush@uccs.edu Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts) Objective The objective of lab assignments 5 through 9 are to systematically design and implement

More information

AVR151: Setup and Use of the SPI. Introduction. Features. Atmel AVR 8-bit Microcontroller APPLICATION NOTE

AVR151: Setup and Use of the SPI. Introduction. Features. Atmel AVR 8-bit Microcontroller APPLICATION NOTE Atmel AVR 8-bit Microcontroller AVR151: Setup and Use of the SPI APPLICATION NOTE Introduction This application note describes how to set up and use the on-chip Serial Peripheral Interface (SPI) of the

More information

Modeling Sequential Elements with Verilog. Prof. Chien-Nan Liu TEL: 03-4227151 ext:34534 Email: jimmy@ee.ncu.edu.tw. Sequential Circuit

Modeling Sequential Elements with Verilog. Prof. Chien-Nan Liu TEL: 03-4227151 ext:34534 Email: jimmy@ee.ncu.edu.tw. Sequential Circuit Modeling Sequential Elements with Verilog Prof. Chien-Nan Liu TEL: 03-4227151 ext:34534 Email: jimmy@ee.ncu.edu.tw 4-1 Sequential Circuit Outputs are functions of inputs and present states of storage elements

More information

Programming Audio Applications in the i.mx21 MC9328MX21

Programming Audio Applications in the i.mx21 MC9328MX21 Freescale Semiconductor Application Note Document Number: AN2628 Rev. 1, 10/2005 Programming Audio Applications in the MC9328MX21 by: Alfred Sin 1 Abstract The MC9328MX21 () processor has two dedicated

More information

C-Media CMI9761A / 9761A+ 6 Channel AC 97 2.3 Audio Codec

C-Media CMI9761A / 9761A+ 6 Channel AC 97 2.3 Audio Codec CMedia CMI9761A / 9761A+ 6 Channel AC 97 2.3 Audio Codec DataSheet, Revision 1.2 Feb. 9, 2004 CMedia Electronics, Inc. 6F, 100, Sec. 4, Civil Boulevard, Taipei, Taiwan 106, R.O.C. TEL: 886287731100 FAX:

More information

Hello, and welcome to this presentation of the STM32 SDMMC controller module. It covers the main features of the controller which is used to connect

Hello, and welcome to this presentation of the STM32 SDMMC controller module. It covers the main features of the controller which is used to connect Hello, and welcome to this presentation of the STM32 SDMMC controller module. It covers the main features of the controller which is used to connect the CPU to an SD card, MMC card, or an SDIO device.

More information

HD44780U (LCD-II) (Dot Matrix Liquid Crystal Display Controller/Driver)

HD44780U (LCD-II) (Dot Matrix Liquid Crystal Display Controller/Driver) HD4478U (LCD-II) (Dot Matrix Liquid Crystal Display Controller/Driver) Description The HD4478U dot-matrix liquid crystal display controller and driver LSI displays alphanumerics, Japanese kana characters,

More information

A+ Guide to Managing and Maintaining Your PC, 7e. Chapter 1 Introducing Hardware

A+ Guide to Managing and Maintaining Your PC, 7e. Chapter 1 Introducing Hardware A+ Guide to Managing and Maintaining Your PC, 7e Chapter 1 Introducing Hardware Objectives Learn that a computer requires both hardware and software to work Learn about the many different hardware components

More information

Application Note: AN00103 Enabling DSD256 in the USB Audio 2.0 Device Reference Design Software

Application Note: AN00103 Enabling DSD256 in the USB Audio 2.0 Device Reference Design Software Application Note: AN00103 Enabling DSD256 in the USB Audio 2.0 Device Reference Design Software The XMOS USB Audio 2.0 device software reference design software supports stereo DSD64 and DSD128 streaming

More information

COMPACT DISK STANDARDS & SPECIFICATIONS

COMPACT DISK STANDARDS & SPECIFICATIONS COMPACT DISK STANDARDS & SPECIFICATIONS History: At the end of 1982, the Compact Disc Digital Audio (CD-DA) was introduced. This optical disc digitally stores audio data in high quality stereo. The CD-DA

More information

73M1866B/73M1966B FXOCTL Application User Guide November 2, 2009 Rev. 4.1 UG_1x66B_009

73M1866B/73M1966B FXOCTL Application User Guide November 2, 2009 Rev. 4.1 UG_1x66B_009 Simplifying System Integration TM 73M1866B/73M1966B FXOCTL Application User Guide November 2, 2009 Rev. 4.1 73M1866B/73M1966B FXOCTL Application User Guide 2009 Teridian Semiconductor Corporation. All

More information

8-ch RAID0 Design by using SATA Host IP Manual Rev1.0 9-Jun-15

8-ch RAID0 Design by using SATA Host IP Manual Rev1.0 9-Jun-15 8-ch RAID0 Design by using SATA Host IP Manual Rev1.0 9-Jun-15 1 Overview RAID0 system uses multiple storages to extend total storage capacity and increase write/read performance to be N times. Assumed

More information

RAPID PROTOTYPING OF DIGITAL SYSTEMS Second Edition

RAPID PROTOTYPING OF DIGITAL SYSTEMS Second Edition RAPID PROTOTYPING OF DIGITAL SYSTEMS Second Edition A Tutorial Approach James O. Hamblen Georgia Institute of Technology Michael D. Furman Georgia Institute of Technology KLUWER ACADEMIC PUBLISHERS Boston

More information

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com Best Practises for LabVIEW FPGA Design Flow 1 Agenda Overall Application Design Flow Host, Real-Time and FPGA LabVIEW FPGA Architecture Development FPGA Design Flow Common FPGA Architectures Testing and

More information

Video and Audio Codecs: How Morae Uses Them

Video and Audio Codecs: How Morae Uses Them Video and Audio Codecs: How Morae Uses Them What is a Codec? Codec is an acronym that stands for "compressor/decompressor." A codec is an algorithm a specialized computer program that compresses data when

More information

USB2.0 <=> I2C V4.4. Konverter Kabel und Box mit Galvanischetrennung

USB2.0 <=> I2C V4.4. Konverter Kabel und Box mit Galvanischetrennung USB2.0 I2C V4.4 Konverter Kabel und Box mit Galvanischetrennung USB 2.0 I2C Konverter Kabel V4.4 (Prod. Nr. #210) USB Modul: Nach USB Spezifikation 2.0 & 1.1 Unterstützt automatisch "handshake

More information

PART B QUESTIONS AND ANSWERS UNIT I

PART B QUESTIONS AND ANSWERS UNIT I PART B QUESTIONS AND ANSWERS UNIT I 1. Explain the architecture of 8085 microprocessor? Logic pin out of 8085 microprocessor Address bus: unidirectional bus, used as high order bus Data bus: bi-directional

More information

UART IP Core Specification. Author: Jacob Gorban gorban@opencores.org

UART IP Core Specification. Author: Jacob Gorban gorban@opencores.org UART IP Core Specification Author: Jacob Gorban gorban@opencores.org Rev. 0.6 August 11, 2002 This page has been intentionally left blank Revision History Rev. Date Author Description 0.1 Jacob Gorban

More information

Modeling Registers and Counters

Modeling Registers and Counters Lab Workbook Introduction When several flip-flops are grouped together, with a common clock, to hold related information the resulting circuit is called a register. Just like flip-flops, registers may

More information

Lesson 10:DESIGN PROCESS EXAMPLES Automatic Chocolate vending machine, smart card and digital camera

Lesson 10:DESIGN PROCESS EXAMPLES Automatic Chocolate vending machine, smart card and digital camera Lesson 10:DESIGN PROCESS EXAMPLES Automatic Chocolate vending machine, smart card and digital camera 1 Automatic Chocolate Vending Machine (ACVM) 2 Diagrammatic representation of ACVM Keypad for user Interface

More information

7a. System-on-chip design and prototyping platforms

7a. System-on-chip design and prototyping platforms 7a. System-on-chip design and prototyping platforms Labros Bisdounis, Ph.D. Department of Computer and Communication Engineering 1 What is System-on-Chip (SoC)? System-on-chip is an integrated circuit

More information

Chapter 02: Computer Organization. Lesson 04: Functional units and components in a computer organization Part 3 Bus Structures

Chapter 02: Computer Organization. Lesson 04: Functional units and components in a computer organization Part 3 Bus Structures Chapter 02: Computer Organization Lesson 04: Functional units and components in a computer organization Part 3 Bus Structures Objective: Understand the IO Subsystem and Understand Bus Structures Understand

More information

Application Note 132. Introduction. Voice Video and Data Communications using a 2-Port Switch and Generic Bus Interface KSZ8842-16MQL/MVL

Application Note 132. Introduction. Voice Video and Data Communications using a 2-Port Switch and Generic Bus Interface KSZ8842-16MQL/MVL Application Note 132 Voice Video and Data Communications using a 2-Port Switch and Generic Bus Interface KSZ42-16MQL/MVL Introduction The IP-Telephony market is booming, due to the ease of use of the technology

More information

Using Altera MAX Series as Microcontroller I/O Expanders

Using Altera MAX Series as Microcontroller I/O Expanders 2014.09.22 Using Altera MAX Series as Microcontroller I/O Expanders AN-265 Subscribe Many microcontroller and microprocessor chips limit the available I/O ports and pins to conserve pin counts and reduce

More information

Learning Outcomes. Simple CPU Operation and Buses. Composition of a CPU. A simple CPU design

Learning Outcomes. Simple CPU Operation and Buses. Composition of a CPU. A simple CPU design Learning Outcomes Simple CPU Operation and Buses Dr Eddie Edwards eddie.edwards@imperial.ac.uk At the end of this lecture you will Understand how a CPU might be put together Be able to name the basic components

More information

ARM Ltd 110 Fulbourn Road, Cambridge, CB1 9NJ, UK. *peter.harrod@arm.com

ARM Ltd 110 Fulbourn Road, Cambridge, CB1 9NJ, UK. *peter.harrod@arm.com Serial Wire Debug and the CoreSight TM Debug and Trace Architecture Eddie Ashfield, Ian Field, Peter Harrod *, Sean Houlihane, William Orme and Sheldon Woodhouse ARM Ltd 110 Fulbourn Road, Cambridge, CB1

More information

Implementing a Digital Answering Machine with a High-Speed 8-Bit Microcontroller

Implementing a Digital Answering Machine with a High-Speed 8-Bit Microcontroller Implementing a Digital Answering Machine with a High-Speed 8-Bit Microcontroller Zafar Ullah Senior Application Engineer Scenix Semiconductor Inc. Leo Petropoulos Application Manager Invox TEchnology 1.0

More information

Starlink 9003T1 T1/E1 Dig i tal Trans mis sion Sys tem

Starlink 9003T1 T1/E1 Dig i tal Trans mis sion Sys tem Starlink 9003T1 T1/E1 Dig i tal Trans mis sion Sys tem A C ombining Moseley s unparalleled reputation for high quality RF aural Studio-Transmitter Links (STLs) with the performance and speed of today s

More information

Lesson 7: SYSTEM-ON. SoC) AND USE OF VLSI CIRCUIT DESIGN TECHNOLOGY. Chapter-1L07: "Embedded Systems - ", Raj Kamal, Publs.: McGraw-Hill Education

Lesson 7: SYSTEM-ON. SoC) AND USE OF VLSI CIRCUIT DESIGN TECHNOLOGY. Chapter-1L07: Embedded Systems - , Raj Kamal, Publs.: McGraw-Hill Education Lesson 7: SYSTEM-ON ON-CHIP (SoC( SoC) AND USE OF VLSI CIRCUIT DESIGN TECHNOLOGY 1 VLSI chip Integration of high-level components Possess gate-level sophistication in circuits above that of the counter,

More information

AVR32788: AVR 32 How to use the SSC in I2S mode. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR32788: AVR 32 How to use the SSC in I2S mode. 32-bit Microcontrollers. Application Note. Features. 1 Introduction AVR32788: AVR 32 How to use the SSC in I2S mode Features I²S protocol overview I²S on the AVR32 I²S sample rate configurations Example of use with AT32UC3A on EVK1105 board 32-bit Microcontrollers Application

More information

The I2C Bus. NXP Semiconductors: UM10204 I2C-bus specification and user manual. 14.10.2010 HAW - Arduino 1

The I2C Bus. NXP Semiconductors: UM10204 I2C-bus specification and user manual. 14.10.2010 HAW - Arduino 1 The I2C Bus Introduction The I2C-bus is a de facto world standard that is now implemented in over 1000 different ICs manufactured by more than 50 companies. Additionally, the versatile I2C-bus is used

More information

Position of the RDS signal in the modulation spectrum... 3 RDS groups... 3 Group Format... 4 Error Correction and Synchronization...

Position of the RDS signal in the modulation spectrum... 3 RDS groups... 3 Group Format... 4 Error Correction and Synchronization... RDS Basics The RDS service (Radio Data System)... 2 RDS features... 2 Alternate Frequency (AF/EON)... 2 Traffic Announcement / Traffic Program Indication (TA/TP)... 2 TMC - Traffic Information via Traffic

More information

a8251 Features General Description Programmable Communications Interface

a8251 Features General Description Programmable Communications Interface a8251 Programmable Communications Interface June 1997, ver. 2 Data Sheet Features a8251 MegaCore function that provides an interface between a microprocessor and a serial communication channel Optimized

More information

DS1621 Digital Thermometer and Thermostat

DS1621 Digital Thermometer and Thermostat Digital Thermometer and Thermostat www.dalsemi.com FEATURES Temperature measurements require no external components Measures temperatures from 55 C to +125 C in 0.5 C increments. Fahrenheit equivalent

More information

Disturbance Recoder SPCR 8C27. Product Guide

Disturbance Recoder SPCR 8C27. Product Guide Issued: April 1999 Status: Updated Version: C/26.04.2006 Data subject to change without notice Features Versatile digital disturbance recorder module for recording various phenomena in the electric power

More information

Design and Implementation of Vending Machine using Verilog HDL

Design and Implementation of Vending Machine using Verilog HDL 2011 2nd International Conference on Networking and Information Technology IPCSIT vol.17 (2011) (2011) IACSIT Press, Singapore Design and Implementation of Vending Machine using Verilog HDL Muhammad Ali

More information

The RIDZ 8x2 Audio Switcher

The RIDZ 8x2 Audio Switcher The RIDZ 8x2 Audio Switcher Engineering Manual Support Number 800-765-2930 International 712-852-2813 Table of Contents General Information for the RIDZ (8 x 2) Switcher..... 3 Input 9 on the RIDZ Switcher....6

More information

8 by 8 dot matrix LED displays with Cascadable Serial driver B32CDM8 B48CDM8 B64CDM8 General Description

8 by 8 dot matrix LED displays with Cascadable Serial driver B32CDM8 B48CDM8 B64CDM8 General Description 8 by 8 dot matrix LED displays with Cascadable Serial driver B32CDM8 B48CDM8 B64CDM8 General Description The B32CDM8, B48CDM8 and the B64CDM8 are 8 by 8 (row by column) dot matrix LED displays combined

More information

Welcome to the tutorial for the MPLAB Starter Kit for dspic DSCs

Welcome to the tutorial for the MPLAB Starter Kit for dspic DSCs Welcome to the tutorial for the MPLAB Starter Kit for dspic DSCs Welcome to this tutorial on Microchip s MPLAB Starter Kit for dspic Digital Signal Controllers, or DSCs. The starter kit is an all-in-one

More information

Using FPGAs to Design Gigabit Serial Backplanes. April 17, 2002

Using FPGAs to Design Gigabit Serial Backplanes. April 17, 2002 Using FPGAs to Design Gigabit Serial Backplanes April 17, 2002 Outline System Design Trends Serial Backplanes Architectures Building Serial Backplanes with FPGAs A1-2 Key System Design Trends Need for.

More information

PCI IDE Controller. Specification. Revision 1.0

PCI IDE Controller. Specification. Revision 1.0 PCI IDE Controller Specification Revision 1.0 3/4/94 1.0. Introduction This document defines the necessary characteristics of a PCI-based IDE controller so that device independent software (i.e.; BIOSes)

More information

DS1621 Digital Thermometer and Thermostat

DS1621 Digital Thermometer and Thermostat www.maxim-ic.com FEATURES Temperature measurements require no external components Measures temperatures from -55 C to +125 C in 0.5 C increments. Fahrenheit equivalent is -67 F to 257 F in 0.9 F increments

More information

Eureka Technology. Understanding SD, SDIO and MMC Interface. by Eureka Technology Inc. May 26th, 2011. Copyright (C) All Rights Reserved

Eureka Technology. Understanding SD, SDIO and MMC Interface. by Eureka Technology Inc. May 26th, 2011. Copyright (C) All Rights Reserved Understanding SD, SDIO and MMC Interface by Eureka Technology Inc. May 26th, 2011 Copyright (C) All Rights Reserved Copyright by Eureka Technology Inc. All Rights Reserved Introduction This white paper

More information

The 104 Duke_ACC Machine

The 104 Duke_ACC Machine The 104 Duke_ACC Machine The goal of the next two lessons is to design and simulate a simple accumulator-based processor. The specifications for this processor and some of the QuartusII design components

More information

MicroMag3 3-Axis Magnetic Sensor Module

MicroMag3 3-Axis Magnetic Sensor Module 1008121 R01 April 2005 MicroMag3 3-Axis Magnetic Sensor Module General Description The MicroMag3 is an integrated 3-axis magnetic field sensing module designed to aid in evaluation and prototyping of PNI

More information

Implementing an In-Service, Non- Intrusive Measurement Device in Telecommunication Networks Using the TMS320C31

Implementing an In-Service, Non- Intrusive Measurement Device in Telecommunication Networks Using the TMS320C31 Disclaimer: This document was part of the First European DSP Education and Research Conference. It may have been written by someone whose native language is not English. TI assumes no liability for the

More information

VMR6512 Hi-Fi Audio FM Transmitter Module

VMR6512 Hi-Fi Audio FM Transmitter Module General Description VMR6512 is a highly integrated FM audio signal transmitter module. It integrates advanced digital signal processor (DSP), frequency synthesizer RF power amplifier and matching network.

More information

DOLBY SR-D DIGITAL. by JOHN F ALLEN

DOLBY SR-D DIGITAL. by JOHN F ALLEN DOLBY SR-D DIGITAL by JOHN F ALLEN Though primarily known for their analog audio products, Dolby Laboratories has been working with digital sound for over ten years. Even while talk about digital movie

More information

VoIP network planning guide

VoIP network planning guide VoIP network planning guide Document Reference: Volker Schüppel 08.12.2009 1 CONTENT 1 CONTENT... 2 2 SCOPE... 3 3 BANDWIDTH... 4 3.1 Control data 4 3.2 Audio codec 5 3.3 Packet size and protocol overhead

More information

MICROPROCESSOR. Exclusive for IACE Students www.iace.co.in iacehyd.blogspot.in Ph: 9700077455/422 Page 1

MICROPROCESSOR. Exclusive for IACE Students www.iace.co.in iacehyd.blogspot.in Ph: 9700077455/422 Page 1 MICROPROCESSOR A microprocessor incorporates the functions of a computer s central processing unit (CPU) on a single Integrated (IC), or at most a few integrated circuit. It is a multipurpose, programmable

More information

Network administrators must be aware that delay exists, and then design their network to bring end-to-end delay within acceptable limits.

Network administrators must be aware that delay exists, and then design their network to bring end-to-end delay within acceptable limits. Delay Need for a Delay Budget The end-to-end delay in a VoIP network is known as the delay budget. Network administrators must design a network to operate within an acceptable delay budget. This topic

More information

MANUAL PC1000R INFO@APART-AUDIO.COM

MANUAL PC1000R INFO@APART-AUDIO.COM MANUAL PC1000R INFO@APART-AUDIO.COM Features The APart PC1000R is a professional multisource CD/USB/SD card music player, equipped with balanced and unbalanced analog outputs, coaxial and optical digital

More information

Atmel Norway 2005. XMEGA Introduction

Atmel Norway 2005. XMEGA Introduction Atmel Norway 005 XMEGA Introduction XMEGA XMEGA targets Leadership on Peripheral Performance Leadership in Low Power Consumption Extending AVR market reach XMEGA AVR family 44-100 pin packages 16K 51K

More information

Open Flow Controller and Switch Datasheet

Open Flow Controller and Switch Datasheet Open Flow Controller and Switch Datasheet California State University Chico Alan Braithwaite Spring 2013 Block Diagram Figure 1. High Level Block Diagram The project will consist of a network development

More information

Non-Data Aided Carrier Offset Compensation for SDR Implementation

Non-Data Aided Carrier Offset Compensation for SDR Implementation Non-Data Aided Carrier Offset Compensation for SDR Implementation Anders Riis Jensen 1, Niels Terp Kjeldgaard Jørgensen 1 Kim Laugesen 1, Yannick Le Moullec 1,2 1 Department of Electronic Systems, 2 Center

More information

Project 4: Pseudo USB Simulation Introduction to UNIVERSAL SERIAL BUS (USB) STANDARD

Project 4: Pseudo USB Simulation Introduction to UNIVERSAL SERIAL BUS (USB) STANDARD Project 4: Pseudo USB Simulation Introduction to UNIVERSAL SERIAL BUS (USB) STANDARD The Universal Serial Bus is a fast, bi-directional, low cost, dynamically attachable serial interface. The motivation

More information

PRIMER ON PC AUDIO. Introduction to PC-Based Audio

PRIMER ON PC AUDIO. Introduction to PC-Based Audio PRIMER ON PC AUDIO This document provides an introduction to various issues associated with PC-based audio technology. Topics include the following: Introduction to PC-Based Audio Introduction to Audio

More information

Software Sequencing Basics

Software Sequencing Basics October 12, 1998 software sequencing basics Software Sequencing Basics Supplemental Notes Roland gear is often used in conjunction with a variety of software sequencer programs. The purpose of this document

More information

Building an Embedded Processor System on a Xilinx Zync FPGA (Profiling): A Tutorial

Building an Embedded Processor System on a Xilinx Zync FPGA (Profiling): A Tutorial Building an Embedded Processor System on a Xilinx Zync FPGA (Profiling): A Tutorial Embedded Processor Hardware Design January 29 th 2015. VIVADO TUTORIAL 1 Table of Contents Requirements... 3 Part 1:

More information

The new frontier of the DATA acquisition using 1 and 10 Gb/s Ethernet links. Filippo Costa on behalf of the ALICE DAQ group

The new frontier of the DATA acquisition using 1 and 10 Gb/s Ethernet links. Filippo Costa on behalf of the ALICE DAQ group The new frontier of the DATA acquisition using 1 and 10 Gb/s Ethernet links Filippo Costa on behalf of the ALICE DAQ group DATE software 2 DATE (ALICE Data Acquisition and Test Environment) ALICE is a

More information

Data Acquisition Module with I2C interface «I2C-FLEXEL» User s Guide

Data Acquisition Module with I2C interface «I2C-FLEXEL» User s Guide Data Acquisition Module with I2C interface «I2C-FLEXEL» User s Guide Sensors LCD Real Time Clock/ Calendar DC Motors Buzzer LED dimming Relay control I2C-FLEXEL PS2 Keyboards Servo Motors IR Remote Control

More information

Car Racing Game. Figure 1 The Car Racing Game

Car Racing Game. Figure 1 The Car Racing Game CSEE 4840 Embedded System Design Jing Shi (js4559), Mingxin Huo (mh3452), Yifan Li (yl3250), Siwei Su (ss4483) Car Racing Game -- Project Design 1 Introduction For this Car Racing Game, we would like to

More information

Serial Communications

Serial Communications Serial Communications 1 Serial Communication Introduction Serial communication buses Asynchronous and synchronous communication UART block diagram UART clock requirements Programming the UARTs Operation

More information