avatar_ete

I2C komut kullanımı ile ilgili yorum ihtiyacım var

Başlatan ete, 31 Aralık 2011, 10:40:00

ete

Arkadaşlar,
Biliyorsunuz PBP da I2CRead ve I2CWrite şeklinde komutlarımız var ve standart I2C haberleşeme özelliğine sahip aletler ile bu komutları kullanarak haberleşebiliyoruz. En çok kullandığımız alet ise I2C ile çalışan Epromlar. Tipik bir epromun haberleşme için kullandığı bit diziliş sırasına bakarsak aşağıdakileri görebiliyoruz.



Üzerinde çalıştığım farklı bir entegre var. adı RDA1846. kısaca Walkie-Talkie yani komple bir telsiz entegresi. Çalışması hem SPI hem I2C olarak data sheet de açıklanmış. Aşağıdaki açıklamaya bakarsanız data register formatını vemişler. Her bir yazılacak bilgi 24 bit uzunluğunda bunu ilk 7 biti cihaz adres (kontrol), sonrasında tek bit R/W biti, Sonrasında adres veya data bitleri geliyor 16 bitlik. Bu açıklamaya bakarsanız ilk bit yani Bit7 R/W biti oluyor.



Aynı şekilde aşağıdaki resme bakarsanız bir timing diagramı verilmiş.


Bu timing diagramında  1-7 chip adres olarak açıklanmış ve 8 bit ise R/W biti olarak açıklanmış.
Bu alet standart bir I2C aleti ise R/W biti sonda yer alması gerekiyor. Burada da sona yazılmış ama bit 8 olarak gözüküyor. Halbuki Epromda bit0 olarak gözüküyor bu R/W biti.

Şimdi şaşırdığım nokta bu alete chaz adresini nasıl vermeliyim? Bit sırası olarak nasıl olmalıdır diye soruyorum bu soruyu.
Cihaz kodunu %0101110 olarak kullanacağım. Bu formata göre R/W bitini en başa mı eklemeliyim yoksa en sonamı eklemeliyim ikilem içinde kaldım. Diğer bir konu ise BPB da R/W bitine biz karışmayız. Komut onu okuma yapılırken "1" yazılırken ise "0" yapar. Dolayısıyla burada sorun ortaya çıkıyor. Eğer başa eklenecek ise komut sona ekleyecektir.

Siz ne düşünürdünüz acaba ne yapmalıyım.

Ete


est32

Hocam katalog yanlış verilmiş olamaz mı?
Daha önce karşılaştım, powertip marka grafik ekranın data pinleri katalogda yanlış verilmişti. Muhtemelen bu da öyledir, yoksa bu işin standardı olmaz ki. Adamlar I2C protokolünü yeniden yazmış olur, tüm dillerdeki derleyici kütüphaneleri işe yaramaz bir duruma düşer.

F®T

Hocam bende katalogda yanlışlık olacağına inanmıyorum.Kesinlikle doğrudur diye düşünüyorum.Katalog hazırlanırken bu kadar önemli bir durumun gözden kaçması imkansız.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

ete

Burada önemli olan anlatmaya çalıştığım tersliği sizde görebildinizmi? Bir ara benmi yanlış düşünüyorum diye tereddüde düşmüştümde o nedenle soruyorum.
Epromda bit dizilişi veriliş sırasına göre 7-6-5-4-3-2-1-0   RDA da bit dizilişi veriliş sırasına göre 0-1-2-3-4-5-6-7 şeklinde gözüküyor. Bunu çözmeye çalışıyorum.

Terslik elbette olabilir ama kos koca firma bu konuda hata yapmaz diye düşünüyorum. Yalnızca açıklama biçimi yanlış olabilir.
Çünki epromda en son bit R/W biti bundanda en son bit R/W biti ama sıralama farklı gibi algılıyorum.
Acaba adam data sheet'e bit sırası değilde diziliş sırasımı veriyor. Yani Device adres =%0101110 şeklinde vermiş. Bunun peşine R/W ekledinmi şöyle diyebilirsin soldan 1-7 device adres + R/W biti gibi böyle olursa sistem doğru oluyor. AMa dedğim gibi o kadar fazla değişik yoruma açık bir konuki inanılmaz. Aslında bütün data sheet de buna benzer tutarsızlıklar var. Bir akradaşım Çince düşünerek ingilizceye tercüme etmişler demişti doğru galiba.

Ete

est32

muhtemelen arkadaşınızın söylediği gibidir. Düzenli çalışan büyük bir şirkette üretim bandındaki mühendis işi bitince temizliğe,kazma kürek işine, çeviri işine karışmıyordur. Hazırlayan başka çeviren başkadır muhtemelen.
Ekte verdiğim katalogda da benzer sorun var,isterseniz siz de bir bakın,katalogda data pinlerinin sıralanışı yanlış olunca satıcı da kendisi yeni bir pdf ile durumu düzeltmeye çalışmış.
Ayrıca 128*64 garfik ekran almak isterseniz 4 liraya kadar düşmüş.Bu adam bu ekranları pos cihazlarından söküyor,ikinci el ama sorunsuz çalışıyor.

Mucit23

#5
Hocam Device Adresini ters şekilde göndermede cihaz arızalanmaz herhalde. Bence bi siz Normal I2C standartlarına göre deneyin.  Gerçekten ilginç bir durum  :o

EST32 Nerede satılıyor bu glcdler bende bi bakayım
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

est32

http://www.aspinacomputer.com/
bahsettiğin ekran da bu;
http://www.aspinacomputer.com/PowertipPG12864.htm
ben daha önce parça parça aldım bi kısmını cihaz yapıp sattım şu an elimde 30 kadar var,biter de bulamam diye zulaladım ama hem fiyatı düştü hem de bitmedi hala var, sebil gibi maşallah
Adam ihale ile alıyomuş bunları

Mucit23

Bacak yapısı Datasheedteki gibimi 1-8, D0-D7......
Gerçekten çok ucuz.  Bende 3-4 adet almak isterim bu elemanlardan. Acaba LCd lerin durumu nasıl .Sanırım ikinci eller. Temizlermi?
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

est32

ilk aldıklarım çok güzeldi hatta sıfır mı ikinci el mi belli değildi,bir dükkanda sıfır diye satsan anlaşılmazdı.
daha sonraki aldıklarımda bazı izler vardı hafif küflenme falan,sanırım kuytu bir köşede beklemiş ekranların yüzeyleri biraz bozulmuş ama hepside çalışıyordu.
Yalnız bazı ekranlarda versiyon farkı var,bazıları biraz daha eski tip,protonun dahili fontunda hepsi çalışıyor ama bazıları ise kendi tanıttığım fontu göstermemezlik yaptı,sebebini ben de bilmiyorum.
Grafik ekranla ilgili sormak istedğim bi soru var,konuyu daha fazla bozmayalım özelden yazayım,gerekirse konu açarız.
**************
bacak yapısı(sadece data hattı) atmega8 bulunan pdf deki gibi olacak,orijinal kataloğun tam tersi sırada.
Birinci bacak D7

ta3ag


ete

Bu entegreyi çalıştıramama sebebim PCB den kaynaklanıyor. Elimde doğru dürüst bir çalıştığına emin olduğum kart olmadığı için uğraşmaktan vaz geçtim. Entegre kılıfı amtörce uğraşılar için uygun değil. Lehimlenmesi son derece zor. Çok iyibir kart yapılması gerek.
Data sheet de bir o kadar az bilgiiçeriyor. Daha doğrusu adamlar işin haberleşme  kısmını detaylı anlatmaya bile gerek duymamışlar. Ama sonunda mantık galip geliyor ve nasıl olması gerektiğini buluyorsun.
10 gün evvel benzer mantıkla çalışan bir başka entegre (dokunmatik sensör) ile boğuştum ve onu çalıştırdım. Haberleşme mantığı hemen hemen aynı sayılır.
Durum Böyle.

Ete

ta3ag

evet haklısın plaket sorunu gerçekten var. ben bir arkadaşımın yapmış olduğu ve bana hediye ettiği plakette
çalıştırdım SPI ile haberleştirerek alma gönderme yaptırdım. çok güzel ve bir çok fonksiyonu olan bir entegre.  Selamlar.

ete

Sorması ayıp olacak ama ne amaçla çalıştırdın yada kullandın bu entegreyi?

Ete

ta3ag

Ben amator telsizciyim, amator frekanslarda alma gönderme yapabilmek amacı ile çalıştırdım, daha henüz kutulamadım, alma hassasiyeti biraz zayıf , rf alıcı için bir ön yükseltici yapmayı düşünüyorum, bir sonraki proje ise yine amator band larda çalışacak ve grafik lcd de takip edilecek bir spectrum analisier yapmak istiyorum.  çünkü entegenin RSSI devresi çok güzel çalışıyor, ve gelen sinyali dbm olarak ölçebiliyor, ayrıca sinyal generator olarakta kullanılabilir.  Selamlar.

sozkarabacak

Merhaba,

Bu entegreyi yurt dışından getirttim. Bir deneme kartı yapacağım. Rica etsem bu entegre için örnek bir basic kodu verebilir misiniz? Temel olması açısından gerisini geliştirebileceğimi umuyorum.

Powered by EzPortal