czorgormez
Temporary user
- Katılım
- 27 Ekim 2022
- Mesajlar
- 1,574
daha önce uğraşan olduysa fikir alışverişi yapabiliriz.
bir proje için Lattice ICE40UP5K-48QFN (5280 LUT 133 mhz) chip ile bir board tasarlıyorum. kısaca 8 bit paralel data,clock, valid ve packet sync dataları giriyor. gelen daha türü paralel DVB yaklaşık clock sinyalim 5 ile 10 mhz arası. yani maksimum 10 milyon byte/saniye veri geliyor. her veri paketinin başında bir paket identifier var paket sırası bilgisi var.
ben bu veri içerisinden belli idleri ayıklayıp paket parçalarını birleştirip tamamlandığında seri port üzerinden ilgili mcuya aktaracağım. aslında yaptığı iş şu. hareketli bir uydu anteninde bir transpondere bağlandığında o transponderdan gelen NIT isimli uydu ve kanal bilgisi verilerini decode edecek.
işin elektronik kısmına gelirsek:
- fpga 3 adet besleme voltajı istiyor 1.2, 2.5 ve 3.3 anladığım kadarıyla besleme voltajlarının sırası önemli. ilk olarak vcc Core beslemesi gelmedi ardından vcc pll ve diğerlerinin sırası önemsiz.
- 3 adet io bank var ve bunlardan spi ile ilişkili olanı 3.3 ile beslemeliyim fakar diğerleri 1.2 - 3.3 arası olabiliyor.
- 6 adet global clokc ve bir adet dahili PLL var. ben bu clokclardan birine 3.3 volt olarak 8 mhz bağlamayı düşündüm.
- bu fpga içinde internal flash var mı yok mu bir türlü net bilgiye ulaşamadım, bu yüzden karta bir tane harici flash ekliyorum.
bunu çözdüm ve neden tüm boardlarda mutlaka harici flash olduğu da ortaya çıktı :
"NVCM: The iCE40 devices contains an One Time Programmable on-chip Non Volatile Configuration Memory (NVCM) and if configured, the device boots from it. This is a fast and secure mode of bringing the device into user mode(active with user program) and used for mass production. The NVCM is ONE TIME PROGRAMMABLE. "
- kartı programlama bir mcu yüklemek gibi değil. harici veya dahili bir spi flash chip var bunu programlıyoruz. sonra duruma göre fpga
seçili olan flash ic üzerinden boot ediyor. yani herhangi bir spi flash programlayıcı ile kod atabiliriz.
- bu kartı tasarlarken iki adet açık kaynak projeyi baz alıyorum, icebreaker ve icesugar. genel olarak lattice firmasının dökümanlarına da baktım. tabi çok detay var ama büyük bir fark göremedim.
bir proje için Lattice ICE40UP5K-48QFN (5280 LUT 133 mhz) chip ile bir board tasarlıyorum. kısaca 8 bit paralel data,clock, valid ve packet sync dataları giriyor. gelen daha türü paralel DVB yaklaşık clock sinyalim 5 ile 10 mhz arası. yani maksimum 10 milyon byte/saniye veri geliyor. her veri paketinin başında bir paket identifier var paket sırası bilgisi var.
ben bu veri içerisinden belli idleri ayıklayıp paket parçalarını birleştirip tamamlandığında seri port üzerinden ilgili mcuya aktaracağım. aslında yaptığı iş şu. hareketli bir uydu anteninde bir transpondere bağlandığında o transponderdan gelen NIT isimli uydu ve kanal bilgisi verilerini decode edecek.
işin elektronik kısmına gelirsek:
- fpga 3 adet besleme voltajı istiyor 1.2, 2.5 ve 3.3 anladığım kadarıyla besleme voltajlarının sırası önemli. ilk olarak vcc Core beslemesi gelmedi ardından vcc pll ve diğerlerinin sırası önemsiz.
- 3 adet io bank var ve bunlardan spi ile ilişkili olanı 3.3 ile beslemeliyim fakar diğerleri 1.2 - 3.3 arası olabiliyor.
- 6 adet global clokc ve bir adet dahili PLL var. ben bu clokclardan birine 3.3 volt olarak 8 mhz bağlamayı düşündüm.
- bu fpga içinde internal flash var mı yok mu bir türlü net bilgiye ulaşamadım, bu yüzden karta bir tane harici flash ekliyorum.
bunu çözdüm ve neden tüm boardlarda mutlaka harici flash olduğu da ortaya çıktı :
"NVCM: The iCE40 devices contains an One Time Programmable on-chip Non Volatile Configuration Memory (NVCM) and if configured, the device boots from it. This is a fast and secure mode of bringing the device into user mode(active with user program) and used for mass production. The NVCM is ONE TIME PROGRAMMABLE. "
- kartı programlama bir mcu yüklemek gibi değil. harici veya dahili bir spi flash chip var bunu programlıyoruz. sonra duruma göre fpga
seçili olan flash ic üzerinden boot ediyor. yani herhangi bir spi flash programlayıcı ile kod atabiliriz.
- bu kartı tasarlarken iki adet açık kaynak projeyi baz alıyorum, icebreaker ve icesugar. genel olarak lattice firmasının dökümanlarına da baktım. tabi çok detay var ama büyük bir fark göremedim.
icesugar/schematic/iCESugar-v1.5.pdf at master · wuxx/icesugar
iCESugar FPGA Board (base on iCE40UP5k). Contribute to wuxx/icesugar development by creating an account on GitHub.
github.com
Son düzenleme: