samsung arm s3c4510b
DESCRIPTION
Samsung ARM S3C4510B. Product overview System manager Unified instruction/data cache I2C bus controller Ethernet controller 32-bit timers I/O Ports Interrupt Controller. Product overview. S3C4510B 16/32-bit RISC - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/1.jpg)
Samsung ARM S3C4510B Product overview System manager Unified instruction/data cache I2C bus controller Ethernet controller 32-bit timers I/O Ports Interrupt Controller
![Page 2: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/2.jpg)
Product overview
S3C4510B 16/32-bit RISC Cost-effective, high-performance microcontroller solution for Ethern
et-based system S3C4510B built an outstanding CPU core
16/32-bit ARM7TDMI RISC processor TDMI means Thumb mode, Debugger core, faster Multiplier, embed
ded ICE logic
![Page 3: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/3.jpg)
ARMTDMI Block Diagram
![Page 4: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/4.jpg)
Introduction to AMBA AMBA: Advanced Microcontroller Bus Architecture Three distinct buses are defined within the AMBA specification:
the Advanced High-performance Bus (AHB) for high-performance, high clock frequency system modules. acts as the high-performance system backbone bus. supports the efficient connection of processors, on-chip memories and off-chip external
memory interfaces with low-power peripheral macrocell functions. the Advanced System Bus (ASB)
for high-performance system modules. suitable for use where the high-performance features of AHB are not requi
red. the Advanced Peripheral Bus (APB).
for low-power peripherals. optimized for minimal power consumption and reduced interface complexit
y to support peripheral functions.
![Page 5: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/5.jpg)
![Page 6: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/6.jpg)
Product overview
Integrated the following on-chip functions 8k-byte unified cache/SRAM I2C interface Ethernet controller HDLC GDMA UART Timers Programmable I/O ports Interrupt Controller
![Page 7: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/7.jpg)
Product Overview - Features Architectures
Embedded in Circuit emulator (ICE) Little/big-endian mode supported (Internal architecture is big-endian)
System manager 8/16/32-bit external bus support for ROM/SRAM, flash memory, DRAM, and e
xternal I/O, Support EDO/normal or SDRAM Four-word depth write buffer Cost-effective memory-to-peripheral DMA interface
Unified instruction/data cache Two-way set-associative, unified 8k-byte cache Support for LRU (least recently used) replacement protocol
I2C serial intrface Ethernet controller (10/100-Mbps full-duplex) HDLC DMA controller (2-channel general DMA)
For memory-to-memory, memory-to-UART, UART-to-memory UARTs (two UART with DMA-based or interrupt-based operation) Timers (two 32-bit timers with interval mode or toggle mode operation) Programmable I/O (18 programmable I/O ports) Interrupt controller (21 interrupt sources, includes 4 external interrupt)
![Page 8: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/8.jpg)
![Page 9: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/9.jpg)
![Page 10: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/10.jpg)
Product overview – special registers
![Page 11: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/11.jpg)
System manager
Handle the following functions Decide little and big endian for external memory or I/O devices To enable the cache function or not For the external memory operations (6 ROM/SRAM/Flash memory
banks, 4 normal/EDO DRAM or SDRAM banks, and 4 I/O bank) Memory bank locations External bus width access cycle Control signal timing (Ex: RAS, CAS) The size of memory banks to be used for arbitrary address spacing The address resolution for each memory bank base pointer is 64k-bytes
(16 bits) The base address pointer is 10 bits for each memory banks (therefore, t
he total address space for memory bank space is 16 M words)
![Page 12: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/12.jpg)
System memory map The size and location of each memory
bank is determined by Current bank base pointer
Start address: base pointer << 16 Current bank end pointer (next pointer)
End address: end pointer << 16 -1 The maximum access memory space for
each memory bank is 4 Mbytes The address boundaries of consecutive
banks must not overlap For external I/O banks are defined in a
continuous address space Only set the base pointer of external I/O
bank 0 The start address of external I/O bank 1
is bank 0 start address + 16K After power-on or system reset
All bank pointers except for the next pointer of ROM bank 0 are set to zero
The next pointer and the base pointer of ROM bank 0 are 0x200 and 0x000 (is 32-Mbyte space with a start address of zero
16K
64K
![Page 13: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/13.jpg)
The memory map after power-on or reset
![Page 14: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/14.jpg)
System manager registers
![Page 15: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/15.jpg)
External address translation depends on the width of external memory
![Page 16: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/16.jpg)
Connection of external memory with various data width
When the CPU issues an arbitray address to access an external memory device The CPU compares the upper 10 bits of the issued address with the addre
ss pointers of all memory banks When the bank is identified and the offset has been derived, the correspo
nding bank selection signal (nRCS[5:0] or nECS[3:0]) is generated, and the derived offset is driven to address external memory through the physical address bus
![Page 17: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/17.jpg)
![Page 18: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/18.jpg)
Bus arbitration
![Page 19: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/19.jpg)
Control registers: system configuration register (SYSCFG)
Determine the start address of the system manager’s special registers
Start address of internal SRAM Enable the write buffer Cache enable and cache mode Stall enable operation All DRAM banks set to the synchronous DRAM (SDRAM) mode
![Page 20: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/20.jpg)
![Page 21: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/21.jpg)
Start address setting If a reset initialize the start address to 3FF0000H The offset address of the ROMCON register is 3014H The physical address for ROMCON is 3FF0000H + 3014H = 3FF3014H
Cache disable/enable To enable or disable the cache Does not have an auto-flush feature (not auto write-back) The memory area that is allocated to DMA access operation must be non-cach
able (don’t maintain cache coherence problem) Internal 8-Kbyte SRAM can be used as a cache area or normal SRAM accordin
g to the CM field (cache mode) The address of internal SRAM is set by internal SRAM base pointer field
Write buffer disable/enable Four programmable write buffer registers To maintain data coherency between the cache and external memory, the S3C
4510B uses a write-through policy
![Page 22: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/22.jpg)
Clock control register (CLKCON)
![Page 23: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/23.jpg)
System clock
![Page 24: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/24.jpg)
External I/O access control registers (EXTACON0/1)
![Page 25: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/25.jpg)
Data bus with register (EXTDBWTH) Allow interface for 8/16/32-bit external ROMs, SRAMs, flash memorie
s, DRAMs, SDRAMs, and external I/O ports
![Page 26: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/26.jpg)
ROM/SRAM/FLASH control registers (ROMCON)
Has six control registers for ROM, SRAM, and flash memory The external data bus width of ROM/SRAM/Flash bank 0 is determined
by the signal at the B0SIZE[1:0] pins
![Page 27: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/27.jpg)
![Page 28: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/28.jpg)
ROM bank 5 address/data multiplexed bus
The S3C4510B has separate address and data bus S3C4510B supports multiplexed address/data bank (ROM bank 5)
which can support address/data multiplexed bus and 4-data burst access by GDMA. For this feature, you should set the MUX enable bit and wait enable bit of CLKCON register
Four-data burst access by GDMA When FB (4-data burst enable) bit in the GDMACON register, the
GDMA request 4-data burst access. When you access ROM bank 5 by 4-data burst mode, the
multiplexed ROM bank 5bus has only one address phase
![Page 29: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/29.jpg)
DRAM refresh and external I/O control register
![Page 30: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/30.jpg)
External I/O bank address map
![Page 31: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/31.jpg)
Unified instruction/data cache
The S3C4510B CPU has a unified internal 8K byte instruction/data cache.
Using cache control register settings, you can use part or all of this cache as internal SRAM
The cache is configured using two-way, set-associative addressing
The replacement algorithm is pseudo-LRU (least recently used) The cache line size is four words (16 bytes) Cache configuration
If cache size is 4 kbyte, two-way set associative instruction/data cache uses a 15-bit tag address for each set (line)
The CS bits is tag memory stores information for cache replacement When a reset occurs, the CS value is 00 (set 0 and 1 is invalid) The first cache fill after the reset, the CS value become 01 (set 0 is
valid, set 1 is invalid)
![Page 32: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/32.jpg)
![Page 33: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/33.jpg)
Cache replace operations
![Page 34: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/34.jpg)
Cache disable/enable Set SYSCFG[1] to “0” can disable cache
Cache flush operation To flush the cache line
Write a zero to tag memory bits 31 and 30, respectively The 4-Kbyte set 0 RAM area, 4-Kbyte set 1 RAM area, and the 1-Kbyte Tag
RAM area (total 356 words) can be accessed from locations 0x10000000h, 0x10800000h, and 0x11000000h, respectively
Tag RAM is normally cleared by hardware following a power-on reset If the cache or memory bank configuration is changed and the cache is
enabled The application program must clear the Tag RAM area
Non-cacheable area control bit If ADDR[26] in the ROM/SRAM, flash memory, DRAM, or external I/O
bank’s access address is “0”, then the accessed data is cacheable If the ADDR[26] value is “1”, the accessed data is non-cacheable
![Page 35: Samsung ARM S3C4510B](https://reader033.vdocuments.us/reader033/viewer/2022051119/568148e2550346895db5fd30/html5/thumbnails/35.jpg)