i2c menguasai VHDL opencore proyek contoh

M

mr_j

Guest
bisa seseorang membantu dengan dengan inti keras-kode, non-mikrokontroler bergantung i2c? Pada dasarnya saya ingin untuk dapat menghidupkan mengaktifkan CPLD saya, dan memilikinya query perangkat budak, maka cahaya LED berdasarkan info yang diterimanya. Para OpenCores saya menemukan adalah 1000 LOC dan tampaknya cara untuk kompleks. Saya mencari sesuatu yang dasar dengan i_clk dan SDA dan SCL keluar ... Terima Kasih.
 
gck-Terima kasih untuk pdf. Saya telah benar-benar pergi melalui xapp333, serta kode VHDL yang mereka sediakan dengan itu. Ia masih memiliki antarmuka ucontroller besar. Solusi mereka adalah 15 VHDL file dan 1000 dari LOC. Hal ini sangat sulit bagi saya untuk memahami itu untuk menanggalkan bagian ucontroller. Apakah tidak ada solusi yang jauh lebih singkat (mungkin kurang dari 300 LOC) di luar sana untuk sebuah antarmuka tanpa semua "figuran"?
 
I2C merupakan protokol yang cukup sederhana. Jika perangkat I2C Anda dan "permintaan" prosedur yang sederhana juga, maka Anda bisa membangun sebuah sequencer kecil (menggunakan counter dan beberapa logika) yang menggoyangkan sinyal I2C untuk mengakses data perangkat, dan kemudian menyimpan data yang diterima ke register terhadap cahaya LED. Mereka hanya tebakan, karena saya tidak tahu pengaturan perangkat keras Anda.
 
hi mr_j, Saya setuju solusi yang satu besar tetapi Anda dapat mengambil ide dan membuat sesuai dengan kebutuhan Anda. Jika Anda menargetkan perticulat IC yang memiliki antarmuka I2C maka sangat mudah untuk memodifikasi programms.
 
Terima kasih untuk saran, semua. Saya setuju bahwa I2C tampak sederhana. Saya hanya lebih memilih untuk membangun off dari sesuatu yang saya tahu bekerja untuk debugging desain saya dan demi kecepatan itu. Sekarang saya telah memutuskan untuk menggunakan opencore simple_i2c, bersama dengan tst_ds1621. Mudah-mudahan ini akan bekerja. Terima kasih atas tanggapan Anda!
 
Saya memiliki masalah lain - mudah-mudahan seseorang dapat membantu. Saya makan jam 400kHz ke CPLD saya, yang menjalankan simple_i2c + tst_ds1621 kode dari OpenCores. Ketika saya mengaktifkan sirkuit, saya mulai berjalan jalur SCL, tetapi hanya sekitar 4kHz. Saya tahu ini berkaitan dengan variabel CLK_CNT, tapi aku tidak mengerti bagaimana / apa yang dilakukannya. Aku dapat memposting kode jika Anda butuhkan, tapi sepertinya semua orang telah melihat OpenCores i2c. [Size = 2] [color = # 999999] Ditambahkan setelah 15 menit: [/color] [/size] saya pikir saya menemukan itu .... sepertinya itu adalah register prescale, mirip dengan yang ada di master file
 

Welcome to EDABoard.com

Sponsor

Back
Top