Linux ve Stm32 Ftdi

Başlatan sımışka, 04 Aralık 2020, 09:50:22

sımışka

Merhaba,

Ubuntu Mate tabanlı panel pc ile kendi tasarladığım stm32 tabanlı bir kart sahadan veri toplayıp panele gönderiyor. Uzun süre çalıştıktan sonra fakat sorunun neyden kaynaklandığını bulamadım henüz. Bir süre sonra paneldeki program ile iletişimim kesiliyor.

1. Linux device listesibde ttyUSB0 ı görebiliyorum. Reset yapmaya çalıştığımda ftdi resetleniyor fakat halen bağlanamıyorum. Debugger ile stm ye baktığımda uart hata kodu vs normal herhangi bir hata yok.
2. linux da yine ftdi yı unbind ve bind yapıyorum yine bağlantı kuramıyorum.
Ne zaman karta reset atsam veya usb portunu sök tak yapsam bağlantı kurmaya başlıyorum.

Linuxda reconnect sırasındaki errno sına bakacağım sorun hakkında belki bilgi verir diye akşam.

Daha önce bu tarz sorunla karşılaşan veya çözümü hakkında yönlendirme yapabilir misiniz ?
 

mehmet

Uykuya geçme durumu varsa iptal
edin. Öyle deneyin.
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

sımışka

İptal etmiştim hocam onu. Kernel boot "quiet splash usbcore.autosuspend=-1" yaptım.

z

Kullandigin FTDI cip cok eski modellerden mi?

Bir arkadasimin basina da tipa tip ayni sorun geldi. FTDI nin yeni serilerinden birisini kullaninca sorun duzeldi.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

sımışka

FT232RL kullanıyorum hocam, sık kullanılan bir ürün diye biliyorum. İsmi, ftdi sayfasındaki Discontinued ICs listesinde bulunmuyor..

z

Arkadasim linuxde bir log dosyasina bakiyordu. Orda sorun ile ilgili kisa bir aciklamadan yola cikarak sorunu cozmustuk.

Cip ve bagli oldugu donanim 90mAden fazla akim cekiyor buna karsilik ana kart USB portun akimini bu degeri karsilayamiyordu. Akimi artimak uzere descriptorleri de cip eski (BL serisi) oldugu icin ve kart uzerinde eeprom olmadigi icin yeniden olusturamiyorduk.

Yeni serilere gecince (yeni dedigim galiba RL idi) Driver da degistigi icin sorun kalkmisti.

Sorun bilgisayar gelisiguzel bir zamanda  donuyor, soft olarak restart ettiriliyor fakat FT232 donanim algilanmiyordu.

Algilatmak icin ille de cipin enerjisinin kesilip yeniden verilmesi gerekiyordu. Fakat bu bile bazen ise yaramiyordu.

Dedigim gibi FT232RL kullaninca sorun cozuldu. Aslinda asil sorun FT232BL ve minik bir MCU ayni kart uzerindeydi ve tasarimda cok basit hatalar yapilmis. (Transistorlerin base direncleri, led direncleri, opto led direncleri vs dusuk degerliydi ve toplamda cekilen akimin artmasina neden oluyordu.)
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

power20


sımışka

Alıntı yapılan: z - 04 Aralık 2020, 10:40:57Sorun bilgisayar gelisiguzel bir zamanda  donuyor, soft olarak restart ettiriliyor fakat FT232 donanim algilanmiyordu.
Soft reset ftdi a mı yoksa mikroişlemciye mi hocam ? Benim de aklıma şu an en hızlı işlemciye reset attırmak var ama işe yarar mı emin değilim

sımışka

Alıntı yapılan: z - 04 Aralık 2020, 10:40:57Cip ve bagli oldugu donanim 90mAden fazla akim cekiyor buna karsilik ana kart USB portun akimini bu degeri karsilayamiyordu. Akimi artimak uzere descriptorleri de cip eski (BL serisi) oldugu icin ve kart uzerinde eeprom olmadigi icin yeniden olusturamiyorduk.

Aslında bende arduinolarda olan yapıdan mevcut. usb ve harici besleme takılı olduğunda besleme üzerinden iş yapıyor. Operatör makina fail durumuna düştüğünde oldu 2 kere dedi ama emin değil oda tam. Harici takılan adatörden şüpheleniyorum veri toplama kartına bağlanan ama , defalarca fail durumlarına düştüğünde de böyle bir sorun olmuyor ki denk gelmiştir diye yorumluyorum... Stm içindeki kod yaşıyor sorun yok , uart hata koduda yok.

Hata durumunu simüle etmek için Linuxda usb kablosu halen bağlı iken;

Portları öldürüyorum, porta reset attırıyorum, ftdi reset alıyor, ledler flush yapıyor görüyorum gayet iyi,
Port gözüküyor unbind ve bind yapıyorum gene bağlanamıyorum. Kafayı yicem, kernel de birşeyleri değiştirmem gerekiyor fakat bir türlü bulamadım...

brandice5

Sorun panelde calisan programda olabilir. En iyisi open fonksiyonunun dondurdugu degere bakmak.

mehmet

sudo udevadm control --reload-rules && sudo udevadm trigger
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

sımışka

Alıntı yapılan: brandice5 - 04 Aralık 2020, 13:52:06Sorun panelde calisan programda olabilir. En iyisi open fonksiyonunun dondurdugu degere bakmak.


Evet ona bakacağım hocam akşam.

sımışka

Alıntı yapılan: mehmet - 04 Aralık 2020, 13:52:54
sudo udevadm control --reload-rules && sudo udevadm trigger
Denedim hocam çalışmadı bende bu. Putty tarzı bir programla open yapmaya çalışacağım kendi kodumla değilde öyle emin olmaya çalışacağım. Akşam tekrar gelişmeleri gireceğim.

muhittin_kaplan

#13
Hocam CuteCom kullanıyorum ben MINT de.
(FT232RL de problem yaşamıyorum,10 senelik modül)

sımışka

Güncelleme: Sorun linux kaynaklı olmadığı linuxda çalıştırdığım java tabanlı programdan kaynaklı olduğu ortaya çıktı. Problemi düzelttikten sonra cihaza yaklaşık 1 haftadır sorunsuz çalışıyor. Yorumlar için teşekkür ederim.

Alıntı yapılan: brandice5 - 04 Aralık 2020, 13:52:06Sorun panelde calisan programda olabilir. En iyisi open fonksiyonunun dondurdugu degere bakmak.
open da sorun yoktuda programda mantık hatası varmış onu buldum, bazen sorunu ararken çok uzaklara gitmeye gerek yokmuş ::ok  ::ok

Alıntı yapılan: muhittin_kaplan - 04 Aralık 2020, 18:48:33Hocam CuteCom kullanıyorum ben MINT de.
Bunu öğrenmem iyi oldu hocam, basit ve kullanışlı bir programmış kulllandım ::ok