WIZnet Developer Forum

W5300 burst write 타이밍 정보 요청

고속 시리얼 통신으로 수신한 정보를 UDP 패킷으로 실시간 변환하여 전송하는 간단한 장비를 만드려 합니다.
최대 20Mbps 정도의 전송속도가 필요하기에 WIZnet 칩 중에서 host interface 통해 가장 빠른 bus transaction이 가능해 보이는 W5300을 선택한 상태입니다.

W5300 제어를 FPGA로 수행하려는데 W5300의 datasheet를 보아도 burst read/write를 지원하는지에 대한 정보가 없더군요.
googling을 하다보니 burst transaction을 지원한다는 정보까지는 확인하였으나 정확한 timing 정보를 얻지는 못하였습니다.

전송할 데이터를 register에 쓸 때 burst mode로 써야지 통신 속도를 최대화 할 수 있을 텐데,
burst transaction에 대한 타이밍 다이어그램이 datasheet에 없어서 좀 의아합니다.
이에 대한 구체적인 타이밍 정보를 부탁 드립니다.

추가적으로 포럼 글을 보다보니 W5300의 경우 MAC주소를 직접 설정해서 사용해야 하는데 WIZnet에서는 MAC주소를 제공 안하시는건가요?
그렇다면 다른 랜카드 같은 곳에서 MAC주소를 가져와야지만 정상적인 인터넷 통신을 할 수 있는건지요?

안녕하세요 :slight_smile:

W5300의 경우 8 또는 16bit bus를 사용하시면 20Mbps의 속도는 충분히 나오게 됩니다.
burst read/write를 공식적으로 지원하지는 않지만 CS를 떨어뜨려놓고 RD값을 튕겨주면 burst mode처럼 사용은 가능합니다. 이에 대한 타이밍 정보는 확인을 해보아야하기 때문에 시간이 좀 걸릴것 같습니다.

burst로 사용하지 않고 그냥 사용하셔도 20Mbps는 충분히 나옵니다.
MCU의 성능에 따라 안나올 수 도 있지만 그건 W5300의 문제가 아닌 MCU의 문제라 W5300과는 상관없습니다.

WIZnet의 Chip들은 모두 MAC 주소를 포함하지 않고 있습니다. 즉 제공하지 않습니다.
TEST는 상관없지만 실제 제품으로 사용시 MAC Address를 구매하셔야합니다.

Mac address는 4096개에 550불이고 1670만개에 1600불입니다. 판매는 IEEE에서 하고 있습니다.
부담스러우시면 Mac Address IC를 판매하고 있습니다.(MAC Address가 담겨 있는 EEPROM을 판매하고 있습니다.)
microchip.com/pagehandler/en … c/MAC.html

링크 해드린 IC는 고유한 MAC 주소가 담긴 I2C 통신방식의 EEPROM입니다. MCU에서 I2C를 이용해 읽은 후 W5300에 기록한 후 사용하는 방식입니다.

감사합니다.

답변 감사합니다. 몇가지 관련해서 더 문의드리고 싶은데요.

  1. CS를 떨어뜨려놓고 RD 값을 튕겨준다고 표현하셨는데 이 부분이 low(assert)와 high(de-assert)로 신호를 왔다갔다 하게 한다는 말씀인거죠?
    그런 경우 low 유지 시간은 스펙에 따라 최소 50ns를 유지하면 되겠는데 high 유지 시간은 얼마나 되어야 하는 건가요?
    정확한 타이밍을 알려주시는게 어렵다면 high 유지 시간의 대략적인 min 값이라도 알려주시면 감사하겠습니다.
    그리고 CS를 계속해서 떨어뜨려놓은 상태에서 RD 신호와 WR 신호를 번갈아 제어하면서 read와 write를 지속적으로 수행하는 것도 가능하겠지요?

  2. burst로 사용하지 않는다면 데이터시트 상의 타이밍에 따라 동작하는 것을 말씀하시는 것 같은데요.
    그런 경우 CS를 high로 de-assert한 이후에 다시 low로 assert하기까지 대기해야 하는 tCSn 시간이 최소 28ns나 되는데 너무 긴 것 같습니다.
    향후 혹시라도 데이터 전송속도를 크게 향상시켜야 할 필요가 있다면 이러한 방식에는 속도 한계가 있을 듯 하여 미리 burst transaction을 이용한 제어 방식을 이용하려는 것입니다.
    W5300 제품소개에 보면 네트워크 최대속도가 MAX 80Mbps로 기재되어 있는데 이러한 속도를 내려면 burst transaction을 필수적으로 이용해야 되는 것 아닌지요?

그럼 다시 한번 답변 부탁 드립니다~

답변이 늦어서 죄송합니다.

  1. 자세히 알아본결과 Burst Mode는 지원이 안되는게 맞습니다.

  2. MAX 80Mbps를 내기위해 테스트한 환경은 ARM9에 16bit BUS mode, Read Only로 Application Level에서 측정했을때 80Mbps가 나오는 것을 확인을 했습니다. 즉 별다른 설정없이 16bit Bus mode만 사용을 하면 80Mbps의 속도가 나올 수 있다는 말입니다. 하지만 네트워크 환경이나 MCU의 성능에 따라 속도가 저하될 수 있습니다. burst는 지원하지 않기 때문에 필수적으로 이용하는 것이 아닙니다.

감사합니다.

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