Picproje Elektronik Sitesi

BİLGİSAYAR => Donanım ve Yazılım => Konuyu başlatan: bsivgin - 24 Şubat 2006, 15:05:47

Başlık: 660nanosaniye
Gönderen: bsivgin - 24 Şubat 2006, 15:05:47
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
Başlık: 660nanosaniye
Gönderen: mavi - 24 Şubat 2006, 15:37:39
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.
Başlık: 660nanosaniye
Gönderen: z - 24 Şubat 2006, 15:50:49
Ek donanim olmadan yapamazsin.
Başlık: 660nanosaniye
Gönderen: Veli B. - 24 Şubat 2006, 16:22:10
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.
Başlık: 660nanosaniye
Gönderen: bsivgin - 24 Şubat 2006, 16:24:09
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:
Başlık: 660nanosaniye
Gönderen: z - 24 Şubat 2006, 16:44:54
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.
Başlık: 660nanosaniye
Gönderen: bsivgin - 24 Şubat 2006, 16:57:38
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
Başlık: 660nanosaniye
Gönderen: z - 24 Şubat 2006, 17:14:16
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?
Başlık: 660nanosaniye
Gönderen: bsivgin - 24 Şubat 2006, 17:19:46
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
Başlık: 660nanosaniye
Gönderen: z - 24 Şubat 2006, 17:22:42
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.
Başlık: 660nanosaniye
Gönderen: bsivgin - 24 Şubat 2006, 17:28:15
linki düzeltmeye fırsat vermeden girmişsiniz:)..linki düzelttim
Başlık: 660nanosaniye
Gönderen: z - 24 Şubat 2006, 17:29:08
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.
Başlık: 660nanosaniye
Gönderen: z - 24 Şubat 2006, 17:43:52
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?
Başlık: 660nanosaniye
Gönderen: Veli B. - 24 Şubat 2006, 17:57:45
Önemli bir konu, arada kaynamaması için, bu başlığı donanım bölümüne taşıyorum.
Başlık: 660nanosaniye
Gönderen: bsivgin - 24 Şubat 2006, 22:46:30
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
Başlık: 660nanosaniye
Gönderen: bsivgin - 28 Şubat 2006, 10:03:19
bu işi PIC ile yapma konusunda fikri olan var mı :D
Başlık: 660nanosaniye
Gönderen: mp3dragon - 28 Şubat 2006, 11:03:22
Hız için pic'i overclock yapabilirsin, denemedim ama pic18f452 13-14 mips kadar çalışabiliyormuş. Tabi bu yeterli olurmu bilemem.
Başlık: 660nanosaniye
Gönderen: mavi - 28 Şubat 2006, 11:43:16
Ben böyle bişi denemedim ama  fikir sormuşsun söylemek istedim.

önce oturup bu işlemi yapacak programımı yazardım.
sonra programın tam bir çevrim sonunda ne kadar zaman yediğine bakardım.bir biti okuduktan sonra ikinci biti okumak için zaman kalıyor mu? artı birinci byte geldikten sonra tekrar veri aktarımı başlamadan program elindeki bilgiyi başka bir noktaya nakledip ikinci veriyi okumak için hazır vaziyete geliyor mu? ve kullanacağım ek donanımlar bu hızda güvenilir mi? yani stabil çalışıyor mu?

bu souların cevabı evetse ben denemek için kolları sıvardım .

ama kelin ilacı olsa başına sürermiş.
benzer bir durum benimde başımda  elimde 4070 var ve çıkışında zaten çalışan bir entegre var ama ben araya paralel olarak pic atmak istiyorum.ancak pic devreye girdiğinde sistemin ikiside sapıtıyor.her iki devre ayrı ayrı çalışıyor. ama birlikte asla.Optik izolasyon vs. denedim olmadı.4n35 yeterince iyi değil.artık programdan vazgeçip elektronik devre karşılığını yapmaya karar verdim.
Başlık: 660nanosaniye
Gönderen: OG - 21 Nisan 2006, 22:25:14
Arkadaşlar USB'nin hızı  malumunuz, araya bir veriyolu girmeden direk işlemcinin kontrolunde çalışması sebebiyle imiş. Herhalde pic ile bu hızlara ulaşmak imkansız gibi. FT232 gibi bir çevirici kullanılırsa  bile mükemmel bir hız görüyorsunuz. Sanıyorum PC ile birtakım dış donanımlarını kontrol edenler genelde bu şekilde çalışıyor.

Usb_Complete_-_Everything_You_Need_To_Develop_Custom_Usb_Peripherals__3._edition__by_Jan_Axelson__2005

BURADAKİ (http://www.hemenpaylas.com/download/510244/Usb_Complete_-_Everything_You_Need_To_Develop_Custom_Usb_Peripherals__3._edition__by_Jan_Axelson__2005_.zip.html) notlara bir göz atın isterseniz.