KR101572810B1 - 비동기 통신과 에이치.디.엘.씨(hdlc) 동기통신 변환장치의 제어방법 - Google Patents
비동기 통신과 에이치.디.엘.씨(hdlc) 동기통신 변환장치의 제어방법 Download PDFInfo
- Publication number
- KR101572810B1 KR101572810B1 KR1020140108622A KR20140108622A KR101572810B1 KR 101572810 B1 KR101572810 B1 KR 101572810B1 KR 1020140108622 A KR1020140108622 A KR 1020140108622A KR 20140108622 A KR20140108622 A KR 20140108622A KR 101572810 B1 KR101572810 B1 KR 101572810B1
- Authority
- KR
- South Korea
- Prior art keywords
- hdlc
- data
- communication
- received
- communication unit
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/18—Service support devices; Network management devices
- H04W88/181—Transcoding devices; Rate adaptation devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
Abstract
본 발명은 비동기 통신과 에이치.디.엘.씨(HDLC) 동기통신 변환장치 및 그 제어방법에 관한 것이다.
본 발명은 이를 위해 비동기 통신을 사용하는 장치와의 연결을 위한 비동기통신부(20)와 동기통신을 사용하는 장치와의 연결을 위한 HDLC통신부(21)가 구비된 통신변환 장치에 있어서, 상기 비동기통신부(20)와 HDLC통신부(21)의 사이에는 통신프로그램 수정으로 HDLC통신장치와 연결할 수 있도록 하여 비동기통신을 HDLC통신으로 변환하는 어댑터인 통신변환장치(10)가 구비됨을 특징으로 하는 비동기 통신과 에이치.디.엘.씨(HDLC) 동기통신 변환장치를 제공한다.
상기와 같이 구성된 본 발명은 쉽게 구현이 가능한 비동기통신으로 설정명령을 통해 에이치.디.엘.씨(HDLC) 통신에 필요한 각종 설정을 할 수 있도록 하였고, 데이터의 송수신은 데이터 명령을 통해 에이치.디.엘.씨(HDLC)을 할 수 있도록 한 것이며, 이로 인해 제품의 품질과 신뢰성을 대폭 향상시키므로 사용자들의 다양한 욕구(니즈)를 충족시켜 좋은 이미지를 심어줄 수 있도록 한 것이다.
본 발명은 이를 위해 비동기 통신을 사용하는 장치와의 연결을 위한 비동기통신부(20)와 동기통신을 사용하는 장치와의 연결을 위한 HDLC통신부(21)가 구비된 통신변환 장치에 있어서, 상기 비동기통신부(20)와 HDLC통신부(21)의 사이에는 통신프로그램 수정으로 HDLC통신장치와 연결할 수 있도록 하여 비동기통신을 HDLC통신으로 변환하는 어댑터인 통신변환장치(10)가 구비됨을 특징으로 하는 비동기 통신과 에이치.디.엘.씨(HDLC) 동기통신 변환장치를 제공한다.
상기와 같이 구성된 본 발명은 쉽게 구현이 가능한 비동기통신으로 설정명령을 통해 에이치.디.엘.씨(HDLC) 통신에 필요한 각종 설정을 할 수 있도록 하였고, 데이터의 송수신은 데이터 명령을 통해 에이치.디.엘.씨(HDLC)을 할 수 있도록 한 것이며, 이로 인해 제품의 품질과 신뢰성을 대폭 향상시키므로 사용자들의 다양한 욕구(니즈)를 충족시켜 좋은 이미지를 심어줄 수 있도록 한 것이다.
Description
본 발명은 비동기 통신과 에이치.디.엘.씨(HDLC) 동기통신 변환장치의 제어방법에 관한 것으로, 보다 상세하게는 쉽게 구현이 가능한 비동기통신으로 설정명령을 통해 에이치.디.엘.씨(HDLC) 통신에 필요한 각종 설정을 할 수 있도록 하였고, 데이터의 송수신은 데이터 명령을 통해 에이치.디.엘.씨(HDLC)을 할 수 있도록 한 것이며, 이로 인해 제품의 품질과 신뢰성을 대폭 향상시키므로 사용자들의 다양한 욕구(니즈)를 충족시켜 좋은 이미지를 심어줄 수 있도록 한 것이다.
주지하다시피 현대의 통신에서는 대부분의 장치간 정보교환에는 직렬통신이 사용되고 있으며, 그중에서도 비동기 통신이 일반적으로 사용되고 있다. 비동기통신은 직렬통신이라고도 하며 [도 1]과 같이 정해진 구조 (시작비트 , 데이터비트, 정지비트)를 사용하며 송신국과 수신국사이에서 특별한 동기신호가 없이 정보를 주고 받을 수 있도록 하는 방식이다.
대부분의 산업현장에서 사용되는 엠.씨.유(MCU)와 통신관련 아이.씨(IC)는 이러한 비동기 직렬통신을 기본적으로 지원하고 있으며 단순히 엠씨유의 송신 버퍼에 데이터를 라이트(Write)함으로써 데이터를 송신하고, 수신 버퍼에 있는 데이터를 리드(Read)하여 데이터를 수신하는 구조로 쉽게 비동기 통신방식을 사용할 수 있다. 또한 이러한 비동기직렬통신에서의 부호화는 [도 2]의 단극형 부호화 방식을 사용하는 단순한 구조를 가지고 있다.
이러한 비동기 직렬통신은 구현이 용이하고, 비용이 적게 들어가는 반면에 데이터 전송시 한 문자의 전송시마다 시작비트와 정지비트를 항상 포함하고 있으므로, 데이터를 처리하기 위해 필수적으로 들어가는 간접적인 처리시간이 추가적으로 소요된다.
이에 반해 에이치.디.엘.씨(HDLC) 통신은 한 문자 단위가 아니라 미리 정해진 수 많큼의 문자열을 한 묶음으로 만들어서 일시에 전송하는 방법이다. 데이터 신호선과는 별도로 송신측과 수신측이 하나의 동기신호(클록신호)를 통해 동기화시켜 데이터를 송수신한다. 따라서 데이터 회선과는 별도로 동기신호를 위한 별도의 회선이 필요하며, 동기신호를 포함한 부호화방식을 사용하면, 별도의 동기신호를 위한 회선없이 데이터를 통해 동기신호를 복원하여 사용할 수 있다. 에이치.디.엘.씨(HDLC)통신의 구축비용은 비동기 직렬통신에 비해 다소 높지만 전송효율이 높다는 것이 장점이다. 이러한 에이치.디.엘.씨(HDLC)통신은 프레임 단위로 전송되며 그 프레임의 구조는 [도 3]과 다음과 같다.
Flag는 1바이트 길이로서 프레임의 시작과 종료를 표시하는 값으로써 HDLC통신규약상 0x7E로 고정된다. Address는 1~2바이트의 길이를 가지며, 전송시에는 대국의 Address를 삽입하여 전송하며, 수신시에는 자국의 어드레스와 비교하여 동일할 때에만 나머지 데이터를 수신하여 사용한다. Information은 0 ~ N 바이트의 길이를 가지며 기본적으로는 제한이 없다. FCS는 2~4바이트의 길이를 가지며 HDLC 프레임의 오류검사를 위한 바이트 들이다. 오류검사에는 많은 종류의 CRC가 있지만 CRC16-IBM 혹은 CRC-CCITT 규정으로 생성하고 검사한다. 단 본 발명에서는 16비트사용시에는 자동적으로 검사를 하여 처리하지만 32Bit CRC사용시에는 응용프로그램에서 검사를 별도로 하여야 한다.
에이치.디.엘.씨(HDLC)통신은 임의의 비트열을 전송할 수 있는 비트지향형 전송제어절차이며 신뢰성이 높은 성능 제공 및 전송효율이 높아, 이를 기반으로 하여 엑스.25(X.25)프로토콜 2계층 프로토콜, 아이.에스.디.엔(ISDN)의 프로토콜 등이 아이.에스.오(ISO) 표준으로 개발되었으나. 아이.에스.오(ISO)의 권고와 무관하게 에이치.디.엘.씨(HDLC) 구조를 사용하여 독자적인 프로토콜들도 많이 사용되고 있다. 그러나 아이.에스.오(ISO) 표준 프로토콜이나, 독자적인 프로토콜이라 하더라도 그 기반은 에이치.디.엘.씨(HDLC)에 두고 있으며, 파생된 각종 프로토콜은 레이어 2-데이터링크 층 에 따라 다르다.
또한 비동기통신에는 필요없지만 동기통신에는 필수적으로 부가되는 것이 동기신호이다.동기 신호는 송신측과 수신측이 정확한 시간에 동기되어 송신과 수신을 할 수 있도록 해주는 신호로써 하드웨어(레이어 1-물리계층)의 구조에 따라 선택적으로 별도의 동기용 회선을 사용할 수도 있고, 송신측에서는 데이터 회선의 데이터 신호에 동기신호를 포함하는 부호화를 하여 전송하고 수신측에서는 부호화된 데이터 신호를 복호화 하고, 동기신호를 복원함으로써 동기신호로 사용할 수도 있다. 이러한 부호화 방법에는 [도 4]와 같은 여러 종류의 방법이 사용된다. 데이터를 부호화를 위해서는 물리계층에서 논리회로를 통하여 구현할 수 있지만 상당히 복잡하고 비용이 증가된다.
한편, 에이치.디.엘.씨(HDLC) 통신은 아이.에스.오(ISO)의 규격으로 등록되어 있으며, 관련된 특허는 많이 출원되어 있으나, 비동기통신을 통하여 제어되는 본 발명과 같은 특허는 없었으며, 에이치.디.엘.씨(HDLC) 통신과 관련된 특허의 문헌은 다음과 같다.
본 발명은 상기와 같은 종래 기술의 제반 문제점을 해소하기 위하여 안출한 것으로, 통신변환장치에 MCU(Micro Controller Unit)와, 데이터처리/제어부와, Flash/EEPROM과, 송수신버퍼RAM부와, 비동기통신부와, HDLC통신부가 구비됨을 제1목적으로 한 것이고, 상기한 기술적 구성에 의한 본 발명의 제2목적은 쉽게 구현이 가능한 비동기통신으로 설정명령을 통해 에이치.디.엘.씨(HDLC) 통신에 필요한 각종 설정을 할 수 있도록 한 것이며, 제3목적은 데이터의 송수신은 데이터 명령을 통해 에이치.디.엘.씨(HDLC)을 할 수 있도록 한 것이고, 제4목적은 기존에 사용하던 비동기직렬통신장치를 에이치.디.엘.씨(HDLC)통신장치에 연결할 때도 기존장치를 폐기하고 에이치.디.엘.씨(HDLC)에 맞는 통신장치로 새로 제작할 필요없이 약간의 통신프로그램 수정으로 에이치.디.엘.씨(HDLC)통신장치와 연결하여 사용할 수 있도록 한 것이며, 따라서 제5목적은 기존의 비동기 직렬링크를 사용하여 본 발명의 장치를 비동기통신과 에이치.디.엘.씨(HDLC)통신간 어댑터로 사용하고, 비동기 직렬통신을 통해 단순한 명령어로써 쉽게 제어함으로써 에이치.디.엘.씨(HDLC)을 실현할 수 있도록 한 것이고, 제6목적은 RS-232 나 RS-422/485같은 비동기통신을 사용하는 장치에서 HDLC통신을 사용하는 장치로의 연결을 위해, 비용과 시간을 들여 새로운 장치를 개발할 필요없이, 본 발명을 이용하면 간단히 해결할 수 있도록 한 것이며, 제7목적은 이로 인해 제품의 품질과 신뢰성을 대폭 향상시키므로 사용자들의 다양한 욕구(니즈)를 충족시켜 좋은 이미지를 심어줄 수 있도록 한 비동기 통신과 에이치.디.엘.씨(HDLC) 동기통신 변환장치 및 그 제어방법을 제공한다.
이러한 목적 달성을 위하여 본 발명은 비동기 통신을 사용하는 장치와의 연결을 위한 비동기통신부와 동기통신을 사용하는 장치와의 연결을 위한 HDLC통신부가 구비된 통신변환 장치에 있어서, 상기 비동기통신부와 HDLC통신부의 사이에는 통신프로그램 수정으로 HDLC통신장치와 연결할 수 있도록 하여 비동기통신을 HDLC통신으로 변환하는 어댑터인 통신변환장치가 구비됨을 특징으로 하는 비동기 통신과 에이치.디.엘.씨(HDLC) 동기통신 변환장치를 제공한다.
또한 본 발명은 비동기통신부와 HDLC통신부에 대해 각각 규정된 프로토콜이 수신되었는지 통신변환장치가 판단하는 단계; 비동기통신부에서 문자가 수신되었을 때 프로토콜 규칙에 맞는 데이터인지 검사하는 단계: 및 HDLC통신부에서 문자가 수신되었을 때 프로토콜 규칙에 맞는지 검사하는 단계;가 포함됨을 특징으로 하는 비동기 통신과 에이치.디.엘.씨(HDLC) 동기통신 변환장치의 제어방법을 제공한다.
상기에서 상세히 살펴본 바와 같이 본 발명은 통신변환장치에 MCU(Micro Controller Unit)와, 데이터처리/제어부와, Flash/EEPROM과, 송수신버퍼RAM부와, 비동기통신부와, HDLC통신부가 구비되도록 한 것이다.
상기한 기술적 구성에 의한 본 발명은 쉽게 구현이 가능한 비동기통신으로 설정명령을 통해 에이치.디.엘.씨(HDLC) 통신에 필요한 각종 설정을 할 수 있도록 한 것이다.
그리고 본 발명은 데이터의 송수신은 데이터 명령을 통해 에이치.디.엘.씨(HDLC)을 할 수 있도록 한 것이다.
또한 본 발명은 기존에 사용하던 비동기직렬통신장치를 에이치.디.엘.씨(HDLC)통신장치에 연결할 때도 기존장치를 폐기하고 에이치.디.엘.씨(HDLC)에 맞는 통신장치로 새로 제작할 필요없이 약간의 통신프로그램 수정으로 에이치.디.엘.씨(HDLC)통신장치와 연결하여 사용할 수 있도록 한 것이다.
따라서 본 발명은 기존의 비동기 직렬링크를 사용하여 본 발명의 장치를 비동기통신과 에이치.디.엘.씨(HDLC)통신간 어댑터로 사용하고, 비동기 직렬통신을 통해 단순한 명령어로써 쉽게 제어함으로써 에이치.디.엘.씨(HDLC)을 실현할 수 있도록 한 것이다.
더하여 본 발명은 RS-232 나 RS-422/485같은 비동기통신을 사용하는 장치에서 HDLC통신을 사용하는 장치로의 연결을 위해, 비용과 시간을 들여 새로운 장치를 개발할 필요없이, 본 발명을 이용하면 간단히 해결할 수 있도록 한 것이다.
본 발명은 상기한 효과로 인해 제품의 품질과 신뢰성을 대폭 향상시키므로 사용자들의 다양한 욕구(니즈)를 충족시켜 좋은 이미지를 심어줄 수 있도록 한 매우 유용한 발명인 것이다.
이하에서는 이러한 효과 달성을 위한 본 발명의 바람직한 실시 예를 첨부된 도면에 따라 상세히 설명하면 다음과 같다.
도 1 은 비동기 통신의 구조 - 일반적으로 사용되는 비동기통신 프레임의 구조를 나타낸 것으로 직렬통신을 사용하는 장치에서 데이터의 전송 및 비트의 배열을 나타냄.
도 2 는 단극형 부호화 방식 - 비동기통신을 사용하는 직렬통신에서 사용하는 부호화의 한 종류.
도 3 은 HDLC 기본 프레임 구조 - HDLC통신의 기본 프레임 포맷으로써 HDLC통신을 사용하고자 하는 기기는 이 프레임에 맞추어 송신 및 수신을 하여야 함.
도 4 는 부호화의 종류 - 본 발명에서 사용할 수 있는 부호화의 종료를 나타냄.
도 5 는 본 발명의 사용 예 - 본 발명을 통해 비동기통신을 사용하는 장치와 HDLC통신을 사용하는 장치간의 적용 예.
도 6 은 비동기통신과 HDLC통신 변환기의 기본 구조도 - 본 발명의 내부 기본 구조도.
도 7 은 비동기통신과 HDLC통신 변환기의 상세 블록도 - 본 발명의 상세 내부 구조도.
도 8 은 주 프로그램 처리 흐름도 - 본 발명의 주 통신처리 흐름도.
도 9 는 비동기통신부 수신 인터럽트 처리 흐름도 - 주 프로그램과 연계되어, 비동기 통신부와 연관된 인터럽트로 처리되는 송신 및 수신데이터의 처리 흐름도.
도 10 은 HDLC 통신부 수신 인터럽트 처리 흐름도 - 주 프로그램과 연계되어, HDLC통신부와 연관된 인터럽트로 처리되는 송신 및 수신데이터의 처리 흐름도.
도 2 는 단극형 부호화 방식 - 비동기통신을 사용하는 직렬통신에서 사용하는 부호화의 한 종류.
도 3 은 HDLC 기본 프레임 구조 - HDLC통신의 기본 프레임 포맷으로써 HDLC통신을 사용하고자 하는 기기는 이 프레임에 맞추어 송신 및 수신을 하여야 함.
도 4 는 부호화의 종류 - 본 발명에서 사용할 수 있는 부호화의 종료를 나타냄.
도 5 는 본 발명의 사용 예 - 본 발명을 통해 비동기통신을 사용하는 장치와 HDLC통신을 사용하는 장치간의 적용 예.
도 6 은 비동기통신과 HDLC통신 변환기의 기본 구조도 - 본 발명의 내부 기본 구조도.
도 7 은 비동기통신과 HDLC통신 변환기의 상세 블록도 - 본 발명의 상세 내부 구조도.
도 8 은 주 프로그램 처리 흐름도 - 본 발명의 주 통신처리 흐름도.
도 9 는 비동기통신부 수신 인터럽트 처리 흐름도 - 주 프로그램과 연계되어, 비동기 통신부와 연관된 인터럽트로 처리되는 송신 및 수신데이터의 처리 흐름도.
도 10 은 HDLC 통신부 수신 인터럽트 처리 흐름도 - 주 프로그램과 연계되어, HDLC통신부와 연관된 인터럽트로 처리되는 송신 및 수신데이터의 처리 흐름도.
본 발명에 적용된 비동기 통신과 에이치.디.엘.씨(HDLC) 동기통신 변환장치 및 그 제어방법은 도 내지 도 에 도시된 바와 같이 구성되는 것이다.
하기에서 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 것이다.
그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 설정된 용어들로서 이는 생산자의 의도 또는 관례에 따라 달라질 수 있으므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
먼저, 본 발명은 비동기 통신을 사용하는 장치와의 연결을 위한 비동기통신부(20)와 동기통신을 사용하는 장치와의 연결을 위한 HDLC통신부(21)가 구비된 통신변환 장치에 있어서, 상기 비동기통신부(20)와 HDLC통신부(21)의 사이에는 통신프로그램 수정으로 HDLC통신장치와 연결할 수 있도록 하여 비동기통신을 HDLC통신으로 변환하는 어댑터인 통신변환장치(10)가 구비됨을 특징으로 하는 비동기 통신과 에이치.디.엘.씨(HDLC) 동기통신 변환장치.
이때 본 발명에 적용된 상기 통신변환장치(10)는 도 6, 7 에 도시된 바와 같이 상기 두 통신부(20)(21)의 상태 설정을 위한 제어 및 두 통신부에서 교환되는 데이터를 처리하기 위한 데이터처리/제어부(12)와, 데이터를 임시 저장하기 위한 송수신버퍼RAM(14)와, CPU Core외에 병렬 입출력장치가 내장된 콘트롤러인 MCU(Micro Controller Unit)(11)가 포함된다.
그리고 본 발명에 적용된 상기 MCU(Micro Controller Unit)(11)에는 HDLC통신부(21)의 통신설정에 대한 정보를 저장하는 Flash/EEPROM(13)가 구비된다.
한편, 본 발명의 동기통신은 데이터의 흐름을 동기시킬 수 있는 동기신호를 통해 자국과 대국간 통신을 하는 방식이다.
또한 HDLC은 High Level Data Link Control의 약자로써 동기통신중의 한 종류이다.
또한 MCU는 Micro Controller Unit의 약자로써 CPU Core외에 여러 가지 병렬 입출력장치가 내장된 Controller 이다.
또한 비동기통신부는 비동기 통신을 사용하는 장치와 연결되며, 본 발명에서 정한 규칙에 의해 설정 및 데이터 송신 및 수신을 한다.
또한 HDLC통신부는 HDLC통신을 사용하는 장치와 연결되며, 본 발명에서 정한 규칙에 따라 비동기 통신을 통해 제어 및 데이터 송신, 수신을 한다.
또한 RAM은 Random Access Memory(임의접근기억장치)로써 데이터를 저장하고 읽을 수 있는 장치이다.
또한 RS-232은 EIA(The Electronic Industries Alliance)가 통신용으로 규격화한 것으로 전기적 규격 및 비트배열이 정의되어 있으며 일반적으로 직렬포트라고 불리기도 한다.
또한 RS-422/485은 EIA(The Electronic Industries Alliance)의 '평형 디지털 인터페이스 회로의 전기적 특성'을 규정하는 기술 규격이며 비트배열은 임의로 할 수 있다.
또한 레이어 1 물리계층은 OSI모형중 물리 계층은 실제 장치들을 연결하기 위해 필요한 전기적, 물리적 세부 사항들을 정의한다. 예를 들어, 핀들의 배치나 전압, 전선의 명세 등이 이 계층에 포함된다. 허브(리피터)가 물리 계층의 장치이다. 기계적 구조와 전기적 특성을 규정한다.
또한 레이어 2 데이터 링크 계층은 OSI모형중 데이터 링크 계층은 포인트 투 포인트(Point to Point) 간 신뢰성있는 전송을 보장하기 위한 계층으로 CRC 기반의 오류 제어와 흐름 제어가 필요하다. 네트워크 위의 개체들 간 데이터를 전달하고, 물리 계층에서 발생할 수 있는 오류를 찾아 내고, 수정하는 데 필요한 기능적, 절차적 수단을 제공한다.
한편 본 발명은 상기의 구성부를 적용함에 있어 다양하게 변형될 수 있고 여러 가지 형태를 취할 수 있다.
그리고 본 발명은 상기의 상세한 설명에서 언급되는 특별한 형태로 한정되는 것이 아닌 것으로 이해되어야 하며, 오히려 첨부된 청구범위에 의해 정의되는 본 발명의 정신과 범위 내에 있는 모든 변형물과 균등물 및 대체물을 포함하는 것으로 이해되어야 한다.
상기와 같이 구성된 본 발명 비동기 통신과 에이치.디.엘.씨(HDLC) 동기통신 변환장치 및 그 제어방법의 작용효과를 설명하면 다음과 같다.
우선, 본 발명은 쉽게 구현이 가능한 비동기통신으로 설정명령을 통해 에이치.디.엘.씨(HDLC) 통신에 필요한 각종 설정을 할 수 있도록 하였고, 데이터의 송수신은 데이터 명령을 통해 에이치.디.엘.씨(HDLC)을 할 수 있도록 한 것이다.
이를 위해 본 발명은 먼저 비동기수신회선을 통해 비동기 데이터가 비동기통신부에 수신되면 비동기통신부는 데이터 처리/제어부에 비동기통신부에 데이터 수신 사실을 알리게 된다. 비동기통신부에 데이터가 수신되었다는 것이 확인되면 데이터 처리/제어부에서는 데이터를 비동기 통신부로부터 가져와서 송수신버퍼 RAM부의 비동기->HDLC영역에 저장한다.
사전에 정해진 규칙대로 비동기 데이터 수신이 완료되면, 데이터의 오류검사후 이상이 없을 시 비동기->HDLC영역에 저장된 비동기수신데이터를 읽어서 HDLC통신부를 통해 필요한 제어동작을 하고 송신을 개시한다. 만약 사전에 정해진 규칙을 위해하거나 데이터의 오류검사에서 이상이 발생하였을 때는 데이터 처리/제어부는 저장된 비동기수신데이터 삭제하고 HDLC통신을 개시하지 않으며 대기상태로 돌아간다.
반대로 HDLC수신회선을 통해 HDLC데이터가 수신되면 HDLC통신부는 동기통신데이터가 수신되었음을 데이터처리/제어부에 전달하고, 데이터처리/제어부는 HDLC통신부 제어신호를 통해 HDLC 수신데이터를 가져오며, 이를 송수신 버퍼 RAM의 HDLC->비동기영역에 저장한다.
HDLC의 정해진 규약대로 데이터 수신이 완료되면 데이터처리/제어부는 오류검사를 하여 이상이 없을 시 저장된 HDLC 수신 데이터를 가져와서 비동기 송신을 개시한다. 만약 HDLC의 정해진 규약에 의한 데이터 수신이나, 수신된 데이터에 오류가 있을 시, 데이터 처리/제어부는 송수신버퍼RAM에 저장된 데이터를 삭제하고, 비동기 통신을 개시하지 않는다.
이러한 기능을 위해서는 비동기통신을 하기 위한 비동기통신부의 각종 구성요소값은 기본값으로 하여 고정하고, 비동기 통신부의 수신데이터로 HDLC통신의 각종 구성요소값을 설정하여야 한다. 따라서 비동기 통신부에서는 HDLC 통신 구성요소값을 설정하는 송수신규칙과 HDLC로 전송을 하여야 하는 데이터에 대한 송수신 규칙을 가질 수 있도록 한 것이다.
이하 본원발명의 보다 구체적인 작용효과를 설명하면 다음과 같다.
CPU와 비동기통신부, HDLC통신부, 송수신 버퍼램부는 양방향 DATA BUS로 연결되어 데이터를 교환한다. 이 데이터의 교환을 위해서는 CS1 ~ 4, RD, WD등의 신호를 사용하여 각 부를 제어한다. CS1신호는 송수신버퍼 RAM부를 선택하는데 사용되고, CS2는 HDLC통신부의 제어를, CS3는 비동기통신부를 제어를, CS4는 HDLC통신부의 설정파라메터를 영구저장하는데 사용하는 Flash/EEPROM부에 사용된다.
비동기 통신부 및 HDLC통신부는 인터럽트 신호를 통해 비동기 통신부와 HDLC통신부의 데이터 송수신상태 변화 및 내부 동작상태 변화를 CPU로 표시한다. Flash/EEPROM부는 HDLC통신부의 통신설정에 대한 정보를 저장하는 곳이다. 비휘발성 메모리를 사용하여 한번 정보를 설정하면 전원이 인가되지 않거나, 재설정 하기 전까지는 계속 정보가 유지된다. 기본 설정값은 [표 3]에 나타내었다.
비동기통신의 기본 파라메터인 전기적 규칙 및 통신속도 등은 다음과 같다.
항 목 | 규 칙 |
전기적 규격 | TTL LEVEL |
비트배열 순서 및 정보 | 1 시작비트, 8 데이터 비트, 1 정지비트 |
부호화 방식 | NRZ(Non Return to Zezo) 방식 |
통신속도 | 115200 BPS |
비동기통신부에서 사용하는 프로토콜은 다음과 같이 구성된다.
항 목 | 규 칙 |
기본 구성 | HEADER(1Byte) + LENGTH(1) + DATA(1 ~ N Byte) + BCC + TERMINATOR(1B) |
HEADER | 프레임 시작 코드 0xFC : HDLC 통신의 파라메터 설정 명령 0xFD : HDLC 통신으로 송신하여야 할 데이터 명령 |
LENGTH | 0x00~0xFF : DATA(N)의 바이트 수 |
DATA | 최소 1에서 N개의 바이트로 구성이 되며, HDLC파라메터 설정일 경우의 데이터와 HDLC전송용 데이터로 구분된다. HDLC파라메터 설정일 경우는 파라메터값이 고정된 DATA위치를 가지고 있으며, 전송하여야 할 데이터일 경우는 임의의 데이터를 사용하여도 된다. |
BCC | HEADER 에서 DATA(N)까지의 XOR의 결과 |
TERMINATOR | 0xF6 : 프레임 종료 코드 |
탈출문자 | 0xF0 : LENGTH부터 BCC까지의 바이트중에서 0xF0와 같거나 큰 바이트가 있으면 두 개의 바이트로 분리하여 전송함. 송신측 : 0xF0 = 0xF0(1Byte) -> 0x00(1Byte) 2바이트 분리후 순차전송 0xF7 = 0xF0(1Byte) -> 0x07(1Byte) 2바이트 분리후 순차전송 수신측 : 0xF0가 수신될 시 데이터처리하지 않고, 다음에 수신되는 바이트와 합쳐서 데이터로 처리. 0xF0 -> 0x07 = 0xF0 + 0x07 = 0xF7로 처리 0xF0 -> 0x00 = 0xF0 + 0x00 = 0xF0로 처리 |
비동기통신부의 프로토콜중 HEADER가 0xFC로 시작하는 HDLC 통신 파라메터 설정명령의 데이터 내용은 다음과 같다. 데이터는 1번 바이트부터 16번 바이트 순서로 전송된다. 기본값은 설정명령을 하지 않아도 HDLC통신부가 동작하도록 기본으로 저장되어 있다.
항 목 | HDLC 파라메터 설정 데이터 규칙 | 기본값 | |
LENGTH | 0x10 | 0x10 | |
DATA 1 | 자국 어드레스 크기 값 : 1 = 1Byte, 2 = 2Byte | 2 | |
DATA 2 | 자국 상위 어드레스 값 : | 0x50 | |
DATA 3 | 자국 하위 어드레스 값 : DATA 1 이 1일 경우는 빈 란임. | 0xFF | |
DATA 4 | HDLC 콘트롤 바이트 크기 값 : 1 = 1Byte, 2 = 2Byte | 1 | |
DATA 5 | CRC 크기 값 : 1 = 16Bit, 2 = 32Bit CRC | 0x13 | |
DATA 6 | CRC 종류 값 : 1 = CRC16, 2 = CRC-CCITT | 2 | |
DATA 7 | 보레이트 상수값 상위 바이트 | 계산식 : | 0x01 0x7E |
DATA 8 | 보레이트 상수값 하위 바이트 | ||
DATA 9 | 부호화 방식 값 1 = NRZ, 2 = NRZI, 3 = FM1, 4 = FM0, 5 = Manchester |
2 | |
DATA 10 | Line Idle 값 : 1 = Mark , 2 = Flag | 1 | |
DATA 11 | 예비 바이트 (0x00) | 0x00 | |
DATA 12 | 예비 바이트 (0x00) | 0x00 | |
DATA 13 | 예비 바이트 (0x00) | 0x00 | |
DATA 14 | 예비 바이트 (0x00) | 0x00 | |
DATA 15 | 예비 바이트 (0x00) | 0x00 | |
DATA 16 | 예비 바이트 (0x00) | 0x00 |
비동기통신부의 프로토콜중 HEADER가 0xFD로 시작하는 HDLC 통신 데이터 명령의 데이터 내용은 다음과 같다. 데이터는 1번 바이트부터 N(256)번 바이트 순서로 전송된다.
항 목 | HDLC 전송 데이터 규칙 |
LENGTH | 0x04 ~ 0xFF ( 4 ~ 255 ) |
DATA 1 | 대국 상위 어드레스 값 |
DATA 2 | 대국 하위 어드레스 값 |
DATA 3 | HDLC 콘트롤 상위 바이트 |
DATA 4 | HDLC 콘트롤 하위 바이트 |
DATA 5 | HDLC 전송 데이터 1 번 바이트 |
DATA 6 | HDLC 전송 데이터 2 번 바이트 |
DATA 7 | HDLC 전송 데이터 3 번 바이트 |
. | . |
. | . |
. | . |
DATA 255 | HDLC 전송 데이터 250 번 바이트 |
상기 본 발명 비동기통신과 통신데이터의 처리 흐름도는 [도 8]에 나타내었다. 전원이 인가되어 프로그램이 시작되면 송수신버퍼램부, HDLC통신부, 비동기통신부를 초기화 후 비동기통신으로부터 통신규칙에 맞는 프레임이 수신되었는지를 검사하고, HDLC 통신규칙에 맞는 프레임이 수신되었는 지를 검사한다.
만약 비동기통신 규칙에 맞는 프레임이 비동기통신부를 통해 수신되었다면, 명령의 종류를 나타내는 Flag를 검사하여 HDLC를 재설정하라는 명령이면 HDLC통신부를 다시 초기화한다. , 만약 HDLC 데이터 송신명령이라면 A:H 영역에 저장된 데이터를 가져와서, HDLC 프레임 구조에 맞게 재조립 후 HDLC 통신부를 통해 조립된 프레임을 송신한다.
HDLC통신 규칙에 맞는 프레임이 HDLC 통신부로 수신되었다면, H:A영역에 저장된 데이터를 추출하여 비동기통신 프레임에 맞게 재조립하고, 비동기통신부를 통해 조립된 프레임을 송신한다.
비동기 통신부 및 HDLC통신부의 데이터 수신 및 처리는 인터럽트 루틴에서 수행한다.두 통신부를 위한 수신인터럽트는 각각 별개로 운영된다.
비동기 통신부의 인터럽트를 이용한 수신처리는 [도 9]와 같다. 문자가 수신되어 인터럽트가 발생되면 수신버퍼에서 문자를 읽어 헤더인지 터미네이터 인지 검사를 한다. 만약 헤더이면 각종 수신변수를 초기화하여 프레임의 시작을 알린다. 이후 수신되는 문자는 데이터이므로 계속 수신을 한다. 만약 데이터중에서 탈출문자(0xF0)가 존재하면 탈출문자 플래그를 설정하고 다음 수신되는 문자와 결합하여 데이터로 저장한다. 마지막으로 터미네이터문자가 수신되면 저장된 데이터를 XOR하여 BCC를 계산한다. 계산한 BCC와 수신한 BCC가 일치하면 헤더종류에 따라 헤더의 종류 Flag를 설정하고 프레임 수신을 설정한 후 종료한다. 만약 BCC가 일치하지 않으면 A:H영역에 저장된 데이터를 삭제하고 종료한다.
HDLC통신부는 처리도 비동기통신부와 유사하다. [도 10]에 표현한 것 처럼 처음 FCS 문자가 수신되면 프레임 시작 플래그를 설정하고 HDLC에서 사용하는 변수를 초기화하여 프레임을 시작한다. 바로 이어 오는 문자 인터럽트가 발생하면 자국어드레스와 비교하여 일치하면 나머지 데이터들을 계속 수신하여 H:A영역에 저장한다. FCS문자가 다시 수신되면 H:A영역에 저장된 데이터의 CRC를 계산하여 수신된 CRC와 계산된 CRC가 일치하면 프레임 수신 플래그를 설정한다.
만약 프레임이 시작되지 않았거나 자국어드레스가 일치하지 않을 때 수신되는 문자는 모두 버리고 종료한다. 또한 CRC가 일치하지 않을 시 H:A영역에 저장된 데이터는 초기화하고 종료한다.
본 발명 비동기 통신과 에이치.디.엘.씨(HDLC) 동기통신 변환장치 및 그 제어방법의 기술적 사상은 실제로 동일결과를 반복 실시 가능한 것으로, 특히 이와 같은 본원발명을 실시함으로써 기술발전을 촉진하여 산업발전에 이바지할 수 있어 보호할 가치가 충분히 있다.
<도면의 주요 부분에 대한 부호의 설명>
10: 통신변환장치
11: MCU(Micro Controller Unit)
12: 데이터처리/제어부
13: Flash/EEPROM
14: 송수신버퍼RAM부
20: 비동기통신부
21: HDLC통신부
10: 통신변환장치
11: MCU(Micro Controller Unit)
12: 데이터처리/제어부
13: Flash/EEPROM
14: 송수신버퍼RAM부
20: 비동기통신부
21: HDLC통신부
Claims (8)
- 삭제
- 삭제
- 삭제
- 비동기통신부(20)와 HDLC통신부(21)에 대해 각각 규정된 프로토콜이 수신되었는지 통신변환장치(10)가 판단하는 단계; 비동기통신부에서 문자가 수신되었을 때 프로토콜 규칙에 맞는 데이터인지 검사하는 단계: 및 HDLC통신부에서 문자가 수신되었을 때 프로토콜 규칙에 맞는지 검사하는 단계;가 포함된 비동기 통신과 에이치.디.엘.씨(HDLC) 동기통신 변환장치의 제어방법에 있어서,
비동기 통신을 HDLC통신으로 변환하기 위하여 설정명령 및 데이터 명령으로 구분하여 HDLC통신부를 설정하는 설정명령 프로토콜과, 데이터의 송신 및 수신을 하는 데이터 명령을 처리하는 프로토콜 및 프로토콜의 헤더를 정확히 송신 및 수신할 수 있는 탈출문자를 처리함을 특징으로 하는 비동기 통신과 에이치.디.엘.씨(HDLC) 동기통신 변환장치의 제어방법.
- 삭제
- 청구항 4 에 있어서,
상기 비동기통신부(20)와 HDLC통신부(21)에 대해 각각 규정된 프로토콜이 수신되었는지 통신변환장치(10)가 판단하는 단계는,
전원이 인가되어 프로그램이 시작되면 송수신버퍼램부, HDLC통신부, 비동기통신부를 초기화 후 비동기통신으로부터 통신규칙에 맞는 프레임이 수신되었는지를 검사하고, HDLC 통신규칙에 맞는 프레임이 수신되었는 지를 검사하는 단계;
만약 비동기통신 규칙에 맞는 프레임이 비동기통신부를 통해 수신되었다면, 명령의 종류를 나타내는 Flag를 검사하여 HDLC를 재설정하라는 명령이면 HDLC통신부를 다시 초기화하고, 만약 HDLC 데이터 송신명령이라면 A:H 영역에 저장된 데이터를 가져와서, HDLC 프레임 구조에 맞게 재조립 후 HDLC 통신부를 통해 조립된 프레임을 송신하는 단계;
HDLC통신 규칙에 맞는 프레임이 HDLC 통신부로 수신되었다면, H:A영역에 저장된 데이터를 추출하여 비동기통신 프레임에 맞게 재조립하고, 비동기통신부를 통해 조립된 프레임을 송신하는 단계; 및
비동기 통신부 및 HDLC통신부의 데이터 수신 및 처리는 인터럽트 루틴에서 수행하고, 두 통신부를 위한 수신인터럽트는 각각 별개로 운영하는 단계;가 포함됨을 특징으로 하는 비동기 통신과 에이치.디.엘.씨(HDLC) 동기통신 변환장치의 제어방법.
- 청구항 4 에 있어서,
상기 비동기통신부에서 문자가 수신되었을 때 프로토콜 규칙에 맞는 데이터인지 검사하는 단계는,
문자가 수신되어 인터럽트가 발생되면 수신버퍼에서 문자를 읽어 헤더인지 터미네이터 인지 검사를 하되, 만약 헤더이면 각종 수신변수를 초기화하여 프레임의 시작을 알리는 단계;
이후 수신되는 문자는 데이터이므로 계속 수신을 하되, 만약 데이터중에서 탈출문자(0xF0)가 존재하면 탈출문자 플래그를 설정하고 다음 수신되는 문자와 결합하여 데이터로 저장하는 단계; 및
이어서 터미네이터문자가 수신되면 저장된 데이터를 XOR하여 BCC를 계산하고, 계산한 BCC와 수신한 BCC가 일치하면 헤더종류에 따라 헤더의 종류 Flag를 설정하고 프레임 수신을 설정한 후 종료하되, 만약 BCC가 일치하지 않으면 A:H영역에 저장된 데이터를 삭제하고 종료하는 단계;가 포함됨을 특징으로 하는 비동기 통신과 에이치.디.엘.씨(HDLC) 동기통신 변환장치의 제어방법.
- 청구항 4 에 있어서,
상기 HDLC통신부에서 문자가 수신되었을 때 프로토콜 규칙에 맞는지 검사하는 단계는,
처음 FCS 문자가 수신되면 프레임 시작 플래그를 설정하고 HDLC에서 사용하는 변수를 초기화하여 프레임을 시작하는 단계;
바로 이어 오는 문자 인터럽트가 발생하면 자국어드레스와 비교하여 일치하면 나머지 데이터들을 계속 수신하여 H:A영역에 저장하는 단계;
FCS문자가 다시 수신되면 H:A영역에 저장된 데이터의 CRC를 계산하여 수신된 CRC와 계산된 CRC가 일치하면 프레임 수신 플래그를 설정하는 단계; 및
만약 프레임이 시작되지 않았거나 자국어드레스가 일치하지 않을 때 수신되는 문자는 모두 버리고 종료하고, 또한 CRC가 일치하지 않을 시 H:A영역에 저장된 데이터는 초기화하고 종료하는 단계;가 포함됨을 특징으로 하는 비동기 통신과 에이치.디.엘.씨(HDLC) 동기통신 변환장치의 제어방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140108622A KR101572810B1 (ko) | 2014-08-20 | 2014-08-20 | 비동기 통신과 에이치.디.엘.씨(hdlc) 동기통신 변환장치의 제어방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140108622A KR101572810B1 (ko) | 2014-08-20 | 2014-08-20 | 비동기 통신과 에이치.디.엘.씨(hdlc) 동기통신 변환장치의 제어방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101572810B1 true KR101572810B1 (ko) | 2015-12-14 |
Family
ID=55020948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140108622A KR101572810B1 (ko) | 2014-08-20 | 2014-08-20 | 비동기 통신과 에이치.디.엘.씨(hdlc) 동기통신 변환장치의 제어방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101572810B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112882976A (zh) * | 2020-12-11 | 2021-06-01 | 南京交通职业技术学院 | 一种降低单片机通信占用内存的方法 |
CN113190349A (zh) * | 2021-04-29 | 2021-07-30 | 汕头大学 | 主机任务异步执行的方法、系统及计算机存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005072950A (ja) * | 2003-08-25 | 2005-03-17 | Nec Saitama Ltd | Hdlc監視回路及びフレームリレー監視回路 |
-
2014
- 2014-08-20 KR KR1020140108622A patent/KR101572810B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005072950A (ja) * | 2003-08-25 | 2005-03-17 | Nec Saitama Ltd | Hdlc監視回路及びフレームリレー監視回路 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112882976A (zh) * | 2020-12-11 | 2021-06-01 | 南京交通职业技术学院 | 一种降低单片机通信占用内存的方法 |
CN112882976B (zh) * | 2020-12-11 | 2024-04-26 | 南京交通职业技术学院 | 一种降低单片机通信占用内存的方法 |
CN113190349A (zh) * | 2021-04-29 | 2021-07-30 | 汕头大学 | 主机任务异步执行的方法、系统及计算机存储介质 |
CN113190349B (zh) * | 2021-04-29 | 2023-09-01 | 汕头大学 | 主机任务异步执行的方法、系统及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7733902B2 (en) | Conveying protocol units for portable electronic objects via a protocol for microcomputer peripherals | |
US5617419A (en) | Adapting switch port and work station communication adapters to data frame types with disparate formats and data rates | |
EP3820110A1 (en) | Data sending method, data receiving method, device, and system | |
US11023412B2 (en) | RDMA data sending and receiving methods, electronic device, and readable storage medium | |
CN106603506B (zh) | 基于多现场总线的数据通信方法、设备及系统 | |
US20120327950A1 (en) | Method for Transmitting Data Packets | |
US6741566B1 (en) | Remote management ethernet network and device | |
CN109218154A (zh) | 一种基于fpga的千兆以太网到slip的转换系统 | |
KR101572810B1 (ko) | 비동기 통신과 에이치.디.엘.씨(hdlc) 동기통신 변환장치의 제어방법 | |
US20030014579A1 (en) | Communication controller and method of transforming information | |
CN104601206B (zh) | 用于控制主机和控制器之间的消息的方法和装置 | |
CN102404414A (zh) | 基于mmc/sd接口的以太网通信系统及方法 | |
CN109428690B (zh) | 以太网络的连线方法及以太网络装置 | |
CN109902055B (zh) | 一种适用窄带数据网络的slip编码数据流传输方法 | |
CN113498597A (zh) | 一种基于PCIe的数据传输方法及装置 | |
CN109359071A (zh) | 模块之间数据通信的方法 | |
CN109428676B (zh) | 一种前向纠错编解码模式的同步方法及装置 | |
US20170249278A1 (en) | Stack timing adjustment for serial communications | |
EP2420936B1 (en) | Protocol conversion Communication Device | |
CN101197742A (zh) | 设备间通过以太网接口传递额外数据的系统及方法 | |
WO2007036128A1 (fr) | Interface bts-bsc et procede pour detecter l'interface | |
CN107342920B (zh) | 物联网网关接入设备及其数据交互方法 | |
CN108347292A (zh) | 一种物理编码子层的数据编解码方法和装置 | |
WO2005027463A1 (en) | Checksum determination | |
CN112559422A (zh) | 基于usb差分信号线的编解码实现方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20181127 Year of fee payment: 4 |