KR101560583B1 - 데이터 수신 장치 및 그 방법 - Google Patents

데이터 수신 장치 및 그 방법 Download PDF

Info

Publication number
KR101560583B1
KR101560583B1 KR1020140057608A KR20140057608A KR101560583B1 KR 101560583 B1 KR101560583 B1 KR 101560583B1 KR 1020140057608 A KR1020140057608 A KR 1020140057608A KR 20140057608 A KR20140057608 A KR 20140057608A KR 101560583 B1 KR101560583 B1 KR 101560583B1
Authority
KR
South Korea
Prior art keywords
data
receiving
received
arinc
processor
Prior art date
Application number
KR1020140057608A
Other languages
English (en)
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 KR1020140057608A priority Critical patent/KR101560583B1/ko
Application granted granted Critical
Publication of KR101560583B1 publication Critical patent/KR101560583B1/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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/22Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling

Abstract

데이터 수신 장치 및 그 방법이 개시된다. 데이터 수신 장치는, 기설정된 주기마다 하나 이상의 ARINC 디바이스로부터 데이터를 수신하되, 상기 하나 이상의 데이터 각각의 전송률에 따라 그룹화하여 수신하도록 제어하는 데이터 수신 제어부, 상기 하나 이상의 데이터 각각의 전송률에 따라 그룹화되어 수신받은 데이터의 중복수신 여부를 진단하는 리미터 모듈 및 상기 수신한 데이터를 언팩킹(Unpacking)하는 언팩 처리부를 포함할 수 있다.

Description

데이터 수신 장치 및 그 방법{DEVICE FOR DATA RECEPTION AND THE METHOD THEREOF}
본 발명은 데이터 수신 장치 및 그 방법에 관한 것으로 특히, TMS320C40프로세서와 DD-00429 디바이스를 사용하는 저사양 환경에서의 ARINC429 데이터 수신 장치 및 방법 관한 것이다.
ARINC429 통신은 항공전자 통신을 위한 데이터 포맷이며, 주로 민수항공기에 도입되어 사용되고 있다. ARINC429의 데이터 송수신은 보통 인터럽트(Interrupt)를 발생시켜 전송된 데이터를 곧바로 받아들이는 방식을 주로 사용하나, TMS320C40 프로세서와 같은 저사양의 프로세서에 이와 같은 방식을 사용할 경우 과도한 부하가 걸리거나 시스템이 다운될 수 있는 문제점이 있었다.
종래에는 한국공개특허 10-2000-0033108과 같이 프로세서간 통신방법이 개시되어 있었으나, 저사양 프로세서에서 과도한 부하가 걸리지 않도록 새로운 알고리즘을 적용하지는 못하였다.
따라서, TMS320C40 프로세서와 같은 저사양의 프로세서 환경에서도 과도한 부하가 걸리지 않는 데이터 수신 장치 및 방법에 관한 연구가 요구된다.
본 발명은 TMS320C40프로세서와 DD-00429 디바이스를 사용하는 환경과 같은 저사양 환경에서 인터럽트를 발생시키지 않고 특정주기마다 폴링방식을 사용하여 ARINC Device 내부의 수신 메모리(Receive RAM) 데이터를 프로세서가 사용하는 메모리 영역으로 복사함으로써, 저사양 프로세서 환경에서의 과도한 부하를 방지하고 시스템 다운을 예방하는 장치 및 방법을 제공한다.
본 발명의 일실시예에 따른 데이터 수신 장치는, 기설정된 주기마다 ARINC 디바이스로부터 하나 이상의 데이터를 수신하되, 상기 하나 이상의 데이터 각각의 전송률에 따라 그룹화하여 수신하도록 제어하는 데이터 수신 제어부, 상기 하나 이상의 데이터 각각의 전송률에 따라 그룹화되어 수신받은 데이터의 중복수신 여부를 진단하는 리미터 모듈 및 상기 수신한 데이터를 언팩킹(Unpacking)하는 언팩 처리부를 포함할 수 있다.
본 발명의 일측면에 따르면, 상기 데이터 수신 제어부는, 상기 기설정된 주기마다의 데이터 수신 시, 상기 하나 이상의 ARINC 디바이스 내부 메모리로부터 프로세서의 데이터 메모리로 데이터를 복사하는 데이터 복사 처리부를 포함할 수 있다.
본 발명의 일실시예에 따른 데이터 수신 방법은, 기설정된 주기마다 ARINC 디바이스로부터 하나 이상의 데이터를 수신하되, 상기 하나 이상의 데이터의 전송률에 따라 그룹화하여 수신하는 단계, 상기 그룹화되어 수신받은 데이터의 중복수신 여부를 진단하는 단계 및 상기 수신한 데이터를 언팩킹(Unpacking)하는 단계를 포함할 수 있다.
본 발명의 일측면에 따르면, 상기 데이터를 수신하는 단계는, 상기 기설정된 주기마다의 데이터 수신 시, 상기 하나 이상의 ARINC 디바이스 내부 메모리로부터 프로세서의 데이터 메모리로 데이터를 복사할 수 있다.
본 발명의 일실시예에 따르면, TMS320C40프로세서와 DD-00429 디바이스를 사용하는 환경과 같은 저사양 환경에서 인터럽트를 발생시키지 않고 특정주기마다 폴링방식을 사용하여 ARINC Device 내부의 수신 메모리(Receive RAM) 데이터를 프로세서가 사용하는 메모리 영역으로 복사함으로써, 저사양 프로세서 환경에서의 과도한 부하를 방지하고 시스템 다운을 예방하는 장치 및 방법이 제공된다.
도 1은 본 발명의 실시예에 따른 데이터 수신 장치의 구성을 나타낸 블록도.
도 2는 본 발명의 실시예에 따른 데이터 수신방법을 나타낸 동작 흐름도.
도 3은 본 발명의 실시예에 따라 Frame 별로 데이터를 수신하는 과정을 나타낸 동작 흐름도.
도 4는 본 발명의 실시예에 따라 데이터를 수신하는 과정을 나타낸 동작 흐름도.
도 5는 본 발명의 실시예에 따라 데이터를 언팩킹하는 과정을 나타낸 동작 흐름도.
이하, 첨부된 도면들에 기재된 내용들을 참조하여 본 발명의 실시예들을 상세하게 설명한다. 다만, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 실시예에 따른 데이터 수신 장치의 구성을 나타낸 블록도이다.
도 1을 참고하면, 데이터 수신 장치(100)는 데이터 수신 제어부(110), 리미터 모듈(120), 언팩 처리부(130)를 포함한다.
데이터 수신 제어부(110)는 기설정된 주기마다 하나 이상의 ARINC 디바이스로부터 데이터를 수신하되, 상기 하나 이상의 데이터 각각의 전송률에 따라 그룹화하여 수신하도록 제어할 수 있다.
즉, 종래에 컴퓨터와 연결된 여러 장비들의 데이터들에 맞추어 인터럽트(Interrupt)를 발생시켜 데이터를 수신하는 것과 달리, 본 발명의 일실시예에서는 특정 주기마다 수신 기능을 사용할 수 있도록 하되, 수신 받아오는 데이터별로 데이터 전송률이 다르므로, 전송률의 범위를 그룹화 하여 한꺼번에 수신받도록 한다.
한편, 데이터 수신 제어부(110)는, 상기 기설정된 주기마다의 데이터 수신 시, 상기 하나 이상의 ARINC 디바이스 내부 메모리로부터 프로세서의 데이터 메모리로 데이터를 복사하는 데이터 복사 처리부(111)를 포함할 수 있다. 즉, 데이터 수신시, 본 발명의 일실시예에서는 폴링(Polling)방식을 사용하므로 인터럽트(Interrupt)를 발생시키지 않고 ARINC Device내부의 Receive RAM으로부터 프로세서가 사용하는 데이터 메모리 영역으로 복사하는 알고리즘을 사용하여 데이터를 수신하게 된다.
리미터 모듈(120)은 상기 하나 이상의 데이터 각각의 전송률에 따라 그룹화되어 수신받은 데이터의 중복수신 여부를 진단할 수 있다. 즉, 그룹화 하여 데이터를 수신하면, 데이터의 전송률에 따라, 현재 수신받고자 하는 데이터가 이미 수신한 데이터일 수 있으므로, 이를 확인하고자 리미터(Limiter)를 사용하여 고장진단을 할 수 있다.
언팩 처리부(130)는 상기 수신한 데이터를 언팩킹(Unpacking)할 수 있다. 즉, 상기와 같은 방법으로 수신한 데이터는 프로그램 내부에서 곧바로 사용할 수 없으므로 언팩킹(Unpacking)하는 알고리즘을 거쳐 사용할 수 있다.
상기와 같이, 본 발명의 일실시예에 따르면, TMS320C40프로세서와 DD-00429 디바이스 환경에서 인터럽트를 발생시키지 않고 특정주기마다 폴링방식을 사용하여 ARINC Device 내부의 수신 메모리(Receive RAM) 데이터를 프로세서가 사용하는 메모리 영역으로 복사함으로써, 저사양 프로세서 환경에서의 과도한 부하를 방지하고 시스템 다운을 예방할 수 있게 된다.
도 2는 본 발명의 실시예에 따른 데이터 수신방법을 나타낸 동작 흐름도이다.
도 2를 참고하면, 단계(S210)에서는 기설정된 주기마다 하나 이상의 ARINC 디바이스로부터 데이터를 수신하되, 상기 하나 이상의 데이터 각각의 전송률에 따라 그룹화하여 수신할 수 있다.
한편 단계(S210)에서는 상기 기설정된 주기마다의 데이터 수신 시, 상기 하나 이상의 ARINC 디바이스 내부 메모리로부터 프로세서의 데이터 메모리로 데이터를 복사하여 데이터를 수신할 수 있다.
단계(S220)에서는 상기 그룹화되어 수신받은 데이터의 중복수신 여부를 진단할 수 있다.
단계(S230)에서는 상기 수신한 데이터를 언팩킹(Unpacking)할 수 있다.
이하에서는 상기 각 단계를 보다 상세하게 설명한다.
도 3은 본 발명의 실시예에 따라 Frame 별로 데이터를 수신하는 과정을 나타낸 동작 흐름도이다.
도 3의 경우, 매 프레임마다 지정된 동작을 수행하도록 할 수 있고 이러한 과정을 순서도로 표현한 것이다. TMS320C40 프로세서를 이용하여 수행되는 Operational Program은 64Hz마다 태스크들을 수행하도록 설계될 수 있으며 수행 시마다 수행카운터를 4단계로 나누어 증가시키는 방법으로 64Hz, 32Hz, 16Hz마다 동작하는 태스크를 만들 수 있다. 또한, 8Hz는 16Hz를 절반으로 나누는 것으로 만들 수 있다.
Data를 읽어 들이면 Receive RAM에 저장된 Label이 0으로 초기화 되는 것을 이용하여 DelayCounter를 증가시켜 해당 데이터가 갱신된 데이터인지, 또는 허용된 시간 안에 데이터가 들어오는지 여부를 감시할 수 있도록 한다.
도 4는 본 발명의 실시예에 따라 데이터를 수신하는 과정을 나타낸 동작 흐름도이다.
즉, 도 4 는 프레임마다 수행되는 그룹별 수신 과정을 나타내는 순서도이다. 수신 기능은 미리 입력되어 있는 Channel과 Label이 포함된 데이터 배열을 가지고 수행하게 된다. 지정된 채널 및 라벨 위치를 이용하여 ARINC Receive RAM에 저장된 데이터를 내부 RAM의 지정된 배열의 지정된 위치에 복사하게 된다. 이런 방식으로 동작하게 하여 내부 메모리와 ARINC Receive RAM에 저장된 데이터가 동일한 순서로 저장되어 데이터 관리를 용이하게 할 수 있다.
도 5는 본 발명의 실시예에 따라 데이터를 언팩킹하는 과정을 나타낸 동작 흐름도이다.
도 5를 참고하면, Parity, SSM, S/D, Data, Label 모두가 뭉쳐져 있는 ARINC Data를 Unpacking하고 Scaled Factor를 계산하여 실제 프로그램에서 사용할 수 있도록 하는 과정이 나타나 있다.
상기 과정은 미리 정의 되어 있는 데이터의 시작 비트인 Tobit, 데이터의 길이인 Length, 데이터의 Sign Bit유무를 나타내는 SignBit, 실제 값으로 변환하는데 필요한 ScaleFactor를 이용하여 수행될 수 있다.
ARINC 데이터의 초기 7비트 이하는 Label이며, 데이터가 될 수 없기 때문에 Tobit를 입력하지 않고 초기값으로 내버려 둠으로써, 데이터 전체를 결과값인 ReValue로 사용할 수 있다.
8번 비트부터 28번 비트는 데이터, 혹은 데이터와 S/D로 쓸 수 있는 비트 영역이다. Tobit와 Length를 이용하여 데이터를 가지고 오게 되는데, Length가 Label을 침범하는 크기의 인풋 값은 절대 들어올 수 없는 데이터이므로 이러한 데이터는 없는 것으로 보아 예외처리는 생략할 수 있다.
다음으로 SignBit가 입력되어 0 또는 1을 가리키면 해당 데이터는 Signed bit를 가지는 것으로 판단할 수 있다. 이때, 0이나 1 이외의 값은 들어올 수 없으므로, Length와 마찬가지로 예외처리는 생략할 수 있다. Signed Bit가 1이면 마이너스 데이터를 의미하며 2의 보수의 형태를 취한다. 2의 보수 형태인 데이터를 옮길 때 기본적으로 사용하는 32bit데이터와 ARINC의 Word Bit수가 다르므로 데이터를 유지할 수 있도록 1로 채운 비트와 or 연산하여 복사할 수 있다.
Scale Factor 계산의 경우, Scale Factor에 값이 입력되어 0.0 이외의 값을 가리키게 되면(float 자료형을 위한 tolerance는 생략함) 완성된 Actual_value와 곱셈하여 실제 사용되는 값으로 변환하여 출력 값인 ReValue에 대입하는 방식을 사용할 수 있다.
상기와 같이, TMS320C40프로세서와 DD-00429 디바이스를 사용하는 환경과 같은 저사양 환경에서 인터럽트를 발생시키지 않고 특정주기마다 폴링방식을 사용하여 ARINC Device 내부의 수신 메모리(Receive RAM) 데이터를 프로세서가 사용하는 메모리 영역으로 복사함으로써, 저사양 프로세서 환경에서의 과도한 부하를 방지하고 시스템 다운을 예방할 수 있다.
또한 본 발명의 일실시예에 따른, 데이터 수신 방법은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 본 발명의 일실시예는 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명의 일실시예는 상기 설명된 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.  따라서, 본 발명의 일실시예는 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.
110 : 데이터 수신 제어부
111 : 데이터 복사 처리부
120 : 리미터 모듈
130 : 언팩 처리부

Claims (4)

  1. 기설정된 주기마다 ARINC 디바이스로부터 하나 이상의 데이터를 수신하되, 상기 하나 이상의 데이터의 전송률에 따라 그룹화하여 수신하도록 제어하는 데이터 수신 제어부;
    상기 하나 이상의 데이터 각각의 전송률에 따라 그룹화되어 수신받은 데이터의 중복수신 여부를 진단하는 리미터 모듈; 및
    상기 수신한 데이터를 언팩킹(Unpacking)하는 언팩 처리부
    를 포함하는 데이터 수신 장치.
  2. 제1항에 있어서,
    상기 데이터 수신 제어부는,
    상기 기설정된 주기마다의 데이터 수신 시, 상기 하나 이상의 ARINC 디바이스 내부 메모리로부터 프로세서의 데이터 메모리로 데이터를 복사하는 데이터 복사 처리부
    를 포함하는 것을 특징으로 하는 데이터 수신 장치
  3. 삭제
  4. 삭제
KR1020140057608A 2014-05-14 2014-05-14 데이터 수신 장치 및 그 방법 KR101560583B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140057608A KR101560583B1 (ko) 2014-05-14 2014-05-14 데이터 수신 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140057608A KR101560583B1 (ko) 2014-05-14 2014-05-14 데이터 수신 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR101560583B1 true KR101560583B1 (ko) 2015-10-16

Family

ID=54365763

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140057608A KR101560583B1 (ko) 2014-05-14 2014-05-14 데이터 수신 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR101560583B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100969881B1 (ko) 2009-10-29 2010-07-15 엘아이지넥스원 주식회사 데이터 송수신 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100969881B1 (ko) 2009-10-29 2010-07-15 엘아이지넥스원 주식회사 데이터 송수신 장치

Similar Documents

Publication Publication Date Title
US10116749B2 (en) Method for providing flight management system data to peripheral devices
US8671397B2 (en) Selective data flow analysis of bounded regions of computer software applications
US10564889B2 (en) Method and apparatus for processing data based on physical host
US11642783B2 (en) Automated generation of robotic computer program code
CN112685224A (zh) 任务管理的方法、设备和计算机程序产品
WO2017015130A1 (en) Providing font security
US20180373496A1 (en) Selective updating of floating point controls
TWI758679B (zh) 用於指令執行中之負零控制之電腦程式產品、電腦系統及電腦實作方法
CN110362371B (zh) 视图层级的控制方法、装置及系统、计算机设备及介质
US10140127B2 (en) Operation of a multi-slice processor with selective producer instruction types
US20160170847A1 (en) Generating a data structure to maintain error and connection information on components and use the data structure to determine an error correction operation
US20170168831A1 (en) Operation of a multi-slice processor with instruction queue processing
US11295258B2 (en) Cross domain integration in product lifecycle management
KR101560583B1 (ko) 데이터 수신 장치 및 그 방법
US9524204B2 (en) Methods and apparatus for customizing and using a reusable database framework for fault processing applications
EP4024410A1 (en) Simulation system, simulation program, and simulation method
CN114706622A (zh) 启动模型服务的方法、装置、设备、介质及产品
US11080141B2 (en) Automatic restarting and reconfiguration of physics-based models in event of model failure
CN111399806B (zh) 一种组件管理方法、装置、电子设备及存储介质
WO2019221082A1 (ja) 制御装置及びデータ記録方法
US20200192761A1 (en) Load and Save Recovery Partition Using Mobile Device
EP2977903A1 (en) Segmented software architecture
KR20190019670A (ko) 클라우드 서버 및 클라우드 서버의 동작
US20140026116A1 (en) Source control execution path locking
US9513981B2 (en) Communication software stack optimization using distributed error checking

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: 20180808

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190729

Year of fee payment: 5