KR101637998B1 - 에스피아이 통신 장치 및 방법 - Google Patents

에스피아이 통신 장치 및 방법 Download PDF

Info

Publication number
KR101637998B1
KR101637998B1 KR1020140161326A KR20140161326A KR101637998B1 KR 101637998 B1 KR101637998 B1 KR 101637998B1 KR 1020140161326 A KR1020140161326 A KR 1020140161326A KR 20140161326 A KR20140161326 A KR 20140161326A KR 101637998 B1 KR101637998 B1 KR 101637998B1
Authority
KR
South Korea
Prior art keywords
data
crc
slave device
slave
master device
Prior art date
Application number
KR1020140161326A
Other languages
English (en)
Other versions
KR20160060181A (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 KR1020140161326A priority Critical patent/KR101637998B1/ko
Publication of KR20160060181A publication Critical patent/KR20160060181A/ko
Application granted granted Critical
Publication of KR101637998B1 publication Critical patent/KR101637998B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40071Packet processing; Packet format
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Abstract

본 발명은 에스피아이 통신 장치 및 방법에 관한 것으로, 에스피아이(SPI : Serial Parallel Interface) 프로토콜 방식으로 마스터 장치와 슬레이브 장치 간에 통신하게 하는 에스피아이 통신 장치에 있어서, 상기 마스터 장치는, 상기 슬레이브 장치에 전송할 데이터에 대한 제1 CRC(Cyclical and Redundancy and Check) 값을 생성하는 마스터 CRC 발생부, 상기 슬레이브 장치로부터 현재 명령 전송 단계에서 수신되는 제2 CRC 값을 이전 명령 전송 단계에 생성된 제1 CRC 값과 비교하는 CRC 비교부, 및 상기 제1,2 CRC 값의 비교 결과에 기초하여 이전 명령 전송 단계에 전송한 데이터에 대한 에러 발생 여부를 판별하는 마스터 SPI 제어부를 포함하고, 상기 슬레이브 장치는, 상기 마스터 장치로부터 이전 명령 수신 단계에 전송받은 데이터에 대한 제2 CRC 값을 생성하는 슬레이브 CRC 발생부, 및 상기 생성된 제2 CRC 값을 현재 명령 수신 단계에 상기 마스터 장치에 전송하도록 제어하는 슬레이브 SPI 제어부를 포함한다.

Description

에스피아이 통신 장치 및 방법{COMMUNICATION APPARATUS AND METHOD FOR SERIAL PERIPHERAL INTERFACE}
본 발명은 에스피아이 통신 장치 및 방법에 관한 것으로, 보다 상세하게는 마스터(Master) 장치와 슬레이브(Slave) 장치 간에 에스피아이(SPI : Serial Parallel Interface) 통신 시 상기 마스터 장치가 상기 슬레이브 장치로 데이터를 송신함과 동시에 상기 슬레이브 장치로부터 씨알씨(CRC : Cyclical and Redundancy and Check) 값을 수신하여 체크함으로써 통신 에러 발생을 빠르게 판별할 수 있도록 하는 에스피아이 통신 장치 및 방법에 관한 것이다.
일반적으로 마스터 장치와 슬레이브 장치 간에 직렬 통신으로 데이터를 주고받을 수 있게 해 주는 인터페이스인 SPI(Serial Peripheral Interface)는, 데이터 출력 핀(SDO : Select Data Out), 데이터 입력 핀(SDI : Serial Data In), 클럭 핀(SCLK : Slect Clock), 슬레이브 선택 핀(CS : Chip Select)만을 사용하므로 인터페이스 자체가 간단하고, 직렬이지만 속도가 빠르기 때문에 편리하게 다양한 기능을 구현할 수 있다.
이러한 SPI 통신 프로토콜은 정확한 동작을 위해 정해진 타이밍을 요구하는 동기 프로토콜로서, 예를 들면 비디오게임 시스템, 디지털 카메라, 카 오디오, 내비게이션, 셋톱박스, PDA, MP3 플레이어 등 빠르게 변하는 대용량 데이터를 갖는 애플리케이션에 다양한 주변 기기들을 추가, 연결할 수 있게 해 주는 프로토콜로서, 대부분 CPU(Central Processor Unit)와 주변 기기들 간의 통신을 위한 시스템에 채용된다.
최근의 차량에는 많은 전자 제어 장치들이 사용되고 있으며, 상기 SPI 통신 프로토콜은 상기 제어 장치들에 포함되어 있는 집적회로 및 여러 다양한 반도체 칩 사이의 데이터 전달을 위해 폭넓게 사용되는 프로토콜이다. 특히 SPI 마스터 장치와 하나 이상의 주변장치인 SPI 슬레이브 장치 사이에서 데이터 전달을 위해 폭넓게 사용되는 프로토콜이다.
그러나 SPI 마스터 장치에서 송신된 데이터 값이 마이크로컨트롤러의 오류나 전송선로 상의 잡음에 의해 발생한 글리치(Glitch)로 인해 SPI 슬레이브 장치에 동일하게 수신되지 않을 경우 전체 시스템이 정상적으로 동작하지 않을 수 있는 문제점이 있다. 따라서 상기와 같이 송신 데이터에 오류가 발생할 경우, 그 오류 발생을 가능한 빨리 판별하여 에러를 수정하거나 데이터를 재전송 할 필요가 있다.
그런데 종래에는 마스터 장치에서 별도의 CRC 체크 명령을 슬레이브 장치에 출력하고, 상기 CRC 체크 명령에 대응하여 상기 슬레이브 장치에서 상기 마스터 장치로 CRC 값을 송신하면 상기 마스터 장치가 상기 슬레이브 장치로부터 수신된 CRC 값을 체크하여 에러 발생을 판별하기 때문에 상당한 시간이 소요되는 문제점이 있었다.
본 발명의 배경기술은 대한민국 공개특허 10-2010-0073520호(2010.07.01.공개, 메인 보드와 확장 보드간 SPI 통신 시스템 및 방법)에 개시되어 있다.
본 발명은 상기와 같은 문제점을 해결하기 위해 창작된 것으로서, 마스터 장치와 슬레이브 장치 간에 에스피아이(SPI) 통신 시 상기 마스터 장치가 상기 슬레이브 장치로 데이터를 송신함과 동시에 상기 슬레이브 장치로부터 씨알씨(CRC) 값을 수신하여 체크함으로써 통신 에러 발생을 빠르게 판별할 수 있도록 하는 에스피아이 통신 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명의 일 측면에 따른 에스피아이 통신 장치는, 에스피아이(SPI : Serial Parallel Interface) 프로토콜 방식으로 마스터 장치와 슬레이브 장치 간에 통신하게 하는 에스피아이 통신 장치에 있어서, 상기 마스터 장치는, 상기 슬레이브 장치에 전송할 데이터에 대한 제1 CRC(Cyclical and Redundancy and Check) 값을 생성하는 마스터 CRC 발생부; 상기 슬레이브 장치로부터 현재 명령 전송 단계에서 수신되는 제2 CRC 값을 이전 명령 전송 단계에 생성된 제1 CRC 값과 비교하는 CRC 비교부; 및 상기 제1,2 CRC 값의 비교 결과에 기초하여 이전 명령 전송 단계에 전송한 데이터에 대한 에러 발생 여부를 판별하는 마스터 SPI 제어부;를 포함하고, 상기 슬레이브 장치는, 상기 마스터 장치로부터 이전 명령 수신 단계에 전송받은 데이터에 대한 제2 CRC 값을 생성하는 슬레이브 CRC 발생부; 및 상기 생성된 제2 CRC 값을 현재 명령 수신 단계에 상기 마스터 장치에 전송하도록 제어하는 슬레이브 SPI 제어부;를 포함하는 것을 특징으로 한다.
본 발명에 있어서, 상기 마스터 장치 및 상기 슬레이브 장치는, SPI 프로토콜 방식으로 데이터를 송수신하는 마스터 SPI 인터페이스부 및 슬레이브 SPI 인터페이스부;를 각기 더 포함하는 것을 특징으로 한다.
본 발명에 있어서, 상기 마스터 장치는, 상기 슬레이브 장치에 데이터 라이트 명령, 혹은 데이터 리드 명령을 전송하는 하는 것을 특징으로 한다.
본 발명에 있어서, 상기 마스터 장치는, 상기 슬레이브 장치에 데이터 라이트 명령의 전송 시, SDI(Serial Data In) 단자를 통해 라이트 명령(Control), 데이터를 라이트 할 슬레이브 장치의 어드레스, 및 데이터를 순차로 조합하여 전송하는 것을 특징으로 한다.
본 발명에 있어서, 상기 마스터 장치는, 상기 슬레이브 장치에 라이트 리드 명령의 전송 시, SDI(Serial Data In) 단자를 통해 리드 명령(Control), 및 데이터를 리드 할 슬레이브 장치의 어드레스를 순차로 조합하여 전송하는 것을 특징으로 한다.
본 발명에 있어서, 상기 슬레이브 장치로부터 전송되는 제2 CRC 값은, 상기 마스터 장치에서 상기 슬레이브 장치에 전송하는 명령의 어드레스 위치에 동기되어 전송되는 것을 특징으로 한다.
본 발명에 있어서, 상기 마스터 장치는, 상기 마스터 장치가 이전 명령 전송 단계에서 상기 슬레이브 장치에 전송한 데이터에 대하여 생성한 제1 CRC 값과, 상기 마스터 장치가 현재 명령 전송 단계에서 상기 슬레이브 장치로부터 수신한 제2 CRC 값을 상기 CRC 비교부를 통해 비교하여, 상기 제1,2 CRC 값이 동일하면 에러가 발생하지 않은 것으로 판단하고, 상기 제1,2 CRC 값이 동일하지 않으면 에러가 발생한 것으로 판단하는 것을 특징으로 한다.
본 발명의 다른 측면에 따른 에스피아이 통신 방법은, 에스피아이 프로토콜 방식으로 마스터 장치와 슬레이브 장치 간에 통신하게 하는 에스피아이 통신 방법에 있어서, 상기 마스터 장치가 마스터 CRC 발생부를 통해 상기 슬레이브 장치에 전송할 데이터에 대한 제1 CRC 값을 생성하는 단계; 상기 슬레이브 장치로부터 현재 명령 전송 단계에서 수신되는 제2 CRC 값과 이전 명령 전송 단계에 생성된 제1 CRC 값을 CRC 비교부를 통해 비교하는 단계; 및 마스터 SPI 제어부를 통해 상기 제1,2 CRC 값의 비교 결과에 기초하여 이전 명령 전송 단계에 전송한 데이터에 대한 에러 발생 여부를 판별하는 단계;를 포함하고, 상기 슬레이브 장치가 상기 마스터 장치로부터 이전 명령 수신 단계에 전송받은 데이터에 대한 제2 CRC 값을 슬레이브 CRC 발생부를 통해 생성하는 단계; 및 슬레이브 SPI 제어부를 통해 상기 생성된 제2 CRC 값을 현재 명령 수신 단계에 상기 마스터 장치에 전송하는 단계;를 포함하는 것을 특징으로 한다.
본 발명에 있어서, 상기 슬레이브 장치에 데이터 라이트 명령을 전송할 경우, 상기 마스터 장치는, SDI(Serial Data In) 단자를 통해 라이트 명령(Control), 데이터를 라이트 할 슬레이브 장치의 어드레스, 및 데이터를 순차로 조합하여 전송하는 것을 특징으로 한다.
본 발명에 있어서, 상기 슬레이브 장치에 데이터 리드 명령을 전송할 경우, 상기 마스터 장치는, SDI(Serial Data In) 단자를 통해 리드 명령(Control), 및 데이터를 리드 할 슬레이브 장치의 어드레스를 순차로 조합하여 전송하는 것을 특징으로 한다.
본 발명에 있어서, 상기 슬레이브 장치로부터 전송되는 제2 CRC 값은, 상기 마스터 장치에서 상기 슬레이브 장치에 전송하는 명령의 어드레스 위치에 동기되는 것을 특징으로 한다.
본 발명에 있어서, 상기 에러 발생 여부를 판별하는 단계에서, 상기 마스터 장치는, 상기 마스터 장치가 이전 명령 전송 단계에서 상기 슬레이브 장치에 전송한 데이터에 대하여 생성한 제1 CRC 값과, 상기 마스터 장치가 현재 명령 전송 단계에서 상기 슬레이브 장치로부터 수신한 제2 CRC 값을 CRC 비교부를 통해 비교하여, 상기 제1,2 CRC 값이 동일하면 에러가 발생하지 않은 것으로 판별하고, 상기 제1,2 CRC 값이 동일하지 않으면 에러가 발생한 것으로 판별하는 것을 특징으로 한다.
본 발명은 마스터 장치와 슬레이브 장치 간에 에스피아이(SPI) 통신 시 상기 마스터 장치가 상기 슬레이브 장치로 데이터를 송신함과 동시에 상기 슬레이브 장치로부터 씨알씨(CRC) 값을 수신하여 체크함으로써 통신 에러 발생을 빠르게 판별할 수 있도록 한다.
도 1은 본 발명의 일 실시예에 따른 에스피아이 통신 장치의 개략적인 구성을 보인 예시도.
도 2는 상기 도 1에 있어서, 에스피아이 통신 장치의 마스터 장치가 슬레이브 장치에 데이터를 라이트 할 때의 타이밍 차트를 보인 예시도.
도 3은 상기 도 1에 있어서, 에스피아이 통신 장치의 마스터 장치가 슬레이브 장치로부터 데이터를 리드 할 때의 타이밍 차트를 보인 예시도.
이하, 첨부된 도면을 참조하여 본 발명에 따른 에스피아이 통신 장치 및 방법의 일 실시예를 설명한다.
이 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 에스피아이 통신 장치의 개략적인 구성을 보인 예시도이다.
도 1에 도시된 바와 같이, 본 실시예에 따른 에스피아이 통신 장치는, 마스터 장치(100)와 슬레이브 장치(200)를 포함한다.
상기 마스터 장치(100)는 SPI 인터페이스부(110), CRC 발생부(120), SPI 제어부(130), 및 CRC 비교부(131)를 포함하고, 상기 슬레이브 장치(200)는 SPI 인터페이스부(210), CRC 발생부(220), 및 SPI 제어부(230)를 포함한다.
이때 상기 마스터 장치(100)는 차량 내 전자제어장치(예 : ECU)의 마이크로컨트롤러(미도시)와 연결되어 있을 수 있고, 상기 슬레이브 장치(200)는 차량 내 주변기기(미도시)나 다른 전자제어장치와 연결되어 있을 수 있다.
상기 마스터 장치(100)의 SPI 인터페이스부(110)는 상기 슬레이브 장치(200)의 SPI 인터페이스부(210)와 SPI 프로토콜을 통해 데이터를 송수신한다.
상기 마스터 장치(100)의 CRC 발생부(120)는 미리 설정된 임의의 CRC 생성 알고리즘을 이용하여 상기 마이크로컨트롤러(미도시)로부터 상기 SPI 제어부(130)에 입력되는 데이터에 대한 CRC 값을 생성한다.
상기 마스터 장치(100)의 SPI 제어부(130)는 상기 슬레이브 장치(200)로 전송할 데이터에 대한 CRC 값을 상기 CRC 발생부(120)를 통해 생성하여 상기 CRC 비교부(131)에 순차로 보내 저장한다.
이때 상기 마스터 장치(100)가 상기 슬레이브 장치(200)에 데이터를 전송한다는 의미는, 상기 슬레이브 장치(200)의 레지스터(또는 내부 메모리)에 어드레스(Address)를 지정하여 상기 데이터를 라이트(Write) 하는 것을 말한다. 상기 데이터 라이트를 위해 상기 마스터 장치(100)는 SDI 단자를 통해 Control 코드(즉, 라이트 명령), 어드레스(데이터를 라이트 할 슬레이브 장치의 어드레스), 및 데이터를 조합하여 전송한다(도 2 참조).
반대로 상기 마스터 장치(100)가 상기 슬레이브 장치(200)로부터 데이터를 수신한다는 의미는, 상기 슬레이브 장치(200)의 레지스터(또는 내부 메모리)에 어드레스(Address)를 지정하여 그 어드레스에 기록되어 있는 데이터를 리드(Read) 하는 것을 말한다. 상기 데이터 리드를 위해 상기 마스터 장치(100)는 SDI 단자를 통해 Control 코드(즉, 리드 명령), 및 어드레스(데이터를 리드 할 슬레이브 장치의 어드레스)를 조합하여 전송한다(도 3 참조).
상기 슬레이브 장치(200)의 SPI 인터페이스부(210)는 상기 마스터 장치(100)의 SPI 인터페이스부(110)와 SPI 프로토콜을 통해 데이터를 송수신한다.
상기 슬레이브 장치(200)의 CRC 발생부(220)는, 미리 설정된 임의의 CRC 생성 알고리즘을 이용하여, 상기 마스터 장치(100)로부터 전송받은 데이터에 대한 CRC 값을 생성한다.
상기 슬레이브 장치(200)의 SPI 제어부(230)는 상기 마스터 장치(100)로부터 데이터를 전송받으면, 상기 CRC 발생부(220)를 통해 현재 전송받은 데이터에 대한 CRC 값을 생성하여 다음 명령(상기 마스터 장치로부터의 리드 혹은 라이트 명령)에 동기시켜 상기 생성된 CRC 값을 상기 마스터 장치(100)에 전송한다.
이때 상기 슬레이브 장치(200)로부터 전송된 CRC 값은 상기 마스터 장치(100)의 SDO 단자를 통해 리드(Read)된다. 다만, 상기 슬레이브 장치(200)로부터 현재 전송받은 CRC 값은 상기 마스터 장치(100)가 이전에 전송한 데이터에 대하여 생성된 CRC 값이다.
다시 말해, 상기 슬레이브 장치(200)는 상기 마스터 장치(100)로부터 수신하는 데이터에 대한 CRC 값을 생성한 후, 상기 마스터 장치(100)로부터의 다음 번 명령(라이드 혹은 리드) 동작에 동기하여 SDO(마스터 장치의 SDO) 전송선로를 통해 SDI(마스터 장치의 SDI)의 어드레스 부분(즉, 위치나 타이밍)에 맞춰 상기 생성한 CRC 값을 상기 마스터 장치(100)로 전송한다(도 2, 3 참조).
따라서 상기 마스터 장치(100)는 현재 단계(즉, 현재 명령 단계)의 데이터를 상기 슬레이브 장치(200)에 전송함과 동시에 바로 이전 단계(즉, 이전 명령 단계)에서 전송했던 데이터에 대한 CRC 값을 상기 슬레이브 장치(200)로부터 수신한다.
이에 따라 상기 마스터 장치(100)의 SPI 제어부(130)는 현재 단계에서 수신한 CRC 값(즉, 마스터 장치가 이전 단계에서 슬레이브 장치에 전송한 데이터에 대한 CRC 값)을 상기 CRC 비교부(131)로 전송하고, 상기 CRC 비교부(131)를 통해 상기 마스터 장치(100)의 CRC 발생부(120)가 이전 단계에서 생성하여 보냈던 CRC 값과 비교한다.
상기 마스터 장치(100)의 SPI 제어부(130)는 상기 CRC 비교부(131)에서의 CRC 값의 비교 결과에 따라, 현재 단계에서 수신한 CRC 값이 이전 단계에서 전송했던 데이터에 대한 CRC 값과 동일하면 데이터 에러가 발생되지 않은 것으로 판단하고, 현재 단계에서 수신한 CRC 값이 이전 단계에서 전송했던 데이터에 대한 CRC 값과 다르면 데이터 에러가 발생된 것으로 판단한다.
상기와 같이 본 실시예는 상기 마스터 장치(100)가 별도의 CRC 체크 명령을 슬레이브 장치(200)에 출력하지 않고, 상기 마스터 장치(100)가 상기 슬레이브 장치(200)에 데이터를 라이트하거나 리드함과 동시에 상기 슬레이브 장치(200)로부터 이전 단계에 전송했던 데이터에 대한 CRC 값을 전송받아 상기 CRC 값이 정상인지 판단함으로써 실시간에 가깝게 데이터 에러를 체크하여 곧바로 대응할 수 있도록 하는 효과가 있다.
도 2는 상기 도 1에 있어서, 에스피아이 통신 장치의 마스터 장치가 슬레이브 장치에 데이터를 라이트 할 때의 타이밍 차트를 보인 예시도이고, 도 3은 상기 도 1에 있어서, 에스피아이 통신 장치의 마스터 장치가 슬레이브 장치로부터 데이터를 리드 할 때의 타이밍 차트를 보인 예시도이다.
도 2를 참조하면, 상기 마스터 장치(100)는 CS 신호를 출력하여 해당 슬레이브 장치(200)를 선택하고, SCLK 클럭에 동기하여, 라이트 명령(Control), 데이터를 라이트 할 어드레스(Address), 및 상기 어드레스에 라이트 할 데이터의 순서로 조합하여 그 결과를 SDI 전송라인을 통해 전송한다.
이와 동시에 상기 마스터 장치가 이전 단계에 상기 슬레이브 장치(200)로 전송했던 데이터에 대한 CRC 값을 상기 슬레이브 장치(200)로부터 SDO 전송라인을 통해서 수신한다. 이때 상기 슬레이브 장치(200)로부터 전송되는 CRC 값은 상기 마스터 장치(100)가 전송하는 명령(즉, Control, Address, Data가 조합된 명령)의 어드레스 부분에 맞춰 전송된다.
도 3을 참조하면, 상기 마스터 장치(100)는 CS 신호를 출력하여 해당 슬레이브 장치(200)를 선택하고, SCLK 클럭에 동기하여, 리드 명령(Control), 및 데이터를 리드 할 어드레스(Address)의 순서로 조합하여 그 결과를 SDI 전송라인을 통해 전송한다.
이와 동시에 상기 마스터 장치(100)가 이전 단계에 상기 슬레이브 장치(200)로 전송했던 데이터에 대한 CRC 값을 상기 슬레이브 장치(200)로부터 SDO 전송라인을 통해서 수신한다. 이때 상기 슬레이브 장치(200)로부터 전송되는 CRC 값은 상기 마스터 장치(100)가 전송하는 명령(즉, Control, Address가 조합된 명령)의 어드레스 부분에 맞춰 전송된다. 그리고 상기 CRC 값에 이어서 상기 마스터 장치(100)가 요구한 어드레스에 대응하는 데이터가 전송된다.
이에 따라 상기 마스터 장치(100)의 SPI 제어부(130)는 현재 단계에서 수신한 CRC 값(즉, 마스터 장치가 이전 단계에서 슬레이브 장치에 전송한 데이터에 대한 CRC 값)과 상기 마스터 장치(100)의 CRC 발생부(120)가 이전 단계에서 생성했던 CRC 값을 상기 CRC 비교부(131)를 통해 비교한다. 그리고 상기 CRC 비교부(131)에서의 CRC 값의 비교 결과에 따라, 현재 단계에서 수신한 CRC 값이 이전 단계에서 전송했던 데이터에 대한 CRC 값과 동일하면 데이터 에러가 발생되지 않은 것으로 판단하고, 현재 단계에서 수신한 CRC 값이 이전 단계에서 전송했던 데이터에 대한 CRC 값과 동일하지 않으면 데이터 에러가 발생된 것으로 판단한다.
상기와 같이 본 실시예는 상기 마스터 장치(100)가 별도의 CRC 체크 명령을 슬레이브 장치(200)에 출력하지 않더라도, 상기 마스터 장치(100)가 상기 슬레이브 장치(200)에 데이터를 라이트하거나 리드함과 동시에 상기 슬레이브 장치(200)로부터 전송받은 상기 CRC 값이 이전 단계에 상기 슬레이브 장치(200)로 전송했던 데이터에 대한 CRC 값과 동일한지 여부에 따라 에러 발생 여부를 판별할 수 있도록 함으로써, 에러 발생을 빠르게 판별하여 대응할 수 있도록 하는 효과가 있다.
이상으로 본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술이 속하는 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 기술적 보호범위는 아래의 특허청구범위에 의해서 정하여져야 할 것이다.
100 : 마스터 장치
110 : 마스터 장치의 SPI 인터페이스부
120 : 마스터 장치의 CRC 발생부
130 : 마스터 장치의 SPI 제어부
131 : CRC 비교부
200 : 슬레이브 장치
210 : 슬레이브 장치의 SPI 인터페이스부
220 : 슬레이브 장치의 CRC 발생부
230 : 슬레이브 장치의 SPI 제어부

Claims (12)

  1. 에스피아이(SPI : Serial Parallel Interface) 프로토콜 방식으로 마스터 장치와 슬레이브 장치 간에 통신하게 하는 에스피아이 통신 장치에 있어서,
    상기 마스터 장치는,
    상기 슬레이브 장치에 전송할 데이터에 대한 제1 CRC(Cyclical and Redundancy and Check) 값을 생성하는 마스터 CRC 발생부;
    상기 슬레이브 장치로부터 현재 명령 전송 단계에서 수신되는 제2 CRC 값을 이전 명령 전송 단계에 생성된 제1 CRC 값과 비교하는 CRC 비교부; 및
    상기 제1,2 CRC 값의 비교 결과에 기초하여 이전 명령 전송 단계에 전송한 데이터에 대한 에러 발생 여부를 판별하는 마스터 SPI 제어부;를 포함하고,
    상기 슬레이브 장치는,
    상기 마스터 장치로부터 이전 명령 수신 단계에 전송받은 데이터에 대한 제2 CRC 값을 생성하는 슬레이브 CRC 발생부; 및
    상기 생성된 제2 CRC 값을 현재 명령 수신 단계에 상기 마스터 장치에 전송하도록 제어하는 슬레이브 SPI 제어부;를 포함하며,
    상기 마스터 장치는,
    상기 마스터 장치가 이전 명령 전송 단계에서 상기 슬레이브 장치에 전송한 데이터에 대하여 생성한 제1 CRC 값과, 상기 마스터 장치가 현재 명령 전송 단계에서 상기 슬레이브 장치로부터 수신한 제2 CRC 값을 상기 CRC 비교부를 통해 비교하여, 상기 제1,2 CRC 값이 동일하면 에러가 발생하지 않은 것으로 판단하고, 상기 제1,2 CRC 값이 동일하지 않으면 에러가 발생한 것으로 판단하는 것을 특징으로 하는 에스피아이 통신 장치.
  2. 제 1항에 있어서, 상기 마스터 장치 및 상기 슬레이브 장치는,
    SPI 프로토콜 방식으로 데이터를 송수신하는 마스터 SPI 인터페이스부 및 슬레이브 SPI 인터페이스부;를 각기 더 포함하는 것을 특징으로 하는 에스피아이 통신 장치.
  3. 제 1항에 있어서, 상기 마스터 장치는,
    상기 슬레이브 장치에 데이터 라이트 명령, 혹은 데이터 리드 명령을 전송하는 하는 것을 특징으로 하는 에스피아이 통신 장치.
  4. 제 3항에 있어서, 상기 마스터 장치는,
    상기 슬레이브 장치에 데이터 라이트 명령의 전송 시,
    SDI(Serial Data In) 단자를 통해 라이트 명령(Control), 데이터를 라이트 할 슬레이브 장치의 어드레스, 및 데이터를 순차로 조합하여 전송하는 것을 특징으로 하는 에스피아이 통신 장치.
  5. 제 3항에 있어서, 상기 마스터 장치는,
    상기 슬레이브 장치에 라이트 리드 명령의 전송 시,
    SDI(Serial Data In) 단자를 통해 리드 명령(Control), 및 데이터를 리드 할 슬레이브 장치의 어드레스를 순차로 조합하여 전송하는 것을 특징으로 하는 에스피아이 통신 장치.
  6. 제 1항에 있어서, 상기 슬레이브 장치로부터 전송되는 제2 CRC 값은,
    상기 마스터 장치에서 상기 슬레이브 장치에 전송하는 명령의 어드레스 위치에 동기되어 전송되는 것을 특징으로 하는 에스피아이 통신 장치.
  7. 삭제
  8. 에스피아이 프로토콜 방식으로 마스터 장치와 슬레이브 장치 간에 통신하게 하는 에스피아이 통신 방법에 있어서,
    상기 마스터 장치가, 마스터 CRC 발생부를 통해 상기 슬레이브 장치에 전송할 데이터에 대한 제1 CRC 값을 생성하는 단계;
    상기 슬레이브 장치로부터 현재 명령 전송 단계에서 수신되는 제2 CRC 값과 이전 명령 전송 단계에 생성된 제1 CRC 값을 CRC 비교부를 통해 비교하는 단계; 및
    마스터 SPI 제어부를 통해 상기 제1,2 CRC 값의 비교 결과에 기초하여 이전 명령 전송 단계에 전송한 데이터에 대한 에러 발생 여부를 판별하는 단계;를 포함하고,
    상기 슬레이브 장치가, 상기 마스터 장치로부터 이전 명령 수신 단계에 전송받은 데이터에 대한 제2 CRC 값을 슬레이브 CRC 발생부를 통해 생성하는 단계; 및
    슬레이브 SPI 제어부를 통해 상기 생성된 제2 CRC 값을 현재 명령 수신 단계에 상기 마스터 장치에 전송하는 단계;를 포함하며,
    상기 에러 발생 여부를 판별하는 단계에서,
    상기 마스터 장치는,
    상기 마스터 장치가 이전 명령 전송 단계에서 상기 슬레이브 장치에 전송한 데이터에 대하여 생성한 제1 CRC 값과, 상기 마스터 장치가 현재 명령 전송 단계에서 상기 슬레이브 장치로부터 수신한 제2 CRC 값을 CRC 비교부를 통해 비교하여, 상기 제1,2 CRC 값이 동일하면 에러가 발생하지 않은 것으로 판별하고, 상기 제1,2 CRC 값이 동일하지 않으면 에러가 발생한 것으로 판별하는 것을 특징으로 하는 에스피아이 통신 방법.
  9. 제 8항에 있어서,
    상기 슬레이브 장치에 데이터 라이트 명령을 전송할 경우,
    상기 마스터 장치는,
    SDI(Serial Data In) 단자를 통해 라이트 명령(Control), 데이터를 라이트 할 슬레이브 장치의 어드레스, 및 데이터를 순차로 조합하여 전송하는 것을 특징으로 하는 에스피아이 통신 방법.
  10. 제 8항에 있어서,
    상기 슬레이브 장치에 데이터 리드 명령을 전송할 경우,
    상기 마스터 장치는,
    SDI(Serial Data In) 단자를 통해 리드 명령(Control), 및 데이터를 리드 할 슬레이브 장치의 어드레스를 순차로 조합하여 전송하는 것을 특징으로 하는 에스피아이 통신 방법.
  11. 제 8항에 있어서, 상기 슬레이브 장치로부터 전송되는 제2 CRC 값은,
    상기 마스터 장치에서 상기 슬레이브 장치에 전송하는 명령의 어드레스 위치에 동기되는 것을 특징으로 하는 에스피아이 통신 방법.
  12. 삭제
KR1020140161326A 2014-11-19 2014-11-19 에스피아이 통신 장치 및 방법 KR101637998B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140161326A KR101637998B1 (ko) 2014-11-19 2014-11-19 에스피아이 통신 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140161326A KR101637998B1 (ko) 2014-11-19 2014-11-19 에스피아이 통신 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20160060181A KR20160060181A (ko) 2016-05-30
KR101637998B1 true KR101637998B1 (ko) 2016-07-12

Family

ID=56505317

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140161326A KR101637998B1 (ko) 2014-11-19 2014-11-19 에스피아이 통신 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101637998B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11663100B2 (en) 2020-06-02 2023-05-30 Analog Devices International Unlimited Company Serial interface with improved diagnostic coverage
US11860730B2 (en) 2021-12-06 2024-01-02 Waymo Llc Low-overhead, bidirectional error checking for a serial peripheral interface

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102150068B1 (ko) 2017-12-21 2020-08-31 주식회사 엘지화학 통신 진단 장치 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120226965A1 (en) * 2011-03-04 2012-09-06 Infineon Technologies Austria Ag Reliable Data Transmission with Reduced Bit Error Rate
JP2013131836A (ja) * 2011-12-20 2013-07-04 Azbil Corp シリアル通信方法、通信装置、およびシリアル通信システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120226965A1 (en) * 2011-03-04 2012-09-06 Infineon Technologies Austria Ag Reliable Data Transmission with Reduced Bit Error Rate
JP2013131836A (ja) * 2011-12-20 2013-07-04 Azbil Corp シリアル通信方法、通信装置、およびシリアル通信システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11663100B2 (en) 2020-06-02 2023-05-30 Analog Devices International Unlimited Company Serial interface with improved diagnostic coverage
US11860730B2 (en) 2021-12-06 2024-01-02 Waymo Llc Low-overhead, bidirectional error checking for a serial peripheral interface

Also Published As

Publication number Publication date
KR20160060181A (ko) 2016-05-30

Similar Documents

Publication Publication Date Title
JP5258343B2 (ja) 半導体装置及び半導体集積回路
US8069274B2 (en) System and method for serial data communications between host and communications devices, and communications device employed in the system and method
KR101558687B1 (ko) 직렬 통신 테스트 장치, 시스템 및 방법
JP2010528509A (ja) マスタ装置とスレーブ装置との間でのデータ伝送方法
KR101637998B1 (ko) 에스피아이 통신 장치 및 방법
US20060277339A1 (en) Communication apparatus, switching method, and switching program
US9128831B2 (en) Electrical device and method of setting address
JP5839713B2 (ja) 電子端末装置及び電子連動装置
US8291270B2 (en) Request processing device, request processing system, and access testing method
CN109995548B (zh) 设备管理方法、系统和数据传输方法、系统及终端设备
JP5279818B2 (ja) 試験モジュール、試験装置および試験方法
KR101703756B1 (ko) Lin 통신 스케쥴링 장치 및 방법
JP2021182300A (ja) メモリコントローラ、メモリシステムおよびメモリシステムの制御方法
US11977508B2 (en) Serial data communication with in-frame response
KR100801884B1 (ko) 플래시 메모리, 플래시 메모리의 제어 방법 및 직렬인터페이스 장치
US7920433B2 (en) Method and apparatus for storage device with a logic unit and method for manufacturing same
US20220327092A1 (en) Serial data communication with in-frame response
US20160173418A1 (en) Method and apparatus for transmitting can frame
CN117527637B (zh) 一种链路故障检测的方法、装置、存储介质及电子设备
US11700144B2 (en) Master slave communication system and control method for master slave communication system
US8843687B2 (en) Semiconductor device controlling outbound and inbound path switching sections based on a setting state and controlling method thereof
US20230032989A1 (en) Serial data communication with in-frame response
JP2014232414A (ja) I2c通信スレーブ装置
KR100812710B1 (ko) 제어 버스를 이용한 통신 방법 및 장치
JP5516402B2 (ja) 情報処理装置及び情報処理装置の制御方法

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
FPAY Annual fee payment

Payment date: 20190625

Year of fee payment: 4