KR20020036717A - 마이크로컴퓨터 및 그 제어 방법 - Google Patents

마이크로컴퓨터 및 그 제어 방법 Download PDF

Info

Publication number
KR20020036717A
KR20020036717A KR1020010069143A KR20010069143A KR20020036717A KR 20020036717 A KR20020036717 A KR 20020036717A KR 1020010069143 A KR1020010069143 A KR 1020010069143A KR 20010069143 A KR20010069143 A KR 20010069143A KR 20020036717 A KR20020036717 A KR 20020036717A
Authority
KR
South Korea
Prior art keywords
program
data
microcomputer
interface circuit
area
Prior art date
Application number
KR1020010069143A
Other languages
English (en)
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 JP2000342848A external-priority patent/JP4988982B2/ja
Priority claimed from JP2000342847A external-priority patent/JP4860811B2/ja
Priority claimed from JP2000342846A external-priority patent/JP5010065B2/ja
Priority claimed from JP2000342849A external-priority patent/JP4793798B2/ja
Application filed by 다카노 야스아키, 산요 덴키 가부시키가이샤 filed Critical 다카노 야스아키
Publication of KR20020036717A publication Critical patent/KR20020036717A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

호스트와 주변 디바이스와의 접속을 위한 USB 케이블을 이용하여, 호스트로부터 마이크로컴퓨터로의 프로그램 기입을 고속으로 행한다. 프로그램 저장용 플래시 ROM(50)은 퍼스널 컴퓨터(100)로부터 전송되는 프로그램 데이터를 기입해야 하는 제1 프로그램 영역과, 기입 제어 프로그램이 저장된 제2 프로그램 영역을 구비하고, 이 기입 제어 프로그램에 따라 USB 인터페이스 회로(30)를 경유하여 RAM (40)에 일시적으로 기억된 프로그램 데이터를 플래시 ROM(50)의 제1 프로그램 영역에 기입하도록 했다.

Description

마이크로컴퓨터 및 그 제어 방법{MICROCOMPUTER AND METHOD FOR CONTROLLING THE SAME}
본 발명은 USB 인터페이스 회로 및 프로그램 저장용 메모리로서 EEPROM을 내장한 마이크로컴퓨터에 관한 것으로, 특히 호스트(예를 들면, 퍼스널 컴퓨터)로부터 USB 인터페이스 회로를 통해 EEPROM으로의 프로그램 데이터의 기입, 검증 등을 행할 수 있도록 한 마이크로컴퓨터에 관한 것이다.
최근, 퍼스널 컴퓨터 등에 있어서, 주변 디바이스의 확장성의 자유도를 높이기 위해서, USB(Universal Serial Bus)의 서포트가 시작되고 있다. USB는 사용자의 편리성을 고려하여 고안된 직렬 인터페이스 규격으로, 키보드, 마우스, 카메라, 프린터, 스캐너, 스피커 등의 여러가지 주변 디바이스와 퍼스널 컴퓨터 등과의 통 신에 공통으로 사용할 수 있다.
도 10은 USB를 이용한 퍼스널 컴퓨터와 주변 디바이스와의 접속 구성예를 나타내는 도면이다. 상위의 퍼스널 컴퓨터(100)와 허브(101)와의 사이는 USB 케이블로 접속되고, 또한 허브(101)의 하위에는 주변 디바이스(102∼105)가 접속될 수 있다. 그리고, 퍼스널 컴퓨터(100)에 의해 주변 디바이스(102∼105)의 관리가 행해지는 구조로 되어 있다. 이와 같이 USB는 다중 스타형 네트워크 구조의 양방향 통신 가능한 직렬 버스라 할 수 있다.
여기서, USB 케이블에는 4개의 신호선이 포함된다. 그 내역은 전원용 2개와, 데이터 신호용 2개이다. 데이터 신호는 기본적으로는 차동 신호(D+, D-)로 취급된다. 또한, USB를 이용한 데이터 전송은 전송 단위가 프레임이라는 개념으로시간 분할되고, 그 프레임을 적층해 감으로써 행한다. 하나의 프레임은 SOF(Start Of Frame) 패킷에 의해 개시한다. 그리고, 호스트의 퍼스널 컴퓨터는 사전에 그 프레임 중에 스케쥴링된 데이터 전송 요구 토큰(키보드나 카메라로부터의 데이터 입력 요구나, 음성 데이터의 출력 요구)을 순차적으로 송출함으로써, 복수의 주변 디바이스와의 데이터 전송을 병행하여 행한다.
또, USB에 대한 기술 문헌으로서, 예를 들면 「Interface」(1997년 1월호), 특개평11-205412호 공보 등이 있다.
그런데, 상술한 주변 디바이스에는 통상, 디바이스의 동작을 제어하기 위한마이크로컴퓨터가 탑재된다. 여기서, 마이크로컴퓨터에는 프로그램 저장용 메모리로서, 전기적으로 기입, 판독 및 소거 가능한 불휘발성 메모리인 EEPROM이 내장되어 있는 것으로 한다. 이 EEPROM에는 상기한 기능 외에 프로그램 데이터를 일괄적으로 소거하는 기능을 구비한 플래시 ROM도 포함된다.
종래, 상기한 EEPROM에 프로그램 데이터를 기입하는 경우, 두 개의 방법이 행해져 왔다. 이하에서는 프로그램 저장용 메모리로서 플래시 ROM을 구비한 마이크로컴퓨터를 예로 들어 설명한다.
하나의 방법은 도 11에 도시한 바와 같이 ROM 라이터(110)를 이용하여 마이크로컴퓨터(111)에 내장된 플래시 ROM(112)에 병렬로 데이터를 기입하는 경우이다. 예를 들면, 8비트의 마이크로컴퓨터(111)에 있어서는 데이터 신호선이 8개, 어드레스 신호선이 16개, 컨트롤 신호기가 3개(칩 인에이블 신호, 라이트 인에이블 신호, 리드 인에이블 신호)가 필요했다.
또한, 플래시 ROM(112)에 기입해야 하는 프로그램 데이터는 퍼스널 컴퓨터 (100) 내에 헥사 파일 등의 소정의 파일 형식으로 존재하는 경우가 많다. 그래서, 제2 방법으로 퍼스널 컴퓨터(100)로부터 플래시 ROM(112)에 프로그램 데이터를 기입하는 경우, 도 12에 도시한 바와 같이 퍼스널 컴퓨터(100)에 병설된 직렬 통신 유닛(115: RS232C 등)을 이용하고, 직렬 신호선(113)을 통해 마이크로컴퓨터(111)와 접속하고 있었다.
또한, 마이크로컴퓨터(111)에는 SIO(Serial Input/Output) 회로(114)가 내장됨과 함께, 플래시 ROM(112)의 소정 영역에는 SI0 회로(114)를 동작시키기 위한 SI0 제어 프로그램이 사전에 기입되어 있다. 퍼스널 컴퓨터(100)로부터 직렬 신호선(113)을 통해 프로그램 데이터가 전송되어 오면, SIO 회로(114)는 SIO 제어 프로그램에 따라 플래시 ROM(112)에 기입 동작을 행한다. 그러나, 상술한 시스템 구성에서는 SIO 회로(114), 직렬 통신 유닛(115: RS232C 등) 등의 특별한 외부 회로와 통신 소프트를 필요로 하고 있었다.
상술한 바와 같이 종래 마이크로컴퓨터에 내장된 프로그램 저장용 메모리인 플래시 ROM에 프로그램 데이터를 기입하는 경우, 해당 프로그램 데이터를 병렬로 기입하면 신호선의 개수가 많아지고, 직렬로 기입하는 경우에는 특별한 외부 회로나 통신 소프트를 필요로 하고 있었다.
그래서, 본 발명은 호스트(퍼스널 컴퓨터)와 주변 디바이스를 접속하여 양방향 통신 가능한 환경에 있어서 구비되어 있는 USB 케이블을 그대로 이용하고, 호스트(퍼스널 컴퓨터)로부터 마이크로컴퓨터에 내장된 플래시 ROM으로 프로그램 데이터의 기입 등을 행함과 함께, 프로그램 데이터 기입 후에는 USB 케이블을 본래의 목적인 양방향 통신에 이용하도록 하고, 특별한 직렬 라인이나 외부 회로, 통신 소프트 등은 필요로 하지 않는다.
또한, USB의 초기화 과정에서, 호스트측으로부터 디바이스를 특정하기 위해서 각 디바이스에 대하여 어드레스 데이터의 할당이 행해짐과 함께 디바이스측으로부터는 디바이스 공급자를 특정하기 위한 식별 정보(이하, 벤더 ID라 함)를 호스트측으로 송신하고, 호스트에 있어서 벤더 ID의 대조가 행해진다. 이 벤더 ID는 UIF (USB Implemental Forum)라는 기관에서 등록, 발행이 행해지고 있다. 따라서, 디바이스측에서 벤더 ID를 보유할 필요가 있지만, 그 디바이스에 최적의 보유 방법에 대해서 종래에는 충분한 검토가 이루어지지 않았다.
그래서, 본 발명은 공급자를 특정하기 위한 식별 정보를 효율적으로 보유함과 함께, 호스트측의 벤더 ID의 대조를 원활하게 행할 수 있도록 한 마이크로컴퓨터를 제공한다.
도 1은 본 발명의 실시예에 따른 마이크로컴퓨터를 나타내는 블록도.
도 2는 본 발명의 실시예에 따른 마이크로컴퓨터의 RAM 및 주변 회로를 나타내는 블록도.
도 3은 본 발명의 실시예에 따른 마이크로컴퓨터(10)의 동작을 나타내는 흐름도.
도 4는 본 발명의 제2 실시예에 따른 마이크로컴퓨터를 나타내는 블록도.
도 5는 본 발명의 제2 실시예에 따른 마이크로컴퓨터(10)의 동작을 나타내는 흐름도.
도 6은 본 발명의 제3 실시예에 따른 마이크로컴퓨터를 나타내는 블록도.
도 7은 본 발명의 제3 실시예에 따른 마이크로컴퓨터(10)의 동작을 나타내는 흐름도.
도 8은 본 발명의 제3 실시예에 따른 마이크로컴퓨터(10)의 동작을 나타내는 흐름도.
도 9는 본 발명의 제3 실시예에 따른 마이크로컴퓨터(10)의 동작을 나타내는 흐름도.
도 10은 USB를 이용한 퍼스널 컴퓨터와 주변 디바이스와의 접속 구성예를 나타내는 도면.
도 11은 종래의 플래시 ROM으로의 프로그램 데이터 기입 방법을 나타내는 도면.
도 12는 종래의 플래시 ROM으로의 프로그램 데이터 기입 방법을 나타내는 도면.
〈도면의 주요 부분에 대한 부호의 설명〉
10 : 마이크로컴퓨터
20 : 입출력 회로
30 : USB 인터페이스 회로
40 : RAM
45 : 버스
50 : 플래시 ROM
51 : 어드레스 디코더
52 : 제2 프로그램 영역
53 : 제1 프로그램 영역
60 : 프로그램 카운터
70 : CPU
본 발명의 마이크로컴퓨터는 호스트와 마이크로컴퓨터 사이의 데이터 송수신의 인터페이스를 행하는 USB 인터페이스 회로와, 전기적으로 재기입 및 판독 가능한 프로그램 저장용 불휘발성 메모리와, 상기 USB 인터페이스 회로에 의해 병렬 변환된 호스트로부터의 프로그램 데이터를 일시적으로 기억하는 데이터 메모리와, 상기 불휘발성 메모리로부터 판독되는 프로그램 명령을 실행하는 CPU를 구비한 마이크로컴퓨터에 있어서, 상기 프로그램 저장용 불휘발성 메모리는 기입 제어 프로그램이 저장된 제1 프로그램 영역과 상기 프로그램 데이터를 기입해야 할 제2 프로그램 영역을 구비하고, 상기 제1 프로그램 영역에 저장된 기입 제어 프로그램에 따라 상기 데이터 메모리에 일시적으로 기억된 프로그램 데이터를 제2 프로그램 영역에 기입하는 것을 특징으로 한다.
이에 따라, USB 케이블을 이용하여 호스트로부터 마이크로컴퓨터로 프로그램 데이터를 고속으로 기입할 수 있다.
또한, 상기 프로그램 저장용 불휘발성 메모리의 어드레스를 제어하는 프로그램 카운터를 구비하고, 마이크로컴퓨터의 리세트에 따라 상기 프로그램 카운터의 값을 상기 제1 프로그램 영역의 선두 어드레스로 점프시키는 것을 특징으로 한다. 이에 따라, 마이크로컴퓨터의 리세트에 따라 확실하게 기입 제어 프로그램을 개시시킬 수 있다.
또한, 상기 데이터 메모리는 RAM인 것을 특징으로 한다. 범용의 마이크로컴퓨터가 구비한 RAM을 유효하게 이용하기 위함이다.
또한, 상기 RAM은 USB 인터페이스 회로 및 상기 CPU로부터 액세스 가능한 것을 특징으로 한다. RAM을 유효하게 이용하기 위함이다.
또한, 상기 USB 인터페이스 회로로부터 출력되는 제1 어드레스 신호와 상기 CPU로부터 출력되는 제2 어드레스 신호를 선택하여 상기 RAM의 어드레스 디코더에 입력하는 어드레스 선택 회로를 구비하고, 상기 RAM의 데이터 영역을 USB 인터페이스 회로 및 상기 CPU로부터 액세스 가능하게 한 것을 특징으로 한다.
또한, 상기 어드레스 선택 회로는 호스트로부터의 데이터 수신 중에는 상기 USB 인터페이스 회로로부터 출력되는 제1 어드레스 신호를 선택하는 것을 특징으로 한다. 이에 따라, 호스트로부터의 데이터 수신을 우선시하여 데이터 수신을 확실하게 할 수 있다.
또한, 호스트와 마이크로컴퓨터 사이의 데이터 송수신의 인터페이스를 행하는 USB 인터페이스 회로와, 전기적으로 재기입 및 판독 가능한 프로그램 저장용 불휘발성 메모리와, 상기 불휘발성 메모리로부터 판독되는 프로그램을 실행하는 CPU를 구비한 마이크로컴퓨터에 있어서,
해당 마이크로컴퓨터의 공급자를 특정하기 위한 식별 정보를 기억하기 위한 특정한 메모리 영역을 상기 불휘발성 메모리 내에 설치하고, USB의 초기화 시에 있어서, 상기 특정 메모리 영역으로부터 판독된 상기 식별 정보를 상기 USB 인터페이스 회로를 통해 호스트에 송신하는 것을 특징으로 한다.
이에 따라, 마이크로컴퓨터의 공급자를 특정하기 위한 식별 정보를 효율적으로 보유할 수 있음과 함께, 호스트 측에서의 식별 정보의 대조가 원활하게 행해진다.
〈실시예〉
다음으로, 본 발명의 제1 실시예에 대하여 도면을 참조하여 설명한다. 도 1은 본 발명의 실시예에 따른 마이크로컴퓨터의 구성을 나타내는 블록도이다.
이하, 마이크로컴퓨터(10)는 8비트 구성으로서 설명한다. 마이크로컴퓨터 (10)와 퍼스널 컴퓨터(100)는 한 쌍의 차동 신호선에 의해 접속된다. 그리고, USB데이터, 즉, USB 차동 신호(D+, D-)는 마이크로컴퓨터(10)의 단자 P1, P2를 통해 입출력된다. 여기서, USB 차동 신호(D+, D-)는 USB 통신 프로토콜에 따른 직렬 데이터 신호이다.
참조 번호(20)는 단자 P1, P2에 접속된 입출력 회로로서, 차동 입력이 버퍼 (21), 입력 버퍼(22, 23) 및 출력 버퍼(24, 25)로 구성되어 있다. 여기서, 입력 버퍼(22, 23)는 USB 차동 신호(D+, D-)의 상태가 (L, L)이 되는 경우를 고려하여 설치되어 있다.
마이크로컴퓨터(10)에 내장된 USB 인터페이스 회로(30)는, 퍼스널 컴퓨터 (100)와의 사이의 데이터 송수신의 인터페이스를 행하는 것으로, 특히 데이터 수신 시에는 입출력 회로(20)로부터의 USB 차동 신호(D+, D-)를 받아 각종 데이터 처리를 행한다. USB 인터페이스 회로(30)는 상기 직렬 데이터 신호로부터 필요한 데이터를 추출한다. 이 때, USB 인터페이스 회로(30)는 해당 직렬 데이터 신호가 어떠한 전송 포맷인지를 판별함과 함께, 에러 신호 처리 등을 행한다. 또한, USB 인터페이스 회로(30)는 상기 데이터 처리가 실시된 직렬 신호를 마이크로컴퓨터(10)가 처리 가능한 소정 형식의 병렬 신호(예를 들면, 8비트 구성)로 변환한다.
또한, USB 인터페이스 회로(30)는 병렬 변환된 8비트×4=32비트의 프로그램 데이터를 일시적으로 기억하는 임시 레지스터(31) 및 제어 레지스터(도시되지 않음)를 구비하고 있다. 제어 레지스터에는 퍼스널 컴퓨터(100)가 호스트로서 관리해야 할 각종 데이터(디바이스에 할당되는 어드레스 데이터 등)가 세트된다.
또, USB 인터페이스 회로(30)는 마이크로컴퓨터(10)로부터 퍼스널 컴퓨터 (100)로의 데이터 송신 시에는 상기한 바와 전혀 반대의 데이터 처리(병렬 데이터로부터 직렬 데이터로의 변환 등)를 행하고 있다.
RAM(40)은 USB 인터페이스 회로(30)의 임시 레지스터(31)의 데이터로부터 순차 전송되는 32비트 단위의 프로그램 데이터를 일시적으로 기억하기 위해서 이용된다. 그리고, USB 인터페이스 회로(30)와 RAM(40)과의 사이의 데이터 전송을 행하기 위해서 전용의 32개의 신호선이 설치되어 있다. RAM(40)에 저장된 프로그램 데이터가 소정량(예를 들면, 128바이트)에 도달하면, 128바이트의 프로그램 데이터는 마이크로컴퓨터(10)의 버스(45)를 경유하여 플래시 ROM(50)으로 전송된다.
반대로, 플래시 ROM(50)에 기입된 프로그램 데이터를 RAM(40)으로 전송하고, 그 RAM(40) 내에 기억된 프로그램 데이터를 USB 인터페이스 회로(30)의 임시 레지스터(31)로 전송할 수도 있다.
일반적으로, USB 통신에 따르면 퍼스널 컴퓨터(100)로부터 대량의 데이터가 디바이스 측으로 송출되기 때문에, 디바이스측에는 특별한 데이터 버퍼를 설치하는 것이 행해진다.
이에 대하여, 본 발명에서는 마이크로컴퓨터(10)가 데이터 메모리로서 본래 갖고 있는 RAM(40)을 USB 통신에 의한 데이터를 일시적으로 기억하기 위해서 이용한다는 구성을 채택함으로써 데이터 메모리의 유효한 활용을 도모하고 있는 점도 특징이다.
도 2는 RAM(40) 및 주변 회로를 나타내는 블록도이다. USB 인터페이스 회로 (30)로부터는 어드레스 신호 ADR1, CPU(70)로부터는 어드레스 신호 ADR2가 출력되어, 어드레스 선택 회로(80)에 입력된다. 어드레스 선택 회로(80)는 어드레스 신호 ADR1, ADR2 중 어느 하나를 선택하여 어드레스 지정 회로(81)에 입력한다.
그리고, 어드레스 지정 회로(81)의 출력은 어드레스·디코더(41)에 입력되고, 어드레스 신호 ADR1, ADR2의 어느 하나에 따라 동일한 데이터 영역이 액세스 가능하게 구성되어 있다.
상술한 구성에 따르면, RAM(40)의 데이터 영역(42)은 어드레스 신호 ADR2가 선택된 경우에는 CPU(70)가 컨트롤하는 데이터 메모리 영역으로서 이용 가능함과 함께, 어드레스 신호 ADR1이 선택된 경우에는 USB 인터페이스 회로(30)로부터의 프로그램 데이터(32비트 단위)를 일시적으로 기억하기 위한 데이터 메모리 영역으로서도 이용 가능하다. 즉, RAM(40)의 데이터 영역은 CPU(70)와 USB 인터페이스 회로(30)의 양방으로부터 액세스 가능하다.
단, 상기한 어드레스 선택은 퍼스널 컴퓨터(100)와의 데이터 송수신 중에는 USB 인터페이스 회로(30)로부터의 어드레스 신호 ADR1을 선택하도록 구성되어 있다. 이는 퍼스널 컴퓨터(100)로부터의 데이터 전송을 도중에 중단할 수 없는 USB의 특성에 기초한 것이다. 구체적으로, USB 인터페이스 회로(30)의 임시 레지스터 (31)가 풀 상태가 된 것을 검지하는 신호에 기초하여 마이크로컴퓨터(10)는 웨이트 (대기) 상태로 자동적으로 고정된다.
또한, 도 1에 있어서, 참조 번호(50)는 플래시 ROM으로서, USB 제어 프로그램(구체적으로는 기입 제어 프로그램)이 사전에 기입되고, 저장된 제1 프로그램 영역(53)과, 퍼스널 컴퓨터(100)로부터의 프로그램 데이터가 RAM(40)을 경유하여 기입되는 제2 프로그램 영역(52)으로 분할되어 있다. 여기서, 제1 프로그램 영역 (53)은 재기입이 불가능하도록 라이트 프로텍트되어 있다. 또, 플래시 ROM(50)은 전기적으로 기입, 판독 및 소거 가능한 EEPROM으로 구성되어 있다. 또한, 「플래시」는 메모리의 블록 단위로 일괄 소거 가능하다는 의미이다.
참조 번호(60)는 프로그램 카운터로서, 그 출력은 플래시 ROM(50)의 어드레스 디코더(51)에 인가되어 있다. 프로그램 카운터(60)의 출력치는 후술하는 바와 같이 USB 통신 상태에 따라 CPU로부터의 명령에 의해 소정 번지로 점프한다. 즉, 퍼스널 컴퓨터(100)로부터의 프로그램 데이터의 기입 시에는 프로그램 카운터(60)는 제1 프로그램 영역(53: 기입 제어 프로그램)의 선두 어드레스인 (FF00) 번지로 점프하며, 프로그램 데이터의 기입 후에는, 제2 프로그램 영역(52)의 선두 어드레스인 (0000) 번지로 점프한다. 그리고, CPU(70)는 플래시 ROM(50)으로부터 판독되는 프로그램 명령에 따라 마이크로컴퓨터(10)의 동작을 실행한다.
다음으로, 상술된 마이크로컴퓨터(10)의 동작예에 대하여 도 3의 흐름도를 참조하여 설명한다. 우선, 최초의 단계 200에서는 마이크로컴퓨터(10)가 USB 케이블에 접속된다. 이 때, USB 케이블의 전원 라인에 의해 마이크로컴퓨터(10)에 전원이 투입됨으로써, 마이크로컴퓨터(10)가 파워 온 리세트에 의해 리세트된다.
다음으로, 단계 201에 있어서, 프로그램 카운터(60)의 값은 제1 프로그램 영역(53: 기입 제어 프로그램)의 선두 어드레스인 (FF00) 번지로 점프한다. 이에 따라, 그 후 마이크로컴퓨터(10)는 해당 기입 제어 프로그램에 따라 이하의 처리를 실행한다.
상기한 바와 같이 단계 201에 있어서 USB 케이블에 마이크로컴퓨터(10)가 접속되면, 마이크로컴퓨터(10)측에 설치된 풀-업 저항을 통해 USB 차동 신호(D+, D-)가 (L, L)로부터 예를 들면 (H, L)로 변화한다. 퍼스널 컴퓨터(100)는 이 USB 차동 신호(D+, D-)의 변화에 의해 마이크로컴퓨터(1O)가 USB 네트워크에 접속된 것을 검지하고, 소정 시간 후에 USB 버스 리세트 신호를 발행한다. 단계 202는 이 USB 버스 리세트 신호 대기 상태이다.
단계 203은 USB 버스 리세트 신호를 수신했는지의 여부를 판정하는 단계로서, NO라고 판정된 경우에는 대기 상태를 유지한다. YES라고 판정하면, 다음의 단계 204로 진행한다.
단계 204는 이뉴머레이션(Enumeration)에 의한 USB의 초기화를 행한다. 여기서, 이뉴머레이션은 일반적으로 마이크로컴퓨터(10)와 퍼스널 컴퓨터(100)와의 사이에서 USB 데이터의 송수신을 행할 수 있는 환경 설정을 행하기 위한 일련의 소프트웨어 처리이다.
이뉴머레이션에 의해 행해지는 주된 처리는 퍼스널 컴퓨터(100)의 초기화와, 퍼스널 컴퓨터(100)가 지배하는 디바이스에 어드레스를 할당하는 처리이다. 후자에 있어서, USB 인터페이스 회로(30) 내의 제어 레지스터(어드레스 레지스터) 내에, 퍼스널 컴퓨터(100)가 할당된 특정 어드레스가 기억된다. 이에 따라, 마이크로컴퓨터(10)는 퍼스널 컴퓨터(100)가 송신한 USB 패킷 내의 어드레스와 상기 어드레스 레지스터 내의 어드레스를 대조하고, 이들이 일치한 경우에만 송신된 USB 데이터의 처리를 행한다.
이렇게 해서, USB 데이터의 송수신을 행할 수 있는 환경 설정이 종료하면, 단계 205에서는 퍼스널 컴퓨터(100)로부터 플래시 ROM에 기입해야 하는 프로그램 데이터가 USB 차동 신호 데이터(D+, D-) 형태로 입력된다.
단계 206에서는 이 입력된 USB 차동 신호 데이터(D+, D-)를 USB 인터페이스 회로(30)에 의해 데이터 처리한다. 이 데이터 처리 내용은 상술한 바와 같지만, 직렬 데이터(8비트×4)를 소정의 병렬 데이터(32비트)로 변환하는 것이 그 주된 처리이다.
단계 207에서는 USB 인터페이스 회로(30)로부터 RAM(40)으로 병렬 변환된 프로그램 데이터가 기입된다. 그리고, RAM(40)으로 기입된 프로그램 데이터량이 소정량(예를 들면, 128바이트)에 도달하면, 이 소정량을 단위로 하여 RAM(40)으로부터 버스(45)를 통해 플래시 ROM(50)의 제2 프로그램 영역(52)으로 기입이 개시된다 (단계 208). 이는 플래시 ROM(50)이 복수 블록으로 분할되어 있으며, 128바이트를 블록으로 하여 구성되어 있는 것에 의한다. 따라서, RAM(40)의 데이터의 축적량은 플래시 ROM(50)의 블록 구성에 따라 적절히 선택 가능하다.
여기서, 실제로는 USB 인터페이스 회로(30)로부터 RAM(40)으로 병렬 변환된 프로그램 데이터의 기입 동작과, RAM(40)으로부터 플래시 ROM(50)으로의 기입 동작은 병행하여 행해지기 때문에, 고속 기입이 실현된다.
단계 208에 있어서, 플래시 ROM으로의 기입이 개시되지만, 이것에는 소정의 시간을 필요로 한다. 그래서, 단계 209에서는 마이크로컴퓨터(10)는 소프트적으로 NACK 상태로 세트된다. 이는 USB 패킷의 핸드 쉐이크 ·패킷의 일종으로, 호스트인 퍼스널 컴퓨터(100)로부터의 데이터를 접수할 수 없는 것을 알리기 위해서 퍼스널 컴퓨터(100)로 되돌린다.
그리고, 단계 210에서는 기입 종료인지의 여부를 판정한다. 그 판정 결과가 NO이면, NACK 상태를 유지한다. 그 판정 결과가 YES이면, ACK 상태로 세트되고, ACK는 마이크로컴퓨터(10) 측에서 데이터를 접수 가능한 것을 알리기 위해서 퍼스널 컴퓨터(100)로 되돌린다.
그리고, 다음의 단계 212에서는 플래시 ROM(50)으로의 프로그램 데이터의 기입이 전부 종료했는지를 판정한다. 그 판정 결과가 NO이면, 단계 205로 되돌아가 잔여 프로그램 데이터의 기입을 속행한다. 여기서, 프로그램 데이터의 기입은 블록(페이지) 단위(예를 들면, 128바이트)로 행해지기 때문에, 전체 페이지가 기입되기까지 이 처리는 반복된다.
판정 결과가 YES인 경우에는 프로그램 카운터(60)의 값은 제2 프로그램 영역 (52)의 선두 어드레스인 (0000) 번지로 점프한다. 그리고, 마이크로컴퓨터(10)는 퍼스널 컴퓨터(100)로부터 공급된 프로그램 데이터를 판독하고, CPU(70)는 해독된 프로그램 명령에 기초하여 마이크로컴퓨터(10)의 동작을 실행 개시한다.
또, 상술한 실시예에서는 퍼스널 컴퓨터(100)로부터 마이크로컴퓨터(10)의플래시 ROM(50)에 대하여 프로그램 데이터를 기입하는 경우에 대해서 설명했지만, 플래시 ROM(50)에 기입된 프로그램 데이터를 판독하여 퍼스널 컴퓨터(100)로 돌려 보내어 검증을 행할 수도 있다. 그 경우에는 데이터 처리의 순서는 상술한 것과 반대의 순서가 된다.
즉, 플래시 ROM(50)으로부터 판독된 프로그램 데이터는 RAM(40)에 일시적으로 기억된 후, USB 인터페이스 회로(30)로 순차적으로 전송된다. 그리고, USB 인터페이스 회로(30)에서는 기입 시와는 반대의 데이터 처리를 실시하여, 병렬 데이터를 소정의 직렬 데이터로 변환 후, USB 케이블을 통해 퍼스널 컴퓨터(100)로 송출한다.
또한, 상술한 실시예에서는 초기 상태에 있어서 프로그램 데이터를 기입해야 할 제2 프로그램 영역이 비어 있는 상태이지만, 이에 한정되지 않고 프로그램의 버전-업에 따른 프로그램의 재기입에 대해서도 마찬가지로 적용할 수 있다.
상술한 바와 같이 본 실시예에 의하면, 호스트(예를 들면, 퍼스널 컴퓨터)와 주변 디바이스와의 접속을 위한 USB 케이블을 이용하여, 호스트로부터 마이크로컴퓨터로의 프로그램 기입을 고속으로 행할 수 있다.
또한, 프로그램의 전송에 USB를 이용하고 있기 때문에, 특별한 직렬 라인이나 외부 회로, 통신 소프트 등을 필요로 하지 않을 수 있다.
또한, 프로그램 데이터를 일시적으로 기억하기 위한 데이터 메모리로서, 마이크로컴퓨터의 RAM의 데이터 영역을 이용함으로써, 특별한 데이터 버퍼를 필요로 하지 않는다고 하는 이점도 갖고 있다.
다음으로, 본 발명의 제2 실시예에 따른 마이크로컴퓨터에 대하여 설명한다. 도 4는 본 발명의 제2 실시예에 따른 마이크로컴퓨터의 구성을 나타내는 블록도이다. 본 실시예가 제1 실시예와 다른 점은 플래시 ROM(50)의 구성에 있다. 상술한 바와 같이 플래시 ROM(50) 내에는 USB 제어 프로그램(USB의 초기화 프로그램 및 프로그램 데이터의 기입 제어 프로그램)이 사전에 기입되고, 저장된 제1 프로그램 영역(53)과 퍼스널 컴퓨터(100)로부터의 프로그램 데이터가 RAM(40)을 경유하여 기입되는 제2 프로그램 영역(52)이 설치되어 있다.
본 실시예에 따르면, 제1 프로그램 영역(53)에 인접하여 벤더 ID 데이터 영역(54)도 설치되어 있다. 벤더 ID 데이터 영역(54)에는 마이크로컴퓨터의 공급자를 특정하기 위한 식별 정보 데이터가 포함되어 있다. 또, 벤더 ID 데이터 영역 (54)은 플래시 ROM 내이면, 어떤 어드레스 영역에 설치되어 있어도 좋지만, 그 어드레스는 특정되어 있어야 한다.
본 실시예에 따른 마이크로컴퓨터(10)의 동작에 대하여 도 5의 흐름도를 참조하여 설명한다. 단계 200∼203까지는 제1 실시예의 동작과 마찬가지이므로, 설명을 생략한다.
단계 204는 이뉴머레이션(Enumeration)에 의한 USB의 초기화를 행한다. 이뉴머레이션에 의해 행해지는 주된 처리는 퍼스널 컴퓨터(100)의 초기화와, 퍼스널 컴퓨터(100)가 지배하는 디바이스에 어드레스를 할당하는 처리이지만, 본 실시예에서는 이들 외에 벤더 ID의 대조가 행해진다. 벤더 ID의 대조(단계 204A)에 있어서, 플래시 ROM(50)의 벤더 ID 데이터 영역(54)으로부터 벤더 ID 데이터가 판독되고, USB 인터페이스 회로(30)를 경유하여 퍼스널 컴퓨터(100)로 송신된다. 퍼스널 컴퓨터(100) 측에서는 그 벤더 ID 데이터가 정규 등록되어 있는 것인지의 여부를 대조한다.
또한, 마이크로컴퓨터(10)는 퍼스널 컴퓨터(100)가 할당한 특정 어드레스를 USB 인터페이스 회로(30) 내의 제어 레지스터(어드레스 레지스터) 내에 기억한다. 이에 따라, 마이크로컴퓨터(10)는 USB의 초기화 후에 퍼스널 컴퓨터(100)가 송신된 USB 패킷 내의 어드레스와 상기 어드레스 레지스터 내의 어드레스를 대조하고, 이들이 일치한 경우에만 송신된 USB 데이터의 처리를 행한다.
이렇게 해서, USB 데이터의 송수신을 행할 수 있는 환경 설정이 종료하면, 단계 205에서는 퍼스널 컴퓨터(100)로부터 플래시 ROM에 기입해야 하는 프로그램 데이터가 USB 차동 신호 데이터(D+, D-) 형태로 입력된다.
이후의 단계 205∼213에 대해서는 제1 실시예와 마찬가지이므로, 설명을 생략한다.
이와 같이 본 실시예에 따르면, 마이크로컴퓨터의 공급자를 특정하기 위한 식별 정보(벤더 ID)를 기억하기 위한 특정 메모리 영역을 마이크로컴퓨터에 내장된 불휘발성 메모리 내에 설치하고, USB의 초기화 시에 그 메모리 영역으로부터 판독된 식별 정보를 호스트에 송신하도록 했기 때문에, 식별 정보를 효율적으로 보유할 수 있음과 함께, 호스트측에서의 식별 정보의 대조가 원활하게 행해진다.
다음으로, 본 발명의 제3 실시예에 따른 마이크로컴퓨터에 대하여 설명한다.도 6은 본 발명의 제3 실시예에 따른 마이크로컴퓨터의 구성을 나타내는 블록도이다. 본 실시예가 제1 실시예와 다른 점은 플래시 ROM(50)의 구성에 있다. 상술한 바와 같이 플래시 ROM(50)은 USB 제어 프로그램(기입 제어 프로그램)이 사전에 저장된 제1 프로그램 영역(53)과 퍼스널 컴퓨터(100)로부터의 프로그램 데이터가 RAM(40)을 경유하여 기입되는 제2 프로그램 영역(52)으로 분할되어 있다.
본 실시예에서는 제2 프로그램 영역(52)의 일부에는 대조용 코드 데이터 영역(52A)을 설치했다. 이 대조용 코드 데이터 영역(52A)에는 제1 프로그램 영역 (53)의 기입 제어 프로그램에 따라 퍼스널 컴퓨터(100)로부터의 프로그램 데이터가 기입된 후, 대조용 코드 데이터가 기입된다.
이 대조용 코드 데이터는 예를 들면 128K바이트의 데이터량이고, 사전에 제1 프로그램 영역(53)의 일부에 기입되어 있다. 또는 대조용 코드 데이터는 상기 프로그램 데이터에 부수하여 퍼스널 컴퓨터(100)로부터 송신하도록 해도 좋다.
이 대조용 코드 데이터 영역(52A)의 데이터가 사전에 제1 프로그램 영역(53)의 일부에 기억된 대조용 코드 데이터와 일치한 경우에는 마이크로컴퓨터는 이미 프로그램 데이터가 기입 완료된 것으로 인식하고, 다시 USB의 초기화를 행하지 않고 해당 프로그램 데이터를 실행한다.
한편, 이 대조용 코드 데이터 영역(52A)의 데이터가 사전에 제1 프로그램 영역(53)의 일부에 기억된 대조용 코드 데이터와 일치하지 않는 경우에는 USB의 초기화를 거쳐 프로그램 데이터의 기입 동작으로 이행한다.
이에 따라, 후술하는 바와 같이 프로그램의 로드 및 실행에 대하여 사용자의편리성의 향상을 도모할 수 있다.
다음으로, 상술한 마이크로컴퓨터(10)의 제어 방법에 대하여 도 7의 흐름도를 참조하여 설명한다.
제1 실시예에서 설명한 바와 같이, 최초의 단계 200에서는 마이크로컴퓨터 (10)가 USB 케이블에 접속된다. 이 때, USB 케이블의 전원 라인에 의해 마이크로컴퓨터(10)에 전원이 투입됨으로써, 마이크로컴퓨터(10)는 내장된 파워 온 리세트 회로에 의해 리세트된다.
다음으로, 단계 201에 있어서, 기입 제어 프로그램이 개시한다. 이 때, 프로그램 카운터(60)의 값은 제1 프로그램 영역(53)의 선두 어드레스인 (FF00) 번지로 점프한다. 따라서, 그 후 마이크로컴퓨터(10)는 해당 기입 제어 프로그램에 따라 이하의 처리를 실행한다.
단계 204에서는 이뉴머레이션(Enumeration)에 의한 USB의 초기화를 행한다.
이에 따라, USB 데이터의 송수신을 행할 수 있는 환경 설정이 종료하면, 단계 215에서는 퍼스널 컴퓨터(100)로부터의 프로그램 데이터의 로드를 실행한다.
단계 215의 상세는 도 8의 흐름도에 나타내지만, 단계 205∼212는 도 3에 도시한 제1 실시예의 것과 마찬가지이다.
단계 215의 실행 후, 퍼스널 컴퓨터(100)로부터 기입된 프로그램의 실행의 과정(단계 220)에 있어서, 다시 프로그램 데이터를 기입할지의 여부를 판정한다(단계 221). 그래서, YES라고 판정된 경우에는 단계 203으로 되돌아가 프로그램 데이터의 재 로드가 행해진다. 이에 따라, USB 케이블의 단속 등의 어떠한 통신 에러에 의해 프로그램 데이터의 로드에 실패한 경우에 대응할 수 있다.
그런데, 실제 사용 상태에서, 마이크로컴퓨터(10)로부터 USB 케이블을 떼어 전원 오프로 하고 나서, 다시 USB 케이블을 접속하여 전원 온으로 하는 경우를 생각하면, 이미 실행해야 할 프로그램 데이터가 로드되어 있음에도 불구하고, 도 7의 흐름도에 따르면, 기입 제어 프로그램이 기동하고, 불필요한 프로그램 단계가 실행된다고 하는 문제점이 발생한다. 이를 회피하기 위해서는 외부의 점퍼 스위치에 의해 두 개의 프로그램을 전환하는 방법을 생각할 수 있지만, 사용자에게 있어서 매우 불편하다.
그래서, 도 9의 흐름도에 도시한 바와 같이 기입 제어 프로그램의 실행 과정에서, 구체적으로는 기입 제어 프로그램 개시(단계 201) 후에, 프로그램 데이터의 기입 판정을 행하는 단계 202A를 설치했다. 즉, 제2 프로그램 영역(52)의 일부에는 대조용 코드 데이터 영역(52A)이 설치되어 있다.
이 대조용 코드 데이터 영역(52A)에는 프로그램 데이터의 기입 후(단계 215)에, 대조용 코드 데이터가 기입된다. 상술한 바와 같이 대조용 코드 데이터는 예를 들면 128K 바이트의 데이터량으로, 사전에 제1 프로그램 영역(53)의 일부에 기입되어 있어도 좋고, 또는 프로그램 데이터에 부수하여 퍼스널 컴퓨터(100)로부터 송신하도록 해도 좋다.
단계 202A에서는 대조용 코드 데이터 영역(52A)의 데이터를 판독하고, 사전에 제1 프로그램 영역(53)에 기입되어 있는지, 마이크로컴퓨터 내의 소정의 레지스터에 기억된 대조용 코드 데이터와 비교한다. 이들이 일치한 경우, 마이크로컴퓨터는 이미 프로그램 데이터가 기입 완료라고 인식하고, 다시 USB의 초기화를 행하지 않고, 해당 프로그램 데이터를 실행한다.
한편, 대조용 코드 데이터 영역(52A)의 데이터가 대조용 코드 데이터와 일치하지 않는 경우에는 USB의 초기화를 거쳐 프로그램 데이터의 기입 동작으로 이행한다. 이에 따라, 두 개의 프로그램의 전환을 소프트웨어에 의해 행할 수 있기 때문에 사용자의 편리성이 향상한다.
또한, 버전-업된 프로그램 데이터를 재기입하고자 하는 경우에는 상기한 대조용 코드 데이터 영역(52A)의 대조용 코드 데이터를 재기입하거나, 그 1비트를 삭제하는 등에 의해 대조 판정 결과는 불일치가 되기 때문에, 재 로드할 수 있다.
이와 같이 본 실시예에 따르면, 불휘발성 메모리의 일부 영역에 대조용 코드 데이터를 기입하고, 프로그램 데이터가 기입 완료됐는지의 여부를 기입 대조 판정하고 있기 때문에, 기입 제어 프로그램과 실행해야 할 프로그램의 전환을 소프트웨어에 의해 행할 수 있기 때문에, 사용자의 편리성이 향상한다는 이점을 갖고 있다.
본 발명에 따르면, 공급자를 특정하기 위한 식별 정보를 효율적으로 보유함과 함께, 호스트측의 벤더 ID의 대조를 원활하게 행할 수 있도록 한 마이크로컴퓨터를 제공한다.

