Configurable UART with FIFO ver 2.20

Similar documents
Configurable UART ver 2.10

D16750 IP Core. Configurable UART with FIFO v. 2.25

I 2 C Bus Interface - Slave ver 3.08

DQSPI IP Core. Serial Peripheral Interface Master/Slave with single, dual and quad SPI Bus support v. 2.01

RESET CLK RDn WRn CS0 CS1 CS2n DIN[7:0] CTSn DSRn DCDn RXDATA Rin A[2:0] DO[7:0] TxDATA DDIS RTSn DTRn OUT1n OUT2n BAUDOUTn TXRDYn RXRDYn INTRPT

UART Register Set. UART Master Controller. Tx FSM. Rx FSM XMIT FIFO RCVR. i_rx_clk o_intr. o_out1 o_txrdy_n. o_out2 o_rxdy_n i_cs0 i_cs1 i_ads_n

a16450 Features General Description Universal Asynchronous Receiver/Transmitter

C O M P A N Y O V E R V I E W

Revolutionary Quad-Pipelined Ultra High Performance 16/32-bit Microcontroller v. 6.05

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

ST16C552 ST16C552A DUAL UART WITH 16-BYTE FIFO AND PARALLEL PRINTER PORT

SC68C652B. 1. General description. 2. Features

A VHDL UART core

8-bit Microcontroller ver 1.06

=0 Read/Write IER Interrupt Enable Register =1 Read/Write - Divisor Latch High Byte + 2

D68HC11F 8-bit Microcontroller

Pipelined High Performance 8-bit Microcontroller ver 3.10

xr ST16C1550/51 GENERAL DESCRIPTION 2.97V TO 5.5V UART WITH 16-BYTE FIFO

Universal Asynchronous Receiver/Transmitter Core

SC68C2550B. 1. General description. 2. Features. 5 V, 3.3 V and 2.5 V dual UART, 5 Mbit/s (max.), with 16-byte FIFOs and 68 mode µp interface

AvnetCore: Datasheet

Hierarchy of I/O Control Devices

TL16PIR552 DUAL UART WITH DUAL IrDA AND 1284 PARALLEL PORT

Documentation Design File Formats

Laboratory Finite State Machines and Serial Communication

Serial Interfacing. Pulse width of 1 bit

1.8 V single UART, 5 Mbit/s (max.) with 128-byte FIFOs, infrared (IrDA), and XScale VLIO bus interface

Discontinued IP. Block RAMs

TL16C451, TL16C452 ASYNCHRONOUS COMMUNICATIONS ELEMENTS

AN Sleep programming for NXP bridge ICs. Document information

OX16C950 rev B High Performance UART with 128 byte FIFOs

Summer 2003 Lecture 21 07/15/03

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

TMS470R1x Serial Communication Interface (SCI) Reference Guide

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

Typical modules include interfaces to ARINC-429, ARINC-561, ARINC-629 and RS-422. Each module supports up to 8 Rx or 8Tx channels.

Architecture of 8085 microprocessor

DRPIC166X IP Core. High Performance 8-bit RISC Microcontroller v. 2.17

Series PMC520 Octal EIA/TIA-232E Communication Module

Real-Time Embedded Systems. CpE-450 Spring 06

SRL0 Serial Port Unit

Serial Communication. Spring, 2018 Prof. Jungkeun Park

1 MALP ( ) Unit-1. (1) Draw and explain the internal architecture of 8085.

The functional block diagram of 8085A is shown in fig.4.1.

LatticeMico32 UART. Version. Features

2. List the five interrupt pins available in INTR, TRAP, RST 7.5, RST 6.5, RST 5.5.

XR16L784 HIGH PERFORMANCE 2.97V TO 5.5V QUAD UART

QUESTION BANK. EE 6502 / Microprocessor and Microcontroller. Unit I Processor. PART-A (2-Marks)

XR16M V TO 3.63V HIGH PERFORMANCE OCTAL UART WITH 16-BYTE FIFO

V8-uRISC 8-bit RISC Microprocessor AllianceCORE Facts Core Specifics VAutomation, Inc. Supported Devices/Resources Remaining I/O CLBs

DATA COMMUNICATIONS APPLICATION NOTE DAN137

Understanding the basic building blocks of a microcontroller device in general. Knows the terminologies like embedded and external memory devices,

D68HC11K 8-bit Microcontroller

UNIT - II PERIPHERAL INTERFACING WITH 8085

Embedded Systems. Read pages

CHAPTER 5 : Introduction to Intel 8085 Microprocessor Hardware BENG 2223 MICROPROCESSOR TECHNOLOGY

Digital Blocks Semiconductor IP

Sender Receiver Sender

Universal Serial Bus Host Interface on an FPGA

CHAPTER 4 DATA COMMUNICATION MODES

Upper Level Protocols (ULP) Mapping. Common Services. Signaling Protocol. Transmission Protocol (Physical Coding) Physical Interface (PI)

USER S MANUAL. Series IP Industrial I/O Pack Octal EIA/TIA-422B Communication Module

INPUT-OUTPUT ORGANIZATION

Module Introduction. PURPOSE: The intent of this module, is to explain several of the important features of Freescale s i.mx1 applications processor.

USER S MANUAL. Series IP512 Industrial I/O Pack Isolated Quad EIA-485 Communication Module

XR16M554/554D 1.62V TO 3.63V QUAD UART WITH 16-BYTE FIFO

SPART. SPART Design. A Special Purpose Asynchronous Receiver/Transmitter. The objectives of this miniproject are to:

PI7C8952 PCI Dual UART Datasheet Revision 2 September 2017

DoCD IP Core. DCD on Chip Debug System v. 6.02

AL8253 Core Application Note

Chapter 1: Basics of Microprocessor [08 M]

Serial Interfacing. Asynchronous Frame

CZ80CPU 8-Bit Microprocessor Megafunction

Design and development of embedded systems for the Internet of Things (IoT) Fabio Angeletti Fabrizio Gattuso

Asynchronous Transmission. Asynchronous Serial Communications & UARTS

I/O Organization John D. Carpinelli, All Rights Reserved 1

Device: MOD This document Version: 1.0. Matches module version: v3 [29 June 2016] Date: 23 October 2017

CHAPTER 5 REGISTER DESCRIPTIONS

Artisan Technology Group is your source for quality new and certified-used/pre-owned equipment

10GBase-R PCS/PMA Controller Core

Concepts of Serial Communication

AvnetCore: Datasheet

SD Card Controller IP Specification

Addressing scheme to address a specific devices on a multi device bus Enable unaddressed devices to automatically ignore all frames

Lecture 10. Serial Communication

AL8259 Core Application Note

SPART - A Special Purpose Asynchronous Receiver/Transmitter

For technical support and service, please visit our support website at:

These three counters can be programmed for either binary or BCD count.

NS9750B-0. Use in conjunction with: Errata , Rev G. Release date: May Phone: Web:

Overview of Intel 80x86 µp

PI7C8954 PCI Quad UART Datasheet Revision 2 September 2017

XR16L V TO 5.5V DUART WITH 64-BYTE FIFO AND POWERSAVE

ADPCM-LCO Voice Compression Logic Core

ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL. Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS

XR16M V TO 3.63V UART WITH 32-BYTE FIFO AND VLIO INTERFACE

32 Channel HDLC Core V1.2. Applications. LogiCORE Facts. Features. General Description. X.25 Frame Relay B-channel and D-channel

Am186ER/Am188ER AMD continues 16-bit innovation

NS9360. Errata _F. Release date: March 2008

MICROPROCESSOR MICROPROCESSOR. From the above description, we can draw the following block diagram to represent a microprocessor based system: Output

Transcription:

D16550 Configurable UART with FIFO ver 2.20 OVERVIEW The D16550 is a soft Core of a Universal Asynchronous Receiver/Transmitter (UART) functionally identical to the TL16C550A. The D16550 allows serial transmission in two modes: UART mode and FIFO mode. In FIFO mode internal FIFOs are activated allowing 16 bytes (plus 3 bits of error data per byte in the RCVR FIFO) to be stored in both receive and transmit directions. D16550 performs serial-toparallel conversion on data characters received from a peripheral device or a MODEM, and parallel-to-serial conversion on data characters received from the CPU. The CPU can read the complete status of the UART at any time during the functional operation. Status information reported includes the type and condition of the transfer operations being performed by the UART, as well as any error conditions (parity, overrun, framing, or break interrupt). D16550 includes a programmable baud rate generator that is capable of dividing the timing reference clock input by divisors of 1 to (2 16-1), and producing a 16 clock for driving the internal transmitter logic. Provisions are also included to use this 16 clock to drive the receiver logic. The D16550 has complete MODEM control capability, and a processor-interrupt system. Interrupts can be programmed to the user's requirements, minimizing the computing required to handle the communications link. The separate BAUD CLK line allow to set an exact transmission speed, while the UART internal logic is clocked with the CPU frequency. Two DMA modes are supported: single transfer and multi-transfer. These modes allow UART to interface to higher performance DMA units, which can interleave their transfers between CPU cycles or execute multiple byte transfers. The configuration capability allows user to enable or disable during Synthesis process the Modem Logic and FIFO's Logic, change the FIFO size. So in applications with area limitation and where the UART works only in 16450 mode, disabling Modem and FIFO's allow to save about 50% of logic resources. The D16550 has universal microcontroller interface, allows correct communication with D16550 no matter how D16550 clock is related to microcontroller clock. The core is perfect for applications, where the UART Core and microcontroller are clocked by the same clock signal and are implemented inside the same ASIC or FPGA chip, as well as for standalone implementation, where several UARTs are required to be implemented inside a single chip, and driven by some off-chip devices. Thanks to universal interface D16550 core implementation and verification are very simply, by eliminating a number of clock trees in complete system.

APPLICATIONS Serial Data communications applications Modem interface KEY FEATURES Software compatible with 16450 and 16550 UARTs Configuration capability Separate configurable BAUD clock line Two modes of operation: UART mode and FIFO mode Majority Voting Logic In the FIFO mode transmitter and receiver are each buffered with 16 byte FIFO to reduce the number of interrupts presented to the CPU Adds or deletes standard asynchronous communication bits (start, stop, and parity) to or from the serial data In UART mode receiver and transmitter are double buffered to eliminate a need for precise synchronization between the CPU and serial data Independently controlled transmit, receive, line status, and data set interrupts False start bit detection 16 bit programmable baud generator MODEM control functions (CTS, RTS, DSR, DTR, RI, and DCD) Fully programmable serial-interface characteristi: Complete status reporting capabilities Line break generation and detection. Internal diagnostic capabilities: 5-, 6-, 7-, or 8-bit characters Even, odd, or no-parity bit generation and detection 1-, 1½-, or 2-stop bit generation Baud generation Loop-back controls for communications link fault isolation Break, parity, overrun, framing error simulation Two DMA Modes allows single and multitransfer Technology independent HDL Source Code Full prioritized interrupt system controls Fully synthesizable static design with no internal tri-state buffers OPTIONAL FEATURES IEEE 1284 Bidirectional Parallel Data Port Compatible with Standard Centroni Parallel Interface Support for Parallel Protocols: ECP and EPP Data Path 16-Byte FIFO Buffer Direct Memory Access (DMA) Transfer Decompression of Run Length Encoded Data in ECP Reserve Mode Direct Connection to Printer, No External Transceiver is needed Serial Ports with Infrared Data Association (IRDA) inputs and outputs DESIGN FEATURES The functionality of the D16550 core was based on the Texas Instruments TL16C550A. The following characteristi differentiate the D16550 from Texas Instruments devices: The bi-directional data bus has been split into two separate buses:, Signals rd2 and wr2, xin, and xout have been removed from interface Signal ADS and address latch have been removed The DLL, DLM and THR registers are reset to all zeros TEMT and THRE bits of Line Status Register, are reset during the second clock rising edge following a THR write RCLK clock is replaced by global clock CLK, internally divided by BAUD factor. Asynchronous microcontroller interface is replaced by equivalent Universal interface All latches implemented in original 16550 devices are replaced by equivalent flip-flop registers, with the same functionality

Source code: VHDL Source Code or/and VERILOG Source Code or/and Encrypted, or plain text EDIF netlist VHDL VERILOG test bench environment Technical documentation DELIVERABLES Active-HDL automatic simulation macros ModelSim automatic simulation macros Tests with reference responses Installation notes HDL core specification Datasheet Synthesis scripts Example application Technical support IP Core implementation support 3 months maintenance Delivery the IP Core updates, minor and major versions changes Delivery the documentation updates Phone email support CONFIGURATION The following parameters of the D16550 core can be easy adjusted to requirements of dedicated application and technology. Configuration of the core can be prepared by effortless changing appropriate constants in package file. There is no need to change any parts of the code. Baud generator External RCLK source External BAUDCLK source Modem logic SCR Register FIFO logic LICENSING Comprehensible and clearly defined licensing methods without royalty per chip fees make using of IP Core easy and simply. Single Site license option is dedicated for small and middle sized companies making its business in one place. Multi Sites license option is dedicated for corporate customers making its business in several places. Licensed product can be used in selected branches of corporate. In all cases number of IP Core instantiations within a project, and number of manufactured chips are unlimited. The license is royalty per chip free. There is no time of use restrictions. There are two formats of delivered IP Core VHDL, Verilog RTL synthesizable source code called HDL Source FPGA EDIF/NGO/NGD/QXP/VQM called Netlist CPU addr ale we rd int APPLICATION addr latch addr(2:0) D16550 wr rd intr rxrdy txrdy out1 out2 clk rst baudclk rclk so si rts dtr dsr dcd cts ri baudclken rclken Typical D16550 and processor connection is shown in figure above. EIA Drivers

rst clk rclk baudclk SYMBOL address(2:0) wr rd D16550 si cts dsr dcd ri baudclken rclken baudout intr ddis txrdy rxrdy so rts dtr out1 out2 PINS DESCRIPTION PIN TYPE DESCRIPTION rst input Global reset clk input Global clock datai[7:0] input Parallel data input addr[2:0] input Address bus input Chip select input wr input Write input rd input Read input rclk input Receiver clock baudclk input Baud generator clock si input Serial data input cts input Clear to send input dsr input Data set ready input dcd input Data carrier detect input ri input Ring indicator input baudclken input Baud generator clock enable rclken input Receiver clock enable baudout output Baud generator output datao[7:0] output Parallel data output so output Serial data output ddis output Driver disable output txrdy output Transmitter ready output rxrdy output Receiver ready output rts output Request to send output dtr output Data terminal ready output out1 output Output 1 out2 output Output 2 intr output Interrupt request output Note: When enabled RCLK and BAUDCLK pins frequency should be at least two times lower than CLK, 2*f RCLK < f CLK BLOCK DIAGRAM Data Bus Buffer - The data Bus Buffer accepts inputs from the system bus and generates control signals for the other D16550 functional blocks. Address bus ADDR(2:0) selects one of the register to be read from/written into. Both RD and WE signals are active low, and are qualified by CS; RD and WE are ignored unless the D16550 has been selected by holding CS low. addr(2:0) rd wr ddis txrdy rxrdy rts cts dtr dsr dcd ri out1 out2 baudclk baudclken baudout clk rst Data Bus Buffer Modem control logic Baud Generator Receiver Shift Register RCVR Buffer RCVR FIFO Transmitter Shift Register THR Buffer THR FIFO Interrupt ler rclk rclken si Baud Generator - The D16550 contains a programmable 16 bit baud generator that divides clock input by a divisor in the range between 1 and (2 16 1). The output frequency of the baud generator is 16 the baud rate. The formula for the divisor is: frequency divisor = baudrate *16 Two 8-bit registers, called divisor latches DLL and DLM, store the divisor in a 16-bit binary format. These divisor latches must be loaded during initialization of the D16550 in order to ensure desired operation of the baud generator. When either of the divisor latches is loaded, a 16-bit baud counter is also loaded on the CLK rising edge following the write to so intr

DLL or DLM to prevent long counts on initial load. Modem Logic controls the interface with the MODEM or data set (or a peripheral device emulating a MODEM). Interrupt ler - D16550 consists fully prioritized interrupt system controller. It controls interrupt requests to the CPU and interrupt priority. Interrupt controller contains Interrupt Enable (IER) and Interrupt Identification (IIR) registers. Receiver - Receiving starts when the falling edge on Serial Input (SI) during IDLE State is detected. After starting the SI input is sampled every 16 internal baud cycles as it is shown in figure below. When the logic 1 state is detected during START bit it means that the False Start bit was detected and receiver back to the IDLE state. Receiver FIFO - The Rx FIFO is 16 levels deep, it receives data until the number of bytes in the FIFO equals the selected interrupt trigger level. At that time if Rx interrupts are enabled, the UART will issue an interrupt to the CPU. The Rx FIFO will continue to store bytes until it holds 16 of them. It will not accept any more data when it is full. Any more data entering the Rx shift register will set the Overrun Error flag. Transmitter module controls transmission of written to THR (Transmitter Holding register) character via serial output SO. The new transmission starts on the next overflow signal of internal baud generator, after writing to THR register or Transmitter FIFO. Transmission control contains THR register and transmitter shift register. Transmitter FIFO - the Tx portion of the UART transmits data through SO as soon as the CPU loads a byte into the Tx FIFO. The UART will prevent loads to the Tx FIFO if it currently holds 16 characters. Loading to the Tx FIFO will again be enabled as soon as the next character is transferred to the Tx shift register. These capabilities account for the largely autonomous operation of the Tx. The UART starts the above operations typically with a Tx interrupt. PERFORMANCE The following table gives a survey about the Core area and performance in the ACTEL devices after Place Route (all key features have been included): Device Speed grade TILES F max FUSION 1-2 1109 93 MHz ProASIC3 1-2 1109 96 MHz ProASIC3e 1-2 1109 94 MHz IGLOO 1 STD 1109 65 MHz IGLOO+ 1 STD 1109 63 MHz IGLOOe 1 STD 1135 49 MHz 1 - FIFOs implemented in RAM s 304 Bits Core performance in ACTEL devices CONTACT For any modification or special request please contact to Digital Core Design or local distributors. Headquarters: Wroclawska 94 41-902 Bytom, POLAND e-mail: iinfo@dcd.pll info@dcd.pl tel. : +48 32 282 82 66 fax : +48 32 282 74 37 Distributors: Please check l/apartn.php /apartn.php

D16X50 UARTS FAMILY OVERVIEW The family of DCD D16X50 UART IP Cores combine a high performance, low cost, and small compact size, offering the best price/performance ratio in the IP Market. The DCD s Cores are dedicated for use in cost-sensitive consumer products, computer peripherals, office automation, automotive control systems, security and telecommunication applications. The D16X50 IP Cores are written in pure VHDL/VERILOG HDL languages which make them technologically independent. All of the D16X50 IP Cores can be fully customized according to customer needs. Design UARTS number UART Mode FIFO Mode of operation FIFO Size (Bytes) Majority voting logic Separate BAUD Clock line Software Flow RTS/CTS Flow MODEM False START Bit detection Complete status reporting Internal diagnostic capabilities Prioritized interrupt system Break generation and detection IRDA Port 1284 Parallel Port D16450 1 - - - - -* -* D16550 1 2* 16 - - -* -* D16750 1 2* 64 - -* -* D16552 2 4* 16 - - D16752 2 4* 64 -* -* D16754 4 8* 64 -* -* D16950 1 8* 128 -* -* *-Optional D16X50 family of Configurable UARTs with FIFO IP Cores