Costas Foudas, Imperial College, Rm: 508, x47590

Slides:



Advertisements
Similar presentations
IO Interfaces and Bus Standards. Interface circuits Consists of the cktry required to connect an i/o device to a computer. On one side we have data bus.
Advertisements

INPUT-OUTPUT ORGANIZATION
EXTERNAL COMMUNICATIONS DESIGNING AN EXTERNAL 3 BYTE INTERFACE Mark Neil - Microprocessor Course 1 External Memory & I/O.
LOGIC GATES ADDERS FLIP-FLOPS REGISTERS Digital Electronics Mark Neil - Microprocessor Course 1.
HD44780 LCD programming From the Hardware Side Design and implementation details on the way to a valid SPI-LCD interface driver.
1 TK2633TK Microprocessor Architecture DR MASRI AYOB.
LSU 10/22/2004Serial I/O1 Programming Unit, Lecture 5.
1 ECE243 I/O Hardware. 2 ECE243 Basic Components.
ELE22MIC Lecture 9 MULTIPLEXOR - DATA SELECTOR DEMULTIPLEXOR - DATA DISTRIBUTOR Parallel to Serial Data Conversion External Address Bus Latching Address.
Computer Hardware A computer is made of internal components Central Processor Unit Internal External and external components.
Features of the PIC18 microcontroller - 8-bit CPU - 2 MB program memory space (internal 32KB to 128KB) bytes to 1KB of data EEPROM - Up to 4096 bytes.
CO5023 Latches, Flip-Flops and Decoders. Sequential Circuit What does this do? The OUTPUT of a sequential circuit is determined by the current output.
GCSE Computing - The CPU
Computer Organization
Department of Computer Science and Engineering
Class Exercise 1B.
Chapter 6 Input/Output Organization
COURSE OUTCOMES OF Microprocessor and programming
Fundamentals of Computer Engineering
Everybody.
I/O SYSTEMS MANAGEMENT Krishna Kumar Ahirwar ( )
The 8085 Microprocessor Architecture
REGISTER TRANSFER LANGUAGE (RTL)
Operating Systems (CS 340 D)
Direct Memory address and 8237 dma controller LECTURE 6
CPU Sequencing 6/30/2018.
Each I/O pin may be configured as either input or output.
Chap 7. Register Transfers and Datapaths
The 8085 Microprocessor Architecture
COMP2121: Microprocessors and Interfacing
Programmable Interval Timer
1 Input-Output Organization Computer Organization Computer Architectures Lab Peripheral Devices Input-Output Interface Asynchronous Data Transfer Modes.
Basics of digital systems
Dr. Michael Nasief Lecture 2
DMA CONTROLLER 8257 Features: It is a 4-channel DMA.
8085 microprocessor.
8085 Microprocessor Architecture
COMP2121: Microprocessors and Interfacing
An Introduction to Microprocessors
An Introduction to Microprocessor Architecture using intel 8085 as a classic processor
University of Maryland Baltimore County Department of Computer Science and Electrical Engineering   CMPE 212 Laboratory (Discussion 12) Hasib Hasan
Chapter 11 Sequential Circuits.
Digital to Analog Converters
Instructor: Alexander Stoytchev
Interfacing Memory Interfacing.
Elec 2607 Digital Switching Circuits
Serial versus Parallel Data Transfers
Parallel communication interface 8255
Tim Sumner, Imperial College, Rm: 1009, x47552
8085 Microprocessor Architecture
Tim Sumner, Imperial College, Rm: 1009, x47552
EET107/3 DIGITAL ELECTRONICS 1
Registers.
CSC 220: Computer Organization
Flip-Flops Last time, we saw how latches can be used as memory in a circuit. Latches introduce new problems: We need to know when to enable a latch. We.
Joseph Ravichandran, Srijan Chakraborty, Kanad Sarkar
HD44780 LCD programming From the Hardware Side
HD44780 LCD programming From the Hardware Side
The 8085 Microprocessor Architecture
Decoding and Using a 4x4 Keyboard
Overview Last lecture Digital hardware systems Today
14 Digital Systems.
8085 Microprocessor Architecture
GCSE Computing - The CPU
Week 11 Flip flop & Latches.
An Introduction to Microprocessors
Computer Operation 6/22/2019.
CPU Sequencing 7/20/2019.
Decoding and Using a 4x4 Keyboard
William Stallings Computer Organization and Architecture
Presentation transcript:

Costas Foudas, Imperial College, Rm: 508, x47590 3 Byte Memory OUTLINE: Designing an external 3 Byte Memory De-multiplexing the ATmega103 PORTS in to more devices 7/13/2019 Costas Foudas, Imperial College, Rm: 508, x47590

Costas Foudas, Imperial College, Rm: 508, x47590 Computer Bus The processor of a computer communicates with the other computer modules via a device called: Bus. Several Bus architectures exist in the market such as PCI; cPCI; VME…. All bus architectures include a control bus, a data bus and an address bus. 7/13/2019 Costas Foudas, Imperial College, Rm: 508, x47590

Costas Foudas, Imperial College, Rm: 508, x47590 The BUS of a computer: Bus Master (CPU/Controller) Bus Slave (e.g. Memory) Address Lines Data Lines Control Lines 7/13/2019 Costas Foudas, Imperial College, Rm: 508, x47590

Typical Write Sequence The master places the address of the memory where the data is to be written on the bus and qualifies it using the control lines. The master signals using the control lines that this is a write sequence. The master places the data to be written on the bus and qualifies them using the control lines The slave compares the address on the bus with its own address. If the write refers to him, he takes the data and signals using the control lines that he is done (acknowledges the data) 7/13/2019 Costas Foudas, Imperial College, Rm: 508, x47590

Costas Foudas, Imperial College, Rm: 508, x47590 Typical Read Sequence The master places the address of the memory from where the data is to be red on the bus and qualifies it using the control lines. The master signals using the control lines that this is a read sequence. The master signals that he is ready to accept data using the control lines. The slave compares the address on the bus with its own address. If the read refers to him, he places the data on the bus and signals using the control lines that he is done (acknowledges the data). At the end the Master Latches the data. 7/13/2019 Costas Foudas, Imperial College, Rm: 508, x47590

Costas Foudas, Imperial College, Rm: 508, x47590 Parallel Transfer In a bus all bits of a byte or word are transferred simultaneously. If we have a byte wide bus and a transfer frequency of 1MHz then we have a bus speed of 1Mbytes/sec Hence, this is called Parallel Data Transfer (oppose to Serial Data Transfer that we will learn next) 7/13/2019 Costas Foudas, Imperial College, Rm: 508, x47590

Costas Foudas, Imperial College, Rm: 508, x47590 Electronics Exercise Make a 3 Byte memory (SRAM) that you can read and write from the ATmega103 board. 7/13/2019 Costas Foudas, Imperial College, Rm: 508, x47590

High Level Design :2 Byte Memory Control and Address bus We want to construct : AS, READ WRITE, A0,A1 ATmega103 Board PORTC (Output Only) 1-Byte Memory 8-Bits of data_out 8-Bits of data_in PORTA (Output) 1-Byte Memory Data Bus Out 1-Byte Memory PORTE (Input) Data Bus In 7/13/2019 Costas Foudas, Imperial College, Rm: 508, x47590

Guess what is the 1 Byte memory ? It exists in one package : Output Enable* (Read Data) * = INVERTED E DAT-7 Q-7       74F574 Byte coming in (PORTA) Byte Stored (PORTE) Q-0 DAT-0 CLK (Write Data) 7/13/2019 Costas Foudas, Imperial College, Rm: 508, x47590

Costas Foudas, Imperial College, Rm: 508, x47590 The data sheets of the 74F574 Register 7/13/2019 Costas Foudas, Imperial College, Rm: 508, x47590

Costas Foudas, Imperial College, Rm: 508, x47590 What does the 74F574 do ? The outputs of the 574 are tri-state : They Can be high ‘1’, low ‘0’, and DISCONNECTED (HIGH IMPEDANCE STATE). 7/13/2019 Costas Foudas, Imperial College, Rm: 508, x47590

Costas Foudas, Imperial College, Rm: 508, x47590 The 74F574 Truth Table 7/13/2019 Costas Foudas, Imperial College, Rm: 508, x47590

The Data Sheets of the 74F574 I Register ts C2 DataIn tPZH EN1 DataOut Ts = setup time tPZH = Output Enable time 7/13/2019 Costas Foudas, Imperial College, Rm: 508, x47590

The Data Sheets of the 74F574 II C2 DataIn EN1 DataOut tp Tp = propagation delay 7/13/2019 Costas Foudas, Imperial College, Rm: 508, x47590

Costas Foudas, Imperial College, Rm: 508, x47590 The data sheet for the 74F138 Address Decoder 7/13/2019 Costas Foudas, Imperial College, Rm: 508, x47590

Costas Foudas, Imperial College, Rm: 508, x47590 What does the 74F138 do (II) ? 7/13/2019 Costas Foudas, Imperial College, Rm: 508, x47590

Costas Foudas, Imperial College, Rm: 508, x47590 Basic Design idea Read2 574 Write2 Read1 574 PORTE PORTA Write1 Read0 574 Write0 7/13/2019 Costas Foudas, Imperial College, Rm: 508, x47590

Costas Foudas, Imperial College, Rm: 508, x47590 Control Bus Read0 138 Read1 A1 A0 Q2 Q1 Q0 Read2 E0 E2 E1 AS A1,A0,AS *R/W FROM PORTC Write2 Write1 +5V Write0 *R/W 7/13/2019 Costas Foudas, Imperial College, Rm: 508, x47590

Costas Foudas, Imperial College, Rm: 508, x47590 Control Block and Bus 7/13/2019 Costas Foudas, Imperial College, Rm: 508, x47590

Costas Foudas, Imperial College, Rm: 508, x47590 The Registers PORTEBus 7/13/2019 Costas Foudas, Imperial College, Rm: 508, x47590

Costas Foudas, Imperial College, Rm: 508, x47590 Timing Diagram: 7/13/2019 Costas Foudas, Imperial College, Rm: 508, x47590

The Memory Test Program Start Enable memory one output Set data pattern on PORTA Copy PINE to PORTB LEDs Clock in memory 1 Enable memory two output Set data pattern on PORTA Copy PINE to PORTB LEDs Clock in memory 2 Set data pattern on PORTA Enable memory three output Clock in memory 3 Copy PINE to PORTB LEDs 7/13/2019 Costas Foudas, Imperial College, Rm: 508, x47590

Costas Foudas, Imperial College, Rm: 508, x47590 Task Plan: (1) Construct the 3 byte memory and connect it to your ATmage103 Board (always through the special cable-resistor-pack unit). (2) Do it in steps: First the Control, then the first byte and second and finally third. (3)Write a program with a main section and driver subroutines that read, write and loop data through your memory board. 7/13/2019 Costas Foudas, Imperial College, Rm: 508, x47590

Costas Foudas, Imperial College, Rm: 508, x47590 Some Comments: Make a detailed schematic of your device with all ICs (logic diagrams) and the IC pin assignments. (2) Make sure that you understand your design BEFORE you start building it. (3) Build the device in pieces which you can check using your software. Don’t build the entire design before testing. (4) If it does not work use the oscilloscope and the DVM to check what is going on and debug your device. 7/13/2019 Costas Foudas, Imperial College, Rm: 508, x47590

How to Draw Schematics: 7/13/2019 Costas Foudas, Imperial College, Rm: 508, x47590

The 138 funny output pulses: Quick and dirty: I should have used a D-Flip-Flop but we don’t have time Read0 138 Read1 A1 A0 Read2 A1,A0 *R/W FROM PORTC Write2 Write1 Write0 *R/W 7/13/2019 Costas Foudas, Imperial College, Rm: 508, x47590

Costas Foudas, Imperial College, Rm: 508, x47590 Some Comments: If you try to clock your registers with a pulse that looks like: Write Pulse Accidental glitches due to the 138 Then you should expect that you will write 3 times (once when you want) and twice more when/where you DON’T want. 7/13/2019 Costas Foudas, Imperial College, Rm: 508, x47590

Costas Foudas, Imperial College, Rm: 508, x47590 More Comments: Start by setting the Address Strobe* high and the R*/W high . (2) Set the correct address and data on your bus. (3) Bring *R/W for 250 nsec High and then back Low. (4) Before you connect the outputs together perhaps use LED/Resistors to check if the data is there… (5) Try reading the data with the ATMEL. This should result to a successful write of your data at the register you want them 7/13/2019 Costas Foudas, Imperial College, Rm: 508, x47590