660nanosaniye

Başlatan bsivgin, 24 Şubat 2006, 15:05:47

bsivgin

660nanaosaniye darbe süresi olan bir data dizisini 20 Mhz'lik PIC ile veri kaybetmeden nasıl okuyabiliriz fikri olan var mı?...

Saygılarımla
Bülent ŞIVGIN
www.diyot.com

mavi

660 nano saniye süre üzerinden 1320 saniye bir peryot eder.(%50 Duty cycle kabul edersek)
dört işlem ile hangi komutun kaç saniyede işlendiğini ve ölçüm için hangi komutlara ihtiyacın olduğunu hesaplayıp toplarsan sonucu bulursun.


donanımsal seriport bulunduran işlemci işini kolaylaştırır.
Telecommander Monster Of Network

z

Ek donanim olmadan yapamazsin.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Veli B.

40 Mhz için bile neredeyse imkansız.komut işleme süreleri ortada. asm için 6 komutta işi bitirip başa dönmüş olman lazım.Bütün int ler kapalı olmalı.Dallanma olmamalı.Vs vs.

bsivgin

banada yapamazmışım gibi geldide belki bi blen vardır diye sormuştum....usb firmware yazayım PIC'de dedim ama PIC'in kapasitesi low speed USB'nin bit süresini tanıyacak düzeyde değil :?

Adam AVR için yazmış komutçevrim süresi 12MHZ de 83 ns...Bizim PIC amca 20MHz'de bile ancak 200ns'yelik komut çevrimi hızına ulaşıyor ancak. Birde buna interrupt latency leride eklersek vay halimize :cry:

z

USB kablosundan gelen verileri yakalayip USB kontrol duzenegimi yapacaksin? USB olayini cozdun o zaman.

Eger gercekten oyleyse ek donanim yapip su isi burda hep beraberce goturelim.

USB'yi iliklerine kadar bizde anlayalim.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

bsivgin

valla aslında usb bluetooth dongle ların komut setlerini ve iletişim protokollerini araştırıyordum..1200 sayfalık SIG(special interest group) yazdığı bluetooth kitabını bi elden geçrdim. Daha sonra şu usb yi de bi inceleyim dedim...birazcıkta onun protokollerine baktım..hala çalışmaya devam ediyorum. Aslında donanımsal olarak bulunan USB'li PIC kullanmak en mantıklısı ama bu işin nasıl çalıştığını öğrenmeye çalışıyorum. Tamamen hobi yani...

AVR'nin bi uygulama notu var orda yapmışlar onu incelerken PIC ile yapıp yapamayacağımı araştırdım. Biraz zor gözüküyor. Çünkü low speed USB nin hızı 1.5Mbit/Sn yani yaklaşık bit süresi 660 ns...temel sorun bu hızda veriyi okuyup işlemek...Gerisi bi şekilde yazılır gibi geliyor bana...Hatta İgor diye biriside bu uygulama notu ile interbette baya popüler olmuş... :lol:

Olayı çözdükçe sizlerlede paylaşmak isterim. Tabi bu işi ben biliyom var diyen varsa yazsın bişiyler öğrenelim dimi yani:)

Saygılarımla
Bülent ŞIVGIN
www.diyot.com

z

Calisman cok hosuma gitti. USB donanimina sahip olmadan, USB unitesi, gercekten guzel calisma.

Sozunu ettigin Atmel'in uygulamasinda da mi USB donanimli islemci kullanilmamis?

Eger oyleyse linkini verebilirmisin?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

bsivgin

http://www.cesko.host.sk/IgorPlugUSB_RS232/IgorPlug-USB%20(AVR)%20RS232_eng.htm

bu linkten
English Application Note is here and full project is available as Zip archive (cca 3MB) for DOWNLOAD. Now is here all source codes !!!

yazan kısımdaki download butonundan indirebilirsin

gelişme olursa haber et:)

Saygılarımla
Bülent ŞIVGIN
www.diyot.com

z

Evet gelisme var, verdigin link boyle diyor :D

Forbidden

You don't have permission to access /downloads/USB to RS232 Application Note.zip on this server.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

bsivgin

linki düzeltmeye fırsat vermeden girmişsiniz:)..linki düzelttim

z

Purpose of this article is to inform readers about implementation USB interface into singlechip microcontroller, which this interface directly not supports.

Olay bitmistir. Gercekten buyuk adammis.

Firsat buldukca inceleyecegim. Atmel cipi FIFO unitesi sayesinde PIC'e gore avantaj saglamis.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

Programin kaynak kodunu vermek yerine akis diagramini verseymis cok daha anlasilir olurmus.

nacitaj aktualny stav LSB do temp0 (aby sa nezmenili ostatne bity)

Ah ne dedigini bir anlasam.  :D

@Bsivgin daha once arastirmalarin olmuştur. USB nin felsefesi ve protokol yapisi hakkinda iyi bir kaynagin var mi?

Yada sen biliyorsan anlatabilirmisin?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Veli B.

Önemli bir konu, arada kaynamaması için, bu başlığı donanım bölümüne taşıyorum.

bsivgin

orda kodun hem ingilizcesi hemde çekcesi var...firmware'in altında atmega8'deki ingilizce açıklamalı kod...İşin özünü ve programın akışını AVR309 dosyasında vermiş. Yalnız bu uygulamada sadece kontrol USB'nin kontrol transfer özelliği desteklenmekte...USB de dörtçeşit transfer yöntemi tanımlanmıştır..Control Transfer, Interrupt Transfer, Isochronous Transfer, and Bulk Transfer ...Ama bizim için control transfer özelliği yeterli...

USB'nin mantığını bende yeni çözmeye çalışıyorum....ÇÖzdükçe yazmaya çalışırım...Sizlerde eklerseniz sevinirim...Pekde kolaya değil ama....Bir iki özelik yazayım şimdilik...USB low speed, full speed ve high speed hızlarından biri ile çalışır..LowSpeed - 1.5Mbit/s, FullSpeed - 12Mbit/s, HighSpeed - 480Mbit/s....Bizim yapabileceğimiz low speed...bunun bile bit süresi yaklaşık 660ns ki bayağı hızlı bir işlemci lazım...DATA+ ve DATA- herzaman zıt işaretli sinyal üretmekte..yani 1 iken diğeri sıfır seviyesinde olur genelde..sadece End of Packet ve Idle durumunda DATA+ ve DATA- aynı seviyededir. USB bağlanan cihazın full speed mi yoksa low speed  mi olduğunu bağlanan pull-up direncinden anlar. Eğer DATA+ 1.5K ile pull-up yapılmışsa cihaz full speed, DATA- 1.5K ile pull-up yapılmışsa host tarafından low speed olarak algılanır.

Şimdilik bu kadar 8)

Saygılarımla
Bülent ŞIVGIN
www.diyot.com