WIZnet Developer Forum

[W5500] 수신 기능 안되는 현상

현재 W5500과 TMS320F28377D와 SPI 통신을 통한 개발을 수행중입니다.
W5500 칩 초기화 (Common register)설정은 된 듯 합니다.
Ping test 시 정상적으로 동작하고 있습니다. (Write 기능은 정상적으로 동작하는 듯 합니다.)
하지만 수신 안되는 듯 합니다.
첨부된 그림은 Address offset, 0x000F (Source IP Address 첫번째) 정보를 테스트 삼아 획득하려 했는데 안되는 것을 보여준 오실로스코프 화면 모습입니다. (1번 : CLK, 2번 : MOSI, 3번 : MISO, 4번 : CS)
3번 보라색이 (MISO) 핀인데 아무런 정보가 들어오지 않고 있습니다.
해결 방법이 어떻게 될까요?

안녕하세요

먼저, SPI가 제대로 동작한다고 하면,
MISO 값은 0x01, 0x02,0x03으로 나가야합니다.
보내주신 화면 정보에는 이와 같은 내용이 들어있지 않네요.

우선 Version register을 읽어보심 좋을것 같네요.
0x0039가 해당 레지스터이니, 먼저 테스트 해보심이 맞을 것 같습니다.

감사합니다.
irina

답변 감사합니다.
말씀하신대로 Version을 읽을 수 있게 데이터를 보내보았습니다.
아래의 그림에서 노랑색 (Ch. 1)은 SPI CLK이고, 보라색 (Ch. 3)는 MOSI, 하늘색 (Ch. 2)입니다.

말씀하신 대로 다음과 같이 Negative edge에 다음과 같은 비트 형태 데이터를 전송합니다.
(0000 0000 0011 1001 0000 0001 0000 0000)
앞에 24비트 데이터 전송시 데이터가 오지 않아 Dummy 데이터 (8bit)를 전송해보았습니다.
보시는 바와같이 MISO에 원치 않는 값이 들어오고 있는 상황입니다.
또한 MISO, MOSI 모두에서 negative edge에 데이터가 동기화 되고 있습니다.
어떤 문제이며 어떻게 해결 방법을 찾아야할까요?
답변 부탁드립니다.

한가지 더 문의 드리고 싶습니다.
현재 SPI CLK 신호가 IDLE 상태에서 high에 있습니다.
이 경우, 데이터 송신 (MOSI)은 SPI CLK의 negative edge에 동기화 되어 동작하고, 데이터 수신(MISO)는 SPI CLK의 rising edge에 동기화 되어 동작하는게 맞는지요?
현재 사용 중인 MCU (TMS320F28377)에서 CLK 신호의 negative edge에서 데이터를 전송하고 rising edge에서 데이터를 수신하도록 설정하였습니다.
아래는 사용하는 MCU의 SPI 데이터를 송수신 시 어떻게 CLK와 연동되는지를 나타내는 MCU의 데이터 시트에서 발췌해온 내용입니다.


답변 부탁 드립니다.

Copyright © 2017 WIZnet Co., Ltd. All Rights Reserved.