7. AMBA 3 AHB-lite Bus Architecture

7์žฅ AMBA 3 AHB-Lite Bus Architecture ๊ฐœ์š”

AHB-Lite๋Š” ARM AMBA(Advanced Microcontroller Bus Architecture) 3.0 ํ‘œ์ค€์˜ Single master ๋ฒ„์ „. Cortex-M0/M3 ๊ณ„์—ด MCU์˜ ํ‘œ์ค€ ์‹œ์Šคํ…œ ๋ฒ„์Šค.

AMBA 3 AHB-Lite ํŠน์ง•

  • Single-master bus: ๊ธฐ์กด AHB๋Š” multi-master์˜€์ง€๋งŒ Lite๋Š” ๋‹จ์ผ master (arbiter ์ƒ๋žต)
  • Pipelined transactions: Address phase์™€ Data phase ์ค‘์ฒฉ โ†’ throughput โ†‘
  • Burst transfer ์ง€์› (INCR, WRAP)
  • Split transaction ์ง€์› X (Lite ๋ฒ„์ „)

Signal Description

Master Output

  • HCLK: bus clock
  • HRESETn: active-low reset
  • HADDR[31:0]: address
  • HWRITE: 1=write, 0=read
  • HSIZE[2:0]: transfer size (byte/halfword/word)
  • HBURST[2:0]: burst type (SINGLE, INCR, WRAP4, INCR4, โ€ฆ)
  • HPROT[3:0]: protection/cache attribute
  • HTRANS[1:0]: transfer type (IDLE, BUSY, NONSEQ, SEQ)
  • HWDATA[31:0]: write data
  • HMASTLOCK: locked transaction

Slave Output

  • HRDATA[31:0]: read data
  • HREADY: slave ready (wait state)
  • HRESP: response (OKAY, ERROR)

AHB-Lite Signals

AHB-Lite Transaction

๊ธฐ๋ณธ transaction์€ Address phase์™€ Data phase์˜ 2 cycle:

     T0        T1        T2
HCLK __/\__/\__/\__/\__
HADDR ___[Addr]________
HWRITE __[____1_____]____
HTRANS ___[NONSEQ]__[IDLE]_
HWDATA __________[Data]__
HREADY ___________/โ€พโ€พโ€พ\_
  • T1 (Address phase): Master๊ฐ€ address + control ์ œ๊ณต
  • T2 (Data phase): Slave๊ฐ€ data ์ œ๊ณต ๋˜๋Š” ๋ฐ›์Œ, HREADY๋กœ ์™„๋ฃŒ ์‹ ํ˜ธ

Wait State

Slave๊ฐ€ ์ค€๋น„ ์•ˆ๋˜๋ฉด HREADY=0 ์œ ์ง€ โ†’ Data phase ์—ฐ์žฅ.

Burst Transfer

์—ฐ์†๋œ ์—ฌ๋Ÿฌ word ์ „์†ก์„ ํ•˜๋‚˜์˜ NONSEQ + ์—ฌ๋Ÿฌ SEQ๋กœ:

Burst Type (HBURST)

  • SINGLE: ๋‹จ์ผ transfer
  • INCR: unspecified length increment
  • WRAP4: 4-beat wrapping (cache line)
  • INCR4: 4-beat incrementing
  • WRAP8, INCR8, WRAP16, INCR16: ๊ธธ์ด ์ง€์ •

HTRANS

  • IDLE: no transfer
  • BUSY: burst ์ค‘ ์ผ์‹œ ์ค‘์ง€
  • NONSEQ: burst ์‹œ์ž‘ ๋˜๋Š” ๋‹จ์ผ transfer
  • SEQ: burst ๋‚ด ํ›„์† transfer (address ์ฆ๊ฐ€)

Burst Transfer

AHB-Lite System ๊ตฌ์„ฑ

                [AHB Master]
                  โ”‚ AHB
                  โ–ผ
         โ”Œโ”€โ”€โ”€ [Decoder] โ”€โ”€โ”€ HSELx
         โ”‚                     โ”‚
        [MUX]               [AHB Slave 1]
         โ”‚                  [AHB Slave 2]
         โ”‚                  [AHB Slave 3]
         โ–ผ
  (HRDATA, HREADY, HRESP)
  • Decoder: HADDR์„ decodingํ•ด์„œ ํ•ด๋‹น Slave์˜ HSEL ํ™œ์„ฑํ™”
  • MUX: ์„ ํƒ๋œ Slave์˜ HRDATA, HREADY, HRESP๋ฅผ master๋กœ

HSELx & Address Decode

๊ฐ Slave์—๋Š” ๊ณ ์œ  address ๋ฒ”์œ„๊ฐ€ ํ• ๋‹น๋จ. Decoder๊ฐ€ HADDR ์ƒ์œ„ bit์œผ๋กœ HSEL ์„ ํƒ:

if (HADDR[31:20] == 0x400)
    HSEL_UART = 1;
else if (HADDR[31:20] == 0x401)
    HSEL_GPIO = 1;

AHB to APB Bridge

AHB-Lite์™€ ์ €์† APB๋ฅผ ์—ฐ๊ฒฐ. Bridge๊ฐ€ AHB master ์—ญํ• , APB slave์™€ ํ†ต์‹ . Cortex-M0 SoC์˜ ์ผ๋ฐ˜์  ๊ตฌ์กฐ:

[Cortex-M0 Core]
      โ”‚ AHB-Lite
      โ–ผ
 [AHB Interconnect]
  โ”‚ โ”‚ โ”‚ 
  โ”‚ โ”‚ โ””โ”€โ”€ SRAM
  โ”‚ โ””โ”€โ”€โ”€โ”€โ”€ Flash
  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€ AHBโ†’APB Bridge
             โ”‚ APB
             โ”œโ”€โ”€ UART
             โ”œโ”€โ”€ Timer
             โ”œโ”€โ”€ GPIO
             โ””โ”€โ”€ SPI/I2C

AHB-Lite System

HPROT (Protection Signals)

Cache/bufferability, user/privileged, data/opcode๋ฅผ ๋‚˜ํƒ€๋ƒ„:

  • HPROT[0]: opcode fetch (0) / data access (1)
  • HPROT[1]: user (0) / privileged (1)
  • HPROT[2]: non-bufferable (0) / bufferable (1)
  • HPROT[3]: non-cacheable (0) / cacheable (1)

HRESP

  • OKAY (0): normal completion
  • ERROR (1): slave error โ€” master๊ฐ€ 2-cycle ์‹œํ€€์Šค๋กœ error ์‘๋‹ต ๋ฐ›์Œ

์ •๋ฆฌ

์š”์†Œ ํ•ต์‹ฌ
AHB-Lite Single-master ๋ฒ„์ „ AHB
Pipelined Address/Data 2-stage overlap
Burst INCR, WRAP์œผ๋กœ cache line fill
HREADY Wait state ์ œ์–ด
Decoder + MUX ์—ฌ๋Ÿฌ slave์— ๋ผ์šฐํŒ…
Bridge to APB Peripheral ์—ฐ๊ฒฐ

AHB-Lite๋Š” Cortex-M0/M3 SoC์˜ ๊ธฐ๋ณธ bus๋กœ, ๋‹จ์ˆœํ•˜๋ฉด์„œ๋„ ์ถฉ๋ถ„ํ•œ ๋Œ€์—ญํญ์„ ์ œ๊ณตํ•ด ์ €์ „๋ ฅ ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ์— ์ ํ•ฉํ•˜๋‹ค.

AHB-Lite ์ข…ํ•ฉ

๋น„์Šทํ•œ ๊ธ€ ์ถ”์ฒœ

Comments (0)

No comments yet. Be the first to comment!