KR20210076608A - 펌웨어 라이트 방법 - Google Patents
펌웨어 라이트 방법 Download PDFInfo
- Publication number
- KR20210076608A KR20210076608A KR1020190167986A KR20190167986A KR20210076608A KR 20210076608 A KR20210076608 A KR 20210076608A KR 1020190167986 A KR1020190167986 A KR 1020190167986A KR 20190167986 A KR20190167986 A KR 20190167986A KR 20210076608 A KR20210076608 A KR 20210076608A
- Authority
- KR
- South Korea
- Prior art keywords
- function
- integrated circuit
- boot loader
- volatile memory
- touch
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 39
- 230000006870 function Effects 0.000 claims abstract description 193
- 238000004519 manufacturing process Methods 0.000 abstract description 10
- 238000012938 design process Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
- G06F9/441—Multiboot arrangements, i.e. selecting an operating system to be loaded
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7839—Architectures of general purpose stored program computers comprising a single central processing unit with memory
- G06F15/7864—Architectures of general purpose stored program computers comprising a single central processing unit with memory on more than one IC chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0416—Control or interface arrangements specially adapted for digitisers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
일 실시예는 부트로더를 집적회로에 라이트하는 단계를 일원화함으로써 설계 및 제조공정을 단순화할 수 있다.
Description
본 실시예는 터치센싱을 위한 집적회로에서 펌웨어(firmware)를 라이트(write)하는 기술에 관한 것이다.
전자장치의 스크린은 이미지가 표시되는 영역일 뿐만 아니라 입력을 수신하는 영역일 수 있다. 전자장치의 스크린이 입력을 수신하기 위하여 외부 오브젝트의 터치나 근접을 인식하는 터치센싱기술이 사용된다. 전자장치 내부의 터치패널은 평면상에서 표시패널과 같은 위치에 놓이게 되는데, 이에 따라, 사용자들은 표시패널의 영상을 보면서 터치패널로 사용자조작신호를 입력할 수 있게 된다. 이러한 사용자조작신호 발생방법은 그 이전의 다른 사용자조작신호 입력방식-예를 들어, 마우스 입력방식이나 키보드 입력방식-에 비해 놀라운 사용자 직관성을 제공해 준다.
일반적으로 전자장치는 터치 또는 근접을 센싱하기 위하여 다수의 집적회로를 포함하는데, 다수의 집적회로는 터치센싱을 위한 개별적인 기능을 수행할 수 있다. 어떤 집적회로는 일 기능을 수행하는 마스터(master)로서 동작하고, 어떤 집적회로는 다른 기능을 수행하는 슬레이브(slave)로서 동작할 수 있다. 이러한 다수의 집적회로는 각각 마이크로프로세서 및 메모리를 포함할 수 있는데, 마이크로프로세서는 각 기능-예를 들어 마스터 기능 또는 슬레이브 기능-에 맞는 부트로더와 펌웨어가 라이트(write)되어 저장된 메모리에 접근하고, 집적회로가 구동될 때마다 부트로더와 펌웨어를 실행시킬 수 있다.
그래서 터치센싱을 위한 집적회로가 전자장치에서 최초로 구동되기 전에, 집적회로에 부여된 기능에 맞는 부트로더와 펌웨어가 집적회로의 메모리에 라이트되어야 한다. 터치센싱을 위한 집적회로를 제조하기 위해서는, 집적회로를 기능별로 분류하고, 기능에 따른 부트로더 및 펌웨어를 각각 개발하고, 상기 기능별로 분류된 집적회로에 상응하게 부트로더 및 펌웨어를 라이트하여야 한다.
그러나 이러한 과정은 집적회로를 기능별로 다르게 설계해야 하는 점에서 터치센싱집적회로의 설계를 복잡하게 만들 수 있다. 또한 이러한 과정은 기능별로 집적회로를 따로 관리해야 할 뿐만 아니라 기능별 부트로더와 펌웨어를 각각 개발하고 라이트하여야 하는 점에서, 터치센싱집적회로의 제조공정을 복잡하게 만들고 제조공정상의 리스크(risk)를 높일 수 있다.
이와 관련하여 본 실시예에서는 집적회로에 대한 부트로더 및 펌웨어의 라이트 또는 운용 방법을 개선함으로써, 설계 및 제조공정을 용이하게 하는 기술을 제공하고자 한다.
이러한 배경에서, 본 실시예의 일 목적은, 부트로더를 집적회로에 라이트하는 단계를 일원화하고 펌웨어를 집적회로에 라이트하는 단계를 이원화하는 펌웨어 라이트 기술을 제공하는 것이다.
본 실시예의 다른 목적은, 마스터 및 슬레이브로 모두 동작할 수 있는 부트로더를 일괄적으로 집적회로에 라이트한 뒤에 기능에 맞는 펌웨어를 라이트하는 기술을 제공하는 것이다.
전술한 목적을 달성하기 위하여, 일 실시예는, 제1 기능 및 제2 기능을 수행할 수 있는 공용부트로더가 저장되는 제1 비휘발성 메모리와 제2 비휘발성 메모리; 상기 제1 기능을 수행하도록 상기 공용부트로더를 설정(configure)하는 제1 집적회로; 및 상기 제2 기능을 수행하도록 상기 공용부트로더를 설정하는 제2 집적회로를 포함하고, 상기 제1 비휘발성 메모리에는, 상기 제1 기능에 부합하는 제1 펌웨어가 상기 제1 기능으로 설정된 공용부트로더와 함께 저장되며, 상기 제2 비휘발성 메모리에는, 상기 제2 기능에 부합하는 제2 펌웨어가 상기 제2 기능으로 설정된 공용부트로더와 함께 저장되는 집적회로시스템을 제공한다.
상기 집적회로시스템에서, 상기 제1 집적회로 및 상기 제2 집적회로는, 상기 제1 기능 및 상기 제2 기능 중 어떤 기능으로 상기 공용부트로더를 설정할지 결정하는 선택신호를 수신할 수 있다.
상기 집적회로시스템에서, 상기 제1 집적회로는, 상기 공용부트로더가 상기 제1 기능을 수행하도록 결정하는 제1 선택신호를 수신하고, 상기 제1 선택신호에 따라 상기 공용부트로더를 설정할 수 있다.
상기 집적회로시스템에서, 상기 제2 집적회로는, 상기 공용부트로더가 상기 제2 기능을 수행하도록 결정하는 제2 선택신호를 수신하고, 상기 제2 선택신호에 따라 상기 공용부트로더를 설정할 수 있다.
상기 집적회로시스템에서, 상기 제1 집적회로 및 상기 제2 집적회로는, 마이크로컨트롤러(MCU: micro controller unit)이고, 상기 제1 기능은, 상기 제1 집적회로 및 상기 제2 집적회로 중 어느 하나가 마스터(master)로서 기능하는 것을 포함하고, 상기 제2 기능은, 상기 제1 집적회로 및 상기 제2 집적회로 중 나머지 하나가 슬레이브(slave)로서 기능하는 것을 포함할 수 있다.
상기 집적회로시스템에서, 상기 제1 집적회로는, 상기 제1 기능으로 설정된 공용부트로더와 상기 제1 펌웨어에 기반하여 호스트(host) 및 상기 제2 집적회로와 통신할 수 있다.
상기 집적회로시스템에서, 상기 제2 집적회로는, 상기 제2 기능으로 설정된 공용부트로더와 상기 제2 펌웨어에 기반하여 상기 제1 집적회로와 통신할 수 있다.
상기 집적회로시스템에서, 상기 공용부트로더는, 특성을 나타내는 바이너리(binary) 형태의 식별데이터를 포함할 수 있다.
상기 집적회로시스템에서, 상기 제1 기능으로 설정된 공용부트로더와 상기 제2 기능으로 설정된 공용부트로더는, 서로 동일한 식별데이터를 포함할 수 있다
다른 실시예는, 제1 비휘발성 메모리, 상기 제1 비휘발성 메모리에 접근가능한 제1 집적회로, 제2 비휘발성 메모리 및 상기 제2 비휘발성 메모리에 접근가능한 제2 집적회로를 포함하는 집적회로시스템에 펌웨어를 라이트(write)하는 방법에 있어서, 복수의 기능을 수행할 수 있는 부트로더가 상기 제1 비휘발성 메모리 및 상기 제2 비휘발성 메모리에 각각 저장되는 단계; 상기 제1 집적회로가 상기 제1 비휘발성 메모리에 저장된 부트로더를 상기 복수의 기능 중 일 기능을 수행하도록 설정(configure)하는 단계; 상기 제2 집적회로가 상기 제2 비휘발성 메모리에 저장된 부트로더를 상기 복수의 기능 중 다른 기능을 수행하도록 설정하는 단계; 상기 일 기능에 부합하는 펌웨어가 상기 제1 비휘발성 메모리에 저장되는 단계; 및 상기 나머지 하나의 기능에 부합하는 펌웨어가 상기 제2 비휘발성 메모리에 저장되는 단계를 포함하는 펌웨어 라이트 방법을 제공한다.
상기 방법에서, 상기 제1 집적회로의 설정 단계는, 상기 부트로더의 복수의 기능 중 일 기능을 결정하는 제1 선택신호를 수신하고, 상기 제1 선택신호에 따라 상기 부트로더를 설정하고, 상기 일 기능은, 마스터마이크로컨트롤러로서의 기능을 포함할 수 있다.
상기 방법에서, 상기 제2 집적회로의 설정 단계는, 상기 부트로더의 복수의 기능 중 다른 기능을 결정하는 제2 선택신호를 수신하고, 상기 제2 선택신호에 따라 상기 부트로더를 설정하고, 상기 다른 기능은, 슬레이브마이크로컨트롤러로서의 기능을 포함할 수 있다.
상기 방법에서, 상기 부트로더는, 상기 제1 집적회로 및 상기 제2 집적회로에 모두 적용될 수 있는 공용부트로더를 포함하고, 상기 부트로더가 저장되는 단계는, 상기 공용부트로더가 일괄적으로 상기 제1 비휘발성 메모리 및 상기 제2 비휘발성 메모리에 각각 저장될 수 있다.
상기 방법에서, 상기 일 기능의 펌웨어가 저장되는 단계는, 상기 제1 집적회로가 상기 제1 비휘발성 메모리에 저장된 부트로더를 상기 일 기능으로 설정한 이후에, 상기 일 기능의 펌웨어가 저장되고, 상기 다른 기능의 펌웨어가 저장되는 단계는, 상기 제2 집적회로가 상기 제2 비휘발성 메모리에 저장된 부트로더를 상기 다른 기능으로 설정한 이후에, 상기 다른 기능의 펌웨어가 저장될 수 있다.
또 다른 실시예는, 외부 오브젝트의 터치 또는 근접을 센싱하는 터치센싱시스템에 있어서, 상기 터치 또는 근접 여부에 대한 터치데이터를 생성하는 터치구동부; 및 상기 터치데이터를 수신하고 상기 터치데이터로부터 상기 터치 또는 근접을 판정하는 터치제어부를 포함하는 터치센싱장치; 및 상기 터치 또는 근접을 판정하기 위한 복수의 기능을 수행하는 공용부트로더 및 상기 복수의 기능 중 어느 하나의 기능에 부합하는 펌웨어가 저장되는 비휘발성 메모리를 포함하고, 상기 터치제어부는, 상기 터치구동부로부터 상기 터치데이터를 수신하는 제1 터치제어부와 상기 제1 터치제어부를 제어하는 제2 터치제어부를 포함하고, 상기 제1 터치제어부 및 상기 제2 터치제어부는, 상기 비휘발성 메모리에 저장된 공용부트로더를 상기 어느 하나의 기능으로 설정하고, 상기 설정된 공용부트로더와 상기 펌웨어에 기반하여 동작하는 터치센싱시스템을 제공한다.
이상에서 설명한 바와 같이 본 실시예에 의하면, 부트로더를 집적회로에 라이트하는 단계를 일원화함으로써 설계 및 제조공정이 단순화될 수 있다.
도 1은 일 실시예에 따른 표시장치의 구성도이다.
도 2는 일 실시예에 따른 표시장치에서 마이크로컨트롤러, 소스리드아웃회로 및 패널의 연결을 나타내는 도면이다.
도 3은 일 실시예에 따른 마이크로컨트롤러에 대한 마스터-슬레이브 구조를 나타내는 도면이다.
도 4는 일 실시예에 따른 마이크로컨트롤러의 구성도이다.
도 5는 일 실시예에 따른 마스터마이크로컨트롤러 및 슬레이브마이크로컨트롤러의 구성도이다.
도 6은 일 실시예에 따른 마이크로컨트롤러를 위한 집적회로가 마스터 또는 슬레이브로 동작하도록 부트로더 및 펌웨어를 비휘발성 메모리에 라이트하는 과정을 나타내는 흐름도이다.
도 7은 일 실시예에 따른 집적회로가 마스터 또는 슬레이브로 설정되어 동작하는 과정을 나타내는 흐름도이다.
도 8은 일 실시예에 따른 터치센싱시스템의 블록도이다.
도 2는 일 실시예에 따른 표시장치에서 마이크로컨트롤러, 소스리드아웃회로 및 패널의 연결을 나타내는 도면이다.
도 3은 일 실시예에 따른 마이크로컨트롤러에 대한 마스터-슬레이브 구조를 나타내는 도면이다.
도 4는 일 실시예에 따른 마이크로컨트롤러의 구성도이다.
도 5는 일 실시예에 따른 마스터마이크로컨트롤러 및 슬레이브마이크로컨트롤러의 구성도이다.
도 6은 일 실시예에 따른 마이크로컨트롤러를 위한 집적회로가 마스터 또는 슬레이브로 동작하도록 부트로더 및 펌웨어를 비휘발성 메모리에 라이트하는 과정을 나타내는 흐름도이다.
도 7은 일 실시예에 따른 집적회로가 마스터 또는 슬레이브로 설정되어 동작하는 과정을 나타내는 흐름도이다.
도 8은 일 실시예에 따른 터치센싱시스템의 블록도이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
도 1은 일 실시예에 따른 표시장치의 구성도이다.
도 1을 참조하면, 표시장치(100)는 패널(110), 소스리드아웃회로(SRIC: source readout IC, 120), 게이트구동회로(GDIC: gate driving IC, 130) 및 타이밍컨트롤러(TCON: timing controller, 140)를 포함할 수 있다.
패널(110)에는 복수의 데이터라인(DL) 및 복수의 게이트라인(GL)이 배치되고, 복수의 화소가 배치될 수 있다. 화소는 복수의 서브화소(SP; Sub-Pixel)로 구성될 수 있다. 여기서, 서브화소는 R(red), G(green), B(blue), W(white) 등일 수 있다. 하나의 화소는 RGB의 서브화소(SP)로 구성되거나, RGBG의 서브화소(SP)로 구성되거나, RGBW의 서브화소(SP) 등으로 구성될 수 있다. 이하에서는, 설명의 편의상, 하나의 화소는 RGB의 서브화소(SP)로 구성되는 것으로 설명한다.
소스리드아웃회로(120), 게이트구동회로(130) 및 타이밍컨트롤러(140)는 패널(110)에 영상을 표시하기 위한 신호들을 생성하는 장치이다.
게이트구동회로(130)는 턴온전압 혹은 턴오프전압의 게이트구동신호를 게이트라인(GL)으로 공급할 수 있다. 턴온전압의 게이트구동신호가 서브화소(SP)로 공급되면 서브화소(SP)는 데이터라인(DL)과 연결된다. 그리고, 턴오프전압의 게이트구동신호가 서브화소(SP)로 공급되면 서브화소(SP)와 데이터라인(DL)의 연결은 해제된다.
소스리드아웃회로(120)는 내부에 소스드라이버를 포함할 수 있다. 소스드라이버는 데이터라인(DL)을 통해 서브화소(SP)로 데이터전압을 공급할 수 있다. 데이터라인(DL)으로 공급되는 데이터전압은 게이트구동신호에 따라 서브화소(SP)로 공급될 수 있다.
또한 소스리드아웃회로(120)는 내부에 리드아웃회로(ROIC; readout IC)를 포함할 수 있다. 리드아웃회로는 소스드라이버와 함께 소스리드아웃회로(120)에 내장될 수 있다. 리드아웃회로는 서브화소(SP) 주변의 전극을 구동하여 터치입력을 센싱할 수 있다. 스리드아웃회로(120)는 터치라인(TL)을 통해 전극을 구동하고 전극으로부터 나온 아날로그신호를 수신할 수 있다.
소스리드아웃회로(120)는 테이프오토메이티드본딩(TAB: Tape Automated Bonding) 타입 또는 칩온글래스(COG: Chip On Glass) 타입으로 패널(110)의 본딩 패드(Bonding Pad)에 연결되거나, 패널(110)에 직접 형성될 수도 있으며, 실시예에 따라서, 패널(110)에 집적화되어 형성될 수도 있다. 또한, 소스리드아웃회로(120는 칩온필름(COF: Chip On Film) 타입으로 구현될 수도 있다.
타이밍컨트롤러(140)는 게이트구동회로(130 및 소스리드아웃회로(120)로 제어신호를 공급할 수 있다. 예를 들어, 타이밍컨트롤러(140)는 스캔이 시작되도록 하는 게이트제어신호(GCS)를 게이트구동회로(130)로 송신할 수 있다. 그리고, 타이밍컨트롤러(140)는 영상데이터(RGB)를 소스리드아웃회로(120)로 출력할 수 있다. 또한, 타이밍컨트롤러(140)는 소스리드아웃회로(120)가 각 서브화소(SP)로 데이터전압을 공급하도록 제어하는 데이터제어신호(DCS)를 송신할 수 있다. 또한, 타이밍컨트롤러(140)는 소스리드아웃회로(120)가 각 서브화소(SP)의 전극을 구동하여 터치입력을 센싱하도록 제어하는 터치제어신호(TCS)를 송신할 수 있다.
도 2는 일 실시예에 따른 표시장치에서 마이크로컨트롤러, 소스리드아웃회로 및 패널의 연결을 나타내는 도면이다.
도 2를 참조하면, 일 실시예에 따른 표시장치(100)는 마이크로컨트롤러(MCU: micro controller unit, 150)를 더 포함할 수 있다. 마이크로컨트롤러(150) 및 소스리드아웃회로(120)는 복수로 구성되어 표시장치(100)에 포함될 수 있다.
마이크로컨트롤러(150)는 하나의 소스리드아웃회로(120) 또는 복수의 소스리드아웃회로(120)와 연결될 수 있다. 마이크로컨트롤러(150) 및 소스리드아웃회로(120)가 연결되어 형성된 그룹이 다수로 표시장치(100)에 포함될 수 있다.
마이크로컨트롤러(150)와 소스리드아웃회로(120)는 SPI(serial peripheral interface) 방식 또는 I2C(inter-integrated circuit) 방식에 기반하여 통신할 수 있다.
각각의 마이크로컨트롤러(150)는 다수의 소스리드아웃회로(120)와 전기적으로 연결되어 통신할 수 있다. 예를 들어 하나의 마이크로컨트롤러(150)는 2개의 소스리드아웃회로(120)와 연결될 수 있다. 각각의 마이크로컨트롤러(150)는 다수의 소스리드아웃회로(120)를 제어하고 다수의 소스리드아웃회로(120)로부터 데이터-예를 들어 터치데이터-를 수신할 수 있다.
각각의 소스리드아웃회로(120)는 패널(110) 영역을 분할하여 상기 분할된 영역을 담당한다. 소스리드아웃회로(120)는 데이터라인(DL)을 통해서 영상데이터를 서브화소(SP)를 통해 출력할 수 있다. 또는 소스리드아웃회로(120)는 터치라인(TL)을 통해서 서브화소(SP)의 전극을 구동하여 외부 오브젝트의 터치 또는 근접에 대한 입력을 센싱할 수 있다. 그리고 각각의 소스리드아웃회로(120)는 자신과 연결된 마이크로컨트롤러(150)에게 데이터-예를 들어 터치데이터-를 송신할 수 있다.
도 3은 일 실시예에 따른 마이크로컨트롤러에 대한 마스터-슬레이브 구조를 나타내는 도면이다.
도 3을 참조하면, 설명의 편의를 위하여 복수의 소스리드아웃회로를 제외한 복수의 마이크로컨트롤러(150M, 150S)를 포함한 표시장치(100)가 도시될 수 있다.
복수의 마이크로컨트롤러(150M, 150S)는 마스터(master)-슬레이브(slave) 구조를 가질 수 있다. 하나의 마스터마이크로컨트롤러(150M)는 다수의 슬레이브마이크로컨트롤러(150S)와 연결될 수 있다. 마스터마이크로컨트롤러(150M)는 호스트(HOST, 160)와 연결되어 통신할 수 있다.
마스터마이크로컨트롤러(150M)는 다음의 기능을 수행할 수 있다. 마스터마이크로컨트롤러(150M)는 호스트(160) 또는 슬레이브마이크로컨트롤러(150S)와 통신할 수 있다. 마스터마이크로컨트롤러(150M)는 마스터마이크로컨트롤러(150M)로부터 송신되는 데이터의 오류를 방지하기 위하여 순환중복검사(CRC: cyclic redundancy check)를 수행할 수 있다. 또한 마스터마이크로컨트롤러(150M)는 슬레이브마이크로컨트롤러(150S)의 상태(state)를 체크할 수 있다.
한편 슬레이브마이크로컨트롤러(150S)는 다음의 기능을 수행할 수 있다. 슬레이브마이크로컨트롤러(150S)는 마스터마이크로컨트롤러(150M)와 통신할 수 있다. 슬레이브마이크로컨트롤러(150S)는 슬레이브마이크로컨트롤러(150S)로부터 송신되는 데이터의 오류를 방지하기 위하여 CRC를 수행할 수 있다.
본 도면에서 복수의 마이크로컨트롤러(150M, 150S)의 마스터-슬레이브 구조는, 하나의 마스터마이크로컨트롤러(150M)가 다수의 슬마이크로컨트롤러(150)를 제어하는 계층적 구조를 포함하나, 이에 한정되지 않고 수평적 구조를 포함할 수 있다. 즉, 하위 마이크로컨트롤러(150S)를 제어하는 상위 마이크로컨트롤러(150M)가 존재하지 않고, 패널의 구동을 담당하는 복수의 하위 마이크로컨트롤러(150S) 중 어느 하나가 마스터가 되고 나머지 하나가 슬레이브가 될 수 있다.
한편 표시장치(100)는 호스트(160)를 더 포함할 수 있다.
호스트(160)는 표시장치(100)의 메인 제어부일 수 있다. 예를 들어, 표시장치(100)가 이동통신 단말기인 경우, 호스트(160)는 이동통신 단말기의 애플리케이션프로세서(AP)일 수 있고, 표시장치(100)가 TV(television)일 경우, 호스트(160)는 TV의 코어프로세서일 수 있다.
도 4는 일 실시예에 따른 마이크로컨트롤러의 구성도이다.
도 4를 참조하면, 마이크로컨트롤러(150)는 프로세서(150-1), 휘발성 메모리(150-2) 및 인터페이스(150-3)를 포함할 수 있다. 마이크로컨트롤러(150)는 비휘발성 메모리(400)에 저장된 데이터를 이용할할 수 있다.
비휘발성 메모리(400)에는 데이터-예를 들어 프로그램-가 저장될 수 있다. 비휘발성 메모리(400)에는 부트로더(401), 펌웨어(402) 및 파일(403)이 할당된 영역에 각각 저장될 수 있다.
프로세서(150-1)는 비휘발성 메모리(400)에 저장된 데이터를 읽거나 프로그램을 실행시킬 수 있다. 프로세서(150-1)는 인터페이스(150-3)를 통해 비휘발성 메모리(400)에 접근하고, 비휘발성 메모리(400)에 저장된 부트로더(401), 펌웨어(402) 및 파일(403)을 실행할 수 있다.
구체적으로 마이크로컨트롤러(150)가 구동을 시작하면, 프로세서(150-1)는 부트로더(401)을 읽어내어 휘발성 메모리(150-2)에 적재(load)할 수 있다. 프로세서(150-1)는 부트로더(401)을 통해 이후에 실행할 펌웨어(402) 정보-예를 들어 종류 또는 메모리 주소-를 획득할 수 있다. 프로세서(150-1)는 펌웨어(402)를 읽어내고 휘발성 메모리(150-2)에 적재할 수 있다. 프로세서(150-1)가 부트로더(401)와 펌웨어(402)를 실행함으로써 구동의 준비를 마치면, 프로세서(150-1)는 본격적인 구동을 위한 파일(403)을 실행할 수 있다.
휘발성 메모리(150-2)에는 프로세서(150-1)가 비휘발성 메모리(400)로부터 읽어낸 데이터가 임시적으로 저장될 수 있다. 여기서 임시적 저장은, 전원이 차단되면 휘발성 메모리(150-2)의 데이터는 손실된다는 점을 의미할 수 있다. 반면 비휘발성 메모리(400)-예를 들어 플래쉬(flash) 메모리-에는 데이터가 영구적으로 저장될 수 있다. 여기서 영구적 저장은, 전원이 차단되어도 비휘발성 메모리(400)의 데이터는 보존된다는 점을 의미할 수 있다.
부트로더(401)는 마이크로컨트롤러(150)가 복수의 기능을 수행하도록 하는 알고리즘을 포함할 수 있다. 예를 들어 부트로더(401)의 알고리즘은, 마이크로컨트롤러(150)가 외부 오브젝트의 터치 또는 근접을 센싱하기 위하여 마스터마이크로컨트롤러 또는 슬레이브마이크로컨트롤러로서 동작할지에 대한 것일 수 있다.
펌웨어(402)는 부트로더(401)가 실행가능한 복수의 기능 중 하나의 기능을 수행하기 위한 알고리즘을 포함할 수 있다. 예를 들어 부트로더(401)가 마이크로컨트롤러(150)를 마스터로 동작시키기 위하여 설정된 경우, 펌웨어(402)는 마스터 기능을 수행하기 위한 알고리즘을 포함할 수 있다.
여기서 펌웨어(402)는 프로세서(150-1)에 의하여 부트로더(401)와 함께 실행됨으로써 마이크로컨트롤러(150)의 기능을 구현할 수 있다. 펌웨어(402)가 구현하는 기능은 부트로더(401)에서 설정된 기능에 따라 달라질 수 있다. 그리고 펌웨어(402)는 부트로더(401)이 실행된 이후에 실행될 수 있다.
도 5는 일 실시예에 따른 마스터마이크로컨트롤러 및 슬레이브마이크로컨트롤러의 구성도이다.
도 5를 참조하면, 표시장치로 입력되는 터치를 센싱하는 마이크로컨트롤러는, 마스터로서 기능하거나 또는 슬레이브로서 기능할 수 있다. 마스터마이크로컨트롤러(150M)는 마스터로 기능하는 마이크로컨트롤러이고, 슬레이브마이크로컨트롤러(150S)는 슬레이브로서 기능하는 마이크로컨트롤러일 수 있다.
마이크로컨트롤러가 어떤 기능을 수행할 것인지는 마이크로컨트롤러가 읽어내는 부트로더의 설정에 따라 달라질 수 있다. 부트로더는 마이크로컨트롤러가 복수의 기능을 수행할 수 있도록 하는 다양한 알고리즘을 포함할 수 있는데, 부트로더의 어떤 알고리즘이 구현되느냐에 따라 마이크로컨트롤러의 기능이 결정될 수 있다. 여기서 부트로더가 구현하는 기능은 외부에서 들어오는 신호에 의하여 결정될 수 있다.
마스터로서 터치를 센싱하는 마스터마이크로컨트롤러(150M)는, 제1 프로세서(150M-1), 제1 휘발성 메모리(150M-2) 및 제1 인터페이스(150M-3)를 포함할 수 있다. 그리고 마스터마이크로컨트롤러(150M)는 제1 비휘발성 메모리(410)에 접근하여 제1 부트로더(411), 제1 펌웨어(412) 및 제1 파일(413)을 실행할 수 있다.
제1 부트로더(411)는 복수의 기능 중에서 마스터 기능을 수행하도록 설정될 수 있다. 상기 설정은 제1 부트로더(411)를 마스터 기능에 커스터마이즈(customize), 최적화 또는 맞춤화하는 것을 의미할 수 있다.
제1 부트로더(411)는 제1 선택신호(SEL_MS_1)에 의하여 설정될 수 있다. 제1 선택신호(SEL_MS_1)는 제1 부트로더(411)가 복수의 기능 중 어느 기능을 구현할 것인지 결정하는 정보를 포함할 수 있다.
구체적으로 제1 프로세서(150M-1)는 제1 인터페이스(150M-3)를 통해 외부로부터 제1 선택신호(SEL_MS_1)를 수신할 수 있다. 제1 프로세서(150M-1)는 제1 부트로더(411)를 제1 휘발성 메모리(150M-2)에 적재한 뒤에, 제1 선택신호(SEL_MS_1)에 따라 제1 부트로더(411)를 설정할 수 있다.
예를 들어 제1 선택신호(SEL_MS_1)가 터치센싱을 위한 마스터 기능에 대한 정보를 포함하면, 제1 프로세서(150M-1)는 제1 부트로더(411)가 마스터 기능을 수행하도록 제1 부트로더(411)를 설정할 수 있다. 그러면 마스터마이크로컨트롤러(150M)는 마스터로서 동작할 수 있다.
제1 부트로더(411)가 마스터 기능으로 설정되고 제1 부트로더(411)와 함께 마스터 기능을 구현하는 제1 펌웨어(412)가 있으면, 마스터마이크로컨트롤러(150M)는 마스터로 동작할 수 있다.
구체적으로, 마스터마이크로컨트롤러(150M)가 구동을 시작할 때, 제1 프로세서(150M-1)는 제1 부트로더(411)를 제1 휘발성 메모리(150M-2)에 적재하고 실행할 수 있다. 제1 프로세서(150M-1)는 제1 부트로더(411)를 통해 제1 펌웨어(412)를 제1 휘발성 메모리(150M-2)에 적재하고 실행할 수 있다. 이로써 마스터마이크로컨트롤러(150M)는 마스터 구동의 준비를 마칠 수 있다. 제1 프로세서(150M-1)가 제1 파일(413)을 제1 휘발성 메모리(150M-2)에 적재하고 실행하면, 마스터마이크로컨트롤러(150M)는 마스터 구동을 시작할 수 있다.
마찬가지로, 슬레이브로서 터치를 센싱하는 슬레이브마이크로컨트롤러(150S)는, 제2 프로세서(150S-1), 제2 휘발성 메모리(150S-2) 및 제2 인터페이스(150S-3)를 포함할 수 있다. 그리고 슬레이브마이크로컨트롤러(150S)는 제2 비휘발성 메모리(420)에 접근하여 제2 부트로더(421), 제2 펌웨어(422) 및 제2 파일(423)을 실행할 수 있다.
제2 부트로더(421)는 복수의 기능 중에서 슬레이브 기능을 수행하도록 설정될 수 있다. 상기 설정은 제2 부트로더(421)를 슬레이브 기능에 커스터마이즈(customize), 최적화 또는 맞춤화하는 것을 의미할 수 있다.
제2 부트로더(421)는 제2 선택신호(SEL_MS_2)에 의하여 설정될 수 있다. 제2 선택신호(SEL_MS_2)는 제2 부트로더(421)가 복수의 기능 중 어느 기능을 구현할 것인지 결정하는 정보를 포함할 수 있다.
구체적으로 제2 프로세서(150S-1)는 제2 인터페이스(150S-3)를 통해 외부로부터 제2 선택신호(SEL_MS_2)를 수신할 수 있다. 제2 프로세서(150S-1)는 제2 부트로더(421)를 제2 휘발성 메모리(150S-2)에 적재한 뒤에, 제2 선택신호(SEL_MS_2)에 따라 제2 부트로더(421)를 설정할 수 있다.
예를 들어 제2 선택신호(SEL_MS_2)가 터치센싱을 위한 슬레이브 기능에 대한 정보를 포함하면, 제2 프로세서(150S-1)는 제2 부트로더(421)가 슬레이브 기능을 수행하도록 제2 부트로더(421)를 설정할 수 있다. 그러면 슬레이브마이크로컨트롤러(150S)는 슬레이브로서 동작할 수 있다.
도 6은 일 실시예에 따른 마이크로컨트롤러를 위한 집적회로가 마스터 또는 슬레이브로 동작하도록 부트로더 및 펌웨어를 비휘발성 메모리에 라이트하는 과정을 나타내는 흐름도이다.
도 6을 참조하면, 마이크로컨트롤러의 기능을 결정하는 부트로더와 펌웨어의 라이트 및 저장 과정은 서로 다를 수 있다. 부트로더의 메모리로의 라이트(write) 및 저장은 일원화 과정을 거치는 반면, 펌웨어의 메모리로의 라이트 및 저장은 이원화 과정을 거칠 수 있다.
부트로더의 일원화된 라이트 과정에서, 공용부트로더(601)는, 마이크로컨트롤러를 위한 집적회로에 의하여 접근가능한 비휘발성 메모리(600)에 라이트될 수 있다(S602).
상기 마이크로컨트롤러를 위한 집적회로는 마이크로컨트롤러로서 동작하는 집적회로이되, 아직 어떤 기능을 수행할지를 구체적으로 결정하지 않은 집적회로일 수 있다. 예를 들어 터치센싱을 위한 마이크로컨트롤러는 마스터로서 기능하는 마스터마이크로컨트롤러와 슬레이브로서 기능하는 슬레이브마이크로컨트롤러가 될 수 있는데, 상기 집적회로는 아직 마스터와 슬레이브 중 어느 기능으로 동작할지 결정되지 않은 상태일 수 있다.
따라서 S602 단계에서는, 복수의 기능을 수행할 수 있는 공용부트로더(601)가 상기 마이크로컨트롤러를 위한 집적회로가 접근가능한 비휘발성 메모리(600)에 라이트 및 저장될 수 있다. 예를 들어 상기 복수의 기능은 마스터 기능 및 슬레이브 기능을 포함할 수 있다.
아직 상기 마이크로컨트롤러를 위한 집적회로가 어떤 기능을 구현할지 결정되지 않았기 때문에, 어떤 기능이라도 수행할 수 있는 공용부트로더(601)가, 마이크로컨트롤러를 위한 모든 집적회로가 접근하는 비휘발성 메모리(600)에 일괄적으로 라이트될 수 있다. 즉, 어떤 집적회로가 추후 마스터마이크로컨트롤러로 기능하게 되느냐 또는 슬레이브마이크로컨트롤러로 기능하게 되느냐에 상관없이, 모든 집적회로의 비휘발성 메모리(600)에는 양 기능을 수행할 수 있는 부트로더를 미리 포함시킨다는 것이다.
이에 따라 집적회로의 기능이 미리 결정될 필요가 없고 단일한 종류의 부트로더-예를 들어 공용부트로더(601)-가, 상기 집적회로가 접근하는 비휘발성 메모리(600)에 일괄적으로 라이트될 수 있다. 공용부트로더(601)가 집적회로의 기능에 상관없이 즉, 집적회로의 기능이 결정되기 이전에 일괄적으로 라이트되면, 제조공정이 단순해질 수 있다.
만약 집적회로의 기능이 미리 결정되면, 각 기능에 따른 부트로더가 별도로 개발 및 준비되어야하고 각 부트로더는 기능에 맞게 집적회로의 비휘발성 메모리(600)에 별도로 라이트되어야 한다. S602 단계는 집적회로의 제조공정에서 일어나는데, 부트로더가 집적회로의 기능을 고려하여 즉, 집적회로의 기능이 결정된 이후에 개별적으로 라이트되면, 제조공정이 복잡해질 수 있다.
펌웨어의 다원화된 라이트 과정에서, 상기 마이크로컨트롤러를 위한 집적회로는 마스터 기능 및 슬레이브 기능 중 어느 하나의 기능을 수행하도록 결정되고, 이에 따라 자신이 접근가능한 부트로더를 상기 결정된 기능으로 설정할 수 있다(S604).
예를 들어 마이크로컨트롤러를 위한 집적회로들 중 일 집적회로는, 제1 선택신호(SEL_MS_1)를 수신할 수 있다. 상기 일 집적회로는 제1 선택신호(SEL_MS_1)에 따라 마스터마이크로컨트롤러로서 기능하기 위하여 공용부트로더(601)를 마스터 기능으로 설정할 수 있다. 여기서 마스터 기능을 수행하도록 설정된 공용부트로더(601)는 제1 부트로더(411)로 정의될 수 있다.
그리고 상기 마이크로컨트롤러를 위한 집적회로들 중 다른 집적회로는, 제2 선택신호(SEL_MS_2)를 수신할 수 있다. 상기 다른 집적회로는 제2 선택신호(SEL_MS_2)에 따라 슬레이브마이크로컨트롤러로서 기능하기 위하여 공용부트로더(601)를 슬레이브 기능으로 설정할 수 있다. 여기서 슬레이브 기능을 수행하도록 설정된 공용부트로더(601)는 제2 부트로더(421)로 정의될 수 있다.
이어서 마이크로컨트롤러를 위한 집적회로의 기능이 결정되면, 상기 결정된 기능에 부합하는 펌웨어가 라이트될 수 있다(S606).
예를 들어 제1 펌웨어(412)는, 마스터 기능으로 결정된 집적회로-마스터마이크로컨트롤러가 되는 집적회로-가 접근가능한 제1 비휘발성 메모리(410)에 저장될 수 있다. 제1 펌웨어(412)는 마스터 기능에 부합하는 알고리즘을 포함하고, 제1 부트로더(411)와 함께 터치센싱을 위한 마스터 기능을 구현할 수 있다.
그리고 제2 펌웨어(422)는, 슬레이브 기능으로 결정된 집적회로-슬레이브마이크로컨트롤러가 되는 집적회로-가 접근가능한 제2 비휘발성 메모리(420)에 저장될 수 있다. 제2 펌웨어(422)는 슬레이브 기능에 부합하는 알고리즘을 포함하고, 제2 부트로더(421)와 함께 터치센싱을 위한 슬레이브 기능을 구현할 수 있다.
S604 단계 및 S606 단계는 집적회로의 초기 구동과정에서 일어나는데, 부트로더가 일괄적으로 라이트 되고 선택신호(SEL_MS_1, SEL_MS_2)를 통해 기능이 결정된 이후에 비로소 펌웨어가 라이트될 수 있다. 이는 부트로더의 일괄적 라이트와 펌웨어의 차별적 라이트를 통해 제조공정을 단순화 및 일원화할 수 있다.
한편 부트로더는 데이터 특성을 나타내는 바이너리(binary) 형태의 식별데이터를 포함할 수 있다. 복수의 부트로더의 식별데이터가 동일하다는 것은, 상기 복수의 부트로더는 동일한 특성을 가지거나 동일한 출처에서 비롯한 것을 의미할 수 있다. 이에 따라 공용부트로더(601) 역시 식별데이터를 포함할 수 있다. 제1 부트로더(411) 및 제2 부트로더(421)는 모두 공용부트로더(601)에서 기인하므로 동일한 식별데이터를 포함할 수 있다.
도 7은 일 실시예에 따른 집적회로가 마스터 또는 슬레이브로 설정되어 동작하는 과정을 나타내는 흐름도이다.
도 7을 참조하면, 부트로더와 펌웨어가 라이트됨에 따라, 집적회로는 마스터 기능을 수행하는 마이크로컨트롤러 또는 슬레이브 기능을 수행하는 마이크로컨트롤러로 설정되고 동작할 수 있다.
복수의 기능을 수행할 수 있는 공용부트로더가 비휘발성 메모리에 저장될 수 있다(S702). 상기 복수의 기능은 터치센싱을 위한 마스터 기능 및 슬레이브 기능을 포함할 수 있다. 공용부트로더는 각각 비휘발성 메모리에 라이트 및 저장될 수 있다.
예를 들어 공용부트로더는, 추후 마스터마이크로컨트롤러가 될 제1 집적회로가 접근가능한 제1 비휘발성 메모리 및 추후 슬레이브마이크로컨트롤러가 될 제2 집적회로가 접근가능한 제2 비휘발성 메모리에 라이트 및 저장될 수 있다.
제1 집적회로는 상기 제1 집적회로의 기능을 결정하는 제1 선택신호를 수신할 수 있다(S704-1). 여기서 제1 선택신호는 제1 집적회로가 마스터마이크로컨트롤러로 기능하는 것을 결정할 수 있다. 제1 집적회로는 공용부트로더가 마스터 기능을 수행하도록 공용부트로더를 설정할 수 있다(S706-1). 제1 집적회로가 마스터마이크로컨트롤러로 기능하기 위한 마스터펌웨어가 제1 비휘발성 메모리에 라이트 및 저장될 수 있다(S708-1). 제1 집적회로는 마스터로 설정된 공용부트로더와 마스터펌웨어를 통해 터치센싱을 위한 마스터마이크로컨트롤러로 동작할 수 있다(S710-1).
그리고 제2 집적회로는 상기 제2 집적회로의 기능을 결정하는 제2 선택신호를 수신할 수 있다(S704-2). 여기서 제2 선택신호는 제2 집적회로가 슬레이브마이크로컨트롤러로 기능하는 것을 결정할 수 있다. 제2 집적회로는 공용부트로더가 슬레이브 기능을 수행하도록 공용부트로더를 설정할 수 있다(S706-2). 제2 집적회로가 슬레이브마이크로컨트롤러로 기능하기 위한 슬레이브펌웨어가 제2 비휘발성 메모리에 라이트 및 저장될 수 있다(S708-2). 제2 집적회로는 슬레이브로 설정된 공용부트로더와 슬레이브펌웨어를 통해 터치센싱을 위한 슬레이브마이크로컨트롤러로 동작할 수 있다(S710-2).
도 8은 일 실시예에 따른 터치센싱시스템의 블록도이다.
도 8을 참조하면, 터치센싱시스템(800)은 터치패널(810), 터치구동부(820), 터치제어부(830) 및 비휘발성 메모리(840)를 포함할 수 있다.
터치센싱시스템(800)은 표시장치(도 1의 100) 중 터치센싱을 수행하는 회로들로 구성될 수 있다. 터치패널(810)은 패널 중 터치입력을 수신하는 터치전극의 집합이고, 터치구동부(820)는 리드아웃회로를 포함하며, 터치제어부(830)는 마이크로컨트롤러를 포함할 수 있다.
터치패널(810)은 외부 오브젝트가 터치 또는 근접을 수신할 수 있다. 터치패널(810)은 일련의 터치전극을 포함할 수 있고 표시패널과 상기 터치전극을 공유할 수 있다.
터치구동부(820)는 상기 터치 또는 근접 여부에 대한 터치데이터를 생성할 수 있다. 터치구동부(820)는 상기 터치데이터를 터치제어부(830)로 송신할 수 있다.
터치제어부(830)는 상기 터치 또는 근접 여부를 ?O정할 수 있다. 터치제어부(830)는 상기 터치데이터로부터 상기 터치 또는 근접이 도달한 좌표를 계산할 수 있다.
터치제어부(830)는 마스터터치제어부(831) 및 슬레이브터치제어부(832)를 포함할 수 있다. 마스터터치제어부(831)는 터치센싱에 있어서 마스터 기능을 수행할 수 있다. 마스터터치제어부(831)는 슬레이브터치제어부(832)를 제어하고 호스트와 통신할 수 있다. 그리고 슬레이브터치제어부(832)는 터치센싱에 있어서 슬레이브 기능을 수행할 수 있다. 슬레이브터치제어부(832)는 터치데이터를 터치구동부(820)로부터 수신할 수 있다.
비휘발성 메모리(840)에는 상기 터치 또는 근접을 판정하기 위한 복수의 기능을 수행하는 부트로더와 상기 복수의 기능 중 어느 하나를 수행하는 펌웨어가 저장될 수 있다. 마스터터치제어부(831)가 접근하는 비휘발성 메모리(840)에는 마스터 기능으로 설정된 부트로더와 마스터 기능에 부합하는 펌웨가 저장될 수 있다. 슬레이브터치제어부(832)가 접근하는 비휘발성 메모리(840)에는 슬레이브 기능으로 설정된 부트로더와 슬레이브 기능에 부합하는 펌웨가 저장될 수 있다.
Claims (15)
- 제1 기능 및 제2 기능을 수행할 수 있는 공용부트로더가 저장되는 제1 비휘발성 메모리와 제2 비휘발성 메모리;
상기 제1 기능을 수행하도록 상기 공용부트로더를 설정(configure)하는 제1 집적회로; 및
상기 제2 기능을 수행하도록 상기 공용부트로더를 설정하는 제2 집적회로를 포함하고,
상기 제1 비휘발성 메모리에는, 상기 제1 기능에 부합하는 제1 펌웨어가 상기 제1 기능으로 설정된 공용부트로더와 함께 저장되며,
상기 제2 비휘발성 메모리에는, 상기 제2 기능에 부합하는 제2 펌웨어가 상기 제2 기능으로 설정된 공용부트로더와 함께 저장되는 집적회로시스템. - 제1항에 있어서,
상기 제1 집적회로 및 상기 제2 집적회로는, 상기 제1 기능 및 상기 제2 기능 중 어떤 기능으로 상기 공용부트로더를 설정할지 결정하는 선택신호를 수신하는 집적회로시스템. - 제2항에 있어서,
상기 제1 집적회로는, 상기 공용부트로더가 상기 제1 기능을 수행하도록 결정하는 제1 선택신호를 수신하고, 상기 제1 선택신호에 따라 상기 공용부트로더를 설정하는 집적회로시스템. - 제2항에 있어서,
상기 제2 집적회로는, 상기 공용부트로더가 상기 제2 기능을 수행하도록 결정하는 제2 선택신호를 수신하고, 상기 제2 선택신호에 따라 상기 공용부트로더를 설정하는 집적회로시스템. - 제1항에 있어서,
상기 제1 집적회로 및 상기 제2 집적회로는, 마이크로컨트롤러(MCU: micro controller unit)이고,
상기 제1 기능은, 상기 제1 집적회로 및 상기 제2 집적회로 중 어느 하나가 마스터(master)로서 기능하는 것을 포함하고,
상기 제2 기능은, 상기 제1 집적회로 및 상기 제2 집적회로 중 나머지 하나가 슬레이브(slave)로서 기능하는 것을 포함하는 집적회로시스템. - 제5항에 있어서,
상기 제1 집적회로는, 상기 제1 기능으로 설정된 공용부트로더와 상기 제1 펌웨어에 기반하여 호스트(host) 및 상기 제2 집적회로와 통신하는 집적회로시스템. - 제5항에 있어서,
상기 제2 집적회로는, 상기 제2 기능으로 설정된 공용부트로더와 상기 제2 펌웨어에 기반하여 상기 제1 집적회로와 통신하는 집적회로시스템. - 제1항에 있어서,
상기 공용부트로더는, 특성을 나타내는 바이너리(binary) 형태의 식별데이터를 포함하는 집적회로시스템. - 제8항에 있어서,
상기 제1 기능으로 설정된 공용부트로더와 상기 제2 기능으로 설정된 공용부트로더는, 서로 동일한 식별데이터를 포함하는 집적회로시스템. - 제1 비휘발성 메모리, 상기 제1 비휘발성 메모리에 접근가능한 제1 집적회로, 제2 비휘발성 메모리 및 상기 제2 비휘발성 메모리에 접근가능한 제2 집적회로를 포함하는 집적회로시스템에 펌웨어를 라이트(write)하는 방법에 있어서,
복수의 기능을 수행할 수 있는 부트로더가 상기 제1 비휘발성 메모리 및 상기 제2 비휘발성 메모리에 각각 저장되는 단계;
상기 제1 집적회로가 상기 제1 비휘발성 메모리에 저장된 부트로더를 상기 복수의 기능 중 일 기능을 수행하도록 설정(configure)하는 단계;
상기 제2 집적회로가 상기 제2 비휘발성 메모리에 저장된 부트로더를 상기 복수의 기능 중 다른 기능을 수행하도록 설정하는 단계;
상기 일 기능에 부합하는 펌웨어가 상기 제1 비휘발성 메모리에 저장되는 단계; 및
상기 나머지 하나의 기능에 부합하는 펌웨어가 상기 제2 비휘발성 메모리에 저장되는 단계를 포함하는 펌웨어 라이트 방법. - 제10항에 있어서,
상기 제1 집적회로의 설정 단계는, 상기 부트로더의 복수의 기능 중 일 기능을 결정하는 제1 선택신호를 수신하고, 상기 제1 선택신호에 따라 상기 부트로더를 설정하고,
상기 일 기능은, 마스터마이크로컨트롤러로서의 기능을 포함하는 펌웨어 라이트 방법. - 제11항에 있어서,
상기 제2 집적회로의 설정 단계는, 상기 부트로더의 복수의 기능 중 다른 기능을 결정하는 제2 선택신호를 수신하고, 상기 제2 선택신호에 따라 상기 부트로더를 설정하고,
상기 다른 기능은, 슬레이브마이크로컨트롤러로서의 기능을 포함하는 펌웨어 라이트 방법. - 제10항에 있어서,
상기 부트로더는, 상기 제1 집적회로 및 상기 제2 집적회로에 모두 적용될 수 있는 공용부트로더를 포함하고,
상기 부트로더가 저장되는 단계는, 상기 공용부트로더가 일괄적으로 상기 제1 비휘발성 메모리 및 상기 제2 비휘발성 메모리에 각각 저장되는 펌웨어 라이트 방법. - 제10항에 있어서,
상기 일 기능의 펌웨어가 저장되는 단계는, 상기 제1 집적회로가 상기 제1 비휘발성 메모리에 저장된 부트로더를 상기 일 기능으로 설정한 이후에, 상기 일 기능의 펌웨어가 저장되고,
상기 다른 기능의 펌웨어가 저장되는 단계는, 상기 제2 집적회로가 상기 제2 비휘발성 메모리에 저장된 부트로더를 상기 다른 기능으로 설정한 이후에, 상기 다른 기능의 펌웨어가 저장되는 펌웨어 라이트 방법. - 외부 오브젝트의 터치 또는 근접을 센싱하는 터치센싱시스템에 있어서,
상기 터치 또는 근접 여부에 대한 터치데이터를 생성하는 터치구동부; 및 상기 터치데이터를 수신하고 상기 터치데이터로부터 상기 터치 또는 근접을 판정하는 터치제어부를 포함하는 터치센싱장치; 및
상기 터치 또는 근접을 판정하기 위한 복수의 기능을 수행하는 공용부트로더 및 상기 복수의 기능 중 어느 하나의 기능에 부합하는 펌웨어가 저장되는 비휘발성 메모리를 포함하고,
상기 터치제어부는, 상기 터치구동부로부터 상기 터치데이터를 수신하는 제1 터치제어부와 상기 제1 터치제어부를 제어하는 제2 터치제어부를 포함하고,
상기 제1 터치제어부 및 상기 제2 터치제어부는, 상기 비휘발성 메모리에 저장된 공용부트로더를 상기 어느 하나의 기능으로 설정하고, 상기 설정된 공용부트로더상기 펌웨어에 기반하여 동작하는 터치센싱시스템.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190167986A KR20210076608A (ko) | 2019-12-16 | 2019-12-16 | 펌웨어 라이트 방법 |
US17/121,001 US11650827B2 (en) | 2019-12-16 | 2020-12-14 | Touch sensing integrated circuit system, touch sensing system, and method for writing firmware |
TW109144127A TWI854072B (zh) | 2019-12-16 | 2020-12-14 | 觸摸感測積體電路系統 |
CN202011488365.5A CN112988258A (zh) | 2019-12-16 | 2020-12-16 | 触摸感测集成电路系统、触摸感测系统及固件的写入方法 |
US18/297,313 US12118364B2 (en) | 2019-12-16 | 2023-04-07 | Touch sensing integrated circuit system, touch sensing system, and method for writing firmware |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190167986A KR20210076608A (ko) | 2019-12-16 | 2019-12-16 | 펌웨어 라이트 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210076608A true KR20210076608A (ko) | 2021-06-24 |
Family
ID=76317555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190167986A KR20210076608A (ko) | 2019-12-16 | 2019-12-16 | 펌웨어 라이트 방법 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11650827B2 (ko) |
KR (1) | KR20210076608A (ko) |
CN (1) | CN112988258A (ko) |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0907285A1 (en) * | 1997-10-03 | 1999-04-07 | CANAL+ Société Anonyme | Downloading data |
US20020138156A1 (en) * | 2001-01-25 | 2002-09-26 | Wong Isaac H. | System of connecting multiple processors in cascade |
US20020138225A1 (en) * | 2001-01-25 | 2002-09-26 | Wong Isaac H. | Automatic configuration of delay parameters for memory controllers of slave processors |
JP2007272358A (ja) * | 2006-03-30 | 2007-10-18 | Pioneer Electronic Corp | 情報処理装置 |
JP4817115B2 (ja) | 2006-03-30 | 2011-11-16 | 日本電気株式会社 | コンピュータシステム、並列初期化方法、及びブートプログラム |
US8947377B2 (en) * | 2011-04-06 | 2015-02-03 | Cypress Semiconductor Corporation | System and method for synchronization of touch panel devices |
JP2014044545A (ja) | 2012-08-27 | 2014-03-13 | Funai Electric Co Ltd | 映像装置 |
US9135203B2 (en) * | 2013-05-01 | 2015-09-15 | Jonathan Glickman | Computer system and a computer device |
CN105205025A (zh) * | 2014-06-30 | 2015-12-30 | 深圳市中兴微电子技术有限公司 | 一种芯片互连的方法、芯片及装置 |
KR20160068550A (ko) * | 2014-12-05 | 2016-06-15 | 에스케이하이닉스 주식회사 | 멀티 칩 패키지를 구비하는 반도체 장치 |
JP6568399B2 (ja) * | 2015-05-26 | 2019-08-28 | キヤノン株式会社 | 情報処理装置 |
EP3216569A1 (en) | 2016-03-07 | 2017-09-13 | Aldebaran Robotics | Modular manufacturing of a robot |
US10114653B2 (en) * | 2016-06-09 | 2018-10-30 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Multiple-stage bootloader and firmware for baseboard manager controller and primary processing subsystem of computing device |
US10042785B1 (en) * | 2017-08-29 | 2018-08-07 | Seagate Technology Llc | Storage drive with multiple controllers having interconnected buffer managers |
US20190155479A1 (en) * | 2017-11-17 | 2019-05-23 | Maxlinear, Inc. | Methods and systems for integrated force touch solutions |
US10983553B2 (en) * | 2018-08-24 | 2021-04-20 | Synaptics Incorporated | System and method for synchronizing sensing signals of integrated circuit chips |
-
2019
- 2019-12-16 KR KR1020190167986A patent/KR20210076608A/ko not_active Application Discontinuation
-
2020
- 2020-12-14 US US17/121,001 patent/US11650827B2/en active Active
- 2020-12-16 CN CN202011488365.5A patent/CN112988258A/zh active Pending
-
2023
- 2023-04-07 US US18/297,313 patent/US12118364B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN112988258A (zh) | 2021-06-18 |
US11650827B2 (en) | 2023-05-16 |
US12118364B2 (en) | 2024-10-15 |
TW202125234A (zh) | 2021-07-01 |
US20230251868A1 (en) | 2023-08-10 |
US20210182076A1 (en) | 2021-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11335764B2 (en) | Display including plurality of wirings bypassing hole area encompassed by display area, and electronic device including same | |
US11403984B2 (en) | Method for controlling display and electronic device supporting the same | |
US11054939B2 (en) | Display device with integrated touch screen and method for driving the same | |
US10878215B2 (en) | Electronic device having a biometric sensor | |
US10916200B2 (en) | Display device including scan driver for driving display panel in which empty area enclosed by display area is formed | |
US10762839B2 (en) | Display device and method for controlling independently by a group of pixels | |
KR20200042664A (ko) | 개구부가 형성된 터치 레이어를 포함하는 전자 장치 | |
EP3537417A1 (en) | Electronic device for compensating color of display | |
CN103927970A (zh) | 平板显示装置 | |
CN110428767B (zh) | 显示面板的驱动电路及显示装置 | |
US8031196B2 (en) | Display, electronic device, data transmitting method, information terminal, host apparatus, program, recording medium | |
US20040085275A1 (en) | Display device, drive circuit, testing device, and recording medium | |
US11335229B2 (en) | Display for controlling operation of gamma block on basis of indication of content, and electronic device comprising said display | |
WO2020011256A1 (zh) | 显示屏模组及电子设备 | |
US20190259341A1 (en) | Electronic device for calculating deterioration of pixel | |
KR20210076608A (ko) | 펌웨어 라이트 방법 | |
KR102523985B1 (ko) | 디스플레이 모듈로부터 획득된 휘도 데이터에 기반하여 휘도를 조절하는 전자 장치 및 그 휘도 조절 방법 | |
TWI854072B (zh) | 觸摸感測積體電路系統 | |
JP2015041182A (ja) | 情報入力表示装置 | |
US20220139302A1 (en) | Pixel drive control device and pixel drive control method | |
US11238771B2 (en) | Display driver circuit for synchronizing output timing of images in low power state | |
CN113467729B (zh) | 电子装置与多屏幕显示方法 | |
CN116257202A (zh) | 一种pmon固件控制系统显示分辨率方法及装置 | |
CN118692407A (zh) | 显示装置和包括显示装置的电子装置 | |
KR20200026429A (ko) | 전자 장치 및 이를 이용한 화면 부분 업데이트 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal |