KR100275924B1 - 스마트카드 인터페이스 장치 - Google Patents

스마트카드 인터페이스 장치 Download PDF

Info

Publication number
KR100275924B1
KR100275924B1 KR1019980029018A KR19980029018A KR100275924B1 KR 100275924 B1 KR100275924 B1 KR 100275924B1 KR 1019980029018 A KR1019980029018 A KR 1019980029018A KR 19980029018 A KR19980029018 A KR 19980029018A KR 100275924 B1 KR100275924 B1 KR 100275924B1
Authority
KR
South Korea
Prior art keywords
smart card
register
data
microprocessor
communication
Prior art date
Application number
KR1019980029018A
Other languages
English (en)
Other versions
KR20000008922A (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 KR1019980029018A priority Critical patent/KR100275924B1/ko
Publication of KR20000008922A publication Critical patent/KR20000008922A/ko
Application granted granted Critical
Publication of KR100275924B1 publication Critical patent/KR100275924B1/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
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/226Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/08Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers from or to individual record carriers, e.g. punched card, memory card, integrated circuit [IC] card or smart card

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Systems (AREA)

Abstract

본 발명은 스마트카드와 외부 마이크로 프로세서 간의 통신을 가능하게 하는 인터페이스 장치에 관한 것으로서, 마이크로프로세서(MP)와 스마트카드(SC) 사이의 통신용 인터페이스장치에 있어서, 상기 스마트카드(SC)의 동작여부와 보클럭(buadclk)을 결정하는 값을 처리하는 제1레지스터부(1)와; 상기 마이크로프로세서(MP)와 스마트카드(SC) 사이의 통신을 제어하는 제2레지스터부(2); 상기 제2레지스터부(2)에 저장된 값을 이용하여 입력된 클럭에 따라 보클럭을 분주하는 보레이트 레지스터 버퍼(3); 상기 스마트카드(SC)를 초기에 활성화 (activation)하고, 어햄스(ahems)통신을 완료한 후 상기 스마트카드(SC)를 비활성화(deactivation)하는 활성화 및 비활성화 수단(4); 상기 스마트카드(SC)로부터 입력되는 직렬데이터를 병렬데이터로 변환하여 출력하는 직렬/병렬변환부(5) 및; 상기 마이크로프로세서(MP)로부터 입력되는 데이터와 상기 제2레지스터부(2)로부터 입력되는 동기신호를 직렬데이터로 변환하여 상기 스마트카드(SC)로 출력하는 병렬/직렬변환부(6))로 구성되어 새로운 기능의 추가가 용이하고 쉽게 사양을 만족시키는 프로그래밍을 할 수 있으며 카드종류에 관계없이 스마트카드와 마이크로프로세서 사이의 통신속도를 능동적으로 조절할 수 있는 장점이 있는 것이다.

Description

