Intel 8255 - Intel 8255

Intel D8255
i8255 pin çıkışı

Intel 8255 (veya i8255 ) Programlanabilir Periferik Arabirimi (ÜFE) çip geliştirdi ve için 1970'lerin ilk yarısında Intel tarafından imal edildi Intel 8080 mikroişlemcisi. 8255, çeşitli programlanabilir çalışma modlarıyla 24 paralel giriş/çıkış hattı sağlar.

8255, Intel tarafından 8085 ve 8086 mikroişlemcileri ve onların soyundan gelenlerle kullanılmak üzere tasarlanan MCS-85 yonga Ailesinin bir üyesidir . İlk önce 40 pinli DIP'de ve daha sonra 44 pinli PLCC paketlerinde mevcuttu. Dijital işleme sistemlerinde geniş uygulanabilirlik buldu ve daha sonra diğer üreticiler tarafından klonlandı. 82C55, daha yüksek hız ve daha düşük akım tüketimi için bir CMOS versiyonudur.

8255'in işlevselliği artık çoğunlukla bir alt işlev olarak daha büyük VLSI işleme yongalarına yerleştirilmiştir . 8255'in bir CMOS versiyonu hala Renesas tarafından yapılıyor, ancak çoğunlukla mikrodenetleyicilerin G/ Ç'sini genişletmek için kullanılıyor .

benzer cipsler

8255, Motorola 6800 ailesinden Motorola 6820 PIA'ya (Çevresel Arabirim Adaptörü) benzer bir işleve sahiptir ve orijinal olarak 40-pin DIL olarak paketlenmiştir. 8255, dört programlanabilir yön biti ile 24 I/O pini sağlar: biri Port A(7:0) için (yani porttaki tüm pinler), biri Port B(7:0) için, biri Port C(3: 0) ve bir tanesi Port C(7:4) için. Buna karşılık, Motorola ve MOS yongaları yalnızca 16 G/Ç pimi artı 4 kontrol pimi sağlar, ancak Motorola/MOS yongaları tüm G/Ç pimlerinin yönünün (giriş veya çıkış) ayrı ayrı programlanmasına izin verir. Her ikisinin de belirli bir miktarda otomatik el sıkışma ve kesinti oluşturma işlemini gerçekleştirecek konfigürasyonları vardır.

Diğer karşılaştırılabilir mikroişlemci I / O yongaları gelen 2655 Programlanabilir Çevre Arayüzü olan Signetics 2650 ailesi, Z80 PIO , Batı Tasarım Merkezi WDC 65C21 (Motorola 6820/6821 karşılığı) ve MOS Technology 6522 VIA ve 6526 CIA vardı zamanlayıcılar ve vardiya kayıtları gibi önemli ek işlevler.

Varyantlar

Intel ID8255A'nın endüstriyel sınıf sürümü, 100 ve üzeri miktarlarda 17,55 ABD Doları karşılığında mevcuttu. Mevcut Intel 8255A-5 sürümü, 100 veya daha fazla miktarlarda 6,55 ABD Doları içindi. Mevcut 82C55A CMOS sürümü, Oki Electronic Industry Co., Ltd'ye dış kaynaklı olarak verildi .

Uygulamalar

8255, birçok mikrobilgisayar/mikrodenetleyici sisteminde ve SV-328 ve tüm MSX modelleri gibi ev bilgisayarlarında yaygın olarak kullanıldı . 8255, orijinal IBM-PC , PC/XT, PC/jr ve klonlarda ve N8VEM gibi çok sayıda ev yapımı bilgisayarlarda kullanıldı .

İşlev

8255, programlanabilir paralel G/Ç'ye bir CPU veya dijital sistem erişimi sağlar . 8255, 24 giriş/çıkış pinine sahiptir. Bunlar üç adet 8 bit bağlantı noktasına (A, B, C) bölünmüştür. Bağlantı noktası A ve bağlantı noktası B, 8 bitlik giriş/çıkış bağlantı noktaları olarak kullanılabilir. Bağlantı Noktası C, 8 bitlik bir giriş/çıkış bağlantı noktası olarak veya iki adet 4 bitlik giriş/çıkış bağlantı noktası olarak veya A ve B bağlantı noktaları için el sıkışma sinyalleri üretmek için kullanılabilir.

Üç bağlantı noktası ayrıca aşağıdaki gibi gruplandırılmıştır:

  1. Grup A, A portu ve C portunun üst kısmından oluşur.
  2. B grubu ve C portunun alt kısmından oluşan B Grubu.

Aktif olan RD (pin 5) ve WR (pin 36) durumu altında portlara veya kontrol kaydına veri okumak/yazmak için sekiz veri hattı (D0–D7) mevcuttur (8 bit veri arabelleği ile) -sırasıyla okuma ve yazma işlemleri için düşük sinyaller. Adres satırları A 1 ve A 0 , aşağıda listelendiği gibi her port için bir veri kaydına veya bir kontrol kaydına erişime izin verir:

