fpganedir.com'da ara

fpganedir mail

  * Proje Hakkında

  * Transmit Modu

    * Receive Modu

Proje Tanımı:

Bu pojemizde, RS232 protokolünde veri göndermek ve almak için iki adet modül tasarlayacağız.

Projede neler yapacağız

RS232

Universal asynchronous receiver and transmitter (UART);   paralel verileri , seri bir iletişim ağından göndermeye yarayan bir cihazdır. UART sıklıkla RS232 standartı ile kullanılır.

RS232,  seri sinyal protokolü olup, verilerin seri olarak iletilmesini sağlar. RS232 iletişim için 9 pinli konnector  kullanılır.”DB9”

1

      RS232 3 sinyalden oluşur.

DB9 daki pin dizilimi

RS232 de 1 (high) -12 VDC, 0 (low) +12 VDC ile gönderilir. RS232 TxD idle(boş) pozisyonda -12 VDC seviyesindedir. (Bu bir TxD test yöntemidir)

Fakat RS232 de veri göndereceğimiz cihazlar genelde bu voltaj aralığında çalışmazlar. (PIC : 0 ve 5 Volt, FPGA :0 ve 3.3) Bundan dolayı veri üreten cihaz ile RS232 arasına bir dönüştürücü koymamız gerekir. Dönüştürücü olarak Max232 entegresi kullanılabilir.

MAX232 entegresi 0 volt seviyesindeki voltajları 12 VDC, 3.3 ve 5 voltu ise -12 VDC dönüştürebilme kabiliyetine sahiptir.

 

2

RS232  “asynchronous" bir protokoldür. Yani herhangi bir clk bilgisi, data ile gönderilmez. Bu yüzden gönderilen data ile alınan  datanın sekronizasyonun  (gelen verinin anlamlı hale getirilmesi) yapılması gerekir.

RS232'de bu   sekronizasyonu sağlamak için baudrate diye tanımlanan bir terim geliştirilmiştir. Baudrate datamızın gönderilme hızını belirler. Alıcı gönderilen datanın bautrate'ni bilmek zorundadır. Böylelikle baudtrate bilgisine göre gelen sinyalden örnekler alacaktır.

RS232 de veriler göndericinin seçimine bağlı olarak 5, 6 ,7 ve 8 bitler halinde gönderilir. Fakat genel kullanım 8 (1 byte) dir.(ASCII).

RS232'de veri bitlerine ek olarak 1 adet start ve 1 adet stop biti bulunur. Ayrıca bunlara ek olarak opsiyonel bir parity biti bulunur.
3

RS232 Txd de idle (boş) pozisyonundayken 1 (high) olduğundan yukarıda bahsetmiştik. RS232, paketi start, veri, parity(opsiyonel),stop  bitlerini içerir. Start biti  0 (low) dur. Yani RS232 de datanın alındığı bilgisi, idle olan (1 ) olan veri yolunun 0 inmesi ile anlaşılır. Stat bitinden sonra göndermek isteğimiz veriler bautrate uygun olarak gönderilir. Veriden sonra kullanıcı seçimli parity gönderilir. Parity RS232 paketinde olmayabilir. RS232 paketi stop biti ile sonlandırılır. Stop biti 1(high) dir. Alıcı, stop biti 1 aldığında, paketin anlamlı olduğunu anlar ve gönderilen veriyi işler.  Bu stop biti isteğe bağlı olarak 1, 1.5 ve 2 bit uzunluğunda olabilir.

RS232 başlama, stop, parity(parity in olup olmaması ve parity ), gönderilecek bit sayısı ve bautrate RS232 iletişimi için önemli olan maddelerdir ve alıcının bunları bilmesi gerekir. Aksi taktirde iletişim olmaz.

Rs232 veri gönderiminde ilk önce LSB (bit 0) , en son MSB (bit 7) gönderilir.

11110000 datasını no parity ve 1 bit stop ile rs232 ile gönderirsek aşağıdaki veri paketini elde ederiz.
4

 

Anasayfa | Fpga | VHDL | VHDL Sözlüğü | Embedded Sistem | Android | Sayısal Tasarım | Simulasyon | PCB | Örnekler | Forum | İletişim
Copyright © 2010-2013 FPGAnedir. All Rights Reserved.