KR100290280B1 - 프로그램 가능한 플래시 메모리를 내장하는 마이크로콘트롤러 - Google Patents

프로그램 가능한 플래시 메모리를 내장하는 마이크로콘트롤러 Download PDF

Info

Publication number
KR100290280B1
KR100290280B1 KR1019980001922A KR19980001922A KR100290280B1 KR 100290280 B1 KR100290280 B1 KR 100290280B1 KR 1019980001922 A KR1019980001922 A KR 1019980001922A KR 19980001922 A KR19980001922 A KR 19980001922A KR 100290280 B1 KR100290280 B1 KR 100290280B1
Authority
KR
South Korea
Prior art keywords
unit
flash memory
reprogram
signal
microprocessor
Prior art date
Application number
KR1019980001922A
Other languages
English (en)
Other versions
KR19990068862A (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
Application filed by 양 딩유안, 윈본드 일렉트로닉스 코포레이션 filed Critical 양 딩유안
Priority to KR1019980001922A priority Critical patent/KR100290280B1/ko
Publication of KR19990068862A publication Critical patent/KR19990068862A/ko
Application granted granted Critical
Publication of KR100290280B1 publication Critical patent/KR100290280B1/ko

Links

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Microcomputers (AREA)
  • Read Only Memory (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)

Abstract

플래시 메모리를 내장하는 마이크로콘트롤러의 구조가 제공된다. 마이크로콘트롤러는 마이크로콘트롤러의 내장된 플래시 메모리에 데이터를 재프로그램하는 것이 회로 보드로부터 마이크로콘트롤러를 구비한 전체 IC 패키지를 분리할 필요없이 그리고 기입 동작을 수행하기 위해 제공된 라이터(writer)를 사용할 필요없이 보드 상에서 수행되게 할 수 있다. 재프로그램 동작은 외부 재프로그램 활성화 신호 또는 내부 재프로그램 활성화 신호에 의해서 시작될 수 있다. 외부 재프로그램 활성화 신호와 내부 재프로그램 활성화 신호 중 하나가 발생될 때, 이것은 상기 오어 게이트가 상기 멀티플렉서로 하이 전압의 논리 신호를 출력하게 한다. 그에 따라, 멀티플렉서로 하여금 상기 마이크로프로세서 유니트에 연결하기 위한 상기 롬 유니트를 선택하게 한다. 이것은 상기 마이크로프로세서 유니트로 하여금 상기 롬 유니트에 저장된 재프로그램 제어 루틴을 수행하게 한다. 플래시 재프로그램 요구 신호가 상기 메인 유니트 인터페이스로부터 발생되는 지의 여부를 검출하기 위해 상기 플래시 메모리 유니트는 재프로그램 검출/초기화 루틴을 부가적으로 저장한다. 이 마이크로콘트롤러 구조로, 내장된 플래시 메모리의 데이터 재프로그램은 회로 보드로부터 마이크로콘트롤러를 번거롭게 분리할 필요없이 보드 상에서 수행된다. 그러므로 재프로그램 동작은 쉽고 그리고 빠르게 수행되며, 그에 따라 종래 기술보다 더 저렴하다.

Description

프로그램 가능한 플래시 메모리를 내장하는 마이크로콘트롤러 (MICROCONTROLLER WITH PROGRAMMABLE EMBEDDED FLASH MEMORY)
본 발명은 마이크로콘트롤러 구조들에 관한 것으로, 구체적으로는 플래시 메모리에 데이터를 프로그램 또는 재프로그램하는 것이 보드 상에서 쉽게 수행되도록 하는 프로그램 가능한 플래시 메모리를 내장한 마이크로콘트롤러에 관한 것이다.
마이크로콘트롤러는 완전한 마이크로프로세서 유니트와 내장된 메모리 및 입력/출력(I/0) 유니트들로 이루어진 컴퓨터-온-원-칩 (computer-on-one-chip) 집적 회로이다. 일반적으로 상기 내장된 메모리는 전체 메모리를 소거할 필요없이 데이터 블럭 또는 블럭들의 그룹들이 소거 및 재프로그램 되도록 하는 소거 및 재프로그램 가능한 종류의 메모리인 플래시 메모리이다. 통상적으로, 플래시 메모리에 데이터를 프로그램 하는 것은 보드 밖에서 수행되어야 하고 그리고 재프로그램을 수행하기 위해 제공된 라이터 (writer)의 사용을 필요로 한다.
만약 마이크로콘트롤러가 이미 회로 보드에 겹합되어 있고 그리고 상기 마이크로콘트롤러의 플래시 메모리에 데이터를 재기입하는 것이 요구된다면, 상기 마이크로콘트롤러를 구비한 전체 집적 회로 (integrated circuit : 이하 IC라 칭함) 패키지는 재기입 동작이 수행되기 이전에 상기 회로 보드로부터 분리되어야 할 것이다. 이러한 결점으로 인해서, 상기 회로 보드들이 고객들에게 전해진 후에 어떤 버그들이 상기 마이크로콘트롤러의 상기 내장된 플래시 메모리 내에서 발견될 때, 리페어는 매우 힘들 것이다. 그러므로, 상기 마이크로콘트롤러의 상기 내장된 플래시 메모리에 데이터를 재기입하는 것이 상기 회로 보드로부터 상기 마이크로콘트롤러를 분리할 필요없이 보드 상에서 수행될 수 있는 방법이 요구된다.
전술한 문제에 대한 여러 가지 해결책들이 발표되어 왔다. 예컨대, 토마스(Tomas) 외 다수에 의한 USP No. 5,495,593은 마이크로콘트롤러의 내장된 플래시 메모리에 데이터의 재기입을 수행하기 위한 시리얼 포트 (serial port)의 사용을 보여주고 있다. 그리고 또한, 로렌스(Lawrence)에 의한 USP No. 5,596,734는 재기입용 테스트 핀들의 사용을 보여주고 있다. 이러한 해결책들은, 그러나, 여전히 몇 가지 결점들이 있다. 첫째로, 상기 미국 특허들은 시리얼 포트들 또는 테스트 핀들이 제공되지 않는 마이크로콘트롤러에 응용할 수 없다. 이러한 종류의 마이크로콘트롤러들에 대한 재프로그램은 추가적인 외부 회로들의 사용과 마이크로콘트롤러의 내부 회로에 대한 수정을 필요로 한다. 둘째로, 재프로그램을 수행하기 위한 시리얼 포트의 사용은 속도면에서 비교적 늦다. 만약 내장된 플래시 메모리의 용량이 크면, 재프로그램을 완료하기 위해서 꽤 긴 시간이 소요될 것이다.
도 1은 종래의 마이크로콘트롤러의 구조를 보여주는 블럭도이다. 상기 마이크로콘트롤러는, 참조 번호 (10)로 표기된 바와 같이, 회로 보드 상에 결합된 그리고 인터페이스 (20)를 통해서 마이크로콘트롤러 (10)에 의해서 제어되는 메인 유니트 (미도시된)에 연결되어 있다. 도시된 바와 같이, 마이크로콘트롤러 (10)는 마이크로프로세서 유니트 (16) 및 플래시 메모리 유니트 (12)로 구성된다. 상기 플래시 메모리 유니트 (12)는 내부 데이터 버스 (14)를 통해서 상기 마이크로프로세서 유니트 (16)에 연결되어 있는 반면에, 상기 마이크로프로세서 (16)는 외부 데이터 버스 (18)를 통해서 상기 메인 유니트 인터페이스 (20)에 연결되어 있다.
동작 중에, 마이크로프로세서 유니트 (16)는 상기 내부 데이터 버스 (14)를 통해서 상기 플래시 메모리 유니트 (12)로부터 패치된 주 제어 프로그램 (main control program)을 실행하여 상기 마이크로콘트롤러 (10)에 대한 특정된 제어 기능을 수행한다. 그 다음에 상기 마이크로프로세서 유니트 (16)에 의해서 발생된 제어 신호들은 상기 외부 데이터 버스 (18) 및 상기 인터페이스 (20)를 통해서 상기 마이크로콘트롤러 (10)에 제어되는 메인 유니트 (미도시된)로 전달된다.
그러나, 전술한 마이크로콘트롤러 시스템의 결점은 상기 마이크로콘트롤러 (10) 내의 상기 플래시 메모리 유니트 (12)가 재프로그램되어야 할 때, 상기 마이크로콘트롤러 (10)를 구비한 전체 IC 패키지가 상기 회로 보드로부터 분리되고 그 다음에 상기 플래시 메모리 유니트 (12)에 새로운 데이터를 기입하기 위해서 제공된 라이터 (writer) 또는 프로그래머 (programmer) 상에 결합되어야 한다. 재프로그램이 완료된 후, 상기 마이크로콘트롤러 (10)를 구비한 전체 IC 패키지는 상기 회로 보드 상에 재결합된다. 그러므로, 재프로그램 동작은 불편하고 그리고 그것을 수행하기 위한 시간이 소모된다.
따라서 본 발명의 목적은 마이크로콘트롤러를 갖는 전체 IC 패키지를 회로 보드로부터 분리할 필요없이 그리고 재프로그램 동작을 수행하기 위해 제공된 라이터를 사용할 필요없이 보드 상에서 수행될 수 있는 플래시 메모리를 내장한 마이크로콘트롤러를 위한 새로운 구조를 제공하는 것이다.
본 발명의 다른 목적은 재프로그램 시간이 상당히 감소될 수 있도록 내장된 플래시 메모리에 데이터를 재프로그램하는 것이 병렬 방식으로 (parallel manner) 수행될 수 있게 하는 플래시 메모리를 내장한 마이크로콘트롤러를 위한 새로운 구조를 제공하는 것이다.
본 발명의 또 다른 목적은 내장된 플래시 메모리에 데이터를 재프로그램하는 것이 종래 기술보다 더 쉽게, 더 빠르게, 그리고 더 효과적인 방법으로 수행될 수 있는 플래시 메모리를 내장한 마이크로콘트롤러를 위한 새로운 구조를 제공하는 것이다.
도 1은 프로그램 가능한 플래시 메모리 유니트를 내장한 마이크로콘트롤러의 종래 구조를 보여주는 블록도;
도 2는 본 발명의 제 1 실시예에 따른 플래시 메모리를 내장한 마이크로콘트롤러의 구조를 보여주는 블록도;
도 3은 본 발명의 제 2 실시예에 따른 플래시 메모리를 내장한 마이크로콘트롤러의 구조를 보여주는 블록도;
도 4는 본 발명의 마이크로콘트롤러에 사용된 래치 버퍼의 내부 구조를 보여주는 블록도;
도 5는 본 발명의 마이크로콘트롤러 내의 롬에 저장된 재프로그램 제어 루틴의 처리 단계들을 보여주는 흐름도; 그리고
도 6은 본 발명의 마이크로콘트롤러 내의 플래시 메모리에 저장된 재프로그램 검출/초기화 루틴의 처리 단계들을 보여주는 블록도이다.
*도면의 주요 부분에 대한 부호 설명
10 : 마이크로콘트롤러 12, 24 : 플래시 메모리 유니트
16, 40 : 마이크로프로세서 유니트 20, 44 : 메인 유니트 인터페이스
22 : 롬 유니트 30 : 래치 버퍼
32 : 멀티플렉서 60 : 제 1 래치
62 : 제 2 래치 64 : 송수신기
(구성)
본 발명의 전술한 그리고 다른 목적들에 따라, 플래시 메모리를 내장한 마이크로콘트롤러의 새로운 구조가 제공된다. 본 발명의 마이크로콘트롤러는 아래의 구성 요소들을 포함한다. 즉, 본 발명의 마이크로콘트롤러는 외부 데이터 버스를 통해서 상기 메인 유니트에 연결되며, 재프로그램 동작 동안에 데이터 전달을 제어하는 내부 재프로그램 활성화 신호 및 일련의 래치 활성화 신호들을 발생하는 마이크로프로세서 유니트와; 재프로그램 제어 루틴을 저장하도록 사용되는 롬 유니트와; 상기 마이크로콘트롤러에 특정된 제어 기능을 수행하는 상기 마이크로프로세서 유니트에서 수행되는 메인 제어 프로그램을 저장하도록 사용되는 플래시 메모리 유니트와; 외부 재프로그램 활성화 신호를 발생하며, 수작업으로 설정 가능한 외부 점퍼와; 상기 마이크로프로세서 유니트와 상기 외부 점퍼에 연결되며, 상기 내부 재프로그램 활성화 신호와 상기 외부 재프로그램 활성화 신호 중 하나가 있을 때 선택 신호를 발생하는 오어 게이트와; 상기 롬 유니트와 상기 플래시 메모리 유니트의 상기 데이터 버스들에 각각 연결된 두 개의 입력단들과 상기 마이크로프로세서 유니트의 상기 데이터 버스에 연결된 하나의 출력단을 가지며, 상기 오아 게이트로부터의 상기 선택 신호가 있을 때 상기 마이크로프로세서 유니트에 연결하기 위해서 상기 롬 유니트를 선택하고, 그리고 상기 오어 게이트로부터의 상기 선택 신호가 존재하지 않을 때 상기 플래시 메모리 유니트를 선택하는 멀티플렉서 및; 상기 플래시 메모리 유니트와 상기 마이크로프로세서 유니트 사이에 연결되며, 상기 플래시 메모리 유니트와 상기 마이크로프로세서 유니트 사이의 데이터 전달을 위해서 상기 마이크로프로세서 유니트로부터의 상기 래치 활성화 신호들에 응답해서 제어되는 래치 버퍼를 포함한다.
전술한 마이크로콘트롤러에 있어서, 상기 내부 재프로그램 활성화 신호 및 상기 외부 재프로그램 활성화 신호 중 하나의 신호가 발생될 때 상기 멀티플렉서는 상기 마이크로프로세서 유니트에 연결하기 위해 상기 롬 유니트를 선택하며, 그에 따라 상기 마이크로프로세서 유니트는 상기 플래시 메모리 유니트에 데이터를 기입하는 재프로그램 동작을 제어하기 위해서 상기 롬 유니트에 저장된 상기 재프로그램 제어 루틴을 실행하는 것을 특징으로 한다.
외부 재프로그램 활성화 신호와 내부 재프로그램 활성화 신호 중 하나가 발생될 때, 상기 멀티플렉서가 상기 마이크로프로세서 유니트에 연결하기 위한 상기 롬 유니트를 선택하게 하기 위해서 상기 오어 게이트가 상기 멀티플렉서로 하이 전압의 논리 신호를 출력하게 한다. 이 때문에 상기 마이크로프로세서 유니트는 상기 플래시 메모리 유니트에 데이터를 기입하는 재프로그램 동작을 제어하기 위해서 상기 롬 유니트에 저장된 재프로그램 제어 루틴을 수행할 수 있다.
플래시 재프로그램 요구 신호가 상기 메인 유니트 인터페이스로부터 발생되는 지의 여부를 검출하기 위해 상기 플래시 메모리 유니트는 상기 마이크로프로세서 유니트에 의해서 수행되는 재프로그램 검출/초기화 루틴을 부가적으로 저장한다. 상기 롬 유니트에 저장된 상기 재프로그램 제어 루틴은 상기 메인 유니트 인터페이스로부터 상기 플래시 메모리 유니트로 재프로그램될 데이터를 받아들인 상기 마이크로프로세서 유니트를 제어하기 위해 사용된다.
택일적으로, 전술한 구조에서 상기 외부 점퍼 및 상기 오어 게이트는 제거될 수 있다. 이 구조에서, 재프로그램 활성화 신호는 상기 마이크로프로세서 유니트에 의해서만 발생된다.
결론적으로, 본 발명에 따른 마이크로콘트롤러 의하면 회로 보드로부터 상기 마이크로콘트롤러를 구비한 전체 IC 패키지를 분리할 필요없이 (일반적으로, 수행하기 꽤 힘든 땜납 (solders)을 제거해야함) 상기 마이크로콘트롤러의 상기 내장된 플래시 메모리에 데이터를 기입하는 것은 보드 상에서 수행될 수 있다. 그러므로 재프로그램 동작은 쉽고 그리고 빠르게 수행되며, 그에 따라 종래 기술보다 더 비용이 저렴하다.
또, 본 발명은 마이크로콘트롤러의 내장된 플래시 메모리에 데이터를 재프로그램하는 것이 병렬 방식으로 수행될 수 있도록 하며, 그 결과 재프로그램 시간이 상당히 감소될 수 있다.
(실시예)
본 발명은 플래시 메모리 유니트에 데이터를 재프로그램하는 것이 마이크로콘트롤러를 구비한 전체 IC 패키지를 회로 보드로부터 분리할 필요없이 수행되도록 할 수 있는 내장된 플래시 메모리를 구비한 새로운 구조의 마이크로콘트롤러를 제공한다. 상기 마이크로콘트롤러 재프로그램하고자 하는 데이터는 상기 마이크로콘트롤러에 제어되는 메인 유니트와 본 발명의 상기 마이크로콘트롤러 사이에 연결된 메인 유니트 인터페이스를 통해서 직접 상기 내장된 플래시 메모리에 기입될 수 있다. 본 발명에 따른 마이크로콘트롤러의 상세한 구조가 이하 설명된다.
도 2는 본 발명의 제 1 실시예에 따른 마이크로콘트롤러의 구조를 보여주는 블록도이다. 참조 번호 46으로 명시되어 있는 상기 마이크로콘트롤러 (46)는, 여기서 참조 번호 46으로 명시된 바와 같이, 외부 데이터 버스 (42) 및 인터페이스 (44)를 통해서 상기 마이크로콘트롤러 (46)에 의해 제어되는 메인 유니트 (미 도시됨)에 연결된다. 도시된 바와 같이, 이 실시예의 상기 마이크로콘트롤러 (46)는 마이크로프로세서 유니트 (microprocessor unit) (40), 래치 버퍼 (latch buffer) (30), 멀티플렉서 (multiplexer) (32), 오어 게이트 (OR gate) (34), 외부 점퍼 (external jumper) (36), 롬 유니트 (ROM unit) (22), 그리고 플래시 메모리 유니트 (flash memory unit) (24)를 포함한다.
재프로그램 동작은 2 가지 방법으로 시작될 수 있다. 즉, 제 1 재프로그램 활성화 신호를 수동적으로 발생하기 위한 상기 외부 점퍼 (36)를 사용하여 시작될 수 있다. 또는 상기 메인 유니트 인터페이스 (44)로부터 발생된 플래시 재프로그램 요구 신호 (flash-reprogramming request signal)에 응답해서 제 2 재프로그램 활성화 신호를 발생하기 위한 신호 라인 (50)을 사용하여 시작될 수 있다. 상기 마이크로콘트롤러 (46)의 정상적인 동작에서, 상기 외부 점퍼 (36)는 접지 위치로 조정된다. 그로 인해서 로우 전압의 논리 신호가 (즉, 제 1 재프로그램 활성화 신호는 비활성화된다), 예컨대 0V 신호, 상기 신호 라인 (52)을 통해서 상기 오어 게이트 (34)에 전달되고, 또한 이때 상기 마이크로콘트롤러 유니트 (40)는 상기 신호 라인 (50)을 통해서 로우 전압의 논리 신호 (즉, 제 2 재프로그램 활성화 신호가 비활성화된다)를 출력하고 전달한다.
이것은 상기 오어 게이트 (34)로 하여금 상기 신호 라인 (54)을 통해서 상기 멀티플렉서 (32)에 로우 전압의 논리신호를 출력하고 전달하게 한다. 상기 오어 게이트 (34)로부터의 출력은 다음과 같은 방법으로 상기 멀티플렉서 (32)의 선택 신호로서 작용한다. 상기 선택 신호가 하이 전압의 상태일 때, 상기 롬 유니트 (22)에 연결된 상기 데이터 버스 (26)는 상기 데이터 버스 (38)를 통해서 상기 마이크로콘트롤러 유니트 (40)에 연결하도록 선택된다. 그리고 로우 전압의 상태일 때, 상기 플래시 메모리 유니트 (24)에 연결된 상기 데이터 버스 (28)는 상기 데이터 버스 (38)를 통해서 상기 마이크로프로세서 유니트 (40)에 연결하도록 선택된다.
그러므로, 전술한 경우에 있어서, 상기 데이터 버스 (28)는 상기 플래시 메모리 유니트 (24)를 상기 마이크로프로세서 유니트 (40)에 연결하도록 선택되고, 그리고 상기 마이크로콘트롤러 (46)에 특정된 제어 기능을 수행하기 위해서 마이크로프로세서 유니트 (40)는 상기 플래시 메모리 유니트 (24)에 저장된 주 제어 프로그램 (main control program)을 페치하고 실행한다. 그 다음에 상기 마이크로프로세서 유니트 (40)에서 발생된 상기 제어 신호들은 상기 외부 데이터 버스 (42) 및 상기 인터페이스 (44)를 통해서 상기 마이크로콘트롤러 (46)에 제어되는 상기 메인 유니트 (미도시된)에 전달된다.
플래시 재프로그램 요구 신호가 상기 메인 유니트 인터페이스 (44)로부터 발생되었는 지의 여부를 검출하기 위해 상기 플래시 메모리 유니트 (24)는 상기 마이크로프로세서 유니트 (40)에 의해서 계속 수행될 수 있는 재프로그램 검출/초기화 루틴을 부가적으로 저장한다. 상기 플래시 재프로그램 요구 신호가 있는 경우에, 상기 마이크로프로세서 유니트 (40)는 상기 유니트 (40) 내의 재프로그램 카운터 (미도시된)를 영 (zero)으로 리셋한다. 또한 이때 제 2 재프로그램 활성화 신호를 발생하고 전달하고 (즉, 상기 신호 라인-50-상의 논리 상태를 하이 전압의 상태로 스위칭함으로써), 이것은 상기 오어 게이트 (34)로 하여금, 하나의 입력단 상의 논리 상태에 관계없이, 하이 전압의 논리 신호를 상기 멀티플렉서 (32)로 출력하게 한다. 상기 데이터 버스 (38)를 통해서 상기 마이크로프로세서 유니트 (40)에 연결하기 위해서 상기 멀티플렉서 (32)는 상기 오어 게이트 (34)로부터의 상기 하이 전압의 논리 신호에 응답해서 상기 롬 유니트 (22)에 연결된 상기 데이터 버스 (26)를 선택한다.
전술한 동작은 상기 마이크로프로세서 유니트 (40)로 하여금 상기 롬 유니트 (22)로부터 재프로그램 제어 루틴을 페치하고 실행하게 한다. 상기 재프로그램 제어 루틴은 상기 마이크로프로세서 유니트 (40)를 제어하고, 상기 유니트 (40)는 상기 외부 데이터 버스 (42)를 통해서 상기 인터페이스 (44)로부터 상기 플래시 메모리 유니트 (24)에 재프로그램될 데이터를 받아들이고 그리고 상기 데이터 버스 (38), 상기 래치 버퍼 (30), 그리고 상기 데이터 버스 (28)를 통해서 상기 플래시 메모리 유니트 (40)에 이러한 데이터를 전달한다. 또, 상기 래치 버퍼 (30)를 통해서 전달된 데이터를 제어하기 위해서 상기 마이크로프로세서 유니트 (40)는 상기 래치 버퍼 (30)로 제어 신호들을 전달하는 신호 버스 (48)를 이용한다.
블록들은 상기 플래시 메모리 유니트 (24)에 재프로그램될 데이터를 받아들인다. 각 블럭의 데이터는 상기 래치 버퍼 (30)에 임시적으로 저장되고 그 다음에 상기 데이터 버스 (28)를 통해서 상기 플래시 메모리 유니트 (24)에 전달된다. 이 재프로그램 동작은 모든 블럭들의 데이터가 전술한 방법으로 상기 플래시 메모리 유니트 (24)에 기입될 때까지 반복된다.
만약 상기 마이크로콘트롤러 (46)가 상기 플래시 메모리 유니트 (24)에 저장된 프로그램 코드 및 데이터 없이 공장에서 새롭게 제조되면, 수작업으로 시스템 전압, 예컨대 5V (volt), 에 연결된 상기 외부 점퍼 (36)를 하이 전압의 위치로 스위칭함으로써 상기 마이크로콘트롤러 (46)는 프로그램 모드로 설정된다. 이로 인해서 상기 신호 라인 (52)을 통해서 상기 오어 게이트 (34)에 전달되는 제 1 재프로그램 활성화 신호가 발생되고, 그 결과 상기 오어 게이트 (34)는, 하나의 입력단 (즉, 신호 라인-50) 상의 논리 신호에 관계없이, 상기 신호 라인 (54)을 통해서 상기 멀티플렉서 (32)에 하이 전압의 논리 신호를 출력한다.
이 결과로서, 상기 데이터 버스 (38)를 통해 상기 마이크로프로세서 유니트 (40)에 연결하기 위해서 상기 멀티플렉서 (32)는 상기 롬 유니트 (22)에 연결된 상기 데이터 버스 (26)를 선택한다. 이러한 동작으로 상기 마이크로프로세서 유니트 (40)는 상기 롬 유니트 (22)로부터 재프로그램 제어 루틴을 페치하고 실행한다. 상기 루틴은 상기 마이크로프로세서 유니트 (40)를 제어한다. 상기 유니트 (40)는 상기 외부 데이터 버스 (42)를 통해서 상기 인터페이스 (44)에서 상기 플래시 메모리 유니트 (24)로 재프로그램될 데이터를 받아들이고 그리고 상기 데이터 버스 (38), 상기 래치 버퍼 (30), 그리고 상기 데이터 버스 (28)를 통해서 상기 플래시 메모리 유니트 (24)에 상기 데이터를 전달한다.
또, 상기 래치 버퍼 (30)를 통한 데이터 전송을 제어하기 위해서 상기 마이크로프로세서 (40)는 상기 래치 버퍼 (30)에 제어 신호들을 전달하는 신호 버스 (48)를 이용한다. 상기 플래시 메모리 유니트 (24)에 재프로그램될 데이터는 블록들에 입력된다. 각 블록의 데이터는 상기 래치 버퍼 (30)에 임시적으로 저장되고 그 다음에 상기 데이터 버스 (28)를 통해서 상기 플래시 메모리 유니트 (24)에 전달된다. 이 재프로그램 동작은 모든 블록들의 데이터가 전술한 방법으로 상기 플래시 메모리 유니트 (24)에 기입될 때까지 반복된다.
도 3은 본 발명의 제 2 실시예에 따른 마이크로콘트롤러 구조를 보여주는 블록도이다. 도 3에 있어서, 제 1 실시예에 따른 도 2의 구성 요소와 동일한 구성 요소들은 동일한 참조 번호들을 병기한다. 이 실시예는 앞의 실시예에서 사용된 상기 오어 게이트 (34) 및 상기 외부 점퍼 (36)가 여기서 제거되었다는 점이 이전 실시예와 다르다.
이 실시예에서, 상기 플래시 메모리 유니트 (24)는 주 제어 프로그램 (main control program)을 사전에 저장하고 있고, 상기 주 제어 프로그램은 재프로그램 검출/초기화 루틴을 포함한다. 그러므로, 상기 재프로그램 활성화 신호는 단지 상기 마이크로프로세서 유니트 (40)에 의해서 발생된다. 재프로그램 동작이 요구될 때마다, 기술자는 플래시 재프로그램 요구 신호를 발생하고 그리고 상기 인터페이스 (44)를 통해 상기 신호를 상기 마이크로프로세서 유니트 (40)에 입력한다.
상기 마이크로콘트롤러 (46)의 정상적인 동작에서, 상기 마이크로프로세서 유니트 (40)는 로우 전압의 논리 신호 (즉, 상기 재프로그램 활성화 신호는 비활성화된다)를 발생하고 그리고 상기 신호 라인 (50)을 통해 상기 멀티플렉서 (32)로 전달하며, 상기 데이터 버스 (38)를 통해 상기 마이크로프로세서 유니트 (40)에 연결하기 위해서 상기 멀티플렉서 (32)는 상기 플래시 메모리 유니트 (24)에 연결된 상기 데이터 버스 (28)를 선택한다. 이 동작 동안에, 상기 마이크로프로세서 유니트 (40) 역시 플래시 재프로그램 요구 신호가 상기 인터페이스 (44)로부터 입력되었는 지의 여부를 계속해서 검출하는 재프로그램 검출/초기화 루틴을 실행한다.
상기 플래시 재프로그램 요구 신호가 있을 때, 상기 마이크로프로세서 유니트 (40)는 신호 라인 (50) 상의 논리 상태를 하이 전압의 상태 (즉, 상기 재프로그램 활성화 신호가 발생된다)로 스위치하며 즉, 하이 전압의 논리 신호를 상기 멀티플렉서 (32)로 출력하며, 상기 오어 게이트 (34)로 하여금 상기 멀티플렉서 (32)로 하이 전압의 논리 신호를 출력하게 한다. 상기 데이터 버스 (38)를 통해서 상기 마이크로프로세서 유니트 (40)에 연결하기 위해서 상기 멀티플렉서 (32)는 상기 논리 신호에 응답해서 상기 롬 유니트 (22)에 연결된 상기 데이터 버스 (26)를 선택한다.
이 동작으로 상기 마이크로프로세서 유니트 (40)는 상기 롬 유니트 (22)로부터 재프로그램 제어 루틴을 페치하고 실행하며, 상기 재프로그램 제어 루틴은 상기 마이크로프로세서 유니트 (40)를 제어한다. 상기 유니트 (40)는 이 부분에 앞서 설명된 방법과 비슷하게 상기 플래시 메모리 유니트 (24)에 프로그램될 데이터를 받아들이고 그리고 상기 데이터 버스 (38), 상기 래치 버퍼 (30), 그리고 상기 데이터 버스 (28)를 통해서 상기 플래시 메모리 유니트 (24)에 전달한다.
도 4는 본 발명의 마이크로콘트롤러에 사용된 래치 버퍼 (30)의 내부 구조를 보여주는 블록도이다. 도시된 바와 같이, 상기 래치 버퍼 (30)는 제 1 래치 (a first latch) (60), 제 2 래치 (a second latch) (62), 그리고 송수신기 (a transceiver) (64)를 포함한다. 또, 상기 데이터 버스 (28)는 상기 플래시 메모리 유니트 (24)와 상기 제 1 래치 (60) 사이에 연결된 어드레스 신호 라인 (66), 플래시 독출 요구 신호 (FRD)를 상기 제 2 래치 (62)로부터 상기 플래시 메모리 유니트 (24)로 전달하는 플래시 독출 요구 신호 라인 (68), 플래시 기입 요구 신호 (FWD)를 상기 제 2 래치 (62)로부터 상기 플래시 메모리 유니트 (24)로 전달하는 플래시 기입 요구 신호 라인 (70), 그리고 상기 플래시 메모리 유니트 (24) 및 상기 송수신기 (64) 사이에서 데이터를 전달하는 데이터 라인 (72)을 포함한다.
상기 데이터 버스 (38)는 상기 제 1 래치 (60)와 상기 마이크로프로세서 유니트 (40) 사이에 연결된 어드레스 신호 라인 (74)과 상기 마이크로프로세서 유니트 (40)를 상기 송수신기 (64) 및 상기 제 2 래치 (62) 모두에 연결하는 상기 데이터 라인 (76)을 포함한다. 상기 신호 버스 (48)는 상기 마이크로프로세서 유니트 (40)에서 상기 제 1 래치 (60)로 제 1 래치 활성화 신호를 전달하는 제 1 신호 라인 (481), 상기 마이크로프로세서 유니트 (40)에서 상기 제 2 래치 (620으로 제 2 래치 활성화 신호를 전달하는 제 2 신호 라인 (482), 그리고 상기 마이크로프로세서 유니트 (40)에서 상기 송수신기 (64)로 전송/입력 제어 신호를 전달하는 제 3 신호 라인 (483)을 포함한다.
상기 송수신기 (64)는 상기 마이크로프로세서 유니트 (40)에서 상기 플래시 메모리 유니트 (24)로 또는 상기 플래시 메모리 유니트 (24)에서 상기 마이크로프로세서 유니트 (40)로 데이터를 전달할 수 있는 양방향 버퍼 (bi-directional buffer)이다. 상기 버퍼의 방향은 상기 전송/입력 제어 신호의 논리 상태에 의해서 결정된다.
기입 동작 (즉, 재프로그램 동작)이 상기 플래시 메모리 유니트 (24)에서 수행될 때, 상기 마이크로프로세서 유니트 (40)는 상기 어드레스 신호 라인 (74)을 통해 상기 어드레스 신호 (데이터가 저장되어 있는 플래시 메모리 유니트-24- 내의 위치를 나타낸다)를 상기 제 1 래치 (60)로 출력하는 동안에 제 1 래치 활성화 신호를 발생하고 그리고 상기 신호 라인 (481)을 통해 상기 제 2 래치 (60)로 전달한다. 이에 따라서 상기 제 1 래치 (60)는 상기 어드레스 신호를 래치하고 그 다음에 상기 래치된 어드레스 신호를 상기 어드레스 신호 라인 (66)을 통해서 상기 플래시 메모리 유니트 (24)로 전달한다.
또한 이때, 상기 마이크로프로세서 유니트 (40)는 제 2 래치 (62)가 플래시 기입 요구 신호 (FWR)를 받아들이고 그리고 상기 신호 (FWR)를 신호 라인 (70) 상에서 래치할 수 있도록 제 2 래치 활성화 신호를 발생하고 그리고 상기 제 2 래치 활성화 신호 라인 (482)을 통해 상기 제 2 래치 (62)로 전달한다. 그 다음에, 데이터 신호 (즉, 상기 플래시 메모리 유니트(24)에 재프로그램될 2진 코드)를 상기 데이터 라인 (76)을 통해 상기 송수신기 (64)로 출력하는 동안에 상기 송수신기 (64)를 전송 모드 (transmission mode)로 설정하기 위해서, 상기 마이크로프로세서 유니트 (40)는 전송/입력 제어 신호 (예컨대, 하이 전압의 상태일 때)를 발생하고 그리고 상기 신호 라인 (483)을 통해 상기 송수신기 (64)로 전달한다.
그 다음에 상기 송수신기 (64)는 입력된 데이터를 상기 데이터 라인 (72)을 통해 상기 플래시 메모리 유니트 (24)로 전달한다. 이로 인해서 상기 플래시 메모리 유니트 (24)는 상기 데이터 라인 (72) 상의 상기 데이터 신호를 받아들이고 그 다음에 이 데이터 신호에 의해서 표현된 상기 2진 코드를 상기 어드레스 신호 라인 (66) 상의 어드레스 신호에 의해서 지정된 위치에 저장한다.
독출 동작이 상기 플래시 메모리 유니트 (24) 상에서 수행될 때 (즉, 상기 플래시 메모리 유니트(24)에 저장된 상기 주 제어 프로그램 및 상기 재프로그램 검출/초기화 루틴의 2진 코드를 독출하는 것), 상기 마이크로프로세서 유니트 (40)는 상기 어드레스 신호 (독출될 데이터가 저장된 상기 플래시 메모리 유니트(24) 내의 위치를 나타냄)를 상기 어드레스 신호 라인 (74)을 통해 상기 제 1 래치 (60)로 출력하는 동안에 제 1 래치 활성화 신호를 발생하고 그리고 상기 신호 라인 (481)을 통해 상기 제 1 래치 (60)에 전달한다.
이로 인해서 상기 제 1 래치 (60)는 상기 어드레스 신호를 래치하고 그리고 상기 어드레스 신호 라인 (66) 상에 상기 래치된 어드레스 신호를 출력한다. 계속해서, 상기 마이크로프로세서 유니트 (40)는 제 2 래치 활성화 신호를 발생하고 그리고 상기 신호 라인 (482)을 통해 상기 제 2 래치 (62)로 전달하며, 그에 따라서 상기 제 2 래치 (62)는 플래시 독출 요구 신호 (FRD)를 상기 데이터 라인 (76)을 통해서 받아들이고 그리고 상기 플래시 메모리 유니트 (24)에 연결된 상기 신호 라인 (68) 상에 상기 신호 (FRD)를 래치한다. 동시에, 상기 마이크로프로세서 유니트 (40)는, 입력 모드 (reception mode)로 상기 송수신기 (64)를 설정하기 위해서, 전송/입력 제어 신호 (예컨대, 로우 전압의 상태일 때)를 발생하고 그리고 상기 신호 라인 (43)을 통해 상기 송수신기 (64)로 전달한다.
상기 플래시 독출 요구 신호 (FRD)에 응답해서, 상기 플래시 메모리 유니트 (24)는 상기 어드레스 신호 라인 (66) 상의 상기 어드레스 신호에 의해서 지정된 위치에 저장된 데이터를 페치하고, 그 다음에 상기 송수신기 (64)로 상기 데이터 라인 (72)을 통해서 이러한 데이터를 전달하고 그리고 상기 송수신기 (64)는 상기 데이터를 상기 마이크로프로세서 유니트 (40)로 전달한다.
도 5는 상기 롬 유니트 (22)에 저장된 재프로그램 제어 루틴의 처리 단계들을 보여주는 흐름도이고, 상기 재프로그램 제어 루틴은 상기 플래시 메모리 유니트 (24)에 데이터를 재프로그램하는 것을 제어하기 위한 상기 마이크로프로세서 유니트 (40)에 의해서 실행된다. 도 2, 도 3 및 도 5를 참조하면, 제 1 단계 (80)에서, 상기 마이크로프로세서 유니트 (40)는 상기 메인 유니트 (미도시된)로부터 상기 인터페이스 (44)를 통해 상기 플래시 메모리 유니트 (24)에 프로그램될 데이터를 받아들인다.
상기 데이터는 어드레스 신호, 플래시 기입/독출 요구 신호, 그리고 데이터 신호를 포함한다. 이러한 신호들은 앞서 설명된 바와같은 동일한 방법으로 상기 래치 버퍼 (30)에 저장된다. 다음 단계 (82)에서, 상기 마이크로프로세서 유니트 (40)는 상기 플래시 메모리 유니트 (24)를 초기화하고 그리고 그 다음에 상기 입력된 데이터를 상기 플래시 메모리 유니트 (24)에 기입하기 위한 재프로그램 동작을 수행한다. 상기 단계 (84)에서, 상기 마이크로프로세서 유니트 (40)는 상기 프로그램 동작이 완료되었는 지의 여부를 판별한다. 완료되지 않으면 순서는 단계 (80)로 진행한다. 그렇치 않으면, 순서는 종료된다.
도 6은 상기 플래시 메모리 유니트 (24)에 저장된 재프로그램 검출/초기화 루틴의 처리 단계들을 보여주는 흐름도이며, 상기 재프로그램 검출/초기화 루틴은 재프로그램 동작이 수행되었는지를 검사하기 위한 상기 마이크로프로세서 유니트 (40)에 의해서 실행된다. 제 1 단계 (86)에서, 상기 마이크로프로세서 유니트 (40)는 플래시 재프로그램 요구 신호가 상기 인터페이스 (44)를 통해 상기 메인 유니트 (미도시된)로부터 입력되었는 지의 여부를 판별한다. 입력되지 않으면, 순서는 상기 마이크로콘트롤러의 정상적인 동작을 계속 수행하기 위한 단계 (94)로 진행한다. 그렇지 않으면, 순서는 단계 (88)로 진행하고, 상기 단계 (88)에서 상기 마이크로프로세서 유니트 (40)는 상기 재프로그램 활성화 신호를 하이 전압의 상태로 설정한다.
다음 단계 (90)에서, 상기 마이크로프로세서 유니트 (40)는 재프로그램 카운터를 영(zero)으로 초기화한다. 그 다음에 다음 단계 (92)에서, 순서는 롬 유니트 (22)에 저장된 상기 재프로그램 제어 루틴 (reprogramming control routine)을 실행하기 위해서 상기 롬 유니트 (22)로 점프 (jump)한다.
예시적인 바람직한 실시예들을 이용하여 본 발명을 설명하였지만, 본 발명의 범위는 개시된 실시예들에 한정되지 않는다는 것이 잘 이해될 것이다. 오히려, 본 발명의 범위에는 다양한 변형예들 및 그 유사한 구성들을 모두 포함될 수 있도록 하려는 것이다. 따라서, 청구 범위는 그러한 변형예들 및 그 유사한 구성들 모두를 포함하는 것으로 가능한 폭넓게 해석되어야 한다.
상기한 바와같이, 회로 보드로부터 상기 마이크로콘트롤러를 구비한 전체 IC 패키지를 분리할 필요없이 (일반적으로, 수행하기 꽤 힘든 땜납 (solders)을 제거해야함) 상기 마이크로콘트롤러의 상기 내장된 플래시 메모리의 데이터 기입 동작이 보드 상에서 수행될 수 있다. 그러므로 재프로그램 동작은 쉽고 그리고 빠르게 수행되며, 그 결과 종래 기술보다 더 비용이 저렴하다.

Claims (12)

  1. 메인 유니트에 연결된 마이크로콘트롤러에 있어서:
    외부 데이터 버스를 통해서 상기 메인 유니트에 연결되며, 재프로그램 동작 동안에 데이터 전송을 제어하는 내부 재프로그램 활성화 신호 및 일련의 래치 활성화 신호들을 발생하는 마이크로프로세서 유니트와;
    재프로그램 제어 루틴을 저장하도록 사용되는 롬 유니트와;
    상기 마이크로콘트롤러에 특정된 제어 기능을 수행하기 위해서 상기 마이크로프로세서 유니트에서 수행되는 주 제어 프로그램을 저장하도록 사용되는 플래시 메모리 유니트와;
    외부 재프로그램 활성화 신호를 발생하며, 수작업으로 설정 가능한 외부 점퍼와;
    상기 마이크로프로세서 유니트와 상기 외부 점퍼에 연결되며, 상기 내부 재프로그램 활성화 신호와 상기 외부 재프로그램 활성화 신호 중 하나가 존재할 때 선택 신호를 발생하는 오어 게이트와;
    상기 롬 유니트와 상기 플래시 메모리 유니트의 상기 데이터 버스들에 각각 연결된 두 개의 입력단들과 상기 마이크로프로세서 유니트의 상기 데이터 버스에 연결된 하나의 출력단을 가지며, 상기 오어 게이트로부터의 상기 선택 신호가 있을 때 상기 마이크로프로세서 유니트에 연결하도록 상기 롬 유니트를 선택하고, 그리고 상기 오어 게이트로부터의 상기 선택 신호가 없을 때 상기 플래시 메모리 유니트를 선택하는 멀티플렉서 및;
    상기 플래시 메모리 유니트와 상기 마이크로프로세서 유니트 사이에 연결되며, 상기 플래시 메모리 유니트와 상기 마이크로프로세서 유니트 사이의 데이터 전송을 위해서 상기 마이크로프로세서 유니트로부터의 상기 래치 활성화 신호들에 응답해서 제어되는 래치 버퍼를 포함하되,
    상기 내부 재프로그램 활성화 신호 및 상기 외부 재프로그램 활성화 신호 중 하나의 신호가 발생될 때 상기 멀티플렉서는 상기 마이크로프로세서 유니트에 연결하기 위해 상기 롬 유니트를 선택하고, 그에 따라 상기 마이크로프로세서 유니트가 상기 플래시 메모리 유니트에 데이터를 기입하는 재프로그램 동작을 제어하기 위해서 상기 롬 유니트에 저장된 상기 재프로그램 제어 루틴을 실행하게 하는 것을 특징으로 하는 마이크로콘트롤러.
  2. 제 1 항에 있어서,
    상기 외부 점퍼는 상기 외부 점퍼가 시스템 전압으로 스위치될 때, 상기 외부 재프로그램 활성화 신호가 발생되는 방법으로 상기 시스템 전압과 접지 전압 사이에서 스위치 가능한 것을 특징으로 하는 마이크로콘트롤러.
  3. 제 2 항에 있어서,
    상기 외부 점퍼로부터 제공된 상기 외부 재프로그램 활성화 신호는 상기 멀티플렉서가 상기 마이크로프로세서 유니트에 연결하기 위해서 상기 롬 유니트를 선택하게 하며, 그에 따라 상기 마이크로프로세서 유니트가 상기 플래시 메모리 유니트에 데이터를 기입하는 재프로그램 동작을 제어하기 위해서 상기 롬 유니트에 저장된 상기 재프로그램 제어 루틴을 수행하게 하는 것을 특징으로 하는 마이크로콘트롤러.
  4. 제 1 항에 있어서,
    상기 플래시 메모리 유니트는 플래시 재프로그램 요구 신호가 상기 메인 유니트 인터페이스로부터 발생되는 지의 여부를 검출하기 위해 상기 마이크로프로세서 유니트에서 수행되는 재프로그램 검출/초기화 루틴을 부가적으로 저장하는 것을 특징으로 하는 마이크로콘트롤러.
  5. 상기 제 1 항에 있어서,
    상기 롬 유니트에 저장된 상기 재프로그램 제어 루틴은 상기 메인 유니트 인터페이스로부터 상기 플래시 메모리 유니트로 재프로그램될 데이터를 받아들인 상기 마이크로프로세서 유니트를 제어하도록 사용되는 것을 특징으로 하는 마이크로콘트롤러.
  6. 제 5 항에 있어서,
    상기 플래시 메모리 유니트에 재프로그램될 상기 데이터는 데이터 신호, 어드레스 신호, 그리고 제어 신호를 포함하는 것을 특징으로 하는 마이크로콘트롤러.
  7. 제 6 항에 있어서,
    상기 래치 버퍼는,
    상기 마이크로프로세서 유니트로부터 제공되는 제 1 래치 활성화 신호에 응답해서 상기 플래시 메모리 유니트에 연결된 데이터 버스 상의 어드레스 신호를 래치하는 제 1 래치와;
    상기 마이크로프로세서 유니트로부터 제공되는 제 2 래치 활성화 신호에 응답해서 상기 플래시 메모리 유니트에 연결된 신호 라인 상의 플래시 독출/기입 요구 신호를 래치하는 제 2 래치 및;
    상기 플래시 메모리 유니트와 상기 마이크로프로세서 유니트 사이에 연결된 송수신기를 포함하되;
    상기 송수신기는 상기 전송/입력 제어 신호에 응답해서 기입 동작 동안에, 전송/입력 제어 신호가 상기 송수신기를 전송 모드로 설정하며, 상기 송수신기가 상기 마이크로프로세서 유니트에 의해서 입력된 상기 데이터 신호를 상기 메인 유니트 인터페이스에서 상기 플래시 메모리 유니트로 전달하게 하고, 그리고 독출 동작 동안에, 상기 전송/입력 제어 신호가 상기 송수신기를 입력 모드로 설정하며, 상기 송수신기가 독출된 데이터를 상기 플래시 메모리 유니트에서 상기 마이크로프로세서 유니트로 전달하게 하는 방식으로 동작하는 것을 특징으로 하는 마이크로콘트롤러.
  8. 메인 유니트 인터페이스에 연결된 마이크로콘트롤러에 있어서:
    외부 데이터 버스를 통해서 상기 메인 유니트에 연결되며, 재프로그램 동작 동안에 데이터 전달을 제어하는 내부 재프로그램 활성화 신호 및 일련의 래치 활성화 신호들을 발생하는 마이크로프로세서 유니트와;
    재프로그램 제어 루틴을 저장하도록 사용되는 롬 유니트와;
    상기 마이크로콘트롤러에 특정된 제어 기능을 수행하는 상기 마이크로프로세서 유니트에서 수행되는 메인 제어 프로그램을 저장하도록 사용되는 플래시 메모리 유니트와;
    상기 롬 유니트와 상기 플래시 메모리 유니트의 상기 데이터 버스들에 각각 연결된 두 개의 입력단들과 상기 마이크로프로세서 유니트의 상기 데이터 버스에 연결된 하나의 출력단을 가지며, 상기 마이크로프로세서 유니트로부터 제공되는 상기 내부 재프로그램 활성화 신호가 있을 때, 상기 마이크로프로세서 유니트에 연결하기 위해서 상기 롬 유니트를 선택하고, 그리고 상기 마이크로프로세서 유니트로부터 제공되는 상기 내부 재프로그램 활성화 신호가 없을 때, 상기 플래시 메모리 유니트를 선택하는 멀티플렉서 및;
    상기 플래시 메모리 유니트와 상기 마이크로프로세서 유니트 사이에 연결되며, 상기 플래시 메모리 유니트와 상기 마이크로프로세서 유니트 사이의 데이터 전달을 위해서 상기 마이크로프로세서 유니트로부터 제공되는 상기 래치 활성화 신호들에 응답해서 제어되는 래치 버퍼를 포함하되,
    상기 마이크로프로세서 유니트로부터 상기 내부 재프로그램 활성화 신호가 발생될 때 상기 멀티플렉서는 상기 마이크로프로세서 유니트에 연결하기 위해 상기 롬 유니트를 선택하고, 그 결과 상기 마이크로프로세서 유니트가 상기 플래시 메모리 유니트에 데이터를 기입하는 재프로그램 동작을 제어하기 위해서 상기 롬 유니트에 저장된 상기 재프로그램 제어 루틴을 실행하게 하는 것을 특징으로 하는 마이크로콘트롤러.
  9. 제 8 항에 있어서,
    상기 플래시 메모리 유니트는 플래시 재프로그램 요구 신호가 상기 메인 유니트 인터페이스로부터 발생했는 지의 여부를 검출하는 상기 마이크로프로세서 유니트에 의해서 실행되는 재프로그램 검출/초기화 루틴을 부가적으로 포함하는 마이크로콘트롤러.
  10. 제 8 항에 있어서,
    상기 롬 유니트에 저장된 상기 재프로그램 제어 루틴은 상기 메인 유니트 인터페이스로부터 상기 플래시 메모리 유니트로 재프로그램될 데이터를 받아들인 상기 마이크로프로세서 유니트를 제어하도록 사용되는 것을 특징으로 하는 마이크로콘트롤러.
  11. 제 10 항에 있어서,
    상기 플래시 메모리 유니트에 재프로그램될 상기 데이터는 데이터 신호, 어드레스 신호, 그리고 제어 신호를 포함하는 것을 특징으로 하는 마이크로콘트롤러.
  12. 제 8 항에 있어서,
    상기 래치 버퍼는,
    상기 마이크로프로세서 유니트로부터 제공되는 제 1 래치 활성화 신호에 응답해서 상기 플래시 메모리 유니트에 연결된 데이터 버스 상의 어드레스 신호를 래치하는 제 1 래치와;
    상기 마이크로프로세서 유니트로부터 제공되는 제 2 래치 활성화 신호에 응답해서 상기 플래시 메모리 유니트에 연결된 신호 라인 상의 플래시 독출/기입 요구 신호를 래치하는 제 2 래치 및;
    상기 플래시 메모리 유니트와 상기 마이크로프로세서 유니트 사이에 연결된 송수신기를 포함하되;
    상기 송수신기는 전송/입력 제어 신호에 응답해서 기입 동작 동안에, 상기 전송/입력 제어 신호가 상기 송수신기를 전송 모드로 설정하며, 상기 송수신기로 하여금 상기 마이크로프로세서 유니트에 의해서 입력된 상기 데이터 신호를 상기 메인 유니트 인터페이스로부터 상기 플래시 메모리 유니트로 전달하게 하고, 그리고 독출 동작 동안에, 상기 전송/입력 제어 신호가 상기 송수신기를 입력 모드로 설정하며, 상기 송수신기로 하여금 독출된 데이터를 상기 플래시 메모리 유니트에서 상기 마이크로프로세서 유니트로 전달하게 하는 방식으로 동작하는 것을 특징으로 하는 마이크로콘트롤러.
KR1019980001922A 1998-01-22 1998-01-22 프로그램 가능한 플래시 메모리를 내장하는 마이크로콘트롤러 KR100290280B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980001922A KR100290280B1 (ko) 1998-01-22 1998-01-22 프로그램 가능한 플래시 메모리를 내장하는 마이크로콘트롤러

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980001922A KR100290280B1 (ko) 1998-01-22 1998-01-22 프로그램 가능한 플래시 메모리를 내장하는 마이크로콘트롤러

Publications (2)

Publication Number Publication Date
KR19990068862A KR19990068862A (ko) 1999-09-06
KR100290280B1 true KR100290280B1 (ko) 2001-05-15

Family

ID=65893367

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980001922A KR100290280B1 (ko) 1998-01-22 1998-01-22 프로그램 가능한 플래시 메모리를 내장하는 마이크로콘트롤러

Country Status (1)

Country Link
KR (1) KR100290280B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000000888A (ko) * 1998-06-05 2000-01-15 윤종용 메모리의 프로그램 변경 및 독출 방법
KR100518241B1 (ko) * 1999-04-20 2005-10-04 주식회사 하이닉스반도체 플래시 메모리 회로

Also Published As

Publication number Publication date
KR19990068862A (ko) 1999-09-06

Similar Documents

Publication Publication Date Title
US6009496A (en) Microcontroller with programmable embedded flash memory
US5949987A (en) Efficient in-system programming structure and method for non-volatile programmable logic devices
US5327531A (en) Data processing system including corrupt flash ROM recovery
US5664194A (en) Method for autonomously transferring code to a computer without accessing local memory by the central processing unit
EP0964338B1 (en) Method and apparatus for operating on a memory unit via a JTAG port
US7805562B2 (en) Microcomputer with configurable communication interfacing
US6349397B1 (en) Signal processing apparatus having non-volatile memory and programming method of the non-volatile memory
JPH07175677A (ja) 高密度プログラマブルロジックデバイス内蔵のシステム内プログラミング用および境界走査用状態マシンのための多重化した制御用ピン
US5768563A (en) System and method for ROM program development
CN112925569A (zh) 一种固件数据处理方法、装置、设备及存储介质
JP3173407B2 (ja) フラッシュeeprom内蔵マイクロコンピュータ
JPH07325711A (ja) Romプログラム変更装置
GB2154034A (en) Microcomputer with software protection
US6925522B2 (en) Device and method capable of changing codes of micro-controller
JP2003337748A (ja) 電子制御装置
US5880992A (en) Electrically erasable and programmable read only memory
KR100290280B1 (ko) 프로그램 가능한 플래시 메모리를 내장하는 마이크로콘트롤러
US6598176B1 (en) Apparatus for estimating microcontroller and method thereof
JPH10333898A (ja) マイクロコンピュータ
JP4042940B2 (ja) オンチップ・プログラミング機能を持つマイクロコントローラ
KR200170061Y1 (ko) 복구능력이있는플래시메모리
JPH04235632A (ja) プログラムローディング方法
JP2020101889A (ja) モジュール及びこれを備える情報処理装置、並びにモジュールのプログラムデータを更新するプログラムデータ更新方法
WO1997009673A9 (en) Transferring code to computer without accessing ram
WO1997009673A1 (en) Transferring code to computer without accessing ram

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130104

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20131224

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20150112

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20160217

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20170206

Year of fee payment: 17

EXPY Expiration of term