Gelişmiş / Adreslenebilir Evrensel Asenkron Alıcı Alıcı-Verici (EUSART / AUSART), seri I / O iletişimlerini yönetmek için bir çevre birimidir.
Ana programın yürütülmesinden bağımsız olarak bir giriş veya çıkış seri veri transferi gerçekleştirmek için gerekli olan tüm saat üreteçlerini, kaydırma yazmaçlarını ve veri tamponlarını içerir. Seri İletişim Arabirimi (SCI) olarak da bilinen EUSART, tam çift yönlü asenkron sistem veya yarı çift yönlü senkron sistem olarak yapılandırılabilir.Tam Çift Yönlü mod, terminaller ve kişisel bilgisayarlar gibi çevresel sistemlerle iletişim için kullanışlıdır. Yarı Çift Yönlü Eşzamanlı mod, A / D veya D / A entegre devreler, seri EEPROM'lar veya diğer mikro denetleyiciler gibi çevresel cihazlarla iletişim için tasarlanmıştır. Bu cihazlar tipik olarak, baud hızı üretimi için dahili saatlere sahip değildir ve harici saat sinyalinin bir ana senkron cihaz tarafından sağlanmasını gerektirir. EUSART modülü aşağıdaki yetenekleri içerir: Tam çift yönlü eşzamansız gönderme ve alma İki karakterli giriş arabelleği Tek karakterli çıktı arabelleği Programlanabilir 8 bit veya 9 bit karakter uzunluğu 9 bit modunda adres algılama Giriş arabelleği aşma hatası algılama Alınan karakter çerçeveleme hatası algılama Yarı çift yönlü eşzamanlı ana Yarı çift yönlü eşzamanlı köle Senkron modlarda programlanabilir saat polaritesi Uyku modunda çalıştırma EUSART çevre birimi ayrıca aşağıdaki ek özellikleri de uygulayarak onu Yerel Ara Bağlantı Ağı (LIN) veri yolu sistemlerinde kullanım için ideal hale getirir: Baud hızının otomatik tespiti ve kalibrasyonu Arada resepsiyonda uyanma 13-bit Break karakter iletimi EUSART / AUSART Operasyonu Seri İletişim, yalnızca iki kablo kullanarak iki elektronik cihaz arasında veri göndermenin bir yoludur. EUSART / AUSART, verileri standart Sıfıra Geri Dönüşsüz (NRZ) formatını kullanarak iletir ve alır. NRZ iki seviyeyle uygulanır: 1 veri bitini temsil eden bir Voltaj Çıkışı Yüksek (VOH) veya işaret durumu ve bir 0 veri bitini temsil eden bir Voltaj Çıkışı Düşük (VOL) veya boşluk durumu. NRZ, aynı duruma ait ardışık olarak iletilen veri bitlerinin, her bit iletimi arasında sıfır veya nötr bir seviyeye dönmeden aynı çıktı seviyesinde kalması gerçeğini ifade eder. Boşta durumu, çıkış pinini bir işarete (yani, yüksek duruma) koyar. İletim, eşzamanlı veya eşzamansız bir şekilde gerçekleşebilir. Senkron Senkron seri iletişim tipik olarak tek bir Master ve bir veya daha fazla Slave içeren sistemlerde kullanılır. Master cihaz, baud hızı üretimi için gerekli devreyi içerir ve sistemdeki tüm cihazlar için saati sağlar. Bağımlı cihazlar, dahili saat oluşturma devresini ortadan kaldırarak Ana saatten yararlanabilir. Senkron modunda iki sinyal hattı vardır: Çift yönlü bir veri hattı Bir saat hattı Slave'ler, seri veriyi kendi alma ve iletme kayıtlarının içine ve dışına kaydırmak için Master tarafından sağlanan harici saati kullanır. Veri hattı çift yönlü olduğundan, eşzamanlı işlem yalnızca yarı çift yönlüdür. Yarı çift yönlü, Master ve Slave cihazların verileri alıp iletebildiği, ancak her ikisini aynı anda alamayacağı anlamına gelir. EUSART / AUSART, Master veya Slave cihaz olarak çalışabilir. Başlatma ve Durdurma bitleri senkron iletimlerde kullanılmaz Eşzamansız Eşzamansız iletişimde iki pin kullanılır. Biri Gönderim (Tx) ve diğeri Alım (Rx). Bir cihazın Tx'i ikinci cihazın Rx'ine bağlanır. Her karakter iletimi, bir Başlangıç ??bitini takiben sekiz veya dokuz veri bitinden oluşur ve her zaman bir veya daha fazla Durdurma biti ile sonlandırılır. Başlangıç ??biti her zaman bir boşluktur ve Durdurma bitleri her zaman işaretlerdir. İletilen her bit 1 / (Baud Rate) periyodu boyunca devam eder. Sistem osilatöründen standart baud hızı frekanslarını türetmek için yonga üzerinde özel bir 8-bit / 16-bit Baud Rate Generator kullanılır. Asenkron seri iletişim için birçok format vardır ve popüler olanı RS-232 standardıdır. RS-232, kuruluma bağlı olarak bir Başlangıç ??biti ve ardından bir grup veri biti ve ardından bir veya iki Durdurma biti içerir. Yaygın bir kurulum 8N1'dir, bu da bir Başlangıç ??biti, SEKİZ veri biti, Eşlik biti yok ve ardından BİR Durdurma biti anlamına gelir. Hiçbir eşlik bilgisi dahil edilmemiştir, bu da bit hatalarını kontrol etmenin basit bir yoludur. Sekiz veri biti 256 farklı kombinasyon oluşturabilir ve bu kombinasyonlar Amerikan Bilgi Değişimi Standart Kodu (ASCII) tablosuna göre önceden atanır. Bilgisayar klavyesinde bulunan özel karakterlerle birlikte hem büyük hem de küçük harflerin her biri benzersiz bir ASCII koduna sahiptir. Bu, mikro denetleyicinin metin mesajlarını, alıcı uç olarak yorumlanabilen ve tekrar karakterlere dönüştürülebilen dijital veriler olarak aktarmasına izin verir. EUSART / AUSART ilk olarak En Az Önemli Bit'i (LSb) iletir ve alır. EUSART / AUSART'ın vericisi ve alıcısı işlevsel olarak bağımsızdır ancak aynı veri formatını ve baud hızını paylaşır. Tek veya çift bir eşlik, iletilen bitin toplamından belirlenebilir, ancak donanım tarafından desteklenmez. Yazılımda uygulanabilir ve dokuzuncu veri biti olarak saklanabilir. Yerel Ara Bağlantı Ağı (LIN), 9-bit karakter verileri ve diğerleri gibi başka standartlar da vardır. Bunlardan herhangi biri yazılımda oluşturulabilir, ancak bu çok fazla işlem süresi alır, bu nedenle işlemin çoğunu gerçekleştirecek özel bir donanım devresine sahip olmak, uygulamanın daha hızlı ve daha güvenilir çalışmasını sağlayabilir. PIC ® MCU'daki EUSART / AUSART çevre birimi, gönderilecek verileri (TXREG kaydı) ve alınan verileri (RCREG kaydı) depolamak için kayıt tamponlarına sahiptir. Zamanlama, bu seri iletişim için kritiktir, bu nedenle, iki iletişim cihazı arasında ortak bir baud hızı veya saniye başına bit zamanlaması oluşturulur. Otomatik baud hızı algılama, çoğu EUSART / AUSART çevre biriminde yerleşiktir. EUSART modülünün çalışması, üç kayıt üzerinden kontrol edilir: İletim Durumu ve Kontrolü (TXSTA) Durum ve Kontrolü Al (RCSTA) Baud Hızı Kontrolü (BAUDCON)
Baud Hızı Hesaplaması Baud Rate Generator (BRG), hem asenkron hem de senkronize EUSART (Evrensel Senkron / Asenkron Alıcı / Verici) işleminin desteklenmesine adanmış 8 bitlik veya 16 bitlik bir zamanlayıcıdır. Varsayılan olarak, BRG 8 bit modunda çalışır. BAUDCON kaydının BRG16 bitini ayarlamak, 16 bit modunu seçer. SPBRGH: SPBRG kayıt çifti, serbest çalışan baud hızı zamanlayıcısının süresini belirler. Eşzamansız modda, baud hızı periyodunun çarpanı hem TXSTA kaydının BRGH biti hem de BAUDCON yazmacının BRG16 biti tarafından belirlenir. Eşzamanlı modda, BRGH biti dikkate alınmaz. Baud hızı hatasını azaltmak için yüksek baud hızını (BRGH = 1) veya 16 bit BRG'yi (BRG16 = 1) kullanmak avantajlı olabilir. 16 bitlik BRG modu, hızlı osilatör frekansları için yavaş baud hızları elde etmek için kullanılır. SPBRGH: SPBRG kayıt çiftine yeni bir değer yazmak, BRG zamanlayıcısının sıfırlanmasına (yani silinmesine) neden olur. Bu, BRG'nin yeni baud hızı çıktısı vermeden önce bir zamanlayıcı aşımı için beklememesini sağlar. Etkin bir alma işlemi sırasında sistem saati değiştirilirse, bir alma hatası veya veri kaybı meydana gelebilir. Bu sorunu önlemek için, RCIDL bitinin durumunu kontrol ederek sistem saatini değiştirmeden önce alma işleminin Boşta olduğundan emin olun. Baud hızı denklemleri aşağıdaki grafikte gösterilmiştir. Denklem, BAUDCON kaydındaki ayarlara dayanmaktadır.
Hiç yorum yok:
Yorum Gönder
Her yorum bilgidir. Araştırmaya devam...