2 fpga kullandım. bir fpga mikrofon diğerine hoparlor bagladım , mikrofona bir tane yukseltici bagladım.hoparlorden ses alıyorum fakat cızırtılı .buna onlem olarak low pass fıltre kullandım bu sefer ses gelmedi. Asıl sorunum şuan kullandıgım kodlar clock kullanarak yaptım fakat hoca clock suz yapmamı istedi .Clock kullanmadan nasıl senkron yapabilirim 2 fpga i ?
Voice Transmission
On board ADC converts voice signal from a connected microphone to digital. This binary
signal is serialized and transmitted through a general purpose IO-port. No clock signal
will be transmitted (asynchronous).Serial data is received by another board and is fed to
DAC. Signal output from DAC is amplified if necessary and heard from a headphone or
speaker. For all clock signal needs, clock managers shall be used.
Usarttaki mantığı kullan.
Data hattı H da beklesin.
Datayı hatta basmadan önce hattı "low"a çek T kadar bekle.
Datayı (8 biti) hatta bas.
Datayı "high" yap T kadar
Karşı taraf hattın low olduğunu gördüğü anda clock üretecisine start versin ve hattaki veriyi örneklemeye başlasın. Stop biti ile de örneklemeye son versin.
Bir başka teknik ise iki clock palsi arasına data biti sıkıştırmak olabilir.
Mesafe ne kadar? Örnekleme frekansın ne kadar? ADC girişindeki ses ne kadar temiz başka kaynak ile denedin mi? Data aktarımı paralel olarak mı yoksa seri interface şeklinde mi? Ses çıkış kısmında DAC mı kullandın? Çıkış kısmındaki amfi ve hoparlör sistemi nasıl ?
En basit yöntemlerden biri manchester coding. Aynı hattan hem data hem clock'u göndermiş olursunuz.
Alıntı yapılan: superconductor - 21 Aralık 2016, 23:20:04
En basit yöntemlerden biri manchester coding. Aynı hattan hem data hem clock'u göndermiş olursunuz.
Nasıl oluyor bu iş?
https://en.m.wikipedia.org/wiki/Manchester_code (https://en.m.wikipedia.org/wiki/Manchester_code)
https://en.m.wikipedia.org/wiki/Self-clocking_signal (https://en.m.wikipedia.org/wiki/Self-clocking_signal)
Taşınması gereken her bit, iki bit ile ifade ediliyor. 01 yada 10 gibi. Böylece durum geçişleri senkronizasyon için kullanılabiliyor.
Clock'u geri elde etmek için nasıl bir algoritma düşünebiliriz?
Doğrudan dönüşüm olmuyor. Hat hiç susmayacaksa PLL kullanılabilir. Şurada açıklamışlar :https://en.wikipedia.org/wiki/Clock_recovery (https://en.wikipedia.org/wiki/Clock_recovery)
Aslında clock sinyalini geri elde etmemiz şart değil. Uart gibi sinyalden örnek alıp zamanlamaya bakılabilir.
Alıntı yapılan: OG - 22 Aralık 2016, 23:12:28
Clock'u geri elde etmek için nasıl bir algoritma düşünebiliriz?
Hocam şu şekilde mümkün olabilir. Mancherter coding algoritmesı aslında değişim üzerine kurulu bir algoritma. Değişim anlarını yakalayarak frekans tespit edilebilir. Ama mesajı çözmek için sanırım buna da ihtiyaç yok. Geçiş yönüne göre data tahmininde bulunabiliyorsun. Bu da zaten datayı veriyor.
çok teşekkürler deneyeceğim söylediklerinizi .