Проблема связки Ethernet Shield (W5200) и Music Shield (SD + VS10xx)

rekrut683
Offline
Зарегистрирован: 01.03.2015

Всем доброго дня.

Столкнулся со следующей проблемой, пытаюсь сделать связку Arduino Mega2560, Ethernetd Shield 1.1 (Wiznet W5200) , Music Shield 2.0 (SD + VS10xx)

Сосбственно по отдельности все работает прекрасно, и Ethernet Shield работает с Мегой, и Music работает с Мегой.

1 проблема. У Music Shield и Ethernet Shield 10 pin используется под CS. Эту проблему я обошел, отогнул 10 пин у Музыки, сделал перемычку, изменил в библиотеке 10 pin на 9pin. Все работает Хорошо.

Далее, если составляю бутерброд.

Пытаюсь проверить музыку, перед тем как запустить песню, делаю следующее:

pinMode(4,OUTPUT);       /////////CS SD на Ethernet Shield'е отрубаем
digitalWrite(4,HIGH);

pinMode(10,OUTPUT);    ///////////CS W5200 отрубаем
digitalWrite(10,HIGH);

Музыка работает, все здорово.

 

Далее, пытаюсь проверить работу Ethernet Shield'а в бутерброде и пишу следующее:

pinMode(4,OUTPUT);       ///////CS SD Ethernet Shield отрубаем
digitalWrite(4,HIGH);

pinMode(9,OUTPUT);      /////////CS SD Music Shield отрубаем
digitalWrite(9,HIGH);

и Ethernet Shield не работает.

1. Если выключаю только Пин 4 (SD карту на эзернет шилде) и пытаюсь сделать так:

Ethernet.begin(mac,ip)
Serial.println(Ethernet.localIP());

то IP'шник выдает, и даже работает как сервер, но на WEb странице выдает все как будто с помехами, как-то много лишней инфы, и все неупорядоченно.

2. Если точно также, выключаю только пин 4 (SD карту на эзернет шилде) и пытаюсь сделать так:

Ethernet.begin(mac);
Serial.println(Ethernet.localIP());

то по DHCP так и получает IP. и ждал, и делал вывод если Ethernet.mac == 0

3. Если выключаю и пин 4 и пин 9 (SD карты на ethernet shield'e и music shield'e), то ни первый случай не работает, ни второй. Т.е. в любом случае IP не получает. В первом случае пишет 0.0.0.0

Еще раз повторюсь, по отдельности все прекрасно работает , и по DHCP и статика.

Но как только сверху ставлю music shield, то тому ничего не мешает, а вот ethernet shield'у что-то мешает.

Может подскажете в чем можно искать проблему?

rekrut683
Offline
Зарегистрирован: 01.03.2015

Такое ощущение, что шум какой-то на шине есть в это время, потому что даже в какой-то момент IP получает, смотрю в лог, а там

"яяяяяяяяяяяяяяяяяяяяяяяяяяяяя", 

При это музыка работает.

rekrut683
Offline
Зарегистрирован: 01.03.2015

Разобрался.

Взял плату с чипом w5100 и все заработало. + оставил родную библиотеку от Wiznet.

Но теперь в другом, вопрос:

Есть музыка, играет песня, и к примеру в это время мне нужно передать или получить какой-то пакет по сети, если в данном случае выбираю Eth, то музыка останавливается, т.к. получается убираю с шины SPI флешку, с которой играет музыка.

Как лучше в этой ситуации сделать?

Жать на паузу песню, когда хочу работать с сетью?

Использовать каким-то образом прерывания?

Или еще как-то?