PIC18F4550 ile bilgisayarım arasında bir iletişim kurmak istiyorum, ancak UART veya USART'ı uzun mesafe kullanmam gerekip gerekmediğini anlayabiliyorum. Birini diğerinin yerine kullanmak daha avantajlı olduğunda?
PIC18F4550 ile bilgisayarım arasında bir iletişim kurmak istiyorum, ancak UART veya USART'ı uzun mesafe kullanmam gerekip gerekmediğini anlayabiliyorum. Birini diğerinin yerine kullanmak daha avantajlı olduğunda?
Yanıtlar:
Amaçlarınız için UART ve USART aynı şeydir. UART, evrensel asenkron alıcı / vericiyi ifade eder . USART'taki ilave S, senkronizasyonu temsil eder . Microchip, modüle bazı durumlarda daha kullanışlı hale getirmek için biraz yetenek ekledi. Bu ekstra özellik sizin durumunuz için geçerli değildir.
PC COM bağlantı noktası yalnızca konuşmak için bir UART alır. USART'ın farklı bir şekilde kullanılmış olabilmesi sizin için önemsizdir, ancak belki de doğru şekilde ayarlanması gereken bazı ek yapılandırma bitleriniz vardır.
Kısa Cevap: Hangi çipin varsa onu kullanın
Soruyu tam olarak incelemek için kısaltmaların kodunu çözmek gerekir:
A U niversal bir senkron R eceiver T ransmitter olan geleneksel "seri port". Sadece tek bir sinyalin dahil olması anlamında eşzamansızdır - saat iletilmez ve bunun yerine alıcının tipik olarak aşırı örnekleme yoluyla bir saati kurtarması gerekir.
Bunun aksine, bir u niversal S ynchronous bir senkron R eceiver t ransmitter bir daha UART tarzı cihazın yönlü senkronize olmayan , aynı zamanda, isteğe bağlı olarak faaliyet göstermek üzere konfigüre edilebilir modları, ancak eş zamanlı bir saat verileriyle birlikte gönderilir türlerini ifade eder. Kabiliyete bağlı olarak, bu iyi bilinen senkron seri formatlarla (örneğin SPI veya I2S) birlikte çalışmayı içerebilir.
Birkaç MCU her iki çevre birim tipini de sunabilir. Temel bir eşzamansız seri ihtiyaç için ikisini de seçebilirsiniz. Bununla birlikte, seçiminiz, belirli bir çevre biriminin çalışabileceği pimlerden, sistemdeki diğer gereksinimlerden vb. Etkilenebilir. Fabrika ROM'u önyükleyici, yalnızca bazı çevre birimlerinde çalışabilir, diğerlerinde değil. Ayrıca arabellek desteği, kelime uzunlukları, eşlik desteği, ilgili kontrol sinyalleri, vb. Arasında farklılıklar olabilir. Ve yazılım arayüzü ikisi arasında tamamen farklı olabilir.
Mikrodenetleyiciniz için temel olarak aynı şeydir.
USART evrensel asenkron ve senkron alıcı / verici anlamına gelir. UART, evrensel asenkron alıcı / vericiyi ifade eder.
Asenkron veri iletimi çoğu zaman bu iletişim protokolünde kullanılır. Senkron veri iletimi nadiren kullanılır çünkü SPI ve I2C gibi çok daha iyi senkron iletişim protokolüne sahipsiniz.
Mikrodenetleyicinizde (MCU) bir Evrensel Senkron / Asenkron Alıcı / Verici (USART) bulunur. Bu fonksiyonel ünite senkronize iletişim modunu ve asenkronize iletişim modunu destekler.
Senkronize modda, Tx vericisi Rx alıcısına bir SAAT kablosu ve bir VERİ kablosu ile bağlanır. CLOCK periyodu başına bir kez, Tx DATA'ya başka bir bit gönderir ve Rx DATA'dan başka bir bit alır. Transfer zamanlaması CLOCK tarafından yönetilir ve bu nedenle hem Tx hem de Rx tarafından bilinir. Böylece hem Tx hem de Rx, eşzamansız moddan daha yüksek bit hızları kullanabilir.
Bununla birlikte, bir yerine iki kablo / konektör pimine ihtiyaç duyulur ve CLOCK ile DATA arasında aşırı eğim veya titreşim, verilerin bozulmasına neden olur. Bu çarpıklığı azaltmak için hat sürücüleri ve CLOCK ve DATA taşıyan hat alıcıları içindeki zamanlama yakından eşleştirilmelidir. Hem arabirim hem de iki telli faktörler, uzun kablolar ve / veya çoklu bağlantı atlamalarıyla daha uzun mesafelerde daha belirgin hale gelir.
Asenkron modda, Tx vericisi Rx alıcısına bir DATA kablosu ile bağlanır. Zamanlanmış bit periyodu başına Tx, DATA'ya başka bir bit gönderir ve Rx, DATA'dan başka bir bit alır. Transfer zamanlaması, her biri diğeri tarafından bilinmeyen ve biraz farklı olacak olan Tx ve Rx'deki frekans ayrı osilatörler tarafından yönetilir. Bu nedenle, maksimum güvenilir bit hızı senkron moddan daha düşüktür.
Her yeni baytın başında, Rx gelen bit dizisi zamanlamasına yeniden senkronize etmek için başlangıç STOP-START bit geçişini kullanır. Bu, hat sürücülerinden / alıcılarından, kablolardan ve konektörlerden gelen gecikmeleri, bit kalitesiyle değil, bit süresi zamanlamasıyla ilgisiz hale getirir. İletişim sinyali başına iki yerine yalnızca bir kablo gereklidir, bu da kablolar, konektörler ve hat sürücüleri / alıcılarındaki maliyeti azaltır.
Bu, kabul edilebilir maliyetlerinize, seyahat ettiğiniz mesafelere ve Tx ve Rx'in yeteneklerine bağlıdır. Bilgisayarınız yalnızca standart bir COM bağlantı noktasında eşzamansız modu destekleyebilir ve eşzamanlı mod için özel bir bağlantı noktası (PCIe veya USB, muhtemelen USB) gerektirir.