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

Similar documents
Configurable UART with FIFO ver 2.20

Configurable UART ver 2.10

A VHDL UART core

D16750 IP Core. Configurable UART with FIFO v. 2.25

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

Discontinued IP. Block RAMs

SC68C652B. 1. General description. 2. Features

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

a16450 Features General Description Universal Asynchronous Receiver/Transmitter

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

TL16C451, TL16C452 ASYNCHRONOUS COMMUNICATIONS ELEMENTS

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

IA Asynchronous Serial Controller. Data Sheet. Asynchronous Serial Controller February 25, Customer Support: Page 1 of

LatticeMico32 UART. Version. Features

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

Serial Interfacing. Pulse width of 1 bit

TL16PIR552 DUAL UART WITH DUAL IrDA AND 1284 PARALLEL PORT

TL16PNP550A ASYNCHRONOUS COMMUNICATIONS ELEMENT WITH PLUG-AND-PLAY (PnP) AND AUTOFLOW CONTROL

AN Sleep programming for NXP bridge ICs. Document information

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

SocketModem. MT9234SMI Device Guide

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

Universal Asynchronous Receiver/Transmitter Core

IA Asynchronous Serial Controller. Data Sheet. Asynchronous Serial Controller January 9, Customer Support: Page 1 of

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

XPS UART (v3.00a)

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

Las time: Large Pages Last time: VAX translation. Today: I/O Devices

XR16L784 HIGH PERFORMANCE 2.97V TO 5.5V QUAD UART

TPMC Channel Serial Interface RS232/RS422. Version 1.0. User Manual. Issue August 2014

TPMC Channel Serial Interface RS232/RS422. Version 1.0. User Manual. Issue August 2014

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

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

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

TCP Channel Serial Interface RS232/RS422. Version 1.0. User Manual. Issue August 2014

MCS9835. PCI Dual UART with Printer Port

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

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

OX16C950 rev B High Performance UART with 128 byte FIFOs

Digital Blocks Semiconductor IP

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

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

Summer 2003 Lecture 21 07/15/03

Series PMC520 Octal EIA/TIA-232E Communication Module

SRL0 Serial Port Unit

UART IP CORE VERIFICATION BY USING UVM

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

An SPI interface for the 65(C)02 family of microprocessors

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

PI7C8952 PCI Dual UART Datasheet Revision 2 September 2017

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

Chapter 13 Direct Memory Access and DMA-Controlled I/O

SD Card Controller IP Specification

PI7C8954 PCI Quad UART Datasheet Revision 2 September 2017

Serial Communication Prof. James L. Frankel Harvard University. Version of 2:30 PM 6-Oct-2015 Copyright 2015 James L. Frankel. All rights reserved.

PI7C9X798. Description. Features. Application. A product Line of. Diodes Incorporated. High Performance 1.62V To 3.6V Octal Uart with 64-Byte FIFO

DATA COMMUNICATIONS APPLICATION NOTE DAN133

DATA COMMUNICATIONS APPLICATION NOTE DAN137

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

Nios Embedded Processor UART Peripheral

High Speed SPI Slave Implementation in FPGA using Verilog HDL

SPART - A Special Purpose Asynchronous Receiver/Transmitter

DATA COMMUNICATIONS APPLICATION NOTE DAN132

Serial Communication. Simplex Half-Duplex Duplex

Software Architecture Document: Addendum

Hierarchy of I/O Control Devices

C8051 Legacy-Speed 8-Bit Processor Core

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

UART (Universal Asynchronous Receiver-Transmitter)

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

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

PC87311A PC87312 (SuperI O II III) Floppy Disk Controller

Pin Description, Status & Control Signals of 8085 Microprocessor

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

Serial Communication. Spring, 2018 Prof. Jungkeun Park

Emerald-MM-8Plus. PC/104-Plus 8-Port Multi-Protocol Serial Port Module. User Manual v1.04

Serial Interfacing. Asynchronous Frame

