Xilinx XAPP223: RS-232 Flow Control

D

dingo

Guest
Saya mencoba untuk menggunakan desain referensi bebas dari Xilinx: XAPP223 200MHz UART dengan internal 16-Byte Buffer Saya mengalami kesulitan menggunakannya karena tidak memiliki kontrol aliran dilaksanakan, seperti ketika menggunakan sinyal RTS dan CTS. Bagaimana Anda menerapkan RTS dan CTS sinyal? Apakah ada yang punya solusi mudah untuk ini?
 
Bagaimana Anda menggunakan inti? Saya memiliki papan dev, tapi bagaimana melakukan sesuatu yang sederhana seperti mengirim "Hello World" Pertanyaan saya benar-benar harus: bagaimana cara menggunakan core dalam desain saya, di mana saya menerapkannya? Jika ini adalah pemrograman C akan mudah hanya satu # include tapi bagaimana dalam VHDL? dan kemudian bagaimana cara mengintegrasikan itu ke dalam desain saya? - Jayson
 
Pesawat Maniac, Terima kasih untuk tip Anda. Saya belum bisa mengakses OpenCores karena (setidaknya) kemarin, tampak seolah-olah mereka turun. Saya selalu menghindari OpenCores karena orang di sana cenderung menggunakan Verilog, dan saya menggunakan VHDL. Aku akan menunggu sampai habis. Jayson, Hmmm ... Instansiasi komponen cukup sederhana dalam VHDL. Hal ini ditunjukkan pada halaman 2 dan 3 dari dokumentasi. Ini cukup lurus ke depan. Apakah Anda berkenalan dengan VHDL? Saya harus merumuskan kembali pertanyaan awal saya. Setelah pengujian ekstensif menggunakan metode debugging beberapa, aku sampai pada kesimpulan bahwa saya tidak memiliki kontrol aliran (handshaking) masalah. Data yang keluar dari modul RX selalu kacau. Dalam salah satu video layar VGA (300 kByte) saya mendapatkan sesuatu di antara 2 dan 20 kesalahan, yang multipy ampuh karena mesin negara RX itu tampaknya sinkron longgar, menghasilkan semburan panjang sampah. Saya tidak tahu apa yang menyebabkan masalah ini. Saya telah mencoba mengurangi baud rate, tapi ini tidak akan berpengaruh. Ketika mesin menerima nol karakter (direpresentasikan sebagai "0000000001", whre '0 pertama adalah bit start dan '1 lalu adalah stop bit) itu akan kembali ke sync. Saya tidak yakin jika nol adalah karakter hanya dengan properti ini.
 
tidak sepenuhnya berkenalan dengan VHDL, apa yang ingin saya lakukan hanya pasang dan melihatnya pergi. - Jayson
 
Saya menemukan ini di OpenCores: Proyek: UART Serial http://www.opencores.org/projects/miniuart2/ yang ditulis dalam VHDL, tetapi memiliki dua masalah: - tidak FIFO; - tidak ada kontrol aliran . Ada yang lain dua proyek ditulis dalam Verilog, satu adalah 16550 lengkap, yang tampaknya menjadi jenis besar: Proyek: UART 16550 inti http://www.opencores.org/projects/uart16550/ dan satu lagi yang tampaknya benar-benar sempurna (kecuali untuk Verilog) Proyek: Asynchronous Serial Pengendali Sederhana http://www.opencores.org/projects/sasc/ dan menggunakan "102 LUT" (penulis tidak berarti CLBs?) terhadap 15 CLBs bahwa XAPP223 menggunakan (tidak ada kontrol aliran dan tidak bekerja dengan baik bagi saya). Kesimpulan: tidak ada situasi menang-menang di OpenCores bagi seseorang yang menggunakan VHDL dan membutuhkan antarmuka RS-232 sederhana. Apakah ada yang tahu dari beberapa Verilog VHDL untuk penerjemah?
 
Jayson, Jika Anda memiliki akses ke Xilinx ISE, "Hello World" misalnya menggunakan XAPP223 dapat diletakkan bersama-sama menggunakan empat file: - dua EDN file yang termasuk dalam XAPP223; - satu VHDL file dengan semua kode Anda; - satu.. UCF file yang berisi sebutan pin dan clock rate Anda. . UCF hanya dapat memiliki 5 baris: NET "CLKIN" TNM_NET = "CLKIN"; TIMESPEC "TS_CLKIN" = PERIODE "CLKIN" 80 ns TINGGI 50%; NET "CLKIN" LOC = "P88"; NET "SERIAL_TXD" LOC = "P83"; NET "SERIAL_RXD" LOC = "P60"; mana CLKIN adalah input jam, dalam hal ini 12,5 MHz, SERIAL_TXD dan SERIAL_RXD adalah serial output dan input dan PXX adalah lokasi pin di papan pengembangan Anda. Kode VHDL harus berisi buffer jam, yang infrastruktur dasar. Saya sangat menyarankan Anda membaca setidaknya satu dari dokumen-dokumen ini, yang menjelaskan pengobatan dasar jam: Menggunakan Virtex tunda-Locked loop http://www.xilinx.com/xapp/xapp132.pdf Menggunakan tunda- Loops Dikunci di Spartan-II FPGA http://www.xilinx.com/xapp/xapp174.pdf Khusus untuk XAPP223, Anda perlu menyediakan sinyal yang disebut EN_16_X_BAUD, yang dijelaskan dalam dokumentasi. Yang harus Anda lakukan, jika saya tidak salah, adalah menghubungkan sinyal langsung. Apakah ini membantu?
 

Welcome to EDABoard.com

Sponsor

Back
Top