KR100594263B1 - 전자 장치를 프로그램 하는 방법, 회로, 및 데이터구조와, 그 전자 장치의 동작 제어 회로 - Google Patents

전자 장치를 프로그램 하는 방법, 회로, 및 데이터구조와, 그 전자 장치의 동작 제어 회로 Download PDF

Info

Publication number
KR100594263B1
KR100594263B1 KR1020040015839A KR20040015839A KR100594263B1 KR 100594263 B1 KR100594263 B1 KR 100594263B1 KR 1020040015839 A KR1020040015839 A KR 1020040015839A KR 20040015839 A KR20040015839 A KR 20040015839A KR 100594263 B1 KR100594263 B1 KR 100594263B1
Authority
KR
South Korea
Prior art keywords
electronic device
data
programmable memory
circuit
program
Prior art date
Application number
KR1020040015839A
Other languages
English (en)
Other versions
KR20040081316A (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 KR20040081316A publication Critical patent/KR20040081316A/ko
Application granted granted Critical
Publication of KR100594263B1 publication Critical patent/KR100594263B1/ko

Links

Images

Classifications

    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05BLOCKS; ACCESSORIES THEREFOR; HANDCUFFS
    • E05B63/00Locks or fastenings with special structural characteristics
    • E05B63/08Mortise locks
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/006Details of the interface to the display terminal
    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05BLOCKS; ACCESSORIES THEREFOR; HANDCUFFS
    • E05B47/00Operating or controlling locks or other fastening devices by electric or magnetic means
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/2092Details of a display terminals using a flat panel, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G3/2096Details of the interface to the display terminal specific for a flat panel
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/04Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
    • G09G2370/045Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller using multiple communication channels, e.g. parallel and serial
    • G09G2370/047Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller using multiple communication channels, e.g. parallel and serial using display data channel standard [DDC] communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Structural Engineering (AREA)
  • Read Only Memory (AREA)
  • Programmable Controllers (AREA)
  • Logic Circuits (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

전자 장치를 프로그램 하는 방법, 회로, 및 데이터 구조와, 그 전자 장치의 동작 제어 회로가 개시된다. 전자 장치의 프로그래머블 메모리에 데이터를 전송하는데 사용되는 컨트롤러 회로는 전자 장치의 일반적인 동작을 제어하는 일반 동작 처리 회로로부터 분리될 수 있다. 컨트롤러 회로는 일반 동작 처리 회로에 의해 제어되는 랜덤 액세스 메모리(RAM) 또는 리드 온리 메모리(ROM)를 사용하지 않고 프로그래머블 메모리에 데이터를 전송하게 할 수 있다. 일반 동작 처리 회로는 데이터가 프로그래머블 메모리에 전송되는(즉, 프로그램 되는) 동안 컨트롤러 회로에 의해 디세이블 될 수 있다. 본 발명에 따른 전자 장치를 프로그램 하는 방법, 회로, 및 데이터 구조와, 그 전자 장치의 동작 제어 회로는, 추가의 메모리들을 사용하지 않고 전자 장치의 프로그래머블 메모리를 프로그램하므로, 그 제조 공정이 간소화 될 수 있고, 제조 비용이 절감 될 수 있는 장점이 있다.

Description

전자 장치를 프로그램 하는 방법, 회로, 및 데이터 구조와, 그 전자 장치의 동작 제어 회로{Methods, circuits, and data structures for programming electronic device and operational control circuit of the electronic device}
도 1은 본 발명의 일실시예에 따른 전자 장치의 동작 제어 회로와 프로그래밍 시스템을 나타내는 블록도이다.
도 2는 도 1에 도시된 전자 장치의 동작 제어 회로를 상세히 나타내는 블록도이다.
도 3은 본 발명에 따른 데이터 구조를 나타내는 도면이다.
도 4는 본 발명의 일실시예에 따른 전자 장치를 프로그램 하는 과정을 나타내는 플로우차트이다.
도 5는 본 발명의 다른 실시예에 따른 전자 장치의 동작 제어 회로와 프로그래밍 시스템을 나타내는 블록도이다.
도 6a 및 도 6b는 본 발명의 다른 실시예에 따른 전자 장치의 동작 제어 회로의 ISP 모드 동작을 위한 데이터의 구조를 나타내는 도면이다.
도 7은 본 발명의 다른 일실시예에 따른 전자 장치의 동작 제어 회로의 동작 과정을 나타내는 플로우차트이다.
본 발명은 일반적으로 전자 분야에 관한 것으로서, 특히, 전자 장치를 프로그램 하는 방법, 장치, 및 데이터 구조에 관한 것이다.
모니터, 프린터, 셀 폰(cell phone) 등과 같은 전자 장치들은 컴퓨터 프로그램(즉, 소프트웨어)의 동작을 통하여 상기 전자 장치에 대한 유저 인터페이스와 같은 기능을 제공할 수 있다. 상기 소프트웨어는 상기 전자 장치 내부의 프로그래머블(programmable) 메모리와 같은 비휘발성 메모리에 저장된다. 예를 들어, 유저가 내부 프로그래머블 메모리에 저장된 소프트웨어의 제어에 의해 컴퓨터 모니터에 대한 밝기와 같은 설정을 선택하도록 하는 유저 인터페이스를 제공하는 것이 알려져 있다. 어떤 시스템에서는, 프로그래머블 메모리를 새로운 소프트웨어로 프로그램 함으로써, 전자 장치의 동작이 변경될 수 있다.
어떤 시스템들에서는, 프로그래머블 메모리를 재 프로그램하기에 앞서 예비 단계가 수행될 수 있다. 예를 들어, 어떤 모니터들에서, 상기 모니터에 포함되는 스위치들 및/또는 점퍼들(jumpers)이 상기 프로그래머블 메모리의 프로그래밍을 인에이블시키기 위해 설정된 위치에 세팅된다. 또, (상기 모니터 내부에 위치된) 상기 스위치들 및 점퍼들이 액세스될 수 있도록 모니터의 외부 케이스가 제거된다. 또한, 상기 프로그래머블 메모리는 상기 모니터의 내부에 위치된 소켓을 통해서만 액세스 가능하다. 그러므로, 상기 모니터의 상기 프로그래머블 메모리를 프로그램하기 위해, 모니터의 외부 케이스가 제거되고, 상기 점퍼들이 적당한 위치에 세팅 되고, (상기 소켓을 통하여 상기 프로그래머블 메모리에 연결된) 외부 프로그래머가 상기 프로그래머블 메모리를 프로그램한다.
어떤 모니터들에서, 비디오 그래픽 어댑터(VGA) 인터페이스를 통하여 내부 프로그래머블 메모리를 액세스하는 것이 알려져 있다. 표준 VGA 인터페이스에 포함되는 Vsync, Hsync, SDA 및 SCL과 같은 신호 라인들이 상기 프로그래머블 메모리에 기입될 데이터를 전송하는데 사용될 수 있다.
일반적으로, 상기 프로그래머블 메모리에 기입될 상기 데이터는 모니터 외부에서 모니터 내의 프로세서 회로에 전송되고, 다시 상기 프로세서 회로가 랜덤 액세스 메모리(RAM)에 상기 데이터를 저장한다. 이 후, 상기 프로세서 회로는 상기 RAM에 저장된 상기 데이터를 리드 온리 메모리(ROM)에 저장된 변환 프로그램을 사용하여 다른 포맷(format)(즉, 상기 데이터를 상기 프로그래머블 메모리에 기입하는데 사용될 수 있는 포맷)으로 변환한다. 상기 데이터가 한번 재 포맷(reformat)되면 상기 재 포맷된 데이터는 예를 들어 상기 모니터에 대한 새로운 유저 인터페이스를 제공하도록 상기 프로세서 회로에 의해 상기 프로그래머블 메모리에 기입될 수 있다.
상술한 것과 같이, 종래의 방식으로 전자 장치를 프로그램하기 위해서는, 상기 프로그래머블 메모리에 기입될 데이터를 특정 포맷으로 변환하는 프로그램을 저장하는 ROM과 같은 추가의 메모리가 요구된다. 결국, 종래의 전자 장치의 동작 제어 회로는 상기 변환 프로그램을 저장하기 위한 마스크 타입의 메모리와 데이터를 저장하는 플래시 타입의 프로그래머블 메모리를 구비해야 하므로, 그 제조 공정이 복잡하게 되고, 제조 비용이 증가하게 된다.
본 발명이 이루고자하는 기술적 과제는, 추가의 메모리들을 사용하지 않고 전자 장치를 프로그램 하는 방법을 제공하는데 있다.
본 발명이 이루고자하는 다른 기술적 과제는, 추가의 메모리들을 사용하지 않고 전자 장치를 프로그램 하는 회로를 제공하는데 있다.
본 발명이 이루고자하는 또 다른 기술적 과제는, 추가의 메모리들을 사용하지 않고 전자 장치를 프로그램하는데 사용되는 데이터의 구조를 제공하는데 있다.
본 발명이 이루고자하는 더욱 다른 기술적 과제는, 추가의 메모리들을 사용하지 않고 프로그램 가능한 전자 장치의 동작 제어 회로를 제공하는데 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 일면에 따른 전자 장치를 프로그램 하는 방법은, 프로그래머블 메모리에 프로그램 데이터를 전송하는 단계 이 후에 전자 장치의 일반적인 동작을 제공하는데 사용되는 일반 동작 처리 회로로부터 분리될 수 있고, 전자 장치의 프로그래머블 메모리의 프로그래밍을 제어하는 컨트롤러 회로를 통하여 전자 장치의 외부에서 전자 장치내의 프로그래머블 메모리에 프로그램 데이터를 전송하는 단계를 포함하는 것을 특징으로 한다.
상기 기술적 과제를 달성하기 위한 본 발명의 다른 일면에 따른 전자 장치를 프로그램 하는 방법은, 프로그래머블 메모리를 프로그램하기 위해 전자 장치의 외부에서 프로그래머블 메모리에 프로그램 데이터를 전송하는 동안, 전자 장치의 일 반 동작 처리 회로가 전자 장치의 프로그래머블 메모리를 액세스하는 것을 막는 단계를 포함하는 것을 특징으로 한다.
상기 기술적 과제를 달성하기 위한 본 발명의 또 다른 일면에 따른 전자 장치를 프로그램 하는 방법은, 전자 장치의 일반적인 동작들을 제어하는데 사용되는 전자 장치의 일반 동작 처리 회로가 전자 장치의 프로그래머블 메모리를 액세스하는 것을 막는 단계; 전자 장치의 외부에서 일반 동작 처리 회로로부터 분리될 수 있는 전자 장치의 컨트롤러 회로에 데이터를 전송하는 단계; 및 컨트롤러 회로에서 프로그래머블 메모리에 프로그램 데이터를 프로그램 하는 단계를 포함하는 것을 특징으로 한다.
상기 기술적 과제를 달성하기 위한 본 발명의 일면에 따른 전자 장치의 프로그래머블 메모리에 데이터를 프로그램 하는 방법은, 프로그래머블 메모리를 프로그램 하는 동안 프로그램될 프로그래머블 메모리의 위치를 나타내는 어드레스 정보를 제공하지 않는 단계를 포함하는 것을 특징으로 한다.
상기 기술적 과제를 달성하기 위한 본 발명의 다른 일면에 따른 전자 장치의 프로그래머블 메모리에 데이터를 프로그램 하는 방법은, 프로그래머블 메모리에 프로그램을 위한 데이터로서 헤드 데이터와 관련된 다른 필드들에 포함되는 데이터를 식별하는 정보를 포함하도록 형성되는 헤드 데이터를 전자 장치에 제공하는 단계; 관련된 데이터를 사용하여 프로그래머블 메모리에서 수행되는 프로그래밍 동작을 포함하도록 형성되는 헤드 데이터와 관련된 커맨드 데이터를 제공하는 단계; 및 커맨드에 따라 프로그래머블 메모리에 프로그램 되는 데이터를 포함하도록 형성되는 커맨드 헤드 데이터와 관련된 데이터를 제공하는 단계를 포함하는 것을 특징으로 한다. 바람직하게, 프로그래머블 메모리를 프로그램 하는데 사용되는 어드레스 정보는 상기 데이터로부터 결여된다.
상기 기술적 과제를 달성하기 위한 본 발명의 또 다른 일면에 따른 전자 장치의 프로그래머블 메모리에 데이터를 프로그램 하는 방법은, (a) CPU가 전자 장치의 동작을 제어하는 단계; (b) CPU가 ISP 어드레스 신호를 수신할 때, 전자 장치의 제어 동작을 중지하는 단계; (c) 커맨드 디코더가 ISP 어드레스 신호를 수신할 때, 외부의 프로그래밍 시스템으로부터 수신되는 직렬 데이터로부터 커맨드 코드를 추출하는 단계; (d) 커맨드 코드에 응답하여 제어신호 발생부가 복수의 제어 신호들을 발생하는 단계; (e) 복수의 제어신호들에 응답하여, 해당 ISP 모드로 동작하는 단계; 및 (f) ISP 모드가 리셋될 때, CPU가 전자 장치의 제어 동작을 재시작 하는 단계를 포함하는 것을 특징으로 한다.
상기 다른 기술적 과제를 달성하기 위한 본 발명에 따른 전자 장치를 프로그램 하는 회로는, 전자 장치의 외부로부터의 프로그램 데이터를 전자 장치의 프로그래머블 메모리에 전송하도록 형성되는 컨트롤러 회로를 구비하는 것을 특징으로 한다. 바람직하게, 컨트롤러 회로는 프로그래머블 메모리에 프로그램 데이터가 전송된 이 후에 전자 장치의 일반적인 동작들을 제공하는데 사용되는 일반 동작 처리 회로로부터 분리될 수 있다.
상기 또 다른 기술적 과제를 달성하기 위한 본 발명에 따른 전자 장치를 프로그램 하는데 사용되는 데이터의 구조는, 전자 장치의 프로그래머블 메모리에 데 이터를 프로그램 하는데 사용되고, 컴퓨터 독출 가능 매체 내에 구현된 데이터 구조에 있어서, 헤드 필드, 커맨드 필드, 및 데이터 필드를 포함하는 것을 특징으로 한다. 헤드 필드는 프로그래머블 메모리에 프로그램을 위한 데이터로서 헤드 필드와 관련된 다른 필드들에 포함되는 데이터를 식별하는 정보를 포함하도록 형성된다. 커맨드 필드는 관련된 데이터를 사용하여 프로그래머블 메모리에서 수행되는 프로그래밍 동작을 포함하도록 형성되는 헤드 필드와 결합된다. 데이터 필드는 커맨드 필드 및 커맨드에 따라 프로그래머블 메모리에 프로그램 되는 데이터를 포함하도록 형성되는 헤드 필드와 결합된다. 바람직하게, 프로그래머블 메모리의 주소 지정에 사용되는 어드레스 정보는 데이터 필드로부터 결여된다.
상기 더욱 다른 기술적 과제를 달성하기 위한 본 발명에 따른 전자 장치의 동작 제어 회로는, CPU, 프로그래머블 메모리, 커맨드 디코더, 및 제어신호 발생부를 구비하는 것을 특징으로 한다. CPU는 시리얼 버스를 통하여 외부의 프로그래밍 시스템과 통신하고, 소정의 프로그램을 실행하여 전자 장치를 제어한다. 프로그래머블 메모리는 전자 장치의 동작을 제어하기 위한 프로그램을 저장한다. 커맨드 디코더는 시리얼 버스를 통하여 프로그래밍 시스템으로부터 ISP 어드레스 신호를 포함하는 직렬 데이터를 수신할 때, 직렬 데이터로부터 커맨드 코드, 프로그래머블 메모리의 내부 어드레스 신호 및 프로그램 데이터 신호를 추출한다. 제어신호 발생부는 커맨드 코드에 응답하여, ISP 모드 동작을 제어하는 복수의 제어신호들을 발생한다. 바람직하게, 프로그래머블 메모리는 내부 어드레스 신호, 프로그램 데이터 신호 및 복수의 제어신호들에 응답하여 프로그래밍 된다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일실시예에 따른 전자 장치의 동작 제어 회로와 프로그래밍 시스템을 나타내는 블록도이다. 도 1을 참조하면, 프로그래밍 시스템(105)은 모니터, 셀 폰, PDA(Personal Digital Assistant) 등과 같은 전자 장치(100)의 동작들 또는 특징들을 제어할 수 있는 프로그램을 개발(develop)하는데 사용될 수 있다. 상기 프로그래밍 시스템(105)은 상기 전자 장치(100)의 외부에 위치하고, 상기 전자 장치(100)를 둘러싸는 커버 또는 케이스를 제거하지 않고 전자 장치(100)의 구성 요소들에 전기적으로 연결될 수 있다. 상기 전자 장치(100)는 동작 제어 회로(101)를 포함하며, 상기 동작 제어 회로(101)내의 프로그래머블 메모리(120)에는 상기 프로그램 시스템(105)을 이용하여 상기 프로그램이 저장된다. 상기 프로그래머블 메모리(120)는 기입된 데이터를, 소거되거나 또는 다른 데이터로 재 기입될 때까지 유지하는 EEPROM, 플레쉬 메모리 등의 비휘발성 메모리일 수 있다.
본 발명에 따른 어떤 실시예들에서, 프로그래밍 시스템(105)에서 개발된 프로그램은 내부 집적 회로(IIC) 표준 인터페이스와 같은 인터페이스를 통하여 상기 동작 제어 회로(101)로 (데이터로서) 전송된다. IIC 표준 인터페이스는 기술 분야에서 잘 알려져 있으므로, IIC 표준 인터페이스에 대한 자세한 설명은 생략된다. 본 발명에 따른 어떤 실시예들에서, 상기 인터페이스는 비디오 그래픽 어댑터(VGA) 인터페이스일 수 있다. 본 발명에 따른 어떤 실시예들에서 무선 인터페이스와 같은 다른 형태의 인터페이스들이 사용될 수 있다.
상기 인터페이스는 일반 동작 처리 회로(110)와 컨트롤러 회로(125)에 연결된다. 상기 일반 동작 처리 회로(110)는 프로그래머블 메모리(120)를 액세스 할 수 있고, 상기 프로그래머블 메모리(120)는 상기 전자 장치(100)의 동작들 및 특징들을 제어하는 프로그램을 저장할 수 있다. 예를 들어, 본 발명에 따른 어떤 실시예들에서, 상기 전자 장치(100)가 모니터인 경우, 상기 일반 동작 처리 회로(110)는 모니터에 대한 온-스크린 유저(on-screen user) 인터페이스를 제공하기 위해 (상기 프로그래머블 메모리(120)에 저장된) 상기 프로그램을 액세스할 수 있다.
상기 컨트롤러 회로(125)는 상기 인터페이스를 통하여, 상기 프로그래밍 시스템(105)으로부터 상기 프로그래머블 메모리(120)로 상기 프로그램을 전송할 수 있다. 본 발명에 따른 어떤 실시예들에서, 상기 컨트롤러 회로(125)가 상기 프로그램 데이터를 상기 프로그래머블 메모리(120)에 전송하는 동안, 상기 컨트롤러 회로(125)는 상기 일반 동작 처리 회로(110)가 상기 프로그래머블 메모리(120)를 액세스하는 것을 디세이블 시킨다. 상기 일반 동작 처리 회로(110)가 상기 프로그래머블 메모리(120)를 액세스하는 것을 디세이블 시킴으로써, 상기 일반 동작 처리 회로(110)와 상기 컨트롤러 회로(125)간의 상기 프로그래머블 메모리(120)에 대한 액세스 충돌을 피할 수 있다.
도 2는 본 발명의 실시예에 따른 동작 제어 회로(201)를 상세히 나타내는 블록도이다.
도 2를 참조하면, 동작 제어 회로(201)는 상기 프로그램 데이터가 외부의 프로그래밍 시스템(105, 도 1 참조)에 의해 제공될 수 있는 인터페이스에 연결되는 디코더 회로(230)를 구비할 수 있다. 본 발명에 따른 어떤 실시예들에서, 상기 인터페이스에 포함되는 직렬 클럭(Serial Clock) 라인(SCLK)의 클럭 신호에 의해 동기화 되는 상기 프로그램 데이터가 직렬 데이터(Serial Data) 라인(SDAT)을 통하여 전송된다.
삭제
도 3은 본 발명에 따른 데이터 구조를 나타내는 도면이다.
도 3을 참조하면, 상기 헤드 필드(350)는 상기 동작 제어 회로(201)와 관련된 어드레스 범위 내에서 지정된(reserved) 소정의 어드레스들에 대응하도록 선택되는 어드레스 정보를 포함할 수 있다.
예를 들어, 상기 프로그래밍 시스템(105)은 상기 동작 제어 회로(201)에 대해 지정된 어드레스 범위 내의 어드레스를 상기 동작 제어 회로(201)에 전송하고, 상기 동작 제어 회로(201)는 수신된 데이터가 상기 프로그래머블 메모리(220)의 재 프로그래밍을 위한 것인지의 여부를 판단한다.
상기 디코더 회로(230)는 헤드 필드(350)에 포함된 정보가 상기 동작 제어 회로(201)와 관련된 어드레스를 포함하는지를 판단하기 위해 상기 헤드 필드(350)를 처리한다. 상기 헤드 필드(350)가 상기 동작 제어 회로(201)를 가리키는 경우, 상기 디코더 회로(230)는 상기 헤드 필드(350)와 관련된 상기 데이터 구조의 커맨드/어드레스 필드(355)를 처리한다. 상기 커맨드/어드레스 필드(355)는 상기 프로그래머블 메모리(220)에서 수행될 독출/기입/소거 커맨드들 및 그와 관련된 어드레스 정보를 포함한다.
상기 커맨드/어드레스 필드(355)에 포함되는 상기 독출/기입/소거 커맨드는 상기 데이터 구조의 데이터 필드(360)내에 포함되는 데이터에 영향을 미칠 수 있다. 예를 들어, 상기 커맨드/어드레스 필드(355)가 기입 커맨드가 수행될 것을 나타내는 정보를 포함하면, 상기 데이터 필드(360) 내에 포함되는 상기 정보가 상기 프로그래머블 메모리(220)의 (상기 커맨드/어드레스 필드(355)로 지정되는) 어드레스에 기입된다.
또한, 상기 커맨드/어드레스 필드(355)가 독출 커맨드를 나타내면, 상기 데이터 필드(360) 내에 포함되는 상기 어드레스는 상기 프로그래머블 메모리(220)의 대응하는 어드레스로부터 데이터를 독출하는데 사용될 수 있다. 또한, 상기 커맨드/어드레스 필드(355)에서 소거 커맨드는 상기 프로그래머블 메모리(220)의 적어도 일부분이 소거되는 것을 지시한다. 상기 데이터 필드(360)가 어드레스 정보에 고정되지 않을 수 있다는 것이 이해될 것이다. 더욱이, 상기 전송은 초기 데이터 구조 다음에 오는 복수의 연속적인 데이터 구조들을 포함할 수 있고, 상기 복수의 연속적인 데이터 구조들은 어드레스와 커맨드 정보에 고정되지 않는 상기 프로그래머블 메모리(220)에 기입될 데이터를 포함한다.
다시 도 2를 참조하면, 상기 데이터가 상기 프로그래머블 메모리(220)에 지시된다는 것을 나타내는 정보를 상기 헤드 필드(350)가 포함하는 것으로 상기 디코더 회로(230)가 판단하면, 상기 데이터 구조 내에 포함되는 어드레스 및 데이터 정보는 상기 프로그래머블 메모리(220)에 연결되는 버퍼 회로(235)에 전송된다. 예를 들어, 우선의 워드 또는 섹터 크기에 따른 상기 프로그래머블 메모리(220)에 기입될 데이터를 정리하기 위해 상기 버퍼 회로(235)가 사용될 수 있다. 상기 버퍼 회로(235)는 또한 상기 프로그래머블 메모리(220)의 적당한 위치가 액세스되도록 상기 프로그래머블 메모리(220)에 어드레스 인터페이스를 제공할 수 있다.
상기 프로그래머블 메모리(220)에 데이터가 제공되고, 상기 프로그래머블 메모리(220)로부터의 데이터가 제공될 수 있도록 상기 버퍼 회로(235)는 양방향 인터페이스를 제공할 수 있는 것이 이해될 것이다.
상기 디코더 회로(230)는 상기 커맨드/어드레스 필드(355)에 포함되는 정보에 기초하여 상기 데이터 구조에 포함되는 커맨드 정보를 프로그래머블 메모리 컨트롤러 회로(240)에 제공한다. 상기 프로그래머블 메모리 컨트롤러 회로(240)는 상기 버퍼 회로(235)에 의해 상기 프로그래머블 메모리(220)에 제공되는 어드레스 및/또는 데이터와 결합하는데 사용될 제어 신호들을 상기 프로그래머블 메모리(220)에 제공한다. 따라서 상기 어드레스, 데이터, 및 제어 신호들은 상기 인터페이스에서 상기 프로그래머블 메모리(220)에 프로그램 데이터의 전송을 수행할 수 있다. 본 발명에 따른 어떤 실시예들에서, 기입에 연속하여 상기 프로그램 데이터가 상기 프로그래머블 메모리(220)내에 정확하게 저장된 것을 확인하도록 독출이 수행될 수 있다.
또한 일반 동작 처리 회로(210)가 상기 인터페이스에 연결될 수 있는 것이 이해될 것이다. 상기 일반 동작 처리 회로(210)는 상기 프로그래머블 메모리(220)에 저장된 프로그램이 상기 일반 동작 처리 회로(210)에 의해 실행될 수 있도록 상기 버퍼 회로(235)를 통하여 상기 프로그래머블 메모리(220)를 액세스 할 수 있다. 이 때 상기 버퍼 회로(235)는 단지 직렬 대 병렬 신호로 컨버터로서의 기능을 수행한다. 예를 들어, 본 발명에 따른 어떤 실시예들에서, 상기 일반 동작 처리 회로(210)는 상기 모니터의 동작을 구현하는데 사용될 수 있는 모니터에 대한 온-스크린 유저 인터페이스를 제공하기 위해 상기 프로그래머블 메모리(220)의 프로그램을 액세스할 수 있다. 상기 일반 동작 처리 회로(210)가 상기 전자 장치의 다른 동작들을 처리하기 위해 액세스 할 수 있는 RAM 및 ROM(미도시)에 상기 일반 동작 처리 회로(210)가 연결될 수 있는 것이 이해될 것이다.
상기 프로그래머블 메모리(220)에 상기 전송이 수행되는 동안 상기 디코더 회로(230)는 상기 일반 동작 처리 회로(210)가 상기 프로그래머블 메모리(220)를 액세스하는 것을 디세이블 시킬 수 있다. 상기 디코더 회로(230)는 상기 인터페이스를 통하여 수신되는 데이터가 상기 프로그래머블 메모리(220)에 지시되는 것으로 판단하는 것에 응답하여 상기 일반 동작 처리 회로(210)가 상기 프로그래머블 메모리(220)를 액세스하는 것을 막을 수 있다.
상기 전송이 완료되면, 상기 프로그래머블 메모리(220)에 새롭게 저장된 프로그램에 따라 상기 일반 동작 처리 회로가(210)가 상기 전자 장치(100)를 재 구동하도록, 상기 디코더 회로(230)가 상기 전자 장치(100)를 리셋(reset) 시킬 수 있 다. 여기에서, 상기 프로그래밍 시스템(105)이 상기 동작 제어 회로(101)를 포함하는 상기 전자 장치(100)에 리셋 신호를 인가함으로써, 상기 전자 장치(100)를 리셋시킬 수도 있다. 또한, 상기 전자 장치(100)에 공급되는 전원이 오프/온 됨에 따라, 상기 전자 장치(100)가 리셋될 수도 있다.
도 4는 본 발명의 일실시예에 따른 전자 장치를 프로그램 하는 과정을 나타내는 플로우차트이다. 도 4에 도시된 것과 같이, 상기 프로그래머블 메모리에 저장될 프로그램 데이터는 여기에서 설명되는 것과 같은 데이터 구조 포맷에 따라 상기 전자장치에 전송된다(블록 405). 상기 수신된 데이터가 상기 데이터 구조의 헤드 필드 내에 포함되는 정보에 기초하여, 상기 프로그램이 상기 전송과 관련되는지의 결정이 이루어진다(블록 410). 상기 데이터 구조 포맷의 커맨드/어드레스 필드 내에 포함되는 커맨드 형태에 대한 결정이 이루어진다(블록 415). 특히, 상기 데이터 구조에서 상기 커맨드/어드레스 필드 내에 포함되는 커맨드 형태가 기입 동작, 독출 동작과 같이 상기 프로그래머블 메모리에서 수행될 동작, 또는 상기 프로그래머블 메모리에서 수행될 소거 동작을 지정한다.
상기 프로그래머블 메모리로의 데이터 전송이 완료될 때까지 상기 일반 동작 처리 회로가 상기 프로그래머블 메모리를 액세스하는 것이 디세이블된다(블록 420). 상기 데이터 구조의 데이터 필드 내에 포함되는 데이터가 (기입 동작의 경우) 상기 프로그래머블 메모리에 전송된다(블록 425). 상기 데이터가 (블록 425) 상기 프로그래머블 메모리에 정확하게 기입되었는지를 판단하도록 상기 독출 동작이 수행될 수 있다(블록 430). 상기 전자 장치의 동작 제어 회로는 상기 일반 동작 처리 회로가 상기 프로그래머블 메모리를 액세스하도록 리셋되고 그 결과 새롭게 전송된 프로그램에 따라 상기 전자 장치의 동작들을 인에이블 시킨다(블록 440).
본 발명에 따른 실시예들은 전자장치의 프로그래머블 메모리에 데이터가 기입되도록 하는 컨트롤러 회로들을 제공할 수 있다. 특히, 상기 컨트롤러 회로는 상기 전자 장치의 일반적인 동작들을 제어하는 일반 동작 처리 회로로부터 분리될 수 있다. 또, 상기 컨트롤러 회로는 상기 일반 동작 처리 회로에 의해 제어되는 RAM 또는 ROM를 사용하지 않고 상기 프로그래머블 메모리에 데이터의 전송을 허용할 수 있다. 또한, 본 발명에 따른 어떤 실시예들에서, 데이터가 프로그래머블 메모리에 전송되는(즉, 프로그램 되는) 동안 상기 일반 동작 처리 회로는 상기 컨트롤러 회로에 의해 디세이블 될 수 있다. RAM과 ROM의 사용을 피하는 것은 본 발명의 실시예들에 따른 상기 컨트롤러 회로가 종래의 시스템들에 비하여 더 저렴한 비용으로 실행될 수 있도록 할 수 있다.
도 5는 본 발명의 다른 실시예에 따른 전자 장치의 동작 제어 회로와 프로그래밍 시스템을 나타내는 블록도이다. 도 5를 참조하면, 전자 장치(502)에 포함되는 동작 제어 회로(501)는 시리얼 버스(600)를 통하여 외부의 프로그래밍 시스템(700)에 연결된다. 도 5에서는 상기 시리얼 버스(600)의 일예로서, IIC(inter-integrated circuit) 버스가 도시된다. 또, 상기 프로그래밍 시스템(700)은 예를 들면, PC(personal computer) 등과 같은 장치가 될 수 있다. 상기 동작 제어 회로(501)는 상기 전자 장치(502)의 동작을 제어한다. 상기 전자 장치(502)는 예를 들면, 모니터 등과 같은 장치가 될 수 있다. 상기 동작 제어 회로(501)는 CPU(510), 어드레스/데이터 버퍼(520), 프로그래머블 메모리(530), 커맨드 디코더(540) 및 제어신호 발생부(550)를 포함한다. 상기 CPU(510)와 상기 커맨드 디코더(540)는 클럭 라인(601)과 데이터 라인(602)을 포함하는 상기 IIC 버스(600)를 통하여 상기 프로그래밍 시스템(700)과 연결된다. 또, 상기 CPU(510)는 상기 전자 장치(502)의 동작을 제어하기 위한 추가의 신호들을 더 수신하기 위해, 상기 IIC 버스(600)외에 상기 프로그래밍 시스템(700)과 추가의 신호 라인들(미도시)로 더 연결될 수 있다.
상기 CPU(510)는 상기 IIC 버스(600)를 통하여 상기 프로그래밍 시스템(700)과 통신하고, 상기 프로그래머블 메모리(530)에 저장된 데이터를 판독하여 해당 프로그램을 수행하고, 상기 전자 장치(502)의 동작을 제어한다.
상기 CPU(510)는 상기 프로그래밍 시스템(700)으로부터 ISP(In-system programming) 어드레스 신호를 수신하면 대기 모드로 전환하여 상기 전자 장치(502)의 제어동작을 중지한다.
상기 커맨드 디코더(540)는 상기 프로그래밍 시스템(700)으로부터 ISP 어드레스 신호를 수신하면, 상기 프로그래밍 시스템(700)으로부터 제어 클럭 신호(SCL)에 동기되어 수신되는 직렬 데이터 신호(SDA)로부터 커맨드 코드(C_CODE)를 추출한다. 상기 ISP 어드레스 신호는 전체 시스템에서 사용되지 않는 소정의 어드레스 신호로 설정될 수 있다.
상기 제어신호 발생부(550)는 상기 커맨드 디코더(540)로부터 수신되는 상기 커맨드 코드(C_CODE)를 분석하고, 기입/판독/소거의 동작들 중 어떤 동작에 대한 커맨드인지를 판단한다.
상기 제어신호 발생부(550)는 해당 ISP 모드 동작을 제어하는 기입(write) 제어신호(WCTL), 판독(read) 제어신호(RCTL), 소거(erase) 제어신호(ECTL) 중 하나를 인에이블시킨다.
상기 어드레스/데이터 버퍼(520)는 상기 CPU(510)의 요청에 의해 상기 프로그래머블 메모리(530)로부터 판독되는 데이터 신호(NDATA)를 임시 저장하고, 소정의 클럭 신호에 동기하여 상기 CPU(510)에 전송한다.
ISP 모드의 기입 동작일 때, 상기 어드레스/데이터 버퍼(520)는 상기 커맨드 디코더(540)로부터 출력되는 상기 프로그래머블 메모리(530)의 내부 어드레스 신호(PADD) 및 프로그램 데이터 신호(PDATA)를 저장하고, 상기 클럭 신호에 동기하여 상기 프로그램 데이터 신호(PDATA)를 병렬로 상기 프로그래머블 메모리(530)에 출력한다.
ISP 모드의 판독 동작일 때, 상기 어드레스/데이터 버퍼(520)는 상기 커맨드 디코더(540)로부터 출력되는 어드레스 신호(PADD)를 저장하고, 상기 클럭 신호에 동기하여 상기 프로그래머블 메모리(530)에 출력한다. 상기 어드레스/데이터 버퍼(520)는 상기 프로그래머블 메모리(530)로부터 출력되는 상기 내부 어드레스 신호(PADD)에 대응하는 프로그램 데이터 신호(PDATA)를 저장하고, 상기 클럭 신호에 동기하여 상기 프로그램 데이터 신호(PDATA)를 상기 커맨드 디코더(540)에 출력한다.
ISP 모드의 소거 동작일 때, 상기 어드레스/데이터 버퍼(520)는 상기 커맨드 디코더(540)로부터 출력되는 내부 어드레스 신호(PADD)와 'FF' 값을 갖는 벌크(bulk) 프로그램 데이터 신호(PDATA)를 저장하고, 상기 클럭 신호에 동기하여 상기 프로그래머블 메모리(530)에 출력한다.
상기 프로그래머블 메모리(530)는 상기 기입 제어신호(WCTL)에 응답하여 상기 어드레스/데이터 버퍼(520)로부터 출력되는 상기 프로그램 데이터 신호(PDATA)를 저장하고, 상기 판독 제어신호(RCTL)에 응답하여 상기 내부 어드레스 신호(PADD)에 대응하는 상기 프로그램 데이터 신호(PDATA)를 출력한다. 또, 상기 프로그래머블 메모리(530)는 상기 소거 제어신호(ECTL)에 응답하여 내부에 저장된 상기 프로그램 데이터 신호(PDATA)를 소거한다.
도 6a는 본 발명의 다른 실시예에 따른 전자 장치의 동작 제어 회로의 ISP 모드 동작을 위한 데이터의 구조를 나타내는 도면이다. 도 6a를 참조하면, ISP 모드 동작을 위한 데이터의 구조는 스타트 영역(S), ISP 어드레스 신호 영역(ISP_ADD), 동작 제어신호 영역(R_W), 커맨드 코드 영역(C_CODE), 프로그래머블 메모리(530)의 내부 어드레스 신호 영역(PADD), 프로그램 데이터 신호 영역(PDATA), 인식 영역(/A) 및 스톱 영역(P)을 포함한다. 또한, 상기 동작 제어신호 영역(R_W)에서 상기 프로그램 데이터 신호 영역(PDATA)까지의 영역들 사이에는 각각 인식 영역(A)이 더 포함된다.
상기 스타트 영역(S), 상기 동작 제어신호 영역(R_W), 상기 인식 영역(A, /A)은 1비트 정도의 크기를 가지며, 상기 ISP 어드레스 신호 영역(ISP_ADD)은 8비트 정도의 크기를 가진다. 상기 커맨드 코드 영역(C_CODE)은 추가의 인식 영역(A) 을 사이에 두고 1바이트씩 순차적으로 위치하는 복수의 데이터들(D1∼D3)을 포함한다. 도 6a에서는 상기 커맨드 코드 영역(C_CODE)이 3바이트의 데이터들(D1∼D3)을 포함하는 것으로 도시되었지만, 상기 커맨드 코드 영역(C_CODE)에 포함되는 데이터의 크기는 다양하게 변경될 수 있다. 또, 상기 커맨드 코드 영역(C_CODE)의 데이터들(D1∼D3)의 값은 ISP 모드의 각 동작들, 즉, 기입/판독/소거 동작들 각각에 대하여 서로 다르다.
여기에서, 상기 동작 제어신호 영역(R_W)의 값은 기입 또는 소거 동작인 경우 '0'으로, 판독 동작인 경우 '1'로 각각 설정될 수 있다. 기입 동작, 즉, 프로그래머블 메모리를 프로그래밍 하는 경우, 상기 프로그램 데이터 신호 영역(PDATA)은 프로그램 될 프로그램 데이터를 포함한다. 또, 소거 동작인 경우 상기 프로그램 데이터(PDATA) 영역은 'FF' 값을 갖는 벌크(bulk) 데이터를 포함하고, 판독 동작인 경우 프로그래머블 메모리로부터 출력되는 프로그램 데이터 신호를 포함한다.
도 6b는 본 발명의 다른 실시예에 따른 전자 장치의 동작 제어 회로의 ISP 모드를 리셋시키기 위한 데이터의 구조를 나타내는 도면이다. 도 6b를 참조하면, ISP 모드를 리셋시키기 위한 데이터의 구조는 스타트 영역(S), ISP 어드레스 신호 영역(ISP_ADD), 동작 제어신호 영역(R_W), 인식 영역(A), 커맨드 코드 영역(C_CODE), 인식 영역(/A) 및 스톱 영역(P)을 포함한다. 상기 스타트 영역(S), 상기 동작 제어신호 영역(R_W), 상기 인식 영역(A, /A), 상기 커맨드 코드 영역(C_CODE), 및 스톱 영역(P)은 도 6a를 참조하여 설명한 것과 동일하므로 구체적인 설명은 생략하기로 한다. ISP 모드를 리셋시키기 위한 데이터의 구조는 도 6a의 프로그램 데이터 신호 영역(PDATA)을 포함하지 않는다.
상기 동작 제어 장치(501)는 도 6b에 도시된 리셋 커맨드를 포함하는 상기 커맨드 코드(C_CODE)를 수신할 때, 리셋되어 ISP 모드의 동작을 종료한다. 또, 상기 동작 제어 장치(501)는 전원이 온/오프되거나, 리셋 포트로 소정의 리셋 제어신호가 입력될 때, 리셋되어 ISP 모드의 동작을 종료할 수도 있다.
도 7은 본 발명의 다른 일실시예에 따른 전자 장치의 동작 제어 회로의 동작 과정을 나타내는 플로우차트로서, 도 5에 도시된 상기 동작 제어 장치(501)의 동작 과정을 나타낸다. 도 7을 참조하면, CPU(510)가 시리얼 버스(600)를 통하여 외부의 프로그래밍 시스템(700)과 통신하고, 프로그래머블 메모리(530)에 저장된 프로그램 데이터를 판독하여 해당 프로그램을 수행하여, 전자 장치(502)의 동작을 제어한다(1001). 상기 시리얼 버스(600)는 예를 들면, IIC 버스로 구현될 수 있다.
상기 CPU(510)와 상기 커맨드 디코더(540)가 상기 프로그래밍 시스템(700)으로부터 ISP 어드레스 신호(ISP_ADD)를 수신하면, 상기 CPU(510)는 대기모드로 전환하여 상기 전자 장치(502)의 제어 동작을 중지한다(1002, 1003). 또, 상기 커맨드 디코더(540)는 연속적으로 수신되는 직렬 데이터 신호(SDA)로부터 커맨드 코드(C_CODE)를 추출하여 출력하고, 제어신호 발생부(550)는 상기 커맨드 코드(C_CODE)로부터 ISP 모드의 어떤 동작에 대한 커맨드인지를 분석한다(1004). 상기 제어신호 발생부(550)는 해당 ISP 모드의 동작을 위한 제어신호를 인에이블시킨다(1005). 이를 좀 더 구체적으로 설명하면, 상기 커맨드 코드(C_CODE)가 기입 동작, 즉, 프로그래머블 메모리(530)를 프로그래밍 하는 동작인 경우, 기입 제어신 호(WCTL)를 인에이블시킨다. 또, 상기 커맨드 코드(C_CODE)가 판독 동작인 경우 판독 제어신호(RCTL)를 인에이블시키고, 소거 동작인 경우 소거 제어신호(ECTL)를 인에이블시킨다.
이 후, 상기 제어신호들(WCTL, RCTL, ECTL)에 응답하여 상기 프로그래머블 메모리(530)가 기입 동작, 판독 동작, 소거 동작 중 어느 하나의 ISP 모드 동작을 수행한다(1006).
다음으로, 상기 ISP 모드가 리셋될 때(1007), 상기 CPU(510)는 동작모드로 전환하여 상기 전자 장치(502)의 제어 동작을 다시 시작한다(1008). 또, 상기 단계(1007)에서 상기 ISP 모드가 리셋되지 않은 경우, 상기 단계(1004)로 리턴한다. 여기에서, 상기 ISP 모드는 리셋 커맨드를 포함하는 커맨드 코드(C_CODE)를 수신하거나, 전원이 온/오프되거나, 또는 리셋 포트로 소정의 리셋 제어신호가 입력될 때, 리셋된다.
상기와 같이, 본 발명에 따른 전자 장치의 동작 제어 회로(501)의 ISP 모드 동작은 상기 CPU(510)의 개입 없이, 상기 커맨드 디코더(540), 상기 제어신호 발생부(550), 및 상기 어드레스/데이터 버퍼(520)에 의해서만 이루어지므로, 별도의 부트(boot) ROM과 같은 메모리를 추가로 구비하지 않아도 된다.
또한, 본 발명에 따른 전자 장치의 동작 제어 회로(501)에서는 기존에 사용되는 시리얼 버스를 통하여 ISP 모드 동작을 위한 데이터를 송수신하므로, 별도의 신호 라인을 필요로 하지 않는다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상기한 것과 같이, 본 발명에 따른 전자 장치를 프로그램 하는 방법, 회로, 및 데이터 구조와, 그 전자 장치의 동작 제어 회로는, 추가의 메모리들을 사용하지 않고 전자 장치의 프로그래머블 메모리를 프로그램하므로, 그 제조 공정이 간소화 될 수 있고, 제조 비용이 절감 될 수 있는 효과가 있다.

Claims (36)

  1. 전자 장치의 외부로부터, 상기 전자 장치 내의 프로그래머블 메모리에 프로그래밍되는 프로그램 데이터를 수신하는 단계; 및
    상기 프로그래머블 메모리의 프로그래밍을 제어하는 컨트롤러 회로를 통하여, 상기 프로그래머블 메모리로 상기 수신된 프로그램 데이터를 전송하는 단계를 구비하고,
    상기 프로그래머블 메모리로 상기 수신된 프로그램 데이터를 전송하는 단계는, 상기 전자 장치의 일반적인 동작을 제공하는데 사용되는 일반 동작 처리 회로를 거치지 않고 수행되는 것을 특징으로 하는 전자 장치를 프로그램하는 방법.
  2. 제1항에 있어서, 상기 전송 단계는,
    상기 컨트롤러 회로로부터 분리될 수 있는 랜덤 액세스 메모리(RAM)와 리드 온리 메모리(ROM) 장치들을 사용하지 않고 상기 프로그램 데이터를 전송하는 단계를 포함하는 것을 특징으로 하는 전자 장치를 프로그램 하는 방법.
  3. 제2항에 있어서,
    상기 RAM과 ROM은 상기 일반 동작 처리 회로에 의해 제어되어 동작하고, 상기 컨트롤러 회로에 의해 제어되지 않는 것을 특징으로 하는 전자 장치를 프로그램 하는 방법.
  4. 제1항에 있어서, 상기 전송 단계는,
    상기 전자 장치의 신호 케이블을 통하여 상기 전자 장치에 상기 프로그램 데이터를 전송하는 단계를 포함하는 것을 특징으로 하는 전자 장치를 프로그램 하는 방법.
  5. 제1항에 있어서, 상기 전송 단계는,
    내부 집적 회로(Inter-Integrated Circuit) 인터페이스를 통하여 상기 전자 장치에 상기 프로그램 데이터를 전송하는 단계를 포함하는 것을 특징으로 하는 전자 장치를 프로그램 하는 방법.
  6. 제1항에 있어서, 상기 전송 단계는,
    직렬 인터페이스를 통하여 상기 전자 장치에 상기 프로그램 데이터를 전송하 는 단계를 포함하는 것을 특징으로 하는 전자 장치를 프로그램 하는 방법.
  7. 제1항에 있어서,
    상기 일반 동작 처리 회로는 상기 프로그래머블 메모리에 상기 프로그램 데이터를 전송하는 단계 이 후에, 상기 프로그래머블 메모리의 상기 프로그램 데이터를 액세스하여 상기 전자 장치의 일반적인 동작을 제공하는 것을 특징으로 하는 전자 장치를 프로그램 하는 방법.
  8. 제6항에 있어서,
    상기 일반 동작 처리 회로는 RAM과 프로그래머블 메모리를 개별적으로 액세스하여 상기 전자 장치의 일반적인 동작을 제공하는 것을 특징으로 하는 전자 장치를 프로그램 하는 방법.
  9. 제1항에 있어서,
    상기 프로그래머블 메모리에 상기 프로그램 데이터를 전송하는 동안 상기 일반 동작 처리 회로가 상기 프로그래머블 메모리를 액세스하는 것을 막는 단계를 더 포함하는 것을 특징으로 하는 전자 장치를 프로그램 하는 방법.
  10. 제1항에 있어서,
    상기 프로그래머블 메모리에 상기 프로그램 데이터의 상기 전송이 완료된 것 을 나타내는 지시를 상기 전자 장치의 외부에 전송하는 단계를 더 포함하는 것을 특징으로 하는 전자 장치를 프로그램 하는 방법.
  11. 제10항에 있어서,
    상기 프로그래머블 메모리에 전송된 상기 프로그램 데이터를 액세스하도록 상기 일반 동작 처리 회로를 인에이블 시키기 위해 상기 컨트롤러 회로에 리셋 신호를 전송하는 단계를 더 포함하는 것을 특징으로 하는 전자 장치를 프로그램 하는 방법.
  12. 제10항에 있어서,
    상기 프로그래머블 메모리에 전송된 상기 프로그램 데이터를 액세스하도록 상기 일반 동작 처리 회로를 인에이블 시키는 상기 컨트롤러 회로를 리셋 시키기 위해 상기 컨트롤러 회로에 공급되는 전원을 재 순환시키는 단계를 더 포함하는 것을 특징으로 하는 전자 장치를 프로그램 하는 방법.
  13. 프로그래머블 메모리를 프로그램하기 위해 전자 장치의 외부에서 상기 프로그래머블 메모리에 프로그램 데이터를 전송하는 동안, 상기 전자 장치의 일반 동작 처리 회로가 상기 전자 장치의 프로그래머블 메모리를 액세스하는 것을 막는 단계를 포함하는 것을 특징으로 하는 전자 장치를 프로그램 하는 방법.
  14. 제13항에 있어서,
    상기 일반 동작 처리 회로는 상기 프로그래머블 메모리에 상기 프로그램 데이터를 전송하는 단계 이 후에 상기 전자 장치의 일반적인 동작을 제공하는 것을 특징으로 하는 전자 장치를 프로그램 하는 방법.
  15. 제14항에 있어서,
    상기 일반 동작 처리 회로는 상기 프로그래머블 메모리에 상기 프로그램 데이터를 전송하는 단계 이 후에 상기 전자 장치의 일반적인 동작을 제공하기 위해 상기 프로그래머블 메모리의 프로그램 데이터를 액세스하는 것을 특징으로 하는 전자 장치를 프로그램 하는 방법.
  16. 제13항에 있어서,
    상기 전자 장치의 외부에서 상기 일반 동작 처리 회로로부터 분리될 수 있는 상기 전자 장치내의 컨트롤러 회로에 데이터를 전송하는 단계; 및
    상기 프로그래머블 메모리에 상기 프로그램 데이터를 프로그램 하는 단계를 더 포함하는 것을 특징으로 하는 전자 장치를 프로그램 하는 방법.
  17. 전자 장치의 일반적인 동작들을 제어하는데 사용되는 상기 전자 장치의 일반 동작 처리 회로가 상기 전자 장치의 프로그래머블 메모리를 액세스하는 것을 막는 단계;
    상기 전자 장치의 외부에서 상기 일반 동작 처리 회로로부터 분리될 수 있는 상기 전자 장치의 컨트롤러 회로에 데이터를 전송하는 단계; 및
    상기 컨트롤러 회로에서 상기 프로그래머블 메모리에 상기 프로그램 데이터를 프로그램 하는 단계를 포함하는 것을 특징으로 하는 전자 장치를 프로그램 하는 방법.
  18. 제17항에 있어서,
    상기 프로그램 데이터의 프로그래밍이 완료된 것을 나타내는 지시를 상기 전자 장치의 외부에 전송하는 단계를 더 포함하는 것을 특징으로 하는 전자 장치를 프로그램 하는 방법.
  19. 제18항에 있어서,
    상기 전자 장치의 일반적인 동작을 제공하기 위해, 상기 프로그래머블 메모리에 프로그램 된 상기 프로그램 데이터를 액세스하도록 상기 일반 동작 처리 회로를 인에이블 시키는 상기 컨트롤러 회로에 리셋 신호를 전송하는 단계를 더 포함하는 것을 특징으로 하는 전자 장치를 프로그램 하는 방법.
  20. 제18항에 있어서,
    상기 전자 장치의 일반적인 동작을 제공하기 위해 상기 프로그래머블 메모리에 프로그램 된 상기 프로그램 데이터를 액세스하도록 상기 일반 동작 처리 회로를 인에이블 시키는 상기 컨트롤러 회로를 리셋 시키기 위해 상기 컨트롤러 회로에 전원을 재 순환시키는 단계를 더 포함하는 것을 특징으로 하는 전자 장치를 프로그램 하는 방법.
  21. 프로그래머블 메모리의 어드레스를 식별하는 어드레스 정보를 상기 프로그래머블 메모리로 제공하는 단계; 및
    상기 프로그래머블 메모리에 프로그램되는 데이터를 프로그래머블 메모리로 제공하는 단계를 구비하고,
    상기 어드레스 정보를 제공하는 단계는,
    상기 프로그래머블 메모리에 상기 데이터를 프로그램하는 동안에는, 상기 어드레스 정보를 제공하지 않는 것을 특징으로 하는 프로그래머블 메모리에 데이터를 프로그램하는 방법.
  22. 헤드 데이터와 관련되고 다른 필드들에 포함되는 데이터를 프로그래머블 메모리에 프로그램하기 위한 데이터로써 식별하는 정보를 포함하는 헤드 데이터를 전자 장치에 제공하는 단계;
    상기 헤드 데이터와 관련되고, 관련된 내용 데이터를 사용하여 상기 프로그래머블 메모리에서 수행되는 프로그래밍 동작을 지시하는 커맨드를 포함하는 커맨드 데이터를 제공하는 단계; 및
    상기 커맨드 데이터 및 헤드 데이터와 관련되고, 상기 커맨드에 따라 상기 프로그래머블 메모리에 프로그램되는 데이터를 포함하는 내용 데이터를 제공하는 단계를 포함하고,
    상기 프로그래머블 메모리의 주소 지정에 사용되는 어드레스 정보는 상기 내용 데이터에 포함되지 않는 것을 특징으로 하는 전자 장치의 프로그래머블 메모리에 데이터를 프로그램 하는 방법.
  23. 전자 장치의 외부로부터의 프로그램 데이터를 상기 전자 장치의 프로그래머블 메모리에 전송하도록 형성되는 컨트롤러 회로를 구비하고,
    상기 컨트롤러 회로는 상기 프로그래머블 메모리에 상기 프로그램 데이터가 전송된 이 후에 상기 전자 장치의 일반적인 동작들을 제공하는데 사용되는 일반 동작 처리 회로로부터 분리될 수 있는 것을 특징으로 하는 모니터를 프로그램 하는 회로.
  24. 제23항에 있어서, 상기 컨트롤러 회로는,
    인터페이스에 연결되고, 상기 인터페이스를 통하여 수신되는 데이터가 컨트롤러 회로 어드레스 범위내의 어드레스를 포함하는지를 판단하는 것에 응답하여 제1 신호를 제공하도록 형성되는 디코더 회로; 및
    상기 제1 신호에 응답하여 상기 프로그래머블 메모리에 적어도 하나의 제어 신호를 제공하도록 형성되는 상기 디코더 회로에 연결되는 프로그래머블 메모리 컨트롤러를 포함하고,
    상기 인터페이스를 통하여 상기 프로그램 데이터가 상기 전자 장치에 전송되는 것을 특징으로 하는 모니터를 프로그램 하는 회로.
  25. 제24항에 있어서,
    상기 디코더 회로와 상기 프로그래머블 메모리에 연결되고, 상기 프로그래머 블 메모리에 데이터를 제공하고 상기 프로그래머블 메모리로부터 데이터를 상기 디코더 회로에 제공하도록 형성되는 버퍼 회로를 더 포함하는 것을 특징으로 하는 모니터를 프로그램 하는 회로.
  26. 헤드 필드와 관련되고 다른 필드들에 포함되는 데이터를 프로그래머블 메모리에 프로그램을 위한 데이터로서 식별하는 정보를 포함하는 헤드 필드;
    상기 헤드 필드와 관련되고, 관련된 데이터를 사용하여 상기 프로그래머블 메모리에서 수행되는 프로그래밍 동작을 지시하는 커맨드를 포함하는 커맨드 필드; 및
    상기 커맨드 데이터 및 헤드 데이터와 관련되고, 상기 커맨드에 따라 상기 프로그래머블 메모리에 프로그램되는 데이터를 포함하는 데이터 필드를 포함하고,
    상기 프로그래머블 메모리의 주소 지정에 사용되는 어드레스 정보는 상기 데이터 필드에 포함되지 않는 것을 특징으로 하는 데이터 구조를 가지는 데이터를 기록한 컴퓨터로 읽을 수 있는 매체.
  27. 전자 장치의 동작을 제어하는 동작 제어 회로에 있어서,
    시리얼 버스를 통하여 외부의 프로그래밍 시스템과 통신하고, 소정의 프로그램을 실행하여 상기 전자 장치를 제어하는 CPU;
    상기 전자 장치의 동작을 제어하기 위한 프로그램을 저장하는 프로그래머블 메모리;
    상기 시리얼 버스를 통하여 상기 프로그래밍 시스템으부터 ISP 어드레스 신호를 포함하는 직렬 데이터를 수신할 때, 상기 직렬 데이터로부터 커맨드 코드, 상기 프로그래머블 메모리의 내부 어드레스 신호 및 상기 프로그램 데이터 신호를 추출하는 커맨드 디코더; 및
    상기 커맨드 코드에 응답하여, ISP 모드 동작을 제어하는 복수의 제어신호들을 발생하는 제어신호 발생부를 구비하고,
    상기 프로그래머블 메모리는 상기 내부 어드레스 신호, 상기 프로그램 데이터 신호 및 상기 복수의 제어신호들에 응답하여 프로그래밍 되는 것을 특징으로 하는 전자 장치의 동작 제어 회로.
  28. 제27항에 있어서,
    상기 CPU와 상기 프로그래머블 메모리 사이에서 송수신되는 상기 내부 어드레스 신호 및 데이터 신호를 저장하여 상호 전달하고, 상기 커맨드 디코더와 상기 프로그래머블 메모리 사이에서 송수신되는 상기 내부 어드레스 신호 및 상기 프로그램 데이터 신호를 저장하여 상호 전달하는 어드레스/데이터 버퍼를 더 구비하는 것을 특징으로 하는 전자 장치의 동작 제어 회로.
  29. 제27항에 있어서,
    상기 ISP 모드 동작은 상기 프로그래머블 메모리의 기입 동작, 판독 동작 및 소거 동작을 포함하고, 상기 커맨드 코드는 상기 기입 동작을 제어하는 기입 커맨드 코드, 상기 판독 동작을 제어하는 판독 커맨드 코드, 및 상기 소거 동작을 제어하는 소거 커맨드 코드를 포함하고, 상기 복수의 제어신호들은 기입 제어신호, 판독 제어신호, 및 소거 제어신호를 포함하고,
    상기 제어신호 발생부는,
    상기 기입 커맨드 코드에 응답하여 상기 기입 제어신호를 인에이블 시키고, 상기 판독 커맨드 코드에 응답하여 상기 판독 제어신호를 인에이블 시키고, 상기 소거 커맨드 코드에 응답하여 상기 소거 제어신호를 인에이블 시키는 것을 특징으로 하는 전자 장치의 동작 제어 회로.
  30. 제29항에 있어서,
    상기 기입 커맨드 코드, 상기 판독 커맨드 코드 및 상기 소거 커맨드 코드는 각각 서로 다른 복수의 데이터들을 포함하고, 상기 복수의 데이터들 각각은 복수의 비트들을 포함하는 것을 특징으로 하는 전자 장치의 동작 제어 회로.
  31. 제27항에 있어서,
    상기 CPU는 상기 프로그래밍 시스템으부터 상기 ISP 어드레스 신호를 포함하는 상기 직렬 데이터를 수신할 때, 대기 모드로 전환하여 상기 전자 장치의 제어 동작을 정지하고, 리셋될 때, 상기 전자 장치의 제어 동작을 재시작 하는 것을 특징으로 하는 전자 장치의 동작 제어 회로.
  32. 제27항에 있어서,
    상기 커맨드 코드는 상기 ISP 모드의 리셋을 제어하는 리셋 커맨드 코드를 더 포함하고,
    상기 동작 제어 회로는 상기 리셋 커맨드 코드에 응답하여 리셋되는 것을 특징으로 하는 전자 장치의 동작 제어 회로.
  33. 제27항에 있어서,
    상기 동작 제어 회로는 외부로부터 리셋 제어신호를 수신하는 리셋 단자를 더 포함하는 것을 특징으로 하는 전자 장치의 동작 제어 회로.
  34. (a) CPU가 전자 장치의 동작을 제어하는 단계;
    (b) 상기 CPU가 ISP 어드레스 신호를 수신할 때, 상기 전자 장치의 제어 동작을 중지하는 단계;
    (c) 커맨드 디코더가 상기 ISP 어드레스 신호를 수신할 때, 외부의 프로그래밍 시스템으로부터 수신되는 직렬 데이터로부터 커맨드 코드를 추출하는 단계;
    (d) 상기 커맨드 코드에 응답하여 제어신호 발생부가 복수의 제어 신호들을 발생하는 단계;
    (e) 상기 복수의 제어신호들에 응답하여, 해당 ISP 모드로 동작하는 단계; 및
    (f) 상기 ISP 모드가 리셋될 때, 상기 CPU가 상기 전자 장치의 제어 동작을 재시작 하는 단계를 포함하는 것을 특징으로 하는 전자 장치의 프로그래머블 메모리에 데이터를 프로그램 하는 방법.
  35. 제34항에 있어서, 상기 (f) 단계는,
    (g) 상기 커맨드 디코더가 리셋 커맨드 코드를 포함하는 상기 직렬 데이터를 수신할 때, 상기 ISP 모드 동작을 중지하는 단계를 포함하는 것을 특징으로 하는 전자 장치의 프로그래머블 메모리에 데이터를 프로그램 하는 방법.
  36. 제34항에 있어서, 상기 (f)단계는,
    (h) 상기 커맨드 디코더가 소정의 리셋 단자를 통하여 외부로부터 수신되는 리셋 제어 신호에 응답하여 상기 ISP 모드 동작을 중지하는 단계를 포함하는 것을 특징으로 하는 전자 장치의 프로그래머블 메모리에 데이터를 프로그램 하는 방법.
KR1020040015839A 2003-03-10 2004-03-09 전자 장치를 프로그램 하는 방법, 회로, 및 데이터구조와, 그 전자 장치의 동작 제어 회로 KR100594263B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020030014778 2003-03-10
KR20030014778 2003-03-10

Publications (2)

Publication Number Publication Date
KR20040081316A KR20040081316A (ko) 2004-09-21
KR100594263B1 true KR100594263B1 (ko) 2006-06-30

Family

ID=32985756

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040015839A KR100594263B1 (ko) 2003-03-10 2004-03-09 전자 장치를 프로그램 하는 방법, 회로, 및 데이터구조와, 그 전자 장치의 동작 제어 회로

Country Status (3)

Country Link
US (1) US7831740B2 (ko)
JP (1) JP4638161B2 (ko)
KR (1) KR100594263B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150140178A (ko) * 2014-06-05 2015-12-15 김은주 에이브이알 소프트웨어 시스템 및 그 제어 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005094066A1 (ja) * 2004-03-25 2005-10-06 Sony Corporation 情報信号処理装置、機能ブロック制御方法および機能ブロック
KR100866951B1 (ko) * 2005-10-28 2008-11-05 삼성전자주식회사 메모리에 저장된 데이터를 보호할 수 있는 프로그래머블프로세서 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5261055A (en) 1992-02-19 1993-11-09 Milsys, Ltd. Externally updatable ROM (EUROM)
US6035346A (en) 1997-11-03 2000-03-07 Compaq Computer Corporation Method and apparatus to reprogram flash ROM without proxy code
US6295053B1 (en) 1999-07-19 2001-09-25 Novatek Microelectronics Corp. System for reprogramming monitor function
JP2001346234A (ja) 2000-06-01 2001-12-14 Funai Electric Co Ltd メモリ書換回路

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63237143A (ja) 1987-03-25 1988-10-03 Nec Corp プログラマブルコントロ−ラ
JPH08305561A (ja) 1995-04-28 1996-11-22 Nec Corp ファームウエアダウンロード方法とその装置
TW344059B (en) * 1997-06-14 1998-11-01 Winbond Electronics Corp Method and device for carrying out updating firmware of CD-ROM driver through ATA/IDE interface
US6028445A (en) * 1997-12-30 2000-02-22 Xilinx, Inc. Decoder structure and method for FPGA configuration
JPH11338687A (ja) 1998-05-25 1999-12-10 Mitsubishi Electric Corp プログラム書換システム
US6910109B2 (en) * 1998-09-30 2005-06-21 Intel Corporation Tracking memory page state
US6507881B1 (en) * 1999-06-10 2003-01-14 Mediatek Inc. Method and system for programming a peripheral flash memory via an IDE bus
JP2001101004A (ja) 1999-09-30 2001-04-13 Ricoh Co Ltd 電子装置
DE10052877B4 (de) * 1999-10-21 2008-07-03 Samsung Electronics Co., Ltd., Suwon Mikrocontroller

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5261055A (en) 1992-02-19 1993-11-09 Milsys, Ltd. Externally updatable ROM (EUROM)
US6035346A (en) 1997-11-03 2000-03-07 Compaq Computer Corporation Method and apparatus to reprogram flash ROM without proxy code
US6295053B1 (en) 1999-07-19 2001-09-25 Novatek Microelectronics Corp. System for reprogramming monitor function
JP2001346234A (ja) 2000-06-01 2001-12-14 Funai Electric Co Ltd メモリ書換回路

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150140178A (ko) * 2014-06-05 2015-12-15 김은주 에이브이알 소프트웨어 시스템 및 그 제어 방법
KR101654194B1 (ko) * 2014-06-05 2016-09-05 김은주 에이브이알 소프트웨어 시스템 및 그 제어 방법

Also Published As

Publication number Publication date
US20040181789A1 (en) 2004-09-16
US7831740B2 (en) 2010-11-09
JP2005292863A (ja) 2005-10-20
JP4638161B2 (ja) 2011-02-23
KR20040081316A (ko) 2004-09-21

Similar Documents

Publication Publication Date Title
US20180301175A1 (en) Memory devices having special mode access
US6718407B2 (en) Multiplexer selecting one of input/output data from a low pin count interface and a program information to update a firmware device from a communication interface
US7676640B2 (en) Flash memory controller controlling various flash memory cells
KR100440610B1 (ko) 비디오디스플레이장치
US7480905B2 (en) Interface device, and method and computer readable product for updating firmware in the interface device
CN114138333B (zh) 程序加载的方法及相关装置
CN109815171A (zh) 用于存储器控制器发现供应商特定非易失性存储器设备的方法和装置
JP2000105725A (ja) チップイネーブル信号生成回路及びメモリ装置
US6954815B2 (en) Microcomputer with universal serial bus interface circuit and method of controlling the same
KR100594263B1 (ko) 전자 장치를 프로그램 하는 방법, 회로, 및 데이터구조와, 그 전자 장치의 동작 제어 회로
USRE45305E1 (en) Device for reprogramming the function of a display system
US5838952A (en) Emulator apparatus to break running program when variable is read without being initialized
US20030189562A1 (en) Device and method for repeatedly updating the function of a LCD monitor
JPH1074072A (ja) 表示装置及びその制御方法
US7028148B2 (en) Program executing device and method for executing programs
EP1457880A1 (en) Methods, circuits, and data structures for programming electronic devices
JP4793798B2 (ja) マイクロコンピュータ
EP1804166A2 (en) Memory device and information processing apparatus
US6789138B1 (en) Computer peripheral apparatus and a computer readable medium having a program for controlling the computer peripheral apparatus
US20080098162A1 (en) Embedded system and interface apparatus thereof and method of updating data for non-volatile memory
JP2002149625A (ja) マイクロコンピュータの制御方法
US6854047B2 (en) Data storage device and data transmission system using the same
JP2978008B2 (ja) メモリ管理方式
JPH07193860A (ja) プログラムメモリを有した携帯端末装置
JP2008041023A (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: 20130531

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140530

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150601

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160531

Year of fee payment: 11