TCPIP STACK ve Point to Point Protokolü

Başlatan fırat, 15 Haziran 2011, 21:23:26

fırat

Merhaba,
Elimde bir uydu modul mevcut, fakat tcpip stack desteği yok, biz ppp ile bu modulu kullanmak istiyoruz, derleyici olarak ccs, tcpip stack olarak da michrochip'in ccs'ye dönüştürülmüş versiyonu olan Michrochip TCPIP stack 3.75 kullanıyoruz. İşlemcimiz 18f46k20.

İlk olarak bağlantı kurmakta başarılı oluyoruz, user ve password girişi yapıp numarayı çeviriyoruz ve connect cevabını alıyoruz (aşağıda görüldüğü gibi)
Devamında LCP işleminin başlaması gerekiyor (saçma karakterlerin olduğu yer) modul bize birşeyler soruyor, fakat bizim tcpip stack fonksiyonları bu sorguya belli bir süre cevap veremediği için bize hata mesajı dönderiyor (Normal Termination by NCP A). Bizim fonksiyonlarda modemi kapatıp bu işlemi tekrar ediyor. 
Sıkıntım modul ile pic arasındaki doğrulama sorgusunun yapılamaması...

Bu işin içinden çıkabilmemize yardım edebilecek ppp ile tecrübesi olan arkadaşların yardımına ihtiyacım var.

Aşağıdaki ekranı, modul ile pic arasını fiziksel olarak dinleyerek ekranladım.
/////////////////////////////////////////////////////////////

AT+cmee=2

OK
ATE1V1&D2&C1S0=0

OK
AT+CGDCONT = 1,"IP","get"

OK
ATM1L3&K0

OK
ATD*99#

CONNECT
~?}#?!}!%} }8}!}$}&@}%}&}8}??q}"}&} } } } }'}"}(}"})`~~?}#?!}!&} }$?:~~?}#?!}%}2} }=Normal Termination by NCP A~+++
OK
ATH

OK

NO CARRIER

/////////////////////////////////////////////////////////////





BenC

Connect ten sonra gelen karakterleri hex olarak okursan anlamlı sorular sorduğunu anlayacaksınız. Bu tarz (Dial Up ve eski modem bağlantılarında hatta şuan gprs te dahi geçerli bağlantı) bağlantılarda PPP protokolünü kullanır. Bu PPP nin de kısımları vardır. İlk olarak LCP(Link Control Protocol) Bu protokol karşılıklı bağlantının parametereleri vs ler ne olacak ona karar vermek için kullanılır. Sonrasında PAP (Password Auto.. Protocol) Şifre ve kullanıcı bilgileri protokolü sonra ICMP sonra TCP/IP diye gider. PPP fiziksel katman protokollerindendir. PPP Protokolünü ve mantığını çözersen işin tamam. Ben bir yere kadar getirdim lakin zamanım olmadığı içinkaldı.


Örnek olarakbenim denemelerimden

Her paket 7E FF ile başlar 7E ile biter. paket içerinde 7E eye rastlanırsa bundan kurtulmak için kaçış karakterleri kullanılır Senin gördüğün  süslü parantezler  aslında kaçış karakterleridir. Bunuda LCP de düzenlersin. Hesabı basit bişey şuan aklımda değil.  Veri bişeyden küçükse hex20 den çıkar gibi bişeydi.
C0 21 LCP paketidir. vs vs.
Uzun zaman oldu şuan bilgilerimi tekrar derlemem lazım ama zamanım yok. Nette PPP ile güzel bilgiler mevcut.

ATD*99***1#


CONNECT
~ÿ}#À!}!}!} }8}"}&} } } } }#}$À#}%}&} }$È•}'}"}(}"Äj~~ÿ}#À!}%}"} }.}%} } }*} } } } } } ÈO~
NO CARRIER


41 54 44 2A 39 39 2A 2A 2A 31 23 0D 0D 0A  0D 0A 43 4F 4E 4E 45 43 54 0D 0A 7E FF  7D  23 C0  21 7D 21 7D 21 7D 20 7D 38 7D 22 7D  26 7D 20 7D 20 7D 20 7D 20 7D 23 7D 24 C0   23 7D 25 7D 26 7D 20 34 E3  7D 26 7D 27 7D  22 7D 28 7D 22 7D 32 37 7E 7E FF  7D 23 C0   21 7D 25 7D 22 7D 20 7D 2E 7D 25 7D 20 7D  20 7D 2A 7D 20 7D 20 7D 20 7D 20 7D 20 7D  20 C8  4F 7E 0D 0A 4E 4F 20 43 41 52 52 49  45 52 0D 0A  0D  0A  4F  4B  0D  0A  0D  0A  4F  4B  0D  0A  0D  0A  4F  4B  0D  0A  0D  0A  2B  43  53  51  3A  20  32  36  2C  39  39  0D  0A  0D  0A  4F  4B  0D  0A  0D  0A  4F  4B  0D  0A  61  74  0D  0D  0A  4F  4B  0D  0A  41  54  44  2A  39  39  2A  2A  2A  31  23  0D  0D  0A  0D  0A  43  4F  4E  4E  45  43  54  0D  0A  7E  FF   7D  23  C0   21  7D  21  7D  21  7D  20  7D  38  7D  22  7D  26  7D  20  7D  20  7D  20  7D  20  7D  23  7D  24  C0   23  7D  25  7D  26  7D  20  7D  24  C8   95   7D  27  7D  22  7D  28  7D  22  C4   6A  7E  7E  FF   7D  23  C0   21  7D  25  7D  22  7D  20  7D  2E  7D  25  7D  20  7D  20  7D  2A  7D  20  7D  20  7D  20  7D  20  7D  20  7D  20  C8   4F  7E  0D  0A  4E  4F  20  43  41  52  52  49  45  52  0D  0A 
ŞEHİT KANIYLA ALINMIŞ BU GÜZELİM VATANIN TOPRAKLARI KARIŞ KARIŞ SATILIYOR!!  VATAN HAİNİ OLMA!!

BenC

Nette Motorola MC68HC08 ile yapılmış PPP örneği var onu incele. AN2120. Yine Microchipin basit SLIP uygulamaları var onlara bak. Sana sadece LCP nin PPP nin nasıl işlediğini anlatır. Ben şuan bulamadım PC mde.  Sanırım adı AN724
ŞEHİT KANIYLA ALINMIŞ BU GÜZELİM VATANIN TOPRAKLARI KARIŞ KARIŞ SATILIYOR!!  VATAN HAİNİ OLMA!!

BenC

#3
Kabaca PPP

[/URL]

Uploaded with ImageShack.us[/img]

[/URL]

Uploaded with ImageShack.us[/img]

[/URL]

Uploaded with ImageShack.us[/img]
ŞEHİT KANIYLA ALINMIŞ BU GÜZELİM VATANIN TOPRAKLARI KARIŞ KARIŞ SATILIYOR!!  VATAN HAİNİ OLMA!!

fırat

İlginiz için teşekkür ederim,

        Bu esnada araştırmalarım devam ederken hardware stack (donanımsal tcp/ip stack yüklü) entegreler gördüm. Bahsi geçen entegreler, MCU için uygun bir arabirime sahip (SPI yada paralel) çıkış olarak da uart arayüzle tcpip stack barındırmayan modemlere uygun. Bu sayede ppp, tcp/ip gibi protokkoller ile uğraşmadan düşük güçlü işlemciler ile ağ uygululamaları yapılabilir diye düşünüyorum. 

http://pdf1.alldatasheet.com/datasheet-pdf/view/80575/SII/S-7600A.html

adresinden seiko'nun S-7600A  hardware stack entegresini inceleyebilirsiniz.

BenC rumuzlu arkadaşımızın bahsettiği detayları yinede araştırıyorum. Ama donanımsal olarak yapmak sanırım projeyi soft olarak rahatlatacak. Bu entegre yada muadili bir entegreden olumlu sonuç alabilirsem neticeyi paylaşırım.

BenC

Gömülü TCP/IP entegreleri kullanmanın en büyük avantajı sizin MCU nuza fazla iş yükü bırakmaması. Ama en büyük dezavantajı onu yazan adamın hatalarını bilmemeyişiniz ve bu hatalara müdehale edemeyişimiz.
ŞEHİT KANIYLA ALINMIŞ BU GÜZELİM VATANIN TOPRAKLARI KARIŞ KARIŞ SATILIYOR!!  VATAN HAİNİ OLMA!!

fırat

Sonunda problemi çözebildim, TNS010i adlı tcpip stack çipi sayesinde ppp ile Gprs üzerinden bağlantı yapabiliyorum. Bu sayede bi ton kod yazmaktan kurtuldum. Entegre TTL Uart girişine ve TTL uart çkışına sahip, girişden Host mcu bağlantısını yapıp çıkışa da modemi takıyorsunuz. Çok basit AT komut yapısı ile modem üzerinden ppp bağlantısını yapabiliyorsunuz.


http://www.tcpipchip.com/

datasheet:
http://www.tcpipchip.com/datasheet/TNS010i%20data%20sheet_4.pdf


http://www.es.co.th/detail.asp?Prod=31000034