Interfacing a Hyper Terminal to the Flight 86 Kit

INPUT-OUTPUT ORGANIZATION

Interfacing an Intel386 TM EX Microprocessor to an CAN Controller

Laboratory Finite State Machines and Serial Communication

A product Line of. Diodes Incorporated. SPI interface. ÎÎSupport 33 Mbit/s maximum SPI clock speed ÎÎSupport SPI mode 0 (slave mode only) Description

Single Channel HDLC Core V1.3. LogiCORE Facts. Features. General Description. Applications

A product Line of. Diodes Incorporated. SPI interface. ÎÎPI7C9X1170 supports 33 Mbit/s maximum SPI clock speed ÎÎSupport SPI mode 0 (slave mode only)

APPLICATION NOTE CPLDs

CHAPTER 4 DATA COMMUNICATION MODES

XR16L2551 LOW VOLTAGE DUART WITH POWERSAVE

TCP Channel Serial Interface RS232 / RS422 cpci Module. User Manual. The Embedded I/O Company. Version 1.0. Issue 1.

Real-Time Embedded Systems. CpE-450 Spring 06

NS9360. Errata _F. Release date: March 2008

TMS470R1x Serial Communication Interface (SCI) Reference Guide

Design and Simulation of UART for Serial Communication

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

Each I2C master has 8-deep transmit and receive FIFOs for efficient data handling. SPI to Dual I2C Masters. Registers

AN Multifunction Serial Interface of FM MCU. Contents. 1 Introduction

Fig.12.5 Serial Data Line during Serial Communication

Chapter 1: Basics of Microprocessor [08 M]

CPE/EE 421/521 Fall 2004 Chapter 4 The CPU Hardware Model. Dr. Rhonda Kay Gaede UAH. The CPU Hardware Model - Overview

Design of DMA Controller Using VHDL

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

Transcription:

MOXSYN C16550S Universal Asynchronous Receiver/Transmitter with FIFOs Function Description The C16550S programmable asynchronous communications interface (UART) core provides data formatting and control to a serial communication channel. The core has select, read/write, interrupt and bus interface logic features that allow data transfers over an 8-bit bi-directional parallel data bus system. With proper formatting and error checking, the core can transmit and receive serial data, supporting asynchronous operation. Features Symbol Capable of running with all existing 16450 and 16550A Software Structured, fully Synchronous HDL RTL Design In FIFO mode, Transmitter and Receiver are each buffered with 16- byte FIFOs to reduce the number of interrupts of the CPU Programmable data word length (5-8 bit), parity and stop bits Parity, overrun and framing error checking Supports up to 3 Mbps transmission rates (Typical value: silicon dependent) Programmable Baud Rate Generator allows division of any reference clock by 1 to (2 16-1) and generates an internal 16 X Clock False start bit detection Automatic break generation and detection Internal diagnostic capabilities Peripheral modem control functions The C16550S was developed in VHDL and synthesizes to approximately 6,500 gates depending on the process used RESET RDn CS0 CS1 CS2n DIN[7:0] CTSn DSRn DCDn Rin A[2:0] DO[7:0] TxDATA DDIS RTSn DTRn OUT1n OUT2n BAUDOUTn TXRDYn RXRDYn INTRPT C16550S MOXSYN February 2001 Version C2.3 1

Pin Description Name Type Polarity Description RESET In High External reset In - Master clock RDn In Low Read control In Low Write control CS0 In High Chip Select 0 CS1 In High Chip Select 1 CS2n In Low Chip Select 2 DIN[7:0] In - Data Input Bus CTSn In Low Clear-to -Send DSRn In Low Data Set Ready DCDn In Low Data Carrier Detect In - Receive Data RIn In Low Ring Indicator A[2:0] In - Select D0[7:0] Out - Data Output Bus TXDATA Out - Transmit Data DDIS Out High Driver Disable RTSn Out Low Request-to-Send DTRn Out Low Data Terminal Ready OUT1n Out Low Output 1 OUT2n Out Low Output 2 TxRDYn Out Low Transmit ready RxRDYn Out Low Receiver ready BAUDOUT Out Low Baud Out INTRPT Out High Interrupt description The C16550S contains the following registers: 1. Line Control 2. Line Status 3. Interrupt Enable 4. Modem status 5. Modem Control 6. Transmitter Holding buffer 7. Receiver buffer 8. Interrupt Identification 9. FIFO control 10. Scratch MOXSYN 2

Block Diagram A[2:0] CS0 CS1 CS2n RDn RESETn Chip Select & R/W Control Logic FIFO Control Transmitter FIFO Transmitter Holding Select DDIS DO[7:0] TXDATA DIN[7:0] Line Control Reg. I n t e r n a l B u s Modem Control Modem Status Interrupt Enable Interrupt I/O Modem Control Logic Interrupt Control Logic RTSn DTRn OUT1 OUT2 CTSn DSRn DCDn RIn INTRPT Divisor LSB Divisor MSB Baud Generator BAUDOUTn Select Rx Buffer Rx FIFO Figure 1: C16550S UART Block Diagram MOXSYN 3

Events To communicate events, this core makes use or generates, pulses which are activated only for one clock cycle. The Timing Parameters t, t, t pd are technology-dependent and must be determined according to the chosen silicon. INPUT t t OUTPUT t pd t pd Applications Serial data communications applications Modem interface Functional Description Line Control (LCR) The Line Control is used to specify the data communication format. The break feature, parity, stop bits and word length can be changed by writing to the appropriate bits in LSR. Line Status (LSR) This register provides information on the status of data transfers between the C16550S and the CPU. Interrupt Enable (IER) The Interrupt Enable masks interrupts from the modem status registers, line status, transmitter empty and receiver ready to the INTRPT output pin. Modem Status (MSR) This register provides the current state of modem control lines. Modem Control (MCR) This register controls the interface lines with the MODEM and changes the status of the C16550S from normal operating mode and local loop-back mode (diagnostics mode). Transmitter Holding Buffer The transmitter section is composed of a Transmit Holding (THR) and a Transmit Shift (TSR). Writing to THR will transfer the contents of the data bus (DIN 7-0) to the Transmit Holding MOXSYN 4

every time that the THR or TSR is empty. This write operation should be done when Transmit Holding Empty (THRE) is set. Receiver Buffer This register contains the assembled received data. On the falling edge of the start bit, the receiver section starts its operations. The start bit is valid if the is still low at the middle sample of Start bit, thus preventing the receiver from assembling a false data character. Interrupt Identification (IIR) The Interrupt Identification provides the source of interrupt among four levels of prioritized interrupt conditions in order to minimize the CPU overhead during data transfers. FIFO control register (FCR) The FCR is a write-only register at the same location as the IIR, which is a read-only register. The FCR enables the FIFOs, clears the FIFOs, sets the receiver FIFO trigger level, and selects the type of DMA signaling. Scratchpad (SR) This register stores the temporary byte for variable use. Core Assumptions The functionality of the C16550S core was based on the Texas Instruments TL16C550A. The following characteristics differentiate the C16550S from the Texas Instruments device: - This core does not support connection of a crystal directly to the device. It was replaced by an external master clock signal (). - The bi-directional data bus has been split into two separate buses: DIN[7:0] and DO[7:0]. If required these buses can be combined into a single 8-bit bi-directional bus. - The 1½ stop bit mode (for 5-bit word length) is not supported. - Signals rd2, wr2, xin and xout have been eliminated from the interface. - ADSn signal is removed. Address and chip selects are not latched, but must be valid during write or read cycles. - Divisor latch low (DLL), divisor latch high (DLM), THR register and SCR register are reset to all zeros. - Both DLL and DLM registers must be loaded before BAUDOUTn has valid output. - DO (output data bus) always shows the last selected register; after reset DO is "00". - Reset requires at least one clock cycle. - MSR register is reset during the clock cycle following a MSR read. - Transmitter Empty status (TEMT), bit 6 of Line Status (LSR), is reset during the clock cycle following a TBR register write. - Between 2 rising edges of or RDn the core needs at least 2 clock () cycles (Tcycle). - Uses a single clock () for all registers. MOXSYN 5

- Unlike the original device which used and RDn as clocks, this core synchronizes these signals with the rising edge of. - The signal R is replaced with. Timing variations differences from the Texas Instruments device: Symbol Parameter C16550S TL16C550A Min Max Min Max td 1 Delay from MCR to Output tpd 100 ns td 2 Delay from MODEM Input to Set Interrupt 2 Cycles 170 ns td 3 Delay from RDn to Reset Interrupt(RD MDR) tpd after first rising edge td 4 Delay from to Reset Interrupt(WR THR) 2 Cycles 140 ns td 5 Delay from RDn to Reset Interrupt THRE (RD IIR) tpd 140 ns td 6 Delay from initial INTR Reset to Transmit Start 1 Baudout Cycles 4 Baudout Cycles 8 Baudout Cycles 24 Baudout Cycles td 7 Delay from initial Write to Interrupt 4 Baudout Cycles 4 Baudout Cycles 16 Baudout Cycles 32 Baudout Cycles td 8 Delay from STOP to Interrupt (THRE) 1 Cycle 1 Cycle 8 Baudout Cycles 8 Baudout Cycles td 9 Delay from START to TXRDYn active 1 Cycle 8 Baudout Cycles td 10 Delay from Write to TXRDYn inactive 1 Cycle 2 Cycles 195 ns td 11 Delay from STOP to Set Interrupt tpd 1-3 R Cycles td 12 Delay from RD RBR to RXRDYn inactive tpd 150 ns [1] Typical values: silicon dependent All delays :,, D0, D1, D2 are silicon dependent 140 ns MOXSYN 6

Timing Diagrams A[2:0] valid new valid address CS0 CS1 CS2n tcycle DIN[7:0] DO[7:0] D2 D1 D2 D1 valid data new valid data Write Cycle Timing XX A[2:0] address new address RDn DO[7:0] DDIS D1 D1 valid data next valid data tpd tpd tpd tpd Read Cycle Timing MOXSYN 7

WR MCR td1 td1 RTSn,DTRn,OUT1n,OUT2n CTSn,DSRn,DCDn td3 td2 td3 td2 td2 INTRPT RDn RD MSR RI MODEM Control Timing TXDATA INTRPT RDn THRE WR THR RD IIR td6 START DATA(5-8) PARITY STOP(1-2) START td7 td4 td4 td8 td5 Transmitter Timing WR THR BYTE #1 TXDATA TXRDYn DATA PARITY STOP START td10 td9 Transmitter Ready, FCR0 = 0 or FCR0 = 1 and FCR3 = 0 (Mode 0) TXDATA TXRDYn WR THR BYTE #16 DATA PARITY STOP START td10 FIFO FULL Transmitter Ready, FCR0 = 1 and FCR3 = 1 (Mode 1) START OF BYTE #16 td9 MOXSYN 8

START DATA(5-8) PARITY STOP INTRPT(data_ready) INTRPT(RX_err) D0 D1 RDn(read_RBR) RDn(read_LSR) Receiver Timing START DATA(5-8) PARITY STOP INTRPT(trigger_level) INTRPT(LSI) RDn(read_RBR) RDn(read_LSR) D0 D1 FIFO Below Trigger Level Receiver FIFO first Byte( Sets DR bit ) START DATA(5-8) PARITY STOP INTRPT(trigger_level) INTRPT(LSI) RDn(read_RBR) RDn(read_LSR) Previous Byte Read From FIFO D0 TOP BYTE OF FIFO FIFO Below Trigger Level D1 Receiver FIFO other than first Byte( DR internal bit already set) MOXSYN 9

RDn(read_RBR) First Byte STOP Reading of the last Byte in the FIFO Sample_Clock RXRDYn td12 Receiver Ready, FCR0 =0 or FCR0=1 and FCR3 = 0 (Mode 0) RDn(read_RBR) First Byte that reaches the trigger level STOP Reading of last Byte in the FIFO Sample_Clock RXRDYn td12 Receiver Ready, FCR0 =1 and FCR3 = 1 (Mode 1) MOXSYN 10

Supplied Files readme.txt doc/ C16550S.pdf release.txt src/ C16550.v C16550S.vhd tb/ C16550Stb.v C16550Sts.vhd C16550S.stm C16550S.ref C16550S_v.ref scripts/ compile.do simulatate.do synopsys.scr General information about the core and installation This document Release notes Top Level module (Verilog version) Top Level entity/architecture (VHDL version) Testfixture (Verilog version) Testbench (VHDL version) Stimulus file used by the testbench (VHDL version) Expected testbench results (VHDL version) Expected testbench results (Verilog version) Sample compilation script for ModelSim Sample simulation script for ModelSim Sample Synopsys synthesis script for Synopsys Testbench Notes (VHDL version) The testbench provided can be used for functional and post-synthesis simulation, and is used to test the functionality of the core. The stimulus file C16550S.stm and the expected results file C16550S.ref should be in the local simulation directory. Functional Simulation Once the testbench is loaded into the simulator, simulate for 1900 us. At the end of the simulation the following message should appear: "Note: test completed with no errors" Post-Synthesis Simulation If your synthesis tool renames the top-level pins after routing, it may be necessary to create a dummy wrapper in order to use the supplied testbench. Edit the file C16550Sts.vhd and check line 370 (SECTION 4) of testbench. Add the actual maximum expected delay for your silicon. Compile your post-synthesis or post-layout VHDL netlist file. Recompile the C16550Sts.vhd file just edited. Simulate as above MOXSYN 11

Testbench Notes (Verilog version) The testfixture provided can be used for functional and post-synthesis simulation, and is used to test the functionality of the core. The expected results file C16550S_v.ref should be in the local simulation directory. Functional Simulation Once the testfixture is loaded into the simulator, simulate for 1900 us. At the end of the simulation the following message should appear: "Note: test completed with no errors" Post-Synthesis Simulation If your synthesis tool renames the top-level pins after routing, it may be necessary to create a dummy wrapper in order to use the supplied testfixture. Edit the file C16550tb.v and check line 1025 of testfixture. Add the actual maximum expected delay for your silicon. Compile your post-synthesis or post-layout Verilog netlist file. Recompile the C16550tb.vhd file just edited. Simulate as above Synthesis Notes A Synopsys sample synthesis script is provided. The script will create a VHDL gate-level netlist, and gate/performance reports at the completion of the synthesis process. It is recommended that a directory syn be created where the source files reside. The script expects to find all HDL source files in../. If this is not the case, then edit synopsys.scr and update with the correct path. Verification Methods The C16550S UART core s functionality has been extensively tested with a testbench and a large number of test patterns. Support Every effort has been made to ensure that this core functions correctly. If a problem is encountered please contact MOXSYN: Technical Support Hotline: +39-335-65-74-399 Fax: +39-736-43125 E-mail: mailto:support@moxsyn.com URL: www.moxsyn.com MOXSYN 12

Related Information Data Transmission Circuits 1993 Data Book Contact: Texas Instruments Literature Response Center P.O. Box 809066 Dallas, Texas 75380-9066 URL: http://www.ti.com The C16550S core is licensed from Moxsyn S.r.l. Copyright MOXSYN S.r.l. 1997-2001, ALL RIGHTS RESERVED All trademarks mentioned in this document are trademarks of their respective owners. Moxsyn reserves the right to change these specifications at any time, without notice. MOXSYN 13