스마트카드 인터페이스 장치
본 발명은 스마트카드와 외부 마이크로 프로세서 간의 통신을 가능하게 하는 인터페이스 장치에 관한 것으로서, 특히 레지스터를 이용하여 방송 수신용으로 사용하는 스마트카드와 마이크로 프로세서 간의 통신을 가능하게 하는 인터페이스 장치를 구현함으로써 기능의 추가가 용이하고 쉽게 사양을 만족시키는 프로그래밍을 할 수 있으며 카드 종류에 관계없이 통신 속도를 능동적으로 조절할 수 있는 스마트카드 인터페이스 장치에 관한 것이다.
일반적으로 스마트카드(Smart Card)는 ISO7816에 규정된 인터페이스 방식에 따라 데이터를 송수신하는 CPU가 내장된 카드로서, ISO7816은 CE(Consumer Electronics)장치와 CA(Conditional Access)장치 사이의 인터페이스 방식을 표준화한 국제 규격이다.
ISO7816 규격은 ISO7816-1, ISO7816-2, ISO7816-3으로 나누어져 있으며, ISO7816-4 규격 이후의 것도 나와 있지만 보통 쓰이는 대부분의 주요 기능은 ISO7816-1, ISO7816-2, ISO7816-3의 세 규격에 설명되어 있다.
ISO7816-1 규격은 IC카드의 제조자의 입장에서 이해하기 쉽도록 IC카드의 일반적인 특성을 설명하고 있는 부분으로서 그 내용은 카드가 자외선에 노출될 때의 특성이나 카드가 X-레이에 노출될 때의 특성등 광학적인 특성에 관한 것과 실제 카드에서 8개의 접점인 접촉부(contact)의 카드 평면상 위치와 두께로 보았을 때의 접촉부의 두께등에 관한 규정을 정의한 것, 카드의 기계적인 강도와 휘어짐의 정도등 물리적인 특성, 두 접촉부 사이의 저항, 카드가 견딜 수 있는 자기장의 세기등 전자기적인 특성등을 정의한 것 등이다.
ISO7816-2 규격에서는 아래표와 같이 카드에 있는 8개의 접촉부(C1∼C8) 위치와 각 신호성분을 할당하고 있다.
C1 Vcc = 5V C5 GND
C2 리셋(Reset) C6 Vpp
C3 클럭(Clk) C7 I/O
C4 장래 사용을 위한 예비용 C8 장래 사용을 위한 예비용
접촉부(C1)를 통해서 인터페이스 장치는 IC카드에 전원(Vcc)을 공급하게 되며, 접촉부(C2)는 카드를 리셋하기 위한 접촉부이다. 일단 카드가 초기화되면 IC카드는 카드가 갖고 있는 최대 32 바이트의 정보를 인터페이스 장치로 전송하게 되는 데 이것이 초기화 응답인 리셋에 대한 응답(Answer to Reset)이다. 접촉부(C3)를 통해서는 인터페이스 장치가 IC카드로 안정된 클럭을 공급해 주게되며, 클럭의 작용은 IC카드의 종류에 따라 다르게 된다.
스마트카드인 경우 클럭은 마이크로 프로세서를 구동시키기 위한 클럭으로 작용하며, 메모리카드인 경우는 동기프로토콜(Synchronous Protocol)을 위한 클럭으로 작용한다. 접촉부(C4),(C8)는 ISO7816 규격에서는 아직 정의되지 않은 접촉부로서 장래에 사용하기 위한 예비용 이지만 NRSS에서는 접촉부(C4)가 MPEG-2의 트랜스포트 스트림(Transport Stream)을 입력받는 데이터 입력단(Data-in)으로 사용된다. 접촉부(C6)는 IC카드내의 EEPROM을 프로그래밍을 할 때 사용되는 전원을 공급하기 위해 사용되며, 접촉부(C7)는 IC카드가 인터페이스 장치와 통신을 하게되는 입출력단(I/O)으로 사용된다.
IC카드의 통신방식은 반 이중통신인 반이중방식(Half-Duplex 방식)을 취하며, ISO7816을 따르는 IC카드와 인터페이스 장치는 도 1에 나타낸 바와 같이 카드와 인터페이스 장치의 연결 및 인터페이스 장치에 의한 카드 접촉의 활성화(activation)동작, 카드의 리셋동작, 카드와 인터페이스 장치 사이의 상호 데이터 교환동작, 인터페이스 장치에 의한 카드 접촉의 비활성화(desactivation)동작을 연속적으로 수행하게 된다.
상기한 바와 같이 IC카드가 마이크로프로세서와 통신을 하기 위해서 사용되는 종래 인터페이스 장치로서 도 2에 도시한 인터페이스 장치가 알려져 있다.
그러나 도 2에 도시한 종래 IC카드 인터페이스 장치는 새로운 기능을 추가하는 것이 용이하지 않고, 시스템의 자원을 절약할 수 없을 뿐만 아니라 쉽게 사양을 만족시키는 프로그래밍을 구현할 수 없고 CPU의 부담이 과중하게 되며, 카드의 종류에 따라 통신속도를 능동적으로 조절할 수 없다고 하는 문제점이 있었다.
본 발명은 상기한 실정을 감안하여 종래 IC카드 인터페이스 장치가 갖는 문제점들을 해결하고자 발명한 것으로서, 레지스터를 이용하여 방송 수신용으로 사용하는 스마트카드와 마이크로 프로세서 간의 통신을 가능하게 하는 인터페이스 장치를 구현함으로써 기능의 추가가 용이하고 쉽게 사양을 만족시키는 프로그래밍을 할 수 있으면서 카드 종류에 관계없이 통신 속도를 능동적으로 조절할 수 있는 스마트카드 인터페이스 장치를 제공함에 그 목적이 있다.
도 1은 스마트카드의 동작 흐름도,
도 2는 종래 스마트카드 인터페이스 장치의 구성도,
도 3은 본 발명 스마트카드 인터페이스 장치의 구성도,
도 4는 본 발명에 따른 제1레지스터부 입출력 신호의 파형도,
도 5는 본 발명에 따른 제1레지스터부의 동작 순서도,
도 6은 본 발명에 따른 제2레지스터부 입출력 신호의 파형도,
도 7a 및 도 7b는 본 발명에 따른 제2레지스터부의 동작 순서도,
도 8은 본 발명에 따른 활성화 및 비활성화 수단 입출력 신호의 파형도,
도 9는 본 발명에 따른 직렬/병렬변환부 입출력 신호의 파형도,
도 10은 본 발명에 따른 직렬/병렬변환부의 동작 순서도,
도 11은 본 발명에 따른 병렬/직렬변환부 입출력 신호의 파형도,
도 12는 본 발명에 따른 병렬/직렬변환부의 동작 순서도이다.
<도면의 주요부분에 대한 부호의 설명>
1 : 제1레지스터부 2 : 제2레지스터부
3 : 보레이트레지스터 버퍼 4 : 활성화 및 비활성화 수단
5 : 직렬/병렬변환부 6 : 병렬/직렬변환부
7 : 전원 발생부 11 : 커맨드 레지스터
12 : 제1보레이트레지스터 13 : 제2보레이트레지스터
14 : 출력데이터레지스터 15 : 입력데이터레지스터
16 : 인트럽트레지스터 SC : 스마트카드
MP : 마이크로프로세서
상기한 목적을 달성하기 위한 본 발명 스마트카드 인터페이스 장치는 마이크로프로세서(MP)와 스마트카드(SC) 사이의 통신용 인터페이스장치에 있어서, 상기 스마트카드(SC)의 동작여부와 보클럭(buadclk)을 결정하는 값을 처리하는 제1레지스터부(1)와; 상기 마이크로프로세서(MP)와 상기 스마트카드(SC) 사이의 통신을 제어하는 제2레지스터부(2); 상기 제2레지스터부(1)에 저장된 값을 이용하여 입력된 클럭에 따라 보클럭을 분주하는 보레이트 레지스터 버퍼(3); 상기 스마트카드(SC)를 초기에 활성화 (activation)하고, 어햄스(ahems)통신을 완료한 후 상기 스마트카드(SC)를 비활성화(deactivation)하는 활성화 및 비활성화수단(4); 상기 스마트카드(SC)로부터 입력되는 직렬데이터를 병렬데이터로 변환하여 출력하는 직렬/병렬변환부(5) 및; 상기 마이크로프로세서(MP)로부터 입력되는 데이터와 상기 제2레지스터부(2)로부터 입력되는 동기신호를 직렬데이터로 변환하여 상기 스마트카드(SC)로 출력하는 병렬/직렬변환부(6)로 구성됨을 특징으로 한다.
또한 상기 제1레지스터부(1)는 상기 스마트카드(SC)의 동작 명령을 저장하는 커맨드 레지스터(11)와 입력되는 클럭에 따라 보클럭을 분주하기 위한 값을 저장하는 제1,2보레이트 레지스터(12),(13)로 구성된다.
그리고 상기 제2레지스터부(2)는 외부의 상기 마이크로 프로세서(MP)로부터 입력되는 데이터를 저장하는 출력데이터 레지스터(14)와 상기 스마트카드(SC)로부터 입력되는 데이터를 저장하는 입력데이터 레지스터(15) 및 상기 마이크로 프로세서(MP)와의 통신방향 및 통신가능 여부를 알려주는 인트럽트 레지스터(16)로 구성된다.
이하 첨부 도면을 참조하여 본 발명 스마트카드 인터페이스 장치의 작용을 상세하게 설명한다.
도 3은 본 발명 스마트카드 인터페이스 장치의 구성도, 도 4는 본 발명에 따른 제1레지스터부(1)의 입출력신호 파형도, 도 5는 발명에 따른 제1레지스터부(1)의 동작순서도로서, 본 발명 스마트카드 인터페이스 장치는 제1,2레지스터부(1),(2)에 6개의 레지스터를 갖추어 이들 레지스터를 사용하여 스마트카드(SC)와 마이크로프로세서(MP) 사이에 데이터를 주고 받는다.
스마트카드(SC)의 동작은 먼저 제1레지스터부(1)에 있는 커맨드레지스터(11)에다 동작을 위한 명령을 저장하게 되는데, 본 발명에서 사용되는 명령어의 예를 정리하면 다음과 같다.
활성화(activation) : 11h
데이터 통신(date communication) : 44h
비활성화(deactivation) : 22h
스마트카드(SC)는 어드레스버스와 데이터버스를 통해 어드레스신호(A)와 데이터(D-in)가 특정 명령어로서 제1레지스터부(1)로 입력되면, 활성화나 데이터통신, 비활성화 동작 중 특정 명령어에 해당하는 동작을 수행하게 되는 바, 활성화동작은 스마트카드(SC)를 활성화시키는 것으로서 신호(Vcc),(ICCLK),(ICRST)가 규격에 맞는 상태로 되어 스마트카드(SC)에 입력되므로서 이루어지게 되며, 데이터통신 동작은 원래 ISO7816에서 활성화 동작에 포함된 리셋에 대한 응답으로서 어드레스버스와 데이터버스를 통해 마이크로프로세서(MP)로부터 들어온 데이터를 스마트카드(SC)로 보내주는 기능과 그 반대로 스마트카드(SC)로부터 출력되는 데이터를 마이크로프로세서(MP)로 보내는 기능을 수행하는 동작이다. 또한 비활성화 동작은 상기 데이터통신 동작을 마치고 스마트카드(SC)와의 연결을 끊기 위한 것 즉, 안전하게 통신 작업시간(session)을 마치기 위한 것으로서 신호(RST)를 로우레벨 상태로 만들고, 스마트카드(SC)로 인가되는 신호(Vcc),(ICCLK)를 끊음으로써 이루어지게 된다.
먼저 제1레지스터부(1)는 어드레스버스를 통해 입력되는 도 4에 나타낸 어드레스신호(A)에 해당하는 레지스터에 데이터(D-in)를 보내준다. 예컨대 어드레스신호(A)가 0h 이면 커맨드레지스터(11), 1h 이면 제1보레이트레지스터(12), 2h 이면 제2보레이트레지스터(13)로 데이터(D-in)를 보내주어 저장하게 된다. 신호(RD-WR)는 레지스터에 쓰고 읽는 동작 여부를 알려주는 신호로서 하이레벨 1 이면 읽는 동작(read)이고 로우레벨 0 이면 쓰는 동작(write)이다. 여기서 신호(RD-WR)는 쓰는 동작이므로 로우레벨 0 상태이고, 신호(CS)는 칩셀렉트(chip select)이므로 하이레벨 1 상태이다. 이 모듈에서는 항상 커맨드 레지스터(11)와 제1,2보레이트 레지스터(12),(13)에 쓰는 기능만을 수행한다. 도 4에서 어드레스신호(A)가 7h인 경우는 비동작모드로 가정한 것이다.
한편 제2레지스터부(2)는 상기 커맨드 레지스터(11)에 활성화모드인 11h와 데이터통신모드인 44h의 값이 저장되어 있는 경우에만 동작하게 된다. 즉, 마이크로프로세서(MP)와 스마트카드(SC) 사이의 데이터를 주고 받는 기능을 수행하게 된다.여기서 입력과 출력의 기준은 마이크로프로세서(MP)의 입장에서 들어오는 데이터, 즉 스마트카드(SC)로부터 마이크로프로세서(MP)로 데이터가 들어오는 경우를 입력, 그 반대의 경우를 출력으로 정의하였다. 또한 인트럽트 레지스터(16)는 8비트중 3비트만 사용하게 되며, 그 기능으로는 아무일이 없을 때는 비트값이 항상 1상태로 있다가 해당되는 비트값이 0으로 셋팅되면서 동시에 출력인 신호(INT)가 하이레벨인 1상태로 되어 이사실을 마이크로 프로세서(MP)에 알려준다.
이러한 이트럽트 레지스터(16)의 할당을 예로들면 7번째 비트는 스마트카드(SC)로부터 데이트를 받을 준비가 되어 있음을 알려주는 비트이고, 6번째 비트는 직렬로 들어온 데이터가 병렬로 변환되어 입력데이터 레지스터(15)에 저장되어 있으니 마이크로프로세서(MP)로 하여금 이 데이터를 가져가라고 알려주는 기능을 수행하는 비트이며, 5번째 비트는 병렬/직렬변환부(6)에서 출력데이터 레지스터(14)에 저장되어 있는 데이터를 직렬로 변환하여 스마트카드(SC)로 전송을 완료하였으니 마이크로프로세서(MP)에게 새로운 데이터를 출력데이터 레지스터(14)에 보낼수 있음을 알려주는 비트이다.
도 6은 스마트카드(SC)와 마이크로프로세서(MP) 사이의 데이터를 주고 받을 때 제2레지스터부(2) 입출력 신호의 파형도로서, 먼저 스마트카드(SC)로부터 마이크로프로세서(MP)로의 데이터 전송과정은 다음과 같다.
스마트카드(SC)에서 마이크로프로세서(MP)로 데이터를 보낼 때는 신호(INT)가 0레벨상태에서 1레벨상태로 바뀌면 마이크로프로세서(MP)는 5h번지로 가정한 인트럽트 레지스터(16)를 통해 상태를 확인한 다음 출력데이터 레지스터(14)에 저장된 데이트를 읽게된다.
신호(Op-receive)가 1레벨상태로 되면 도 7b에 도시한 바와 같이 직렬/병렬변환부(5)에서는 신호(Baudclk)의 하강에지 수효를 카운트하여 각 카운트값에 의해서 들어오는 정보를 해석하고, 신호(Receive)가 1레벨상태 이면 스마트카드(SC)로부터 데이터가 전부 전송 되었으므로 그때 클럭(CLK)의 라이징에지(rising edge)를 계수하여 카운트값 1에 넣는다. 그 값이 1일 때 신호(I-reg) 값을 입력데이터 레지스터(15)로 가져옴과 동시에 인트럽트를 발생시켜 데이터가 왔음을 알리고, 신호(D-out)로서 데이터를 최종적으로 마이크로프로세서(D-out)로 가져가게 된다.
신호(Op-receive)는 신호(Receive)가 0레벨상태 이고 어드레스신호(A)가 3h 이어서 입력데이터 레지스터(15)에 저장된 데이터가 신호(D-out)로서 출력될 때 0 레벨상태로 되어 상기 카운트값을 0 으로 리프레시(refresh)시킨다.
마이크로프로세서(MP)에서 스마트카드(SC)로 데이터를 처음 보낼 때 즉, 연속적으로 데이터를 보낼 때를 제외한 경우 리셋을 시키면 도 7a에 도시한 바와 같이 신호(Empty)가 1레벨상태로 되어 설계 사양에 만족하는 조건을 만들어 준다. 신호(Empty)가 1레벨상태 일 때 클럭(CLK)의 라이징에지 마다 계수하여 카운트 2 값으로 데이터를 처리하게 된다. 본 발명에서는 신호(Baudclk)가 신호(CLK) 보다 8배 느리다고 가정해서 구현했다. 카운트 2의 값 1과 7 사이에서 마이크로프로세서(MP)가 스마트카드(SC)로 보낼 데이터를 신호(D-in)로서 보내주면 카운트 2값 7에서 병력의 데이터를 직렬의 데이터로 바꿔주는 병렬/직렬변환부(6)로 신호(O-reg)를 전해준다.
여기서 중요한 점은 병렬 데이터의 직렬 데이터로의 변환은 연속된 바이트로 이루어 지므로 병렬/직렬변환부(6)에서 연산이 다 끊나면 카운트를 이용해서 신호(Empty)를 1레벨 상태로 만들어 준다. 그러므로 연속된 바이트를 마이크로프로세서(MP)에서 스마트카드(SC)로 보낼 때 다시 리셋을 시킬 필요가 없게 된다.
신호(ICIO-out)가 병렬/직렬변환부(6)에서 스마트카드(SC)로 전송중일 때는 데이터가 마이크로프로세서(MP)에서 스마트카드(SC) 쪽으로 전송되어서는 안되므로 신호(Empty)를 두어 데이터의 전송이 끝났음을 알려주게 된다. 즉, 신호(Empty)가 1 레벨상태이고, 어드레스신호(A)가 4h일 때 신호(D-in)가 출력데이터 레지스터(14)로 인가된다.
여기서 신호(Empty)는 신호(Baudclk)의 한 주기에 해당하므로 클럭(CLK) 보다는 수십에서 수만배 까지 느릴 수 있고 또한 동기도 맞추기 힘들기 때문에 신호(Empty)가 1 레벨상태이고 클럭(CLK)이 상승에지일 때 상기한 카운트를 실행하여 카운트값에 따라 연산의 기준이 정해지게 된다.
그러므로 사용자의 스펙(spec)에 따라 이 카운트값의 범위를 조절해 주면 어떤 용도든지 만족시킬 수 있다. 카운트값이 1이면 신호(Op-send),(send)를 0 레벨상태로 만들어서 카운트값을 0으로 리프레시시키고, 카운트값 2부터 마지막 카운트값이 나오기 전 까지만 어드레스신호(A)가 4h로 되어 신호(Op-send)를 1 레벨상태로 만들어서 병렬/직렬변환부(6)가 병렬 데이터를 직렬 데이터로 변환하여 스마트카드(SC)로 보내는 기능을 실행하게 된다. 만약 카운트값 4가 마지막이면 신호(Op-send)가 1 레벨상태일 때 출력데이터 레지스터(14)가 신호(O-reg)를 출력하여 데이터를 래치시키고, 그 후에는 다음 단계인 병렬/직렬변환부(6)가 병렬 데이터를 직렬 데이터로 변환하는 연산을 수행하게 된다.
병렬/직렬변환부(6)는 신호(Empty)가 1 레벨상태로 될 때 제2레지스터부(2)의 출력데이터 레지스터(14)에 저장된 8비트 데이터를 신호(Baudclk)를 이용하여 직렬 데이터로 변환하는데 신호(Baudclk)의 하강에지 수효를 카운트하는 카운터를 이용하여 카운트값이 11일 때 신호(Empty)는 1 레벨상태로 되며, 신호(Empty)가 1 레벨상태로 될 때 도 12에 도시한 바와 같이 제2레지스터부(2)의 출력데이터인 신호(O-reg)를 입력하여 병렬의 데이터를 직렬의 데이터로 변환하는 기능을 수행하는데 상기 클럭(CLK)은 신호(Baudclk)로서 신호(Baudclk)의 하강에지(falling edge)의 수효를 계수하는데 신호(Empty)는 카운트 값 11과 12에서 나오게 된다. 따라서 이러한 카운트 값은 상기 제2레지스터부(2) 내에 있는 카운터의 카운트 값과는 전혀 다른 신호(Baudclk)에 맞춰서 만든 값이며, 이는 직렬/병렬변환부(5)에서도 마찬가지 이다.
직렬/병렬변환부(5)는 상기 제2레지스터부(2) 설명에서 상술한 바와 같이 스마트카드(SC)에서 마이크로프로세서(MP)로 데이터를 전송하는 과정에서 작용하는 것으로, 도 10에 나타낸 바와 같이 상기 카운트값 11과 12에서 1 레벨상태의 신호(Receive)를 출력하여 다음에 데이터가 전송되길 기다리게 되는데 상기 병렬/직렬변환부(6)와 다른 점은 신호(Receive)가 0 레벨상태로 떨어지고 나서 신호(Baudclk)의 다음 주기 때 다음 데이터가 올 수 있다는 것이며, 신호(Op-receive)가 1 레벨상태로 되면 카운트를 시작하는 상기 병렬/직렬변환부(6)와는 반대로 신호(Baudclk)의 하강에지에서 카운트를 시작한다.
보레이트레지스터 버퍼(3)는 빠른 클럭(CLK)에서 느린 신호(Baudclk)를 만들어 주는 것으로서 클럭(CLK)을 16비트인 보레이트레지스터 값으로 분주하는 기능을 실행하며, 클럭(CLK)의 상승에지와 하강에지를 카운트해서 보레이트(baudrate) 값까지 계수하면 1에서 0으로 0에서 1로 반전시키는 방법으로 구현했다. 먼저 16비트 보레이트 값을 10진수로 바꾸고 상승과 하강을 동시에 카운트 하는 것은 VIIDL 부호화의 특성상 좋지 않으므로 바꾼 10진수의 값을 반으로 나눠서 상승에지만 카운트 해서 반으로 나눈 값보다 작으면 1이되고, 크면 0이 되도록 구현 하였다.
ISO7816에서는 먼저 신호(Vcc)를 공급해 주고 일정한 지연 후에 신호(ICCLK)를 공급하여 주며, 또 일정한 지연 후에 신호(ICRST)를 하이레벨로 만들어 주는데 이러한 과정은 스펙(spec) 마다 다르고 일정하지 않으므로 본 발명에서의 활성화 및 비활성화수단(4)은 신호(C-reg)의 상태에 따라 신호(Vcc),(ICRST),(ICCLK)를 공급하거나 그 신호공급을 중단하는 작용을 하게 되는 것으로, 신호(C-reg)가 11h 이면 활성화 이므로 그때 마다 도 8에 나타낸 바와 같이 신호(Vcc)상승에지 지연없이 신호(ICRST),(ICCLK)가 하이레벨로 되고, 비활성화 이면 신호(ICRST),(ICCLK)가 로우레벨로 되도록 설계했다.
상기한 바와 같이 본 발명 스마트카드 인터페이스 장치를 사용하면, 새로운 기능의 추가가 용이하고 쉽게 사양을 만족시키는 프로그래밍을 할 수 있으며 카드종류에 관계없이 스마트카드와 마이크로프로세서 사이의 통신속도를 능동적으로 조절할 수 있는 장점이 있다.

