NS9750 - Training Hardware. 1284 Traffic Flow Note: Traffic direction in the 1284 is classified as either forward or reverse. The forward direction is.

Slides:



Advertisements
Similar presentations
IEEE 1284 I/O. IEEE 1284 Overview Four parallel port interfaces through ENI 40 pins Uses external latching transceivers Host-side only No IEEE negotiation.
Advertisements

Bus Specification Embedded Systems Design and Implementation Witawas Srisa-an.
8259 Programmable Interrupt Controller
System Integration and Performance
Dr. Rabie A. Ramadan Al-Azhar University Lecture 3
PROGRAMMABLE PERIPHERAL INTERFACE -8255
TK2633 Introduction to Parallel Data Interfacing DR MASRI AYOB.
I/O Unit.
FIU Chapter 7: Input/Output Jerome Crooks Panyawat Chiamprasert
Interrupts What is an interrupt? What does an interrupt do to the “flow of control” Interrupts used to overlap computation & I/O – Examples would be console.
Implementing interrupt driven IO. Why use interrupt driven IO? Positive points –Allows asynchronous operation of IO events –Good use of resources –Leads.
6-1 I/O Methods I/O – Transfer of data between memory of the system and the I/O device Most devices operate asynchronously from the CPU Most methods involve.
EET Advanced Digital Parallel Ports. n In contrast to serial ports, parallel ports ‘present’ all bits at one time. n ‘The parallel port reflects.
Introduction An interrupt is an event which informs the CPU that its service (action) is needed. Sources of interrupts: internal fault (e.g.. divide by.
NS Training Hardware. System Controller Module.
Serial Peripheral Interface Module MTT M SERIAL PERIPHERAL INTERFACE (SPI)
Input/Output. Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower.
The computer system’s I/O architecture is its interface to the outside world. This architecture provides a systematic means of controlling interaction.
Khaled A. Al-Utaibi  Intel Peripheral Controller Chips  Basic Description of the 8255  Pin Configuration of the 8255  Block Diagram.
LSU 10/22/2004Serial I/O1 Programming Unit, Lecture 5.
SC200x Peripherals Broadband Entertainment Division DTV Source Applications July 2001.
MICROPROCESSOR INPUT/OUTPUT
Interrupts and DMA CSCI The Role of the Operating System in Performing I/O Two main jobs of a computer are: –Processing –Performing I/O manage and.
1 Lecture 20: I/O n I/O hardware n I/O structure n communication with controllers n device interrupts n device drivers n streams.
By, Prof. Tambe S. S. S.N.D. College of Engineering and Research Center Department of Electrical Engineering.
I NTRODUCTION P IN CONFIGARATION O PERATING MODE.
1-1 Embedded Network Interface (ENI) API Concepts Shared RAM vs. FIFO modes ENI API’s.
Computer Architecture Lecture10: Input/output devices Piotr Bilski.
Microprocessors 1 MCS-51 Interrupts.
NS Training Hardware. Serial Controller - UART.
NS Training Hardware.
Accessing I/O Devices Processor Memory BUS I/O Device 1 I/O Device 2.
ATtiny23131 A SEMINAR ON AVR MICROCONTROLLER ATtiny2313.
Organisasi Sistem Komputer Materi VIII (Input Output)
Embedded Network Interface (ENI). What is ENI? Embedded Network Interface Originally called DPO (Digital Product Option) card Printer without network.
The computer system’s I/O architecture is its interface to the outside world. This architecture provides a systematic means of controlling interaction.
12/16/  List the elements of 8255A Programmable Peripheral Interface (PPI)  Explain its various operating modes  Develop a simple program to.
PPI-8255.
Programmable Interrupt Controller (PIC)
PROGRAMMABLE PERIPHERAL INTERFACE -8255
Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower than CPU.
Embedded Systems Design 1 Lecture Set 8 MCS-51 Interrupts.
Lecture 4 General-Purpose Input/Output NCHUEE 720A Lab Prof. Jichiang Tsai.
بسم الله الرحمن الرحيم MEMORY AND I/O.
 The Programmable Interrupt Controller (PlC) functions as an overall manager in an Interrupt-Driven system. It accepts requests from the peripheral equipment,
8255:Programmable Peripheral Interface
Amdahl’s Law & I/O Control Method 1. Amdahl’s Law The overall performance of a system is a result of the interaction of all of its components. System.
PROGRAMMABLE PERIPHERAL INTERFACE -8255
An Interrupt is either a Hardware generated CALL (externally derived from a hardware signal) OR A Software-generated CALL (internally derived from.
Introduction An interrupt is an event which informs the CPU that its service (action) is needed. Sources of interrupts: Internal fault (e.g.. divide by.
UNIT – Microcontroller.
Refer to Chapter 10 in the reference book
NS Training Hardware.
8259-programmable interrupt controller
Dr. Michael Nasief Lecture 2
Presentation On 8259 Made by Md Shabbir Hasan.
E3165 DIGITAL ELECTRONIC SYSTEM
Programmable Interrupt Controller 8259
PROGRAMMABLE PERIPHERAL INTERFACE -8255
8255.
Parallel communication interface 8255
8237 DMA CONTROLLER.
NS Training Hardware.
8237 DMA CONTROLLER.
8259 Programmable Interrupt Controller
Programmable Interrupt Controller (PIC)
The Programmable Peripheral Interface (8255A)
Presentation transcript:

NS Training Hardware

1284

Traffic Flow Note: Traffic direction in the 1284 is classified as either forward or reverse. The forward direction is equivalent to NS9750 Receive. Likewise, the reverse direction is equivalent to NS9750 Transmit. Note: Traffic direction in the 1284 is classified as either forward or reverse. The forward direction is equivalent to NS9750 Receive. Likewise, the reverse direction is equivalent to NS9750 Transmit.

1284 Overview Provides asynchronous and bi-directional parallel communications between a PC, or other host, and a printer. NS9750 supported 1284 modes: Compatibility, Nibble, Byte, ECP. NS9750 operates as a slave (peripheral) device only. Compatibility: –A byte-wide single direction connection from the host to the peripheral. –The default mode of operation. –Backwards compatible with many existing devices. Nibble: –A nibble-wide single direction connection from the peripheral to the host.

1284 Overview Byte: –A byte-wide single direction connection from the peripheral to the host. ECP: –A byte-wide bi-directional connection between the host and peripheral. –Distinguishes between command and data transfers. –More efficient, but more complex, method of sharing data than using either a (compatibility – nibble) or (compatibility – byte) combination. Note: –No need for a user to use both nibble and byte modes. –The byte mode is slightly less complicated to use.

Modes of Operation Two primary modes of communications between the 1284 and the rest of the chip (DMA & CPU). DMA: –Establish 4 DMA channels in the BBUS DMA Controller. These channels connect directly to the four primary FIFOs. Ch9 (FWD CMD) : 10 (REV CMD) : 11 (FWD DATA) : 12 (REV DATA) Allocate corresponding channel buffers Configure corresponding control registers –Not an interrupt driven data flow between the 1284 and the BBUS. Can mask all the interrupts in the Status and Control Register –Can limit the size of receive (forward) DMA buffers. (DMA Control Reg) –Recommended for most customers. Provides a more powerful and higher performance interface into the 1284.

Modes of Operation CPU: –The CPU can directly access the 4 primary FIFOs. FIFO locations are located at addresses (0x9040_000C – 0x9040_0020) –The CPU requires the use of interrupts to move data through the interface. –Requires more polling of the FIFOs to ensure that they do not overrun / underrun. The DMA can handle this automatically. –Recommended for debug purposes. Requires less configuration work in the rest of the chip. Does require a more intimate knowledge of incoming data in order to set appropriate thresholds for interrupt triggerable events.

1284 Sample Initialization Bbus Utility block: –Clear the Bbus Utility and 1284 module reset (Master Reset) –Configure GPIO pins (GPIO Configuration Registers) Bbus Bridge block: –Enable layered interrupts (Bbus Bridge Interrupt Enable) 1284: –Set 1284 pins to ‘1’ before initialization (Port Control) –Set general user settings (General Configuration) –Clear any spurious received interrupts (Interrupt Status & Control) –Set appropriate interrupt mask bits (Interrupt Status & Control) –Set Fwd. Data/CMD Max Buffer size & byte gap time CPU Mode -> set Max buffer to 16’hFFFF (Fwd. DMA Control)

1284 Sample Initialization 1284 (cont): –Set Port Granularity to ‘1’ initially before configuring the registers. Set to ‘0x19’ before traffic flow. (Granularity) –Set buffer for reverse ID transfers (Feature b) –Set Negotiation Start detect int enable (Interrupt Enable) –Disable open drain. Enable reverse request. (Extended Control) –Set Buffer Thresholds. Enable printer port. (Feature A) –Enable desired features (Master Enable)

1284 Timing

Hints & Kinks Which interrupts are essential even in DMA mode? –VCM1 (Interrupt Status & Control) is an aggregate of 1284 core interrupts –Negotiation Start (STI) indicates a new transfer mode has begun. –Pin Select (STI) is an aggregate of the PIT register. –N_init edge detect (PIT) indicates that data flow has reversed in ECP mode. How can I figure out which is the active data transfer mode? –When negotiating into a new mode the IEEE 1284 Extensibility Value is placed on the data line. This value identifies the mode. It is important to note that compatability mode does not have such a value. This is because it is the default mode. Therefore, the 1284 is in compatability mode when it is not in another mode. It should also be pointed out the 1284 cannot negotiate into a mode except from compatability mode.

Hints & Kinks How is traffic classified as either data or command? –During an ECP transfer a value of ‘1’ on the HostAck (nAutoFd) wire indicates a data transfer. A ‘0’ indicates a command transfer. So what exactly is command traffic anyway? –There are two possible commands that can be sent: run-length encoding (rle) compression and channel address. Bit [7] of the command is used to select the type of command. ( 0 -> compression : 1 -> channel address) Rle Compression: The next byte is repeated (bits [6:0] + 1) times and put in the appropriate FIFO. Note: The user must make sure that the next byte transferred is classified as data in order for it to replicated in the data FIFO. Channel Address: Bits [6:0] of the current byte are stored as a channel address which can be read in the ECA register. What are other sources of information? – Standards # – NS9775 user’s manual.