DEV Community

Ahmet Kargı
Ahmet Kargı

Posted on

FPGA_Part_09

Selamünaleyküm
Uzun bir zaman geçtiğinin farkındayım. Bu süreçte Basys3 kartım ile SPI ve I2C üzerine çalıştım. ELimde bulunan MPU-9250 modülünü hem SPI hem de I2C ile kullanarak FPGA üzerinden iletişim protokollerini kullanmayı anladım. Detaylara değinecek olursak:

--SPI--
SPI ile iletişim kurmak istediğim zaman mevzunun UART'tan çok daha farklı olduğu belliydi. FSM çok daha kompleks bir yapı oldu ve artık rx-tx gibi ayıramadığım SPI_Master modülünü geliştirmem gerekti.
Ayrıca modüle yazılan address de hangi veriyi okuyacağımızı etkiliyordu. Birçok denemenin ardından MPU-9250 modülünden SPI protokolü üzerinden açı verisi okuyan ve okuduğu veriyi hem UART kullanarak bilgisayara aktaran hem de 7-Segment displayde 0-360 arası dereceyi gösteren bir sistem geliştirdim.

--I2C--
Aynı sistemi I2C protokolüne uygun hale getirmek çok zor olmadı. Modül yapısı sayesinde SPI da kullandığım modüllerin çoğunu I2C de de kullanabildim. Sadece i2c_master modülünü oluşturarak ve mpu_ctrl modülünde basit değişiklikler yaparak sistemin çalışmasını sağladım.

FPGA_Part_09
A.KARGI

Top comments (0)