Merhaba,
Vestel 20BD46 elektronik kartının STM8S105K6T6C mikrodenetleyicisi tarafından kontrol edilen yazılımını incelemek istiyorum.
Amacım, NTC sıcaklık sensörlerinin çalışma prensibini ve mikrodenetleyicinin bu sensörlerden aldığı analog değerleri nasıl işlediğini teknik olarak anlamaktır.
İzlemek istediğim yöntem şu şekildedir:
1. ST-LINK V2 ve ST Visual Programmer kullanarak mikrodenetleyicinin Flash belleğini okumak ve S19 dosyası oluşturmak.
2. S19 dosyasını analiz etmek ve STM8 uyumlu bir araçla makine kodunu Assembly komutlarına dönüştürmek.
3. Mümkünse Ghidra veya başka bir araç kullanarak kodu decompile etmek.
4. ADC giriş kanallarını, kullanılan mikrodenetleyici pinlerini ve ADC kayıtlarını tespit etmek.
5. ADC dönüşüm sonuçlarının RAM bellekte nerede saklandığını ve Flash bellekteki NTC dönüşüm tablolarını bulmak.
6. ADC değerlerinden gerilim, gerilimden NTC direnci ve dirençten sıcaklık hesaplamasının nasıl yapıldığını belirlemek.
7. Sensörlerin kabul edilen minimum ve maksimum direnç veya ADC sınırlarını ve sensör arıza algılama koşullarını tespit etmek.
STM8S105K6T6C mikrodenetleyicisinin 10 bit ADC birimi vardır ve dönüşüm sonucu 0–1023 arasındadır.
Bu konuda daha önce çalışma yapmış olan veya benzer bir Vestel kartının yazılımını analiz etmiş olan arkadaşların yardımını rica ediyorum.
Teşekkür ederim.
NTC sensörlerinin nasıl değerlendirildiğini öğrenmek için MCU yazılımını, tersine mühendislikle incelemek şart değil.
1. Flash belleğin okunması
STM8S105K6T6C, programlanabilir ve okunabilir.
Ancak Read-Out Protection (ROP) yapılmışsa Flash belleği okuyamaz.
Dolayısıyla ilk olarak koruma varmı? bakmak lazım.
2. S19 dosyası kaynak kod değil, makine kodudur.
Öncelikle NTC'nin bağlı olduğu devrenin incelenmesi gerekir.
Mesela, NTC ile sabit bir direnç gerilim bölücü oluşturuyorsa ADC girişindeki gerilim sıcaklıkla değişir.
3. Programlama ile üç farklı yöntemyapılabilir:
a) ADC değerini doğrudan bir tabloyla (Look-up) karşılaştırabilir.
b) ADC değerinden NTC direncini hesaplayıp sıcaklığa dönüştürebilir.
c) Sıcaklık hesabı yapmadan yalnızca belirli ADC eşiklerini kontrol edebilir.
Dolayısıyla Flash bellekte mutlaka bir NTC sıcaklık tablosu bulunmayabilir.
4. Yöntem şu olabilir:
Önce kart üzerindeki NTC bağlantı şeması çıkarılmalı.
Böylece Flash belleği okumadan da sensörün çalışma aralığı, hata algılama seviyeleri ve sıcaklık kontrol şekli hakkında bilgiler elde edilir.
Amacınız yalnızca NTC sıcaklık kontrolünün çalışma prensibini öğrenmek mi, yoksa Vestel 20BD46 kartının mevcut sıcaklık sınırlarını değiştirmek mi?
NTC prensibini öğrenmek için pratik (doğru) bir yol değil.
Koılay gelsin