KR100423017B1 - 마이크로컴퓨터 - Google Patents

마이크로컴퓨터 Download PDF

Info

Publication number
KR100423017B1
KR100423017B1 KR10-2001-0069677A KR20010069677A KR100423017B1 KR 100423017 B1 KR100423017 B1 KR 100423017B1 KR 20010069677 A KR20010069677 A KR 20010069677A KR 100423017 B1 KR100423017 B1 KR 100423017B1
Authority
KR
South Korea
Prior art keywords
oscillator
usb
microcomputer
reset signal
output
Prior art date
Application number
KR10-2001-0069677A
Other languages
English (en)
Other versions
KR20020036748A (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 산요덴키가부시키가이샤
Publication of KR20020036748A publication Critical patent/KR20020036748A/ko
Application granted granted Critical
Publication of KR100423017B1 publication Critical patent/KR100423017B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means

Abstract

버스 리세트 신호의 발행 후에 통신 데이터를 바로 송출한 경우에 있어서도, 통신 데이터를 확실하게 수신할 수 있는 마이크로컴퓨터를 제공한다.
USB 신호선이 접속되는 단자와 겸용된 출력 단자 P1과, USB 신호선으로부터의 전원 공급을 받아서 리세트 신호 RES를 발생하는 파워 온 리세트 회로(80)와, 리세트 신호 RES에 응답하여 발진을 즉시 개시하는 RC 발진기(81)를 설치한다. RC 발진기(81)의 출력을 시스템 클럭용으로 하여 마이크로컴퓨터를 동작시키고 출력 단자 P1의 레벨 설정을 행함으로써, USB 인터페이스 회로(30)가 호스트로부터의 버스 리세트 신호에 응답할 수 있을 때까지의 기간 동안, USB 신호선(110, 111)을 비접속 상태의 레벨로 강제 설정한다.

Description

마이크로컴퓨터{MICROCOMPUTER}
본 발명은 USB 신호선을 통해 호스트와 마이크로컴퓨터 사이의 데이터 송수신의 인터페이스를 행하는 USB 인터페이스 회로를 구비한 마이크로컴퓨터에 관한 것이다.
최근, 퍼스널 컴퓨터 등에 있어서 주변 디바이스의 확장성의 자유도를 높이기 위해서, USB(Universal Serial Bus)가 지원되고 있다. USB는 사용자의 편리성을 고려하여 고안된 직렬 인터페이스 규격으로서, 키보드, 마우스, 카메라, 프린터, 스캐너, 스피커 등의 다양한 주변 디바이스와 퍼스널 컴퓨터 등과의 통신에 공통으로 사용할 수 있다.
도 4는 USB를 이용한 퍼스널 컴퓨터와 주변 디바이스와의 접속 구성예를 나타내는 도면이다. 상위의 퍼스널 컴퓨터(PC: 100)와 허브(101)는 USB 케이블로 접속되며, 또한 허브(101)의 하위에는 복수의 주변 디바이스(102 ∼ 105)가 접속될 수 있다. 그리고, 퍼스널 컴퓨터(100)에 의해 주변 디바이스(102 ∼ 105)가 관리되는 구조로 되어 있다. 이와 같이, USB는 다중 스타형 네트워크(multiple star network) 구조의 쌍방향 통신이 가능한 직렬 버스라고 할 수 있다.
여기서, USB 케이블에는 4개의 신호선이 포함되며, 2개의 전원용 신호선과, 2개의 데이터 신호용 신호선이 있다. 데이터 신호는 기본적으로는 차동 신호 D+, D-로서 처리된다. 또한, USB를 이용한 데이터 전송은 프레임 단위로 시간 분할되며 그 프레임을 누적해감으로써 행해진다.
하나의 프레임은 SOF(Start Of Frame) 패킷에 의해 개시한다. 그리고, 호스트인 퍼스널 컴퓨터는 사전에 그 프레임 중에 스케쥴링된 데이터 전송 요구 토큰(키보드나 카메라로부터의 데이터 입력 요구나 음성 데이터의 출력 요구)을 순차적으로 송출함으로써, 복수의 주변 디바이스와의 데이터 전송을 병행하여 행한다.
또, USB에 관한 기술 문헌으로서, 예를 들면 「Interface」(1997년 1월호), 특개평 11-205412호 공보 등이 있다.
디바이스가 USB 케이블에 접속되면, 퍼스널 컴퓨터(100)는 데이터 신호선의상태 변화(2개의 신호선 중 한쪽이 풀다운 상태에서 풀업 상태로 변화한다)를 인식하여, 디바이스의 전원 투입을 검출한다. 그리고, 퍼스널 컴퓨터(100)는 데이터 통신에 앞서 버스 리세트 신호를 발생한다. 이 버스 리세트 신호를 받으면, 디바이스는 일정 시간 동안 초기화를 행하였다.
그러나, 이러한 초기화에는 상당한 시간을 필요로 하기 때문에, 버스 리세트 신호의 발생 후에 송신되어 오는 통신 데이터를 디바이스측에서 수신할 수 없는 경우가 있었다. 특히, 마이크로컴퓨터의 경우에는 전원 투입에 의해 파워 온 리세트에 의한 초기화가 행해진다. 이러한 초기화의 과정에서, USB에 대응한 동기 시스템 클럭 생성용 수정 발진기의 동작이 안정되기까지는 상당한 시간을 필요로 한다.
그러나, 퍼스널 컴퓨터(100)가 버스 리세트 신호를 발행한 직후에 통신 데이터가 전송되어 오는 경우에는, 마이크로컴퓨터의 시스템 클럭이 불안정하기 때문에 그 통신 데이터를 정상적으로 수신할 수 없는 경우가 있었다.
따라서, 본 발명의 목적은, 마이크로컴퓨터가 USB 케이블에 접속된 것을 호스트인 퍼스널 컴퓨터가 인식하고, 버스 리세트 신호의 발행 후에 즉시 통신 데이터를 송출한 경우에 있어서도, 통신 데이터를 확실하게 수신할 수 있는 USB 인터페이스를 구비한 마이크로컴퓨터를 제공하는 것이다.
도 1은 본 발명이 적용되는 USB 시스템 전체의 구성을 나타내는 도면.
도 2는 본 발명의 실시예에 따른 마이크로컴퓨터를 나타내는 블록도.
도 3은 본 발명의 실시예에 따른 마이크로컴퓨터(10)의 동작예를 나타내는 흐름도.
도 4는 USB를 이용한 퍼스널 컴퓨터와 주변 디바이스와의 접속 구성예를 나타내는 도면.
<도면의 주요 부분에 대한 부호의 설명>
10 : 마이크로컴퓨터
30 : USB 인터페이스 회로
31 : 제1 출력 회로
32 : 제2 출력 회로
40 : RAM
41 : 버스
50 : 플래시 ROM
51 : 어드레스 디코더
52 : 제1 프로그램 영역
53 : 제2 프로그램 영역
60 : 프로그램 카운터
70 : CPU
80 : 파워 온 리세트
81 : RC 발진기
82 : 수정 발진기(XTAL)
83 : PLL
84 : 선택 회로
85 : OR 회로
86 : 클럭 생성 회로
본 발명의 마이크로컴퓨터는, USB 신호선을 통해 호스트와 마이크로컴퓨터 사이의 데이터 송수신의 인터페이스를 행하는 USB 인터페이스 회로를 구비한 마이크로컴퓨터로서, 상기 USB 인터페이스 회로가 호스트로부터의 버스 리세트 신호에응답할 수 있을 때까지의 기간 동안, 상기 USB 신호선을 비접속 상태의 레벨로 설정하는 상태 설정 수단을 구비한 것을 특징으로 한다.
이에 따라, 마이크로컴퓨터가 USB 신호선에 접속된 것을 호스트가 인식하고, 버스 리세트 신호의 발행 후에 즉시 통신 데이터를 송출한 경우에 있어서도 통신 데이터를 확실하게 수신할 수 있다.
또한, 상기 상태 설정 수단은, 상기 USB 신호선이 접속되는 단자와 겸용된 출력 단자와, 상기 USB 신호로부터 전원 공급을 받아서 리세트 신호를 발생하는 리세트 신호 발생 회로와, 상기 리세트 신호에 응답하여 발진을 즉시 개시하는 제1 발진기를 구비하고, 상기 제1 발진기의 출력을 시스템 클럭용으로 하여 마이크로컴퓨터를 동작시켜서, 상기 출력 단자의 레벨 설정을 행함으로써, 상기 USB 신호선을 비접속 상태의 레벨로 강제 설정하는 것을 특징으로 한다.
이러한 구성에 따르면, 마이크로컴퓨터의 기능을 이용하여 소프트웨어적으로 상태 설정을 행할 수 있기 때문에 특별한 타이밍 회로 등이 불필요하다는 이점이 있다. 또한, 상기 USB 신호선이 접속되는 단자와 겸용된 출력 단자를 갖고 있기 때문에, 출력 단자를 유효하게 활용할 수 있다는 이점도 있다.
또한, 상기 리세트 신호에 응답하여 발진을 개시하고, 상기 제1 발진기에 비하여 발진 주파수가 안정적이며, 또한 발진 개시 시간이 긴 제2 발진기와, 상기 제1 및 제2 발진기의 출력을 선택하여 시스템 클럭용으로서 출력하는 선택 회로를 구비하고, 상기 리세트 신호에 응답하여 상기 선택 회로는 제1 발진기의 출력을 선택함과 함께, 상기 제2 발진기의 발진 상태가 안정화된 후에 상기 제2 발진기의 출력을 선택하는 것을 특징으로 한다.
이러한 구성에 따르면, 제2 발진기의 발진 상태가 안정화될 때까지는 제1 발진기의 출력을 시스템 클럭으로서 이용하여 USB 신호선의 상태 설정을 행하고, 제2 발진기의 발진 상태가 안정화된 후에는 USB 통신용 시스템 클럭으로서 이용할 수 있다.
<실시예>
다음에, 본 발명의 실시예에 대하여 도면을 참조하면서 설명한다. 도 1은 본 발명이 적용되는 USB 시스템 전체의 구성을 나타내는 도면이다. 퍼스널 컴퓨터(100)와 마이크로컴퓨터(10) 내의 USB 인터페이스 회로(30)는 USB 케이블에 의해 접속되며, 그 사이에는 허브(101)가 개재되어 있다. 한쌍의 USB 신호선(110, 111)은 풀다운 저항(112, 113)에 의해 풀다운되어 있다.
여기서, USB 케이블이 커넥터(도시하지 않음)를 통해 마이크로컴퓨터(10)가 탑재된 기판(116)에 접속되면, 예를 들면 한쪽의 USB 신호선 D+이 기판(115)에 설치된 풀업 저항(114)을 통해 전원 전위 VDD로 풀업됨과 함께, 마이크로컴퓨터(10)에는 조정기(115)를 통해 소정의 전원 전위(예를 들면, 3.3V)가 공급된다.
이에 따라, 퍼스널 컴퓨터(100)는 USB 신호선(111)의 상태가 로우 레벨에서 하이 레벨로 변화한 것을 검지하여 USB 케이블이 마이크로컴퓨터(10)에 접속된 것을 알 수 있다. 즉, 한쌍의 USB 신호선(110, 111)은 통신 데이터의 전송로로서 기능할뿐만 아니라, 디바이스의 접속 상태를 퍼스널 컴퓨터(100)에 알리는 기능을 한다.
또한, USB 신호선(110, 111)의 상태 변화는 디바이스의 종류를 나타내는 것으로 퍼스널 컴퓨터(100)에 알려진다. 즉, USB 신호선(110)이 로우 레벨로부터 하이 레벨로 변화한 경우에는 고속의 디바이스이고, USB 신호선(111)이 로우 레벨로부터 하이 레벨로 변화한 경우에는 저속의 디바이스이다.
USB 신호선(110)의 상태 변화를 검지한 퍼스널 컴퓨터(100)는 버스 리세트 신호를 발생한다. 한편, 전원 투입에 따라 마이크로컴퓨터(10)는 초기화를 행하고 있지만, 버스 리세트 신호의 발생 직후에 통신 데이터가 전송되어 오는 경우에는, 시스템 클럭이 아직 불안정하기 때문에 통신 데이터를 정상으로 수신할 수 없다.
따라서, 본 발명에 따르면, 마이크로컴퓨터(10)가 USB 신호선(110, 111)을 의사적으로 비접속 상태의 레벨로 설정하도록 하였다. 즉, USB 신호선(110, 111)이 마이크로컴퓨터(10)에 접속되어 있는 것에 관계없이, 시스템 클럭이 안정될 때까지의 기간 동안, USB 신호선의 상태 변화가 생기지 않도록 설정한 것이다.
이하, 본 발명의 실시예에 따른 마이크로컴퓨터의 구성에 대하여 상세히 설명한다. 도 2는 본 발명의 실시예에 따른 마이크로컴퓨터의 구성을 나타내는 블록도이다. 마이크로컴퓨터(10)는 8 비트 구성으로서 설명한다.
상술한 바와 같이, 마이크로컴퓨터(10)와 퍼스널 컴퓨터(100)는 한쌍의 USB 신호선(110, 111)에 의해 접속된다. 그리고, USB 신호선(110, 111) 상의 USB 차동 신호 D+, D-는 마이크로컴퓨터(10)의 단자 P1, P2를 통해 입출력된다.
마이크로컴퓨터(10)에 내장된 USB 인터페이스 회로(30)는 퍼스널 컴퓨터(100)와의 데이터 송수신의 인터페이스를 행하는 것으로, 특히 데이터 수신 시에는 입력 회로(도시하지 않음)를 통해 USB 차동 신호 D+, D-를 수신하여 각종 데이터 처리를 행한다. USB 차동 신호 D+, D-는 USB 통신 프로토콜에 기초한 직렬 데이터 신호이다.
USB 인터페이스 회로(30)는 상기 직렬 데이터 신호로부터 필요한 데이터를 추출한다. 이 때, USB 인터페이스 회로(30)는 해당 직렬 데이터 신호가 어떠한 전송 포맷인지를 판별함과 함께 에러 신호 처리 등을 행한다. 또한 USB 인터페이스 회로(30)는 상기 데이터 처리가 실시된 직렬 신호를 마이크로컴퓨터(100)가 처리 가능한 소정 형식의 병렬 신호(예를 들면, 8 비트 구성)로 변화한다.
또한, USB 인터페이스 회로(30)는 병렬 변환된 8비트×4=32비트의 프로그램 데이터를 일시 기억하는 임시 레지스터(31) 및 제어 레지스터(도시하지 않음)를 구비하고 있다. 제어 레지스터에는 퍼스널 컴퓨터(100)가 호스트로서 관리해야 할 각종 데이터(디바이스에 할당되는 어드레스 데이터 등)가 세트된다.
상기한 단자 P1, P2는 마이크로컴퓨터의 출력 단자를 겸하고 있다. 즉, 단자 P1에는 제1 출력 회로(31)가 접속되고, 단자(P2)에는 제2 출력 회로(32)가 접속되며, 마이크로컴퓨터의 프로그램 동작에 따라 단자 P1, P2의 상태를 소프트웨어적으로 레벨 설정 가능하게 구성되어 있다.
RAM(40)은 USB 인터페이스 회로(30)의 임시 레지스터(31)의 데이터로부터 순차적으로 전송되는 32비트 단위의 프로그램 데이터를 일시적으로 기억하기 위해서 이용된다. 그리고, USB 인터페이스 회로(30)와 RAM(40) 사이의 데이터 전송을 행하기 위해서 32개의 전용 신호선이 설치되어 있다. RAM(40)에 축적된 프로그램 데이터가 소정량(예를 들면, 128 바이트)에 도달하면, 128 바이트의 프로그램 데이터는 마이크로컴퓨터(10)의 버스(41)를 경유하여 후술하는 플래시 ROM(50)으로 전송된다.
이와 반대로, 플래시 ROM(50)에 기입된 프로그램 데이터를 RAM(40)으로 전송하고, 그 RAM(40) 내에 기억된 프로그램 데이터를 USB 인터페이스 회로(30)의 임시 레지스터(31)로 전송하는 것도 가능하다.
도면에서 참조 부호 50은 플래시 ROM으로서, USB 제어 프로그램(구체적으로는 기입 제어 프로그램)이 사전에 기입되어, 저장된 제1 프로그램 영역(53)과, 퍼스널 컴퓨터(100)로부터의 프로그램 데이터가 RAM(40)을 경유하여 기입되는 제2 프로그램 영역(52)으로 분할되어 있다. 여기서, 플래시 ROM(50)은 전기적으로 기입, 판독 및 소거가 가능한 EEPROM으로 구성될 수 있다. 또한, 「플래시」란 메모리의 블록 단위로 일괄 소거 가능하다는 의미이다.
참조 부호 60은 프로그램 카운터로서, 그 출력은 플래시 ROM(50)의 어드레스 디코더(51)에 인가되고 있다. 프로그램 카운터(60)의 출력값은 후술하는 바와 같이 USB 통신의 상태에 따라 CPU(70)로부터의 명령에 의해 소정 번지로 점프한다. 즉, 퍼스널 컴퓨터(100)로부터 입력되는 프로그램 데이터의 기입 시에는, 프로그램 카운터(60)는 제1 프로그램 영역(기입 제어 프로그램)(52)의 선두 어드레스인 (FF00) 번지로 점프함과 함께, 프로그램 데이터의 기입 후에는 제2 프로그램 영역(53)의 선두 어드레스인 (0000)번지로 점프한다. 그리고, CPU(70)는 플래시 ROM(50)으로부터 판독되는 프로그램 명령에 따라 마이크로컴퓨터(10)의 동작을 실행시킨다.
참조 부호 80은 파워 온 리세트 회로로서, 마이크로컴퓨터(10)의 전원 투입에 따라 전원 전위의 상승을 검지하여 하이 레벨로 상승하고, 전원 전위가 소정의 레벨로 되면 로우 레벨로 해제되는 리세트 신호 RES를 발생한다.
참조 부호 81은 RC 발진기(제1 발진기)로서, 리세트 신호 RES에 응답하여 발진을 바로 개시한다. 한편, 참조 부호 82는 수정 발진기(XTAL)(제2 발진기)로서 리세트 신호 RES에 응답하여 발진을 개시한다. 수정 발진기(82)는 발진 주파수가 매우 안정되어 있어 USB 통신에 적합하다. 그리고, 발진 개시 시간이 비교적 길다는 특성을 갖고 있다. 수정 발진기(82)의 주파수는 32KHz이기 때문에, PLL(83)에 의해 USB 통신에 필요한 6㎒의 동기 클럭으로 변환된다. 또, 수정 발진기(82)를 대신하여 6㎒의 CF 발진기를 이용하면 PLL(83)은 불필요하다.
선택 회로(84)는 OR 회로(85)의 출력에 응답하여 RC 발진기(81)와 수정 발진기(82)의 출력 중의 어느 한쪽을 선택하여 출력하는 멀티플렉서이다. 여기서, OR 회로(가산 회로)(85)에는 리세트 신호 RES 및 CPU(70)로부터의 지연 리세트 신호 DRES가 입력된다. 지연 리세트 신호 DRES는 파워 온 리세트 회로(80)로부터의 리세트 신호 RES를 지연시킨 신호로서, 리세트 신호 RES가 로우 레벨로 해제된 후, 일정 기간 동안 하이 레벨을 유지하는 신호이다. 즉, 선택 회로(84)는 OR회로(85)의 출력이 하이 레벨인 경우에는 RC 발진기(81)의 출력을 선택하고, 한편 OR 회로(85)의 출력이 로우 레벨인 경우에는 수정 발진기(82)의 출력을 선택하도록 구성되어 있다.
또한, 클럭 생성 회로(86)는 선택 회로(84)의 출력에 기초하여 마이크로컴퓨터(10)를 동작시키기 위해서 필요한 복수의 시스템 클럭 SCLK를 생성한다.
다음에, 상술한 마이크로컴퓨터(10)의 동작예에 대하여 도 3의 흐름도를 참조하여 설명한다. 우선, 처음 단계 200에서는 마이크로컴퓨터(10)가 USB 케이블에 접속된다. 이 때, USB 케이블의 전원 라인에 의해 마이크로컴퓨터(10)에 전원이 투입됨으로써, 파워 온 리세트 회로(80)가 동작하여 리세트 신호 RES(하이 레벨)가 발생된다.
이에 따라, RC 발진기(81)가 즉시 발진을 개시한다. 이 때, OR 회로(85)는 하이 레벨을 출력한다. 이에 따라, 선택 회로(84)는 RC 발진기(81)의 출력을 선택한다. 이러한 발진 출력에 기초하여, 클럭 생성 회로(86)에 의해 시스템 클럭 SCLK가 생성된다. 그리고, 이 시스템 클럭 SCLK에 응답하여 프로그램 카운터(80) 및 CPU(70)가 동작을 개시한다.
우선, 단계 201에서 프로그램 카운터(60)의 값은 제1 프로그램 영역(기입 제어 프로그램)의 선두 어드레스인 (FF00) 번지로 점프한다. 따라서, 그 후, 마이크로컴퓨터(10)는 해당 기입 제어 프로그램에 따라 이하의 처리를 실행한다.
단계 202에서, 제1 출력 회로(31)로부터 단자 P1에 로우 레벨을 출력한다. 제1 출력 회로(31)는 충분히 낮은 임피던스를 갖는다고 가정한다. 이 때, USB 신호선(111)은 풀업되어 있지만, 제1 출력 회로(31)의 로우 레벨의 출력에 의해, 강제적으로 로우 레벨로 설정된다. 이에 따라, 퍼스널 컴퓨터(100)는 USB 신호선(110, 111)이 비접속 상태라고 인식하기 때문에, 이 상태에서는 버스 리세트 신호는 발생되지 않는다.
이러한 강제 설정의 기간은 리세트 신호 RES 및 CPU(70)로부터의 지연 리세트 신호 DRES에 의해서 규정된다. 지연 리세트 신호 DRES는 리세트 신호 RES의 발생 후에 소정 기간 동안, 선택 회로(40)의 선택 상태(즉, RC 발진 회로(81)의 출력이 선택된 상태)를 유지하기 위한 신호이다. 이 지연 리세트 신호 DRES가 로우 레벨로 해제되면, 선택 회로(40)는 수정 발진기(XTAL)(82)의 출력을 선택한다. 상기한 소정 기간은 수정 발진기(82)의 발진 안정 기간을 고려하여 설정할 수 있다.
그리고, 단계 203에서, 제1 출력 회로(31)는 하이 임피던스로 설정됨으로써, 단자 P1의 강제 설정 상태가 해제된다. 이에 따라, USB 신호선(110, 111)에서 본래의 접속 상태에 변화가 있기 때문에, 퍼스널 컴퓨터(10)는 소정 기간 후에 버스 리세트 신호를 송출한다. 이렇게 해서, 버스 리세트 신호가 송출되기 전에 마이크로컴퓨터(10)의 시스템 클럭을 안정화할 수 있다.
이하, 퍼스널 컴퓨터(100)로부터 마이크로컴퓨터(10)에 프로그램 데이터를 로드하는 경우의 동작을 설명한다.
단계 204에서는 USB 버스 리세트 신호가 대기 상태에 있다.
단계 205는, USB 버스 리세트 신호를 수신하였는지의 여부를 판정하는 단계로서, NO라고 판정된 경우에는 프로세스는 대기 상태를 유지한다. YES라고 판정되면 프로세스는 다음 단계 206으로 진행한다.
단계 206에서, 프로세스는 이뉴머레이션(Enumeration)에 의한 USB의 초기화를 행한다. 여기서, 이뉴머레이션이란 일반적으로 마이크로컴퓨터(10)와 퍼스널 컴퓨터(100) 사이에서 USB 데이터의 송수신이 가능한 환경 설정을 행하기 위한 일련의 소프트웨어 처리를 말한다.
이뉴머레이션에 의해 행해지는 주된 처리는, 퍼스널 컴퓨터(100)의 초기화와, 퍼스널 컴퓨터(100)가 관리하는 디바이스에 어드레스를 할당하는 처리이다. 후자의 어드레스 할당 처리에 있어서, USB 인터페이스 회로(30) 내의 제어 레지스터(어드레스 레지스터) 내에는 퍼스널 컴퓨터(100)가 할당한 특정 어드레스가 기록된다. 이에 따라, 마이크로컴퓨터(10)는 퍼스널 컴퓨터(100)로부터 송신된 USB 패킷 내의 어드레스와 상기 어드레스 레지스터 내의 어드레스를 대조하고, 이들이 일치한 경우에만 송신되어 온 USB 데이터의 처리를 행한다.
이렇게 해서, USB 데이터의 송수신이 가능한 환경 설정이 종료되면, 단계 207에서는 퍼스널 컴퓨터(100)로부터 플래시 ROM에 기입될 프로그램 데이터가 USB 차동 신호 데이터 D+, D-의 형태로 입력되어 온다.
단계 208에서는, 그와 같이 입력된 USB 차동 신호 데이터 D+ ,D-는 USB 인터페이스 회로(30)에 의해 데이터 처리된다. 이 데이터 처리 내용은 상술한 바와 같지만, 직렬 데이터(8비트×4)를 소정의 병렬 데이터(32 비트)로 변환하는 것이 그 주된 처리이다.
단계 209에서는, USB 인터페이스 회로(30)로부터의 병렬 변환된 프로그램 데이터는 RAM(40)에 기입된다. 그리고, RAM(40)에 기입된 프로그램 데이터량이 소정량(예를 들면, 128 바이트)에 도달하면, 그 소정량을 단위로 하여 RAM(40)으로부터 내부 버스(41)를 통해 플래시 ROM(50)의 제1 영역으로의 기입이 개시된다(단계 209). 이것은 플래시 ROM(50)이 복수 블록으로 분할되어 있고, 128 바이트를 블록으로 하여 구성되어 있는 것에 따른 것이다. 따라서, RAM(40)의 데이터의 축적량은 플래시 ROM(50)의 블록 구성에 따라서 적절히 선택 가능하다.
여기서, 실제로는 USB 인터페이스 회로(30)로부터의 병렬 변환된 프로그램 데이터의 RAM(40)으로의 기입 동작과 RAM(40)으로부터 플래시 ROM(50)으로의 기입 동작은 병행하여 행해지기 때문에 고속 기입이 실현된다.
단계 210에 있어서 플래시 ROM(50)으로의 기입이 개시되며, 여기에는 소정의 시간을 필요로 한다. 그래서, 단계 211에서, 마이크로컴퓨터(10)는 소프트웨어적으로 NACK 상태로 세트된다. 이것은 USB 패킷의 핸드 셰이크(handshaking) 패킷의 일종으로, 호스트인 퍼스널 컴퓨터(100)로부터의 데이터를 수신할 수 없는 것을 알리기 위해 퍼스널 컴퓨터(100)로 반송된다.
그리고, 단계 212에서는, 기입 종료 여부가 판정된다. 그 판정 결과가 NO이면, 프로세스는 NACK 상태를 유지한다. 그 판정 결과가 YES이면 ACK 상태로 세트되며, ACK는 마이크로컴퓨터(10) 측에서 데이터를 수신할 수 있는 것을 알리기 위해서 퍼스널 컴퓨터(100)로 반송된다.
그리고, 다음의 단계 214에서는, 플래시 ROM(50)으로의 프로그램 데이터의기입이 모두 종료하였는지가 판정된다. 그 판정 결과가 NO이면, 프로세스는 단계 207로 되돌아가서 잔여 프로그램 데이터의 기입을 속행한다. 여기서, 프로그램 데이터의 기입은 블록(페이지) 단위(예를 들면, 128 바이트)로 행해지기 때문에, 모든 페이지가 기입되기까지 이 처리는 반복된다.
판정 결과가 YES인 경우에는, 프로그램 카운터(60)의 값은 제2 프로그램 영역의 선두 어드레스인 (0000) 번지로 점프한다.
그리고 단계 215에서는, 마이크로컴퓨터(10)는 퍼스널 컴퓨터(100)로부터 공급된 프로그램 데이터를 판독하고, CPU(70)는 해독된 프로그램 명령에 기초하여 마이크로컴퓨터의 동작을 실행 개시한다.
본 발명에 따르면, 마이크로컴퓨터가 USB 케이블에 접속된 것을 호스트인 퍼스널 컴퓨터가 인식하고, 버스 리세트 신호의 발행 후에 즉시 통신 데이터를 송출한 경우에도, 통신 데이터를 확실하게 수신할 수 있는 마이크로컴퓨터를 제공할 수 있다.

Claims (6)

  1. USB 신호선을 통해 호스트와 마이크로컴퓨터 사이의 데이터 송수신의 인터페이스를 행하는 USB 인터페이스 회로를 구비한 마이크로컴퓨터에 있어서, 상기 USB 인터페이스 회로가 호스트로부터의 버스 리세트 신호에 응답할 수 있을 때까지의 기간 동안, 상기 USB 신호선을 비접속 상태의 레벨로 설정하는 상태 설정 수단을 포함한 것을 특징으로 하는 마이크로컴퓨터.
  2. 제1항에 있어서,
    상기 상태 설정 수단은, 상기 USB 신호선이 접속되는 단자와 겸용된 출력 단자와, 상기 USB 신호선으로부터의 전원 공급을 받아서 리세트 신호를 발생하는 리세트 신호 발생 회로와, 상기 리세트 신호에 응답하여 발진을 즉시 개시하는 제1 발진기를 구비하고, 상기 제1 발진기의 출력을 시스템 클럭용으로 하여 마이크로컴퓨터를 동작시켜서 상기 출력 단자의 레벨 설정을 행함으로써, 상기 USB 신호선을 비접속 상태의 레벨로 강제 설정하는 것을 특징으로 마이크로컴퓨터.
  3. 제2항에 있어서,
    상기 리세트 신호에 응답하여 발진을 개시하고, 상기 제1 발진기에 비하여 발진 주파수가 안정적이며 또한 발진 개시 시간이 긴 제2 발진기와, 상기 제1 및 제2 발진기의 출력을 선택하여 시스템 클럭용으로서 출력하는 선택 회로를 구비하고, 상기 리세트 신호에 응답하여 상기 선택 회로는 제1 발진기의 출력을 선택함과 함께, 상기 제2 발진기의 발진 상태가 안정화된 후에 상기 제2 발진기의 출력을 선택하는 것을 특징으로 하는 마이크로컴퓨터.
  4. 제3항에 있어서,
    상기 리세트 신호 및 상기 리세트 신호를 지연시킨 지연 리세트 신호가 입력된 가산 회로를 구비하고, 상기 선택 회로는 상기 가산 회로의 출력에 응답하여, 제1 발진기의 출력 또는 제2 발진기의 출력을 선택하는 것을 특징으로 하는 마이크로컴퓨터.
  5. 제2항 내지 제4항 중 어느 한 항에 있어서,
    상기 제1 발진기는 RC 발진기인 것을 특징으로 하는 마이크로컴퓨터.
  6. 제3항 또는 제4항에 있어서,
    상기 제2 발진기는 수정 발진기인 것을 특징으로 하는 마이크로컴퓨터.
KR10-2001-0069677A 2000-11-10 2001-11-09 마이크로컴퓨터 KR100423017B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2000-00342845 2000-11-10
JP2000342845 2000-11-10

Publications (2)

Publication Number Publication Date
KR20020036748A KR20020036748A (ko) 2002-05-16
KR100423017B1 true KR100423017B1 (ko) 2004-03-16

Family

ID=18817319

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0069677A KR100423017B1 (ko) 2000-11-10 2001-11-09 마이크로컴퓨터

Country Status (3)

Country Link
US (1) US6717477B2 (ko)
KR (1) KR100423017B1 (ko)
TW (1) TWI222001B (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8050198B2 (en) * 1999-05-24 2011-11-01 Qualcomm Incorporated Method and system for scheduling data transmission in communication systems
JPWO2004095250A1 (ja) * 2003-04-23 2006-07-13 富士通株式会社 Usbアップストリームデバイス、usbコネクタ、およびusbケーブル
JP2004343275A (ja) * 2003-05-14 2004-12-02 Murata Mach Ltd 画像処理システム及びスキャナ装置
US7383452B2 (en) * 2005-04-07 2008-06-03 Research In Motion Limited Electronic device and method for initiating powering-up of a processor in the electronic device
EP1710662A1 (en) * 2005-04-07 2006-10-11 Research In Motion Limited Device and Method for Powering a Peripheral Device
TW200832916A (en) * 2007-01-23 2008-08-01 Holtek Semiconductor Inc Clock generating circuit and method thereof
JP5774344B2 (ja) * 2011-03-30 2015-09-09 ラピスセミコンダクタ株式会社 クロック信号生成回路
GB2492207B (en) * 2011-06-22 2014-03-05 Ibm Retrieving status information from a remote device and corresponding host system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998027482A1 (en) * 1996-12-16 1998-06-25 Intel Corporation Method and apparatus for supporting power conservation operation modes

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100238581B1 (ko) * 1997-07-02 2000-01-15 윤종용 택트 스위치를 이용한 디스플레이 장치의 전원 제어 장치 및방법
US6370603B1 (en) * 1997-12-31 2002-04-09 Kawasaki Microelectronics, Inc. Configurable universal serial bus (USB) controller implemented on a single integrated circuit (IC) chip with media access control (MAC)
JPH11194993A (ja) * 1998-01-06 1999-07-21 Alps Electric Co Ltd Usbコントローラ
US6351809B1 (en) * 1999-05-14 2002-02-26 Xilinx, Inc. Method of disguising a USB port connection

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998027482A1 (en) * 1996-12-16 1998-06-25 Intel Corporation Method and apparatus for supporting power conservation operation modes

Also Published As

Publication number Publication date
US6717477B2 (en) 2004-04-06
TWI222001B (en) 2004-10-11
KR20020036748A (ko) 2002-05-16
US20020057134A1 (en) 2002-05-16

Similar Documents

Publication Publication Date Title
US11550478B2 (en) Method for transferring data on a memory card in synchonism with a rise edge and a fall edge of a clock signal
JP3813849B2 (ja) カード装置
JP2834330B2 (ja) データストリームモード切換機能を備えたメモリ装置
US20110264826A1 (en) Semiconductor memory device and control method for semiconductor memory device
KR20060132847A (ko) 상호-모듈 메모리 액세스를 가지는 다중 모듈 회로 카드
CN110765058A (zh) Gpio实现spi从机功能方法、系统、设备及介质
JP5364036B2 (ja) 接続バス、電子装置及びシステム
KR100423017B1 (ko) 마이크로컴퓨터
JPH09265436A (ja) データ転送装置
US7454651B2 (en) Main-board without restriction on memory frequency and control method thereof
KR20020036717A (ko) 마이크로컴퓨터 및 그 제어 방법
JP2010267259A (ja) メモリデバイスおよびメモリデバイス制御装置
JP2005174337A (ja) メモリシステムおよびホストとメモリカードとの間のデータ伝送速度設定方法
JP4490837B2 (ja) 携帯端末
JP2002222024A (ja) マイクロコンピュータ
JP3477306B2 (ja) 拡張入出力インターフェイス
JP5010065B2 (ja) マイクロコンピュータ
JP4431768B2 (ja) 携帯型電子装置、読み出し方法及び書き込み方法
JP4364211B2 (ja) カード装置
JP6596901B2 (ja) データ転送制御装置及びそれを用いた電子機器
EP4068107A1 (en) Audio control circuit, host device and associated control method
JP4860811B2 (ja) マイクロコンピュータ
JP2004046891A (ja) データ処理システム、データ処理装置、外部装置及びデータ伝送方法
EP1603050B1 (en) Portable electronic system and accessing method thereof
JPH10198524A (ja) ハードディスク制御装置

Legal Events

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

Payment date: 20120228

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20130227

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee