[go: up one dir, main page]

KR100404232B1 - 마이크로 컨트롤러 장치 - Google Patents

마이크로 컨트롤러 장치 Download PDF

Info

Publication number
KR100404232B1
KR100404232B1 KR10-2002-0000079A KR20020000079A KR100404232B1 KR 100404232 B1 KR100404232 B1 KR 100404232B1 KR 20020000079 A KR20020000079 A KR 20020000079A KR 100404232 B1 KR100404232 B1 KR 100404232B1
Authority
KR
South Korea
Prior art keywords
mode
data
serial
control unit
address
Prior art date
Application number
KR10-2002-0000079A
Other languages
English (en)
Other versions
KR20030058851A (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 KR10-2002-0000079A priority Critical patent/KR100404232B1/ko
Publication of KR20030058851A publication Critical patent/KR20030058851A/ko
Application granted granted Critical
Publication of KR100404232B1 publication Critical patent/KR100404232B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/08Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations, the intermediate ones not being accessible for either enqueue or dequeue operations, e.g. using a shift register

Landscapes

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

Abstract

직렬 모드 컨트롤부를 구비하여 적은 핀(Pin)수만으로 MCU(Micro Controller Unit)에 내장된 플래쉬 EEPROM 메모리를 프로그램/조회/소거할 수 있도록 시스템을 구성하여 시스템 구성 비용을 절감시키기에 알맞은 마이크로 컨트롤러 장치를 제공하는데 그 목적이 있다.
이와 같은 목적을 달성하기 위한 마이크로 컨트롤러 장치는 병렬 모드 컨트롤부외에 플래쉬 메모리부와 직렬로 어드레스와 데이터를 주고 받을 수 있는 직렬 모드 컨트롤부를 구비시키고, 상기 직렬 모드 컨트롤부의 동작을 컨트롤하기 위한 상태 카운트부와 쉬프트 레지스터와 모드 컨트롤부를 더 구비하여 구성된 것에 그 특징이 있다.

Description

마이크로 컨트롤러 장치{micro controller unit}
본 발명은 마이크로 컨트롤러에 대한 것으로, 특히 플래쉬 EEPROM을 내장한 마이크로 컨트롤러 장치(Micro Controller Unit:MCU)에 관한 것이다.
첨부 도면을 참조하여 종래 마이크로 컨트롤러 장치에 대하여 설명하면 다음과 같다.
도 1은 종래 마이크로 컨트롤러 장치의 구성도이고, 도 2는 종래 플래쉬 모드의 전형적인 모드 배치도이다.
종래의 마이크로 컨트롤러 장치는 플래쉬 EEPROM을 내장한 마이크로 컨트롤러 장치(Micro Controller Unit:MCU)에서 병렬 프로그램을 위한 것이다.
종래의 구성은 도 1에 도시한 바와 같이 병렬 모드 컨트롤부(10)와 플래쉬 메모리부(11)로 구성되었다.
상기에서 병렬 모드 컨트롤부(10)는 병렬 모드(Parallel mode)일 경우에 동작하며, 모드 컨트롤 핀인 CTL0, CTL1, CTL2, CTL3에 의해 각각의 모드에 진입하게 된다.
데이터 입/출력 포트(Data I/O Port) 8개와 어드레스 입력 포트 8개로 각각 데이터와 어드레스를 주고 받는다.
병렬로 데이터와 어드레스를 주고 받으므로 인터페이스 속도가 빠르나 많은 핀들(VCC, GND, CTL0~CTL3, VPP(외부 VPP를 사용할 때),데이타 포트 8개, 어드레스 포트 8개, 플래쉬 모드 진입용 컨트롤핀 2개(RST,PSEN))을 이용해야 하므로 시스템-온-프로그래밍에는 적합하지 않다.
그리고 플래쉬 메모리부(11)는 플래쉬 메모리 어레이와 그 주변회로로 이루어졌으며 리드 데이터 래치(RD_DLAT)와 , 리드 데이터 클럭(RD_CK), 라이트 데이터 버스(WTDB), 라이트 프로그램 롬(WTPROM)와 소거(ERASE) 신호를 받아 플래쉬 셀을 라이트, 리드, 소거한다.
종래의 플래쉬 모드의 전형적인 모드는 도 2에 도시한 바와 같이 리드신호와 리드 락 비트들과 조회 코드 데이터와 프로그램 코드 데이터와 프로그램 락 비트들과 소거부와 4바이트 로드와 4바이트 프로그램 모드로 나누어져 있고, 각 모드마다 RST, /PSEN, /PROG, /(EA/VPP), P2.5, P2.6, P3.7과 P3.6의 각 신호들을 별도로 입력하고 각 모드마다 선별적으로 어드레스를 입력하거나 입력하지 않고, 각 모드마다 데이터를 바이트 신호 출력하거나 락 비트 출력하거나 코드 데이터 출력하거나 코드 데이터 입력하거나 락 비트 입력하거나 소거부 비트 입력하여 진행한다.
상기와 같은 종래 마이크로 컨트롤러 장치는 다음과 같은 문제가 있다.
병렬로 데이터와 어드레스를 주고 받음으로 시스템-온-프로그래밍을 할 때 많은 핀(Pin)들이 필요하다.
따라서 사용하기가 불편하고 시스템 구성 비용이 많이 들며 프로그램 업데이트가 쉽지 않다.
본 발명은 상기와 같은 문제를 해결하기 위하여 안출한 것으로 특히, 직렬 모드 컨트롤부를 구비하여 적은 핀(Pin)수만으로 MCU에 내장된 플래쉬 EEPROM 메모리를 프로그램/조회/소거할 수 있도록 시스템을 구성하여 시스템 구성 비용을 절감시키기에 알맞은 마이크로 컨트롤러 장치를 제공하는데 그 목적이 있다.
본 발명의 또다른 목적은 직렬 모드 뿐만아니라 병렬 모드도 지원하여 차후 테스트 비용이 증가하는 것을 방지하기에 알맞은 마이크로 컨트롤러 장치를 제공하는데 있다.
도 1은 종래 마이크로 컨트롤러 장치의 구성도
도 2는 종래 플래쉬 모드의 전형적인 모드 배치도
도 3은 직렬 모드 컨트롤부가 추가된 본 발명에 따른 마이크로 컨트롤러 장치의 구성도
도 4는 본 발명에 따른 직렬 컨트롤 모드 배치도
도 5는 본 발명에 따른 직렬 모드 컨트롤부를 제어하기 위한 모드 컨트롤부의 구성도
도 6a와 도 6b는 본 발명에 따른 직렬 모드 타이밍 다이어그램
도 7은 직렬 모드 진입 및 해제를 위한 타이밍도
* 도면의 주요 부분에 대한 부호의 설명 *
30 : 직렬 모드 컨트롤부 31 : 병렬 모드 컨트롤부
32 : 플래쉬 메모리부 50 : 상태 카운트부
51 : 쉬프트 레지스터 52 : 모드 컨트롤부
상기와 같은 목적을 달성하기 위한 본 발명 마이크로 컨트롤러 장치는 직렬 클럭(SCLK)을 카운트하여 각 모드에 필요한 타이밍 신호들(ST0~ST14)을 출력하는 상태 카운트부와, 상기 직렬 클럭에 맞춰 입력되는 직렬 데이터(SDATA)를 쉬프트 시켜 각 모드에 따른 명령을 모드 컨트롤부에 출력하고, 상기 모드 컨트롤부에서 만들어진 각종 컨트롤 신호들을 받아 직렬 데이터를 병렬 데이터로 변환시켜 어드레스를 만들거나 라이트할 데이터를 만들어 각각 인터널 어드레스 버스나 데이터 버스에 실어주고, 조회(Verify) 모드에서는 데이터 버스에 있는 리드한 병렬 데이터를 직렬 데이터로 변환시켜 출력시키는 쉬프트 레지스터와, 상기 쉬프트 레지스터에서 만들어진 명령을 해독하여 진입할 모드를 결정하고 결정된 모드에 알맞은 컨트롤 신호를 만들어 상기 쉬프트 레지스터에서 어드레스와 데이터가 입/출력 될 수 있도록 하며, 병렬 모드일 경우 라이트(Write) 데이터나 조회(Verify) 데이터가 n비트 포트(port)로 입/출력될 수 있도록 제어하는 모드 컨트롤부와, 리드 데이터 래치신호와 리드 데이터 클럭과 라이트 데이터 버스신호와 라이트 프로그램 롬신호와 소거 신호를 받아 플래쉬 셀을 라이트하거나 리드하거나 소거할 수 있도록 복수개의 플래쉬 셀 어레이로 구성된 플래쉬 메모리부와, 상기 모드 컨트롤부로부터 직렬 모드 컨트롤 신호를 받아 상기 직렬 클럭(SCLK)을 받아 동작하고 직렬데이터(SDATA)핀을 통해 상기 플래쉬 메모리부와 어드레스와 데이터를 직렬로 주고 받아 프로그램/조회/소거 동작이 가능하도록 하는 직렬 모드 컨트롤부와, 상기 컨트롤 신호를 상기 직렬 모드 컨트롤부와 먹스(MUX)하여 사용하며, 병렬 모드일 경우 플래쉬 메모리부와 어드레스와 데이터를 병렬로 주고 받는 병렬 모드 컨트롤부를 포함하여 구성됨을 특징으로 한다.
첨부 도면을 참조하여 본 발명 마이크로 컨트롤러 장치의 컨트롤 회로에 대하여 설명하면 다음과 같다.
도 3은 직렬 모드 컨트롤부가 추가된 본 발명에 따른 마이크로 컨트롤러 장치의 구성도이고, 도 4는 본 발명에 따른 직렬 컨트롤 모드 배치도이다.
그리고 도 5는 본 발명에 따른 모드 컨트롤부의 구성도이다.
그리고 도 6a와 도 6b는 본 발명에 따른 직렬 모드 타이밍 다이어그램이고, 도 7은 직렬 모드 진입 및 해제를 위한 타이밍도이다.
본 발명은 플래쉬 EEPROM 내장 마이크로 컨트롤러 장치(Micro Controller Unit:MCU)에서 데이터와 어드레스를 직렬(Serial)로 주고 받을 수 있도록 컨트롤 하는 회로이다.
상기와 같이 직렬로 데이터와 어드레스를 주고 받기 위해서 본 발명은 직렬 모드 컨트롤부(30)를 추가로 더 구비하였다.
상기와 같이 직렬 모드 컨트롤부(30)를 더 구비하므로써 파워 핀(VCC, GND)을 포함하여 총 5핀(pin)의 연결만으로 플래쉬 EEPROM의 프로그램(PGM)과 조회(Verify)와 소거(Erase)를 가능하도록 하여 시스템-온-프로그래밍을 용이하게하였다.
상기에 설명한 바와 같이 본 발명에 따른 마이크로 컨트롤러 장치는 도 3과 도 5에 도시한 바와 같이 직렬 모드 컨트롤부(30)와 병렬 모드 컨트롤부(31)와 플래쉬 메모리부(32) 및 상기 직렬 모드 컨트롤부(30)를 제어하기 위한 상태 카운터부(50)와 쉬프트 레지스터(51)와 모드 컨트롤부(52)로 구성되었다.
먼저 직렬 모드 컨트롤부(30)는 직렬 모드(Serial mode:S_MODE)일 경우에 동작하며 외부와의 신호를 동기시키기 위한 직렬 클럭(SCLK)을 입력받아 동작하고 상기 직렬 클럭(SCLK)과 함께 입력되는 직렬 데이터(SDATA)에 포함된 명령을 해독하고, 각 명령에 따라 플래쉬 메모리부(32)를 억세스(access)하기 위한 컨트롤 신호를 만들어 낸다.
그리고 어드레스를 생성하거나 경우에 따라 직렬 데이터를 병렬 데이터로 변환하거나 반대로 병렬 데이터를 직렬 데이터로 변환시키기도 한다.
그리고 총 사용되는 핀(pin)은 VCC, GND, SCLK, SDATA와 VPP(외부 VPP가 필요할 경우)로, 사용되는 핀수가 많지 않으므로 시스템-온-프로그래밍에 적합하다.
그리고 병렬 모드 컨트롤부(31)는 병렬 모드(Parallel mode)일 경우에 동작하며, 모드 컨트롤 핀인 CTL0, CTL1, CTL2, CTL3에 의해 직렬 모드에 준하는 각각의 모드에 진입하게 된다.
데이터 입/출력 포트(Data I/O Port) 8개와 어드레스 입력 포트 8개로 각각 데이터와 어드레스를 주고 받는다.
그리고 플래쉬 메모리를 억세스하기 위한 컨트롤 신호들은 직렬 모드의 컨트롤 신호와 먹스(MUX:Multiplexer)하여 쓴다.
이와 같은 병렬 모드 컨트롤부(31)는 직렬 모드와 달리 병렬로 데이터와 어드레스를 주고 받으므로 인터페이스 속도가 빠르나 많은 핀들을 할당해야 하므로 시스템-온-프로그래밍에는 적합하지 않으므로 롬(ROM) 라이트나 테스트시 사용한다.
상기와 같은 병렬 모드 컨트롤부(31)에 사용되는 핀은 VCC, GND, CTL0~CTL3, VPP, 데이터 포트 8개, 어드레스 포트 8개이다.
다음에 플래쉬 메모리부(32)는 플래쉬 메모리 어레이와 그 주변회로로 이루어 졌는데, 리드 데이터 래치(RD_DLAT)와 , 리드 데이터 클럭(RD_CK), 라이트 데이터 버스(WTDB), 라이트 프로그램 롬(WTPROM)과 소거(ERASE) 신호를 받아 플래쉬 셀을 라이트하거나 리드하거나 소거한다.
다음에 본 발명에 따른 모드 컨트롤부의 구성에 대하여 도 5를 참조하여 설명한다.
본 발명에 따른 모드 컨트롤부는 도 5에 도시한 바와 같이 플래쉬 모드(Flash mode)일 경우 액티브되며, 상기에 설명한 바와 같이 상태 카운트부(50)와 쉬프트 레지스터(51)와 모드 컨트롤부(52)로 구성된다.
이때 상태 카운트부(50)는 직렬 클럭(SCLK)을 카운트시켜 각 모드에 필요한 타이밍 신호인 ST0~ST14를 출력시킨다.
그리고 쉬프트 레지스터(51)는 SCLK에 맞춰 입력되는 직렬 데이타(SDATA)를 쉬프트시켜 명령(Command) 부분을 모드 컨트롤부(52)로 보내고 모드 컨트롤부(52)에서 만들어진 각종 컨트롤 신호들에 의해 직렬 데이터를 병렬 데이터로 변환시켜 어드레스를 만들거나 라이트할 데이터를 만들어 각각 인터널 어드레스 버스 및 데이터 버스에 실어주며, 조회 모드일 때에 데이터 버스에 있는 리드한 병렬 데이터를 직렬 데이터로 변환시켜 SDATA로 출력시켜 주는 것이다.
그리고 모드 컨트롤부(52)는 쉬프트 레지스터(51)에서 만들어진 명령을 해독하여 모드 진입을 결정하고 각 모드에 알맞은 컨트롤 신호를 만들어 쉬프트 레지스터(51)에서 어드레스와 데이터가 적절히 입/출력될 수 있도록 하며, 병렬 모드일 경우 라이트 데이터나 조회 데이터가 8비트 포트(Port)로 입/출력될 수 있도록 제어하는 것이다.
본 발명의 인터페이스에 필요한 핀(Pin)은 직렬 모드만 사용할 경우에는 VCC, GND, SCLK, SDATA, VPP로 총 5개이며, 병렬 모드로 사용할 경우에는 VCC, GND, CTL0~CTL3, VPP, 데이터 포트 8개, 어드레스 포트 8개와 모드 컨트롤핀인 CTL0~CTL3과 플래쉬 모드 진입용 컨트롤 핀 2개이다.
다음에 도 6a와 도 6b를 참고로 직렬 모드일 경우에 직렬 데이터 포맷(Format)을 타이밍도와 함께 설명한다.
직렬 데이터 포맷은 명령과 데이터로 이루어진 포맷(Format)과 명령(command)만으로 이루어진 포맷이 있다.
도 6a와 도 6b에 도시한 바와 같이 명령은 5비트로 구성되어 있으며 C4 비트가 "1"일 경우는 데이터의 주고 받음 없이 단지 명령만을 수행하고, 다음 명령을 기다린다.
그러나 C4 비트가 "0"인 경우는 명령데이타이므로 명령을 해독하여 각 모드에 알맞게 명령 다음에 있게 되는 데이터를 입력 받거나 출력시키게 된다.
데이터부는 10비트로 구성되어 있으며 최상위 비트(Most Significant Bit:MSB)와 최하위 비트(Least Significant Bit:LSB)의 값은 항상 "0"이며 이 값은 사용하지 않는다.
상태 카운트부(50)가 하는 일은 SCLK 클럭을 입력 받아 현재 입력 받고 있는 SDATA의 값이 무엇을 의미하는지 알아내기 위해 ST0~ST14의 상태 클럭을 발생시키는 것이며, 명령만으로 이루어진 경우 ST4 이후 다음 명령을 받기 위해 ST0로 점프하고 명령데이타인 경우는 ST14 이후 다음 명령을 받기 위해 ST0로 점프한다.
모드 컨트롤부(52)는 ST4에서 명령을 해독한 후 각 명령에 따른 모드 활성화 신호를 만들어 내며 플래쉬 메모리를 컨트롤 하기 위한 신호들과 어드레스 생성 및 데이터 입/출력에 필요한 각종 신호를 적절한 타임에 출력시킨다.
쉬프트 레지스터(51)는 SCLK에 동기시켜 SDATA 입력을 레지스터에 차례로 쉬프트시켜 저장하고 명령은 모드 컨트롤부(52)에 보내고 데이터는 모드 컨트롤부(52)의 제어에 의해 어드레스를 만들거나 라이트 데이터를 만들어 인터널 어드레스 버스나 데이터 버스로 보낸다.
또한 조회 모드일 경우는 데이터 버스로부터 입력 받은 데이터를 쉬프트 레지스터(51)에 저장했다가 ST6의 상승 에지에서 차례로 SDATA로 쉬프트하여 출력시킨다.
다음에 직렬 컨트롤 모드와 각 모드별 동작에 대하여 도 4와 도 6a와 도 6b를 참조하여 설명한다.
도 4와 도 6a와 도 6b에 도시한 바와 같이 직렬 컨트롤 모드는 5개로 나누어 설명할 수 있다.
먼저 로드 어드레스 모드(Load Address Mode)는 SDATA 핀으로 입력되는 직렬 어드레스 데이터를 병렬 어드레스 데이터로 변환하여 상위 혹은 하위 어드레스 카운터에 실어주는 역할을 한다.
상기 로드 어드레스 모드는 로드 하이(High) 어드레스와 로드 로우(Low) 어드레스로 나누어 진행된다.
그리고 조회 모드(Verify mode)는 리드 데이터 래치(RD_DLAT) 신호에 의해 센스 앰프를 동작시켜 플래쉬 메모리부(32)의 플래쉬 메모리를 리드하고, 라이트 데이터 버스(WTDB) 신호에 의해 리드한 데이터를 인터널 데이터 버스에 실어준 후 병렬 데이터를 직렬 데이터로 변환하여 SDATA로 출력한다.
그리고 라이트 모드(Write mode)는 SDATA로 입력된 직렬 데이터를 병렬 데이터로 변환화여 라이트 데이터 버스(WTDB:Write Data Bus) 신호에 의해 인터널 데이터 버스에 실어주고, 어드레스 카운터의 값을 인터널 어드레스 버스에 실어준 후 라이트 프로그램 롬(Write Program ROM:WTPROM) 신호에 의해 플래쉬 메모리에 라이트한다.
그리고 소거 모드(Erase mode)는 플래쉬 메모리가 소거가 가능하며 소거에 필요한 플래쉬 셀 바이어스(Flash cell bias) 조건을 만들어 소거 신호가 활성화되어 있는 동안 소거 동작을 진행하는 것이다.
그리고 어드레스 증가 모드(Increment Address mode)는 어드레스 카운터의 어드레스를 증가시키는 동작을 한다.
도 4에 도시한 바와 같이 로드 하이 어드레스 모드일 때는 C1 명령을 "하이"로 하여 8비트의 어드레스를 입력시키고, 로드 로우 어드레스일 때는 C3, C1 명령을 "하이"로 하여 8비트의 어드레스를 입력시킨다.
그리고 조회 모드에서는 명령 C2, C1을 "하이"로 하여 8비트의 데이터를 입력시키고, 라이트 모드일 때는 명령 C3를 "하이"로 하여 8비트의 데이터를 입력시키고, 소거 모드일 때는 명령 C3, C2, C1을 "하이"로 하여 8비트의 소거 데이터를 입력시킨다.
그리고 어드레스 증가 모드일 때는 C4, C3, C2, C1가 "하이"인 명령만을 입력시킨다.
상기와 같은 모드를 갖을 때 각 모드별 동작을 타이밍도와 함께 좀더 자세히 설명하면 다음과 같다.
먼저 로드 "하이" 또는 로드 "로우" 어드레스 모드일 때는 도 6a에 도시한 바와 같이 ST4가 시작되는 폴링(Falling Edge)에서 명령을 해독한 후 모드 컨트롤부(52)는 모드 활성 신호인 로드 어드레스 하이 모드(Load Address High Mode:LAHM)나 로드 어드레스 로우 모드(Load Address Low Mode:LALM)를 다음 명령의 ST4까지 액티브 시키고 쉬프트 레지스터(51)에 모든 어드레스 값이 들어오는 시점인 ST14에서 쉬프트 레지스터의 값을 어드레스 카운터에 저장시킨다.
다음에 로드 데이터 모드에서는 라이트 타임을 줄이기 위해 4바이트 라이트모드를 구현할 때에 라이트할 데이터를 4번 입력 받아 한꺼번에 라이트할 수 있도록 하는 모드에 사용되며, 로드 데이터 모드에서는 라이트 동작은 이루어지지 않고 어드레스 카운터에 저장된 어드레스의 플래쉬 메모리 라이트 패스에 래치시키게 된다.
이때 다음 데이터를 로드 하기 전에 어드레스를 증가시켜주어야 한다.
그리고 조회모드는 플래쉬 메모리에 저장된 데이터를 리드하는 모드이며 ST4에서 명령을 해독한 후 리드 데이터 래치(RD_DLAT)와 RD_CK를 만들어 어드레스 카운터에 저장된 어드레스의 데이터를 읽어 낸후 ST5에서 쉬프트 레지스터(51)에 저장하고 ST6에서 ST14까지 SCLK에 동기시켜 SDATA로 쉬프트시켜 출력시킨다.
그리고 라이트 모드는 ST4에서 명령 해독한 후 ST14에서 WTDB를 만들어 쉬프트 레지스터(51)에 들어온 데이터를 데이터 버스에 실어주고 라이트 패스(Path)에 래치했다가 ST0인 동안 라이트 동작을 한다. 라이트 타임은 라이트 모드 진입후 다음 명령이 시작될 때까지 이다.
그리고 소거 모드는 플래쉬 셀 데이터를 지우기 위한 모드로 ST14에 입력되는 쉬프트 레지스터의 값은 소거부 레지스터(Erase Block Register:EBR)이며, EBR값에 따른 블록이 소거될 수 있도록 소거 신호를 만들어 내며, 소거 타임은 라이트 타임과 마찬가지로 소거 모드 진입후 다음 명령이 입력될 때까지 이다.
다음에 4바이트 라이트 모드는 상기 로드 데이터 모드에서 래치된 4바이트의 데이터를 라이트할 수 있도록 4바이트 프로그램 모드를 만들어 내며, ST0인 동안 다음 명령이 입력될 때까지 라이트를 유지한다.
그리고 어드레스 증가모드는 데이터를 읽고 쓸때마다 어드레스를 주는 것보다 단지 명령만을 사용하는 것으로 시간을 줄여 줄 수 있다.
어드레스 카운터의 값을 하나 증가시키며 감소시키는 것은 없으므로 어드레스 감소 방향의 어드레스를 억세스하기 위해서는 로드 어드레스 모드를 이용해야 한다.
다음에 더미 모드는 마지막 명령이 라이트나 소거 동작일 경우 다음 명령이 없으므로 계속해서 라이트나 소거 동작을 하게 되므로 칩이 손상 받을 수 있는데 이것을 방지하기 위해서 추가하는 모드이다.
상기와 같은 직렬 모드외에 병렬 모드가 있는데, 이와 같은 병렬 모드는 플래쉬 메모리를 컨트롤하기 위한 컨트롤 신호들을 직렬 컨트롤 신호와 먹스(MUX)하여 사용한다.
이와 같은 병렬 모드는 직렬 모드에 비해 데이터 및 어드레스 대역폭(bandwidth)이 크기 때문에 롬 라이터에서 프로그램/조회/소거 동작을 하거나 플래쉬 메모리를 테스트할 때 사용하기 위한 것이다.
다음에 도 7을 참조하여 상기와 같은 직렬 모드와 병렬 모드를 진행하기 위한 진입 및 해제방법에 대하여 설명한다.
먼저 병렬 모드는 종래 방법과 같이 플래쉬 모드 진입용 컨트롤 핀(Pin)인 리셋(RST)과 PSEN이 각각 "1"과 "0"이 되어 병렬 모드로 진입하고, 이때 직렬 모드와 사용자 모드 및 기타 테스트 모드는 디제이블 된다.
그리고 직렬 모드는 VCC와 GND가 인가되고 리셋(RST)이 "1"인 상태에서SDATA와 SCLK가 모두 "0"이면 직렬 모드로 진입한다.
이때 사용자 모드와 병렬 모드 및 테스트 모드에서는 RST가 "1"이면 SDATA와 SCLK를 외부에서 강제로 "0"으로 주지 않는 이상 내부 풀-업에 의해 SDATA와 SCLK가 "1"을 유지하므로 직렬 모드가 아니다.
이때 직렬 모드로 진입하고자 할 때는 처음 진입시 도 7에 도시한 바와 같이 직렬 모드 진입 타이밍을 따른다.
그리고 직렬 모드에 진입하더라도 병렬 모드 조건이나 다른 테스트 모드나 사용자 모드로 진입하게 되면 직렬 모드 로직들은 디제이블되어 영향을 주지 않는다.
상기와 같은 본 발명 마이크로 컨트롤러 장치는 다음과 같은 효과가 있다.
직렬 모드 컨트롤부를 추가 구비하므로써 사용자로 하여금 5개의 핀만으로 플래쉬 EEPROM의 프로그램/조회/소거동작을 가능하게하여 시스템 구성 비용을 절감시킬 수 있다.
그리고 직렬 모드와 함께 병렬 모드도 함께 지원하도록 하여 롬 라이트를 이용하여 프로그램 메모리를 코딩하거나 테스트할 수 있으므로 테스트 비용이 증가되는 것을 방지할 수 있다.

Claims (1)

  1. 직렬 클럭(SCLK)을 카운트하여 각 모드에 필요한 타이밍 신호들(ST0~ST14)을 출력하는 상태 카운트부와,
    상기 직렬 클럭에 맞춰 입력되는 직렬 데이터(SDATA)를 쉬프트 시켜 각 모드에 따른 명령을 모드 컨트롤부에 출력하고, 상기 모드 컨트롤부에서 만들어진 각종 컨트롤 신호들을 받아 직렬 데이터를 병렬 데이터로 변환시켜 어드레스를 만들거나 라이트할 데이터를 만들어 각각 인터널 어드레스 버스나 데이터 버스에 실어주고, 조회(Verify) 모드에서는 데이터 버스에 있는 리드한 병렬 데이터를 직렬 데이터로 변환시켜 출력시키는 쉬프트 레지스터와,
    상기 쉬프트 레지스터에서 만들어진 명령을 해독하여 진입할 모드를 결정하고 결정된 모드에 알맞은 컨트롤 신호를 만들어 상기 쉬프트 레지스터에서 어드레스와 데이터가 입/출력 될 수 있도록 하며, 병렬 모드일 경우 라이트(Write) 데이터나 조회(Verify) 데이터가 n비트 포트(port)로 입/출력될 수 있도록 제어하는 모드 컨트롤부와,
    리드 데이터 래치신호와 리드 데이터 클럭과 라이트 데이터 버스신호와 라이트 프로그램 롬신호와 소거 신호를 받아 플래쉬 셀을 라이트하거나 리드하거나 소거할 수 있도록 복수개의 플래쉬 셀 어레이로 구성된 플래쉬 메모리부와,
    상기 모드 컨트롤부로부터 직렬 모드 컨트롤 신호를 받아 상기 직렬 클럭(SCLK)을 받아 동작하고 직렬 데이터(SDATA)핀을 통해 상기 플래쉬 메모리부와어드레스와 데이터를 직렬로 주고 받아 프로그램/조회/소거 동작이 가능하도록 하는 직렬 모드 컨트롤부와,
    상기 컨트롤 신호를 상기 직렬 모드 컨트롤부와 먹스(MUX)하여 사용하며, 병렬 모드일 경우 플래쉬 메모리부와 어드레스와 데이터를 병렬로 주고 받는 병렬 모드 컨트롤부를 포함하여 구성됨을 특징으로 하는 마이크로 컨트롤러 장치.
KR10-2002-0000079A 2002-01-02 2002-01-02 마이크로 컨트롤러 장치 KR100404232B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0000079A KR100404232B1 (ko) 2002-01-02 2002-01-02 마이크로 컨트롤러 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0000079A KR100404232B1 (ko) 2002-01-02 2002-01-02 마이크로 컨트롤러 장치

Publications (2)

Publication Number Publication Date
KR20030058851A KR20030058851A (ko) 2003-07-07
KR100404232B1 true KR100404232B1 (ko) 2003-11-05

Family

ID=32216737

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0000079A KR100404232B1 (ko) 2002-01-02 2002-01-02 마이크로 컨트롤러 장치

Country Status (1)

Country Link
KR (1) KR100404232B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7831854B2 (en) 2006-03-21 2010-11-09 Mediatek, Inc. Embedded system for compensating setup time violation and method thereof

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR930020466A (ko) * 1992-03-17 1993-10-19 가나이 쯔또무 마이크로컴퓨터
US5495593A (en) * 1990-06-29 1996-02-27 National Semiconductor Corporation Microcontroller device having remotely programmable EPROM and method for programming
KR19990080113A (ko) * 1998-04-13 1999-11-05 윤종용 시어리얼 인터페이스 회로를 구비하는 프로그래머블 마이크로콘트롤러와 이의 데이터 기입 및 독출방법
KR100233182B1 (ko) * 1995-01-23 1999-12-01 가네꼬 히사시 마이크로컴퓨터에 내장된 플래쉬 eeprom에 대한 기입장치 및 그 기입방법
KR20020042145A (ko) * 2000-11-30 2002-06-05 윤종용 마이크로 컨트롤로 유닛의 입/출력 회로

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5495593A (en) * 1990-06-29 1996-02-27 National Semiconductor Corporation Microcontroller device having remotely programmable EPROM and method for programming
KR930020466A (ko) * 1992-03-17 1993-10-19 가나이 쯔또무 마이크로컴퓨터
KR100233182B1 (ko) * 1995-01-23 1999-12-01 가네꼬 히사시 마이크로컴퓨터에 내장된 플래쉬 eeprom에 대한 기입장치 및 그 기입방법
KR19990080113A (ko) * 1998-04-13 1999-11-05 윤종용 시어리얼 인터페이스 회로를 구비하는 프로그래머블 마이크로콘트롤러와 이의 데이터 기입 및 독출방법
KR20020042145A (ko) * 2000-11-30 2002-06-05 윤종용 마이크로 컨트롤로 유닛의 입/출력 회로

Also Published As

Publication number Publication date
KR20030058851A (ko) 2003-07-07

Similar Documents

Publication Publication Date Title
US6839774B1 (en) Single-chip data processing apparatus incorporating an electrically rewritable nonvolatile memory and method of operating the same
US20240220424A1 (en) Block or page lock features in serial interface memory
KR100466980B1 (ko) 낸드 플래시 메모리 장치
US6122683A (en) Handshake minimizing serial-to-parallel interface with shift register coupled by parallel bus to address logic and control logic
CN100418079C (zh) 具有平行加速模式的串行外围接口存储元件
US6327175B1 (en) Method and apparatus for controlling a memory array with a programmable register
US20040236898A1 (en) Synchronous semiconductor storage device module and its control method, information device
US7558152B2 (en) Address counter for nonvolatile memory device
US8243516B2 (en) Interface for NAND-type flash memory
US20080259685A1 (en) Nonvolatile semiconductor memory device
TW327255B (en) Flash memory element and method of encoding the same
US7685343B2 (en) Data access method for serial bus
US7971024B2 (en) Off-chip micro control and interface in a multichip integrated memory system
KR100404232B1 (ko) 마이크로 컨트롤러 장치
CN103544991B (zh) 闪存装置及其操作的方法
KR20010076325A (ko) 반도체 집적회로
US20050237826A1 (en) Nonvolatile semiconductor memory device
KR20020026642A (ko) 비휘발성 메모리 내장용 엠씨유의 시리얼/패러럴프로그램장치
KR100505600B1 (ko) 시어리얼 인터페이스 회로를 구비하는 프로그래머블 마이크로콘트롤러와 이의 데이터 기입 및 독출방법
TWI701553B (zh) 反及閘快閃記憶體的讀取方法
JPH1166864A (ja) 半導体記憶装置およびその設計方法
EP0497443A2 (en) Static ram based microcontroller
JPH0991267A (ja) 不揮発性メモリのデータ書き込み装置
US20080065817A1 (en) Semiconductor integrated circuit
KR20000026569A (ko) 평가 칩의 램 확장 컨트롤 회로

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20020102

PA0201 Request for examination
PG1501 Laying open of application
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20030929

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20031022

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20031023

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee