KR20180025114A - 사물 인터넷용 시스템 온 칩 이중 프로세서 구조 - Google Patents

사물 인터넷용 시스템 온 칩 이중 프로세서 구조 Download PDF

Info

Publication number
KR20180025114A
KR20180025114A KR1020170009424A KR20170009424A KR20180025114A KR 20180025114 A KR20180025114 A KR 20180025114A KR 1020170009424 A KR1020170009424 A KR 1020170009424A KR 20170009424 A KR20170009424 A KR 20170009424A KR 20180025114 A KR20180025114 A KR 20180025114A
Authority
KR
South Korea
Prior art keywords
bit
processing capacity
unit
image
microcontroller
Prior art date
Application number
KR1020170009424A
Other languages
English (en)
Other versions
KR101873022B1 (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 KR20180025114A publication Critical patent/KR20180025114A/ko
Application granted granted Critical
Publication of KR101873022B1 publication Critical patent/KR101873022B1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)

Abstract

본 발명의 사물 인터넷용 시스템 온 칩 이중 프로세서 구조에 따르면, 2개의 CPU와 다중 버스를 구비하여 다양한 비트의 데이터를 처리하는 반도체 칩 프로세서 구조에 관한 것이며, 더욱 상세하게는 8비트 처리속도를 가지는 마이크로 컨트롤러를 통한 5메가 픽셀 이상의 영상을 초당 5프레임 이상으로 전송하기 위해서 고속의 8비트 버스를 추가 설계하고, 32비트 처리속도를 가지는 마이크로 프로세서를 통해 복잡한 센싱 알고리즘을 처리하여, 영상 복합 센서에 대한 사물 인터넷 시스템 온 칩에 특화된 다양한 기능을 제공하고 효율적으로 영상 처리와 센서 데이터의 처리 속도를 높일 수 있는 효과가 있다.

Description

사물 인터넷용 시스템 온 칩 이중 프로세서 구조{SoC Dual Processor Architecture for Internet of Things}
본 발명은 사물 인터넷용 시스템 온 칩 이중 프로세서 구조에 관한 것으로, 더욱 상세하게는 8비트 처리속도를 가지는 마이크로 컨트롤러를 통한 5메가 픽셀 이상의 영상을 초당 5프레임 이상으로 전송하기 위해서 고속의 8비트 버스를 추가 설계하고, 32비트 처리속도를 가지는 마이크로 프로세서를 통해 복잡한 센싱알고리즘을 처리하여, 영상 복합 센서가 포함된 사물인터넷용 단말기 노드에 특화된 다양한 기능을 제공하고 효율적으로 영상 처리와 센서 데이터의 처리 속도를 높이는 사물 인터넷용 시스템 온 칩 이중 프로세서 구조에 관한 것이다.
일반적으로 시스템 온 칩 프로세서는 마이크로 프로세서, 내장메모리, 기능 블럭(영상처리, 음성처리, 고속연산 등), 복수의 주변기기 및 외부 버스 인터페이스 등을 하나의 칩 안에 적재한 IC를 의미한다.
이러한 시스템 온 칩 프로세서의 개발로 시스템 사이즈를 축소할 수 있을 뿐만 아니라, 시스템 검증 시간이 단축되고, 시스템의 신뢰성을 향상시키며, 상품을 시장에 출시하는 시간 및 제품가격을 줄일 수 있게 되었다.
시스템 온 칩 프로세서 중에서, 멀티미디어용 시스템 온 칩 프로세서는 하나의 칩 안에 멀티미디어용 기기에서 필요한 여러 가지 기능의 수행을 위한 회로가 포함된다.
멀티미디어용 시스템 온 칩 프로세서의 발전과정에서, 초기에는 DCT (Discrrete Cosine Transform)나, ME(Motion Estimator) 같은 단일 기능의 회로가 내장되어 있는 구조에서, SRAM 이나 부팅 롬(Boot ROM)이 첨가되거나, 나아가서 대용량의 SDRAM 까지 내장된 칩까지 발전하고 있으며, 기술에 발전에 의해 더 많은 부가 기능이 내장되고 있다.
그런데, 멀티미디어용 시스템 온 칩 프로세서의 설계과정에서 사용되는 마이크로 프로세서는 멀티미디어 처리 기능들을 수행하기 위한 계산이나 전송 속도를 고려하여, 대체로 16비트 또는 32비트의 처리속도를 가지며, MPEG, H.264 등의 동영상 압축 방법을 써서 동영상 전송에 초점을 맞추었다.
따라서, 처리속도의 비트 수가 늘어나면, 그만큼 전력도 증가하고, 실리콘 면적이 커져서 제작 가격이 올라가는 문제점이 있었다.
대한민국 공개특허공보 공개번호 제10-2008-0020018호
본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로서, 2개의 CPU와 다중 버스를 구비하여 다양한 비트의 데이터를 처리하는 반도체 칩 프로세서 구조에 관한 것이며, 더욱 상세하게는 8비트 처리속도를 가지는 마이크로 컨트롤러를 통한 5메가 픽셀 이상의 영상을 초당 5프레임 이상으로 전송하기 위해서 고속의 8비트 버스를 추가 설계하고, 32비트 처리속도를 가지는 마이크로 프로세서를 통해 복잡한 센싱 알고리즘을 처리하여, 영상 복합 센서가 포함된 사물인터넷용 단말기 노드에 특화된 다양한 기능을 제공하고 효율적으로 영상 처리와 센서 데이터의 처리 속도를 높일 수 있는 사물 인터넷용 시스템 온 칩 이중 프로세서 구조를 제공하는 것이다.
상술한 목적을 달성하기 위한 본 발명의 사물 인터넷용 시스템 온 칩 이중 프로세서 구조는 일반 센싱 및 구동 기능을 처리하고 제어하는 8비트 처리용량의 마이크로 컨트롤러와, 사물인터넷에 특화된 알고리즘을 고속으로 연산하는 기능을 수행하는 32비트 처리용량의 마이크로 프로세서를 포함하여 구성되고; 상기 8비트 처리용량의 마이크로 컨트롤러와 내부 기능 블럭들을 연결하는 것으로 8비트 처리용량의 마이크로 컨트롤러가 반도체 칩 프로세서의 내부 기능 블럭들을 제어하여 일반 센싱 및 구동 신호를 전달하고 제어 명령을 전달하도록 하는 8비트 처리 용량의 저속 데이터 버스와, 8비트 처리 용량의 저속 데이터 버스에 비해 상대적으로 클럭 주파수가 높아 고속의 데이터 처리속도로 외부 주변장치들이 제어되도록 하는 8비트 처리용량의 고속 데이터 버스를 포함하여 구성되고; 상기 32비트 처리용량의 마이크로 프로세서와 내부 기능 블럭들을 연결하는 것으로 32비트 처리용량의 마이크로 프로세서가 반도체 칩 프로세서의 내부 기능 블럭들을 제어하여 영상 데이터를 고속으로 처리하는 32비트 처리용량의 고속 데이터 버스를 포함하여 구성된 것을 특징으로 한다.
8비트 처리용량의 마이크로 컨트롤러와 8비트 처리 용량의 고속 데이터버스와 32비트 처리용량의 마이크로 프로세서 사이에는 서로 다른 동작 주파수를 가진 신호를 처리하기 위한 동기화 작업을 수행하는 브릿지부가 각각 구비되고, 8비트 처리용량의 마이크로 컨트롤러와 32비트 처리용량의 마이크로 프로세서 사이에는 CPU의 명령을 송/수신해주는 역할을 수행하는 Mail Box부가 구비될 수 있다.
8비트 처리용량의 고속 데이터 버스에 연결되어 사물인터넷에서 데이터 & 영상 보안 기능으로 소스 수준에서 센서 데이터와 영상 데이터를 암호화/복호화 처리를 하여 사물인터넷에 특화된 보안 기능을 지원하는 경량 암호 알고리즘부가 더 포함되어 구성될 수 있다.
8비트 처리용량의 고속 데이터 버스에 연결되어 영상처리 효율을 향상시키고자 QVGA 해상도부터 VGA, SXGA, UXGA, QSXGA를 포함하여 최대 5백만 화소의 해상도까지 영상압축을 지원하고 외부 영상 센서로부터 입력된 영상 데이터의 해상도를 조절하는 스케일러부, 영상 데이터의 노이즈 성분을 최적화하는 노이즈감소부, 영상 데이터 내 변화되는 데이터를 감지하여 움직임을 검출하는 움직임 감지부, 외부 영상 센서로부터 입력된 영상 데이터를 압축하는 영상 인코더부 및 영상 잡음신호를 제거하는 기능을 더 포함하여 구성될 수 있다.
이상에서 설명한 바와 같은 본 발명의 사물 인터넷용 시스템 온 칩 이중 프로세서 구조에 따르면, 2개의 CPU와 다중 버스를 구비하여 다양한 비트의 데이터를 처리하는 반도체 칩 프로세서 구조에 관한 것이며, 더욱 상세하게는 8비트 처리속도를 가지는 마이크로 컨트롤러를 통한 5메가 픽셀 이상의 영상을 초당 5프레임 이상으로 전송하기 위해서 고속의 8비트 버스를 추가 설계하고, 32비트 처리속도를 가지는 마이크로 프로세서를 통해 복잡한 센싱 알고리즘을 처리하여, 영상 복합 센서가 포함된 사물인터넷용 단말기 노드에 특화된 다양한 기능을 제공하고 효율적으로 영상 처리와 센서 데이터의 처리 속도를 높일 수 있는 효과가 있다.
도 1은 본 발명의 일실시예에 따른 사물 인터넷용 시스템 온 칩 이중 프로세서 구조를 나타낸 블럭도이며,
도 2는 본 발명의 일실시예에 따른 사물 인터넷용 시스템 온 칩 이중 프로세서 구조에 포함된 8비트 마이크로 컨트롤러부를 나타낸 블럭도이며,
도 3은 본 발명의 일실시예에 따른 사물 인터넷용 시스템 온 칩 이중 프로세서 구조에 포함된 8비트 고속 데이터 버스부를 나타낸 블럭도이며,
도 4는 본 발명의 일실시예에 따른 사물 인터넷용 시스템 온 칩 이중 프로세서 구조에 포함된 32비트 마이크로 컨트롤러부를 나타낸 블럭도이며,
도 5는 본 발명의 일실시예에 따른 사물 인터넷용 시스템 온 칩 이중 프로세서 구조의 하드웨어적 구조 설명을 위한 블럭도이다.
이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 상세히 설명하기 위하여, 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 상세하게 설명한다.
본 발명의 일실시예에 따른 사물 인터넷용 시스템 온 칩 이중 프로세서 구조는 도 1에 나타낸 바와 같이, 8비트 마이크로 컨트롤러부(100), 8비트 고속 데이터 버스부(300) 및 32비트 마이크로 프로세서부(500)를 포함하여 크게 3부분으로 나눌 수 있는데, 우선 8비트 마이크로 컨트롤러부(100)는 8비트 마이크로 컨트롤러 유닛(110; 8-bit MCU)과 8비트 저속 데이터 버스(130; MCU Bus), 그리고 여러 다양한 내부 기능 블럭(150)들로 구성되어 있으며 낮은 데이터 처리 및 사물 인터넷용 시스템 온 칩의 전체 동작을 제어한다.
8비트 고속 데이터 버스부(300)는 8비트 고속 데이터 버스(310; SenBus)와 영상 인코더부를 포함한 다양한 내부 기능 블럭(350)들로 구성되어 있으며 8비트의 고속 데이터 처리 및 영상 데이터 압축, 외부 통신 모듈과의 고속 인터페이스를 수행한다.
8비트 고속 데이터 버스(310)는 영상 데이터와 음성 데이터를 외부 통신모듈과 고속으로 송/수신하는 것에 적합하고, 8비트 저속 데이터 버스(130)는 센서 데이터와 8비트 마이크로 컨트롤러(110)에서 출력되는 명령을 외부 통신모듈이나 센서에 저속으로 송/수신하는 것에 적합하다.
32비트 마이크로 프로세서부(500)는 32비트 마이크로 프로세서(510; Core-A)와 대용량 외부 메모리 인터페이스(530; DDR2 controller), 32비트 고속 데이터 버스(550; AHB Bus)와 32비트 저속 데이터 버스(570; APB Bus)로 구성되어 있으며 복잡한 알고리즘 동작을 수행하고 고속 데이터 송/수신을 수행한다.
8비트 마이크로 컨트롤러부(100)와 8비트 고속 데이터 버스부(300) 사이에는 서로 다른 동작 주파수를 가진 신호를 처리하기 위한 동기화 작업을 수행하는 제1브릿지부(710; PRO2SEN Bridge)가 구비되고, 8비트 고속 데이터 버스부(300)와 32비트 마이크로 프로세서부(500) 사이에는 서로 다른 동작 주파수를 가진 신호를 처리하기 위한 동기화 작업을 수행하는 제2브릿지부(720; SEN2CORE Bridge)가 구비된다.
32비트 마이크로 프로세서부(500)의 32비트 마이크로 프로세서(510)와 8비트 마이크로 컨트롤러부(100)의 8비트 마이크로 컨트롤러 유닛(110) 사이에는 간단한 명령을 저장하여 각각의 CPU의 명령을 송/수신해주는 역할을 수행하는 Mail Box(730)부가 구비된다.
8비트 고속 데이터 버스부(300)와 32비트 마이크로 프로세서부(500) 사이에는 프로그래밍 부팅을 위한 부트로더부(740; Bootloader)가 구비되고, 8비트 마이크로 컨트롤러부(100)와 8비트 고속 데이터 버스부(300) 사이에는 8비트 마이크로 컨트롤러용 데이터 메모리부(750; XDATA RAM)가 구비된다.
상기 데이터 메모리부(750)는 8비트 마이크로 컨트롤러용 32KByte 저장 용량의 데이터 메모리로써, 듀얼 포트(Dual port)이므로 8비트 마이크로 컨트롤러(110)뿐만 아니라 메모리 접근부(DMA)에서도 접근(access)할 수 있다.
8비트 마이크로 컨트롤러부(100)는 도 2에 나타낸 바와 같이, 사물 인터넷용 시스템 온 칩에 적합한 듀얼 CPU의 전체 동작을 제어하는 역할을 수행하며 8비트 처리용량의 8비트 마이크로 컨트롤러 유닛(110)과 8비트 저속 데이터 버스(130; MCU Bus)와 내부 기능 블럭(150)들로 구성되어 있다.
상기 8비트 마이크로 컨트롤러 유닛(110)은 8비트 마이크로 컨트롤러부(100)와 8비트 고속 데이터 버스부(300)의 모든 기능 블럭(150, 350)들을 직접 제어할 수 있다.
8비트 마이크로 컨트롤러부(100)의 8비트 마이크로 컨트롤러 유닛(110)은 8비트 처리용량의 마이크로 컨트롤러 유닛(MCU)으로써, Intel Standard 8051에 호환된다.
8비트 마이크로 컨트롤러 유닛(110)부의 클럭 주파수는 7.384MHz이다.
8비트 마이크로 컨트롤러부(100)의 8비트 저속 데이터 버스(130; MCU Bus)에 연결된 내부 기능 블럭(150)으로는 임의의 타이밍을 만들어 이벤트를 만들어주거나 발생된 이벤트를 계수하는 기능을 수행하는 2개의 타이머부(Timer), 입력 신호의 Level 변화에 따라 Pulse의 Width에 변화를 주는 2개의 펄스폭 변조부(PWM), 8비트 마이크로 컨트롤러 유닛(110)이 오작동을 하여 무한 루틴에 빠지는 것을 방지하는 것으로 정해진 시간에 스위치 reset을 하게 해주는 와치독 타이머부(WDT), RS-232 통신을 위한 것으로 최고 230400bps의 baud rate를 지원하는 2개의 UART부(UART), I2C 통신을 위한 I2C부(I2C), 최대 16개의 interrupt 중 하나를 muxing 처리하여 8비트 마이크로 컨트롤러 유닛(110)이 갖고 있는 2개의 외부 인터럽트 중 어느 하나의 인터럽트를 사용할 수 있게 하는 기능을 수행하는 외부 인터럽트부(INTC), UART부 또는 직렬연결버스(SPI)와 같이 serial 통신을 위한 직렬 컴퓨터 버스 및 추가로 32비트를 사용할 수 있도록 지원하는 일반 입/출력부를 포함하여 구성될 수 있다.
8비트 고속 데이터 버스부(300)는 도 3에 나타낸 바와 같이, 8비트 마이크로 컨트롤부(100)의 8비트 저속 데이터 버스(130; MCU bus)에 비해 클럭 주파수가 높은 고속의 데이터 처리속도로 외부 주변장치들을 제어하고 영상 데이터를 처리되도록 하는 8비트 고속 데이터 버스(310; SenBus)와 내부 기능 블럭(350)들로 구성되어 있다.
8비트 고속 데이터 버스(310)에 연결된 내부 기능 블럭(350)으로는, 상대적으로 클럭 주파수가 낮아 저속인 8비트 마이크로 컨트롤러 유닛(110)의 제어 없이 직접 메모리 접근 동작을 수행하여 8비트 마이크로 컨트롤러 유닛(110)의 데이터 메모리부에 접근하고 8비트 고속 데이터 버스(310)에 연결된 외부 주변장치들을 제어하는 메모리접근부(DMA), 8비트 고속 데이터 버스(310)에서 데이터 충돌이 생기는 것을 방지하는 우선중재부(Senbus Arbiter), 메모리접근부(DMA)를 통해 제어되는 메모리중재부(SMC), 8비트 고속 데이터 버스(310)에 연결된 내부 기능 블럭(350)들의 제어를 위한 레지스터 블럭(Sen_reg), 고속 대용량의 영상 데이터를 고속으로 전송할 수 있는 시큐어 디지털 입/출력부(SDIO), 대용량의 데이터를 고속으로 전송할 수 있는 직렬 연결 버스부(SPI), 8비트 고속 데이터 버스(310; Senbus)에 연결되어 사물 인터넷에서 데이터 및 영상 보안 기능으로 소스 수준에서 센서 데이터와 영상데이터를 암호화/복호화 처리를 하여 사물인터넷에 특화된 보안 기능을 지원하는 경량암호알고리즘부(LEA), 움직임 감지부(Motion Detection)에 의해 외부 영상센서(CIS)로부터 입력되는 영상 데이터의 영상처리 효율을 향상시키고자 QVGA 해상도부터 VGA(0.3P), SXGA(1MP), UXGA(2MP), QSXGA(5MP)로 최대 5백만 화소의 해상도까지 영상압축을 지원하고 외부 영상센서(CIS)로부터 입력된 영상데이터의 해상도를 조절하여 효과적으로 움직임 감지가 수행되도록 하는 스케일러부(Scaler), 외부 영상센서(CIS)로부터 입력되는 영상 데이터의 노이즈 성분을 최적화여 영상 인코더부(JPENC)에서 출력되는 영상 데이터의 크기가 줄어지도록 하는 노이즈감소부(Noise Reduction), 외부 영상센터(CIS)로부터 입력된 영상 데이터에 대해 이전 프레임과 현재 프레임과의 차이를 8비트 데이터 값으로 출력하여 영상 데이터 내 변화되는 데이터를 감지함으로써 움직임을 검출하는 움직임 감지부(Motion Detection), 외부 영상 센서로부터 입력된 영상 데이터를 압축하는 영상 인코더부(JPENC), 외부 오디오 코덱부로부터 입력된 오디오 데이터가 상기 메모리접근부(DMA)의 제어에 의해 외부 주변장치들에 전달되도록 하거나, 또는 외부 주변장치들로부터 전달된 오디오 데이터가 상기 메모리접근부(DMA)의 제어에 의해 외부 오디오코덱부로 전달되도록 하는 오디오처리부(ADPCM)를 포함하여 구성된다.
8비트 고속 데이터 버스(310)의 클럭 주파수는 96MHz인데, 영상 인코더부에서 외부의 영상센서(CIS)로부터 입력된 영상 데이터를 압축하는데 필요한 인코딩 클럭 주파수는 48MHz ~ 96Mhz로 별도로 구분하여 사용함으로써, 여러 영상 센서(CIS)의 종류에 따른 클럭 주파수의 변경에 대응할 수 있도록 한다.
8비트 마이크로 컨트롤러 유닛(110)이 8비트 고속 데이터 버스(SENbus)를 이용하려면 제1브릿지부(710; PRO2SEN Bridge)와 우선중재부(Senbus Arbiter)를 통해 interface를 해야 하며 2개의 메모리접근부(DMA)를 통해 대용량의 8비트 데이터를 고속으로 송/수신할 수 있다.
상기 2개의 메모리접근부(DMA) 중 하나는 영상 인코딩되고 암호화된 영상 데이터의 고속 데이터 전송을 담당한다.
8비트 고속 데이터 버스부(300)의 우선중재부(Senbus Arbiter)는 고속 데이터 버스(310; SENbus) 내에서 우선 순위에 따라 명령을 처리하여 데이터 충돌을 방지하는 것으로, 8비트 마이크로 컨트롤러 유닛(110)과 메모리접근부(DMA) 중 8비트 마이크로 컨트롤러 유닛(110)으로부터 입력된 명령을 더 높은 우선 순위로 처리할 수 있다.
8비트 고속 데이터 버스부(300)의 영상 인코더부(JPENC)는 외부 영상센서(CIS)로부터 입력되는 데이터를 JPG type의 영상 데이터로 인코딩하며, JPEG 표준에 호환된다.
경량암호알고리즘부(LEA)는 수신 측에서 해당하는 암호키를 가지고 복호화 해서 원래 값을 재현시킨다.
8비트 고속 데이터 버스부에서의 영상처리는 외부의 영상 센서로부터 입력된 영상 데이터를 압축한 후, 메모리접근부의 제어에 의해 압축된 영상 데이터가 외부 주변장치들에 전달되도록 하는 것으로, 외부의 영상 센서로부터 입력된 영상 데이터는 영상 인코더부에서 압축되어 영상메모리(256Byte buffer)에 저장된 후, 메모리중재부를 거쳐서 고속 데이터 버스(SENbus)를 통해 외부메모리에 저장될 수 있다.
32비트 마이크로 프로세서부(500)는 도 4에 나타낸 바와 같이, 32비트 처리 용량의 32비트 마이크로 프로세서(510; Core-A)와 2개의 데이터 버스(550, 570), 내부 기능 블럭과 32비트 대용량 메모리 인터페이스부(530; DDR2 controller)로 구성되어 있는데, 32비트 고속 데이터 송/수신을 수행하고, 32비트 마이크로 프로세서(510)를 이용하여 영상 인식 알고리즘 동작과 같은 복잡한 연산처리를 수행하며, 압축되지 않은 영상 데이터를 외부 대용량 메모리(DDR2)에 저장하는 동작을 수행한다.
32비트 마이크로 프로세서부(500)는 32비트 고속 데이터 버스(550; AHB bus)를 backbone 버스로 사용하여 32비트 마이크로 프로세서(510)와 DMA 등이 연결되어 있고, 주변 장치 데이터 전송을 위해 32비트 저속 데이터 버스(570; APB bus)에는 내부 기능 블럭이 연결되어 있다.
32비트 마이크로 프로세서(510)의 클럭 주파수는 33Mhz이다.
32비트 고속 데이터 버스(550)는 32비트 대용량 메모리 인터페이스부(530)가 한 번에 많은 양의 데이터를 전송하는 버스트 모드의 데이터 전송을 지원하도록 하고, 외부 영상센서(CIS)로부터 입력된 압축되지 않은 영상 데이터를 32비트 대용량 메모리 인터페이스부(530)로 전송하는 AHB 용 메모리접근부(AHB_DMA)로 구성될 수 있다.
즉, 32비트 고속 데이터 버스(550; AHB bus)는 32비트 고속 데이터 송수신을 수행하고, 32비트 마이크로 프로세서(510)를 이용하여 영상 인식 알고리즘 동작과 같은 복잡하고 빠른 연산처리 가능하게 하며, 고속 DRAM DDR2를 제어하여서 쓰기/읽기 작업에 의한 빠른 영상처리를 가능하게 한다.
32비트 저속 데이터 버스(570; APB bus)는 low bandwidth인 주변 장치와 인터페이스를 위한 내부 기능 블럭을 제어하는데 적합하게 사용될 수 있다.
32비트 저속 데이터 버스(570)는 pipelined 버스 인터페이스의 고성능이 필요하지 않고 low bandwidth인 주변 장치와 인터페이스를 위한 내부 기능 블럭들을 위해 사용되며, 임의의 타이밍을 만들어 이벤트를 만들어주거나 발생된 이벤트를 계수하는 기능을 수행하는 타이머부(TIMER), RS-232 통신을 위한 UART부(UART), 영상 인코더부를 제어하는 영상 제어부를 포함하여 구성될 수 있다.
32비트 마이크로 프로세서부(500)는 32비트 고속 데이터 버스(550; AHB bus)와 32비트 저속 데이터 버스(570; APB bus)로 버스를 분리하여, 소비 전력과 전송 속도에서 경제적이다.
32비트 마이크로 프로세서부(500)에서 IMG2DMA는 움직임 감지부(Motion Detection)로부터 오는 영상 데이터를 AHB용 메모리접근부(AHB_DMA)에 전달하기 위한 FIFO 블럭이다.
sys_reg는 32비트 마이크로 프로세서(510)로부터 명령어를 받아 전체 동작을 위한 시스템 레지스터를 저장한다.
video_con은 영상인식 알고리즘을 처리하는 동작을 위한 제어 레지스터를 저장하고 있다.
SYS_DMA는 32비트 저속 데이터 버스(570)용 메모리접근부이며, 32비트 저속 데이터 버스(570)에 연결된 기능 블럭들을 제어하고 데이터 송/수신동작을 수행한다.
Figure pat00001
참고로, 표 1은 사물 인터넷용 시스템 온 칩 이중 프로세서 구조의 스펙 테이블로써, 32비트 마이크로 프로세서를 위한 AMBA(Advanced Microcontroller Bus Architecture) 버스가 구비되고, 33Mhz 클럭 동작의 AHB bus는 DDR2 인터페이스, 영상 인지 알고리즘 처리를 위한 대용량 데이터를 송/수신하며, 33Mhz 클럭 동작의 APB bus는 외부 타이머, UART, GPIO 등을 연결한다.
AMBA 버스와 유사한 2개의 분리된 8비트 버스 구조를 가지며, 78MHz 클럭 동작의 고속 데이터 버스(SenBus)는 DMA controller, SPI 등을 연결한다.
7.384MHz 클럭 동작의 MCU Bus는 외부 타이머, UART, GPIO 등을 연결한다.
6개의 개별 PLL을 이용하여 6개의 클럭을 독립적으로 사용하며, 영상 데이터의 크기(resolution)가 향상되는데, 영상 데이터는 최대(Max) 2592 x 1944 resolution의 QSXGA(Quad Super Extended Graphics Array)부터 5M pixels까지의 영상을 처리한다.
영상신호 처리속도(frame rate)가 향상되는데, 최대(Max) 5fps @ QSXGA의 영상을 처리한다.
32kB 용량의 데이터 메모리 내장으로 동작 속도 및 소비전력 저감한 Dual-port RAM으로 8비트 마이크로 컨트롤러와 메모리접근부에서 모두 access 가능하다.
최대 8Mb 용량의 외부 데이터 메모리를 확장하여 access 가능하고, 주변회로(peripheral)를 지원하는데, 내부 GPIO 16개, 외부 32비트 GPIO, 내부 INT 5개 (10개), 외부 16개 확장 INT, I2C, SPI 4개, I2S, SDIO, UART 3개, PWM 2개, WDT이 구비되고, 외부 SRAM 접속을 하는데, 4개(SMC, SRAM Memory Controller 이용)까지 가능하다.
상술한 바와 같이 구성된 사물 인터넷용 시스템 온 칩 이중 프로세서 구조에서, 사물 인터넷용 시스템 온 칩 이중 프로세서 구조에 적합한 듀얼 CPU 구조는 6개의 개별 PLL을 이용하여 5개의 클럭이 독립적으로 동작하게 함으로써 전력 소모를 줄일 수 있고, 4개의 개별 데이터 버스를 이용할 수 있으며 다양한 상황에 맞게 효율적으로 동작할 수 있다.
그리고 상기 사물 인터넷용 시스템 온 칩 이중 프로세서 구조에 적합한 듀얼 CPU구조에서 32비트 마이크로 프로세서부(500)는 32비트 마이크로 프로세서(510; core-A)를 기반으로 하여 AMBA 버스(AHB bus, APB bus) 및 다양한 IP를 추가할 수 있다.
32비트 마이크로 프로세서(510; core-A)는 32비트 기반의 RISC타입 프로세서가 될 수 있으며, AMBA 버스 사용을 통해 고속 및 저전력으로 동작이 가능하고 디버깅을 위해 OCD(On Chip Debugger)를 함께 내장하여 프로세서 동작 시 내부 레스터에 대한 정보를 얻을 수 있다.
또한, cache를 함께 내장하도록 설계하여, 빠른 처리 속도를 구현할 수 있으며, 다양한 인터페이스를 통해 다양한 저장 장치 사용과 여러 가지 형태의 입/출력 장치를 사용 가능하다.
그리고 PIC 모듈을 통해 효율적인 멀티태스킹 인터럽트 관리를 지원한다.
인터럽트 지원은 멀티태스킹 구현을 위해 필수적인 것이다.
아울러, 사물 인터넷용 시스템 온 칩 이중 프로세서 구조에서 영상 감지 및 영상 인지 기능을 수행하는 과정으로써, 도 5에 나타낸 바와 같이, 먼저, 외부 센서로부터 감지 신호 혹은 이벤트 신호가 발생하면, power down mode로 있던 8비트 마이크로 컨트롤러가 활성화된다.
이어서, 외부 영상 센서를 동작시키기 위한 셋팅 값을 I2C 모듈을 통해 보내어 이미지센서를 활성화하고, 영상 데이터를 입력받아 영상 인코더부를 통해 영상 데이터 압축, SMC 블럭을 통해 외부 SRAM에 저장한다.
스마트폰으로 전송할 때는 마이크로 컨트롤러가 SDOI를 제어하여 SENBus를 통해 외부 WiFi 모듈로 전송된다.
영상 인지 기능을 수행한다면, 우선 8비트 마이크로 컨트롤러(110)가 mail box(730)를 통해 32비트 마이크로 프로세서(510)에게 영상인지 기능을 수행하라는 명령어를 전송하고, 32비트 마이크로 프로세서(510)는 영상인지 알고리즘을 수행하기 위한 영상 데이터를 외부 영상센서(CIS)에서 IMG2DMA블럭을 통해 받아서 AHB_DMA를 사용하여 DDR2 controller를 거쳐서 DDR2에 저장시킨다.
영상 인지 기능의 수행이 완료되면 32비트 마이크로 프로세서(510)는 완료되었다는 신호를 mail box(730)를 통해 명령어를 전달하고, mail box(730)로부터 영상인지 기능이 완료되었음을 확인받은 8비트 마이크로 컨트롤러(110)는 동작중인 기능을 종료하고 power down mode로 돌입한다.
상술한 바와 같이, 본 발명에 따른 사물 인터넷용 시스템 온 칩 이중 프로세서 구조에 의하여, 국산 CPU인 32비트 Core-A 프로세서를 적용하여 사물 인터넷용 시스템 온 칩에 적합한 듀얼 CPU를 개발함으로 사물인터넷 시스템 온 칩을 일반 8비트 프로세서와 컨트롤러에 비해서 성능 향상을 할 수 있고, Smart 기능, 저전력 기능, 보안 기능을 구현할 수 있다.
32비트 Core-A 프로세서와 3M~5M 픽셀 영상처리기능을 집적하여 생체특징 인식, 영상·얼굴 인식 등 고화질 수요에 대응할 수 있고, 32비트 마이크로 프로세서와 지그비 네트워크 기능을 하나의 시스템 온 칩으로 구현하여 고기능 저가형 사물인터넷용 시스템 온 칩을 구현할 수 있다.
즉, 사물 인터넷 알고리즘 처리 전용으로 고속 버스와 고속 메모리를 이용하여, 현재 화자인식을 위한 음성처리, 영상처리, 센서값(예: 온도, 조도, 거리, 움직임, 가스, 분진 등)들과, 영상처리, 음성처리를 고려하여 복합적인 상황에 대한 판단을 하게 해서 특히 영상 처리에 유용하게 처리 속도를 빠르게 하는 기능을 수행하도록 할 수 있다.
그리고 영상 데이터의 화질 개선을 위하여 영상 잡음 제거 필터를 구현하며, 영상 데이터를 암호화하는 기능 즉 Key로 잠그고 푸는 하드웨어 기능을 부여할 수 있도록, 보안 기능의 경량 블록 암호 프로세서를 하드웨어로 구현하여 필수적인 사물인터넷 보안 기능을 포함하였다.
이상의 설명에서는 본 발명의 바람직한 실시예를 제시하여 설명하였으나, 본 발명이 반드시 이에 한정되는 것은 아니며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경할 수 있음을 쉽게 알 수 있을 것이다.

Claims (4)

  1. 일반 센싱 및 구동 기능을 처리하고 제어하는 8비트 처리용량의 마이크로 컨트롤러와, 사물인터넷에 특화된 알고리즘을 고속으로 연산하는 기능을 수행하는 32비트 처리용량의 마이크로 프로세서를 포함하여 구성되고;
    상기 8비트 처리용량의 마이크로 컨트롤러와 내부 기능 블럭들을 연결하는 것으로 8비트 처리용량의 마이크로 컨트롤러가 반도체 칩 프로세서의 내부 기능 블럭들을 제어하여 일반 센싱 및 구동 신호를 전달하고 제어 명령을 전달하도록 하는 8비트 처리 용량의 저속 데이터 버스와, 8비트 처리 용량의 저속 데이터 버스에 비해 상대적으로 클럭 주파수가 높아 고속의 데이터 처리속도로 외부 주변장치들이 제어되도록 하는 8비트 처리용량의 고속 데이터 버스를 포함하여 구성되고;
    상기 32비트 처리용량의 마이크로 프로세서와 내부 기능 블럭들을 연결하는 것으로 32비트 처리용량의 마이크로 프로세서가 반도체 칩 프로세서의 내부 기능 블럭들을 제어하여 영상 데이터를 고속으로 처리하는 32비트 처리용량의 고속 데이터 버스를 포함하여 구성된 것을 특징으로 한 사물 인터넷용 시스템 온 칩 이중 프로세서 구조.
  2. 청구항 1에 있어서, 8비트 처리용량의 마이크로 컨트롤러와 8비트 처리 용량의 고속 데이터버스와 32비트 처리용량의 마이크로 프로세서 사이에는 서로 다른 동작 주파수를 가진 신호를 처리하기 위한 동기화 작업을 수행하는 브릿지부가 각각 구비되고, 8비트 처리용량의 마이크로 컨트롤러와 32비트 처리용량의 마이크로 프로세서 사이에는 CPU의 명령을 송/수신해주는 역할을 수행하는 Mail Box부가 구비된 것을 특징으로 한 사물 인터넷용 시스템 온 칩 이중 프로세서 구조.
  3. 청구항 1에 있어서, 8비트 처리용량의 고속 데이터 버스에 연결되어 사물인터넷에서 데이터 & 영상 보안 기능으로 소스 수준에서 센서 데이터와 영상 데이터를 암호화/복호화 처리를 하여 사물인터넷에 특화된 보안 기능을 지원하는 경량 암호 알고리즘부가 더 포함되어 구성된 것을 특징으로 한 사물 인터넷용 시스템 온 칩 이중 프로세서 구조.
  4. 청구항 1에 있어서, 8비트 처리용량의 고속 데이터 버스에 연결되어 영상처리 효율을 향상시키고자 QVGA 해상도부터 VGA, SXGA, UXGA, QSXGA를 포함하여 최대 5백만 화소의 해상도까지 영상압축을 지원하고 외부 영상 센서로부터 입력된 영상 데이터의 해상도를 조절하는 스케일러부, 영상 데이터의 노이즈 성분을 최적화하는 노이즈감소부, 영상 데이터 내 변화되는 데이터를 감지하여 움직임을 검출하는 움직임 감지부, 외부 영상 센서로부터 입력된 영상 데이터를 압축하는 영상 인코더부 및 영상 잡음신호를 제거하는 기능을 더 포함하여 구성된 것을 특징으로 한 사물 인터넷용 시스템 온 칩 이중 프로세서 구조.
KR1020170009424A 2016-08-31 2017-01-19 사물 인터넷용 시스템 온 칩 이중 프로세서 구조 KR101873022B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160112183 2016-08-31
KR20160112183 2016-08-31

Publications (2)

Publication Number Publication Date
KR20180025114A true KR20180025114A (ko) 2018-03-08
KR101873022B1 KR101873022B1 (ko) 2018-07-02

Family

ID=61726590

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170009424A KR101873022B1 (ko) 2016-08-31 2017-01-19 사물 인터넷용 시스템 온 칩 이중 프로세서 구조

Country Status (1)

Country Link
KR (1) KR101873022B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210001220A (ko) * 2019-06-27 2021-01-06 (주)인프라칩 비전 센서를 포함하는 스마트 클라우드 커넥터 장치를 기반으로 한 통신 방법 및 이러한 방법을 수행하는 비전 센서를 포함하는 스마트 클라우드 커넥터
CN112965407A (zh) * 2021-01-29 2021-06-15 航天科工微电子系统研究院有限公司 一种应用于陀螺控制系统的SoC芯片结构
CN113112481A (zh) * 2021-04-16 2021-07-13 北京理工雷科电子信息技术有限公司 一种基于矩阵网络的混合异构片上架构

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7457903B2 (en) 2003-03-10 2008-11-25 Marvell International Ltd. Interrupt controller for processing fast and regular interrupts

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210001220A (ko) * 2019-06-27 2021-01-06 (주)인프라칩 비전 센서를 포함하는 스마트 클라우드 커넥터 장치를 기반으로 한 통신 방법 및 이러한 방법을 수행하는 비전 센서를 포함하는 스마트 클라우드 커넥터
CN112965407A (zh) * 2021-01-29 2021-06-15 航天科工微电子系统研究院有限公司 一种应用于陀螺控制系统的SoC芯片结构
CN113112481A (zh) * 2021-04-16 2021-07-13 北京理工雷科电子信息技术有限公司 一种基于矩阵网络的混合异构片上架构
CN113112481B (zh) * 2021-04-16 2023-11-17 北京理工雷科电子信息技术有限公司 一种基于矩阵网络的混合异构片上架构

