KR100299542B1 - 불휘발성메모리를사용한마이크로컴퓨터 - Google Patents

불휘발성메모리를사용한마이크로컴퓨터 Download PDF

Info

Publication number
KR100299542B1
KR100299542B1 KR1019970008548A KR19970008548A KR100299542B1 KR 100299542 B1 KR100299542 B1 KR 100299542B1 KR 1019970008548 A KR1019970008548 A KR 1019970008548A KR 19970008548 A KR19970008548 A KR 19970008548A KR 100299542 B1 KR100299542 B1 KR 100299542B1
Authority
KR
South Korea
Prior art keywords
nonvolatile memory
program
area
data
cpu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
KR1019970008548A
Other languages
English (en)
Other versions
KR970066888A (ko
Inventor
스스무 야마다
도루 와따나베
노부히로 아라이
도시까즈 아베
Original Assignee
다카노 야스아키
산요 덴키 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP8057706A external-priority patent/JPH09251447A/ja
Priority claimed from JP07681596A external-priority patent/JP3439018B2/ja
Priority claimed from JP9545296A external-priority patent/JPH09282181A/ja
Application filed by 다카노 야스아키, 산요 덴키 가부시키가이샤 filed Critical 다카노 야스아키
Publication of KR970066888A publication Critical patent/KR970066888A/ko
Application granted granted Critical
Publication of KR100299542B1 publication Critical patent/KR100299542B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Microcomputers (AREA)
  • Read Only Memory (AREA)

Abstract

EEPROM(1)의 영역 A로부터 영역 B에 기억되어 있는 데이타의 변경을 개시하는 프로그램 명령이 판독되면, EEPROM(1)은 기입 모드로 설정된다. 그리고, CPU(2)는 래치 회로(4)가 지정하는 영역 B의 어드레스에 래치 회로(6)에 래치되어있는 데이타를 기입한다. 이때, CPU(2)는 금지 신호 INH에 의해, EEPROM(1)의 단자 DOUT의 부정 출력의 영향을 무시한다.

Description

불 휘발성 메모리를 사용한 마이크로컴퓨터
본 발명은 플레시 메모리, 특히 EEPROM(전기적으로 소거 가능한 프로그래머블 ROM)을 내장한 마이크로컴퓨터에 관한 것이다.
1칩 마이크로컴퓨터는 프로그램 메모리(불 휘발성 메모리)를 동일 칩 상에 집적화 한 것이다. 상기 프로그램 메모리에는 마스크 ROM, EPROM, EEPROM 등이 사용된다.
(1) 마스크 ROM 내장의 경우
복수 개의 마스크를 한번에 제조하면 양산 효율을 향상시킬 수 있고 동시에 칩 면적을 작게 할 수 있는 이점이 있다. 그러나, 프로그램 변경이 요구되면, 복수개의 마스크를 다시 제조할 필요가 생겨, 상당한 제조 시간을 요해서 상기 요구에 신속하게 대응하지 못하는 결점이 있다.
(2) EPROM 내장의 경우
현 데이타를 자외선 소거한 후에 새로운 데이타를 기입할 수 있으므로, 프로그램 변경에 신속하게 대응할 수 있는 이점이 있다. 그러나, 현 데이타가 모두 자외선 소거되어 버려 소거가 불필요했던 동일한 데이타를 다시 기입해야 하는 결점이 있다.
(3) EEPROM 내장의 경우
현 데이타를 전기적으로 소거한 후에 새로운 데이타를 기입할 수 있으므로 프로그램 변경에 신속하게 대응할 수 있는 이점이 있다. 또, 현 데이타를 부분적으로 소거할 수 있으므로, 소거 불요의 데이타를 그대로 남겨둘 수 있다.
그런데, 최근의 1칩 마이크로컴퓨터는, 상기 각 불 휘발성 메모리의 이점을 이용해서 EEPROM 및 마스크 ROM을 내장하고 있다. 상기 EEPROM은, 1칩 마이크로컴퓨터의 동작 제어를 위한 프로그램 메모리로서 사용되며, 상기 마스크 ROM은 상기 EEPROM의 데이타 변경을 위한 프로그램 메모리로서 사용된다.
이에 따라서, 상기 1칩 마이크로컴퓨터는 상기 EEPROM의 데이타 변경을 자기 스스로 실행할 수 있어서, 범용성이 향상된 것이다.
그러나, 상기 EEPROM의 데이타 변경 방법을 변경하고자 하는 경우, 상기 마스크 ROM을 위한 마스크를 새롭게 다시 제조할 필요가 있기 때문에, 상기 마스크 ROM의 프로그램 변경에 신속하게 대응하지 못하는 문제가 있었다. 또, 1칩 상에 상기 EEPROM 및 상기 마스크 ROM을 배선을 통해서 독립적으로 배선해야 하므로 칩 면적이 크게 되는 문제가 있었다.
본 발명의 목적은, 마이크로컴퓨터의 동작 프로그램의 변경을 용이하게 행하는데 있다.
또, 본 발명의 다른 목적은, 시간이 걸리는 EEPROM의 데이타 변경 시에 CPU의 오동작을 방지하는데 있다.
또, 본 발명의 또 다른 목적은, 동작 프로그램의 변경 시에 인터럽트 처리를 확실하게 실행하는데 있다.
본 발명은 데이타를 반복 기입 및 판독을 할 수 있으며, 기입 완료 데이터를 전기적으로 소거할 수 있는 불 휘발성 메모리를 내장한 마이크로컴퓨터에 있어서, 상기 불 휘발성 메모리의 제1 영역에, 상기 불 휘발성 메모리의 제2의 영역의 데이타를 변경하기 위한 프로그램을 기억한다.
따라서, 제1의 영역에 기억되어 있는 프로그램을 실행시키므로써, 제2의 영역에 기억되어 있는 데이타를 변경할 수 있다. 제2의 영역에 마이크로컴퓨터의 동작 프로그램을 기억시킴으로써, 이 동작 프로그램을 용이하게 변경할 수 있다. 또, 마이크로컴퓨터는 EEPROM 만을 내장하면 좋고, 마스크 ROM이 불필요하다. 따라서, 칩 면적을 작게 할 수 있다.
또, 프로그램 카운터의 값에 기초해서, CPU가 제1의 영역에 기억되어 있는 프로그램 명령을 실행하여, 제2의 영역의 데이타를 변경할 수 있다. 그리고, 데이타의 변경을 행하고 있는 동안은 이 프로그램 카운터의 값을 무효로 한다. 이에 따라서, 시간이 걸리는 제2의 영역의 데이타의 변경을 확실하게 행할 수 있다. 또, 이 제2의 영역의 데이타 변경을 행하고 있는 동안은, CPU의 동작 클록을 정지시키는 등으로 하여 CPU가 오동작하지 않도록 하는 것이 바람직하다. 또, CPU를 대기 상태로 하거나, 프로그램 카운터의 값을 제2의 영역의 데이타 변경 개시 시의 값으로 유지하는 것도 바람직하다. 이와 같이해서 CPU의 오동작을 확실히 방지할 수 있다.
또, 프로그램 명령의 실행에 의해 제2의 영역의 데이타 변경을 행하고 있는 경우에는, 그 프로그램 명령의 실행을 그 종료까지 연속해서 행하는 것이 바람직하다. 이에 따라, 인터럽트 요구가 발생한 경우에도, 제2의 영역의 데이타 변경 종료후에 인터럽트 요구를 확실하게 실행할 수 있다. 게다가, 프로그램 명령을 중단시키는 등의 복잡한 소프트웨어 처리가 불필요하게 되어 프로그램 작성 시의 잘못을 저감할 수 있다.
또, 각 프로그램 명령의 실행 시컨스를 제어하는 카운터를 설치해서, 이 카운터의 카운트 값을 일정하게 유지하고, 프로그램 카운터의 값을 일정한 값으로 유지하는 것도 바람직하다.
게다가, 인터럽트 프로그램을 제1의 영역 및 제2의 영역의 양쪽에 기입해 두는 것이 바람직하다. 특히, 제1의 영역에 제2의 영역의 데이타 변경 중에 필요한 인터럽트 처리(예를 들면, 타이머 인터럽트나, 외부 인터럽트 등)를 위한 프로그램을 기입해 두는 것이 바람직하다. 이에 따라서, 제2의 영역의 데이타 변경 중에 이 처리에서 필요한 인터럽트 처리를 확실하게 행할 수 있다.
제1의 영역용의 인터럽트 벡터 회로와, 제2의 영역용의 인터럽트 벡터 회로를 설치해서, 이것을 제2의 영역의 데이타 변경 중 인지의 여부에 의해 전환하는 것이 바람직하다· 이것에 의해서, 인터럽트 요구의 발생은, 제2의 영역의 데이타 변경 중인지의 여부에 의하지 않고 하나의 방식으로 족하다. 따라서, 제2의 영역의 데이타 변경의 경우와 그 밖의 경우에서, 인터럽트 요구를 공용할 수 있다.
제1도는 제1 실시 형태의 마이크로컴퓨터를 나타내는 블럭도.
제2도는 제1 실시 형태의 마이크로컴퓨터의 동작을 나타내는 타이밍 챠트.
제3도는 제1 실시 형태의 금지 회로의 일레를 나타내는 도면.
제4도는 제1 실시 형태의 금지 회로의 다른 일레를 나타내는 도면.
제5도는 제2 실시 형태의 마이크로컴퓨터를 나타내는 블럭도.
제6도는 제2 실시 형태의 CPU 제어 회로의 일레를 나타내는 도면.
제7도는 제2 실시 형태의 마이크로컴퓨터의 동작을 나타내는 타이밍 챠트.
제8도는 제3 실시 형태의 인터럽트 처리를 실행하기 위한 회로의 블럭도.
제9도는 제3 실시 형태의 인터럽트 처리를 설명하는 플로우 챠트.
* 도면의 주요부분에 대한 부호의 설명
1 : EEPROM 2 : CPU
3 : 프로그램 카운터 4, 6 : 래치 회로
5 : 어드레스 버스 7 : 데이타 버스
8, 9 : AND 게이트 10 : OR 게이트
11 : 메모리 제어 회로 12 : CPU 제어 회로
본 발명의 상세를 도면을 참조해서 구체적으로 설명한다.
도 1은 본 발명의 마이크로컴퓨터를 나타내는 회로 블럭도이며, 1칩 상에 집적화된다. 도 2는 도 1의 동작을 설명하기 위한 타임 챠트이다. 도 1에서, 도면 참조 번호 1은 EEPROM이다. EEPROM(1)은, 데이타를 반복 기입 및 판독할 수 있으며 기입 완료 데이타를 전기적으로 소거할 수 있는 불 휘발성 메모리이다. EEPROM(1)의 영역 A는 잔여 영역 B의 데이타 변경용의 프로그램 영역에 할당되며, 영역 B는 1칩 마이크로컴퓨터의 동작 제어 프로그램 등을 위한 기억 데이타 영역에 할당된다. EEPROM(1)는 어드레스 데이타가 인가되는 단자 AD, 기입 데이타가 인가되는 단자 DIN, 판독 데이타가 출력되는 단자 DOUT, 기입 모드 설정 신호가 인가되는 단자 WE를 갖고 있다. 또, EEPROM(1)의 영역 A의 프로그램은 외부 PROM 라이터(도시 생략)로부터 EEPROM(1)로 데이타를 공급하므로써 용이하게 변경할 수 있고, 프로그램 변경에 신속하게 대응할 수 있다.
도면 참조 번호 2는 CPU이며, EEPROM(1)의 단자 DOUT로부터의 판독 데이타에 기초해서 동작한다. CPU(2)는 프로그램 카운터(3), 인스트럭션 레지스터, 인스트럭션 디코더, 연산 논리 유닛 등, 논리 동작을 실행하는데 필요한 구성을 포함하는 것으로 한다. 도면 참조 번호 4는 래치 회로이며, EEPROM(1)의 어드레스 데이타의 비트 수m과 같은 개수만큼 설치된다. 래치 회로(4)의 L단자는 어드레스 버스(5) m개를 개재하여 CPU(2)의 어드레스 단자와 병렬 접속되며, C 단자는 CPU(2)의 클럭 단자와 공통 접속된다· 즉 래치 회로(4)는 클럭 CK0에 동기해서 어드레스 데이타를 래치한다· 따라서, 래치 회로(4)는 어드레스 유지 회로로서 기능한다.
도면 참조 번호 6은 래치 회로이며, EEPROM 워드(워드는 EEPROM(1)의 각 어드레스의 비트 길이이며, 예를 들면 1바이트)의 비트수n과 같은 개수만큼 설치된다. 래치 회로(6)의 L단자는 데이타 버스(7)n개를 개재해서 CPU(2)의 데이타 단자와 병렬 접속되며, C단자는 CPU(2)의 다른 클럭 단자와 공통 접속되며, Q 단자는EEPROM(1)의 단자 DIN과 접속된다. 즉, 래치 회로(6)는 클록 CK1에 동기해서 기입 데이타를 래치 함과 동시에 EEPROM(1)에 공급한다. 따라서 래치 회로(6)는 데이타 유지 회로로서 기능한다.
AND 게이트(8, 9) 및 OR 게이트(10)는 전환 회로를 구성한다. 이 전환 회로는 래치 회로(4)와 동일한 개수 m 만큼 설치된다. AND 게이트(8)의 한쪽의 입력단자는 프로그램 카운터(3)의 출력 단자와 접속되며, AND 게이트(9)의 한쪽의 입력단자는 래치 회로(4)의 Q 단자와 접속되며, OR 게이트(10)의 출력 단자는 EEPROM(1)의 단자 AD와 접속된다. 즉, 전환 회로는 후술하는 선택 신호 SELECT에 따라서, 프로그램 카운터(3) 또는 래치 회로(4) 중 어느 하나의 어드레스 데이타를 EEPROM(1)에 공급한다.
도면 참조 번호 11은 메모리 제어 회로이다. EEPROM(1)으로부터 어드레스 영역 B의 데이타 변경을 개시하는 프로그램 명령이 판독된 때에, CPU(2)는 이 프로그램 명령을 해독해서 스타트 펄스 START를 출력한다. 메모리 제어 회로(11)는 스타트 펄스 START의 하강을 검출해서, 여기서부터 시간 T1만큼 경과한 후에 시간 T2만큼 로우 레벨이 되는 모드 제어 신호 MODE를 출력하고, 이 모드 제어 신호 MODE를 EEPROM(1)의 단자 WE에 공급한다. 따라서, EEPROM(1)은 모드 제어 신호 MODE가 로우 레벨이 되는 기간 T2만, 기입 모드로 설정된다. 또, 기간 T2는 EEPROM(1)이 지정된 어드레스에 데이타를 기입하기 위해서 필요 충분한 시간으로 설정되어 있다. 메모리 제어 회로(l1)는, 모드 제어 신호 MODE의 상승을 검출해서, 엔드 펄스 END를 출력한다. 메모리 제어 회로(11)는 스타트 펄스 START의 하강에서 엔드 펄스 END의 하강까지의 기간만, 로우 레벨이 되는 선택신호 SELECT를 출력한다. 따라서, 상기 전환 회로는 선택 신호 SELECT가 로우레벨이 되는 기간만, 프로그램 카운터(3)의 출력을 차단해서, 래치 회로(4)의 출력을 EEPROM(1)의 단자 AD로 공급한다.
도면 참조 번호 12는 CPU 제어 회로이다. EEPROM(1)의 명령의 실행 시간은 μsec 단위이지만, EEPROM(1)의 데이타 기입 시간은 msec 단위로 대단히 길다. 그래서, EEPROM(1)이 기입 모드가 되는 기간 T2동안은 CPU(2)가 EEPROM(1)의단자 DOUT의 부정 출력의 영향을 받는 것을 금지하고, 프로그램 카운터(3)의 값을현상태로 정지시킬 필요가 있다. CPU 제어 회로(12)는 스타트 펄스 START의 하강에서 엔드 펄스 END의 하강까지의 기간만, 금지 신호 INH를 출력한다. CPU(2)는 금지 신호 INH를 검출해서 상기 금지 동작을 행한다. 또, 금지 신호 INH는 선택 신호 SELECT와 동일한 파형이다. 도면 참조 번호(13)는 클럭 제너레이터이며, CPU(2)의 동작에 필요한 시스템 클럭 CK를 발생한다.
이하, 도 1의 동작을 도 2의 타임 챠트를 기초로 설명한다. 또, 초기 상태에서는 모드 제어 신호 MODE 및 선택 신호 SELECT는 하이 레벨이며, EEPROM(1)은 프로그램 카운터(3)에서 어드레스 지정되는 판독 모드로 설정되어 있는 것으로 한다. 또, 프로그램 명령 X는 어드레스 데이타를 래치 회로(4)에 래치 시키는 명령, 프로그램 명령 X+1은 기입 데이타를 래치 회로(16)에 래치시키는 명령, 프로그램 명령 X+2는 EEPROM(1)에 데이타를 기입시키는 명령이다.
EEPROM(1)의 단자 DOUT로부터 프로그램 명령 X가 판독되면, 이 프로그램 명령 X가 CPU(2)에서 해독되고, 어드레스 데이타가 클럭 CKD에 동기해서 래치회로(4)로 래치된다.
프로그램 카운터(3)가 +1 증분되고, EEPROM(1)의 단자 DOUT로부터 프로그램 명령 X+1가 판독되면, 이 프로그램 명령 X+1이 CPU(2)에서 해독되어, 기입 데이타가 클럭 CK1에 동기하여 래치 회로(6)로 래치된다.
프로그램 카운터(3)가 +1 증분되고, EEPROM(1)의 단자 DOUT로부터 프로그램 명령 X+2가 판독되면, 이 프로그램 명령 X+2는 CPU(2)에서 해독된다. 그러면, 스타트 펄스 START가 발생한다. 선택 신호 SESECT는 스타트 펄스 START의 하강을 받아서 로우 레벨로 변화한다. 모드 선택 신호 MODE는 스타트 펄스 START의 하강으로부터 시간 T1이 경과한 후에 시간 T2만큼 로우 레벨로 변화하고, 그 후 하이 레벨로 복귀한다. 엔드 펄스 END는 모드 제어 신호 MODE의 하이레벨의 복귀를 받아서 발생한다, 상기 선택 신호 SELECT는 엔드 펄스 END의 하강을 받아서 하이 레벨로 변화한다.
따라서, EEPROM(1)의 영역B의 데이타를 변경하는 기간은 금지 신호 INH가 발생되고, 이것에 의해, CPU(2)는 EEPROM(1)의 단자 DOUT의 부정 출력의 영향을 무시할 수 있고, 또한, 프로그램 카운터(3)의 값을 스타트 펄스 START가 발생한때 그대로 유지할 수 있다. 이 결과, EEPROM(1)의 데이타 변경 시의 CPU(2)의 오동작을 방지할 수 있다.
EEPROM(1)의 영역 B의 데이타 변경 시에, CPU(2)의 오동작 방지 대책으로서, CPU(2)를 대기 상태(HALT)로 하는 수단, CPU(2)의 시스렘 클럭을 정지시키는 수단, 점프 명령을 이용해서 프로그램 카운터(3)의 값을 스타트 펄스 START가 발생한 때의 상태로 되돌리는 수단 등이 고려된다.
도 3은 CPU(2)의 시스템 클럭을 정지시키는 금지 회로의 하나의 구체예를 나타내는 회로 블럭도이며, 이 금지 회로는 CPU(2)에 내장된다.
도 3에서, 도면 참조 번호(14)는 래치 회로이며, L단자에는 선택 신호SELECT와 동일한 파형의 금지 신호 INH가 인가되며, C단자에는 클럭 제너레이터(13)로부터 발생하는 서스템 클럭 CK가 인버터(5)를 개재하여 인가된다. 즉, 래치회로(14)는 상기 시스템 클럭의 하강에 동기해서 금지 신호 INH를 래치한다. AND게이트(16)는 래치 회로(14)의 Q 출력 단자와 상기 시스템 클럭과의 논리적을 연산한다. 따라서, EEPROM(1)이 데이타 기입을 행하고 있을 때는 상기 시스템 클럭을 정지시켜 CPU(2)의 동작을 정지시켜 상기 오동작을 방지할 수 있다.
도 4는 점프 명령을 이용해서 프로그램 카운터(3)의 값을 스타트 펄스 START 발생 시의 상태로 되돌리는 금지 회로의 하나의 구체예를 나타내는 블럭도이며, 이 금지 회로는 CPU(2)에 내장된다.
도 4에서, 도면 참조 번호(17)는 D형 플립플롭이며, D 단자에는 금지 신호INH가 인가되며, C 단자에는 CPU(2)의 1명령 단위마다 발생하는 클럭 CK2가 인가된다. 또, 클럭 CK0, CKl, CK2는 클럭 제너레이터(13)의 시스템 클럭 CK를 기초로 발생한다. 따라서, D형 플립플롭(17)은 금지 신호 INH를 CPU(2)의 동작 타이밍에 동기시킨다. 도면 참조 번호(18)는 선택 회로이며, CPU(2) 내부에서 논리 회로를 사용해서 고정적으로 발생하는 점프 명령 데이타와, EEPROM(1)의 단자 DOUT로부터 판독되는 명령 데이타를, D형 플립플롭(17)의 Q 단자 출력에서 선택 출력한다. 선택 회로(18)는 D형 플립플롭(17)의 Q 단자 출력이 로우 레벨일때 점프 명령데이타를 선택 출력한다. 도면 참조 번호(19)는 인스트럭션 디코더이며, 점프 명령데이타를 해독하므로써, 프로그램 카운터(3)의 값을 스타트 펄스 START 발생 시의상태로 되돌린다. 따라서, EEPROM(1)이 데이타 변경을 행하고 있을 때, EEPROM(1)의 단자 DOUT의 판독 데이타를 무시할 수 있고, 프로그램 카운터(3)의 값을 스타트 펄스 START 발생 시의 값으로 항상 유지할 수 있다. 따라서, EEPROM(1)이 기입 모드로부터 판독 모드로 복귀했을 때, 스타트 펄스 START 발생 시의 어드레스로부터 판독 동작을 실행할 수 있다.
이상으로부터, EEPROM(1)의 영역 A를 잔여의 영역 B의 데이타를 변경하기위한 프로그램 영역에 할당된 것에 의해, 종래의 1칩 상에 EEPROM 및 마스크 ROM을 집적한 경우와 비교할 때, 칩 면적을 작게 할 수 있다. 또, EEPROM(1)의 영역 B의 데이타 변경 시에 CPU(2)의 오동작을 확실히 방지할 수 있다.
제2 실시 형태의 구성을 도 5로 나타내었다. 전체적 구성은 도 1에 도시한 제1 실시 형태와 동일하다. 제2 실시 형태에서는 CPU 제어 회로(12)에서, 금지 신호 1NH외에, 계수 값 t1∼t4를 CPU(2)에 공급한다· 또, CPU 제어 회로(12)에 클럭제너 레이터(13)에서 발생되는 시스템 클럭 CK가 공급된다.
도 6은 CPU 제어 회로(12)의 일 실시 형태는 나타내는 회로 블럭도이다. 도6에서, 도면 참조 번호(20)는 RS 플립플롭이며, R 단자는 스타트 펄스 START가 인가되고, S 단자는 OR 게이트(21)를 개재해서 마이크로컴퓨터를 위한 리세트 신호(하이 액티브) 또는 엔드 펄스 END가 인가된다. 도면 참조 번호(22)는 카운터이며, EEPROM(1)에 기억된 프로그램 명령의 판독으로부터 이 프로그램 명령의 실행에 이르기까지의 시컨스를 제어하는 것이다. 카운터(22)는 RS 플립플롭(20)의 Q 단자가 하이 레벨이 된 때 인에이블이되고, 클럭 CK를 계수해서 t1∼t4를 반복 발생한다. 카운터(22)의 계수값 t1∼t4는 CPU(2) 내부의 상기 인스트럭션 디코더에 공급된다. t1은 CPU(2)가 상기 프로그램 명령을 판독하는 기간이며, CPU(2)는 이 시간만 하이 레벨이 되는 판독 신호 READ를 발생한다. t2는 상기 프로그램 명령을 해독하는 기간이다. t3는 상기 프로그램 명령을 실행하는 기간이다. t2는 프로그램 카운터(3)의 값을 +1 증분하는 기간이며, CPU(2)는 이 기간만 하이 레벨이 되는 신호 INC를 발생한다.
그런데, 마이크로컴퓨터는 한 개의 프로그램 명령을 해독해서 1개의 동작을 실행하는 1워드 명령, 연속하는 2개의 프로그램 명령을 해독해서 1개의 동작을 실행하는 2워드 명령 등을 갖는다. 예를 들면, 2워드 명령은, 카운터(22)의 계수 값이 2회째의 t3이 된 때에 실행된다.
이하, 도 5의 동작을 도 7의 타임 챠트를 기초로 설명한다. 또한, 제1 실시형태와 동일하게, 초기 상태에서는 모드 제어 신호 MODE 및 선택 신호 SELECT는 하이 레벨이며, EEPROM(1)은 프로그램 카운터(3)에서 어드레스 지정되는 판독모드로 설정되어 있는 것으로 한다. 또, 본 실시 형태에서는 프로그램 명령 X는 어드레스 데이타를 래치 회로(4)에 래치시키는 1워드 명령, 프로그램 명령 X+1, X+2는 기입 데이타를 래치 회로(6)에 래치시키는 2워드 명령, 프로그램 명령 X+3, X+4는EEPROM(1)에 데이타를 기입시키는 2 워드 명령이다.
EEPROM(1)의 단자 DOUT로부터 프로그램 명령 X가 판독되면, 이 프로그램 명령 X가 CPU(2)에서 해독되어, 어드레스 데이타가 클럭 CKO에 동기해서 래치회로(4)에 래치된다.
프로그램 카운터(3)가 +1증분되고, EEPROM(1)의 단자 DOUT로부터 프로그램 명령 X+1가 판독되면, 이 프로그램 명령 X+1은 CPU(2)에서 해독된다. 다시, 프로그램 카운터(3)가 +1 증분되고, EEPROM(1)의 단자 DOUT로부터 프로그램 명령 X+2가 판독되면, 이 프로그램 명령 X+2는 CPU(2)에서 해독된다. 이로써, 기입 데이타가 클럭 CK1에 동기해서 래치 회로(6)에 래치된다.
프로그램 카운터(3)가 +1 증분되어, EEPROM(1)의 단자 DOUT로부터 프로그램 명령 X+3가 판독되면, 이 프로그램 명령 X+3은 CPU(2)에서 해독된다. 다시, 프로그램 카운터(3)이 +1 증분되어, EEPROM(1)의 단자 DOUT로부터 프로그램 명령 X+4가 판독되면 이 프로그램 명령 X+4은 CPU(2)에서 해독된다. 그러면, 카운터(22)의 계수 값이 2회째의 t3가 된 점에서 스타트 펄스 START가 발생된다. 선택 신호 SELECT는 스타트 펄스 START의 상승을 받아서 로우 레벨로 변화한다. 모드 제어 신호 MODE는 스타트 펄스 START의 상승으로부터 시간 T1가 경과한 후에 시간 T2만 로우 레벨로 변화된 후, 하이 레벨로 복귀한다. 엔드 펄스 END는 모드 제어 신호 MODE의 하이 레벨로의 복귀를 받아서 발생한다. 상기 선택 신호 SELECT는 엔드 펄스 END의 상승을 받아서 하이 레벨로 변화한다.
그런데, 스타트 펄스 START가 상승하면, 카운터(22)가 디스에이블로 되어 해당 카운터(22)의 계수 값이 t3에서 정지하므로, 신호 INC 및 판독 신호 READ는 발생하지 않게 된다. 즉, 스타트 펄스 START의 하강에서 엔드 펄스 END의 상승까지의 기간 A는, 카운터(22)의 계수 값은 t3의 상태로 된다. 기간 A는 프로그램 명령의 실행 기간이므로, CPU(2)는 스타트 펄스 START가 발생하면, 프로그램 카운트(3)의 값을 X+4에서 정지시키도록 동작한다. 그후, 엔드 펄스 END가 발생하면, 카운터(22)가 인에이블로 되어 해당 카운터(22)의 계수 값이 t4로 변화하므로, 신호INC가 발생하여 프로그램 카운터(3)의 값은 X+5가 된다. 따라서, EEPROM(1)이 기입 모드로 설정된 기간은 프로그램 명령 X+3, X+4에 기초한 2워드 명령이 연속해서 실행되게 된다.
이상으로부터, CPU(2)는, EEPROM(1)의 단자 DOUT의 부정 출력의 영향을 무시할 수 있고, 또한 프로그램 카운터(3)의 값을 스타트 펄스 START가 발생되었을 때 그대로 유지할 수 있다. 이 결과, EEPROM(1)의 데이타 변경 시에서의 CPU(2)의 오동작을 방지할 수 있다.
또, EEPROM(1)의 기입 모드 설정 기간에 인터럽트 요구가 발생된 경우에도, 프로그램 명령 X+3, X+R가 연속해서 실행되고 있으므로, 이 프로그램 명령 X+3, X+4의 종료 후에 상기 인터럽트 요구를 확실하게 실행할 수 있다.
게다가, EEPROM(1)을 기입 모드로 설정할 때, 프로그램 명령을 중단하는 등의 복잡한 소프트웨어 처리가 필요 없게 되어 프로그램 작성 시의 잘못을 저감할 수 있다.
또, 스타트 펄스 START의 상승과 동시에 발생하는 금지 신호 INH에 의해 클럭 CK를 정지시켜 카운터(16)의 계수 값을 t3에서 정지시켜도 좋다.
상술한 바와 같이, 제1, 제2 실시 형태의 마이크로컴퓨터는 EEPROM(1)을 영역 A와 영역B로 분할하고, 영역 A에 영역 B의 데이타 변경 프로그램을 기억한다. 그리고, 이것에 의해서 제2 영역에 기억되어 있는 데이타(마이크로컴퓨터의 동작 프로그램)의 변경이 용이하게 된다.
여기서, 영역 B 내에는 인터럽트 처리를 위한 프로그램도 기입되어 있다.
여기서, 본 실시 형태의 1칩 마이크로컴퓨터는 상기 EEPROM의 영역 A의 프로그램 명령을 해독하므로써, 상기 EEPROM의 영역 B의 마이크로컴퓨터의 동작프로그램의 변경을 실행한다.
그런데, 상기 EEPROM의 영역 B의 프로그램 변경 시에, 인터럽트 요구(타이머 인터럽트, 외부 인터럽트 등)이 발생된 경우, 제2 영역의 프로그램이 설정되어 있지 않으므로 인터럽트 처리 프로그램을 사용할 수 없는 문제가 생긴다.
그래서, 본 실시 형태에서는, 불 휘발성 메모리의 영역 B의 프로그램을 한창 변경하고 있는 동안에 인터럽트 요구가 발생된 경우에도 해당 인터럽트 요구에 기초한 인터럽트 처리를 확실하게 실행할 수 있게 하고 있다.
본 실시 형태의 마이크로컴퓨터의 전체 구성 및 전체 동작은, 상술한 제1 실시예와 동일하다.
따라서, EEPROM(1)의 영역 B의 데이타를 변경하는 기간은 금지 신호 INH가 발생되고, 이것으로부터, CPU(2)는 EEPROM(1)의 단자 DOUT의 부정 출력의 영향을 무시할 수 있다. 또, 상기 시스템 클럭을 정지시켜 프로그램 카운터(3)의 값을 스타트 펄스 START가 발생된 때 그대로 유지할 수 있다. 이 결과, EEPROM(1)의 데이타 변경 때에 CPU(2)의 오동작을 방지할 수 있다.
한편, 도 8은 인터럽트 처리를 실행하기 위한 블럭도이며, CPU(2) 내부에 구성된다. 도 9는 도 8의 동작을 설명하기 위한 플로우 챠트이다. 그리고, 본 실시형태에서는 EEPROM(1)의 영역 A에는 영역 B의 프로그램을 변경할 때 필요하게되는 인터럽트 요구가 발생된 때, 해당 인터럽트 요구에 기초한 인터럽트 처리를 실행하기 위한 프로그램이 기입되어 있다. 또, 영역 B에는 영역 B의 프로그램 실행중의 인터럽트 요구에 대응하는 인터럽트 처리를 위한 프로그램이 기입되어 있다.
도 8에서, (30-1)∼(30-n)은 인터럽트 벡터 회로이며, 인터럽트 요구 1-n가발생된 때, 프로그램 카운터(3)의 값을 해당 인터럽트 요구 1-n에 기초한 인터럽트처리를 실행하기 위한 EEPROM(1)의 영역 B 내의 어드레스에 변경 기입하는 것이다. 동일하게, (31-1)∼(31-n)은 인터럽트 벡터 회로이며, 상기 인터럽트 요구 1-n이 발생된 때에, 프로그램 카운터(3)의 값을 해당 인터럽트 요구 1-n에 기초한 인터럽트 처리를 실행하기 위한 EEPROM(1)의 영역 A 중의 어드레스에 변경 기입하는 것이다. 도면 참조 번호(32)는 래치 회로이며, 인터럽트 벡터 회로(30-1)∼(30-n) 또는 인터럽트 벡터 회로(31-1)∼(31-n) 중의 어느 하나를 이네이블하게 하기 위한신호를 래치하는 것이다. 래치 회로(32)의 출력은 인터럽트 벡터 회로(30-1)∼(30-n)의 입력과 공통 접속되며, 인버터(33)를 개재하여 인터럽트 벡터 회로(31-1)∼(31-n)의 입력과 공통 접속된다. 즉, 래치 회로(32)가 논리값「1」을 래치한 때, 인터럽트 벡터 회로(30-1)∼(30-n)가 이네이블하게 되고, 래치 회로(32)가 논리값「0」을 래치한 때, 인터럽트 벡터 회로(31-1)∼(31-n)이 이네이블 하게 된다.
이하, 도 8의 동작을 도 9의 플로우 챠트를 기초로 설명한다.
EEPROM(1)의 영역 B의 프로그램이 잘못되어 있는 경우, 해당 프로그램을 올바르게 변경할 필요가 있다.
먼저, CPU(2)는 EEPROM(1)의 영역 B의 프로그램을 변경해야하는지의 여부를 판단한다(S1). EEPROM(1)의 영역 B의 프로그램을 변경할 필요가 없는 경우(S1 : 아니오), 전체 인터럽트 요구를 일단 디스에이블로하고(S2), 래치 회로(32)에 논리값「1」을 래치시킨 후에 전체 인터럽트 요구를 이네이블하게 한다(S3)다. 즉, 인터럽트 벡터 회로(30-l)∼(30-n)이 이네이블하게 된다. 그리고, EEPROM(1)의 영역 B의 프로그램이 실행된다(S4)· 해당 프로그램 실행시, 인터럽트 요구 1-n의 어느 하나가 발생하면(S5; 예), 프로그램 카운터(3)의 값이 해당 인터럽트 요구에 대응하는 EEPROM(1)의 영역 B의 어드레스에 변경 기입되어 해당 인터럽트 요구에 기초한 인터럽트 처리가 실행되게 된다(S6).
한편, EEPROM(1)의 어드레스 영역 B의 프로그램을 변경 처리하는 경우(S1; 예), 전체 인터럽트 요구를 일단 디스에이블하게 하고(S7), 래치 회로(32)에 논리값「0」을 래치시킨 후에 전체 인터럽트 요구를 이에이불하게 한다(S8). 즉, 인터럽트벡터(31-1)∼(31-n)이 이에이블하게 된다. 그리고, EEPROM(1)의 영역 A의 프로그램에 의한 영역 B의 프로그램 변경 처리가 실행된다(S9). 해당 프로그램 실행시, 인터럽트 요구 1-n의 어느 하나(EEPROM(1))의 영역 B의 프로그램 변경 시에 필요하게 되는 인터럽트 요구)가 발생하면(S10; 예), 프로그램 카운터(3)의 값이 해당 인터럽트 요구에 대응하는 EEPROM(1)의 영역 A의 어드레스에 변경 기입되고, 해당인터럽트 요구에 기초한 인터럽트 처리가 실행되게 된다(S11)다. 또한, EEPROM(1)의 영역 B의 프로그램 변경이 종료하면, 상기 1칩 마이크로컴퓨터는 리세트되고, EEPROM(1)의 영역 B의 프로그램의 해독 결과에 따라 동작한다.
이상으로부터, EEPROM(1)의 어드레스 영역 B의 프로그램의 변경 처리 중, 해당 프로그램을 변경하는 과정에서 필요하게 되는 인터럽트 요구(타이머 인터럽트, 외부 인터럽트 등)이 발생한 경우에도, 해당 인터럽트 요구에 기초한 인터럽트 처리를 확실하게 실행할 수 있다. 또, EEPROM(1)의 영역 B의 프로그램 변경을 행하는 경우와 하지 않는 경우에서, 인터럽트 요구 1∼n을 공용할 수 있고, 프로그램 효율을 향상할 수 있다.
또한, 상술한 설명에서, EEPROM(1)으로부터의 프로그램의 판독 시에, 프로그램 카운터(3)를 +1씩 증분했으나, 미리 정해진 다른 값씩 증분하는 경우도 있다.

Claims (14)

  1. 데이타를 반복해서 기입 및 판독할 수 있으며, 동시에 기입 완료 데이타를 전기적으로 소거할 수 있는 불휘발성 메모리를 내장한 마이크로컴퓨터에 있어서,
    상기 불휘발성 메모리의 제1 영역에 상기 불휘발성 메모리의 제2 영역의 데이타를 변경하기 위한 프로그램이 기억되는 것을 특징으로 하는 마이크로컴퓨터.
  2. 데이타를 반복해서 기입 및 판독할 수 있으며, 동시에 기입 완료 데이타를 전기적으로 소거할 수 있는 불휘발성 메모리를 내장한 마이크로컴퓨터에 있어서,
    상기 불휘발성 메모리의 제1 영역에 상기 불휘발성 메모리의 제2 영역의 데이타를 변경하기 위한 프로그램이 기억되며,
    상기 불휘발성 메모리의 제1 영역으로부터 판독된 명령에 기초해서, 상기 불휘발성 메모리의 제2 영역에 기억되어 있는 데이타의 변경 처리를 행하는 CPU, 및 상기 불휘발성 메모리의 제2 영역의 변경 처리를 행하고 있는 기간 동안, 상기 CPU가 상기 불휘발성 메모리의 제1 영역으로부터 다음 명령을 판독하는 것을 금지하는 CPU제어 회로를 포함하는 것을 특징으로 하는 마이크로컴퓨터.
  3. 제2항에 있어서, 상기 프로그램에 포함된 복수의 프로그램 명령의 실행을 제어하는 프로그램 카운터를 포함하며, 상기 불휘발성 메모리의 제1 영역으로부터 판독된 프로그램 명령을 순차 실행하는 CPU,
    상기 CPU로부터 상기 불휘발성 메모리의 변경해야할 어드레스 데이타가 공급됨과 동시에 유지되는 어드레스 유지 회로,
    상기 CPU로부터 상기 불휘발성 메모리의 변경 데이타가 공급되며, 또한 유지되는 데이타 유지 회로,
    상기 불휘발성 메모리의 제1 영역으로부터, 제2 영역의 데이타의 변경을 개시하는 프로그램 명령이 판독된 때에, 데이타 변경에 요하는 시간에 대응하는 시간만, 상기 불휘발성 메모리를 기입 모드로 설정하고, 또한 상기 프로그램 카운터의 출력을 무효로 하고, 상기 어드레스 유지 회로에 의한 상기 불휘발성 메모리의 지정 어드레스에 상기 데이타 유지 회로의 데이타를 기입시키는 메모리 제어 회로, 및
    상기 불휘발성 메모리가 기입 모드로 설정되어 있을 때, 상기 CPU가 상기 불휘발성 메모리의 부정 상태에 있는 판독 출력의 영향을 받는 것을 금지하는 CPU제어 회로를 더 구비하는 것을 특징으로 하는 마이크로컴퓨터.
  4. 제3항에 있어서, 상기 CPU 제어 회로는 상기 불휘발성 메모리가 기입모드로 설정되어 있을 때 상기 CPU를 대기 상태로 하는 것을 특징으로 하는 마이크로컴퓨터.
  5. 제3항에 있어서, 상기 CPU 제어 회로는 상기 불휘발성 메모리가 기입모드로 설정되어 있을 때 상기 CPU의 동작 클럭을 정지시키는 것을 특징으로 하는 마이크로컴퓨터.
  6. 제3항에 있어서, 상기 CPU 제어 회로는 상기 불휘발성 메모리가 기입모드로 설정되어 있을 때에 상기 프로그램 카운터의 값을 상기 불휘발성 메모리가 기입모드로 설정된 때의 어드레스로하고 점프 명령을 반복하는 것을 특징으로 하는 마이크로컴퓨터.
  7. 제2항에 있어서, 상기 컴퓨터는 제1 영역에 기입되어 있는 상기 프로그램에 포함된 복수의 프로그램 명령을 실행하여 상기 제2 영역에 기억되어 있는 데이타를 변경하고, 상기 제2 영역의 데이타의 변경을 행하고 있는 동안은 상기 프로그램 명령의 실행을 중단하지 않고 계속하는 것을 특징으로 하는 마이크로컴퓨터.
  8. 제7항에 있어서, 상기 복수의 프로그램 명령 중 실행할 프로그램 명령을 지정하는 프로그램 카운터를 포함하며, 상기 프로그램 카운터의 출력에 기초해서 상기 불휘발성 메모리의 제1영역으로부터 판독된 프로그램 명령에 기초해서 동작하는 CPU,
    상기 CPU로부터 상기 불휘발성 메모리의 변경해야 할 어드레스 데이타가 공급됨과 동시에 유지되는 어드레스 유지 회로,
    상기 CPU로부터 상기 불휘발성 메모리의 변경 데이타가 공급되고, 또한 유지되는 데이타 유지 회로,
    상기 불휘발성 메모리의 제1 영역으로부터, 제2 영역의 데이타의 변경을 개시하는 프로그램 명령이 판독된 때, 데이타 변경에 요하는 시간에 대응하는 시간만 상기 불휘발성 메모리를 기입 모드로 설정하고, 또한 상기 프로그램 카운터의 출력을 무효로 하여, 상기 어드레스 유지 회로에 의한 상기 불휘발성 메모리의 지정 어드레스에 상기 데이타 유지 회로의 데이타를 기입시키는 메모리 제어 회로, 및
    상기 불휘발성 메모리가 기입 모드로 설정되어 있을 때, 상기 CPU가 상기프로그램 명령을 계속해서 실행하여 상기 프로그램 카운터의 값을 정지시키도록 동작하는 CPU 제어 회로
    를 구비하는 것을 특징으로 하는 마이크로컴퓨터.
  9. 제8항에 있어서, 상기 CPU 제어 회로는 상기 불휘발성 메모리가 기입모드로 설정되어 있을 때 상기 CPU의 동작 클럭을 정지시키는 것을 특징으로 하는 마이크로컴퓨터.
  10. 제8항에 있어서, 상기 CPU 제어 회로는 상기 불휘발성 메모리가 기입모드로 설정되어 있을 때에 각 프로그램 명령의 실행에 있어서의 시컨스를 제어하기 위한 카운터를 포함하며, 상기 불휘발성 메모리를 기입 모드로 설정하기 위한 프로그램이 실행된 때, 상기 카운터의 값을 정지시켜 상기 카운터의 값에 따라 상기프로그램 카운터의 값을 일정한 값으로 고정하는 것을 특징으로 하는 마이크로컴퓨터.
  11. 제2항에 있어서, 상기 불휘발성 메모리는,
    상기 제1 어드레스 영역 및 상기 제2 어드레스 영역은 인터럽트 처리를 위한 프로그램 영역을 포함하며,
    상기 불휘발성 메모리를 어드레스 지정하는 프로그램 카운터,
    인터럽트 요구에 따라서 상기 프로그램 카운터의 값을 변경하는 인터럽트 벡터 회로, 및
    상기 불휘발성 메모리의 제2 어드레스 영역의 데이타 변경 중에 상기 인터럽트 요구가 발생한 때에, 상기 불휘발성 메모리의 제1 어드레스 영역을 지정하도록 상기 인터럽트 벡터 회로를 제어하는 제어 회로
    를 구비하는 것을 특징으로 하는 마이크로컴퓨터.
  12. 제11항에 있어서, 상기 불휘발성 메모리의 제1 어드레스 영역에 기억된 인터럽트 처리를 위한 프로그램은 상기 불휘발성 메모리의 제2 어드레스 영역의 데이타 변경을 실행하는데 필요한 프로그램인 것을 특징으로 하는 마이크로컴퓨터.
  13. 제12항에 있어서, 하나의 인터럽트 요구에 대해서, 상기 불휘발성 메모리의 제1 어드레스 영역 및 제2 어드레스 영역을 지정하는 2개의 인터럽트 벡터회로를 설치하고, 상기 제어 회로는 상기 불휘발성 메모리의 제2 어드레스 영역의 데이타 변경 중에 상기 인터럽트 요구가 발생한 때에 상기 불휘발성 메모리의 제1어드레스 영역을 지정하는 한쪽의 인터럽트 벡터 회로를 선택하는 것을 특징으로하는 마이크로컴퓨터.
  14. 제13항에 있어서, 상기 제어 회로는 상기 불휘발성 메모리의 제2 어드레스 영역이 데이타 변경 중이 아닐 때 상기 인터럽트 요구가 발생한 때에 상기 불휘발성 메모리의 제2 어드레스 영역을 지정하는 다른 쪽의 인터럽트 벡터 회로를 선택하는 것을 특징으로 하는 마이크로컴퓨터.
KR1019970008548A 1996-03-14 1997-03-13 불휘발성메모리를사용한마이크로컴퓨터 Expired - Fee Related KR100299542B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP96-057706 1996-03-14
JP8057706A JPH09251447A (ja) 1996-03-14 1996-03-14 マイクロコンピュータ
JP96-076815 1996-03-29
JP07681596A JP3439018B2 (ja) 1996-03-29 1996-03-29 マイクロコンピュータ
JP9545296A JPH09282181A (ja) 1996-04-17 1996-04-17 マイクロコンピュータ
JP96-095452 1996-04-17

Publications (2)

Publication Number Publication Date
KR970066888A KR970066888A (ko) 1997-10-13
KR100299542B1 true KR100299542B1 (ko) 2001-10-26

Family

ID=27296348

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970008548A Expired - Fee Related KR100299542B1 (ko) 1996-03-14 1997-03-13 불휘발성메모리를사용한마이크로컴퓨터

Country Status (2)

Country Link
US (1) US5950222A (ko)
KR (1) KR100299542B1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3173407B2 (ja) * 1997-02-05 2001-06-04 日本電気株式会社 フラッシュeeprom内蔵マイクロコンピュータ
TW389910B (en) * 1997-07-03 2000-05-11 Seiko Epson Corp Programmable nonvolatile memory apparatus and microcomputer using the same
JPH11203266A (ja) * 1998-01-07 1999-07-30 Mitsubishi Electric Corp マイクロコンピュータ
DE10052877B4 (de) * 1999-10-21 2008-07-03 Samsung Electronics Co., Ltd., Suwon Mikrocontroller
JP2001308921A (ja) * 2000-04-25 2001-11-02 Sony Corp デマルチプレクサ
JP2001350739A (ja) * 2000-06-07 2001-12-21 Mitsubishi Electric Corp マイクロコンピュータ
JP4162863B2 (ja) 2001-03-30 2008-10-08 株式会社ルネサステクノロジ マイクロコンピュータ
JP2002342104A (ja) * 2001-05-18 2002-11-29 Hitachi Ltd 制御装置及びそれを用いた光ディスク装置
JP2003084993A (ja) * 2001-09-10 2003-03-20 Seiko Epson Corp フラッシュメモリを備える処理装置およびデバッグ装置
JP4136359B2 (ja) * 2001-11-15 2008-08-20 株式会社ルネサステクノロジ マイクロコンピュータ
KR100878527B1 (ko) * 2002-07-08 2009-01-13 삼성전자주식회사 Nand 형 플래쉬 메모리 제어기와 제어기에서 사용되는클럭제어방법
JP2004213102A (ja) * 2002-12-26 2004-07-29 Fujitsu Ltd マイクロコンピュータ
JP4179945B2 (ja) * 2003-08-08 2008-11-12 サンデン株式会社 自動販売機の端末制御装置
US7412560B2 (en) * 2004-12-16 2008-08-12 Sandisk Corporation Non-volatile memory and method with multi-stream updating
JP5297833B2 (ja) * 2009-02-17 2013-09-25 ルネサスエレクトロニクス株式会社 ウォッチドッグタイマとその制御方法
DE102015205827A1 (de) * 2015-03-31 2016-10-06 Siemens Aktiengesellschaft Verfahren zum Schutz sicherheitsrelevanter Daten in einem Cachespeicher
CN119127749B (zh) * 2024-11-08 2025-02-18 湖南进芯电子科技有限公司 闪存接口电路、闪存控制方法、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07114497A (ja) * 1993-10-14 1995-05-02 Hitachi Ltd 半導体集積回路装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5293591A (en) * 1991-06-10 1994-03-08 Advanced Micro Devices, Inc. Processing system including memory selection of multiple memories and method in an interrupt environment
FR2700402B1 (fr) * 1993-01-13 1995-04-07 Sgs Thomson Microelectronics Microcontrôleur à mémoire électriquement programmable multimode.
US5351216A (en) * 1993-03-05 1994-09-27 Microchip Technology Incorporated Premature termination of microcontroller EEPROM write

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07114497A (ja) * 1993-10-14 1995-05-02 Hitachi Ltd 半導体集積回路装置

Also Published As

Publication number Publication date
KR970066888A (ko) 1997-10-13
US5950222A (en) 1999-09-07

Similar Documents

Publication Publication Date Title
KR100299542B1 (ko) 불휘발성메모리를사용한마이크로컴퓨터
KR100255568B1 (ko) 재기록이 가능한 불휘발성 메모리를 갖는 마이크로컴퓨터
KR100375217B1 (ko) 전기적으로 재기입 가능한 불휘발성 메모리를 구비하는마이크로컨트롤러
KR100395732B1 (ko) 반도체 기억장치
JP4550439B2 (ja) Ecc制御装置
EP0929075B1 (en) Synchronous type semiconductor memory device
KR100285063B1 (ko) 동기형 램 장치와 시스템 버스를 공유하는 동기형 플래시 메모리 장치의 소거 및 쓰기 방법
JPH0812646B2 (ja) 半導体集積回路
EP0806772A2 (en) Method and apparatus for providing erasing and programming protection for electrically erasable programmable read only memory
US20020114211A1 (en) Asynchronous flash-EEPROM behaving like a synchronous RAM/ROM
KR950010304B1 (ko) 불휘발성 기억소자를 구비한 반도체 집적회로장치
JP2002015584A (ja) 不揮発性メモリのリードプロテクト回路
US5261110A (en) System for performing writes to non-volatile memory elements in a minimal time
JP2003051195A (ja) 半導体記憶装置
JP3197865B2 (ja) マイクロコンピュータ
JP4229946B2 (ja) フラッシュ用のトップ/ボトム対称保護スキーム
US6798708B2 (en) Memory controller and serial memory
JP2006164511A6 (ja) フラッシュ用のトップ/ボトム対称保護スキーム
JP2005317127A (ja) 不揮発性半導体記憶装置
KR100288417B1 (ko) 동기형 반도체 기억 장치
JP3439018B2 (ja) マイクロコンピュータ
KR100388219B1 (ko) 플래쉬 메모리가 내장된 원칩 마이크로 콘트롤러 유닛
EP0714060B1 (en) One chip microcomputer with built-in non-volatile memory
JP3679496B2 (ja) マイクロコンピュータ
JPH09282302A (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 8

R17-X000 Change to representative recorded

St.27 status event code: A-5-5-R10-R17-oth-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 9

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 10

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 11

FPAY Annual fee payment

Payment date: 20120530

Year of fee payment: 12

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 12

FPAY Annual fee payment

Payment date: 20130531

Year of fee payment: 13

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 13

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20140610

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20140610

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000