Bu teknik doküman B107AA R6 için hazırlanmış olup yeni yapılacak olan tasarımlara kaynak niteliğindedir.
FOTA Burn Buffer

Bu sayfa, FOTA katmanında ana işlemcinin (ATmega2560) ICSP/ISP hattının FOTA işlemcisine (ATmega328P) kontrollü şekilde bağlanmasını sağlayan Burn Buffer bloğunu dokümante eder.
Burn Buffer’ın amacı; güncelleme akışında:
- Ana MCU’nun GSM üzerinden indirdiği firmware’i SD karta yazması,
- Ardından FOTA MCU’nun ana MCU’yu ICSP üzerinden yeniden programlaması
senaryosunu sahada güvenli ve tekrarlanabilir hale getirmektir.
Blok hedefi
Ana MCU’nun ICSP hatları normalde harici programlayıcı içindir. FOTA mimarisinde aynı hatlar ayrıca kart üzerindeki ikinci bir programlayıcı (FOTA MCU) tarafından da kullanılacaktır.
Bu durumda en kritik mühendislik kuralı şudur:
Tek sürücü kuralı: Aynı anda ICSP hatlarını iki farklı kaynak sürmemelidir.
Burn Buffer bloğu, bu tek sürücü kuralını sağlayabilmek için ICSP hatlarını iki domain arasında OE kontrollü tri‑state bir yapı ile bağlar.
Topoloji
Bu blok, şematikte aşağıdaki yapı ile kurulur:
-
U19: TXS0104E (4‑bit seviye çevirici / buffer)
- VCCA = 3V3 (MASTER_ICSP domaini)
- VCCB = VFOTA (DIGITAL_ICSP domaini)
- OE = FOTA_BURN_EN (enable)
-
C126 / C127 = 100nF (U19 bypass, iki domain için ayrı)
-
R95 = 47kΩ pull‑down (FOTA_BURN_EN varsayılan LOW)
-
C128 = 33pF (FOTA_BURN_EN EMI filtresi)
Bu yapıda, OE pasifken U19 hatları “yüksek empedans” olur ve FOTA tarafı ICSP hattına yük oluşturmaz.
ICSP hat eşlemesi
Burn Buffer üzerinden taşınan hatlar, AVR ISP programlamada ihtiyaç duyulan 4 hattır:
| FOTA / Programlayıcı tarafı (DIGITAL_ICSP) | Ana MCU tarafı (MASTER_ICSP) | İşlev |
|---|---|---|
| DIGITAL_MISO | MASTER_MISO | Target → Programmer veri (MISO) |
| DIGITAL_MOSI | MASTER_MOSI | Programmer → Target veri (MOSI) |
| DIGITAL_SCK | MASTER_SCK | Programlama saat hattı (SCK) |
| DIGITAL_RESET | MASTER_RESET | Target reset (programlama penceresi) |
AVR ISP’de programlayıcı MOSI/SCK/RESET’i sürer; MISO’yu okur. Bu yüzden programlama sırasında hatların sürücüsü FOTA MCU olur.
Enable stratejisi (FOTA_BURN_EN)
Burn Buffer’ın doğru çalışması için OE hattı, sahada “default güvenli” olacak şekilde tasarlanmıştır:
- FOTA_BURN_EN = 0 (LOW): U19 tri‑state → FOTA tarafı ICSP’den izole.
- FOTA_BURN_EN = 1 (HIGH): U19 aktif → ICSP hatları iki domain arasında bağlanır.
Default güvenli durum
Boot/reset sırasında MCU pinleri tri‑state kalabilir. Bu durumda FOTA_BURN_EN hattının yanlışlıkla HIGH’a gitmesi, ICSP hatlarının gereksiz yere bağlanmasına ve hatta “bus contention” riskine yol açabilir.
Bu yüzden:
- R95 (47kΩ) hattı deterministik olarak LOW’a çeker.
- C128 (33pF) hızlı parazit bileşenlerini bastırır.
RC mertebe kontrolü:
Bu zaman sabiti ISP akışını yavaşlatmaz; sadece yanlış enable riskini düşürür.
FOTA akışında Burn Buffer nasıl kullanılır?
Aşağıdaki sıra, donanımın güvenli çalışması için “disiplin” olarak kabul edilir:
- Ana MCU firmware’i indirir ve SD karta yazar.
- Ana MCU, FOTA MCU’yu başlatır (VFOTA açılır).
- Programlama öncesi ana MCU ICSP hatları serbest olmalıdır (ana MCU reset ile hedef konuma alınır).
- FOTA MCU,
FOTA_BURN_EN=HIGHyaparak U19’u devreye alır. - FOTA MCU, AVR ISP protokolü ile ana MCU’yu programlar.
- Programlama bittiğinde
FOTA_BURN_EN=LOWyapılarak ICSP hattı tekrar izole edilir. - VFOTA kapanışı güç katmanı mantığına uygun şekilde tetiklenir.
Saha kuralı: FOTA sırasında harici ICSP programlayıcı bağlanmaz.
Aksi durumda aynı hatlar iki sürücü tarafından sürülebilir.
TXS0104E ile ISP/SPI uygunluğu
TXS0104E, otomatik yön algılayan bir seviye çeviricidir ve özellikle “push‑pull + hızlı kenarlı” sinyallerde her zaman ideal değildir.
ISP tarafında lehimize olan noktalar:
- ISP SCK frekansları pratikte düşük seçilebilir.
- Hatlar kart içi ve kısa tutulur.
Riskli noktalar:
- SCK kenarlarında overshoot/çınlama olursa hatalar artabilir.
- TXS ailesinin edge‑accelerator davranışı, bazı topolojilerde istenmeyen salınım oluşturabilir.
Bu yüzden R6 prototip doğrulamasında minimum test listesi:
- SCK dalga şekli (osiloskop): overshoot/undershoot, ringing
- ISP hız taraması: 125kHz / 250kHz / 500kHz gibi kademelerde stabilite
- Brown‑out / reset senaryosu: VFOTA aç-kapa sırasında yanlış enable var mı?
Eğer stabilite marjı düşük çıkarsa; TXS0104E yerine OE kontrollü tek yönlü tri‑state buffer (örn. 74LVC125/74LVC244) veya “gated MOSFET” yaklaşımı daha deterministik olabilir.
Layout / ürünleşme notları
- U19’un C126/C127 bypass kondansatörleri VCC pinlerine çok yakın konumlandırılmalı.
- ICSP hatları (SCK özellikle) kısa, temiz referans GND ile taşınmalı.
- OE hattı (FOTA_BURN_EN) dijital gürültüden uzak tutulmalı; R95/C128 U19’a yakın olmalı.
- Harici ICSP header mevcutsa, “servis prosedürü” ile FOTA çakışması önlenmeli (etiketleme / prosedür / firmware kilidi).
Komponent seçimi ve alternatifler
| Fonksiyon | Seçilen | Alternatifler | Yorum |
|---|---|---|---|
| 4‑bit buffer/level | TXS0104E (U19) | 74LVC125/244 + OE, SN74AXC4T245 | TXS hızlı kenarda riskli olabilir; prototip test şart |
| OE pull‑down | 47kΩ (R95) | 100kΩ | Default LOW garanti |
| OE filtresi | 33pF (C128) | 22–100pF (C0G/NP0) | EMI’ye göre ayarlanır |
| Bypass | 100nF (C126/C127) | 100nF + 1µF | VFOTA anahtarlama sertse ek fayda |
Tahmini maliyet analizi (Burn Buffer alt bloğu)
Aşağıdaki maliyetler tahmini olup tedarikçi/adet/stok durumuna göre değişir.
| Kalem | Adet | Prototip (1–10) | Pilot (100) | Seri (1k+) | Not |
|---|---|---|---|---|---|
| U19 – TXS0104E (TSSOP‑14) | 1 | $0.45 | $0.30 | $0.22 | Maliyet belirleyici |
| R95 47k (1%) | 1 | $0.002 | $0.001 | $0.0006 | 0402 |
| C128 33pF | 1 | $0.003 | $0.002 | $0.001 | C0G/NP0 tercih |
| C126/C127 100nF | 2 | $0.008 | $0.004 | $0.003 | 2× X7R |
| TOPLAM | $0.46 | $0.31 | $0.22 |
Bu toplam, yalnız Burn Buffer alt bloğunun BOM maliyetini verir. FOTA MCU, LED ve VFOTA power‑gating maliyetleri kendi sayfalarında değerlendirilir.