---
title: "w5300과DSP간 연결문제"
url: "https://maker.wiznet.io/forum/9924"
markdown_url: "https://maker.wiznet.io/forum/9924/md"
type: "Forum topic"
category: "Ethernet Chips"
author: "tgo1800"
created: "2014-02-12T12:28:26+09:00"
last_activity: "2017-05-04T08:31:25+09:00"
language: "ko"
views: 1672
replies: 1
source: "WIZnet Makers forum (https://maker.wiznet.io/forum/)"
---

# w5300과DSP간 연결문제

## Question

Asked by tgo1800 on 2014-02-12 in Ethernet Chips.

w5300을 DSP의 외부메모리 인터페이스와 연결하여 사용하고 있습니다.

DSP와 PC와 1:1통신을 하는 용도로 사용하기 때문에 /CS는 필요하지 않을것 같은데

1. /CS 항상 LOW상태를 유지하도록 설정해도 되나요?

DSP의 어드레스핀 0~9 번을 w5300의 어드레스핀 0~9번과 연결하였습니다.

그런데 Direct모드 16bit 데이터 사용시 0번이 무시된다고 되어있는데

1. 그렇다면 DSP의 어드레스핀 0~8을 w5300의 어드레스핀 1~9번과 연결해야 하나요?

w5300을 zone6에 맵핑하고 데이터를 입력하였습니다. (#define **DEF_IINCHIP_MAP_BASE** 0x00100000)

그런데 제가 설정한 주소가 아닌 다음 주소와 그다음 주소에 데이터가 저장되었습니다.

0x100008 주소에 25를 저장하도록 하면 0x100009과 0x10000A에 25가 저장됩니다.

1. w5300의 메모리 문제인가요? 아니면 단순 DSP설정문제일까요?

## Replies

### Reply 1 by tgo1800, 2014-02-14

친절한답변 정말 감사드립니다.

말씀하신대로 진행하니 문자전송까지 잘 되었습니다.

그런데 궁금한게 몇가지 생겨서 질문드립니다.

getSn_SSR()함수의 출력값을 살펴본바 8bit가 넘는숫자가 출력되었습니다. (EX> 255, 275…)

그래서 함수 끝단에 리턴값을 다음과 같이 수정하여 사용하고 있습니다.

return (ssr & 0xff);

1. getSn_SSR()함수의 출력값이 8bit가 왜 넘나요? 제가 수정한 방법으로해도 문제가 없나요?

IP, Gateway, MAC등을 설정후 메모리 상태를 살펴 보았습니다.

1. 지정한 주소보다 한칸씩 뒤로밀려서 저장이 되어있는데 왜그런건가요?
   (ping테스트 및 문자전송은 됩니다.)
   [0x100005] 0x0008 0xDC11 ==> (mac - 00.08.DC.11.22.86)
   [0x100007] 0x2286 0x0000
   [0x100009] 0xC0A8 0x0001 ==> (Gateway - 192.168.0.1)

uint32 wiz_write_buf(SOCKET s,uint8* buf,uint32 len)
{
(생략)
for (idx = 0 idx &lt; len; idx+=2) // => for (idx = 0 idx &lt; len; idx++)
(생략)

PC에서 문자를 확인하는데 홀수번지의 데이터만 출력되어서

위 구문처럼 인덱스를 1씩 증가하도록 수정하였더니 잘 나왔습니다.

1. 제가 수정한 방법에 문제는 없나요?

---

Source: https://maker.wiznet.io/forum/9924
