KR100608652B1 - Ril을 이용한 듀얼 cpu의 gpio 제어 시스템 - Google Patents

Ril을 이용한 듀얼 cpu의 gpio 제어 시스템 Download PDF

Info

Publication number
KR100608652B1
KR100608652B1 KR1020040110660A KR20040110660A KR100608652B1 KR 100608652 B1 KR100608652 B1 KR 100608652B1 KR 1020040110660 A KR1020040110660 A KR 1020040110660A KR 20040110660 A KR20040110660 A KR 20040110660A KR 100608652 B1 KR100608652 B1 KR 100608652B1
Authority
KR
South Korea
Prior art keywords
cpu
ril
gpio
dual
driver
Prior art date
Application number
KR1020040110660A
Other languages
English (en)
Other versions
KR20060072259A (ko
Inventor
장택수
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020040110660A priority Critical patent/KR100608652B1/ko
Publication of KR20060072259A publication Critical patent/KR20060072259A/ko
Application granted granted Critical
Publication of KR100608652B1 publication Critical patent/KR100608652B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/105Program control for peripheral devices where the programme performs an input/output emulation function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Telephone Function (AREA)

Abstract

본 발명은 RIL을 이용한 듀얼 CPU의 GPIO 제어 시스템에 관한 것으로, 종래에는 듀얼 CPU를 사용하는 시스템의 경우에도 메인 CPU에만 디바이스를 장착하고, 슬레이브 CPU는 단순히 모뎀으로만 사용하여 듀얼 CPU의 GPIO 핀이 부족한 문제점이 있었다. 이러한 문제점을 감안한 본 발명은 메인 CPU와 슬레이브 CPU를 포함하는 듀얼 CPU 시스템에 있어서, 메인 CPU는, 슬레이브 CPU의 GPIO를 제어하는 커맨드 신호를 생성하는 애플리케이션과, 슬레이브 CPU를 구동하는 RIL(Radio Interface Layer) 드라이버와, 상기 애플리케이션에 RIL 드라이버와 매핑되는 함수를 호출하고 그에 따라 생성한 커맨드 신호를 RIL 드라이버로 전달하는 RIL 프록시를 포함하고, 상기 슬레이브 CPU는, 상기 커맨드 신호에 따라 슬레이브 CPU의 GPIO 동작을 제어하는 커맨드 핸들러를 이용하여 듀얼 CPU 시스템에서 GPIO 핀이 부족한 문제를 해결하는 효과가 있다.

Description

RIL을 이용한 듀얼 CPU의 GPIO 제어 시스템{SYSTEM FOR CONTROLLING GPIO OF DUAL CPU USING RIL}
도 1은 종래 기술에 의한 듀얼 CPU 시스템의 구성도.
도 2는 본 발명에 의한 듀얼 CPU 시스템의 구성도.
**도면의 주요부분에 대한 부호의 설명**
110: 메인 CPU 111, 121: GPIO
112: 메인 디바이스1~n 120: 슬레이브 CPU
122: 서브 디바이스1~m 210: 애플리케이션/드라이버
220: RIL 프록시 230: RIL 드라이버
240, 250: 미디엄 드라이버 260: 커맨드 파서
270: 커맨드 핸들러
본 발명은 RIL을 이용한 듀얼 CPU의 GPIO 제어 시스템에 관한 것으로, 특히 듀얼 CPU를 구성하는 슬레이브 CPU의 GPIO에 각종 디바이스를 연결하고 메인 CPU의 RIL 드라이버로 슬레이브 CPU의 GPIO를 제어할 수 있게 한 RIL을 이용한 듀얼 CPU 의 GPIO 제어 시스템에 관한 것이다.
휴대폰과 PDA(Personal Digital Assistant)의 기능을 발전적으로 결합시킨 차세대 고기능 휴대폰으로서 스마트폰이 개발되어, 기존 휴대폰에서는 구현할 수 없었던 OS(Operation System)기반 하에서의 프로그램 구동 및 편리한 데이터 통신, 그리고 PC(Personal Computer)와의 동기화(Synchronization)가 가능하게 되었다.
스마트폰은 일반 휴대폰의 저용량 메모리에 비해 OS하에서 대용량 메모리를 채택하여 다양한 프로그램 및 데이터 사용이 가능하고, OS자체 또는 프로그램 등의 업그레이드가 가능하다.
스마트폰(Smartphone) 제작에 있어서, MSM CPU(Mobile Station Modem, Central Processing Units)의 성능 부족과, 해당 CPU를 채용한 시스템에서 OS(Operation System)를 구동시키기 위한 소프트웨어인 BSP(Board Support Package)의 부재로 인하여 듀얼 CPU를 사용하는 경우가 대부분이다.
듀얼 CPU 시스템에서는 메인 CPU와 슬레이브 CPU로 구분하여, OS는 메인 CPU에서 구동시키고, 기존의 MSM CPU는 슬레이브 CPU로 구동시켜 모뎀 기능 정도만 사용하는 것이 일반적이다.
메인 CPU와 슬레이브 CPU 간의 통신은 시리얼(Serial), USB(Universal Serial Bus), DPRAM(Dual Port RAM) 등의 H/W 인터페이스를 가지고, 메인 CPU측에서는 시스템에 적합한 RIL 드라이버를 이용해 통신한다.
도 1은 종래 기술에 의한 듀얼 CPU의 시스템 구성도로서, 이에 도시된 바와 같이 하드웨어적으로 메인 CPU와 슬레이브 CPU로 구성되고, 시스템을 전반적으로 제어하는 메인 CPU의 GPIO(General Purpose Input Output)를 이용해 각종 디바이스(메인 디바이스1~n)를 연결한다.
하이엔드 폰(High-end Phone)은 각종 기능을 가지는 디바이스를 내장해야 하므로 갈수록 집약화되고 있으며, 그에 따라 해당 하드웨어와의 인터페이스를 구현하기 위해 사용되는 CPU의 GPIO 개수가 부족하게 되었다. 이는, 슬레이브 CPU가 단순히 모뎀 역할만을 하여 대부분의 디바이스들이 메인 CPU와 연결되어야 하기 때문에 더욱 그러하다.
이러한 GPIO 개수 부족 문제를 해결하기 위하여, 메인 CPU에 장착할 디바이스와 메인 CPU 사이에 CPLD(Complex Programmable Logic Device)를 추가해 GPIO를 확장하는 방법을 사용하거나, 디바이스의 개수를 줄이는 방법을 사용하고 있으나 근본적인 해결책이 되지 못하고 있다.
상기 언급한 바와 같은 종래 기술에 있어서, 듀얼 CPU를 사용하는 시스템의 경우 메인 CPU에만 디바이스를 장착하고, 슬레이브 CPU는 단순히 모뎀으로만 사용하여 듀얼 CPU의 GPIO 핀이 부족한 문제점이 있었다.
따라서, 본 발명은 상기와 같은 문제점을 감안하여 창안한 것으로, 듀얼 CPU의 슬레이브 CPU에 각종 디바이스를 연결하고, 슬레이브 CPU에 연결된 디바이스를 메인 CPU의 RIL 드라이버를 통해 제어할 수 있도록 한 RIL을 이용한 듀얼 CPU의 GPIO 제어 시스템을 제공함에 그 목적이 있다.
상기와 같은 목적을 달성하기 위한 본 발명은, 메인 CPU와 슬레이브 CPU를 포함하는 듀얼 CPU 시스템에 있어서, 메인 CPU는, 슬레이브 CPU의 GPIO를 제어하는 커맨드 신호를 생성하는 애플리케이션과, 슬레이브 CPU를 구동하는 RIL(Radio Interface Layer) 드라이버와, 상기 애플리케이션에 RIL 드라이버와 매핑되는 함수를 호출하고 그에 따라 생성한 커맨드 신호를 RIL 드라이버로 전달하는 RIL 프록시를 포함하고, 상기 슬레이브 CPU는, 상기 커맨드 신호에 따라 슬레이브 CPU의 GPIO 동작을 제어하는 커맨드 핸들러로 구성한 것을 특징으로 한다.
이하, 본 발명에 따른 실시 예를 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.
도 2는 본 발명에 의한 듀얼 CPU의 시스템 구성도로서, 이를 참조하면 메인 CPU(110)에는 MS(MicroSoft)사의 스마트폰 OS가 포팅되어 있으며, 슬레이브 CPU(120)로 MSM(Mobile Station Modem) 칩을 사용한다.
하드웨어적으로, 상기 메인 CPU(110)의 GPIO(111)에는 종래와 같이 애플리케이션/드라이버(Application/Driver)(210)에 의해 제어되는 메인 디바이스1~n(112)를 연결하고, 상기 슬레이브 CPU(120)의 GPIO(122)에는 메인 디바이스1~n(112)에 비해 동작 타이밍에 민감하지 않은 서브 디바이스1~m(122)을 연결한다.
소프트웨어적으로, 상기 메인 CPU(110)는 애플리케이션/드라이버(210), RIL 프록시(220), RIL 드라이버(230) 및 미디엄 드라이버(240)로 구성하고, 상기 슬레이브 CPU(120)는 미디엄 드라이버(250), 커맨드 파서(Command Parser)(260) 및 커맨드 핸들러(Command Handler)로 구성하며, 양 CPU(110, 120)간에는 Serial, USB, DPRAM 등의 별도의 통신 채널이 존재하여 RIL 드라이버(230)를 이용해 인터페이스를 구축한다.
상기 RIL 드라이버(230)는, MS사의 스마트폰 OS에서 모뎀 파트, 즉 슬레이브 CPU(120)를 구동하기 위한 표준 드라이버로 구성되어 있으며, 모뎀 파트의 종류를 불문하고 동일한 인터페이스를 제공한다. 상기 RIL 드라이버(230)의 소스는 공개되기 때문에 필요에 따라 스마트폰 개발자가 수정하여 사용할 수 있다. 따라서, CDAM/GSM 등 규격에 따라 RIL을 통한 프로토콜을 변경할 수 있으며, 해당 프로토콜은 개발자의 의도에 따라 추가할 수 있다.
이 때, RIL 드라이버(230)를 이용하는 모든 애플리케이션은 RIL 프록시(220)를 생성하여 액세스해야 하며, 하나의 애플리케이션(210)은 하나의 RIL 프록시(220)를 사용하고, 각각의 RIL 프록시(220)는 RIL 드라이버(230)를 사용할 수 있다.
상기 미디엄 드라이버(240, 250)는 예컨대, Serial 또는 USB 드라이버와 같이 두 CPU 간에 통신하기 위한 일반적인 통신 포트로서, 두 CPU간의 통신을 위한 채널(Medium)을 구동한다.
상기 커맨드 파서(Command Parser)(260) 및 커맨드 핸들러(Command Handler)(270)는 통신 채널을 통해 입력된 커맨드에 따른 동작을 수행하는 모듈이다. 모뎀이라 할 수 있는 CDMA 칩의 관행상 커맨드가 AT cmd라는 텍스트의 연속으로 정의되기 때문에 컴퓨터가 해석할 수 있도록 파싱(Parsing) 작업을 수행하는 것이 커맨드 파서(260)이고, 이와 같이 해석된 내용을 토대로 적절한 동작을 수행하 는 것이 커맨드 핸들러(270)이다.
상기와 같이 구성된 듀얼 CPU 시스템에서 슬레이브 CPU에 장착된 서브 디바이스들을 제어하기 위한 동작 과정을 상세히 살펴보면 다음과 같다.
우선, 애플리케이션/드라이버(210)에서 슬레이브 CPU(102)의 GPIO(121)을 컨트롤 하고자 하면, RIL 프록시(220)를 통해 RIL API(Application Programming Interface)를 호출한다. 호출된 RIL API는, 입출력장치의 제어를 위해 사용되는 함수 IOCTL을 통해 RIL 드라이버(230)와 매핑(Mapping)되는 커맨드(Command)를 부른다. 즉, 애플리케이션/드라이버(210)는 RIL 프록시(220)를 이용해 필요한 정보만을 걸러내야 한다.
그에 따라, 상기 RIL 드라이버(230)는 서브 디바이스1~m(122)를 제어하기 위해 사용되는 커맨드를 RIL 프록시(220)로부터 제공받고, 미디엄 드라이버(240)를 통해 슬레이브 CPU(120)로 전달한다.
이어서, 슬레이브 CPU(120)의 커맨드 파서(260)는 상기 커맨드를 분석하는 파싱 동작을 수행하고, RIL 드라이버(230)의 프로토콜에 대응되는 커맨드 핸들러(Command Handler)(270)는 해당 커맨드에 따라 서브 디바이스1~m(122)의 동작을 제어한다.
따라서, 본 발명을 구현하기 위해서는, 메인 CPU(110)측에 RIL 드라이버(230) 및 RIL 프록시(220)를 생성해야 하며, 슬레이브 CPU(120) 측에는 RIL 통신에 대응하는 드라이버로서 커맨드 핸들러(270)를 생성해야 한다.
또한, 메인 CPU(110)와 슬레이브 CPU(120)의 OS에서 구동되는 드라이버를 구 현하기 위해서는 슬레이브 CPU(120)의 GPIO(121)를 컨트롤하는 프로토콜이 정의되어야 한다. 따라서, 프로토콜 스펙은 AT로 시작하는 모뎀 컨트롤 명령 세트인 AT command의 확장으로 처리하는 것을 표준으로 간주하며, 프로토콜 스펙은 본 발명의 범위가 아니므로 생략하기로 한다.
이상에서 상세히 설명한 바와 같이, 본 발명은 슬레이브 CPU의 GPIO를 최대한 활용하여 별도의 하드웨어 추가 없이 GPIO 부족을 해결하며, 스마트폰의 소프트웨어 구조에 맞는 표준 드라이버인 RIL 드라이버를 이용하여 단일화된 인터페이스를 제공하는 효과가 있다.

Claims (6)

  1. 메인 CPU와 슬레이브 CPU를 포함하는 듀얼 CPU 시스템에 있어서,
    메인 CPU는, 슬레이브 CPU의 GPIO를 제어하는 커맨드 신호를 생성하는 애플리케이션과, 슬레이브 CPU를 구동하는 RIL(Radio Interface Layer) 드라이버와, 상기 애플리케이션에 RIL 드라이버와 매핑되는 함수를 호출하고 그에 따라 생성한 커맨드 신호를 RIL 드라이버로 전달하는 RIL 프록시를 포함하고,
    상기 슬레이브 CPU는, 상기 커맨드 신호에 따라 슬레이브 CPU의 GPIO 동작을 제어하는 커맨드 핸들러를 포함하여 구성한 것을 특징으로 하는 RIL을 이용한 듀얼 CPU의 GPIO 제어 시스템.
  2. 제 1 항에 있어서, 상기 RIL 프록시는 RIL API(Application Programming Interface)를 호출하고, RIL API는 입출력장치의 제어하는 함수 IOCTL을 통해 RIL 드라이버와 매핑되는 함수를 호출하는 것을 특징으로 하는 RIL을 이용한 듀얼 CPU의 GPIO 제어 시스템.
  3. 제 1 항에 있어서, 상기 슬레이브 CPU의 GPIO를 제어하는 프로토콜의 스펙은 AT로 시작하는 모뎀 컨트롤 명령 세트인 AT command의 확장으로 처리하는 것을 특징으로 하는 RIL을 이용한 듀얼 CPU의 GPIO 제어 시스템.
  4. 제 1 항에 있어서, 상기 슬레이브 CPU는, 상기 커맨드 신호를 해석하여 상기 커맨드 핸들러로 전달하는 커맨드 파서(Command Parser)를 더 포함하여 구성한 것을 특징으로 하는 듀얼 CPU의 GPIO 제어 시스템.
  5. 제 1 항에 있어서, 상기 슬레이브 CPU는, 상기 메인 CPU의 GPIO에 연결하는 디바이스보다 상대적으로 동작 타이밍에 민감하지 않은 디바이스를 제어하도록 구성하는 것을 특징으로 하는 듀얼 CPU의 GPIO 제어 시스템.
  6. 제 1 항에 있어서, 상기 메인 CPU 및 슬레이브 CPU는 각각 미디엄 드라이버를 포함하고 있으며, 상기 미디엄 드라이버 간에 시리얼(Serial), USB(Universal Serial Bus) 및 DPRAM(Dual Port RAM) 중 어느 하나의 통신 채널을 형성한 것을 특징으로 하는 듀얼 CPU의 GPIO 제어 시스템.
KR1020040110660A 2004-12-22 2004-12-22 Ril을 이용한 듀얼 cpu의 gpio 제어 시스템 KR100608652B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040110660A KR100608652B1 (ko) 2004-12-22 2004-12-22 Ril을 이용한 듀얼 cpu의 gpio 제어 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040110660A KR100608652B1 (ko) 2004-12-22 2004-12-22 Ril을 이용한 듀얼 cpu의 gpio 제어 시스템

Publications (2)

Publication Number Publication Date
KR20060072259A KR20060072259A (ko) 2006-06-28
KR100608652B1 true KR100608652B1 (ko) 2006-08-08

Family

ID=37165469

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040110660A KR100608652B1 (ko) 2004-12-22 2004-12-22 Ril을 이용한 듀얼 cpu의 gpio 제어 시스템

Country Status (1)

Country Link
KR (1) KR100608652B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108205443A (zh) * 2016-12-16 2018-06-26 北京视联动力国际信息技术有限公司 一种多核设备引导程序和文件系统的烧写方法和装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102589284B1 (ko) * 2021-11-11 2023-10-16 한국전기연구원 고속통신기반의 전력변환장치용 제어장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06161810A (ja) * 1992-11-20 1994-06-10 Hitachi Ltd 2重化メモリの診断方式
KR20010085633A (ko) * 2000-02-28 2001-09-07 루센트 테크놀러지스 인크 다중 프로세서 계산 시스템 및 다수의 프로세서를제어하는 방법
KR20020033254A (ko) * 2000-10-30 2002-05-06 구자홍 이중화 프로세서의 흐름 제어장치 및 방법
KR20020053961A (ko) * 2000-12-26 2002-07-06 구자홍 프로세서간 이중화 시스템 및 방법
KR20030027351A (ko) * 2001-09-28 2003-04-07 엘지전자 주식회사 버스 스위치를 이용한 관리포트의 이중화 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06161810A (ja) * 1992-11-20 1994-06-10 Hitachi Ltd 2重化メモリの診断方式
KR20010085633A (ko) * 2000-02-28 2001-09-07 루센트 테크놀러지스 인크 다중 프로세서 계산 시스템 및 다수의 프로세서를제어하는 방법
KR20020033254A (ko) * 2000-10-30 2002-05-06 구자홍 이중화 프로세서의 흐름 제어장치 및 방법
KR20020053961A (ko) * 2000-12-26 2002-07-06 구자홍 프로세서간 이중화 시스템 및 방법
KR20030027351A (ko) * 2001-09-28 2003-04-07 엘지전자 주식회사 버스 스위치를 이용한 관리포트의 이중화 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108205443A (zh) * 2016-12-16 2018-06-26 北京视联动力国际信息技术有限公司 一种多核设备引导程序和文件系统的烧写方法和装置

Also Published As

Publication number Publication date
KR20060072259A (ko) 2006-06-28

Similar Documents

Publication Publication Date Title
US8520697B2 (en) System and method for connecting bluetooth-enabled devices to a personal computer
US10467154B2 (en) Multi-port multi-sideband-GPIO consolidation technique over a multi-drop serial bus
US6973133B2 (en) Integrated radio frequency interface
WO2005036906A1 (en) A mobile communication terminal and it’s radio communication module
CN101478840B (zh) 单芯片双模移动终端的sim卡控制电路
CN107992439B (zh) 一种可扩展的数据交互方法及系统
CN101499827B (zh) 一种移动终端及其蓝牙通信方法
KR100608652B1 (ko) Ril을 이용한 듀얼 cpu의 gpio 제어 시스템
US10176133B2 (en) Smart device with no AP
KR20090083103A (ko) 듀얼 모드 단말기 및 그의 데이터 서비스 처리 방법
WO2016049566A1 (en) Latency reduction
CN114040370B (zh) 一种多蓝牙设备的调试系统
CN115733549B (zh) Pcie网卡及其接口模式的切换方法、电子设备及存储介质
KR20010005140A (ko) 유.에스.비 인터페이스 버스를 이용한 무선랜 모듈
US6714990B1 (en) Communication system and data adapter
CN107402898B (zh) 一种信息处理的方法及电子设备
US20030172171A1 (en) Communication control unit and information terminal unit equipped with the same
CN101998691A (zh) 一种数据传输的方法、系统和装置
CN111328091A (zh) 一种基于rndis协议的无线通信装置的配置方法
CN102385557B (zh) 驱动处理方法及装置
EP2506659B1 (en) Device and method for enhancing flexibility of interface between 3g communication module and application processor
KR200328928Y1 (ko) 이동통신용 기지국 제어기와 개인용 컴퓨터와의 정합장치
US20240012481A1 (en) Haptic feedback method for electronic system and haptic feedback electronic system
CN101193358A (zh) 利用ril的双cpu的gpio控制系统
KR100863608B1 (ko) 메모리 카드용 브릿지를 포함하는 콤보 카드

Legal Events

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

Payment date: 20090619

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee