KR102401812B1 - 로봇제어를 위한 고속 시리얼 인터페이스 장치 및 그 인터페이스 방법 - Google Patents
로봇제어를 위한 고속 시리얼 인터페이스 장치 및 그 인터페이스 방법 Download PDFInfo
- Publication number
- KR102401812B1 KR102401812B1 KR1020200180130A KR20200180130A KR102401812B1 KR 102401812 B1 KR102401812 B1 KR 102401812B1 KR 1020200180130 A KR1020200180130 A KR 1020200180130A KR 20200180130 A KR20200180130 A KR 20200180130A KR 102401812 B1 KR102401812 B1 KR 102401812B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- clock
- port
- output
- address
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Fuzzy Systems (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Information Transfer Systems (AREA)
Abstract
본 발명은 데이지체인 형식으로 구성된 다수의 직렬 모듈을 통합 제어하기 위한 모듈 간 시리얼 인터페이스의 통신 속도를 높일 수 있도록 한 로봇제어를 위한 고속 시리얼 인터페이스 장치 및 방법에 관한 것으로, 데이지 체인 방식으로 복수의 모듈을 구성하더라도 제어부가 전송하는 데이터를 충돌없이 고속으로 전달할 수 있도록 인터페이스 장치를 비교적 간단하게 구성함으로써 이러한 인터페이스 장치를 구비한 모듈을 간단하고 안정적이며 유연하게 연결하면서도 복수 모듈 전체에 대한 전송 속도를 극대화할 수 있는 효과가 있다. 또한, 복수의 모듈을 직렬 방식으로 연결하고 이를 단일 제어부가 제어하는 구성에서 연결되는 모듈의 수가 대단히 많더라도 고속으로 제어 정보를 전달함과 아울러 원하는 모듈의 제어 상태를 판독할 수 있도록 함으로써 간단하고 안정적이며 유연한 모듈 연결 방식을 유지하고 전송 속도를 높이면서도 정확한 제어가 가능한 효과가 있다.
Description
본 발명은 로봇제어를 위한 고속 시리얼 인터페이스 장치 및 방법에 관한 것으로, 데이지체인 형식으로 구성된 다수의 직렬 모듈을 통합 제어하기 위한 모듈 간 시리얼 인터페이스의 통신 속도를 높일 수 있도록 한 로봇제어를 위한 고속 시리얼 인터페이스 장치 및 방법에 관한 것이다.
로봇 제어, 공장 제어, 전광판 제어 등 유사한 작업을 수행하는 복수의 모듈(혹은 모듈 기능을 수행하는 직접 회로(IC)칩)로 시스템을 구성할 경우 회로 연결을 간단하게 하기 위하여 데이지 체인 방식의 통신 선로를 구성한다.
모듈과 모듈 사이의 직렬 통신은 통신 방식의 고속화에 따라 비교적 높은 통신 속도를 지원하고 있다. 특히, 1개의 선로를 이용하는 저속의 통신 방식이 아닌 클럭과 데이터로 구분된 2개의 선로를 이용하여 직렬 데이터를 전송하는 방식은 대단히 고속으로 동작할 수 있다.
하지만 일정 수준 이상의 모듈들이 연결되는 경우 각 모듈이 수신된 데이터를 확인하고 이를 다시 다음 모듈에 전송하는 과정에서 상당한 지연이 발생하게 된다.
도 1은 일반적인 데이지체인 방식의 모듈 연결 구성으로서, 도시된 바와 같이 하나의 제어부(10)가 데이지체인 방식으로 연결된 복수의 모듈(20)에 순차적으로 데이터를 전달할 수 있다.
도시된 예는 1024개의 모듈이 직렬 연결된 데이지 체인 구성으로서, 그 동작 방식은 다음과 같다.
먼저 제어부(10)가 제 1 모듈(20-1)에 데이터를 전송하면 해당 제 1 모듈(20-1)은 해당 데이터를 수신하여 해당 데이터에 포함된 주소 정보가 자신에게 이미 할당되어 있는 주소인지 확인하고, 동일할 경우 자신의 제어 신호로 판단하여 해당되는 작업을 수행한다.
만일 제 1 모듈(20-1)이 수신한 데이터의 주소가 자신의 주소가 아닌 경우 다음번 제 2 모듈에 데이터를 그대로 전송한다.
이러한 과정을 반복적으로 수행하게 되는데, 만일 제어부(10)가 전달하고자 하는 데이터의 목적지가 가장 마지막에 있는 1024번 모듈(20-1024)인 경우 상당한 지연이 발생하게 된다.
도 2는 도 1과 같은 전통적인 데이터체인 방식의 모듈 구성에서 제어부(10)가 전송한 데이터가 마지막 모듈에 도달하는 과정을 보인 신호 타이밍도이다.
도시된 바와 같이 하나의 모듈이 데이터를 수신하여 자신을 목표로 하는 제어 명령인지 확인한 후 아니라고 판단하여 다음번 모듈에 해당 수신 데이터를 전달하기 위해서 발생되는 출력 대기 시간(Tw)과 주소 및 데이터를 전송하기 위한 지연이 누적되면 상당한 지연이 발생하게 된다.
예컨대 클럭 주파수가 1Mhz이고, 한 비트의 주기가 1us이며, 주소 비트가 10비트이고, 데이터 비트가 10비트이며 출력 대기 시간(Tw)이 4클럭(4us)인 경우 제어 신호가 마지막 모듈(20-1024)에 도달하기까지 24.567ms가 소요된다.
따라서, 고속 제어가 필요한 시스템에서는 그 구성이 대단히 간편함에도 불구하고 이러한 전통적인 데이지 체인 구조를 이용하기가 어렵다.
하지만 구성과 모듈 간 결합과 분리가 용이하고 유연성이 높은 모듈 연결 구성이라는 점에서 이러한 데이지 체인을 고속이거나 안정성을 요구하는 구성에도 적용하고자 하는 요구가 높아지고 있는 실정이다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 데이지체인 방식으로 복수의 모듈을 구성하더라도 제어부가 전송하는 데이터를 충돌없이 고속으로 전달할 수 있도록 함으로써 간단하고 안정적이며 유연한 모듈 연결 방식을 유지하면서 전송 속도를 극대화할 수 있는 로봇제어를 위한 고속 시리얼 인터페이스 장치 및 그 인터페이스 방법을 제공하는 것이다.
본 발명의 다른 목적은 복수의 모듈을 직렬 방식으로 연결하고 이를 단일 제어부가 제어하는 구성에서 연결되는 모듈의 수가 대단히 많더라도 고속으로 제어 정보를 전달함과 아울러 원하는 모듈의 제어 상태를 판독할 수 있도록 함으로써 간단하고 안정적이며 유연한 모듈 연결 방식을 유지하고 전송 속도를 높이면서도 정확한 제어가 가능한 로봇제어를 위한 고속 시리얼 인터페이스 장치 및 그 인터페이스 방법을 제공하는 것이다.
나아가, 본 발명의 또 다른 목적은 로봇 제어와 같은 정확한 제어 명령 전달이 필수적인 경우 준비 모드 상태에서의 데이터 전달과 실행 모드를 구분하도록 함으로써 데이터 전송 후 해당 데이터 전송의 무결성을 확인하고 제어를 수행하도록 하되 그에 따른 전송 속도를 고속으로 유지할 수 있도록 하는 로봇제어를 위한 고속 시리얼 인터페이스 장치 및 그 인터페이스 방법을 제공하는 것이다.
본 발명의 일 실시예에 따른 로봇제어를 위한 고속 시리얼 인터페이스 장치는 하나의 제어부와 직렬 방식으로 순차 연결되며 각각은 시리얼 인터페이스 방식으로 통신을 수행하는 복수의 모듈에 각각 구성되는 인터페이스 장치로서, 주소 정보를 저장하고 입력 클럭 포트와 입력 데이터 포트로부터 각각 수신되는 클럭 및 데이터 신호에 맞추어 데이터를 수신하며, 수신된 데이터에 주소 정보가 포함된 경우 저장된 자신의 주소에 맞는 데이터를 선별하는 직렬 인터페이스 처리부와; 초기 기동 시 주소 설정 모드로 동작하여 입력 클럭 포트와 입력 데이터 포트를 통해 수신한 데이터에 포함된 이전 모듈의 주소 정보를 기반으로 자신의 주소 정보를 생성하여 상기 직렬 인터페이스 처리부에 주소 정보로 저장하고, 클럭 신호와 자신의 주소 정보를 포함하는 데이터 신호를 생성한 후 주소 설정 모드를 중단하고 출력 선택 신호를 전환하여 고속 전송 모드를 시작하는 초기 설정 및 고속 전송 관리부와; 상기 출력 선택 신호에 의한 모드에 따라 입력 클럭 포트 및 입력 데이터 포트를 통해 수신한 클럭 및 데이터 신호 세트와 상기 초기 설정 및 고속 전송 관리부가 생성한 클럭 및 데이터 신호 세트 중 하나를 출력 클럭 포트와 출력 데이터 포트로 출력하는 출력 신호 선택부를 포함한다.
일례로서, 초기 설정 및 고속 전송 관리부는 주소 설정 모드에서, 입력 클럭 포트와 입력 데이터 포트의 전위가 설정된 시간 이상 지속적으로 하이 레벨이거나 전원 전압인 경우 제어부에 직접 연결된 최초 모듈로 판정하여 기준 주소를 생성할 수 있다.
일례로서, 출력 신호 선택부는 입력 클럭 포트와 입력 데이터 포트를 통해 수신한 클럭 및 데이터 신호를 버퍼링하여 출력 클럭 포트와 출력 데이터 포트로 출력할 수 있다.
일례로서, 출력 신호 선택부는 고속 전송 설정 신호 활성화 시 입력 클럭 포트와 입력 데이터 포트를 통해 수신한 클럭 및 데이터 신호를 각각 버퍼 체인에 인가하되 클럭과 데이터 신호가 정확히 동기화되도록 상기 각 버퍼 체인을 구성하는 복수 버퍼들 중 하나의 출력을 선택하여 출력 클럭 포트와 출력 데이터 포트로 출력할 수 있다.
일례로서, 직렬 인터페이스 처리부는 수신된 데이터에 포함된 주소 정보가 자신의 주소 정보이며 수신된 데이터가 데이터 리드를 요구하는 경우 자신의 설정 정보를 수집한 리드 정보 데이터를 생성하고 자신의 주소와 상기 리드 정보가 포함된 데이터 신호와 클럭을 생성하고 자신이 생성한 데이터 신호와 클럭을 출력하도록 하는 출력 선택 신호를 상기 출력 신호 선택부에 제공하며, 상기 출력 신호 선택부는 상기 출력 선택 신호에 따라 상기 직렬 인터페이스 처리부가 제공하는 클럭과 상기 리드 정보가 포함된 데이터 신호를 출력 클럭 포트와 출력 데이터 포트로 출력할 수 있다.
본 발명의 다른 실시예에 따른 로봇제어를 위한 고속 시리얼 인터페이스 장치의 인터페이스 방법은 하나의 제어부와 직렬 방식으로 순차 연결되며 각각은 시리얼 인터페이스 방식으로 통신을 수행하는 복수의 모듈에 각각 구성되는 인터페이스 장치의 인터페이스 방법으로서, 초기 기동 시 주소 설정 모드로 동작하여 구성된 입력 클럭 포트와 입력 데이터 포트를 통해 클럭과 데이터를 수신하는 데이터 수신 단계와, 상기 데이터 수신 단계에서 수신된 데이터에 이전 모듈의 주소 정보가 포함되는 경우 해당 주소 정보를 기준으로 자신의 주소 정보를 생성하고 이를 기억하는 주소 설정 단계와, 상기 생성된 자신의 주소 정보를 포함하는 데이터 신호와 클럭 신호를 생성하여 구성된 출력 클럭 포트와 출력 데이터 포트를 통해 다음 모듈로 출력하는 주소 정보 출력 단계와, 주소 정보 출력 단계 후에 주소 설정 모드를 중단하고 고속 전송 모드를 시작하여 입력 클럭 포트와 입력 데이터 포트를 통해 수신한 이전 모듈의 클럭 신호와 데이터 신호를 버퍼링하여 출력 클럭 포트와 출력 데이터 포트를 통해 다음 모듈로 출력하는 고속 데이터 전송 단계와, 상기 고속 전송 모드에서 입력 클럭 포트와 입력 데이터 포트로부터 각각 수신되는 클럭 및 데이터 신호에 맞추어 데이터를 수신하고, 수신된 데이터에 주소 정보가 포함된 경우 저장된 자신의 주소에 맞는 데이터를 선별하는 제어 정보 수신 단계를 포함한다.
일례로서, 주소 설정 단계는 상기 데이터 수신 단계에서 입력 클럭 포트와 입력 데이터 포트의 전위가 설정된 시간 이상 지속적으로 하이 레벨이거나 전원 전압인 경우 제어부에 직접 연결된 최초 모듈로 판정하여 기준 주소를 생성하는 단계를 더 포함할 수 있다.
일례로서, 고속 데이터 전송 단계는 입력 클럭 포트와 입력 데이터 포트를 통해 수신한 클럭 및 데이터 신호를 각각 버퍼 체인에 인가하되 클럭과 데이터 신호가 정확히 동기화되도록 상기 각 버퍼 체인을 구성하는 복수 버퍼들 중 하나의 출력을 선택하여 출력 클럭 포트와 출력 데이터 포트로 출력하는 단계를 더 포함할 수 있다.
일례로서, 제어부와 연결된 복수의 직렬 모듈 중 마지막 모듈은 다시 제어부와 직렬 연결되고, 상기 제어 정보 수신 단계에서, 자신의 주소에 맞는 데이터가 데이터 리드를 요구하는 제어 정보인 경우 자신의 설정 정보를 수집한 리드 정보 데이터를 생성하고 자신의 주소와 상기 리드 정보가 포함된 데이터 신호와 클럭을 생성하여 출력 클럭 포트와 출력 데이터 포트로 출력하는 단계를 더 포함할 수 있다.
본 발명의 실시예에 따른 로봇제어를 위한 고속 시리얼 인터페이스 장치 및 그 인터페이스 방법은 데이지 체인 방식으로 복수의 모듈을 구성하더라도 제어부가 전송하는 데이터를 충돌없이 고속으로 전달할 수 있도록 인터페이스 장치를 비교적 간단하게 구성함으로써 이러한 인터페이스 장치를 구비한 모듈을 간단하고 안정적이며 유연하게 연결하면서도 복수 모듈 전체에 대한 전송 속도를 극대화할 수 있는 효과가 있다.
또한, 복수의 모듈을 직렬 방식으로 연결하고 이를 단일 제어부가 제어하는 구성에서 연결되는 모듈의 수가 대단히 많더라도 고속으로 제어 정보를 전달함과 아울러 원하는 모듈의 제어 상태를 판독할 수 있도록 함으로써 간단하고 안정적이며 유연한 모듈 연결 방식을 유지하고 전송 속도를 높이면서도 정확한 제어가 가능한 효과가 있다.
부가적으로, 이러한 인터페이스 장치를 구비한 모듈을 적용할 경우 로봇 제어와 같은 정확한 제어 명령 전달이 필수적인 상황에서 데이터 전송 후 해당 데이터 전송의 무결성을 확인하고 별도의 실행을 제어할 수 있어 로봇에 대한 안전한 운영가 가능한 효과가 있다.
도 1은 종래의 데이지 체인 방식의 모듈 연결 구성의 예시도.
도 2는 도 1의 구성에 대한 각 모듈별 신호 타이밍도.
도 3은 본 발명의 일 실시예에 따른 인터페이스 장치 구성도.
도 4는 본 발명의 일 실시예에 따른 인터페이스 장치를 구비한 모듈별 주소 설정 신호 타이밍도.
도 5는 본 발명의 일 실시예에 따른 인터페이스 장치의 출력 신호 선택부 구성 예시도.
도 6은 본 발명의 일 실시예에 따른 고속 전송 모드의 입출력 타이밍도.
도 7은 본 발명의 일 실시예에 따른 주소 설정 모드 동작 과정을 설명하기 위한 순서도,
도 8은 본 발명의 일 실시예에 따른 고속 전송 모드 동작 과정을 설명하기 위한 순서도.
도 9는 본 발명의 다른 실시예에 따른 모듈 연결 구성도.
도 10 및 도 11은 본 발명의 다른 실시예에 따른 인터페이스 장치의 구성 및 리드 제어에 따른 동작 방식을 설명하기 위한 구성도.
도 12는 본 발명의 다른 실시예에 따른 리드 제어 신호 수신 및 출력 신호를 보인 입출력 신호 파형도.
도 13은 본 발명의 다른 실시예에 따른 인터페이스 과정을 설명하기 위한 순서도.
도 2는 도 1의 구성에 대한 각 모듈별 신호 타이밍도.
도 3은 본 발명의 일 실시예에 따른 인터페이스 장치 구성도.
도 4는 본 발명의 일 실시예에 따른 인터페이스 장치를 구비한 모듈별 주소 설정 신호 타이밍도.
도 5는 본 발명의 일 실시예에 따른 인터페이스 장치의 출력 신호 선택부 구성 예시도.
도 6은 본 발명의 일 실시예에 따른 고속 전송 모드의 입출력 타이밍도.
도 7은 본 발명의 일 실시예에 따른 주소 설정 모드 동작 과정을 설명하기 위한 순서도,
도 8은 본 발명의 일 실시예에 따른 고속 전송 모드 동작 과정을 설명하기 위한 순서도.
도 9는 본 발명의 다른 실시예에 따른 모듈 연결 구성도.
도 10 및 도 11은 본 발명의 다른 실시예에 따른 인터페이스 장치의 구성 및 리드 제어에 따른 동작 방식을 설명하기 위한 구성도.
도 12는 본 발명의 다른 실시예에 따른 리드 제어 신호 수신 및 출력 신호를 보인 입출력 신호 파형도.
도 13은 본 발명의 다른 실시예에 따른 인터페이스 과정을 설명하기 위한 순서도.
본 발명에서 사용되는 기술적 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 발명에서 사용되는 기술적 용어는 본 발명에서 특별히 다른 의미로 정의되지 않는 한 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 발명에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 발명에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함한다. 본 발명에서 "구성된다" 또는 "포함한다" 등의 용어는 발명에 기재된 여러 구성 요소들 또는 여러 단계를 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 발명에서 사용되는 제 1, 제 2 등과 같이 서수를 포함하는 용어는 구성 요소들을 설명하는데 사용될 수 있지만 구성 요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성 요소는 제 2 구성 요소로 명명될 수 있고, 유사하게 제 2 구성 요소도 제 1 구성 요소로 명명될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다. 나아가, 본 발명의 각 구성부는 디지털 논리 동작 수행을 위한 수동 소자나 능동 소자의 조합에 따른 집적 회로로 구성될 수 있으며, 필요에 따라 제어를 위한 마이크로 콘트롤러나 그에 대응되는 제어 수단의 조합으로 구성되는 물리적 전자 장치로 구성될 수 있다. 물론 이러한 인터페이스 구성을 별도로 구분하여 설명하고 있으나 이는 발명의 이해 편의를 위한 것으로서, 실질적으로는 단일 집적회로의 일부로서 하나의 칩 내부에 구성될 수도 있다.
먼저, 본 발명은 두 가지 실시예를 기준으로 설명하는데, 기본적인 구성은 데이지 체인 구성을 그대로 이용하면서도 입력 포트로 수신한 클럭과 데이터를 고속으로 출력 포트에 버퍼링하여 전달하도록 함으로써 복수의 모듈들이 데이지체인 방식으로 연결되어 있더라도 마지막 모듈까지 제어부의 제어 명령이 빠르게 전달될 수 있도록 한다. 이러한 기본적인 구성을 사용 목적에 따라 좀 더 안전하게 활용하기 위하여 기본 구성에 부가 구성을 더한 실시예는 데이지 체인으로 구성된 모듈 중 마지막 모듈의 출력을 제어부에 연결하여 링형으로 구성하고 제어부가 특정 모듈의 설정 상태를 리드할 수 있도록 한 것으로, 이를 통해서 제어부가 각 모듈의 제어 상태를 확인하여 좀 더 안전하고 명확하게 복수 모듈들을 제어할 수 있도록 하되, 이 경우에도 고속 전송 방식을 유지하도록 하여 신속한 제어명령 전달과 특정 모듈의 제어 상태 리딩이 가능하도록 한다.
도 3 내지 도 8은 본 발명의 일 실시예에 따른 고속 전송 기능을 부가한 인터페이스부의 동작 과정을 보인 것이다. 이 경우 제어부와 해당 인터페이스부를 구비한 각 모듈의 연결은 도 1에 도시한 기존 데이지 체인 구성과 동일하다.
도 3은 본 발명의 일 실시예에 따른 인터페이스 장치(100) 구성도이다. 실질적으로 해당 인터페이스 장치(100)는 각 모듈의 시리얼 통신을 위한 입출력을 관리하는 부분에 해당하는 것으로, 도시된 직렬 인터페이스 처리부(110)는 수신 데이터를 복원하여 미리 설정된 자신의 주소에 대응되는 데이터를 선별한 다음 선별된 데이터를 모듈에 구성된 제어부(미도시)에 제공할 수 있다.
이러한 인터페이스 장치(100)가 포함된 복수의 모듈들은 하나의 제어부(예컨대 1번 모듈과 연결된 마이크로 콘크롤러 유닛(MCU))와 직렬 방식으로 순차 연결되며 각각은 시리얼 인터페이스 방식으로 통신을 수행한다.
인터페이스 장치(100)의 내부 구성은 도시된 바와 같이 주소 정보를 저장하고 입력 클럭 포트(RXCK)와 입력 데이터 포트(RXDA)로부터 각각 수신되는 클럭 및 데이터 신호에 맞추어 데이터를 수신하며, 수신된 데이터에 주소 정보가 포함된 경우 저장된 자신의 주소에 맞는 데이터를 선별하는 직렬 인터페이스 처리부(100)와, 초기 기동 시 주소 설정 모드로 동작하여 입력 클럭 포트(RXCK)와 입력 데이터 포트(RXDA)를 통해 수신한 데이터에 포함된 이전 모듈의 주소 정보를 기반으로 자신의 주소 정보를 생성하여 상기 직렬 인터페이스 처리부(110)에 주소 정보(ADD)로 저장하고, 클럭 신호(ADDCK)와 자신의 주소 정보를 포함하는 데이터 신호(ADDDA)를 생성한 후 주소 설정 모드를 중단하고 출력 선택 신호(OUTSEL)를 전환하여 고속 전송 모드를 시작하는 초기 설정 및 고속 전송 관리부(120)와, 출력 선택 신호(OUTSEL)에 의한 모드에 따라 입력 클럭 포트(RXCK) 및 입력 데이터 포트(RXDA)를 통해 수신한 클럭 및 데이터 신호 세트와 초기 설정 및 고속 전송 관리부(120)가 생성한 클럭(ADDCK) 및 데이터 신호(ADDDA) 세트 중 하나를 출력 클럭 포트(TXCK)와 출력 데이터 포트(TXDA)로 출력하는 출력 신호 선택부(130)를 포함한다.
이와 같이, 본 발명의 일 실시예에 따른 인터페이스 장치(100)는 초기 기동시 주소 설정 모드로 동작하여 주소 설정 정보를 순차적으로 전파하는 방식으로 각 모듈의 주소를 미리 설정된 순서로 지정 및 기억하도록 하고, 주소 설정 모드가 완료된 후에는 고속 전송 모드로 동작한다.
주소 설정 모드에서는 도 4와 같이, 초기 설정 및 고속전송 관리부(120)가 생성하는 클럭 신호(ADDCK)와 자신의 주소 정보를 포함하는 데이터 신호(ADDDA)는 출력 신호 선택부(130)를 통해서 후속 모듈의 인터페이스 장치(100)로 전달된다.
이러한 과정은 만일 주소 길이로서 10비트를 이용할 경우(1024개 주소 설정) 주소 전달을 위한 10비트의 지연과 각 모듈의 출력 대기 시간(Tw)이 더해진 시간이 소요된다. 다만, 초기 기동 시 한번한 동작하기 때문에 지속적인 제어 지연에 대한 부담은 발생하지 않는다.
예컨대 클럭 주파수가 1Mhz이고, 한 비트의 주기가 1us이며, 주소 비트가 10비트이고, 데이터 비트가 10비트이며 출력 대기 시간(Tw)이 4클럭(4us)인 경우 제어 신호가 마지막 모듈(1024개의 모듈이 연결되는 경우)에 도달하기까지 14.322ms가 소요된다.
한편, 이러한 과정을 수행하기 위해서 초기 설정 및 고속전송 관리부(120)는 자신의 제어부에 연결된 1번 모듈인지 확인하여 주소 설정을 위한 기준 주소를 생성한 다음 다음 모듈에 순차적인 주소 설정을 위한 주소 정보 전달을 시작해야 한다.
이러한 1번 모듈 여부 확인을 위하여, 초기 설정 및 고속 전송 관리부(120)는 주소 설정 모드에서, 입력 클럭 포트(RXCK) 및 입력 데이터 포트(RXDA)의 전위가 설정된 시간 이상 지속적으로 하이 레벨(논리 1)이거나 전원 전압(Vcc)인 경우 제어부에 직접 연결된 최초 모듈로 판정하여 기준 주소를 생성한다. 도 4에 도시된 바와 같이, 전원 인가 후 최초 모듈인 1번 모듈의 입력 클럭과 데이터는 논리 1에 해당하는 하이 레벨로 고정되며, 그에 따라 최초 모듈에 구성된 인터페이스 장치(100)는 자신의 주소를 기준 주소(예컨대 주소 0이거나 주소 1023)로 생성하고, 다음 모듈에 10비트의 주소 정보를 클럭과 함께 전달하며, 다음 모듈은 해당 클럭과 데이터를 입력으로 받아 해당 주소를 기준으로 자신의 주소(예컨대 +1 혹은 -1)를 생성하고, 이를 기억한 후 다음 모듈에 주소 정보를 위한 클럭과 데이터를 생성하여 전송하게 된다.
이러한 주소 설정 모드와 고속 전송 모드의 선택은 초기 설정 및 고속 전송 관리부(120)가 출력 신호 선택부(130)에 제공하는 출력 선택 신호(OUTSEL)에 의해 결정되는데, 출력 신호 선택부(130)가 해당 출력 선택 신호(OUTSEL)을 기준으로 입력 클럭 포트(RXCK) 및 입력 데이터 포트(RXDA)를 통해 수신한 클럭 및 데이터 신호 세트를 버퍼링하여 출력 클럭 포트(TXCK)와 출력 데이터 포트(TXDA)로 출력할 것인지, 아니면 초기 설정 및 고속 전송 관리부(120)가 자신의 주소를 설정한 후 다음 모듈에 자신의 주소 정보를 전달하기 위해 생성하는 (주소 전송용) 클럭(ADDCK) 및 데이터 신호(ADDDA) 세트를 출력 클럭 포트(TXCK)와 출력 데이터 포트(TXDA)로 출력할 것인지를 결정한다.
도 5는 본 발명의 실시예에 따른 출력 신호 선택부(130)의 구성을 보인 것이다. 도시된 바와 같이 입력 클럭 포트(RXCK) 및 입력 데이터 포트(RXDA)를 통해 수신한 클럭 신호(ICK) 및 데이터 신호(IDA) 세트와 초기 설정 및 고속 전송 관리부(120)가 제공한 주소 정보 전달을 위한 클럭 신호(ACK)와 주소 데이터 전달을 위한 데이터 신호(ADA)중 하나를 출력 선택 신호(OUTSEL)에 의해 선택하는 다중 입력 선택 구성(131, 132)을 포함한다. 물론, 필요에 따라 추가적인 입력이 더 존재하는 경우 이들 중 하나를 출력 선택 신호(OUTSEL)를 통해 선택하도록 구성할 수 있다.
한편, 출력 선택 신호(OUTSEL)에 따라 다중 입력 선택 구성(131, 132)의 출력은 각각 복수의 버퍼로 구성된 버퍼 체인부(133, 134)에 제공되는데, 이러한 버퍼 체인부를 통해서 입력되는 클럭과 데이터 신호가 버퍼링된다.
한편, 이와 같은 복수의 버퍼로 구성된 버퍼 체인부(133, 134)의 각 버퍼 출력들은 다중 입력 선택부(MUX)(135, 136)에 전달되며, 이들 중 하나가 선택되게 되는데, 도시된 지연 조정부(137)는 클럭과 데이터의 출력을 선택하는 다중 입력 선택부(135, 136)의 출력 신호를 비교하여 각 비트 신호의 시작 타이밍(상승 에지)이나 종료 타이밍(하강 에지)을 기준으로 각 신호의 지연을 동기화한다.
실질적으로 복수의 소자를 통과하여 출력되는 신호들은 각 소자와 회로 및 기판에서 발생되는 기생 커패시턴스에 의해 시간차이가 발생하게 된다. 이러한 시간 차이는 모듈 간에는 크지 않으나 다수의 모듈들이 연결되어 고속으로 동작하는 경우 누적되어 상당한 오차를 유발할 수 있으므로, 도시된 바와 같이 지연 조정부(137)를 통해서 각 단위 시리얼 통신 단계별로 동기화를 수행하여 이러한 누적 오차에 따른 오동작을 방지한다.
도 7은 본 발명의 일 실시예에 따른 주소 설정 모드 동작 과정을 설명하기 위한 순서도로서, 앞서 설명된 바와 같이 본 발명의 일 실시예에 따른 인터페이스 장치(100)의 초기 설정 및 고속 전송 관리부(120)는 초기 전원 투입 시 입력 클럭 포트(RXCK) 및 입력 데이터 포트(RXDA)의 전위를 확인하여 설정된 시간 이상 지속적으로 하이 레벨(논리 1)이거나 전원 전압(Vcc)인 경우 제어부에 직접 연결된 최초 모듈로 판정하여 기준 주소를 생성하여 직렬 인터페이스 처리부(110)의 레지스터에 저장하도록 하고, 생성된 기준 주소 정보를 다음 모듈에 전달한다. 이러한 전달을 위해서 출력 선택 신호(OUTSEL)는 예컨대 0으로 설정되며(주소 설정 모드, 전원 투입 시 기본 설정값) 생성된 주소 전송을 위한 클럭 신호(ADDCK)와 주소 정보를 포함하는 데이터 신호(ADDDA)는 출력 선택 신호부(130)에 의해 출력 클럭 포트(TXCA)와 출력 데이터 포트(TXDA)로 출력된다.
만일 전원 투입 후 입력 클럭 포트(RXCK) 및 입력 데이터 포트(RXDA)를 통해 클럭 신호와 데이터 신호가 수신되면 초기 설정 및 고속 전송 관리부(120)는 데이터에 포함된 이전 모듈의 주소 정보를 기반으로 자신의 주소 정보를 생성(이전 주소 정보 +1 혹은 -1 등)하여 상기 직렬 인터페이스 처리부(110)에 주소 정보로 저장시키고, 클럭 신호와 자신의 주소 정보를 포함하는 데이터 신호를 생성하여 출력 선택 신호부(130)를 통해 다음 모듈에 전달한다.
이러한 과정은 연결된 최종 모듈까지 지속적으로 반복되며, 제어부는 연결된 모듈의 숫자에 따라 이러한 과정의 지연을 알 수 있어(연결 모듈의 숫자를 모르는 경우 주소 정보로 연결 가능한 모듈에 대한 최대 지연) 주소 설정 모드가 완료된 후 실질적인 제어 데이터를 전송한다.
한편, 위에서 설명한 바와 같은 주소 설정 모드가 수행된 초기 설정 및 고속 전송 관리부(120)는 주소 설정 모드를 완료하고 고속 전송 모드로 전환하는데, 이는 출력 선택 신호(OUTSEL)를 반전시킴으로써 가능하다. 앞서 도 5를 통해 살펴본 출력 신호 선택부(130)는 출력 선택 신호(OUTSEL)에 따라 출력할 신호 세트를 입력 클럭 포트(RXCK) 및 입력 데이터 포트(RXDA)나 초기 설정 및 고속전송 관리부(120) 중 하나를 선택하므로 출력 선택 신호(OUTSEL)를 전환함에 따라 초기 설정 및 고속 전송 관리부(120)가 제공하는 클럭과 데이터가 아닌 입력 클럭 포트(RXCK) 및 입력 데이터 포트(RXDA)로부터 수신되는 이전 모듈이 제공하는 클럭과 데이터를 버퍼링하여 그대로 출력한다.
이와 같은 고속 전송 모드에서는 각 인터페이스부(100)가 수신되는 클럭과 데이터를 직렬 인터페이스 처리부(110)를 통해 수신함과 동시에 출력 신호 선택부(130)를 통해 수신 즉시 다음 모듈에 제공하게 된다.
도 6은 본 발명의 일 실시예에 따른 고속 전송 모드의 입출력 타이밍도로서, 도시된 바와 같이 고속 전송 모드에서 입력 클럭 포트(RXCK) 및 입력 데이터 포트(RXDA)를 통해 수신되는 클럭 신호와 데이터 신호는 출력 클럭 포트(TXCA)와 출력 데이터 포트(TXDA)를 통해 한 클럭 주기 이내의 극히 짧은 지연 내에 출력된다.
나아가 도시된 경우는 클럭 동기화가 정확하게 수행되지 않아 타이밍 편차(TMD)가 발생한 경우를 보인 것으로, 이러한 타이밍 편자는 하강 에지를 기준으로 지연 조정부(137)를 통해 동기화될 수 있다.
한편, 수신 클럭과 출력 클럭만 보면 약간의 지연이 발생하게 되는데 이는 인터페이스 장치(100)의 출력신호 선택부(130)에 구성된 신호 선택 및 버퍼 체인에 의한 것으로 하나의 모듈을 통과하는데 1클럭 주기보다 짧은 지연이면 충분하다. 따라서, 1024개 모듈을 고속 전송 모드로 설정하고 제어부가 제어데이터를 전송할 경우 첫번째 모듈과 마지막 1024번째 모듈 간의 제어 데이터 수신 편자는 1024 클럭 이내가 되며, 실질적으로 내부 소자를 통과함에 따라 발생되는 지연은 1 클럭보다 극히 짧기 때문에 클럭 주파수가 1Mhz이고, 한 비트의 주기가 1us라면 수신편차는 1ms이내가 될 수 있으며, 경우에 따라서는 수~수백us 정도면 된다.
도 8은 본 발명의 일 실시예에 따른 고속 전송 모드 동작 과정을 설명하기 위한 순서도로서, 도시된 바와 같이 주소 설정 모드를 통해서 모든 연결 모듈에 주소 정보가 설정된 이후 주소 설정 모드가 해제되고 고속 전송 모드가 설정된 경우이다.
인터페이스 장치(100)는 출력 선택 신호(OUTSEL)를 통해 고속 전송 모드를 설정하고, 입력 클럭 포트(RXCK) 및 입력 데이터 포트(RXDA)를 통해 수신되는 클럭 신호와 데이터 신호를 수신함과 동시에 수신한 수신 클럭과 데이터를 버퍼링하고, 그에 대한 타이밍을 지연 조정을 통해 동기화한 후 출력 클럭 포트(TXCA)와 출력 데이터 포트(TXDA)를 통해 다음 모듈에 전송한다. 이러한 수신 클럭과 데이터의 버퍼링 및 출력은 1클럭 이내의 지연으로 반복될 수 있다.
이와 같이 수신되는 클럭과 데이터를 모두 버퍼링하여 다음 모듈에 전송함과 동시에 입력 클럭 포트(RXCK) 및 입력 데이터 포트(RXDA)에 연결된 직렬 인터페이스 처리부(110)는 수신 클럭에 맞추어 수신 데이터를 복원하여 해당 데이터에 포함된 주소 정보를 이전 주소 설정 단계에서 레지스터에 저장한 자신의 주소 정보와 비교하여 일치하는 경우 해당 데이터를 연결된 모듈의 제어부에 전달한다. 모듈의 제어부는 직렬 인터페이스 처리부(110)가 제공하는 제어 데이터를 기반으로 미리 설정된 작업(예컨대 특정 포트로 출력 신호를 제공하거나 기존 출력을 변경하는 등)을 수행한다.
위와 같이 본 발명의 일실시예를 이용할 경우 신속한 주소 설정의 자동 진행과 제어부가 전달하는 제어 데이터를 연결된 모든 모듈에 신속하에 전달할 수 있게 된다.
하지만, 이러한 본 발명의 일실시예는 모든 모듈에 제어부의 제어 데이터를 일방전송할 수 밖에 없으므로 로봇 제어의 안전성이 우선되는 경우라면 그 사용이 제한된다.
따라서, 본 발명의 다른 실시예에서는 이러한 제어부의 제어 신호가 원하는 모듈에 정확하게 전달되었는 지 확인하거나, 특정 모듈의 상태 정보를 확인하기 위한 모듈 정보 리딩 작업이 가능하도록 한 것이다.
도 9는 본 발명의 다른 실시예에 따른 모듈 연결 구성도로서, 도시된 바와 같이 하나의 제어부(210)가 데이지체인 방식으로 연결된 복수의 모듈(220)에 순차적으로 데이터를 전달할 수 있도록 함과 아울러 특정 모듈의 정보 리딩 작업이 가능하도록 한 것이다.
도시된 예는 1024개의 모듈이 직렬 연결된 데이지 체인 구성으로서, 마지막 모듈(220-1024)의 출력 포트는 제어부의 다른 입력 포트에 연결됨으로써, 제어부(210)는 자신이 모듈에 전달한 제어 데이터가 정상적으로 전달되었는지 신속하게 확인할 수 있고, 특정 모듈이 제어 데이터를 정상적으로 수신하였는지, 특정 모듈의 상태 정보는 어떠한 지 등을 확인할 수 있다.
이러한 본 발명의 다른 실시예에 따른 리딩 기능을 부가하기 위하여 인터페이스 장치(300)는 제어부(210)가 제공하는 리딩 요청 정보를 신속하게 수신하고 리딩이 요청되는 모듈의 경우 자신의 상태 정보(수신된 제어 데이터나 모듈이 제공하는 상태 정보)를 자체 생성한 클럭과 데이터로 다음 모듈에 전달하도록 한다.
도 10 및 도 11은 본 발명의 다른 실시예에 따른 인터페이스 장치(300)의 구성 및 리드 제어에 따른 동작 방식을 설명하기 위한 구성도이다.
도시된 바와 같이, 본 발명의 다른 실시예에 따른 인터페이스 장치(300)는 본 발명의 일 실시예와 유사한 직렬 인터페이스 처리부(310)와 초기 설정 및 고속 전송 관리부(320) 및 출력 신호 선택부(330)를 포함할 수 있다.
도시된 구성은 본 발명의 다른 실시예를 구현하기 위한 여러 방법들 중 하나를 대표적으로 보인 것으로 동일한 기능을 수행하기 위한 구체적인 구성은 다양할 수 있다.
도시된 본 발명의 다른 실시예에 따른 초기 설정 및 고속 전송 관리부(320) 와 출력 신호 선택부(330)는 이전 일 실시예의 초기 설정 및 고속 전송 관리부(120) 및 출력 신호 선택부(130)와 동일할 수 있다.
다만, 제어부가 제공하는 리딩 요청을 확인하고 그에 따른 응답 제공을 위해서 주소 정보와 리드 정보를 클럭 신호에 맞추어 출력 신호 선택부(330)를 통해 다음 모듈에 제공하기 위한 구성이 필요하다.
도시된 다른 실시예에서는 인터페이스 장치(300)가 주소 정보를 스스로 생성한 클럭과 데이터를 출력 신호 선택부(330)를 통해 출력하는 구성과 같은 동작을 직렬 인터페이스 처리부(310)가 더 수행하도록, 복수의(3개) 스위치를 더 구성한 후 직렬 인터페이스 처리부(310)가 해당 스위치를 제어하도록 구성한다.
도시된 직렬 인터페이스 처리부(310)는 고속 전송 모드에서 입력 클럭 포트(RXCK) 및 입력 데이터 포트(RXDA)로부터 수신된 신호를 통해 수신 데이터를 복원한 후 수신된 데이터에 포함된 주소 정보가 자신의 주소 정보이며 수신된 데이터가 데이터 리드를 요구하는 경우, 자신의 설정 정보를 수집한 리드 정보 데이터를 생성하고 자신의 주소와 생성한 리드 정보가 포함된 데이터 신호와 클럭을 생성하고 자신이 생성한 데이터 신호와 클럭을 출력하도록 하는 출력 선택 신호(OUTSEL)를 출력 신호 선택부(330)에 제공한다.
이 경우, 출력 신호 선택부(330)는 직렬 인터페이스 처리부(310)가 제공한 출력 선택 신호(OUTSEL)에 따라 직렬 인터페이스 처리부(310)가 제공하는 클럭과 생성된 리드 정보가 포함된 데이터 신호(ADDCK와 ADDDA에 대응)를 출력 클럭 포트(TXCA)와 출력 데이터 포트(TXDA)로 출력한다.
도시된 구성은 초기 설정 및 고속전송 관리부(320) 및 출력 신호 선택부(330)의 구성을 앞서 설명한 본 발명의 일실시예에 따른 초기 설정 및 고속전송 관리부(120) 및 출력 신호 선택부(130)의 구성과 동일하도록 하기 위하여 외부에 스위치 구성을 만들고, 이를 직렬 인터페이스 처리부(310)가 선택(초기 주소 설정 모드가 종료되어 고속 전송 모드가 시작되면 스위치를 도 10의 상태에서 도 11의 상태로 전환하도록 설정)하도록 함으로서 필요한 경우 직렬 인터페이스 처리부(310)가 출력 선택 신호(OUTSEL)를 제어하여 출력 신호 선택부(330)가 입력 클럭 포트(RXCK) 및 입력 데이터 포트(RXDA)로부터 수신되는 신호 세트와 직렬 인터페이스 처리부(310)가 제공하는 리딩 요청에 대한 응답 전송을 위한 클럭과 리드 정보 데이터(자신의 주소 정보 포함) 신호 세트 중 하나를 선택하여 출력할 수 있도록 한다.
한편, 도 12의 리드 제어 신호 수신 및 출력 신호를 보인 입출력 신호 파형도는 제어부가 각 모듈에 별도의 상태 정보 리딩 등이 아닌 자신이 제공한 제어 정보를 다시 읽어서 보내도록 하는 리딩 요청만을 하는 경우의 고속 처리가 가능하도록 한 경우이다.
도시된 바와 같이 1024개 이하의 모듈이 연결되는 것을 가정하여 주소 크기를 10비트로 정의한 후 추가 1비트(리딩 요청 여부 식별)를 더함으로써 직렬 인터페이스 처리부(310)가 단순히 주소 정보만 확인하면 곧바로 리드 정보를 제공하도록 할 수 있다.
이 경우, 도시된 바와 같이 제어부가 자신이 전송한 제어 정보를 수신하여 동작하는 특정 모듈의 동작이 비정상 적인 경우(별도의 센서를 통해 확인) 해당 모듈에 전달된 제어 데이터가 정확하게 전달된 것인지를 확인할 수 있도록 주소 정보 비트 외에 추가한 1개 비트를 논리 1(하이레벨)로 설정하여 확인 대상 모듈의 주소를 포함하는 리딩 요청 데이터를 고속 전송 방식으로 모듈에 전송한다. 이 경우 제어부가 요구하는 리드 정보가 단일하므로 주소 외의 데이터 필드는 무의미(don't care)할 수 있다.
해당 리딩 요청 데이터가 고속 전송 모드를 통해서 모든 모듈에 전달되는 과정에서 목표 모듈의 인터페이스 장치에 구성된 직렬 인터페이스 처리부(310)는 수신된 데이터를 통해 추가된 1개 비트가 논리 1이고, 주소 정보가 자신을 가리키는 경우 곧바로 리드 정보를 생성하고 출력 선택 신호(OUTSEL)를 반전시킨 후 출력 신호 선택부(330)에 자신의 주소 정보와 리드 정보가 포함된 데이터와 클럭을 제공하여 출력하도록 한다. 후속 모듈의 경우 고속 전송 모드로서 이미 이전 전달된 리딩 요청 데이터는 송신된 이후이므로 곧바로 생성한 리드 데이터를 전송하더라도 충돌이 없으며, 제어부는 자신의 리딩 요청 데이터를 재 수신하여 선로 연결 문제가 없을 확인한 후 곧바로 목표 모듈의 리드 데이터를 수신하여 제어 데이터의 무결성을 검증할 수 있다.
물론, 리딩 요청 데이터에 포함된 데이터 필드에 다양한 상태 확인을 위한 명령을 포함시킬 수 있으며 이 경우 모듈은 해당 명령에 따른 정보를 생성하여 리드 신호로서 제어부쪽으로 전달할 수 있다.
정확한 제어가 요구되는 경우라면 이러한 리딩 요청 정보를 활용하여 이전에 수신된 제어 데이터를 레디 모드로 수신만 하도록 하고, 필요한 특정 모듈(혹은 전체 모듈)에 대한 제어 데이터 정상 수신을 확인한 다음, 실행 정보를 리딩 요청 정보 포맷으로 전달하도록 함으로써, 모듈은 제어 명령을 수신하고 수신된 제어 명령을 제어부에 다시 전송하여 확인 받은 다음 실행 정보를 받아야 수신된 제어 명령을 실행할 수 있다. 이를 통해서 안전한 제어가 필요한 경우에도 데이지체인 연결 모듈을 고속으로 안전하게 제어할 수 있게 된다.
도 13은 본 발명의 다른 실시예에 따른 인터페이스 과정을 설명하기 위한 순서도로서, 도시된 바와 같이, 앞서 도 7 및 도 8과 같은 주소 설정 모드 수행 후 고속 전송 모드로 전환된 상태에서 제어부의 리딩 요청을 처리하는 과정을 보인 것이다.
도시된 바와 같이 고속 전송 모드가 설정된 상태에서, 입력 클럭 포트(RXCK) 및 입력 데이터 포트(RXDA)를 통해 수신되는 클럭과 데이터 신호는 고속 전송 모드이므로 출력 신호 선택부(330)에 의해 버퍼링 및 클럭과 데이터 출력의 지연 동기화가 수행된 상태로 다음 모듈에 전송된다.
이러한 고속 전송 모드에 따른 클럭과 데이터의 버퍼링 전송과 함께 직렬 인터페이스 처리부(310)는 입력 클럭 포트(RXCK) 및 입력 데이터 포트(RXDA)를 통해 수신되는 데이터를 수신 클럭에 맞추어 복원하고, 복원된 데이터의 주소가 자신의 주소에 대응되며 리딩요청(추가 주소 비트의 설정이나 데이터 필드의 정보에 따른 판단)이라면 자신에게 수신되었던 제어 데이터나 기타 상태 정보에 대한 리드 정보를 생성한다(이는 인터페이스 장치에 연결된 모듈 내 제어부가 수행하는 것일 수 있다).
이후 직렬 인터페이스 처리부(310)는 생성된 리드 정보(및 자신의 주소 정보)를 출력 신호 선택부(330)를 통해 출력하기 위해서 출력 선택 신호(OUTSEL)를 변경하여 일반 전송 모드로 전환한 후 자체적으로 생성한 클럭과 자신의 주소 정보와 리드 정보가 포함된 데이터를 출력 신호 선택부(330)를 통해 전송한다. 이와 같은 전송이 완료되면 출력 선택 신호(OUTSEL)를 다시 고속 전송 모드가 되도록 변경한다.
도시된 구성 및 동작 방식은 도 11 및 도 12를 기준으로 설명된 것으로, 출력 신호 선택부(330)가 3종류의 입력 중 하나를 선택하도록 구성함으로써 앞서 설명했던 도 11 내지 도 13의 구성과 동일한 작업을 수행할 수 있다.
전술된 내용은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 인터페이스 장치 110: 직렬 인터페이스 처리부
120: 초기 설정 및 고속 전송 관리부 130: 출력 신호 선택부
131, 132: 다중 입력 선택 구성 133, 134: 버퍼 체인부
135, 136: 다중 입력 선택부 137: 지연 조정부
210: 제어부 220: 모듈
300: 인터페이스 장치 310: 직렬 인터페이스 처리부
320: 초기 설정 및 고속 전송 관리부 330: 출력 신호 선택부
120: 초기 설정 및 고속 전송 관리부 130: 출력 신호 선택부
131, 132: 다중 입력 선택 구성 133, 134: 버퍼 체인부
135, 136: 다중 입력 선택부 137: 지연 조정부
210: 제어부 220: 모듈
300: 인터페이스 장치 310: 직렬 인터페이스 처리부
320: 초기 설정 및 고속 전송 관리부 330: 출력 신호 선택부
Claims (10)
- 하나의 제어부와 직렬 방식으로 순차 연결되며 각각은 시리얼 인터페이스 방식으로 통신을 수행하는 복수의 모듈에 각각 구성되는 인터페이스 장치로서,
주소 정보를 저장하고 입력 클럭 포트와 입력 데이터 포트로부터 각각 수신되는 클럭 및 데이터 신호에 맞추어 데이터를 수신하며, 수신된 데이터에 주소 정보가 포함된 경우 저장된 자신의 주소에 맞는 데이터를 선별하는 직렬 인터페이스 처리부와;
초기 기동 시 주소 설정 모드로 동작하여 입력 클럭 포트와 입력 데이터 포트를 통해 수신한 데이터에 포함된 이전 모듈의 주소 정보를 기반으로 자신의 주소 정보를 생성하여 상기 직렬 인터페이스 처리부에 주소 정보로 저장하고, 클럭 신호와 자신의 주소 정보를 포함하는 데이터 신호를 생성한 후 주소 설정 모드를 중단하고 출력 선택 신호를 전환하여 고속 전송 모드를 시작하는 초기 설정 및 고속 전송 관리부와;
상기 출력 선택 신호에 의한 모드에 따라 입력 클럭 포트 및 입력 데이터 포트를 통해 수신한 클럭 및 데이터 신호 세트와 상기 초기 설정 및 고속 전송 관리부가 생성한 클럭 및 데이터 신호 세트 중 하나를 출력 클럭 포트와 출력 데이터 포트로 출력하는 출력 신호 선택부를 포함하는 로봇제어를 위한 고속 시리얼 인터페이스 장치.
- 청구항 1에 있어서, 상기 초기 설정 및 고속 전송 관리부는 주소 설정 모드에서, 입력 클럭 포트와 입력 데이터 포트의 전위가 설정된 시간 이상 지속적으로 하이 레벨이거나 전원 전압인 경우 제어부에 직접 연결된 최초 모듈로 판정하여 기준 주소를 생성하는 것을 특징으로 하는 로봇제어를 위한 고속 시리얼 인터페이스 장치.
- 청구항 1에 있어서, 상기 출력 신호 선택부는 입력 클럭 포트와 입력 데이터 포트를 통해 수신한 클럭 및 데이터 신호를 버퍼링하여 출력 클럭 포트와 출력 데이터 포트로 출력하는 것을 특징으로 하는 로봇제어를 위한 고속 시리얼 인터페이스 장치.
- 청구항 1에 있어서, 상기 출력 신호 선택부는 고속 전송 설정 신호 활성화 시 입력 클럭 포트와 입력 데이터 포트를 통해 수신한 클럭 및 데이터 신호를 각각 버퍼 체인에 인가하되 클럭과 데이터 신호가 정확히 동기화되도록 상기 각 버퍼 체인을 구성하는 복수 버퍼들 중 하나의 출력을 선택하여 출력 클럭 포트와 출력 데이터 포트로 출력하는 것을 특징으로 하는 로봇제어를 위한 고속 시리얼 인터페이스 장치.
- 청구항 1에 있어서, 상기 직렬 인터페이스 처리부는 수신된 데이터에 포함된 주소 정보가 자신의 주소 정보이며 수신된 데이터가 데이터 리드를 요구하는 경우 자신의 설정 정보를 수집한 리드 정보 데이터를 생성하고 자신의 주소와 상기 리드 정보가 포함된 데이터 신호와 클럭을 생성하고 자신이 생성한 데이터 신호와 클럭을 출력하도록 하는 출력 선택 신호를 상기 출력 신호 선택부에 제공하며,
상기 출력 신호 선택부는 상기 출력 선택 신호에 따라 상기 직렬 인터페이스 처리부가 제공하는 클럭과 상기 리드 정보가 포함된 데이터 신호를 출력 클럭 포트와 출력 데이터 포트로 출력하는 것을 특징으로 하는 로봇제어를 위한 고속 시리얼 인터페이스 장치.
- 청구항 5에 있어서, 마지막 모듈의 출력 클럭 포트와 출력 데이터 포트는 제어부와 연결되는 것을 특징으로 하는 로봇제어를 위한 고속 시리얼 인터페이스 장치.
- 하나의 제어부와 직렬 방식으로 순차 연결되며 각각은 시리얼 인터페이스 방식으로 통신을 수행하는 복수의 모듈에 각각 구성되는 인터페이스 장치의 인터페이스 방법으로서,
초기 기동 시 주소 설정 모드로 동작하여 구성된 입력 클럭 포트와 입력 데이터 포트를 통해 클럭과 데이터를 수신하는 데이터 수신 단계와;
상기 데이터 수신 단계에서 수신된 데이터에 이전 모듈의 주소 정보가 포함되는 경우 해당 주소 정보를 기준으로 자신의 주소 정보를 생성하고 이를 기억하는 주소 설정 단계와;
상기 생성된 자신의 주소 정보를 포함하는 데이터 신호와 클럭 신호를 생성하여 구성된 출력 클럭 포트와 출력 데이터 포트를 통해 다음 모듈로 출력하는 주소 정보 출력 단계와;
주소 정보 출력 단계 후에 주소 설정 모드를 중단하고 고속 전송 모드를 시작하여 입력 클럭 포트와 입력 데이터 포트를 통해 수신한 이전 모듈의 클럭 신호와 데이터 신호를 버퍼링하여 출력 클럭 포트와 출력 데이터 포트를 통해 다음 모듈로 출력하는 고속 데이터 전송 단계와;
상기 고속 전송 모드에서 입력 클럭 포트와 입력 데이터 포트로부터 각각 수신되는 클럭 및 데이터 신호에 맞추어 데이터를 수신하고, 수신된 데이터에 주소 정보가 포함된 경우 저장된 자신의 주소에 맞는 데이터를 선별하는 제어 정보 수신 단계를 포함하는 로봇제어를 위한 고속 시리얼 인터페이스 장치의 인터페이스 방법.
- 청구항 7에 있어서, 상기 주소 설정 단계는 상기 데이터 수신 단계에서 입력 클럭 포트와 입력 데이터 포트의 전위가 설정된 시간 이상 지속적으로 하이 레벨이거나 전원 전압인 경우 제어부에 직접 연결된 최초 모듈로 판정하여 기준 주소를 생성하는 단계를 더 포함하는 것을 특징으로 하는 로봇제어를 위한 고속 시리얼 인터페이스 장치의 인터페이스 방법.
- 청구항 7에 있어서, 상기 고속 데이터 전송 단계는 입력 클럭 포트와 입력 데이터 포트를 통해 수신한 클럭 및 데이터 신호를 각각 버퍼 체인에 인가하되 클럭과 데이터 신호가 정확히 동기화되도록 상기 각 버퍼 체인을 구성하는 복수 버퍼들 중 하나의 출력을 선택하여 출력 클럭 포트와 출력 데이터 포트로 출력하는 단계를 더 포함하는 것을 특징으로 하는 로봇제어를 위한 고속 시리얼 인터페이스 장치의 인터페이스 방법.
- 청구항 7에 있어서, 상기 제어부와 연결된 복수의 직렬 모듈 중 마지막 모듈은 다시 제어부와 직렬 연결되고, 상기 제어 정보 수신 단계에서, 자신의 주소에 맞는 데이터가 데이터 리드를 요구하는 제어 정보인 경우 자신의 설정 정보를 수집한 리드 정보 데이터를 생성하고 자신의 주소와 상기 리드 정보가 포함된 데이터 신호와 클럭을 생성하여 출력 클럭 포트와 출력 데이터 포트로 출력하는 단계를 더 포함하는 것을 특징으로 하는 로봇제어를 위한 고속 시리얼 인터페이스 장치의 인터페이스 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200180130A KR102401812B1 (ko) | 2020-12-21 | 2020-12-21 | 로봇제어를 위한 고속 시리얼 인터페이스 장치 및 그 인터페이스 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200180130A KR102401812B1 (ko) | 2020-12-21 | 2020-12-21 | 로봇제어를 위한 고속 시리얼 인터페이스 장치 및 그 인터페이스 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102401812B1 true KR102401812B1 (ko) | 2022-05-25 |
Family
ID=81800585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200180130A KR102401812B1 (ko) | 2020-12-21 | 2020-12-21 | 로봇제어를 위한 고속 시리얼 인터페이스 장치 및 그 인터페이스 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102401812B1 (ko) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001287181A (ja) * | 2000-04-10 | 2001-10-16 | Sony Corp | アクチュエータ駆動制御方式、並びにアクチュエータのための駆動制御装置 |
KR20130097243A (ko) * | 2005-09-30 | 2013-09-02 | 모사이드 테크놀로지스 인코퍼레이티드 | 데이지 체인 캐스케이딩 장치 |
KR102109589B1 (ko) | 2018-10-26 | 2020-05-12 | 인하대학교 산학협력단 | 고속직렬인터페이스용 송수신 오류 정정기법이 포함된 오버헤드최소화 코딩 기법과 하드웨어 구현 방법 |
-
2020
- 2020-12-21 KR KR1020200180130A patent/KR102401812B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001287181A (ja) * | 2000-04-10 | 2001-10-16 | Sony Corp | アクチュエータ駆動制御方式、並びにアクチュエータのための駆動制御装置 |
KR20130097243A (ko) * | 2005-09-30 | 2013-09-02 | 모사이드 테크놀로지스 인코퍼레이티드 | 데이지 체인 캐스케이딩 장치 |
KR102109589B1 (ko) | 2018-10-26 | 2020-05-12 | 인하대학교 산학협력단 | 고속직렬인터페이스용 송수신 오류 정정기법이 포함된 오버헤드최소화 코딩 기법과 하드웨어 구현 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0258872B1 (en) | Serial data transfer system | |
US8719476B2 (en) | Communication system, master device and slave device, and communication method, configured to handle plural concurrent requests | |
US5327121A (en) | Three line communications method and apparatus | |
US20080137679A1 (en) | Method for Transmitting Data in Messages Via a Communication Link of a Communication System, as well as a Communication Module, User of a Communication System, and Communication System for Implementing This Method | |
CN102339267A (zh) | I2c地址转换 | |
JP3384838B2 (ja) | インターフェース装置 | |
JPH0784863A (ja) | 情報処理装置およびそれに適した半導体記憶装置 | |
US20140052881A1 (en) | Systems and methods for concatenating multiple devices | |
CN114911743B (zh) | Spi从机设备、spi主机设备和相关的通信方法 | |
US5465333A (en) | Apparatus for programming the speed at which an expansion card generates ready signals to insure compatibility with the speed of an attached bus | |
US8521931B2 (en) | Serial input output (SIO) port expansion apparatus and method | |
KR102401812B1 (ko) | 로봇제어를 위한 고속 시리얼 인터페이스 장치 및 그 인터페이스 방법 | |
US9594715B2 (en) | Integrated circuit devices, systems and methods having automatic configurable mapping of input and/or output data connections | |
US8510485B2 (en) | Low power digital interface | |
US11960434B2 (en) | Communication device, communication system, and communication method for transmitting data blocks including signal groups conforming to a serial peripheral interface | |
US20180173657A1 (en) | Automatic transmission of dummy bits in bus master | |
JP4906688B2 (ja) | 制御信号通信方法、光トランシーバ装置 | |
US20040015615A1 (en) | Method for performing data transfer of KVM switch | |
KR100266963B1 (ko) | 전송되는 패킷을 오버래핑하여 인터페이스의 대기시간을 감소시키는 방법 및 장치 | |
US7171445B2 (en) | Fixed snoop response time for source-clocked multiprocessor busses | |
KR100295683B1 (ko) | 인터아이씨의 제너럴콜 어크날리지장치및 방법 | |
US6868457B2 (en) | Direct memory access controller, direct memory access device, and request device | |
CN106294260B (zh) | 数据从异步总线输出到同步总线的方法 | |
JP6493044B2 (ja) | マルチプロセッサシステム | |
CN114880270B (zh) | Spi设备及其数据传输方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |