Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

странни неща с SPI slaves
http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=15624
Страница 1 от 1

Автор:  maiden [ Нед Дек 03, 2017 1:38 pm ]
Заглавие:  странни неща с SPI slaves

Здравейте,
компановката ми е следната - esp32 master и два слейва pic18f24k42 и enc28j60.
Различни чип селекти, пул ъпнати с 10к.
Четенето от pic18f24k42 е коректно.
Когато обаче искам да чета от enc28j60 има нещо гнило.
Правя чип селекта за pic18f24k42 във високо ниво( но той и без това е пулъпнат) и правя ниско ниво на чип селекта на enc28j60 .
И започвам да чета - нъцки.
Като допра сондите на волтметъра към чип селекта на пика и маса, комуникацията с enc-то се оправя и дори да махна уреда, вече четенето ми винаги е коректно и spi върви..
Не мога да се сетя от къде е проблема.
Явно пика се бърка, че искам да комуникирам с него, но защо..Пробвах с различни стойности на пулъпа му
Ако го държа в ресет пика, също се оправя комуникацията с enc-то

Автор:  Ники [ Нед Дек 03, 2017 1:54 pm ]
Заглавие:  Re: странни неща с SPI slaves

Дали пика не държи SPI- SDO пина като изход и да блокира ENC?

Автор:  ToHu [ Нед Дек 03, 2017 2:02 pm ]
Заглавие:  Re: странни неща с SPI slaves

нямаш ли скоп или някакъв анализатор ? Възможно е да е това което казва колегата, пика- да държи изхода си в 0, да не минава в тристейст :
34.6.1.1 SDO Drive/Tri-state
The TRIS bit associated with the SDO pin controls
whether the SDO pin will tri-state. When this TRIS bit is
cleared, the pin will always be driving to a level, even
when the SPI module is inactive. When the SPI module
is inactive (either due to the master not clocking the
SCK line or the SS being false), the SDO pin will be
driven to the value of the LAT bit associated with the
SDO pin. When the SPI module is active, its output is
determined by both TXR and whether there is data in
the TXFIFO.
When the TRIS bit associated with the SDO pin is set,
the pin will only have an output level driven to it when
TXR = 1 and the slave select input is true. In all other
cases, the pin will be tri-stated.

Автор:  maiden [ Нед Дек 03, 2017 10:17 pm ]
Заглавие:  Re: странни неща с SPI slaves

Да,
прекъснах(със ножчето) SDO от пика и заработи. Ще го видим де, като променим кода в пика при чип селект високо ниво, всички линии да са тристейт.
Интересното е, че има и SPI експандер и Enc Ethernet i pic18 на тоя spi закачени.
При четене от експандера няма никакъв проблем..

Ще видим
Възможно е архитектурата на pic18 slave да е съвсем различна от обичайните без процесорни чипове

Автор:  ToHu [ Нед Дек 03, 2017 10:30 pm ]
Заглавие:  Re: странни неща с SPI slaves

Ами има разлики защото това на пика ти е периферия, то е правено и да е мастър и да е слейв, и отделно там имаш GP I/O, те хората са го написали, сигурно си го пропуснал. Сложи си триса в 1-ца и всичко ще е наред. Експандери, и други SPI периферии са слейв, по подразбиране те са три стейт и кокато няма чип селект са в Z.

Автор:  stefan63 [ Пон Дек 04, 2017 9:29 am ]
Заглавие:  Re: странни неща с SPI slaves

Цитат:
Интересното е, че има и SPI експандер и Enc Ethernet i pic18 на тоя spi закачени.
При четене от експандера няма никакъв проблем..


Или експандера има много по-"як" изход от ПИКа, или има нещо в кода, което още не си осмислил.

Автор:  ToHu [ Пон Дек 04, 2017 11:02 am ]
Заглавие:  Re: странни неща с SPI slaves

Да това също е странно и нелогично, да вдигне на пика изкода в 1 .. не е невъзможно, по лесно е да го свали в 0-ла, ама то не е ясно в какво състояние стои.

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/