Also Published As

Publication number Publication date
KR101873022B1 (ko) 2018-07-02

Similar Documents

Publication Publication Date Title
US10846364B1 (en) Generalized dot product for computer vision applications
JP7053713B2 (ja) 低電力コンピュータイメージング
KR101873022B1 (ko) 사물 인터넷용 시스템 온 칩 이중 프로세서 구조
KR101748656B1 (ko) 이중 버스를 구비하여 처리 속도를 향상시킨 반도체 칩 프로세서 구조
TW201602866A (zh) 用於周邊介面資料傳遞的高效無失真壓縮
CN108628791B (zh) 基于pcie接口的高速安全芯片
US20080005437A1 (en) Optimized performance and power access to a shared resource in a multiclock frequency system on a chip application
CN1487475A (zh) 用于多媒体的片上系统处理器
US20130120406A1 (en) Graphics processing
CN112711556A (zh) 可编程数据总线反转和可配置实现
US20220179657A1 (en) Apparatus, systems, and methods for low power computational imaging
KR101933162B1 (ko) 실시간 영상 및 상황을 공유하는 스마트 사물인터넷 시스템 및 이를 이용한 서비스 방법
CN111813736A (zh) 片上系统及信号处理方法
US20090009630A1 (en) Direct interface of camera module to general purpose i/o port of digital baseband processor
CN204515761U (zh) 片上系统
CN104598407B (zh) 片上系统及控制方法
KR102278566B1 (ko) 사물인터넷 시스템 온 칩 및 이를 이용한 사물 인터넷 모듈
CN201846416U (zh) 图像传感器
KR101572738B1 (ko) 애플리케이션-불가지론적 오디오 가속을 위한 시스템, 방법 및 컴퓨터 프로그램 제품
CN112740193B (zh) 大数据运算加速系统执行运算的方法
McNichols et al. Design and implementation of an embedded NIOS II system for JPEG2000 tier II encoding
Zhou et al. Design and implementation of embedded video terminal based on Z228
WO2020087246A1 (zh) 大数据运算加速系统及数据传输方法
McNichols et al. Implementation and Analysis of JPEG2000 System on a Chip
Shu-Wei et al. Design and implementation of a reconfigurable SoC for high-definition video applications

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