T

R2R ile 4 Bit dac

Başlatan TA2AWO, 25 Eylül 2013, 21:32:30

TA2AWO

Arkadaşlar hepinize merhaba..
Üzerinde epeydir uğraştığım ancak hiç bir şekilde çözüme ulaşamadığım bir konu var.
Öncelikle Bir telsiz operatörüyüm  8) Konumuz APRS çoğu arkadaşımıza yabancı gelebilir ama ülkemizde ve dünyada senelerdir kullanılan bir sistem..Ne işe yaradığına gelince http://tr.aprs.fi/#!lat=41.01860&lng=28.96470 bu link'e tıkladığınızda beni birazda olsa anlamış olacaksınız. Aprs nin açılımi Automatic Packet Reporting System anlamına geliyor.Biz türkiye Telsiz operatörleri olarak Bu sistemi sadece harita üzerinde görünmek maksadı ile değil de mesaj  E-mail veya data aktarımında da kullanabiliyoruz Ancak genelde harita üzerinde görünmek için kullanırız.
Şimdi gelelim sistemin nasıl Çalıştığına,

Gps modülü ile Konum,Hız,Rakım Vb. bilgiler pic ile alınır belirli bir çerçevede derlenir. Burada işlenen veriler ascı formatında Dijital verilerdir.
Bu konum bilgisi ile birlikte  bizim çağrı işaretimiz olan (TA2AWO Bu benim Çağrı işaretim)  pic e daha önceden kaydedilmiştir.ve Ascı dizelerinin son hali olarak Parentez içinde belirttiğim gibi düzenlenir.    ( TA2AWO 9>T0UP06,WIDE1-1,WIDE2-2 Port=1 <UI R Len=25>:=4050.06N\02921.33E-TA2AWO Op.Semih 145.500 QRV)  Bu Dizlerin adı artık Beacon oldu Beacon içinde bizim koordinatlarımız, hızımız, Adımız, Çağrı işaretimiz ve bizlere hangi frekanslardan ulaşabilecekleri yazılıdır.Bu yazı formatı 4 bitlik Dac işleminden sonra anolağa dönüştürülür ve telsizin ses girişine verilir.Bu kartımızın Adı ise TinyTrak Bir picten bir kaçta kompanenten oluşur.Telsizimiz bunu VHF Bandında ve 144.800 Mhz Frekansında havaya atar.Burada havaya gönderilen ses bir fax modem sesini andırır Nasıl bir ses olduğu merak ediyorsanız bu linkteki videoyu izlemenizi öneririm Decode APRS with RTL SDR (RTL2832U)
Şimdi biz havaya beaconmuzu attık internete nasıl işlecek sorusunu sorduğunu duyar gibiyim. :)
Bu işlem size karışık gelse de aslında çok basit..Yüksek bir mevkide devamlı 144.800 mhz i dinleyen istasyonlar bulunur bunların kimisi bizim gönderdiğimiz sinyali tekrarlar veya videodaki ses bilgisayarın Line İn girişinden pc ya aktarılır Ve bir bilgisayar yazılımı Yine Videoda gördüğünüz üzere bu sesteki dataları çözer ve Google nin aprs veri tabanına gönderir ve bu şekilde haritada görünmüş oluruz.
Sanırım konu ile ilgili Yeterince bilgi vermiş oldum. Benim Sorunuma Gelince ekteki resimde TniyTraktın devre şeması var.Bir 16f628 ve Portb.0 dan Portb.3 e kadar r2r dirençleri var benim Ascı formatındaki yazı dizelerini bu 4 portta nasıl göndermem gerekir ki Videodaki gibi 1200 hz lik ses frekansı ile bu ses'i elde edebileyim.Osesin içerisinde yukarıda parantez de belirttiğim gibi bilgilerden başka hiç bir şey yok..Ayrıca şunuda belirmek istiyorum haberleşme hızı 1200 baud ses frakansıda 1200 hz olarak belirtiliyor.Şimdiden yardımlarınız için teşekkür ediyorum. Hoşçakalın.73

ete

