KR101458428B1 - 단일 광 포트 통신을 이용한 펌웨어 업데이트 방법 및 펌웨어 업데이트가 가능한 마이크로 컨트롤러 - Google Patents
단일 광 포트 통신을 이용한 펌웨어 업데이트 방법 및 펌웨어 업데이트가 가능한 마이크로 컨트롤러 Download PDFInfo
- Publication number
- KR101458428B1 KR101458428B1 KR20130167326A KR20130167326A KR101458428B1 KR 101458428 B1 KR101458428 B1 KR 101458428B1 KR 20130167326 A KR20130167326 A KR 20130167326A KR 20130167326 A KR20130167326 A KR 20130167326A KR 101458428 B1 KR101458428 B1 KR 101458428B1
- Authority
- KR
- South Korea
- Prior art keywords
- firmware
- update
- data
- single optical
- update data
- Prior art date
Links
- 230000003287 optical effect Effects 0.000 title claims abstract description 75
- 238000004891 communication Methods 0.000 title claims abstract description 63
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000005540 biological transmission Effects 0.000 claims abstract description 16
- 230000008569 process Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 101001084254 Homo sapiens Peptidyl-tRNA hydrolase 2, mitochondrial Proteins 0.000 description 2
- 102100030867 Peptidyl-tRNA hydrolase 2, mitochondrial Human genes 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 230000036039 immunity Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
Images
Classifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/11—Arrangements specific to free-space transmission, i.e. transmission through air or vacuum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/54—Link editing before load time
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/11—Arrangements specific to free-space transmission, i.e. transmission through air or vacuum
- H04B10/114—Indoor or close-range type systems
- H04B10/1141—One-way transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/40—Transceivers
- H04B10/43—Transceivers using a single component as both light source and receiver, e.g. using a photoemitter as a photoreceiver
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/80—Optical aspects relating to the use of optical transmission for specific applications, not provided for in groups H04B10/03 - H04B10/70, e.g. optical power feeding or optical transmission through water
- H04B10/801—Optical aspects relating to the use of optical transmission for specific applications, not provided for in groups H04B10/03 - H04B10/70, e.g. optical power feeding or optical transmission through water using optical interconnects, e.g. light coupled isolators, circuit board interconnections
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Electromagnetism (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Optical Communication System (AREA)
- Stored Programmes (AREA)
Abstract
단일 광 포트 통신을 이용한 펌웨어 업데이트 방법 및 펌웨어 업데이트가 가능한 마이크로 컨트롤러가 개시된다. 본 발명의 일 실시예에 따른 단일 광 포트 통신을 이용한 펌웨어 업데이트 방법은 송신기로부터 전송된 펌웨어 업데이트 시작 코드가 데이터 송신 기능을 수행하는 단일 광 포트로 수신되면 배터리의 전압을 검출하는 단계; 상기 검출된 상기 배터리의 전압이 미리 결정된 기준 전압 이상인 경우 상기 송신기로 펌웨어 관련 정보를 상기 단일 광 포트를 통해 전송하는 단계; 상기 송신기에서 전송된 상기 펌웨어 관련 정보에 따라 결정된 업데이트 모드에 대응하는 업데이트 데이터를 수신하고, 상기 수신된 상기 업데이트 데이터를 미리 결정된 저장 영역에 저장하는 단계; 상기 저장된 상기 업데이트 데이터가 펌웨어를 복원할 수 있는 제1 모드의 업데이트 데이터인 경우 이전 펌웨어에 대한 복원 정보를 저장하고, 상기 업데이트 데이터를 신규 펌웨어로 업데이트하는 단계; 및 상기 저장된 상기 업데이트 데이터가 상기 이전 펌웨어의 미리 결정된 데이터를 업데이트하기 위한 제2 모드의 업데이트 데이터인 경우 상기 업데이트 데이터로 상기 이전 펌웨어의 상기 미리 결정된 데이터를 업데이트하는 단계를 포함한다.
Description
본 발명은 펌웨어 업데이트에 대한 것으로, 상세하게는 단일 광 포트 통신을 이용하여 송신기에서 조사된 광에 의해 송신 기능으로 발광소자에서 생성된 광기전력을 통해 마이크로 컨트롤러(MCU)의 펌웨어 업데이트를 용이하게 수행할 수 있는 단일 광 포트 통신을 이용한 펌웨어 업데이트 방법 및 펌웨어 업데이트가 가능한 마이크로 컨트롤러에 관한 것이다.
일반적으로 현대의 가정이나 사무실 또는 공장 들에서 구비하고 있는 다수의 전자 기기 또는 장치들을 조정함에 있어 다양한 무선 통신 방법들이 이용되고 있다. 각 장치들에 효과적으로 제어하기 위한 다양한 MCU가 사용되고 있다.
MCU의 펌웨어를 업데이트하기 위해서는, 다양한 통신을 통해서 업데이트하려는 새로운 펌웨어를 다운로드하여 MCU의 제어 롬 코드(ROM code)를 교체해야 한다.
종래의 RF(radio frequency) 통신의 경우 주파수 자원에 따른 희소성 때문에 사용시 허가를 받아야 하는 반면, 광 통신은 주파수 허가와 다른 용도의 간섭 없이 실질적으로 바로 사용할 수 있다.
또한 통신의 매체로 광을 사용하기 때문에 전자파가 나오질 않아 인체의 무해하여, 오작동이나 기능의 문제로 심각한 문제를 일으킬 수 있는 기내, 병원 내 등에서 응용될 수 있으며, 광 입력 신호에 타 신호와 간섭을 최소화하기 쉽고 가시광선용 발광 소자 예를 들어, LED를 사용할 경우에는 조명과 겸용하여 사용할 수도 있다.
종래 광통신을 이용하여 리모콘을 업그레이드하는 방법으로, 한국등록특허공보 제10-05524164호에 대해 설명하면, 리모콘 업그레이드 장치는 리모콘 업그레이드 정보를 제공하는 서비스 제공자와, 서비스 제공자와 소정의 네트워크를 통해 접속되어 리모콘 업그레이드 정보를 요청하고 요청된 리모콘 업그레이드 정보를 표시장치 상에 밝기 조절 블럭으로 표시하여 제공하는 사용자 단말기, 및 표시장치 상에 표시된 밝기 조절 블럭을 감지하여 리모콘 업그레이드 정보를 전송받는 리모트 컨트롤러를 갖는다. 따라서, 리모트 컨트롤러에 적어도 2개 이상의 광센서를 내장하여 인터넷에 연결된 영상 디스플레이 장치로부터 새롭게 사용하고자 하는 리모콘 업그레이드 정보를 손쉽게 전송 받을 수 있는 기술이다.
하지만, 종래 광 통신을 사용하는 통신 방식에서는 신호를 송출하는 발광부와 수신 회로가 각기 독립적으로 반드시 제공되고 있는데, 송신부와 수신부가 별도로 구성해야 되기 때문에 광 송출 소자 부, 광 입력 검출 센서 또는 광 입력 검출 소자(예를 들어, 포토 다이오드, 포트 트랜지스터, 조도(CDS) 센서 등)가 필요하고, 해당 회로를 구현하기 위하여 필요한 소자가 많고 복잡하여 세트의 제작 원가를 높이는 요인이 되며, 해당 동작을 구현하는데 필요한 포트(PORT)가 최소 2개 이상 필요하여 칩(CHIP) 제조 원가를 높이는 요인이 된다.
따라서, 송신부와 수신부를 별도로 구성하지 않고 하나의 포트를 이용하여 MCU의 펌웨어를 업데이트할 수 있는 방법에 대한 필요성이 대두된다.
본 발명은 상기와 같은 종래 기술의 문제점을 해결하고자 도출된 것으로서, 하나의 광 통신 포트만을 사용하여 송신과 수신 기능 모두를 수행하고, 이를 통해 MCU의 펌웨어를 업데이트할 수 있는 단일 광 포트 통신을 이용한 펌웨어 업데이트 방법 및 펌웨어 업데이트가 가능한 마이크로 컨트롤러를 제공하는 것을 목적으로 한다.
또한, 본 발명은 단일 광 통신 포트를 사용하기 때문에 회로를 변경하지 않고서도 펌웨어를 업데이트할 수 있고, 이를 통해 MCU의 단가가 상승하는 것을 방지할 수 있는 단일 광 포트 통신을 이용한 펌웨어 업데이트 방법 및 펌웨어 업데이트가 가능한 마이크로 컨트롤러를 제공하는 것을 목적으로 한다.
상기와 같은 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 단일 광 포트 통신을 이용한 펌웨어 업데이트 방법은 송신기로부터 전송된 펌웨어 업데이트 시작 코드가 데이터 송신 기능을 수행하는 단일 광 포트로 수신되면 배터리의 전압을 검출하는 단계; 상기 검출된 상기 배터리의 전압이 미리 결정된 기준 전압 이상인 경우 상기 송신기로 펌웨어 관련 정보를 상기 단일 광 포트를 통해 전송하는 단계; 상기 송신기에서 전송된 상기 펌웨어 관련 정보에 따라 결정된 업데이트 모드에 대응하는 업데이트 데이터를 수신하고, 상기 수신된 상기 업데이트 데이터를 미리 결정된 저장 영역에 저장하는 단계; 상기 저장된 상기 업데이트 데이터가 펌웨어를 복원할 수 있는 제1 모드의 업데이트 데이터인 경우 이전 펌웨어에 대한 복원 정보를 저장하고, 상기 업데이트 데이터를 신규 펌웨어로 업데이트하는 단계; 및 상기 저장된 상기 업데이트 데이터가 상기 이전 펌웨어의 미리 결정된 데이터를 업데이트하기 위한 제2 모드의 업데이트 데이터인 경우 상기 업데이트 데이터로 상기 이전 펌웨어의 상기 미리 결정된 데이터를 업데이트하는 단계를 포함한다.
상기 업데이트 데이터는 업데이트 모드 정보, 총 패킷 사이즈, 유효 체크 코드를 포함하고, 상기 저장하는 단계는 상기 유효 체크 코드를 통해 상기 업데이트 데이터의 유효성을 체크하는 단계; 및 상기 업데이트 데이터가 유효한 경우 상기 업데이트 데이터를 상기 미리 결정된 저장 영역에 저장하는 단계를 포함할 수 있다.
본 발명에 따른 방법은 상기 유효성을 체크하는 과정에서 오류가 발생하거나 상기 업데이트 데이터가 유효하지 않은 경우 에러 데이터 회수를 증가시키고, 상기 증가된 상기 에러 데이터 회수가 미리 결정된 지정 에러 회수 이하인 경우 상기 송신기로 패킷 에러 및 업데이트 데이터의 재전송을 요청하는 재전송 요청 코드를 전송하는 단계를 더 포함할 수 있다.
상기 펌웨어 관련 정보는 상기 이전 펌웨어의 버전 정보, 데이터의 저장이 가능한 비어있는 영역 크기를 포함하고, 상기 업데이트 모드는 상기 이전 펌웨어의 버전 정보와 상기 비어있는 영역 크기에 의해 결정될 수 있다.
상기 펌웨어 업데이트 시작 코드와 상기 업데이트 데이터는 상기 단일 광 포트가 수신 모드로 전환된 후, 상기 송신기에서 상기 단일 광 포트에 연결된 발광 소자로 상기 펌웨어 업데이트 시작 코드 및 상기 업데이트 데이터에 대응하는 광이 조사되면 상기 조사된 광에 의해 상기 발광 소자로부터 생성된 광기전력의 전압으로 수신될 수 있다.
상기 펌웨어 업데이트 시작 코드와 상기 업데이트 데이터는 미리 결정된 캐리어(carrier)로 입력된 하이 구간과 로우 구간의 시간 비율을 이용하는 캐리어 타입과 상기 송신기에서 조사된 광이 상기 단일 광 포트에 연결된 발광 소자로 수신되는 시점들 간의 구간에 대한 시간 비율을 이용하는 플래시 타입 중 어느 하나의 타입에 의해 수신될 수 있다.
본 발명의 일 실시예에 따른 단일 광 포트 통신을 이용한 펌웨어 업데이트가 가능한 마이크로 컨트롤러는 송신기로부터 전송된 펌웨어 업데이트 시작 코드가 데이터 송신 기능을 수행하는 단일 광 포트로 수신되면 배터리의 전압을 검출하는 배터리 전압 검출부; 상기 검출된 상기 배터리의 전압이 미리 결정된 기준 전압 이상인 경우 상기 송신기로 펌웨어 관련 정보를 상기 단일 광 포트를 통해 전송하는 정보 전송부; 상기 송신기에서 전송된 상기 펌웨어 관련 정보에 따라 결정된 업데이트 모드에 대응하는 업데이트 데이터를 수신하고, 상기 수신된 상기 업데이트 데이터를 미리 결정된 저장 영역에 저장하는 저장부; 및 상기 저장된 상기 업데이트 데이터가 펌웨어를 복원할 수 있는 제1 모드의 업데이트 데이터인 경우 이전 펌웨어에 대한 복원 정보를 저장하고, 상기 업데이트 데이터를 신규 펌웨어로 업데이트하며, 상기 저장된 상기 업데이트 데이터가 상기 이전 펌웨어의 미리 결정된 데이터를 업데이트하기 위한 제2 모드의 업데이트 데이터인 경우 상기 업데이트 데이터로 상기 이전 펌웨어의 상기 미리 결정된 데이터를 업데이트하는 펌웨어 업데이트 제어부를 포함한다.
본 발명에 따르면, 단일 광 통신 포트로 송신 기능과 수신 기능을 모두 사용하고, 이런 단일 광 통신 포트를 이용하여 MCU의 펌웨어를 업데이트할 수 있기 때문에 회로를 변경하지 않고서도 펌웨어를 업데이트할 수 있고, 세트의 단가가 높아지는 것을 방지할 수 있다.
종래 발광 소자(LED)를 이용한 적외선 통신(Infrared Data Association)과 가시광통신(Visible Light Communication)에서는 수신과 송신을 위하여 송신용 포트와 수신용 포트가 필요하며 각기 해당 구현을 위한 별도의 회로 및 센서에 대한 회로구성이 필요한 반면, 본 발명은 단일 광 통신 포트만을 사용하기 때문에 최소화된 회로와 포트 사용을 통하여, 포트와 회로 감소로 인한 MCU의 가격 경쟁력을 확보하고, 외부 디스플레이용 LED를 펌웨어 업데이트를 위한 통신용으로 사용하므로 별도의 기구 구성이나 외관의 영향을 최소화 할 수 있어 공간 활용 및 디자인 효율을 높일 수 있다.
또한, 본 발명은 단일 광 통신 포트를 이용하여 펌웨어 업데이트를 수행하기 때문에 너트와 나사 등 별도 체결 부품을 사용하지 않는 저가형 기구 물에서 펌웨어를 업데이트하기 위해 기구를 분해하고 조립할 필요가 없으며, 따라서 분해/조립 시 발생할 수 있는 제품훼손을 예방할 수 있다.
도 1은 발광 소자에서의 광기전력을 설명하기 위한 일 예시도를 나타낸 것이다.
도 2는 단일 광 통신 포트를 이용한 MCU의 외부 회로 구성도에 대한 일 예를 나타낸 것이다.
도 3은 본 발명에서 단일 광 통신 포트를 이용하기 위한 일 실시예의 회로 구성을 나타낸 것이다.
도 4는 본 발명의 MCU에서 데이터 수신모드에 대한 일 실시예의 동작 흐름도를 나타낸 것이다.
도 5는 데이터 수신 모드에서 단일 광 통신 포트의 디지털스코프 파형에 대한 일 예를 나타낸 것이다.
도 6은 데이터 수신 신호에 대한 일 예의 파형을 나타낸 것이다.
도 7은 캐리어 타입과 플래시 타입의 송신 파형에 대한 일 예를 나타낸 것이다.
도 8은 광 통신 방식에서 캐리어 타입의 장점을 설명하기 위한 일 예시도를 나타낸 것이다.
도 9는 본 발명의 일 실시예에 따른 단일 광 통신 포트를 이용한 펌웨어 업데이트 방법에 대한 동작 흐름도를 나타낸 것이다.
도 10은 펌웨어 업데이트 모드에 대한 일 예를 나타낸 것이다.
도 11은 본 발명의 일 실시예에 따른 단일 광 통신 포트를 이용한 펌웨어 업데이트가 가능한 마이크로 컨트롤러에 대한 구성을 나타낸 것이다.
도 2는 단일 광 통신 포트를 이용한 MCU의 외부 회로 구성도에 대한 일 예를 나타낸 것이다.
도 3은 본 발명에서 단일 광 통신 포트를 이용하기 위한 일 실시예의 회로 구성을 나타낸 것이다.
도 4는 본 발명의 MCU에서 데이터 수신모드에 대한 일 실시예의 동작 흐름도를 나타낸 것이다.
도 5는 데이터 수신 모드에서 단일 광 통신 포트의 디지털스코프 파형에 대한 일 예를 나타낸 것이다.
도 6은 데이터 수신 신호에 대한 일 예의 파형을 나타낸 것이다.
도 7은 캐리어 타입과 플래시 타입의 송신 파형에 대한 일 예를 나타낸 것이다.
도 8은 광 통신 방식에서 캐리어 타입의 장점을 설명하기 위한 일 예시도를 나타낸 것이다.
도 9는 본 발명의 일 실시예에 따른 단일 광 통신 포트를 이용한 펌웨어 업데이트 방법에 대한 동작 흐름도를 나타낸 것이다.
도 10은 펌웨어 업데이트 모드에 대한 일 예를 나타낸 것이다.
도 11은 본 발명의 일 실시예에 따른 단일 광 통신 포트를 이용한 펌웨어 업데이트가 가능한 마이크로 컨트롤러에 대한 구성을 나타낸 것이다.
상기 목적 외에 본 발명의 다른 목적 및 특징들은 첨부 도면을 참조한 실시 예에 대한 설명을 통하여 명백히 드러나게 될 것이다.
본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
이하에서는, 본 발명의 일 실시 예에 따른 본 발명의 일 실시예에 따른 단일 광 포트 통신을 이용한 펌웨어 업데이트 방법 및 펌웨어 업데이트가 가능한 마이크로 컨트롤러를 첨부된 도 1 내지 도 11을 참조하여 상세히 설명한다.
MCU에서 골드 와이어(gold wire)를 통해 포트와 본딩(bonding)되는 패드의 경우 본딩하는 장치의 정밀도에 영향을 받으므로 일정 크기 이하로 줄이게 되면 본딩 작업 시 불량률의 상승 및 제조단가 상승의 영향을 미치게 됨에 따라, 공정 별로 정 크기 이상이 요구되므로 칩 사이즈에 큰 영향을 주는 팩터(factor)이다. 따라서, MCU의 경우 동일 기능에 포트의 개수가 적을수록 원가 경쟁력을 올릴 수 있다.
본 발명은 단일 광 통신 포트로 외부 디스플레이용 제어와 펌웨어 업데이트를 함께 수행함으로써, 펌웨어 업데이트를 위한 별도의 포트를 구비할 필요가 없으며, 따라서 별도를 회로를 추가하거나 변경하지 않고서도 펌웨어를 업데이트할 수 있고, MCU 세트의 단가가 높아지는 것을 방지하는 것을 그 요지로 한다.
도 1은 발광 소자에서의 광기전력을 설명하기 위한 일 예시도를 나타낸 것이다.
도 1에 도시된 바와 같이, P-N 접합 반도체의 접합부에 강한 빛을 입사시키면, 반도체 중에 만들어진 전자와 정공이 접촉 전위차 때문에 분리되어 양쪽 물질에서 서로 다른 종류의 전기가 나타나는 광기전력이 발생한다. 흔히 저가의 전자기기 장치의 경우 현재 상태를 사용자 또는 외부에 알려주기 위하여 LED를 사용하고 있는데, 이 LED가 반도체의 PN 접합 구조로 이루어져 있다.
따라서, 본 발명은 펌웨어 업데이트를 위한 데이터를 제공하는 송신기에서 외부 디스플레이 제어용으로 사용하는 발광 소자(LED)에 광을 조사함으로써, 발광 소자에서 생성되는 소전류 또는 광기전력을 이용하여 MCU의 펌웨어를 업데이트할 수 있다.
도 2는 단일 광 통신 포트를 이용한 MCU의 외부 회로 구성도에 대한 일 예를 나타낸 것이고, 도 3은 본 발명에서 단일 광 통신 포트를 이용하기 위한 일 실시예의 회로 구성을 나타낸 것이다.
도 2와 도 3을 참조하면, MCU의 외부 회로는 MCU에 전압(VDD)를 인가하기 위한 배터리와 파워 커패시터(power capacitor), 단일 광 포트 통신을 수행하기 위한 발광 소자(LED), 및 LED와 VDD 단(port) 사이에 전류 제한용 저항(current limit resistor)으로 구성될 수 있다. 물론, 전류 제한용 저항은 필요에 따라 구비되지 않을 수도 있다.
본 발명의 데이터 통신은 양쪽 방향으로 전송될 수 있지만 단일 광 통신 포트를 사용하기 때문에 한번에 한쪽에서만 데이터를 송신하는 반 이중 통신방식(Half-duplex Communication)을 사용한다. 도 3에 도시된 N-TR은 LED를 디스플레이 모드로 사용 또는 데이터 전송 시, LED를 ON하기 위한 용도로 사용하는 트랜지스터이다.
데이터의 수신 모드에서의 동작을 도 3을 이용하여 설명하면 다음과 같다.
데이터의 수신 모드에서는, NTR Enable 포트에 'Low' 스위칭 제어신호가 인가되어 N-TR이 컷오프(Cut-Off) 상태가 되고, 발광 소자(LED)를 통해 수신되는 신호를 판단하기 위해 타이머(timer), 카운터(counter) 및 램 버퍼(RAM buffer)를 초기화한다.
이 때, MCU에 인가되는 VDD 전압을 내부 VDI(Voltage Detect Indicator)(미도시)로 측정하여 미리 약속된 통신 파형의 캐리어(반송파) 주파수와 현재 전압에 최적인 비교기(comparator)의 기준 전압(Detect Reference Voltage)을 설정할 수 있다.
광기전력으로 생성되는 전압은 현재 VDD와 캐리어 주파수, MCU의 단일 광 통신 포트와 연결된 LED에 조사되는 광량에 따라 영향을 많이 받으며, 광량이 일정 이상으로 조사되어도 LED에서 생성되는 광기전력에 한계가 있어 일정이상 증가하지 않는다. 또한 주파수가 빠르면 LED의 광기전력 스위칭 특성과 임피던스 성분에 따라 포화 상태(Saturation)에 빠르게 도달하여, 도 5에 도시된 바와 같이, 캐리어의 오프 구간에도 기준전압까지 상승하기 전에 다시 캐리어의 온 신호가 입력되어 전압이 떨어지는 특성을 보인다. 따라서, 설정한 데이터 통신의 캐리어 주파수와 통신 유효 거리 대역을 적절하게 설정하여야 한다.
초기화 후 일정시간 동안 미리 약속한 데이터 형식의 시작 신호를 기다린다. 외부 즉, 송신기에서 LED로 광 신호가 조사되면 광기전력 효과에 의해 발광소자에서 소전류가 생성되고, 비교기는 발광소자의 소전류로 인해 생성된 전압과 기준 전압을 비교하여 기준 전압보다 높은 전압은 '1'로 낮은 전압은 '0인 디지털 신호로 변환된 디지털 변환신호를 출력한다.
이 변환된 디지털 신호는 타이머와 카운터에 의해 샘플링(sampling)되어 램 버퍼에 저장되며, 저장된 데이터는 미리 약속된 파형 정보형식에 따라 유효데이턴지 판별된다. 이 시간 동안 즉, 데이터 수신 모드 시간 동안 유효한 입력이 들어오지 않으면, 데이터 송신 모드 또는 일반 LED로 동작한다.
이런 데이터 수신 모드에 대한 동작을 도 4을 참조하여 조금 더 설명하면 다음과 같다.
도 4는 본 발명의 MCU에서 데이터 수신모드에 대한 일 실시예의 동작 흐름도를 나타낸 것으로, 도 4에 도시된 바와 같이, 데이터 수신 모드는 일반 모드 동작에서 배터리 전압(VDD)을 체크한 후 수신되는 데이터를 1과 0으로 변환하기 위한 비교기의 두 입력 전압 중 하나인 기준 전압을 설정한다.
발광 소자가 오프된 시간 동안 송신기로부터 발광 소자로 광 신호가 입력되었는지 판단하고, 광 신호가 입력되면 데이터 통신 수신 대기 모드로 전환하고 수신된 광 신호로부터 시작 신호가 유효한가 판단한다.
시작 신호가 유효한 것으로 판단되면 통신 비교 함수를 초기화시키고 통신 패킷 테이블을 리드함으로써, 비트 신호가 유효한지 판단하며, 비트 신호가 유효한 경우 유효한 비트를 저장하고 그 다음 비트 신호에 대한 유효성을 다시 판단한다.
비트 신호에 대한 유효성 판단과 저장 과정을 패킷 사이즈만큼 반복 수행하고, 이와 같은 과정이 종료되면 패킷 데이터가 유효한지 판단하여 유효한 경우 패킷 데이터를 처리함으로써, 데이터 수신 모드 과정을 수행한다.
도 6은 데이터 수신 신호에 대한 일 예의 파형을 나타낸 것으로, 데이터 수신 시, LED와 연결된 광 통신 포트로의 입력을 도시한 것이다.
도 6에 도시된 바와 같이, 단일 광 통신 포트에 연결된 발광 소자(LED)가 출력 모드 또는 송신 모드로 동작(A)하다가 B와 C구간과 같이 출력을 멈추고 수신 신호가 있는지를 체크하는 수신 모드로 동작한다. B와 C구간 동안 입력 신호가 없으면 다시 출력으로 동작하고, 유효한 입력이 들어오면 들어오는 신호에 대하여 판단한다.
C구간은 송신기에서 송신한 광 신호(transmit LED port signal)가 LED로 조사되어 광기전력에 의해 신호가 전사된 것을 나타낸 것으로, 본 발명에서 통신 데이터의 형태와 구조는 사용하는 장치와 목적에 변경될 수 있으며, 통신 데이터의 형태는 캐리어 주파수(Carrier Frequency), 시작 비트, 비트0, 비트1, 지연 홀드 시간을 포함할 수 있고, 데이터의 구조는 아래 [표 1]에 도시된 바와 같이, 시작코드(start code), 패킷 구분자(Packet ID), 제어 코드(control code), 인덱스 어드레스(index address), 에러 검출 코드(checksum)를 포함할 수 있다.
[표 1]
여기서, 시작 코드는 통신 데이터 시작을 구분하기 위한 신호를 의미하고, 패킷 구분자는 마스터(master) 예를 들어, 송신기와 슬레이브(slave) 예를 들어, 수신기의 매칭을 위한 ID 어드레스를 의미하고, 인덱스 어드레스는 제어 코드가 작용할 목적 인덱스 어드레스를 의미하고, 에러 검출 코드는 패킷 데이터가 유효한지를 체크하기 위한 코드 값을 의미한다.
시작코드와 각 데이터 비트들은 캐리어 주파수, 비트 하이(high) 구간과 비트 로우(low) 구간으로 구분될 수 있으며, 전송 포맷의 종류는 캐리어 주파수가 있는 타입 예를 들어, 캐리어 타입과 캐리어 주파수가 없는 타입 예를 들어, 플래시 타입으로 나눌 수 있다.
캐리어 타입은 송신기에서 데이터 송신 시, 일정한 캐리어 주파수를 전송하고 하는 신호와 결합(예를 들어, AND) 시킨 파형을 수신기로 송출하고, 도 7에 도시된 파형 중 상부에 도시된 파형과 같이, 지정된 또는 설정된 캐리어로 입력된 하이 구간과 로우 구간의 시간 비유로 데이터의 시작 신호(start signal)와 송신하려는 데이터의 바이너리 데이터(Binary Data)인 Bit0(BIT0 signal), Bit1(BIT1 signal)을 구별한다. 예를 들어, 시작 신호의 경우 하이 구간(A)이 로우 구간보다 시간이 길고, Bit0의 경우 하이 구간과 로우 구간의 시간이 동일하고, Bit1의 경우 하이 구간이 로우 기간의 시간보다 짧다.
이런 캐리어 타입의 특성은 도 8에 도시된 바와 같이, 캐리어가 포함되지 않은 송출 신호의 경우(no inserted carrier wave) 광 노이즈로 인하여 신호가 소실되거나 왜곡이 될 수 있는 반면 캐리어가 포함된 송출 신호의 경우(inserted carrier wave) 송출 신호 외의 광 노이즈로 인한 신호의 소실, 왜곡, 잡음에 대한 특성이 좋다.
캐리어 타입으로 데이터 송신 시, 데이터 포맷의 구성은 광기전력 입력에 따른 스위칭 속도를 고려하여 설계하는 것이 바람직하다. 도 5에 도시된 바와 같이, 단일 광 포트로 수신되는 캐리어 오프 구간이 슬롭(slope)을 가지고 상승하고, 입력이 없는 초기 상태 전압 레벨까지 상승하기 전에 다음신호가 인가되어 입력 구간에서 최대 전압 레벨과 초기 전압 레벨의 차이가 있는 것을 알 수 있다. 해당 차이 구간은 송신기의 광량이 강하고 입력 주파수가 빠를 수록 커지는데, 이는 발광 소자에 따라 광기전력으로 생성되는 전류에 의하여 생성된 전압이 방전되는 시간이 필요하기 때문이다. 따라서 방전 시간이 캐리어 속도보다 느릴 경우 포화 상태(Saturation) 구간이 존재하게 되어 신호를 판단하는 기준 전압의 위치에 따라 신호에 대한 왜곡구간이 존재하게 된다.
물론, 이와 같은 특성을 이용하면 송신기의 광량 세기와 주파수에 따라 특정 거리 구간에서만 신호를 송수신할 수 있도록 구현하는 것이 가능하다.
플래시 타입(flash type)은 데이터 송신 시, 짧은 구간 광원 예를 들어, 발광소자를 온하고 광원이 온(On)된 시점부터 다음 온된 시점까지의 구간의 시간 비율로 데이터의 시작 신호(start signal)와 송신하려는 데이터의 바이너리 데이터(Binary Data)인 Bit0(BIT0 signal), Bit1(BIT1 signal)을 구별한다.
이런 플래시 타입은 캐리어 타입에 비하여 잡음 여유도(Noise Immunity) 특성은 떨어지지만 캐리어를 사용하지 않기 때문에 방전시간을 캐리어 타입보다 확보하기가 수월하고, 따라서 캐리어 타입보다 더 빠른 통신속도를 구현할 수 있다.
도 9는 본 발명의 일 실시예에 따른 단일 광 통신 포트를 이용한 펌웨어 업데이트 방법에 대한 동작 흐름도를 나타낸 것이고, 도 10은 펌웨어 업데이트 모드에 대한 일 예를 나타낸 것이다.
도 9와 도 10을 참조하면, 본 발명에 따른 펌웨어 업데이트 방법은 수신기(update firmware code 수신기)의 펌웨어 업데이트를 수행하기 위한 MCU가 송신기(update firmware code 송신기)의 광 조사에 의해 전송된 펌웨어 업데이트 시작 코드를 수신하면, 현재 VDD 전압(배터리 전압)을 내부 VDI (Voltage Detect Indicator)로 측정하여 측정된 VDD 전압(A)과 펌웨어 업데이트 수행 여부를 판단하기 위해 미리 결정된 허용 전압(B)을 비교함으로써, 측정된 VDD 전압이 허용전압보다 큰지 판단한다.
MCU의 배터리 전압이 업데이트 허용 전압 범위 이내라면 연결 성공 코드, 펌웨어 버전 정보(Firmware Version Information) 즉, MCU의 현재 펌웨어 버전 정보, 데이터를 저장할 수 있는 비어있는 빈 영역의 크기를 송신기로 송신하고, 배터리 전압이 허용 전압 범위를 벗어나면 허용 전압 오류 코드를 송신기로 전송하고 업데이트 모드를 종료한다.
송신기는 수신기에서 전송된 연결 성공 코드, MCU의 현재 펌웨어 버전 정보, 빈 영역 크기를 수신하면, 빈 영역의 크기와 버전정보를 고려하여 업데이트 모드를 결정한다.
본 발명에서의 펌웨어 업데이트 모드는 도 10에 도시된 바와 같이 서로 다른 두 가지 모드를 포함할 수 있다. 두 업데이트 모드는 수신기 MCU의 업데이트 전 펌웨어를 복원할 수 있는 복원 가능 펌웨어 업데이트 모드(A)와 수신기 MCU의 현재 펌웨어 중 일부 데이터를 업데이트할 수 있는 부분 펌웨어 업데이트 모드(B)일 수 있다.
복원 가능 업데이트 모드로 업데이트 시, MCU의 롬 영역에는 신규 펌웨어(New Firmware), 이전 펌웨어(Old Firmware) 그리고 복원 정보(Rollback information data)를 포함한다.
복원 가능 펌웨어 업데이트 모드는 수신기 MCU 롬에 빈 영역이 신규 펌웨어 업데이트 코드와 복원 정보보다 크거나 같을 때, 빈 영역에 신규 펌웨어 코드를 저장하고 인터럽트 벡터(Interrupt Vector)를 신규 펌웨어 코드의 기능 어드레스(Function Address)로 수정한다.
복원 가능 펌웨어 업데이트 모드는 이전 펌웨어가 보존되기 때문에 신규 펌웨어에 문제가 있을 때 복원이 가능한 장점이 있다.
부분 펌웨어 업데이트 모드는 이전 펌웨어에서 변경된 데이터만을 교체하거나 업데이트하기 때문에 펌웨어 업데이트 속도는 빠르나 펌웨어 데이터가 변경됨으로써, 이전 펌웨어를 수신 받지 않으면 복원이 불가능한 단점이 있다.
이와 같이, 송신기에서 업데이트 모드가 결정되면 업데이트 모드 정보, 총 패킷사이즈, 유효 체크 코드를 수신기로 전송한다
수신기는 송신기로부터 전송된 업데이트 펌웨어 데이터 즉, 펌웨어 업데이트 데이터가 수신되면, 데이터의 유효성을 체크하여 램 버퍼에 저장한다.
이 때, MCU는 플래시 블럭 쓰기(Flash Block Write) 사이즈가 되면 유효성을 한번 더 체크하여 유효할 경우 저장한다.
상기 과정에서 오류가 발생하면 에러 데이터 회수를 증가 시키고, 미리 결정된 지정 에러 회수(또는 기준 오류 회수) 이하일 경우 송신기로 패킷 에러 및 재 전송 요청 코드를 전송하며, 지정 에러 회수를 초과할 경우 송신기로 에러 전송 종료 코드를 전송하고 펌웨어 업데이트 모드를 종료한다.
반면 수신기는 수신된 데이터가 유효하면 패킷 사이즈에 해당하는 패킷을 수신할 때까지 송신기로 그 다음 패킷을 요청하는 코드를 전송한다.
패킷 사이즈에 해당하는 패킷을 모두 수신하면 수신된 업데이트 데이터가 부분 펌웨어 업데이트 모드 또는 복원 가능 펌웨어 업데이트 모드인지 확인하고, 부분 펌웨어 업데이트 모드인 경우에는 업데이트 데이터의 유효성을 확인한 후 유효한 경우 펌웨어의 부분 업데이트를 수행한 후 업데이트 종료 코드를 송신기로 전송하고 업데이트를 종료한다.
반면 업데이트 모드가 복원 가능 업데이트 모드인 경우에는 벡터 테이블을 업데이트하고, 이전 펌웨어에 대한 복원 정보를 저장한 후 업데이트 데이터의 유효성을 확인한 후 유효한 경우 펌웨어의 부분 업데이트를 수행한 후 업데이트 종료 코드를 송신기로 전송하고 업데이트를 종료한다.
송신기는 펌웨어 업데이트를 위한 업데이트 데이터 패킷이 수신기로 모두 전송되면 복원 가능 펌웨어 업데이트 모드에 대해서는 이전 펌웨어에 대한 복원 정보를 저장하고, 인터럽트 벡터 테이블을 신규 펌웨어에 맞게 업데이트하여 프로그램 시작 번지(Reset Address)를 재 설정한다.
도 11은 본 발명의 일 실시예에 따른 단일 광 통신 포트를 이용한 펌웨어 업데이트가 가능한 마이크로 컨트롤러에 대한 구성을 나타낸 것으로, 상술한 펌웨어를 업데이트 하기 위한 모든 내용을 수행할 수 있다.
도 11을 참조하면, 본 발명에 따른 마이크로 컨트롤러(MCU)(1100)는 데이터 수신부(1110), 배터리 전압 검출부(1120), 정보 전송부(1130), 저장부(1140) 및 펌웨어 업데이트 제어부(1150)를 포함한다.
데이터 수신부(1110)는 MCU가 데이터 수신 모드로 전환된 후 즉, 발광 소자와 연결된 단일 광 포트가 수신 모드로 전환된 후, 송신기에서 단일 광 포트에 연결된 발광 소자로 펌웨어 업데이트 시작 코드 또는 펌웨어 업데이트를 위한 업데이트 데이터에 대응하는 광이 조사되면 조사된 광에 의해 발광 소자로부터 생성된 광기전력의 전압으로 펌웨어 업데이트 시작 코드와 업데이트 데이터를 수신한다.
이 때, 데이터 수신부(1110)는 상술한 캐리어 타입 또는 플래시 타입으로 송신기에서 전송된 데이터를 수신할 수 있다.
물론, 데이터 수신부(1110)는 상술한 데이터 뿐만 아니라 본 발명을 수행하기 위한 데이터를 모두 수신할 수 있다는 것은 이 기술 분야에 종사하는 당업자에게 있어서 자명하다.
배터리 전압 검출부(1120)는 송신기로부터 전송된 펌웨어 업데이트 시작 코드가 데이터 송신 기능을 수행하는 단일 광 포트로 수신되면 MCU의 배터리 전압을 검출한다.
이 때, 배터리 전압은 VDI (Voltage Detect Indicator)로 측정할 수 있다.
정보 전송부(1130)는 배터리 전압 검출부(1120)에 의해 검출된 배터리의 전압이 미리 결정된 기준 전압 이상인 경우 송신기로 펌웨어 관련 정보를 단일 광 포트를 통해 전송한다.
이 때, 펌웨어 관련 정보는 연결 성공 코드, 펌웨어 버전 정보(Firmware Version Information), 데이터를 저장할 수 있는 비어있는 빈 영역의 크기를 포함할 수 있다.
저장부(1140)는 송신기에서 결정된 업데이트 모드에 대응하는 업데이트 데이터를 데이터 수신부(1110)를 통해서 수신하고, 수신된 업데이트 데이터를 미리 결정된 저장 영역에 저장한다.
이 때, 업데이트 모드는 정보 전송부(1130)에서 단일 광 포트를 통해 송신기로 전송한 펌웨어 관련 정보를 이용하여 송신기에서 결정할 수 있으며, 이런 업데이트 모드는 펌웨어 버전 정보와 데이터를 저장할 수 있는 비어있는 빈 영역의 크기가 고려되어 결정될 수 있다.
저장부(1140)에 저장된 업데이트 데이터는 업데이트 모드 정보, 총 패킷 사이즈, 유효 체크 코드를 포함할 수 있다.
펌웨어 업데이트 제어부(1150)는 송신기에서 결정된 업데이트 모드가 이전 펌웨어를 복원할 수 있는 복원 가능 펌웨어 업데이트 모드인 경우에는 이전 펌웨어에 대한 복원 정보를 저장하고, 송신기로부터 수신 받은 업데이트 데이터를 이용하여 신규 펌웨어로 업데이트 하며, 송신기에서 결정된 업데이트 모드가 부분 펌웨어 업데이트 모드인 경우에는 송신기로부터 수신 받은 업데이트 데이터를 이용하여 MCU의 펌웨어 중 일부 데이터 즉 미리 결정된 데이터를 교체 또는 업데이트 한다.
이 때, 펌웨어 업데이트 제어부(1150)는 유효 체크 코드를 통해 업데이트 데이터의 유효성을 체크하고, 업데이트 데이터가 유효한 경우 업데이트 데이터를 저장부의 미리 결정된 저장 영역에 저장할 수 있다.
이 때, 펌웨어 업데이트 제어부(1150)는 유효성을 체크하는 과정에서 오류가 발생하거나 업데이트 데이터가 유효하지 않은 경우 에러 데이터 회수를 증가시키고, 증가된 에러 데이터 회수가 미리 결정된 지정 에러 회수 이하인 경우 정보 전송부(1130)를 제어하여 패킷 에러 및 업데이트 데이터의 재전송을 요청하는 재전송 요청 코드를 송신기로 전송할 수 있다.
본 발명에 따른 펌웨어 업데이트가 가능한 MCU는 상술한 기능 이외에도 도 1 내지 도 10을 이용하여 기술한 모든 기능을 포함할 수 있다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
Claims (12)
- 송신기로부터 전송된 펌웨어 업데이트 시작 코드가 데이터 송신 기능과 데이터 수신 기능을 모두 수행하는 단일 광 포트로 수신되면 배터리의 전압을 검출하는 단계;
상기 검출된 상기 배터리의 전압이 미리 결정된 기준 전압 이상인 경우 상기 송신기로 펌웨어 관련 정보를 상기 단일 광 포트를 통해 전송하는 단계;
상기 송신기에서 전송된 상기 펌웨어 관련 정보에 따라 결정된 업데이트 모드에 대응하는 업데이트 데이터를 수신하고, 상기 수신된 상기 업데이트 데이터를 미리 결정된 저장 영역에 저장하는 단계;
상기 저장된 상기 업데이트 데이터가 펌웨어를 복원할 수 있는 제1 모드의 업데이트 데이터인 경우 이전 펌웨어에 대한 복원 정보를 저장하고, 상기 업데이트 데이터를 신규 펌웨어로 업데이트하는 단계; 및
상기 저장된 상기 업데이트 데이터가 상기 이전 펌웨어의 미리 결정된 데이터를 업데이트하기 위한 제2 모드의 업데이트 데이터인 경우 상기 업데이트 데이터로 상기 이전 펌웨어의 상기 미리 결정된 데이터를 업데이트하는 단계
를 포함하는 단일 광 포트 통신을 이용한 펌웨어 업데이트 방법. - 제1항에 있어서,
상기 업데이트 데이터는
업데이트 모드 정보, 총 패킷 사이즈, 유효 체크 코드를 포함하고,
상기 저장하는 단계는
상기 유효 체크 코드를 통해 상기 업데이트 데이터의 유효성을 체크하는 단계; 및
상기 업데이트 데이터가 유효한 경우 상기 업데이트 데이터를 상기 미리 결정된 저장 영역에 저장하는 단계
를 포함하는 것을 특징으로 하는 단일 광 포트 통신을 이용한 펌웨어 업데이트 방법. - 제2항에 있어서,
상기 유효성을 체크하는 과정에서 오류가 발생하거나 상기 업데이트 데이터가 유효하지 않은 경우 에러 데이터 회수를 증가시키고, 상기 증가된 상기 에러 데이터 회수가 미리 결정된 지정 에러 회수 이하인 경우 상기 송신기로 패킷 에러 및 업데이트 데이터의 재전송을 요청하는 재전송 요청 코드를 전송하는 단계
를 더 포함하는 것을 특징으로 하는 단일 광 포트 통신을 이용한 펌웨어 업데이트 방법. - 제1항에 있어서,
상기 펌웨어 관련 정보는
상기 이전 펌웨어의 버전 정보, 데이터의 저장이 가능한 비어있는 영역 크기를 포함하고,
상기 업데이트 모드는
상기 이전 펌웨어의 버전 정보와 상기 비어있는 영역 크기에 의해 결정되는
것을 특징으로 하는 단일 광 포트 통신을 이용한 펌웨어 업데이트 방법. - 제1항에 있어서,
상기 펌웨어 업데이트 시작 코드와 상기 업데이트 데이터는
상기 단일 광 포트가 수신 모드로 전환된 후, 상기 송신기에서 상기 단일 광 포트에 연결된 발광 소자로 상기 펌웨어 업데이트 시작 코드 및 상기 업데이트 데이터에 대응하는 광이 조사되면 상기 조사된 광에 의해 상기 발광 소자로부터 생성된 광기전력의 전압으로 수신되는
것을 특징으로 하는 단일 광 포트 통신을 이용한 펌웨어 업데이트 방법. - 제1항에 있어서,
상기 펌웨어 업데이트 시작 코드와 상기 업데이트 데이터는
미리 결정된 캐리어(carrier)로 입력된 하이 구간과 로우 구간의 시간 비율을 이용하는 캐리어 타입과 상기 송신기에서 조사된 광이 상기 단일 광 포트에 연결된 발광 소자로 수신되는 시점들 간의 구간에 대한 시간 비율을 이용하는 플래시 타입 중 어느 하나의 타입에 의해 수신되는
것을 특징으로 하는 단일 광 포트 통신을 이용한 펌웨어 업데이트 방법.
- 송신기로부터 전송된 펌웨어 업데이트 시작 코드가 데이터 송신 기능과 데이터 수신 기능을 모두 수행하는 단일 광 포트로 수신되면 배터리의 전압을 검출하는 배터리 전압 검출부;
상기 검출된 상기 배터리의 전압이 미리 결정된 기준 전압 이상인 경우 상기 송신기로 펌웨어 관련 정보를 상기 단일 광 포트를 통해 전송하는 정보 전송부;
상기 송신기에서 전송된 상기 펌웨어 관련 정보에 따라 결정된 업데이트 모드에 대응하는 업데이트 데이터를 수신하고, 상기 수신된 상기 업데이트 데이터를 미리 결정된 저장 영역에 저장하는 저장부; 및
상기 저장된 상기 업데이트 데이터가 펌웨어를 복원할 수 있는 제1 모드의 업데이트 데이터인 경우 이전 펌웨어에 대한 복원 정보를 저장하고, 상기 업데이트 데이터를 신규 펌웨어로 업데이트하며, 상기 저장된 상기 업데이트 데이터가 상기 이전 펌웨어의 미리 결정된 데이터를 업데이트하기 위한 제2 모드의 업데이트 데이터인 경우 상기 업데이트 데이터로 상기 이전 펌웨어의 상기 미리 결정된 데이터를 업데이트하는 펌웨어 업데이트 제어부
를 포함하는 단일 광 포트 통신을 이용한 펌웨어 업데이트가 가능한 마이크로 컨트롤러. - 제7항에 있어서,
상기 업데이트 데이터는
업데이트 모드 정보, 총 패킷 사이즈, 유효 체크 코드를 포함하고,
상기 펌웨어 업데이트 제어부는
상기 유효 체크 코드를 통해 상기 업데이트 데이터의 유효성을 체크하고, 상기 업데이트 데이터가 유효한 경우 상기 업데이트 데이터를 상기 저장부의 상기 미리 결정된 저장 영역에 저장하는
것을 특징으로 하는 단일 광 포트 통신을 이용한 펌웨어 업데이트가 가능한 마이크로 컨트롤러. - 제8항에 있어서,
상기 펌웨어 업데이트 제어부는
상기 유효성을 체크하는 과정에서 오류가 발생하거나 상기 업데이트 데이터가 유효하지 않은 경우 에러 데이터 회수를 증가시키고, 상기 증가된 상기 에러 데이터 회수가 미리 결정된 지정 에러 회수 이하인 경우 상기 정보 전송부를 제어하여 패킷 에러 및 업데이트 데이터의 재전송을 요청하는 재전송 요청 코드를 상기 송신기로 전송하는
것을 특징으로 하는 단일 광 포트 통신을 이용한 펌웨어 업데이트가 가능한 마이크로 컨트롤러. - 제7항에 있어서,
상기 펌웨어 관련 정보는
상기 이전 펌웨어의 버전 정보, 데이터의 저장이 가능한 비어있는 영역 크기를 포함하고,
상기 업데이트 모드는
상기 이전 펌웨어의 버전 정보와 상기 비어있는 영역 크기에 의해 결정되는
것을 특징으로 하는 단일 광 포트 통신을 이용한 펌웨어 업데이트가 가능한 마이크로 컨트롤러. - 제7항에 있어서,
상기 단일 광 포트가 수신 모드로 전환된 후, 상기 송신기에서 상기 단일 광 포트에 연결된 발광 소자로 상기 펌웨어 업데이트 시작 코드 및 상기 업데이트 데이터에 대응하는 광이 조사되면 상기 조사된 광에 의해 상기 발광 소자로부터 생성된 광기전력의 전압으로 상기 펌웨어 업데이트 시작 코드와 상기 업데이트 데이터를 수신하는 데이터 수신부
를 더 포함하는 것을 특징으로 하는 단일 광 포트 통신을 이용한 펌웨어 업데이트가 가능한 마이크로 컨트롤러. - 제7항에 있어서,
미리 결정된 캐리어(carrier)로 입력된 하이 구간과 로우 구간의 시간 비율을 이용하는 캐리어 타입과 상기 송신기에서 조사된 광이 상기 단일 광 포트에 연결된 발광 소자로 수신되는 시점들 간의 구간에 대한 시간 비율을 이용하는 플래시 타입 중 어느 하나의 타입에 의해 상기 펌웨어 업데이트 시작 코드와 상기 업데이트 데이터를 수신하는 데이터 수신부
를 더 포함하는 것을 특징으로 하는 단일 광 포트 통신을 이용한 펌웨어 업데이트가 가능한 마이크로 컨트롤러.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20130167326A KR101458428B1 (ko) | 2013-12-30 | 2013-12-30 | 단일 광 포트 통신을 이용한 펌웨어 업데이트 방법 및 펌웨어 업데이트가 가능한 마이크로 컨트롤러 |
PCT/KR2014/012622 WO2015102278A1 (ko) | 2013-12-30 | 2014-12-23 | 단일 광 포트 통신을 이용한 펌웨어 업데이트 방법 및 펌웨어 업데이트가 가능한 마이크로 컨트롤러 |
CN201480071881.4A CN106464359B (zh) | 2013-12-30 | 2014-12-23 | 使用单个光端口通信更新固件的方法和能更新固件的微控制器 |
US15/192,484 US20160306622A1 (en) | 2013-12-30 | 2016-06-24 | Method of updating firmware using single optical port communication and microcontroller capable of updating firmware |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20130167326A KR101458428B1 (ko) | 2013-12-30 | 2013-12-30 | 단일 광 포트 통신을 이용한 펌웨어 업데이트 방법 및 펌웨어 업데이트가 가능한 마이크로 컨트롤러 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101458428B1 true KR101458428B1 (ko) | 2014-11-07 |
Family
ID=52287125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20130167326A KR101458428B1 (ko) | 2013-12-30 | 2013-12-30 | 단일 광 포트 통신을 이용한 펌웨어 업데이트 방법 및 펌웨어 업데이트가 가능한 마이크로 컨트롤러 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20160306622A1 (ko) |
KR (1) | KR101458428B1 (ko) |
CN (1) | CN106464359B (ko) |
WO (1) | WO2015102278A1 (ko) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10412046B2 (en) * | 2014-06-17 | 2019-09-10 | Nxp Usa, Inc. | Method of, and a device for updating a multiple-processing entity packet management system, and associated computer program product |
CN108139899B (zh) * | 2015-09-24 | 2021-04-23 | Oppo广东移动通信有限公司 | 终端设备和控制充电的方法 |
CN106452577A (zh) * | 2016-09-26 | 2017-02-22 | 北京邮电大学 | 一种可见光通信装置、系统及方法 |
US10866798B2 (en) | 2017-12-28 | 2020-12-15 | Intel Corporation | Firmware upgrade method and apparatus |
US11397571B2 (en) * | 2018-01-17 | 2022-07-26 | Kymeta Corporation | Method and apparatus for remotely updating satellite devices |
CN108376077A (zh) * | 2018-02-11 | 2018-08-07 | 广东美的厨房电器制造有限公司 | 控制单元的升级方法和装置 |
EP3582032B1 (de) * | 2018-06-12 | 2022-07-06 | VEGA Grieshaber KG | Feldgerät mit reduzierter stillstandszeit bei firmware-update |
US10853472B2 (en) * | 2018-06-28 | 2020-12-01 | Intel Corporation | System, apparatus and method for independently recovering a credential |
CN108572839A (zh) * | 2018-07-12 | 2018-09-25 | 四川虹美智能科技有限公司 | 智能冰箱系统升级方法、系统、智能冰箱和云端服务器 |
CN111142917A (zh) * | 2019-12-18 | 2020-05-12 | 广东美的厨房电器制造有限公司 | 一种家电多mcu系统在线升级方法、电子设备及介质 |
US11640232B2 (en) * | 2021-09-02 | 2023-05-02 | Electrolux Home Products, Inc. | Cost efficient method for communicating from an appliance to an external device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000040003A (ja) * | 1998-07-23 | 2000-02-08 | Nec Corp | ファームウェア更新システム |
JP2008271168A (ja) * | 2007-04-20 | 2008-11-06 | Hitachi Communication Technologies Ltd | 無線通信カード実装端末および無線通信カード実装端末におけるデータ更新方法 |
JP2012060302A (ja) * | 2010-09-07 | 2012-03-22 | Yokogawa Electric Corp | 光伝送装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005123940A (ja) * | 2003-10-17 | 2005-05-12 | Olympus Corp | 情報提供装置、情報提供システム、情報提供方法、及び情報提供プログラム |
US7542757B2 (en) * | 2003-11-20 | 2009-06-02 | Agere Systems Inc. | Method, system, and computer program product for over-the-air download to satellite radio |
US8111999B2 (en) * | 2004-10-29 | 2012-02-07 | Finisar Corporation | Inter-transceiver module communication for firmware upgrade |
CN1808383A (zh) * | 2005-01-20 | 2006-07-26 | 明基电通股份有限公司 | 固件更新方法及装置 |
US7870379B2 (en) * | 2006-10-10 | 2011-01-11 | Exaflop Llc | Updating a power supply microcontroller |
US8674913B2 (en) * | 2008-09-05 | 2014-03-18 | Ketra, Inc. | LED transceiver front end circuitry and related methods |
JP2010130316A (ja) * | 2008-11-27 | 2010-06-10 | Sumitomo Electric Ind Ltd | 光送信装置及びファームウェアの更新方法 |
ES2388836B1 (es) * | 2011-03-23 | 2013-09-03 | Telnet Redes Inteligentes S A | Sistema para la certificacion de una red optica pasiva y para la deteccion de problemas y averias en los ultimos tramos de fibra. |
-
2013
- 2013-12-30 KR KR20130167326A patent/KR101458428B1/ko active IP Right Grant
-
2014
- 2014-12-23 WO PCT/KR2014/012622 patent/WO2015102278A1/ko active Application Filing
- 2014-12-23 CN CN201480071881.4A patent/CN106464359B/zh active Active
-
2016
- 2016-06-24 US US15/192,484 patent/US20160306622A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000040003A (ja) * | 1998-07-23 | 2000-02-08 | Nec Corp | ファームウェア更新システム |
JP2008271168A (ja) * | 2007-04-20 | 2008-11-06 | Hitachi Communication Technologies Ltd | 無線通信カード実装端末および無線通信カード実装端末におけるデータ更新方法 |
JP2012060302A (ja) * | 2010-09-07 | 2012-03-22 | Yokogawa Electric Corp | 光伝送装置 |
Also Published As
Publication number | Publication date |
---|---|
US20160306622A1 (en) | 2016-10-20 |
CN106464359A (zh) | 2017-02-22 |
CN106464359B (zh) | 2019-04-09 |
WO2015102278A1 (ko) | 2015-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101458428B1 (ko) | 단일 광 포트 통신을 이용한 펌웨어 업데이트 방법 및 펌웨어 업데이트가 가능한 마이크로 컨트롤러 | |
US20090150587A1 (en) | Master-slave device communication circuit | |
US8040143B2 (en) | Capacitance sensing with mismatch compensation | |
TW200701417A (en) | Wireless local area network communications module and integrated chip package | |
US8582669B2 (en) | Noise reduction circuit in a digital isolator system | |
US20190386698A1 (en) | Modified Current Mirror Circuit for Reduction of Switching Time | |
CN106330323A (zh) | Olt光模块及olt | |
US20170163226A1 (en) | Fast switching power amplifier, low noise amplifier, and radio frequency switch circuits | |
KR20110096808A (ko) | 데이터 수신율을 개선하기 위한 수신 데이터 보정방법 및 그에 따른 수신 모뎀 회로 | |
RU2015143730A (ru) | Бесконтактное управление мультимедийных устройств | |
US9603224B2 (en) | Interface circuit for signal transmission | |
US11106318B2 (en) | Method and system for transmitting signal, active stylus, touch screen and readable storage medium | |
CN112562307B (zh) | Iic信号传输系统、iic信号传输方法及存储介质 | |
EP2728800A1 (en) | Data communications | |
CN214315268U (zh) | Swp主接口电路及终端 | |
US10198679B2 (en) | NFC card emulation device | |
US20080152063A1 (en) | Serial interface connecting circuit | |
US20120056611A1 (en) | Connection detection circuit | |
CN212811546U (zh) | 一种芯片控制转换电路 | |
CN112511153B (zh) | Swp主接口电路及终端 | |
CN216387402U (zh) | 一种电子设备使用状态检测装置和电子设备 | |
CN216145179U (zh) | 一种红外触摸框与主控芯片的串口通讯电路 | |
CN109474350B (zh) | 一种光模块 | |
US8704555B2 (en) | Integrated circuit comprising reference voltage generation circuitry and electronic device | |
KR101624112B1 (ko) | 배터리 전원 검출 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20171011 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20181002 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20191029 Year of fee payment: 6 |