1 / 8

제 7 장 Refresh Control Unit

제 7 장 Refresh Control Unit. Refresh Control Unit. Refresh Control Unit(RCU) 는 자동적으로 refresh bus cycle 을 생성해준다 . 사용자가 정한 시간 이후에 RCU 는 bus interface unit 에 memory read request 발생하게 된다 . RCU 는 PSRAM auto refresh mode 를 위해 세 개의 웨이트로 고정되어있다 .

Download Presentation

제 7 장 Refresh Control Unit

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 제 7 장 Refresh Control Unit

  2. Refresh Control Unit Refresh Control Unit(RCU) 는 자동적으로 refresh bus cycle을 생성해준다. 사용자가 정한 시간 이후에 RCU는 bus interface unit 에 memory read request 발생하게 된다. RCU 는 PSRAM auto refresh mode를 위해 세 개의 웨이트로 고정되어있다. Refresh Control Unit는 프러세서의 내부 클럭과는 상관없이 동작한다. Power Save Mode에서 RCU 는 새로운 클럭 레이트를 적용하기 위해서 반드시 재프로그램되어야 한다. 만약 Refresh 요구 신호가 발생했을 때(bus hold 상태를 의미한다.) HLDA 핀이 active 상태였다면 콘트롤러는 refresh cycle을 수행하기 위해서 HLDA 핀을 deactivate 시킨다. 외부 버스 마스터 회로는 반드시 refresh 사이클이 실행될 수 있도록 적어도 한 클럭동안 HOLD 신호를 없애주어야 한다.

  3. Memory Partition Register (MDRAM, offset E0H) Bits 15-9 : Refresh Base(M6-M0) - 상위 일곱 개의 비트는 어드레스 비트 A19-A13 에 해당된다. 이 비트들은 AD Bus 에서만 유용하고 A19-A0 어드레스 버스에서는 유용하지 않다. PSRAM mode를 사용할 경우 M6-M0 는 반드시 000000b 로 프로그램되어야 한다. MDRAM register 는 리셋될 때 0000H 값을 갖는다. Clock Prescaler Regiser (CDRAM, offset E2H) Bits 8-0 : Refresh Counter Reload Value(RC8-RC0) - 리프레쉬 사이클 사이의 clock count 간격을 저장한다. 이 카운터 값은 18 보다 적으면 않 된다. 그렇지 않으면 프러세서가 명령을 실행할 때 충분한 버스 사이클을 줄 수가 없다. Power Save Mode 에서는 refresh counter value 는 reduced processor clock rate 에 맞추어 조정되어야 한다. CDRAM register 는 리셋될 때 상태가 정해지지 않는다.

  4. Enable RCU Register (EDRAM, offset E4H) EDRAM Register 는 리셋될 때 0000H 값을 갖는다. Bit 15 : Enable RCU(EN) - Refresh Counter Unit를 enable 시키고 이 비트가 1로 세팅되어있을 때 MCS3 핀을 RFSH 핀으로 사용할 수 있게 한다. EN 비트는 언제든지 클리어시킬 수 있으며 클리어되면 refrech counter가 클리어 되고, 리프레쉬 요구를 중단한다. 하지만 refresh address를 리셋 되지는 않는다. Bit 8-0 : Refresh Count(T8-T0) - 이 비트는 Refresh 요구를 트리거하는 down counter 의 현재 값을 가지고 있는 read-only 레지스터이다.

  5. Watchdog Timer 란 ? 프로세스에 응용되는 프로그램을 작성하고 이식한 후 Run했을 때 동일한 루틴을 계속 반복하는 무한 루프(Endless Loop)를 돌거나 폭주 또는 프로그램 어드레스 영역 밖의 공간을 지정하게 되면 메모리에서 명령어를 가져와(patch) 실행할 수 없으므로 시스템이 정지된 상태가 된다. 이때 프로세서는 Holt, 즉 시스템의 안정성에 대해 신뢰할 수 없는 상태, 아무런 일을 할 수 없는 CPU가 죽은 때라 할 수 있다. PC도 어쩌다 발생할 경우가 있는데, 이 경우 사용자는 짜증스럽게 리셋 버튼을 눌러 빠져 나온다. 이렇게 CPU가 Holt 상태가 되었을 때 강제적으로 리셋을 눌러 초기화하는 감시용 타이머인 WDT(Watchdog Timer) 기능이 있는데 문자 그대로 집을 지키는 개를 뜻한다. 이는 주기적으로 개에게 밥을 주는데 일정시간이 지나도 먹이를 주지 않으면 주인을 물어 버리는 경우 즉, 강제적으로 리셋 또는 인터럽트(Interrupt)를 발생시킨다

  6. Watchdog Timer Control Register (WDTCON, offset E6H) 수행되는 모든 watchdog timer 의 기능을 포함하는 status register 와 control register 로 구성되어있다. Watchdog timer는 프로세서가 리셋되면서 enable 되고 Maximum timeout count 값을 갖는 system reset mode 로 설정된다. WDTCON 레지스터는 리셋 이후 한 번의 라이트 동작으로 open 된다. 쓰기 :3333H, CCCCH 값 쓰기 +새로운 설정 쓰기 리드: 불가능 리셋 : AAAAH, 5555H 값을 갖는 keyed sequence를 입력 WDTCON Register 는 리셋될 때 C080H 값을 갖게된다.

  7. Bit 15 : Watchdog Timer Enable(ENA) - 1로 셋되면 Watchdog timer 가 enable 된다. Bit 14 : Watchdog Reset(WRST) 1로 셋되면 프러세서는 WDT Timeout count 에 도달했을 때 WDT System Reset을 걸게된다. 0 이면 프러세서는 WDT Timeout count 에 도달했을 때 NMIFLAG 비트가 0 인 경우 NMI 인터럽트를 걸게된다. 1이되면 System Reset을 걸게된다. Bit 13 : Reset Flag(RSTFLAG) 1 이되면 Watchdog timer reset event 가 발생한다. 이 비트는 이 레지스터에 대해 keyed read/write 동작을 할 때나 아니면 외부 system reset (reset 버튼을 눌렀을 때) 에 의해서 클리어된다. 이 비트는 외부 system reset 이후에 0으로 리셋되고 WDT system reset 에 의해서 1로 셋된다. Bit 12 : NMI FLAG(NMIFLAG) - 이 비트가 1로 셋되면 Watchdog timer NMI event 가 발생한다. 이 비트는 이 레지스터에 대한 keyed write 동작에 의해서 클리어된다. WDT timeout event 가 일어났을 때 이 비트가 셋되어 있었다면 WRST 비트의 상태에 상관없이 WDT System reset 이 발생한다. Bit 11 : Test Mode(TEST) - 이 비트는 내부 테스트 모드를 위해서 마련된 비트이다. 이 비트를 셋하게되면 early WDT timeout을 발생시키는 special test mode를 activate 시킨다.

  8. Bits 7-0 : WDT Timeout Count(COUNT) - 이 필드는 Watchdog timer timeout 간격을 결정해준다. ;---------------------- Clear Watch dog timer-------------------- mov ax, 03333h mov dx, 0ffe6h ; WDTCON /* clear watch dog timer */ out dx, ax mov ax, 0cccch mov dx, 0ffe6h out dx, ax mov ax, 00000h mov dx, 0ffe6h out dx, ax void watchDogInit(void) { disable(); outport (WDTCON, WDOG_WR1); outport (WDTCON, WDOG_WR2); outport (WDTCON,0x0000); }

More Related