Ana içeriğe atla

Keil ile Arm Programlama - 5 ( Usart )

Keil ile Arm Programlama - 5

USART

     Dostlar merhaba. Arm programlama yazılarına kaldığımız yerden devam ediyorum. Bugün Arm'da haberleşme protokolleri üzerine konuşacağız ve Keil'de bunu nasıl programladığımızı öğrenmeye çalışacağız. 

     Haberleşme protokollerinde amaç bilginin bir cihazdan mikrodenetleyiciye veya mikrodenetleyiciden bir cihaza gönderilmesini sağlamaktır. Farklı bir tanımlaması ise ; 0 ve 1'lerden oluşan verileri 2 dijital sistem arasında alma - gönderme işlemlerine haberleşme protokolleri denir. Bu protokollerin çeşitli yöntemleri bulunmakla birlikte hepsinin genel adına " Usart " denir. Usart'ın açıklaması kısaca bu şekilde diyebiliriz.

      Haberleşme protokolleri fiziksel yapılarına göre 2'ye ayrılır ;
  • Seri Haberleşme
  • Paralel Haberleşme 

      Paralel haberleşmede bilgiler alıcıya paralel data hatları üzerinden gönderilir. 


     
      Bu haberleşme yönteminde bilgiler alıcıya seri haberleşme yöntemine göre daha hızlı gönderilir. Bu sebeple hız gerektiren uygulamalarda tercih edilir. Paralel haberleşmenin dezavantajı ise gönderilen bilginin bit uzunluğu kadar data hattı kullanılması gerekmesidir. Çok fazla pin kullanıldığı için tüketilen enerji miktarı ve maliyet artar. 

     Seri haberleşmede ise bilgiler tek bir data hattı üzerinden gönderilir. 



     Bu haberleşme yönteminin avantajı daha az fiziksel pin kullanmasıdır ve hız gerektirmeyen uygulamalarda tercih edilir. En çok kullanılan seri haberleşme protokolleri ise şunlardır ;    
  • SPI
  • I2C
  • RS 232
  • RS 485
  • UART
  • USB
      RS-232, 10m'ye kadar olan uzaklıklara veri gönderir. RS-485'de ise bu mesafe 1 km'ya kadar çıkabilmektedir. I2C ise 70 cm ila 100 cm arasındaki mesafelere veri alıp gönderebilir. SPI haberleşme de bu mesafe diğerlerine göre daha düşüktür ve maksimum 30 cm ile sınırlıdır. Projelerimizde kullanacağımız haberleşme protokolünü seçerken bu mesafelere dikkat etmek zorundayız. Aksi takdirde veriler hatalı bir şekilde gidecektir.

RS-232 İLETİŞİMİ

     RS-232'de veriler 8 bitlik karakterler halinde iletilmektedir. Veriler hatta iletildikten sonra alıcı sürekli olarak hattı denetler. Start bitini gören alıcı stop bitini görene kadar verileri okur. 

      Parity Bit : Kendisinden önce gelen verilerin bozulup bozulmadığını kontrol eden bit'tir. Odd, Even ve Noun olmak üzere 3 tipi vardır. 

odd : tek - even : çift - none : yok

     Bu haberleşme portu - 12 V ile 12 V arasında gerilimle çalışır. Bu gerilimi 3V - 5V arasında dönüştürebilecek entegreler bulunmaktadır. ( Ör : Max232 )





     Şimdi artık Keil'de kodları nasıl yazacağımıza geçebiliriz. Kodlara geçmeden önce ise bilmek gerekir ki mikrodenetleyeciler çoğunlukla " C " diliyle programlanır ve C gibi dillerde string veri tipi tanımlı değildir. String yerine gönderilecek veri chat tipinde bir karakter olmalıdır. 

      String ifadeleri haberleşme protokolleri ile gönderebilmek için her bir karakter tek tek gönderilmelidir. 


      Kodlar ;






      Yine satırların yanına açıklamalarını yazdım. Umarım faydalı olmuştur. Sorularınızı yorum kısmına yazabilirsiniz. 


      Ek Notlar ; 

  • USB/TTL dönüştürücü, usb portundan gelen bilgiyi işleyerek RS-232 iletişim protokolüne dönüştürür. Stm32f4 ile gerçekleştirdiğiniz projelerde bu dönüştürücüyü tercih edebilirsiniz. Kolaylık sağlar.
  • USB/TTL Converter cihazı için kullanılabilecek 2 adet ücretsiz arayüz vardır. Bunlardan biri Arduino Ide diğeri ise Termite'dir. 

Yorumlar

  1. çok teşekkürler. Çok düzgün ve açıklayıcı olmuş. Devamına HID ile yapılmış bir versiyonda anlatılırsa çok güzel olur.

    YanıtlaSil

Yorum Gönder

En çok okunanlar ;

PLC Zamanlayıcı ( Timer ) Komutu Uygulamaları ve Simülasyonu

SIEMENS S7 - 200  PLC TİMER KOMUTU UYGULAMALARI ve SİMÜLASYONU      Merhaba, bugünkü yazıda PLC'de timer komutunun kullanımını öğreneceğiz ve bu komutun simülasyon üzerinde uygulamalarını gerçekleştireceğiz. Timerler PLC'de oldukça öneme sahip komutlardır. S7 - 200 PLC'de 3 çeşit zamanlayacı bulunmaktadır ;      1 ) Çekmede Gecikmeli Zaman Rölesi ( TON ) : Bu zamanlayıcı '' enable '' girişine ait komutlar doğru ise zamanlayıcı zaman süresini saymaya başlar. Bu anda zamanlayıcının zaman biti 0'dır. Zamanlayıcı'nın saydığı zaman değeri '' Present Value '' değerine eşit olduğu zaman, zamanlayıcı biti 1 olur. Enable girişi 0 olduğunda ise zaman rölesi sıfırlanır.         T32 - T96                                            >>> 1 ms        T33 - .... - T36 ve T97 - ... - T100      >>> 10 ms        T37 - .... - T63 ve T101 - .... - T255   >>> 100ms         Present Time ( PT ) değeri ola

PLC Mühürleme, Set - Reset Komutları ve Elektronik Kilitleme

SIEMENS S7 - 200 PLC  STEP 7 MICROWIN 4.0 PROGRAMI İLE MÜHÜRLEME,SET-RESET,ELEKTRONİK KİLİTLEME UYGULAMALARI ve SİMÜLASYONU      Merhaba, bugün daha önce anlattığımız konulardan daha temel ve kolay olan mühürleme, set - reset , elektronik kilitleme gibi konulara kısaca değineceğiz. Öğrenilmesi her ne kadar daha basit olsa da içerdiği önem oldukça fazladır. Bu yüzden bu konuları öğrenmeden PLC eğitimi gerçekleştirilmiş olamaz.       İlk olarak mühürleme işleminin ne olduğu ile başlayalım. Örnek verecek olursak siz start butonuna basıldığı zaman herhangi bir devre elemanının ( lamba, motor, kompresör vb. ) çalışmasını istiyorsunuz. Start butonu olarak ise normalde açık ( NO ) buton kullanmanız gerekir. Bu yüzden sizin sürekli çıkışı aktif hale getirebilmek için butona sürekli basmanız gerekir. Bu ise pek mümkün olabilecek bir şey değil. İşte bu noktada mühürleme işlemine gerek duyarız. Gelin önce mühürlemenin ladder diyagramını çizelim ve diyagram üzerinde konuyu kav

3 Fazlı ASM'lere Yıldız / Üçgen Yol Verme Kumanda Devresi ve Simülasyonu

3 FAZLI ASENKRON MOTORLARA YILDIZ / ÜÇGEN YOL VERME KUMANDA DEVRESİ SİEMENS S7 -200 LADDER DİYAGRAMI VE SİMÜLASYONU      Merhaba, bu yazıda sanayide en çok kullanılan elektrikli motor olan 3 fazlı asenkron motorlara yıldız/üçgen yol verme yöntemi ile yol verilmesini STEP 7 MicroWİN programında gerçekleştirmeyi öğreneceğiz. PLC komutlarına geçmeden önce neden yol verme yöntemlerine ihtiyaç duyuyoruz, yıldız/üçgen yol vermek ne demektir, bize ne faydası olur gibi soruları cevaplamak gerektiğini düşünüyorum. Bu yüzden ilk olarak bu soruları cevaplamaya çalışacağız.         3 fazlı asenkron motorlar kalkış anında normal çalışma durumuna göre 5 ila 7 kat arasında daha fazla akım çeker. Bu durum ise pano elemanlarının ( kondaktör, termik röle, sigorta vb. ) daha çabuk yıpranmasına sebep olur. Bu yıpranmayı önlemek için ilk kalkış anında bazı yol verme yöntemleri geliştirilmiştir. Bunlardan en çok kullanılanı ise yıldız / üçgen yol verme yöntemidir.      Yıldız/Üçgen yol verm