Bu işte bir terslik var. ASCII formatı 8 bitliktir. Peki 8 bitlik bir değer nasıl 4 bit haline getirilebilir?. Örnekle sorumuzu geliştirelim.
ELimizde "A" bilgisi var bunun ASCII karşılığı 65 dir. Bu sayının ADC karşılığını R2R sisteminden alabilmem için onu 4 bit haline dönüştürmem gerekmezmi? 4 bitlik en büyük sayı 15 rakamıdır. O halde bir yöntem olarak sayıyı 15 e bölerim. Tam sayı kısmını 15 ile çarpıp 65 den çıkartırım. 65- (4*15)=5 rakamını elde etmiş oluruz. Bu sayıyı 4 bitlik porta verirsem A bilgisnin karşılığını ADC olarak almış olurum (sanırım) bu yöntem tutuyor ise ancak böyle olur diye düşünüyorum. Aksi halde nasıl olacağını bilemiyorum doğrusu.  Sİstemi tekrar etüd edelim isterseniz. diyelimki elimizde bu sefer "H" harfi var. Bunun ASCII karşılığı 72 dir. Bunu 4 bitlik hale dönüştürelim 72/15=4,8  4bit=72-(4*15)=12 çıkacaktır. Sİstem çalışıyor gibi gözüküyor. Ancak denemeden bir şey söylemek imkansız. Önemli olan bu bilgi karşıda nasıl çözülüp yeniden H bilgisi elde edilecek onu merak ediyorum. Benzer mantık ile  12 sayısı alınacak üzerine 60 eklenecek 72 bulunacak. Ama gerçekten 12 olan karekter ile bu H karekteri nasıl ayırt edilecek işin burası garip. Mesela  9 rakamının ASC karşılığı 57 dir. Bunu 15 e bölersek 3,8 rakamını buluruz. 57-(3*15)=12  bulunacaktır. Bu durumda yine 12 göndermiş olacağız çözecek sistem bunu nasıl ayırd edecektir.
Sesli düşününce şu yöntem aklıma geldi. 8 bitlik rakam iki tane 4 bit haline getirilip sıra ile önce LOW tarafı Bit0-Bit3 ve sonra HIGH tarafı bit4-bit-7 verilerek ancak bu iş çözülebilir. Hepimiz LCD lerin 4 bitlik haberleşme metodunu kullandığını biliyoruz. Aslında 8 bit bağlanması gereken LCD ler bacak sayısından tasarruf etmek için 4 bit bağlantı kullanır. Bu sistemde 8 bitlik veri iki parçaya bölünerek 2 seferde iletilir. Aynı yöntemi kullanarak bu iş çözülür bana kalırsa.
ELimizde 9 rakamı karşılığı ASCII değeri olarak 57 sayısı var. İkili sistemde bu %00111001 şeklindedir. Bu sayıyı R2R sistemin şöyle verirsek, Önce %1001 ve ardından %0011 olarak iki partide vererek bu iş çözülebilir. Alıcıda ilk gelenin LOW tarafı sonraki gelenin HIGH tarafı olduğunu bilirse iki parça birleştirilerek sayı yeniden oluşturulur.
Bunun dışında da bir yöntem aklıma gelmiyor maalesef.
Bütün bunları düşündükten sonra aklıma şu geliyor. Madem bu sistem kullanılıyor. O halde işin çözme kısmını incelemek yada o konuda bilgi toplamak lazımdır. Çünki işin çözümü orada gözüküyor. Kullanıcılar istedikleri yöntemi kullanıp bilgiyi yollayamazlar. Ortak bir standart olmalı. Alıcı üniversal çünki. O halde alıcı mutlaka bir standart belirlemiştir. Oradan bilginin dediğim gibi iki parçaya bölünerekmi yoksa başka bir yöntemlemi yollandığı anlaşılabilir. MUtlaka iki parçalı bir sistemdir ama yinede ortada iki alternatif gözüküyor. Önce LOW tarafımı ypksa HIGH tarafımı yollanıyor bilinmesi gerekir.

Bunları anlatırken bir başka yöntemde aklıma geliverdi. Yine iki parçalı sistem olarak  57 sayısını 15 e bölünce 3 rakamını elde ediyoruz. Kalan ise 12 oluyor. O halde önce 3 rakamını yollarım bu 15 çarpanı olacaktır. Sonra 12 rakamını yollarım buda eklenecek sayı olacaktır. Çözen taraf 3 x15+12 =57 şeklinde sayıyı yeniden oluşturabilir.
Benim düşündüklerim bunlar varsa başka fikirleride alalım.
Ama dediğim gibi işin içinde bir ata oluşturma standardı var ise bu çözen taraftan alınacak bilgiler ile açıklığa kavuşturulabilir. Oradaki formatı araştırın lütfen.

Ete


TA2AWO

Sayın Ete Cevap ve açıklamanız için teşekkürler.Öncelikle  AX.25 protokolu kullanılıdığını biliyorum bunu araştırmalarım sonucu öğrenmiş bulundum ancak ilk yazımda belirttiğim ve düzenlediğim dataları aprs formatları ile ilgili bir dökümandan elde ettim ve sonra bu dataların anoloğa dönüşmeden ki son halinin bu olduğu konusunda kesin karara vardım.Zaten alıcı kısmında da çözülmüş hali bu idi.Dediğiniz gibi Lcd lerde 4 bitlik haberleşme mevcut bu banada bir feyz verdi ve denedim ancak hız ayarını yapamıyorum lcd ye data gönderirken bu dataları 1200 baud hızında gönderme işini yapamadım.Dataların 4 bit veya 8 bit olarak Dac işlemine tabi tutulması sesin çözünürlüğü artıracak yada düşürecek öyle değilmi yani açacak olursak 8 bitlik bir çeviri işleminden çıkan ses ile 4 bitlik çeviriden çıkacak ses kalitesi aynı olmayacak o halde 4 bit olarak değilde zaten 8 bit büyüklüğünde olan datalarımızı 8 bitlik bir DAC işlemine tabi tutsak olmaz mı ? Bunları denemek zor değil peki ozaman sorumu şöyle soruyorum.....  ( TA2AWO 9>T0UP06,WIDE1-1,WIDE2-2 Port=1 <UI R Len=25>:=4050.06N\02921.33E-TA2AWO Op.Semih 145.500 QRV) bilgisi 1200 baud ile frekansı 1200hz olarak nasıl portb ye gönderebilirim? Yada böyle bir durum söz konusu olabilirmi ?

ete

Olayın bütününü bilmeden yorum yapmak hem zor oluyor hemde yapılınca çoğu yanlış oluyor.
Bir defa neden digital sinyali analoğa dönüştürüyoruz? Neden digital olan sinyal yine digital yollanmıyor. ? Bunların cevabını bilmeden yorum yapmak zor gibi. Analog sistem kullanımı acaba bir mikrofon çıktısı gibi yollanma zorunluluğundan kaynaklanıyor. Peki diyelimki elimşzde 4 bitlik veriden oluşturulan bir analog sinyal var bu sinyal nasıl 1200 hz lik yada baud luk sinyale dönüşecek. Bunlar hep muamma. Sen işin pratik yönünü bir anlatki kafayı çalıştırıp  bir şeyler bulmaya çalışalım.
Yoksa işin içine modulasyonmu giriyor. 1200 hzlik bir sinyale analog sinyali bindirsek nasıl olurdu acaba. Bütün düğüm decoderin bu gelen sinyali nasıl çözdüğüne bağlı orayı bilirsek encoderini yapmak zor olmaz bana kalırsa.
Bir diğer alternatif ise yollanan sinyalin bir skop görüntüsü olsa belki bir şeyler çıkartabiliriz.
Ete

TA2AWO

Gönderme işini bir telsiz yapıyor ve telsiz anoloğ bir gönderici cihaz olduğundan dijital bilgiyi anoloğa çevirme durumu buyüzden ortaya çıkıyor.alıcı taraf yine bir telsiz ve ses çıkışından yine anoloğ olorak alınıp bilgisayarın ses veya mikrofon girişinden pcye aktarılıyor bir bilgisayar yazılımı bu sesi yeniden dijitale çeviriyor daha sonrada google aprs veri tabanına gonderme işlemini yapıyor.Benimde yardım istediğim konu zaten 1200 hz frekansında 1200 baud hızında o sesi picten çıkartmak.

Powered by EzPortal