Claims (3)

  1. 마이크로프로세서(MP)와 스마트카드(SC) 사이의 통신용 인터페이스장치에 있어서, 상기 스마트카드(SC)의 동작여부와 보클럭(buadclk)을 결정하는 값을 처리하는 제1레지스터부(1)와; 상기 마이크로프로세서(MP)와 상기 스마트카드(SC) 사이의 통신을 제어하는 제2레지스터부(2); 상기 제2레지스터부(1)에 저장된 값을 이용하여 입력된 클럭에 따라 보클럭을 분주하는 보레이트 레지스터 버퍼(3); 상기 스마트카드(SC)를 초기에 활성화 (activation)하고, 어햄스(ahems)통신을 완료한 후 상기 스마트카드(SC)를 비활성화(deactivation)하는 활성화 및 비활성화수단(4); 상기 스마트카드(SC)로부터 입력되는 직렬데이터를 병렬데이터로 변환하여 출력하는 직렬/병렬변환부(5) 및; 상기 마이크로프로세서(MP)로부터 입력되는 데이터와 상기 제2레지스터부(2)로부터 입력되는 동기신호를 직렬데이터로 변환하여 상기 스마트카드(SC)로 출력하는 병렬/직렬변환부(6)로 구성됨을 특징으로 하는 스마트카드 인터페이스 장치.
  2. 제 1항에 있어서, 상기 제1레지스터부(1)가 상기 스마트카드(SC)의 동작 명령을 저장하는 커맨드 레지스터(11)와 입력되는 클럭에 따라 보클럭을 분주하기 위한 값을 저장하는 제1,2보레이트 레지스터(12),(13)로 구성된 것을 특징으로 하는 스마트카드 인터페이스 장치.
  3. 제 1항에 있어서, 상기 제2레지스터부(2)가 외부의 상기 마이크로 프로세서(MP)로부터 입력되는 데이터를 저장하는 출력데이터 레지스터(14)와 상기 스마트카드(SC)로부터 입력되는 데이터를 저장하는 입력데이터 레지스터(15) 및 상기 마이크로 프로세서(MP)와의 통신방향 및 통신가능 여부를 알려주는 인트럽트 레지스터(16)로 구성된 것을 특징으로 하는 스마트카드 인터페이스 장치.
KR1019980029018A 1998-07-18 1998-07-18 스마트카드 인터페이스 장치 KR100275924B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980029018A KR100275924B1 (ko) 1998-07-18 1998-07-18 스마트카드 인터페이스 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980029018A KR100275924B1 (ko) 1998-07-18 1998-07-18 스마트카드 인터페이스 장치

Publications (2)

Publication Number Publication Date
KR20000008922A KR20000008922A (ko) 2000-02-15
KR100275924B1 true KR100275924B1 (ko) 2000-12-15

Family

ID=19544554

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980029018A KR100275924B1 (ko) 1998-07-18 1998-07-18 스마트카드 인터페이스 장치

Country Status (1)

Country Link
KR (1) KR100275924B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020085273A (ko) * 2001-05-07 2002-11-16 크로스반도체기술 주식회사 스마트 카드 인터페이스 장치 및 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101515263B (zh) * 2001-07-25 2011-05-25 索尼公司 接口装置
KR20030076910A (ko) * 2002-03-23 2003-09-29 엘퍼스크 주식회사 스마트 카드 리더에서의 스마트 카드 및 시리얼통신 모듈인터페이스장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020085273A (ko) * 2001-05-07 2002-11-16 크로스반도체기술 주식회사 스마트 카드 인터페이스 장치 및 방법

Also Published As

Publication number Publication date
KR20000008922A (ko) 2000-02-15

Similar Documents

Publication Publication Date Title
US7712659B2 (en) Card recognition system for recognizing standard card and non-standard card
US5129091A (en) Integrated-circuit card with active mode and low power mode
US6801956B2 (en) Arrangement with a microprocessor
KR20120070372A (ko) 멀티-인터페이스 메모리 카드와 이의 동작 방법
CN107748509B (zh) 基于单片机收发控制的asi通信从机实施方法
US5159684A (en) Data communication interface integrated circuit with data-echoing and non-echoing communication modes
US20050223148A1 (en) Electronic apparatus that communicates with host through serial communication interface
CN107153412B (zh) 一种具有发送fifo的can总线控制器电路
KR100275924B1 (ko) 스마트카드 인터페이스 장치
US6240151B1 (en) Method for transmitting and receiving asynchronous serial data in digital signal processor
US5327018A (en) Interface circuit for chip cards
US5790885A (en) Method for controlling IC card reader/writer to transmit same character frame upon receiving echo back character indicating an error exists in received character frame
EP0088617B1 (en) Bit-oriented line adapter system
JP2000181858A (ja) Icカ―ド読取インタ―フェ―スを備えた汎用非同期送受信器およびそれを応用したicカ―ド読取システム
KR910002558B1 (ko) 휴대할 수 있는 전자장치
EP2255323B1 (en) Integrated circuit card
US7172129B2 (en) Integrated circuit card capable of automatically transmitting NULL byte information without intervention by CPU
US20050188128A1 (en) Data transfer apparatus
KR100736405B1 (ko) Fifo없이 dma를 수행할 수 있는 반도체 장치와 상기반도체 장치의 데이터 처리방법
US5864300A (en) Communication system for selecting a communication transmission method
US5058054A (en) Data transmission device for interfacing between a first rate data acquisition system and a second rate data processing system
CN113875162B (zh) Nfc读取器与双nfc接口应答器之间的数据交换装置
US6868457B2 (en) Direct memory access controller, direct memory access device, and request device
US6885217B2 (en) Data transfer control circuitry including FIFO buffers
US6426953B1 (en) Method of operating an internal high speed ATM bus inside a switching core

Legal Events

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

Payment date: 20100824

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee