PIC16F877P ile Web Arayüzü Com Port Eternet 3com eherlink

| Mayıs 18, 2023 Tarihinde güncellendi
PIC16F877P ile Web Arayüzü Com Port Eternet 3com eherlink

pic16f877 mikrodenetleyici ile hazırlanan devrede eski bir ISA eternet (3com eherlink ) kullanılmış tahminimce PIC internet bağlantısı yapılan bir uygulama tam emin değilim 🙂 devrenin amacını anlayamadım pic programlama ile uğraşak kişiler çözebilir kaynak asebbely asm pcb (eagle) kontol programı vb. dosyalarının olması yayınlama sebebi büyük ihtimal ilgilenen kişilerin işine yarayacaktır.

ISA-eternet-3com-eherlink-PIC16F877-3C509-pcb

PIC16F877 ve Ethernet (TCP/IP protokolü ile) işbirliği için bir temel oluşturma fikriyle Pic3Com yapımını (sürüm 0.1) yaptım. Bu proje için ISA NIC 3C509’u (en sevdiğim ethernet kartım) seçtim, çünkü ISA protokolünün mikroişlemcilerde uygulanması kolaydır.

Sürüm 0.1 şunları uygular:

ISA 3c509 (3c509B) NIC’nin başlatılması – NIC, iletişim G/Ç=0x300 ve Kesme 10 için yapılandırılmalıdır

adres çözümleme protokolü – ARP

internet protokolü – IP (İnternet iletişimi için varsayılan ağ geçidi desteği dahildir)

ping (ICMP Yankı İsteği / Yanıtı)

TCP protokolleri – TELNET (sunucu ve istemci) ve HTTP (sunucu, PIC’in RAM’inin 2KB’si html sayfaları için ayrılmıştır)

UDP protokolü gündüz – dahili DS1302 RTC’nin senkronizasyonu için

sıcaklık ölçümü (7 adede kadar) bağlı SMT 160-30 sensörleri (uygun Telnet protokolü tabanlı talebe yanıt olarak)

bağlı meteostasyondan izlenen verileri yetkilendirme ve gönderme olasılığı ile aprsd akışına bağlanın

iki değiştirilebilir aprsd veri çıkış formatı (TNC2 veya UIView günlüğü)

çok düzeyli program çalıştırma hata ayıklama olasılığı

RS-232 portu üzerinden kontrol

işlemcinin EEPROM’u aracılığıyla yapılandırma

– Diğer işlevlerin uygulanması için yaklaşık 2 KB boş program belleği (veya maksimum hata ayıklama seviyesi seçilirse 1,5 KB) için (0.1 sürümünde) kalır

pic16f877-and-ethernet-with-tcpip-protocol-schematic-circuit

Güç açıldıktan sonra LED iki kez kısa süre sonra yanıp sönmeli ve ardından bir daha uzun yanıp sönmelidir – bu, 3c509 NIC başlatmanın başarılı olduğunu gösterir. Bundan sonra program ana döngüye girer ve internetten (Telnet veya Http) veya RS-232 portuna bağlı meteostasyon, PC, …’den gelen verileri bekler. Yapılandırma tarafından gerekliyse, ağ geçidinden MAC adresi ister, RTC senkronizasyonu için Udp isteği gönderir veya kendisini yapılandırılmış aprsd sunucusuna bağlar, yetkilendirme, meteostasyondan veri gönderir,… tümü EEPROM yapılandırmasına dayalıdır

Pic3Com’un IP’si için ARP isteği alınırsa işlenir ve yanıt gönderilir

ICMP ping (Echo Request) alınırsa Echo Reply gönderilir. PIC tarafından Ethernet çerçevesinin yalnızca ilk 222 baytının okunduğuna dikkat edin. Bu, herhangi bir ağ iletişimi için geçerlidir, bu nedenle ping için, maksimum 180 veri baytlık ping paketinin okunup geri döndürüldüğü anlamına gelir!

TCP oturumları için program, TCP anlaşmasında maksimum segment boyutu (MSS) seçeneği gönderir – Telnet protokolü için MSS, tüm Ethernet çerçevesini 222 bayta sığdırmak için azaltılır. http protokolü için büyük MSS (yaklaşık 65000 bayt), http istemcisinin tüm HTTP GET isteğini parçalara ayırmaya gerek kalmadan göndermesini sağlamak için kullanılır. Çünkü PIC, yalnızca GET yan tümcesi ile başlayan ilk HTTP GET paketini yanıtlar.

aprsd sunucusuyla oturumun kesilmesi durumunda, program bağlantıyı kurtarmak için (zaman aşımından sonra) bağlantı istekleri göndermeye başlayacaktır.

Gündüz/udp protokolü aracılığıyla zaman senkronizasyonu yaklaşık olarak her bir tekrarlanır. Dahili RTC’nin doğru olduğundan emin olmak için 2 saat. Bu özelliği kullanmak istiyorsanız, bu hizmeti İnternet’teki bazı sunucularda etkinleştirmeniz gerekir. Gündüz için herhangi bir UDP bağlantı noktasını seçebilirsiniz çünkü gündüz için bağlantı noktası işlemcinin EEPROM yapılandırmasından alınır. Varsayılan udp bağlantı noktası 13’ü değil, 1024’ün üzerindeki bazı bağlantı noktalarını kullanmanızı öneririm.

Http isteği alınırsa (port 80’li TCP/IP paketidir) (veya aprs http için 14501) program istenen sayfanın ilk harfini kontrol eder ve program belleğinin html sayfası alanında bulunursa sayfayı döndürür. Karşılık gelen sayfa bulunamazsa, program varsayılan indeks sayfasını döndürür.

Telnet talebi alınırsa (port 23) program istemi döndürür ve komutları bekler. Her paket istem tarafından taahhüt edilir. Şu anda yalnızca 2 komut uygulanır: q = çık (telnet oturumunu sonlandırır) ve programın uzaktan sıfırlanması – bu özelliğin derleme zamanında etkinleştirilmesi gerekir.

SMT portu (18624) için Telnet talebi alınırsa, program SMT sensörlerinin bağlı olduğu konfigürasyondan kontrol eder ve sıcaklık değerlerini ölçer. Finaly, Zaman Damgasını (bağlıysa RTC’den) ve ardından SMT’lerden sıcaklık değerlerini (Santigrat cinsinden) döndürür. Ve telnet oturumu program tarafından kesilir.

Program RS-232 portundan da dinler ve bu porttan gönderilen tüm komutlar işlenir. (Bağlı meteostatinden gelen veriler de komuttur – anlamı: aşağıdaki verileri WX string int RAM kayıtları olarak kaydedin.)

İlk açılış için EEPROM’da DS1302 RTC’nin başlatılması etkinleştirilmelidir. RTC kapasitör tarafından yedekleniyorsa bunu devre dışı bırakabilirsiniz. Kapasitör boşalırsa, başlatmayı da yeniden etkinleştirmeniz gerekir. RTC başlatılmazsa düzgün çalışmayabilir.

3c509 program tarafından tanınmazsa, LED hızla yanıp sönecek ve program bu noktada duracaktır. NIC’nin yuvaya iyi yerleştirilip yerleştirilmediğini ve işlevsel olup olmadığını kontrol edin (bazı bilgisayarlarda…).

NIC bulunursa ancak G/Ç=0x300 için uygun şekilde yapılandırılmazsa, LED tekrar tekrar iki kez yanıp sönecektir

I have made Pic3Com construction (version 0.1) with idea to have a basement for PIC16F877 and Ethernet (with TCP/IP protocol) cooperation. I have choosen ISA NIC 3C509 (my favourite ethernet card) for this project, because ISA protocol is simple to implement in microprocessors.

inicialization of ISA 3c509 (3c509B) NIC NIC have to be configured for communication I/O=0x300 and Interrupt 10

address resolution protocol ARP

internet protocol IP (support for default gateway included for Internet communication)

ping (ICMP Echo Request / Reply)

TCP protocols TELNET (server and client) and HTTP (server, 2KB of PIC’s RAM are dedicated for html pages)

UDP protocol daytime for synchronization of internal DS1302 RTC

temperature measurement (up to 7) connected SMT 160-30 sensors (as a reply to appropriate Telnet protocol based request)

connect to aprsd stream with possibility to authorize and send data tracked from connected meteostation

two switchable aprsd data output formats (TNC2 or UIView log)

multilevel program run debug possibility

control via RS-232 port

configuration via processor’s EEPROM

pic16f877p-ile-web-arayuzu-com-port-eternet

Şifre-Pass: 320volt.com

Yayım tarihi: 2008/08/02 Etiketler: , , , ,



9 Yorum “PIC16F877P ile Web Arayüzü Com Port Eternet 3com eherlink

  1. Abdurrahman TosunAbdurrahman Tosun

    sağol ama ben bundan hiç birşey anlayamadım ne işe yarıyor acaba iyi bir şey mi??????? 🙁

    CEVAPLA
  2. ibrahimibrahim

    Arkadaşlar karşınızda görmüş olduğunuz proje bir webserver kurmakta. çeşitli özellikleri var. başta anladığım kadarıyla meteoroloji istasyonu için planlanmış. Bir yere bu aleti koyuyorsun oradaki ölçümleri internetten takip ediyorsun. Bu alet sana internet yayını yapıyor.

    Kolay gelsin arkadaşlar bu ISA portuyla yapmış PCI bulmak lazım

    CEVAPLA
  3. GurayGuray

    Merhaba arkadaşlar evet ibrahim bey doğru bir yorum yapmış. Ancak ISA yerine PCI aramak yerine bu iş için yapılmış, yukarıdaki devrenin yaptığı işi fazlasıyla yapan ve parmak büyüklüğündeki ürünler piyasade mevcut. Bu cihazların genel adı “Device Server” olarak geçer ve fiyatları 40-50 USD arasındadır. Yaptığı işe bakacak olursak bu fiyat amatör uğraşlar için bile makul bir fiyat.

    http://www.lantronix.com/device-networking/embedded-device-servers/xport.html

    Bakın burada daha önce kullandığım ürünün linkini veriyorum. Eğer hiçbir bilgisayara gerek kalmadan bir mikrodenetleyiciyi ethernet ağına dahil etmek ve bu cihaz ile TCP/IP protokoküyle minumum yazılım zahmetiyle haberleşmek isterseniz bu ürünü kullanın. Hatta 500kB civarında sayfaları cihaz üzerinden sunabilirsiniz. Bu sayfalar üzerinden aynı ADSL modeminizin ayar sayfasında olduğu gibi mikrodenetleyicinize (mesela PIC16F877) ayar yapıp veri yazabilirsiniz.

    Hepinize kolay gelsin…

    CEVAPLA
  4. ibrahimibrahim

    Güray Bey gerçekten çok teşekkürler süper bir öneri oldu.
    Görüşmek dileğiyle

    CEVAPLA
  5. adminadmin Yazar

    Teşekkürler Guray Bir çok kişinin işine yarayacak bilgi

    CEVAPLA

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir