90 likes | 251 Views
제 5 장 Peripheral Control Block. Peripheral Control Block. Am188ES 는 여러 개의 주변소자들이 있는데 이를 콘트롤 하기 위한 Register 가 필요하다 . 이 래지스터들은 각 주변 소자에 붙어 있지만 어드레스 맵에 매핑이 되어있어 메모리 블록을 형성하고 있다 . 이 블록을 PCB(Peripheral Control Block) 이라 한다 .
E N D
Peripheral Control Block Am188ES는 여러 개의 주변소자들이 있는데 이를 콘트롤 하기 위한 Register가 필요하다. 이 래지스터들은 각 주변 소자에 붙어 있지만 어드레스 맵에 매핑이 되어있어 메모리 블록을 형성하고 있다.이 블록을 PCB(Peripheral Control Block)이라 한다. 이 PCB는 I/O Address영역이나 , Menory Address영역에 매핑시킬 수 있다. PCB를 메모리 영역에 매핑시키면 각각의 레지스터들을 억세스하기 위해서는 메모리 억세스 명령(MOV)을 사용해야 하고, I/O 영역에 매핑시키면 I/O 명령(IN/OUT)을 사용해야 한다. Peripheral Control Block(PCB)은 256 바이트 단위로 메모리에 매핑되는데 이 매핑되는 Base Address를 PCB Relocation Register에 세팅하면 된다. 이렇게 내부에 존재하는 PCB가 메모리에 매핑되어있을 때 메모리 억세스 사이클을 외부로 출력하고 I/O에 매핑되었을 때 I/O 억세스 사이클을 출력한다.(다시 말해서 RD, WR, status signals, address lines, data lines 등의 신호가 보통때의 버스 사이클 때 (instruction, data fetch cycle)와 같은 동작을 한다. 그러나 SRDY, ARDY 신호는 무시된다.) 리셋되었을 때 Peripheral Control Block Relocation Register 는 20FFH 로 세팅되는데 이 값은 I/O영역의 FF00h 번지에 PCB가 매핑된다.(I/O영역은 64Kbyte이므로 A19-A16은 무시한다.) 리셋 후에 Control Block Relocation Register를 자신이 원하는 위치에 매핑을 시켜서 사용할 수가 있다.
Processor Control Register Chip-Select Register Interrupt Register Timer Register DMA Register Serial Port 0 Register Serial Port 1 Register PIO Register Peripheral Control Block Register Map
Peripheral Control Block Relocation Register(RELREG, offset FEH) Peripheral Control Block 은 Peripheral Control Block Relocation Register 의 세팅값에 따라서 I/O 에 매핑될 수도 있고 메모리에 매핑될 수도 있다. Peripheral Control Block Relocation Register 의 0~12번 비트값이 베이스 어드레스(PCB 의 시작번지)를 나타내고 13번 비트 M/IO 가 매핑되는 위치를 알려준다(메모리인지 I/O 인지) • Bit 14 : Slave/Master(S/M) –인터럽트 콘트롤러를 슬레이브 모드또는 마스터 모드로 설정 1 이면 마스터모드, 0이면 슬레이브모드. • Bit 12 : Memory/IO Space(M/IO) – PCB를 0이면 I/O space, 1 이면 Memory space에 위치하게 한다. • Bit 11-0: Relocation Address Bits(R19-R8)- PCB base address 의 상위 어드레스 R19-R8을 정의한다. 하위 어드레스 R7-R0는 00h로 된다. PCB가 I/O space이면 R19-R16은 무시한다.
AO15~AO8의 내용이 저장 AD7~AD0의 내용이 저장 Reset Configuration Register (RESCON, Offset F6H, Read Only) Reset Configuration Register 는 리셋될 때 AD0~AD7, A08~AO15 핀에 나타나는 핀의 상태를 저장하는 레지스터이다. 리셋 입력이 Low 로 Assert 되고 나면 Am188ES 의 AD0~AD7,A08~AO15핀의 상태가 이 Reset Configuration Register 에 저장된다. 이 기능은 사용자에게 시스템이 다양한 동작을 할 수 있도록 해준다. 시스템이 사용자의 요구에 따라서 다른 동작을 하도록 할 필요가 있을 때가 있다. 이 때, AD0~AD7, A08~AO15 핀에 풀업이나 풀다운 저항을 달아서 특정한 상태에 있게 하고 시스템에 전원을 공급하고 시스템을 가동 시킨 후에 이 레지스터 값을 검사해서 이 레지스터의 값에 따라 분기되는 부분이 달라지도록 프로그램을 짜놓으면 사용자가 원하는 상태로 시스템을 작동시킬 수 있도록 할 수가 있다.
Processor Release Level Register (PRL, Offset F4H,Read only) 이 레지스터는 프로세서의 버전을 나타내는 레지스터로 Read Only 이다. Auxiliary Configuration Register (AUXCON, Offset F2H) 이 레지스터는 Asynchronous Serial Port 의 flow-control Signal을 구성한다. Am188에서는 LSIZ,MSIZ,IOSIZ는 사용하지않는다. • Bit 6 : Serial Port 1 Enable Receive Request (ENRX1) : (CTS1/ENRX1) Pin의 기능이 1 이면 ENRX1, 0 이면 CTS1 • Bit 5 : Serial Port 1 Request Send (RTS1) :(RTR1/RTS1) Pin의 기능이 1 이면 RTS1, 0 이면 RTR1 • Bit 4 : Serial Port 0 Request Receive Request (ENRX0) • Bit 3 : Serial Port 1 Request Send (RTS0)
System Configuration Register (SYSCON, Offset F0H) • Bit 15 : Enable Power-Save Mode(PSEN) – 1 이면 Power Save Mode 이때 F2-F0 bit에 따라서 내부적으로 Clock을 분할한다. PSEN은 외부인터럽트에 의해서 클리어 된다. 소프트외어 인터럽트나 예외에대해서는 클리어 되지 않는다. • Bit 14 : MCS0 Only Mode Bit(MCSBIT) – MCS0 핀을 콘트롤하는 신호이다. 0 이면 일반적인 Middle Chip Select operation 이고, 1 이면 MCS0핀이 모든 MCS영역에서 동작 한다. • Bit 13 : Data Strobe Mode of DEN Enable (DSDEN) • Bit 12 : Pulse Width Demodulation Mode Enable (PWD)
• Bit 10,8 : CLKOUTB, CLCOUTA Drive Disable (CBD,CAD) – 1 이면 Disable, 0 이면 Enable • Bit 11,9 : CLKOUTB, CLKOUTA Output Frequency (CBF,CAF) – 1 이면 CLKOUTA 에는 크리스탈 입력의 frequency가 출력되고 0 이면 CLKOUTA에 내부적으로 분할된 클럭이 나간다.