RADYO ELEKTRONİK VE ELEKTRİK MÜHENDİSLİĞİ ANSİKLOPEDİSİ ROM emülatörü. Radyo elektroniği ve elektrik mühendisliği ansiklopedisi Radyo elektroniği ve elektrik mühendisliği ansiklopedisi / Mikrodenetleyiciler Makalede açıklanan emülatör, bir bilgisayarla birlikte, bir mikroişlemci cihazının yazılımında hata ayıklama sırasında ROM'unu değiştirebilir. Bu, programı hızlı bir şekilde ayarlamanıza olanak tanır ve aksi takdirde ROM'u yeniden programlamak için harcayacağınız zamandan tasarruf etmenizi sağlar. Emülatör, kendi RAM'ine sahip olmadığı için nispeten yavaş çalışır. Ancak aynı sebepten dolayı basit ve ucuzdur. Mikroişlemci ekipmanı geliştirirken ortaya çıkan sorunlardan biri, ROM'a yazılan programda hata ayıklamadır. Tipik olarak, bu amaç için, yeniden programlanabilir ROM'lar (RPM'ler) olarak adlandırılanlar, ultraviyole ışınlamayla silinen bilgilerle birlikte kullanılır. Programda yapılan herhangi bir değişiklik, RPOM'un silinmesi ve içine bilgilerin yeniden yazılması ihtiyacına yol açtığından, hata ayıklama çok zaman alır. Ek olarak, her biri veri depolama güvenilirliğinin azaldığı 10 - 25 döngüden sonra mikro devrenin değiştirilmesi gerekir. Bu nedenle, konunun mali yönünden bahsetmeye bile gerek yok, yaratıcı çalışma, sıkıcı mekanik yeniden yazma sürecinin gölgesinde kalıyor - ultraviyole silme özelliğine sahip EPROM'lar ucuz değil. Devre şeması Şekil 1'de gösterilen bir emülatör, sorunun çözülmesine yardımcı olacaktır. 64. 1 KB'ye kadar kapasiteye sahip bir ROM yongası yerine, hata ayıklanacak cihazın kendisi için tasarlanmış paneline bir XP27512 fişi takın. ROM türüne bağlı olarak, yalnızca emülatör kablolarını fiş kontaklarına bağlama sırası değişebilir (şemada gösterilen, 64 KB kapasiteli XNUMX yongasına karşılık gelir). XP2 fişi, IBM uyumlu herhangi bir kişisel bilgisayarın (PC) LPT1 paralel bağlantı noktası soketine bağlanır. Bağlantı noktası öncelikle verileri harici bir aygıta (yazıcıya) iletmek için tasarlandığından, 12 çıkış hattı ve yalnızca beş giriş hattı vardır. Bu, bilgisayar tarafından alınan 16 bitlik ROM adresinin çoğullanmasına zorlar ve bu da elbette öykünme hızını etkiler. Emülatör aşağıdaki işlevsel bloklardan oluşur: saat üreteci (DD1.1-DD1.2), saat senkronizörü (DD2.2, DD3.1), tetikleme cihazı (DD2.1), darbe sayacı (DD4), blok kayıt darbesi şekillendirici adresi (DD1.5, DD3.3), veri kaydı (DD5) ve adres çoklayıcı (DD6, DD7). Çalışma, mikroişlemci cihazından DD4 tetikleyicisinin S girişine (pim 2.1) düşük seviyeli bir CS sinyalinin gelmesiyle başlar (sinyallerin zamanlama diyagramları Şekil 2'de gösterilmiştir). İkincisi, DD1 tetikleyicisinin D girişine (pim 5) bağlı doğrudan çıkışta (pim 12) mantıksal 2.2'e karşılık gelen bir duruma girer. Saat darbesi azaldıkça (bu, DD1.4 invertörü tarafından sağlanır), DD1 çıkışında (pim 9) mantıksal 2.2 de belirir ve saat darbelerinin DD3.1 elemanının çıkışına geçişine izin verir. Bunlar, DD4 ve DD6 adresli çoklayıcıları kontrol eden en az anlamlı iki bitin çıkış sinyalleri olan DD7 sayacı tarafından sayılır. ROM adresi bilgisayara dört bitlik dört grup halinde iletilir: A0 - A3, A4 - A7, A8 - A11, A12 - A15. HATA girişleri bunu almak için kullanılır. SLCT, ACK, PE paralel bağlantı noktası. DD4 sayacı, dönüşüm faktörü 5 olacak şekilde geri besleme kapsamındadır. Bu, emülasyon döngüsünün kaç saat periyodu aldığıdır. İlk dörtte, DD3.4 elemanının çıkışından gelen darbeler, çoklayıcıların anahtarlanmasıyla eş zamanlı olarak LPT portunun BUSY girişine ulaşır. Bir adresin bilgisayar tarafından okunması prosedürünü senkronize edin. Beşinci dönemde bilgisayar, taklit ROM'da belirtilen adreste bulunması gereken DATA1-DATA8 çıkışlarına bir veri baytı çıkarır. Bu bayt DD5 kaydında saklanır. Sürenin sonunda DD2.1 tetikleyicisi orijinal durumuna geri döner. Doğru, ikincisi yalnızca CS sinyali şu anda sona erdiğinde gerçekleşecektir. Aksi takdirde açıklanan döngü tekrarlanacaktır. Emülatör, çizimi Şekil 3'de gösterilen çift taraflı baskılı devre kartı üzerine monte edilmiştir. 1. Kartta, XP4 ve XP1 fişlerine giden tellerin lehimlendiği X2-XXNUMX kontak pedleri grupları bulunur. Devre şemasında belirtilen mikro devreler yerine, herhangi bir TTL veya TTLSh serisinden (K155.K555.KR1533.KR531) fonksiyonel analoglarının kullanılmasına izin verilir. DD1 mikro devresini değiştirirken, darbe tekrarlama oranı emülasyon hızını belirleyen bir dizi saat üreteci elemanı (R1, R3, C2) gerekli olabilir. Arızalara yol açabileceğinden frekansın 100 kHz'in üzerine ayarlanması önerilmez. XP1 fişi, ultraviyole ışınlamayla silinen hatalı bir ROM'dan yapılabilir. Şeffaf pencereyi kırdıktan sonra kristali kasanın temas yüzeylerine bağlayan ince iletkenleri çıkarmalısınız. Kablo telleri, eski mikro devrenin panele yerleştirilmesini engellemeyecek şekilde terminallerin dış kısmına lehimlenmiştir. Yukarıda açıklanan emülatör çalışma algoritması, mikroişlemcili cihazın adım adım moduna geçirilmesini gerektirir. Programın ilk "çalıştırılması" ve hata ayıklamanın ilk aşamaları için uygundur. Sürekli modda çalışmak için, öykünücüyü bir senkronizasyon cihazıyla desteklemek ve onu Şekil 4'de gösterilen şemaya göre monte etmek gerekir. 580. KR80GF580 saat üretecine sahip KR24VM86A mikroişlemcisine yöneliktir ve Radio-XNUMXRK bilgisayarında test edilmiştir. Diğer mikroişlemci türleri için senkronizörde değişiklik yapılması gerekebilir. Tablo, bir bilgisayarla maksimum hızda bir ROM'u taklit etme prosedürünü göstermektedir. Borland Pascal programlama sistemine yerleşik ASSEMBLY dilinde yazılmıştır ve bu sistem kullanılarak geliştirilen programlarda kullanılmak üzere tasarlanmıştır. Ana programdaki işaretçi tipinin global değişkeni pDATA'ya, öykünülmüş ROM'un görüntüsünü içeren bayt dizisinin ilk öğesinin adresinin değeri atanmalıdır. Veri alışverişi, PC belleğine erişim sayısını en aza indirerek ve geçici veri depolama için işlemci kayıtlarını kullanarak maksimum hızda gerçekleşir (bellek erişimi, kayıttan kayda işlemine göre birkaç kat daha uzun sürer). Açıklanan prosedürün özelliği, sonsuz bir döngü olması ve işi hızlandırmak için klavyeden kaynaklananlar da dahil olmak üzere tüm kesintileri devre dışı bırakmasıdır. Böylece emülasyonu yalnızca PC'nin “RESET” butonuna basarak veya gücünü kapatarak durdurabilirsiniz. Hata ayıklanan cihazın çalışmasıyla ilgili herhangi bir bilginin PC monitör ekranında görüntülenmesi de hariç tutulur. Orta derecede vasıflı bir programcı bu eksiklikleri ortadan kaldırabilir, ancak bunu yalnızca prosedürü yavaşlatma pahasına yapar. Komut satırında veya yapılandırma dosyasında belirtilen anahtarlar kullanılarak öykünme modu ayarlanır ve öykünülmüş ROM görüntüsünün bulunduğu dosya seçilir. Komut satırının önceliği yapılandırma dosyasının önceliğinden daha yüksektir. Aşağıdaki anahtarlar sağlanmıştır: -sf - en hızlı emülasyon (yukarıda tartışılan prosedür kullanılır); -sns - mod, öncekinden biraz daha yavaştır, çünkü klavyenin yoklanmasını ve [Esc] tuşuna basılarak çıkılmasını sağlar; -sp - en yavaş mod. Hata ayıklaması yapılan cihazın eriştiği her ROM hücresinin adresi ve ondan gelen veriler monitör ekranında görüntülenir. Adresin dörtte birini okumanın ilerleme durumu da görüntülenir. Bu, bir mikroişlemci aygıtında hata ayıklamanın ilk aşamalarında kullanışlıdır, çünkü programının ilerleyişini izlemenize olanak tanır; -f dosya_adı - ROM görüntüsünü içeren dosyanın adını belirtir: /у - ROM görüntü dosyasının uzunluğunun, ikincisinin bilgi kapasitesinin eşitliği kontrolünü devre dışı bırakır; /? - öykünücünün çalışma modları hakkında yardımı görüntüler. [F2] tuşuna basılması, mevcut adres okuma işlemini durdurur ve programı yeni bir adres için bekleme moduna geçirir. ROM görüntüsü, öykünülmüş ROM'da depolanan tüm baytların sıfırdan başlayarak artan adres sırasına göre sırayla yazıldığı bir ikili dosyadır. - hata ayıklaması yapılan mikroişlemci cihazının komut ve veri kodları. Adres sırasındaki boşluklara izin verilmediğini lütfen unutmayın. Kullanılmayan hücrelerdeki değerlerin de dosyaya yazılması gerekir. Böyle bir dosya, komut satırından çağrılırsa TASM çapraz birleştirici kullanılarak oluşturulabilir TASM.EXE -85 -g3 PROG.ASM Burada -85 anahtarı, çevrilen PROG.ASM programının amaçlandığı işlemci tipini (8085) ayarlar ve -g3, sonucun çıktısını ikili biçimde belirtir. Ortaya çıkan PROG.OBJ dosyası emülatör için bir ROM görüntüsü görevi görebilir. Yazarlar: S. Belyaev, D. Chernykh, Tambov 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: ▪ Kumun altında selvi ağaçları ▪ RF sentezleyicileri STW81101 ve STW81102 yongaları ▪ Akıllı ölçekler, darbe dalgasının yayılma hızını belirler Bilim ve teknolojinin haber akışı, yeni elektronik
Ücretsiz Teknik Kitaplığın ilginç malzemeleri: ▪ Güvenli yaşamın temelleri (BSD) sitesinin bölümü. Makale seçimi ▪ makale Acil durumların sınıflandırılması. Güvenli yaşamın temelleri ▪ makale Güneş tutulması ilk olarak ne zaman tahmin edildi? ayrıntılı cevap ▪ Rapunzel makalesi. Efsaneler, yetiştirme, uygulama yöntemleri ▪ makale Uçurtma neden uçar? fiziksel deney
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 |