Claims (16)

  1. 호스트와 마이크로컴퓨터 사이의 데이터 송수신의 인터페이스를 행하는 USB 인터페이스 회로와, 전기적으로 재기입 및 판독 가능한 프로그램 저장용 불휘발성 메모리와, 상기 USB 인터페이스 회로에 의해 병렬 변환된 호스트로부터의 프로그램 데이터를 일시적으로 기억하는 데이터 메모리와, 상기 불휘발성 메모리로부터 판독되는 프로그램 명령을 실행하는 CPU를 구비한 마이크로컴퓨터에 있어서,
    상기 프로그램 저장용 불휘발성 메모리는,
    기입 제어 프로그램이 저장된 제1 프로그램 영역과
    상기 프로그램 데이터를 기입해야 할 제2 프로그램 영역
    을 구비하고,
    상기 제1 프로그램 영역에 저장된 기입 제어 프로그램에 따라 상기 데이터 메모리에 일시적으로 기억된 프로그램 데이터를 제2 프로그램 영역에 기입하는 것을 특징으로 하는 마이크로컴퓨터.
  2. 제1항에 있어서,
    상기 프로그램 저장용 불휘발성 메모리의 어드레스를 제어하는 프로그램 카운터를 구비하고, 마이크로컴퓨터의 리세트에 따라 상기 프로그램 카운터의 값을 상기 제1 프로그램 영역의 선두 어드레스로 점프시키는 것을 특징으로 하는 마이크로컴퓨터.
  3. 제1항에 있어서,
    상기 데이터 메모리는 RAM인 것을 특징으로 하는 마이크로컴퓨터.
  4. 제3항에 있어서,
    상기 RAM은 USB 인터페이스 회로 및 상기 CPU로부터 액세스 가능한 것을 특징으로 하는 마이크로컴퓨터.
  5. 제4항에 있어서,
    상기 USB 인터페이스 회로로부터 출력되는 제1 어드레스 신호와 상기 CPU로부터 출력되는 제2 어드레스 신호를 선택하여 상기 RAM의 어드레스 디코더에 입력하는 어드레스 선택 회로를 구비하고, 상기 RAM의 데이터 영역을 USB 인터페이스 회로 및 상기 CPU로부터 액세스 가능하게 한 것을 특징으로 하는 마이크로컴퓨터.
  6. 제5항에 있어서,
    상기 어드레스 선택 회로는 호스트로부터의 데이터 수신 중에는 상기 USB 인터페이스 회로로부터 출력되는 제1 어드레스 신호를 선택하는 것을 특징으로 하는 마이크로컴퓨터.
  7. 호스트와 마이크로컴퓨터 사이의 데이터 송수신의 인터페이스를 행하는 USB인터페이스 회로와,
    상기 USB 인터페이스 회로 내에 설치되고, 데이터를 일시적으로 기억하는 송수신용 임시 레지스터와,
    마이크로컴퓨터 내의 CPU 및 상기 송수신용 임시 레지스터로부터 액세스 가능한 RAM
    을 구비하고,
    상기 임시 레지스터와 상기 RAM과의 사이에서 데이터 전송을 행하도록 한 것을 특징으로 하는 마이크로컴퓨터.
  8. 제7항에 있어서,
    상기 USB 인터페이스 회로로부터 출력되는 제1 어드레스 신호와 상기 CPU로부터 출력되는 제2 어드레스 신호를 선택하여 상기 RAM의 어드레스 디코더에 입력하는 어드레스 선택 회로를 구비하고,
    상기 RAM의 데이터 영역을 USB 인터페이스 회로 및 상기 CPU로부터 액세스 가능하게 한 것을 특징으로 하는 마이크로컴퓨터.
  9. 제8항에 있어서,
    상기 어드레스 선택 회로는 호스트로부터의 데이터 수신 중에는 상기 USB 인터페이스 회로로부터 출력되는 제1 어드레스 신호를 선택하는 것을 특징으로 하는 마이크로컴퓨터.
  10. 호스트와 마이크로컴퓨터 사이의 데이터 송수신의 인터페이스를 행하는 USB 인터페이스 회로와, 전기적으로 재기입 및 판독 가능한 프로그램 저장용 불휘발성 메모리와, 상기 불휘발성 메모리로부터 판독되는 프로그램을 실행하는 CPU를 구비한 마이크로컴퓨터에 있어서,
    해당 마이크로컴퓨터의 공급자를 특정하기 위한 식별 정보를 기억하기 위한 특정 메모리 영역을 상기 불휘발성 메모리 내에 설치하고, USB의 초기화 시에 있어서, 상기 특정 메모리 영역으로부터 판독된 상기 식별 정보를 상기 USB 인터페이스 회로를 통해 호스트에 송신하는 것을 특징으로 하는 마이크로컴퓨터.
  11. 제10항에 있어서,
    상기 불휘발성 메모리는 기입 제어 프로그램이 저장된 제1 프로그램 영역과 프로그램 데이터가 기입되는 제2 프로그램 영역을 구비하고, 상기 제1 프로그램 영역에 저장된 기입 제어 프로그램에 따라 프로그램 데이터를 제2 프로그램 영역에 기입하는 것을 특징으로 하는 마이크로컴퓨터.
  12. 제11항에 있어서,
    상기 식별 정보가 기억되는 상기 불휘발성 메모리의 특정 메모리 영역은 상기 제1 프로그램 영역에 인접하여 설치된 메모리 영역인 것을 특징으로 하는 마이크로컴퓨터.
  13. 호스트와 마이크로컴퓨터 사이의 데이터 송수신의 인터페이스를 행하는 USB 인터페이스 회로와, 기입 제어 프로그램이 저장된 제1 프로그램 영역 및 프로그램 데이터가 기입되는 제2 프로그램 영역을 구비하고, 전기적으로 기입 및 판독 가능한 불휘발성 메모리와, 상기 불휘발성 메모리로부터 판독되는 프로그램을 실행하는 CPU를 구비한 마이크로컴퓨터의 제어 방법에 있어서,
    마이크로컴퓨터의 리세트에 따라 상기 기입 제어 프로그램의 실행을 개시하는 제1 단계와,
    상기 USB의 초기화를 실행하는 제2 단계와,
    상기 호스트로부터 프로그램 데이터를 상기 불휘발성 메모리의 제2 프로그램 영역에 기입하는 제3 단계와,
    상기 제2 프로그램 영역에 기입된 프로그램을 실행하는 제4 단계를 포함하는 것을 특징으로 하는 마이크로컴퓨터의 제어 방법.
  14. 제13항에 있어서,
    상기 마이크로컴퓨터의 리세트는 파워 온 리세트인 것을 특징으로 하는 마이크로컴퓨터의 제어 방법.
  15. 제13항에 있어서,
    상기 제4 단계 후, 상기 호스트로부터 프로그램 데이터를 재기입하는지의 여부를 판정하는 단계를 포함하고, 재기입하는 경우에는 상기 제1 단계부터 제4 단계를 다시 반복함으로써 상기 호스트로부터 프로그램 데이터를 상기 불휘발성 메모리의 제2 프로그램 영역에 재기입하고, 해당 재기입 후의 프로그램을 실행하는 것을 특징으로 하는 마이크로컴퓨터의 제어 방법.
  16. 제13항에 있어서,
    상기 제3 단계 후, 상기 제2 프로그램 영역 내의 특정 영역에 대조용 코드 데이터를 기입하는 단계를 포함함과 함께, 상기 제1 단계 후, 상기 특정 영역의 데이터와 대조용 코드 데이터를 비교하는 단계를 포함하고, 양자가 일치하지 않는 경우에는 상기 제3 단계로 이행하고, 양자가 일치한 경우에는 상기 호스트로부터 프로그램 데이터를 상기 불휘발성 메모리의 제2 프로그램 영역에 재기입하지 않고 상기 제2 프로그램 영역에 기입된 프로그램을 실행하는 것을 특징으로 하는 마이크로컴퓨터의 제어 방법.
KR1020010069143A 2000-11-10 2001-11-07 마이크로컴퓨터 및 그 제어 방법 KR20020036717A (ko)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
JPJP-P-2000-00342848 2000-11-10
JP2000342848A JP4988982B2 (ja) 2000-11-10 2000-11-10 マイクロコンピュータの制御方法
JP2000342847A JP4860811B2 (ja) 2000-11-10 2000-11-10 マイクロコンピュータ
JPJP-P-2000-00342849 2000-11-10
JPJP-P-2000-00342847 2000-11-10
JP2000342846A JP5010065B2 (ja) 2000-11-10 2000-11-10 マイクロコンピュータ
JP2000342849A JP4793798B2 (ja) 2000-11-10 2000-11-10 マイクロコンピュータ
JPJP-P-2000-00342846 2000-11-10

Publications (1)

Publication Number Publication Date
KR20020036717A true KR20020036717A (ko) 2002-05-16

Family

ID=27481766

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010069143A KR20020036717A (ko) 2000-11-10 2001-11-07 마이크로컴퓨터 및 그 제어 방법

Country Status (5)

Country Link
US (1) US6954815B2 (ko)
EP (1) EP1205845B1 (ko)
KR (1) KR20020036717A (ko)
CN (2) CN1265275C (ko)
TW (1) TWI233040B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100652538B1 (ko) * 2003-10-01 2006-12-06 가부시끼가이샤 도시바 마이크로 컴퓨터

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100495657B1 (ko) * 2002-05-03 2005-06-16 삼성전자주식회사 복수의 통신 모드들을 갖는 집적 회로 장치 및 그것의동작 방법
JP2005275907A (ja) * 2004-03-25 2005-10-06 Toshiba Corp 電子機器および同機器の記憶媒体ユニット制御方法
JP2005309839A (ja) * 2004-04-22 2005-11-04 Sanyo Electric Co Ltd 制御装置
JP2006039206A (ja) * 2004-07-27 2006-02-09 Canon Inc 暗号化装置および復号化装置
JP4896397B2 (ja) * 2004-12-28 2012-03-14 富士通株式会社 プログラム、制限方法及びコンピュータ
AT501846B1 (de) * 2005-02-16 2007-08-15 Fronius Int Gmbh Einrichtung und verfahren zur durchführung von software-updates in wechselrichtern und für software-updates ausgelegter wechselrichter
GB2439579A (en) 2006-06-30 2008-01-02 Advanced Risc Mach Ltd Target device programmer
JP2008090569A (ja) 2006-10-02 2008-04-17 Sony Corp 電子機器及び電子機器の冷却方法
ES2338509B1 (es) * 2008-02-01 2011-03-04 Intelligent Data, S.L. Microcomputador biometrico.
DE102008035103B4 (de) * 2008-07-28 2017-01-05 Fujitsu Technology Solutions Intellectual Property Gmbh Schnittstellenüberwachungsvorrichtung, Verwendung in einem Computersystem und Verfahren zum Überwachen eines differenziellen Schnittstellenanschlusses
JP4798258B2 (ja) * 2009-06-08 2011-10-19 パナソニック株式会社 無線lan装置および無線lanアダプタ
JP2012252567A (ja) * 2011-06-03 2012-12-20 Renesas Electronics Corp データ処理システム
CN104090855B (zh) * 2014-06-09 2017-08-04 青岛海信移动通信技术股份有限公司 Usb接口的usb模式和mhl模式的兼容方法和装置
RU208803U1 (ru) * 2021-08-12 2022-01-13 Акционерное общество «НАУЧНО-ПРОИЗВОДСТВЕННАЯ КОМПАНИЯ «АТРОНИК» (АО «НПК «АТРОНИК») Модуль центрального процессора

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08227359A (ja) * 1994-12-09 1996-09-03 Olympus Optical Co Ltd ワンチップマイコンが組み込まれた電子システム装置
JPH09251447A (ja) * 1996-03-14 1997-09-22 Sanyo Electric Co Ltd マイクロコンピュータ
KR19980042796A (ko) * 1996-11-28 1998-08-17 가네꼬히사시 플래쉬 eeprom 을 구비하는 마이크로컴퓨터및 플래쉬 eeprom 의 소거방법
KR20000050874A (ko) * 1999-01-15 2000-08-05 윤종용 플래시 롬을 이용한 에뮬레이터를 포함한 마이콤 개발 시스템 및 펌웨어 업그레이드 방법
KR20000052472A (ko) * 1998-12-14 2000-08-25 가네코 히사시 플래시 메모리 탑재형 싱글 칩 마이크로 컴퓨터

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6219736B1 (en) * 1997-04-24 2001-04-17 Edwin E. Klingman Universal serial bus (USB) RAM architecture for use with microcomputers via an interface optimized for integrated services device network (ISDN)
US6012103A (en) 1997-07-02 2000-01-04 Cypress Semiconductor Corp. Bus interface system and method
US6073205A (en) * 1997-07-10 2000-06-06 National Instruments Corporation System and method of write posting in a universal serial bus system
TW345292U (en) * 1997-08-09 1998-11-11 Siemens Telecomm System Ltd Controller with universal serial bus
US6000042A (en) * 1997-08-25 1999-12-07 3Com Corporation Fault detection on a dual supply system for a universal serial bus system
JP3782226B2 (ja) 1998-01-08 2006-06-07 株式会社東芝 コンピュータシステムおよびusbコントローラ
JP3562563B2 (ja) * 1998-06-12 2004-09-08 ティアック株式会社 交換型記録媒体を使用するデ−タ蓄積装置
WO2000017749A1 (en) 1998-09-24 2000-03-30 Ericsson Inc. Remote firmware upgrade

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08227359A (ja) * 1994-12-09 1996-09-03 Olympus Optical Co Ltd ワンチップマイコンが組み込まれた電子システム装置
JPH09251447A (ja) * 1996-03-14 1997-09-22 Sanyo Electric Co Ltd マイクロコンピュータ
KR19980042796A (ko) * 1996-11-28 1998-08-17 가네꼬히사시 플래쉬 eeprom 을 구비하는 마이크로컴퓨터및 플래쉬 eeprom 의 소거방법
KR20000052472A (ko) * 1998-12-14 2000-08-25 가네코 히사시 플래시 메모리 탑재형 싱글 칩 마이크로 컴퓨터
KR20000050874A (ko) * 1999-01-15 2000-08-05 윤종용 플래시 롬을 이용한 에뮬레이터를 포함한 마이콤 개발 시스템 및 펌웨어 업그레이드 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100652538B1 (ko) * 2003-10-01 2006-12-06 가부시끼가이샤 도시바 마이크로 컴퓨터
US7281103B2 (en) 2003-10-01 2007-10-09 Kabushiki Kaisha Toshiba Microcomputer with a security function for accessing a program storage memory

Also Published As

Publication number Publication date
EP1205845B1 (en) 2012-08-29
EP1205845A3 (en) 2006-11-29
CN1353370A (zh) 2002-06-12
TWI233040B (en) 2005-05-21
CN1162786C (zh) 2004-08-18
US6954815B2 (en) 2005-10-11
US20020059494A1 (en) 2002-05-16
CN1265275C (zh) 2006-07-19
CN1549103A (zh) 2004-11-24
EP1205845A2 (en) 2002-05-15

Similar Documents

Publication Publication Date Title
US10747299B2 (en) Card and host apparatus
US6792501B2 (en) Universal serial bus flash memory integrated circuit device
US20100174866A1 (en) Memory device, electronic device, and host apparatus
US7177975B2 (en) Card system with erase tagging hierarchy and group based write protection
US5648929A (en) Flash memory card
JP2724046B2 (ja) Icメモリカードシステム
US5930818A (en) Information communication system which transmits main data and data for restoring the main data
US6954815B2 (en) Microcomputer with universal serial bus interface circuit and method of controlling the same
JP2003132305A (ja) メモリカードを制御するための装置および方法
US8904094B2 (en) Memory system in which extended function can easily be set
US20040049617A1 (en) Method of firmware update by USB interface
KR20080078977A (ko) Mmc 또는 sd 프로토콜을 사용하는 다수의 메모리장치들을 인터페이스하는 방법 및 시스템
KR20040086502A (ko) 외부 접속 기기, 호스트 기기 및 데이터 통신 시스템
US9052836B2 (en) Memory system in which extension function can easily be set
JP5010065B2 (ja) マイクロコンピュータ
WO2001020541A1 (fr) Dispositif recreatif, dispositif de traitement de donnees et memoire portable
JP4793798B2 (ja) マイクロコンピュータ
US8930613B2 (en) Memory system in which extended function can easily be set
JP4988982B2 (ja) マイクロコンピュータの制御方法
KR20010000941A (ko) 스마트미디어 카드 독출/기입 장치 및 그 방법
JP2008123450A (ja) 記録媒体及びメモリアクセス可能な電子機器
JP4860811B2 (ja) マイクロコンピュータ
JP2001117778A (ja) ファームウェア書き換え機能を備えたusb装置
JP2002008382A (ja) メモリの書き込み装置
US20140013049A1 (en) Memory system in which extended function can easily be set

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B601 Maintenance of original decision after re-examination before a trial
E801 Decision on dismissal of amendment
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20050218

Effective date: 20060428