작성
·
191
0
안녕하세요! SPI contoller ch.5 소스 코드에서 궁금한 점이 있어 질문 남깁니다.
timing 규격상 sck_index 값이 48일 때 send -> done 로 transition이 일어난다고 알고 있는데요
49까지 count 되는 경우에 delay 문제가 없는지 궁금합니다.
감사합니다.
답변 1
0
안녕하세요.
sck_index 값은 ss, sck, mosi 신호 생성을 위한 내부 신호입니다.
따라서 sck_index값이 1-clock 동안 잠시 49로 바뀌었다가 다시 0로 바뀌는 것은 전혀 문제가 되지 않습니다.
그러나 주의해야 할 것은 sck_index 값이 1-clock 동안 49로 바뀌는 것으로 인하여 ss, sck, mosi 신호가 잘못된다면 주의해야 합니다. 예를 들어 sck, ss가 1-clock 동안 1로 바뀐다거나(불필요한 신호가 생성됨) 한다면 이는 잘못된 것이기 때문에 그 부분이 발생하지 않도록 처리해 주어야 합니다.
아래는 ss, sck, mosi의 전체 파형을 보여줍니다. 전체 파형은 이상없이 잘 동작하고 있기 때문에 문제가 되지는 않습니다.
(사실 ss 신호가 좀 더 일찍 H->L 로 바뀌거나, 좀 더 늦게 L-H로 바뀐다고 해도 문제가 되지는 않습니다. spi slave에서 신호를 받아서 처리할 때에는 sck보다 높은 주파수(main clock)로 처리하기 때문입니다. 강의에서도 spi master를 구현하는 clock은 100Mhz를 사용합니다)
감사합니다 ~!!