A 1 bir 0 Bağlantı noktası seçildi
0 0 A bağlantı noktası
0 1 B noktası
1 0 C bağlantı noktası
1 1 kontrol kaydı

Kontrol sinyali çipi seçme CS'si (pin 6) 8255 çipini etkinleştirmek için kullanılır. Aktif-düşük bir sinyaldir, yani CS = 0 olduğunda, 8255 etkinleştirilir. RESET girişi (35 pimi) sistem sıfırlanır, tüm bağlantı noktaları giriş hatları olarak başlatılır, böylece vb 8.085, 8.086, benzeri bir sistemin RESET hattına bağlanır. Bu, bağlantı noktası yönü ayarlarının uyumsuzluğu nedeniyle 8255 ve/veya ona bağlı herhangi bir çevre biriminin zarar görmesini önlemek için yapılır. Örnek olarak, A bağlantı noktasında 8255'e bağlı bir giriş aygıtını düşünün. Önceki işlemden, bağlantı noktası A bir çıkış bağlantı noktası olarak başlatılırsa ve mevcut yapılandırma kullanılmadan önce 8255 sıfırlanmazsa, ikisinden birinin hasar görme olasılığı vardır. giriş cihazı bağlı veya 8255 veya her ikisi, çünkü hem 8255 hem de bağlı cihaz veri gönderecek.

Kontrol kaydı (veya kontrol mantığı veya komut kelimesi kaydı), çalışma modlarını ve portların giriş/çıkış atamasını seçmek için kullanılan 8 bitlik bir kayıttır.

8255'in çalışma modları

8255'in iki temel çalışma modu vardır:

  • Bit Set/Reset modu (BSR modu).
  • Giriş/Çıkış modu (G/Ç modu).

İki mod , kontrol sözcüğü kaydının D 7 bitinde bulunan değer temelinde seçilir . D 7 = 1, 8255 G/Ç modunda ve D 7 = 0 olduğunda BSR modunda çalışır.

Bit Set/Reset (BSR) modu

Bit Set/Reset (BSR) modu yalnızca C bağlantı noktasında mevcuttur. Port C'nin (PC 7 - PC 0 ) her satırı , kontrol word kaydına uygun bir değer yazılarak ayarlanabilir veya sıfırlanabilir. BSR modu ve G/Ç modu bağımsızdır ve BSR modunun seçimi, G/Ç modunda diğer bağlantı noktalarının çalışmasını etkilemez.

8255 BSR modu
  • BSR modu için D 7 biti her zaman 0'dır.
  • D 6 , D 5 ve D 4 bitleri önemsiz bitlerdir.
  • D 3 , D 2 ve D 1 bitleri Port C'nin pinini seçmek için kullanılır.
  • Bit D 0 , Port C'nin seçilen pinini ayarlamak/sıfırlamak için kullanılır.

Port C pininin seçimi şu şekilde belirlenir:

D3 D2 D1 C bağlantı noktasının bit/pin seçildi
0 0 0 bilgisayar 0
0 0 1 bilgisayar 1
0 1 0 bilgisayar 2
0 1 1 bilgisayar 3
1 0 0 bilgisayar 4
1 0 1 bilgisayar 5
1 1 0 bilgisayar 6
1 1 1 bilgisayar 7

Örnek olarak, PC 5'in ayarlanması gerekiyorsa, kontrol sözcüğünde,

  1. BSR modu olduğundan, D 7 = '0' .
  2. D 4 , D 5 , D 6 kullanılmadığından, bunların ' 0' olduğunu varsayın .
  3. PC 5 seçilmelidir, dolayısıyla D 3 = '1', D 2 = '0', D 1 = '1' .
  4. PC 5 ayarlanmalıdır, dolayısıyla D0 = '1' .

Böylece yukarıdaki değerlere göre 0B (Hex) Kontrol Word Register'ına (CWR) yüklenecektir.

D7 D6 D5 D4 D3 D2 D1 D0
0 0 0 0 1 0 1 1

Giriş/Çıkış modu

Bu mod, Kontrol Kelime Kaydının D 7 biti 1 olduğunda seçilir. Üç G/Ç modu vardır:

  1. Mod 0 - Basit G/Ç
  2. Mod 1 - Strobe I/O
  3. Mod 2 - Strobed Çift Yönlü G/Ç

Kontrol Word formatı

G/Ç Kontrol Kelime Formatı
  • D 0 , D 1 , D 3 , D 4 sırasıyla port C alt, port B, port C üst ve port A için atanır. Bu bitler 1 olduğunda, karşılık gelen bağlantı noktası bir giriş bağlantı noktası görevi görür. Örneğin, eğer D 0 = D 4 = 1 ise, daha düşük port C ve port A, giriş portları olarak hareket eder. Bu bitler 0 ise , ilgili bağlantı noktası bir çıkış bağlantı noktası görevi görür. Örneğin, eğer D 1 = D 3 = 0 ise, o zaman port B ve üst port C, çıkış portları olarak hareket eder.
  • D 2 , Grup B'nin mod seçimi için kullanılır (port B ve alt port C). D 2 = 0 olduğunda mod 0 seçilir ve D 2 = 1 olduğunda mod 1 seçilir.
  • D 5 ve D 6 , Grup A'nın mod seçimi için kullanılır (port A ve üst port C). Seçim şu şekilde yapılır:
D 6 D 5 mod
0 0 0
0 1 1
1 x 2
  • G/Ç modu olduğu için D 7 = 1.

Örneğin, B bağlantı noktası ve üst bağlantı noktası C'nin giriş bağlantı noktaları olarak ve alt bağlantı noktası C ve bağlantı noktası A'nın çıkış bağlantı noktaları olarak başlatılması gerekiyorsa (tümü 0 modunda):

  1. Bir G/Ç modu olduğundan, D 7 = 1.
  2. Mod seçim bitleri, D2, D5, D6, mod 0 işlemi için 0'dır.
  3. Port B ve üst port C, Giriş portları olarak çalışmalıdır, dolayısıyla D 1 = D 3 = 1.
  4. Port A ve alt port C, Çıkış portları olarak çalışmalıdır, dolayısıyla D 4 = D 0 = 0.

Bu nedenle, istenen işlem için kontrol kelimesi kaydının "10001010" = 8A (hex) ile yüklenmesi gerekecektir .

Mod 0 - basit G/Ç

Bu modda, bağlantı noktaları, el sıkışma sinyalleri olmadan basit G/Ç işlemleri için kullanılabilir. Bağlantı Noktası A, bağlantı noktası B, basit G/Ç işlemi sağlar. C bağlantı noktasının iki yarısı, ek bir 8 bit bağlantı noktası olarak birlikte kullanılabilir veya ayrı 4 bit bağlantı noktası olarak kullanılabilir. Port C'nin iki yarısı bağımsız olduğundan, yarısı giriş portu, diğer yarısı ise çıkış portu olarak başlatılacak şekilde kullanılabilirler.

0 modundaki giriş/çıkış özellikleri aşağıdaki gibidir:

  1. Çıkış portları kilitlidir.
  2. Giriş bağlantı noktaları arabelleğe alınır, kilitlenmez.
  3. Bağlantı noktalarının el sıkışma veya kesme özelliği yoktur.
  4. 4 port ile 16 farklı I/O kombinasyonu mümkündür.

'Kilitli', girişler kilitlendikten sonra değişse bile çıkışını sabit tutan bir depolama kaydına (iki duraklılık dizisi) yerleştirildiği anlamına gelir.

8255'in çıkışları, kendilerine yazılan son verileri tutacak şekilde kilitlenir. Veriler sadece bir çevrim için veri yolunda kaldığı için bu gereklidir. Bu nedenle, kilitleme olmadan, yazma döngüsü biter bitmez çıktılar geçersiz hale gelir.

Girişler kilitlenmez çünkü CPU'nun yalnızca mevcut değerlerini okuması ve daha sonra daha sonra başvurulması gerekiyorsa verileri bir CPU kaydında veya bellekte saklaması gerekir. Port okunurken bir giriş değişirse sonuç belirsiz olabilir.

Mod 0 – giriş modu

  • Giriş modunda, 8255 harici çevresel bağlantı noktalarından veri alır ve CPU, alınan verileri veri yolu aracılığıyla okur.
  • CPU önce CS'yi düşük yaparak 8255 yongasını seçer . Ardından A 0 ve A 1 satırlarını kullanarak istenilen portu seçer .
  • Ardından CPU , sistem veri yolu aracılığıyla harici çevresel aygıttan verileri okumak için bir RD sinyali verir.

Mod 0 - çıkış modu

  • Çıkış modunda, CPU sistem veri yolu aracılığıyla 8255'e veri gönderir ve ardından harici çevresel bağlantı noktaları bu verileri 8255 bağlantı noktası aracılığıyla alır.
  • CPU önce CS'yi düşük yaparak 8255 yongasını seçer . Ardından A 0 ve A 1 satırlarını kullanarak istenen bağlantı noktasını seçer .
  • Ardından CPU , sistem veri yolu aracılığıyla seçilen bağlantı noktasına veri yazmak için bir WR sinyali gönderir. Bu veriler daha sonra seçilen bağlantı noktasına bağlı harici çevresel aygıt tarafından alınır.

Mod 1 - Strobed Giriş/çıkış modu

El sıkışma (çarpma) giriş veya çıkış işlemi için bağlantı noktası A veya bağlantı noktası B'yi kullanmak istediğimizde, bu bağlantı noktasını mod 1'de başlatırız (bağlantı noktası A ve bağlantı noktası B, farklı modlarda çalışmak üzere başlatılabilir, örn. mod 0'da ve bağlantı noktası B'de mod 1)'de çalışır. C bağlantı noktasının pinlerinden bazıları, el sıkışma hatları olarak işlev görür.

Bu modda B bağlantı noktası için (bir giriş bağlantı noktası veya çıkış bağlantı noktası olarak işlev görmesine bakılmaksızın), PC0, PC1 ve PC2 pinleri, el sıkışma hatları olarak işlev görür.

Bağlantı noktası A, mod 1 giriş bağlantı noktası olarak başlatılırsa, PC3, PC4 ve PC5, el sıkışma sinyalleri olarak işlev görür. PC6 ve PC7 pinleri giriş/çıkış hatları olarak kullanılabilir.

El sıkışmayı destekleyen mod 1 aşağıdaki özelliklere sahiptir:

  1. İki bağlantı noktası, yani bağlantı noktası A ve B, 8 bit i/o bağlantı noktası olarak kullanılabilir.
  2. Her bağlantı noktası, el sıkışma sinyali olarak üç satırlık bağlantı noktası c kullanır ve kalan iki sinyal, g/ç bağlantı noktaları olarak kullanılabilir.
  3. Kesinti mantığı desteklenir.
  4. Giriş ve Çıkış verileri kilitlenir.

Giriş El Sıkışma sinyalleri

1. IBF (Input Buffer Full) - Giriş mandalının bilgi içerdiğini gösteren bir çıkıştır.
2. STB (Strobed Input) - Strobe girişi, IN komutu aracılığıyla mikroişlemciye girilene kadar bilgileri tutan port mandalına verileri yükler.
3. INTR (Interrupt request) - Interrupt isteğinde bulunan bir çıktıdır. INTR pini, STB girişi mantık 1'e döndüğünde mantık 1 olur ve veriler mikroişlemci tarafından porttan girildiğinde temizlenir.
4. INTE (Kesinti etkinleştirme) - Ne bir girdi ne de bir çıktıdır; bu, PC4(port A) veya PC2(port B) bit konumu aracılığıyla programlanmış dahili bir bittir.

Çıkış El Sıkışma sinyalleri

1. OBF (Output Buffer Full) - Veriler port A'ya veya port B mandalına her çıkış(OUT) olduğunda düşük olan bir çıkıştır. Bu sinyal, harici cihazdan ACK darbesi döndüğünde bir mantık 1'e ayarlanır.
2. ACK (Acknowledge)-OBF pininin lojik 1 seviyesine dönmesine neden olur. ACK sinyali, verileri 82C55A bağlantı noktasından aldığını gösteren harici bir cihazdan gelen bir yanıttır.
3. INTR (Interrupt request) - Harici cihaz veriyi sinyal aracılığıyla aldığında mikroişlemciyi sıklıkla kesintiye uğratan bir sinyaldir. bu pin dahili INTE(interrupt enable) biti tarafından nitelendirilir.
4. INTE (Kesinti etkinleştirme) - Ne bir girdi ne de bir çıktıdır; INTR pinini etkinleştirmek veya devre dışı bırakmak için programlanmış dahili bir bittir. INTE A biti, PC6 biti kullanılarak programlanır ve INTE B, PC2 biti kullanılarak programlanır.

Mod 2 - Strobed Çift Yönlü Giriş/Çıkış modu

Bu modda yalnızca A bağlantı noktası başlatılabilir. Port A, çift ​​yönlü el sıkışma veri aktarımı için kullanılabilir . Bu, verilerin aynı sekiz satırda (PA0 - PA7) girilebileceği veya çıkılabileceği anlamına gelir. PC3 - PC7 pinleri, port A için el sıkışma hatları olarak kullanılır. Port C'nin (PC0 - PC2) kalan pinleri, grup B mod 0'da başlatılırsa giriş/çıkış hatları olarak veya grup B ise port B için anlaşma olarak kullanılabilir. mod 1'de başlatıldı Bu modda, 8255, sistem veri yolunu bir bağımlı mikroişlemciye genişletmek veya bir disket denetleyicisine ve disket denetleyicisinden veri baytlarını aktarmak için kullanılabilir . Veri vericisi ve alıcısı arasında uygun veri akışını ve senkronizasyonu sağlamak için alındı ​​ve anlaşma sinyalleri sağlanır.

Referanslar

Dış bağlantılar