inout portlarda acaba şöyle bir tehlikeli durum varmı.
tasarımda öngöremediğimiz bir hata yaptık ve test aşamasında çalışırken.
master port in olması gerekirken out olmuş ve 0 değeri vermiş olsun. slave de out olarak 1 değeri vermiş olsun.
bu iki port arasında bu durumda kısa devre oluşmuş olmuyormu.
Evet tehlikeli bir durum. Birbirine bagli iki port pini invert sinyaller cikartirsa kisa devre durumu gibi bir sey olusur fakat akim alip basini gitmez bir degerde sabit kalir. Uzun sure bu durumda kalirsa cipte kalici hata olusabilir.
(Cipin uzun vadede isindigina tanik oldum ama hasar gormedi.)
bende lehim atlaması olmuştu
STM32F103 - 2 pin de GPIO_Mode_Out_PP modundaydı
o portlar hemen yandı
STM32 bu konuda çok zayıf - üflemelik canı var
nerde o babayiğit 8051 :)
Alıntı yapılan: speak48 - 08 Eylül 2013, 11:30:12
inout portlarda acaba şöyle bir tehlikeli durum varmı.
tasarımda öngöremediğimiz bir hata yaptık ve test aşamasında çalışırken.
master port in olması gerekirken out olmuş ve 0 değeri vermiş olsun. slave de out olarak 1 değeri vermiş olsun.
bu iki port arasında bu durumda kısa devre oluşmuş olmuyormu.
Hocam söz konusu FPGA ise yanma ihtimali var. Çünkü çalışma gerilimleri düşük. Denemelerde devreye seri bir direnç bağlamak çözüm olabilir.
fpga için konuşuyorum.
birçok çevre biriminin ayarları i2c ile yapılmakta.
adres ve data gönderdikten sonra 1 bit ack alınmakta.
ack anında out ve sıfır verme durumunda kısadevre oluşurmu diye sormuştum.
eğer böyle durum oluşma ihtimali varsa arkadaş neden spi kullanmadınız.
Alıntı yapılan: speak48 - 09 Eylül 2013, 14:09:17
fpga için konuşuyorum.
birçok çevre biriminin ayarları i2c ile yapılmakta.
adres ve data gönderdikten sonra 1 bit ack alınmakta.
ack anında out ve sıfır verme durumunda kısadevre oluşurmu diye sormuştum.
eğer böyle durum oluşma ihtimali varsa arkadaş neden spi kullanmadınız.
yalnıız i2c çipler açısından sadece 0 durumunda akım akar yoksa 1 durumunda o port Z (yüksek empedans) durumunda olması gerekir. Çünkü sistemin 1 durumu ya bir devre veya basitçe pullup dirençleri ile sağlanır.
Hocam,
ambar7 hocam iyi bir noktaya değinmiş. Ben de daha önce(2011) benzer bir çalışma yaptım ve o zaman da hocamın dediği gibi Z(Yüksek Empedans) kullanmıştım. Ama gerçekleştirmedim. Similasyonda kalmıştı ve dosyalar duruyormu bilmiyorum. SDA sinyaline dikkat edersen ACK anlarında mavi renkte görünüyor.
(http://img192.imageshack.us/img192/5438/i2cwave.png)
mesaj birleştirme:: 09 Eylül 2013, 21:08:42
sinyalde kırmızı görünen yer test bench i çok karıştırmamak için olmuştu.