RADYO ELEKTRONİK VE ELEKTRİK MÜHENDİSLİĞİ ANSİKLOPEDİSİ FLASH bellek yongalarının programlanması. Radyo elektroniği ve elektrik mühendisliği ansiklopedisi Radyo elektroniği ve elektrik mühendisliği ansiklopedisi / Mikrodenetleyiciler FLASH teknolojisi kullanılarak yapılan, verilerin elektriksel olarak silinmesine sahip yeniden programlanabilir salt okunur bellek yongaları, elektronik ve bilgisayar teknolojisinde diğer kalıcı depolama cihazlarının yerini alarak güçlü bir konum edinmiştir. Başlıca avantajları, çipi baskılı devre kartından sökmeden veya panelden çıkarmadan "sistemde" yeniden programlayabilme yeteneğidir. İzin verilen çok sayıda yeniden programlama döngüsü, hareketli parçaların tamamen yokluğunda geleneksel sabit veya disket manyetik disk sürücülerinden farklı olan, onlarca megabayt kapasiteli bu tür "FLASH diskler" mikro devreleri üzerine inşa edilmesini mümkün kılar. Bu sayede dayanıklıdırlar ve örneğin arabalar ve diğer hareketli nesneler gibi güçlü titreşim koşullarında çalışabilirler. Yayınlanan makale FLASH bellek yongalarının programlanması konularına ayrılmıştır. FLASH bellek yongalarını diğer ROM türlerinden ayıran şey, doğrudan yonga üzerinde yerleşik bir "programlayıcının" - bir silme ve yazma makinesinin (AC3) - bulunmasıdır. Programlama işlemi sırasında mikro devre terminallerine artan voltaj uygulama ihtiyacını ortadan kaldırır ve belirli darbe dizileri oluşturur. AC3 tüm bunları bağımsız olarak ve kullanıcı tarafından fark edilmeden yapar; kullanıcı yalnızca hücre adresini ve ona yazılması gereken kodu belirtmek için uygun komutu kullanabilir ve işlemin tamamlanmasını bekleyebilir. Çoğu durumda, uzun bir işlem (bir veri bloğunun silinmesi gibi) duraklatılabilir, ihtiyaç duyulan bilgi belleğin başka bir alanından okunabilir ve ardından devam edilebilir. Bugün birçok şirket (en ünlüleri Intel. AMD. Atmel. Winbond'dur) 4 MB'a kadar kapasiteye sahip çok çeşitli FLASH bellek yongaları üretmektedir. Harici arayüzleri paralel veya seri olabilir. Seri arayüze sahip mikro devreler, öncelikle küçük miktarlardaki verileri küçük boyutlu veya özel cihazlarda depolamak için, örneğin bir radyo alıcısı için sabit ayarları veya elektrikli bir ev cihazının çalışma programını depolamak için tasarlanmıştır. Daha sonra, işlemci ile arayüzün fiziksel ve mantıksal tasarımı açısından geleneksel ROM'lardan farklı olmayan, RAM gibi bir yazma etkinleştirme girişine sahip olmaları dışında "paralel" FLASH mikro devrelerden bahsedeceğiz. Modern bilgisayarların BIOS kodları böyle mikro devrelerde saklanır. Veri organizasyonu sekiz veya 16 bit olabilir. Çoğu zaman, özel olarak sağlanan bir terminalin ortak bir kabloya veya güç kaynağına bağlanmasıyla seçilebilir. Adres ve veri yollarına ek olarak, mikro devrelere üç kontrol sinyali verilir: kristal seçimi (CE), çıkış etkinleştirme (OE) ve yazma etkinleştirme (WE). İkincisi yalnızca mikro devrenin programlanması gerekiyorsa geçerlidir. Minimum okuma döngüsü süresi 70...150 ns'dir. İlk FLASH yongalarında, bellek hücreleri dizisi tek bir bloktu ve veriler yalnızca dizinin tamamından tamamen silinebiliyordu. Birçok modern mikro devrede bellek bloklara bölünmüştür ve bunlardan birindeki verilerin silinmesi, diğerlerinde depolanan verileri etkilemez. Blok boyutları 128 bayttan 128 KB veya daha fazlasına kadar büyük farklılıklar gösterir. Ancak veri okurken mikro devrenin tüm belleği tek bir dizi olarak kabul edilir. fiziksel olarak bloklara bölünmüş olması önemli değil. Genellikle bloklar aynıdır ve eşit haklara sahiptir ancak farklı da olabilirler. Örneğin, Intel 28Fxxx serisi yongalar, 16 KB kapasiteli bir önyükleme bloğuna ve her biri 8 KB'lik iki parametre bloğuna sahiptir. Daha sonra 96 KB'lık bir blok gelir ve belleğin geri kalanı 128 KB'lık bloklardan oluşur. Bu blokların özellikleri biraz farklıdır. Önyükleyicinin donanım yazma ve silme koruması vardır. İlgili mantıksal seviyenin mikro devrenin özel olarak sağlanan bir pimine uygulanmasıyla açılır. Parametre blokları sık sık değiştirilen verileri depolamak üzere tasarlanmıştır ve diğerlerine göre daha fazla sayıda silme/yazma döngüsüne dayanabilir. Söz konusu serideki mikro devrelerin her biri, blokların adres alanına yerleştirilmesinde farklılık gösteren iki versiyonda üretilmektedir. B indeksli (altta) mikro devrelerde, sıfır adresinden başlayarak yukarıda belirtilen sıraya göre yerleştirilirler. T indeksine (üst) sahip ürünlerde sıra tersine çevrilir (önyükleme - yüksek adresler alanında). Şu anda üretilen FLASH bellek yongaları, 2.7 ila 5 V arasındaki nominal besleme voltajları için tasarlanmıştır. Arttırılmış voltaj (12 V) onlar için hiç gerekli değildir veya yalnızca bazı özel modlarda gereklidir. Pasif (“seçilmemiş”) durumda, bu tür mikro devreler güç kaynağından 1 mA'dan fazla olmayan bir akım tüketir (çoğu durumda onlarca kat daha az). Bazen tüketimin ihmal edilebilir olduğu özel bir tam kapatma modu (uyku modu) sağlanır. Doğru, "uykuda" bir mikro devreden veri okumak imkansızdır, ancak onu "uyandırmak" mümkündür. bazen birkaç on mikrosaniye sürer. Aktif modda akım tüketimi onlarca miliamperdir ve AC3'ü uzun süreli bir işlem (örneğin verileri silmek) gerçekleştiren bir mikro devreyi pasif duruma geçirirseniz, akım tamamlanana kadar azalmayacaktır. FLASH bellekte saklanan verilerin, özellikle gücü açıp kapatırken gürültü ve geçici olayların etkisi altında, kazara yapılan değişikliklerden korunmasına çok dikkat edilir. Çoğu durumda üç tür donanım koruması vardır. Birincisi şudur. mikro devrenin WE devresindeki 15...20'den daha kısa süreli darbelere yanıt vermemesi, ikincisi ise OE girişindeki mantıksal seviye düşük olduğunda, diğer girişlerdeki sinyallerin hiçbir manipülasyonunun kayda neden olamayacağıdır üçüncüsü de şudur. besleme voltajı belirli bir seviyenin altına düştüğünde AC3'ün kapatılmasıdır. Farklı mikro devre türleri için kapatma eşiği 1.5...3.8V aralığındadır. Bazen veri dizisinin tamamının veya parçalarının değiştirilmesini ve silinmesini tamamen yasaklamak mümkündür. Böyle bir yasağı koymak veya kaldırmak genellikle "olağanüstü" önlemler gerektirir (örneğin, belirli terminallere kısa süreliğine yüksek voltaj uygulanması). Yazılım koruması da sağlanmaktadır. Bir hücrenin içeriğini değiştirmek için geleneksel RAM'de olduğu gibi FLASH bellek yeterli değildir. tek adrese tek kod yazın. Belirli adreslere yazılan birkaç koddan oluşan bir komut gereklidir. Herhangi bir FLASH yongası, türünü kurulduğu cihaza iletme yeteneğine sahiptir; bu, istenen veri kaydetme ve silme algoritmalarını otomatik olarak seçmenize olanak tanır. Tanımlayıcı okuma modunu programlı olarak etkinleştirmek ve devre dışı bırakmak için ilgili komutlar sağlanır. Açıldıktan sonra üreticinin tanımlayıcısı OH adresinde ve cihaz 1H adresinde okunur (bazı mikro devrelerin tanımlayıcıları tabloda verilmiştir). Aynı modda, ancak farklı adreslerde, bazı durumlarda, örneğin donanım yazma korumasının durumu hakkında ek bilgiler edinebilirsiniz. A9 adres girişine +12 V voltaj uygulayarak komut olmadan tanımlayıcı okuma moduna geçebilirsiniz.Değerinin izin verilen sapması, farklı mikro devre türleri için farklıdır. Bazı durumlarda bu oran ±%5'ten fazla değildir. diğerlerinde voltajın yalnızca belirli bir değeri, örneğin 10 V'yi aşması yeterlidir. Tanımlayıcılar yukarıdaki adreslerde okunur ve A9 rakamı dikkate alınmadan ayarlanır. Bu yöntem genellikle evrensel programcılar tarafından kullanılır. Çoğu FLASH bellek yongasının AC3'ü, istisnalar olmasına rağmen, JEDEC standardı olarak adlandırılan standarda uygun olarak verilen komutları kabul eder. Bazen, mikro devreleri yükseltirken, komut sistemleri standart kod kombinasyonlarıyla desteklenirken eski komutlar korunur (yükseltilmiş kristallerin daha önce piyasaya sürülen cihazlarda çalışabilmesi için bu gereklidir). Intel kendi komut sistemini kullanıyor. Komutlara detaylı bir şekilde bakmadan önce FLASH chiplerin bağlanmasından biraz bahsedelim. Aynı tipteki mikro devreler genellikle konum, adım ve pin sayısı bakımından farklılık gösteren çeşitli paketlerde üretilir. Çoğu zaman, baskılı iletkenlerin topolojisini değiştirmeden mikro devreleri kartın herhangi bir tarafına kurmanıza olanak tanıyan "ayna" seçenekleri sunulur. Aşağıdaki diyagramlarda yer alan pin numaraları, en yaygın 512 pinli PLCC ve PDIP paketlerindeki 32 KB bellek yongaları için standarttır. Daha küçük mikro devrelerin "pin çıkışı" benzerdir, ancak en önemli bitlerin pinleri bağlı değildir (örneğin, Am29F010'da 30. ve 1. bitler serbesttir). Şekil 1'de gösterilene benzer bir devre. Çipi mikroişlemci sisteminden çıkarmadan veri silmek ve yazmak gerekiyorsa XNUMX kullanılır. Sistem veri yolunun sekiz bit, adreslerin ise 16 bit olduğu varsayılmaktadır. ROM'a 32 KB adres alanı ayrılmıştır, geri kalanı RAM tarafından işgal edilebilir.Am29F040 bellek kapasitesi 512 KB olduğundan, adresin yüksek dereceli bitlerini kontrol eden bir FLASH bellek sayfa kaydı sağlanır. Verileri okumak ve yazmak için aşağıdaki basit prosedürleri kullanabilirsiniz (Pascal'da yazılmıştır): FLASH çipini çalışacağı cihazın dışında programlamanız gerekiyorsa kişisel bir bilgisayara bağlanabilir. Bunu yapmanın en kolay yolu bilgisayarınıza ek bir paralel giriş/çıkış kartı takmaktır. Bu tür kartlar, örneğin Advantech'ten PCL-731, IOP DAS'tan DIO-48 veya ADLink'ten PET-48DIO ticari olarak temin edilebilir. Kural olarak, 48 giriş/çıkışa sahiptirler ve gerçekte bu tür mikro devreler içermeseler bile, aynı bilgi ve kontrol bağlantı noktalarına sahip O modunda iki 8255 mikro devreye (KR5806B55A) benzer şekilde çalışırlar. Gerektiğinde N. Vasilyev'in “PC Interface Expander” (Radio, 1994, No. 6, s. 20, 21) makalesinden yararlanılarak paralel giriş/çıkış kartı bağımsız olarak yapılabilir. Okumak veya programlamak için FLASH yongası, Şekil 8255'de gösterilen şemaya göre iki 2 yongasının bağlantı noktalarına bağlanır. 24. Bunlardan ilkinin RA portu veri girişi/çıkışı için kullanılır, PC portunun bireysel bitleri CE, OE ve WE kontrol sinyallerinin çıkışı için kullanılır. İkincinin PA, PB ve PC bağlantı noktaları FLASH yongasının XNUMX bit adres veriyolunu oluşturur. Bu veri yolunun daha düşük bir bit genişliği yeterliyse, PC bağlantı noktasının karşılık gelen sayıdaki yüksek dereceli bitleri bağlanmaz. G/Ç kartı bağlantı noktaları ve yardımcı sabitler programda aşağıdaki şekilde açıklanmalıdır: FLASH belleğe erişim için yukarıda açıklanan prosedürler aşağıdakilerle değiştirilmiştir: м Şimdi - aslında FLASH yongalarının programlanmasıyla ilgili. JEDEC standardına göre her komut 5555H adresine OAAN kodunun yazılmasıyla başlar. Daha sonra 55AAAN adresine 2H kodunu ve son olarak 5555N adresine gerçekleştirilen işlemin kodunu yazın. Örneğin 40H komutundan bahsederken, işlem kodu olarak 40H rakamının olduğu bir diziyi kastedeceğiz. Gücü açtıktan sonra herhangi bir FLASH yongası otomatik olarak bu moda girer ve özel bir komutla kurulmasına gerek yoktur. Ancak örneğin tanımlayıcıları okuma modundan geri dönmek gerekir. Buna bazen sıfırlama veya ilk kurulum komutu denir. Bazı mikro devreleri dizi okuma moduna geçirmek için herhangi bir adrese 0F0H kodunun bir kez yazılması yeterlidir. 0A0H komutunu takip eden yazma döngüsü, programlanabilir hücrenin adresini ve ona yazılan kodu içerir. Çoğu durumda her hücreye yazmak ayrı bir komut gerektirir. Geleneksel EEPROM'larda olduğu gibi, programlanabilir bir hücrenin bitlerinde mantıksal olanları yalnızca sıfırlarla değiştirebileceğinizi unutmayın. Ters işlemi gerçekleştirmek için genellikle ilk önce tüm bellek bloğunun içeriğini silmek ve tüm hücrelerin programlanmasını tekrarlamak gerekir. Çoğu FLASH yongasının AC3'ünün bu tür hataları tanımadığını ve başarılı bir işlem bildirdiğini lütfen unutmayın. Doğru programlamayı sağlamak için kaydedilen verilerin test okuması gereklidir. 128 bayt boyutunda bloklara sahip Winbond mikro devrelerinde, herhangi bir hücrenin programlanması, onu içeren bloktaki tüm verilerin silinmesiyle otomatik olarak gerçekleştirilir. Bu nedenle, her zaman önce bloğu RAM'e kopyalamalı, kopyada gerekli değişiklikleri yapmalı ve 128 baytın tamamını yeniden programlamalısınız. OAON komutunu, adresi ve programlanabilir baytlardan ilkini alan AC3, bunu bloğun dahili arabelleğine girer ve programlamaya başlamadan 200 μs bekler. Bu süre zarfında başka bir OAON komutu ve başka bir bayt alınırsa, o da ara belleğe gidecek ve AC3 bir sonraki için 300 μs daha bekleyecektir. Bu o zamana kadar devam ediyor. bloğun 128 baytının tamamı alınana veya duraklatma izin verilen değeri (300 µs) aşana kadar. Bundan sonra AC3 bloğu siler ve asıl programlamaya başlar. Bloktaki farklı hücreler için verilerin arabelleğe yazılma sırası önemli değildir, ancak veri alınmayan hücreler programlama sonrasında 0FFH kodlarını içerecektir. Böyle bir çipe programlama verilerini yazmanın iki yolu vardır. Bunlardan ilkine (başkaları için sıradan) yazılım korumalı denir. Yazılan her bayttan önce bir OAON komutu gelmelidir. Ancak, 80H ve 20H sıralı komutları verilerek koruma devre dışı bırakılabilir. Bundan sonra, herhangi bir adrese yazılan bayt, mikro devrenin dahili arabelleğine girer ve bu mod, güç kapatılıp açıldıktan sonra bile korunur. Bunu BM'nin emrine bırakıyorlar. Intel FLASH mikro devresine veri yazmak için iki eşdeğer komut seçeneği sağlanır. Öncelikle herhangi bir adrese 40H veya 10H kodlarından biri yazılır. ve ardından - istenen adresteki programlanabilir kod. Komut "Tüm hafızayı sil". AC3 FLASH çipi bu önemli işlemi iki komut dizisini (80H ve 10H) alarak başlatır. Intel çiplerine, rastgele adreslere 20H ve 0D0H kodları yazılarak benzer bir komut veriliyor. Belleğin tüm içeriğinin silinmesi onlarca milisaniyeden birkaç saniyeye kadar sürer. Bazı mikro devreler, OVON kodunu herhangi bir adrese yazarak bu işlemi duraklatma olanağı sağlar. 30H (Intel çipleri için - ODOH) kodunu (ayrıca herhangi bir adrese) yazdıktan sonra silme işlemi devam edecektir. "Bloğu sil" komutu. Bir bellek bloğunun içeriğini silmek için iki komutun verilmesi gerekir. Bunlardan ilki 80Н, ikincisi ise 90Н işlem kodunun 5555Н adresine değil, silinen bloktaki herhangi bir hücrenin adresine yazılması gerektiğinden farklıdır. "Kimlikleri Oku" komutu. Bu moda geçmek için 90H komutunu kullanın, ancak bazen iki komuttan oluşan bir dizi gerekir - 80H ve 60H. Intel mikro devrelerinde herhangi bir adrese 90H kodunu yazmanız yeterlidir. Yukarıda açıklanan "Veri dizisini oku" komutunu kullanarak bu moddan çıkın. Uzun programlama ve silme komutlarının tamamlandığını nasıl kontrol edebilirim? En kolay yol, mikro devrenin referans verilerini kullanmak ve ilgili gecikmelerin yazılım tarafından oluşturulmasını sağlamaktır. Ancak belirli işlemlerin gerçek yürütme süresi, aynı mikro devrenin farklı hücreleri ve blokları için bile referans değerlerden önemli ölçüde farklılık gösterir ve ikincisi "yaşlandıkça" artar. AC3 durum kaydını okumak, bir işlemin tam olarak ne zaman biteceğini öğrenmenizi sağlar. FLASH yongası, AC3'ün silme veya programlama prosedürünü gerçekleştirmekle meşgul olduğu her zaman bu kaydın içeriğini veri yoluna gönderir. Sürecin tamamlanmadığına dair iki işaret var. Birincisi, durum yazmacının D7 bitinin değerinin, bellek hücresinin aynı bitine yazılan değere göre ters olmasıdır (silme sırasında 0'a eşittir). İşlem tamamlandıktan sonra kaydedilenle eşleşecektir. İkinci işaret, D6 bitinin "titremesidir" (işlem tamamlanana kadar, yazmacın her okunmasıyla değeri değişir). Kural olarak, her iki işaret de gözlenir, ancak istisnalar da vardır. Örneğin, Intel mikro devrelerinde "titreyen" bit yoktur ve yazılan koddan bağımsız olarak programlama sırasında D7 biti 0'dır. Bu durumda işlemin sonu D7=1 ile gösterilir. Blok kaydı olan mikro devrelerde (örneğin, Winbond'dan), D7 bitinin değeri, blok arabelleğine yazılan son kodla aynı bitin tersidir - Genellikle programlama veya silme işlemi tamamlandıktan sonra FLASH çipi otomatik olarak veri dizisi okuma moduna geri döner, ancak Intel çipleri bunun için uygun bir komuta ihtiyaç duyar. Çip arızalıysa, uzun çalışma hiçbir zaman tamamlanamayabilir ve programlama bilgisayarının donmasına neden olabilir. Bunu önlemek için silme ve programlama işlemlerinin süresinin kontrol edilmesi ve makul bir değerin aşılması durumunda arıza mesajıyla birlikte “acil durum” çıkışı sağlanması gerekir. Bazen, özellikle maksimum silme/programlama döngüsü sayısına yakın geçmiş mikro devrelerle çalışırken, başarısız bir işlemi birkaç kez tekrarlamak mantıklıdır. Denemelerden biri başarılı olabilir. Sonuç olarak, bilgisayarınızın FLASH bellekte depolanan BIOS'unu güncellemenize olanak tanıyan yardımcı programlar hakkında birkaç kelime. Her tür sistem (anakart) kartı için geliştirilmişlerdir ve FLASH yongalarını sistem veri yollarına bağlama özelliklerini dikkate alırlar. Bu nedenle, bir tür kart için tasarlanmış bir yardımcı programı diğerinin BIOS'unu güncellemek için kullanma girişimleri genellikle bilgisayarın tamamen arızalanmasına yol açar. Yardımcı program, yeni BIOS sürümü için kodları içeren dosyanın adını parametre olarak belirten normal bir uygulama programı olarak başlatılır. Bu dosyayı okur ve RAM'de FLASH belleğe yazılacak bir veri dizisi oluşturur. Daha sonra çipin tipini belirliyor ve onunla çalışmak için uygun prosedürleri seçiyor. Bundan sonra eski veriler silinmeye ve yeni veriler yazılmaya başlar ve bu süre zarfında program, bilgilerin ekranda görüntülenmesi veya klavyenin yoklanması dahil olmak üzere hiçbir BIOS işlevini kullanamaz. Bu hala gerekliyse, gerekli alt rutinler yardımcı programın kendisinde bulunur. Programlama tamamlandıktan ve doğruluğu doğrulandıktan sonra bilgisayar genellikle yeniden başlatılır ve güncellenmiş BIOS ile yeni bir hayata başlar. Yazar: A. Dolgiy, Moskova Diğer makalelere bakın bölüm Mikrodenetleyiciler. Oku ve yaz yararlı bu makaleye yapılan yorumlar. En son bilim ve teknoloji haberleri, yeni elektronikler: Sıcak biranın alkol içeriği
07.05.2024 Kumar bağımlılığı için başlıca risk faktörü
07.05.2024 Trafik gürültüsü civcivlerin büyümesini geciktiriyor
06.05.2024
Diğer ilginç haberler: ▪ İki çıkışlı yeni izole 125W AC/DC dönüştürücü Bilim ve teknolojinin haber akışı, yeni elektronik
Ücretsiz Teknik Kitaplığın ilginç malzemeleri: ▪ saha bölümü Gerilim stabilizatörleri. Makale seçimi ▪ asma planör makalesi. Buluş ve üretim tarihi ▪ makale Pasternak'ın hangi şakasının Tsvetaeva için kehanet olduğu ortaya çıktı? ayrıntılı cevap ▪ makale Kompresör sürücüsü. İş güvenliği ile ilgili standart talimat ▪ makale Sihirli sürahi. Odak Sırrı
Bu makaleye yorumunuzu bırakın: Bu sayfanın tüm dilleri Ana sayfa | Kütüphane | Makaleler | Site haritası | Site incelemeleri www.diagram.com.ua |