Kode VHDL UART pada sparan 3e kit

M

missbirdie

Guest
Halo Aku butuh bantuan dalam kode VHDL berikut .. Aku tidak begitu baik dalam VHDL jadi aku perlu seseorang untuk menjelaskan kepada saya bagaimana kode ini mencapai pemancar UART plz VHDL Kode: ======== uart_tx entitas adalah Port (CLK: di std_logic; CLR: di std_logic ; tx_data: di STD_LOGIC_VECTOR (7 downto 0); siap: di std_logic; tdre: keluar std_logic; TXD: std_logic keluar); akhir uart_tx, arsitektur uart_tx dari uart_tx adalah jenis state_type adalah (menandai, mulai, delay, pergeseran, berhenti); sinyal negara: state_type; sinyal txbuff: STD_LOGIC_VECTOR (7 downto 0); sinyal baud_count: STD_LOGIC_VECTOR (11 downto 0); sinyal bit_count: STD_LOGIC_VECTOR (3 downto 0); bit_time konstan: STD_LOGIC_VECTOR (11 downto 0): = X "A28" ; mulai uart2: proses (CLK, CLR, siap) mulai jika maka negara CLR = '1 '
 
Secara pribadi, saya akan menunjuk seorang input mulai txstart , bukan siap , tetapi penamaan ini dapat berarti dalam desain tertentu. Sebenarnya, UART memiliki input untuk memicu transmisi dan output status sinyal akhir transmisi, yang harus semua yang Anda butuhkan untuk menggunakannya dalam desain. Jadi apa masalahnya? Tentu saja kita tidak bisa mengenai aplikasi Anda, tapi biasanya, harus ada sumber data dan sebuah contoh bahwa permintaan transmisi data.
 
Sebenarnya saya mengerti kode akhirnya: D & saya berpikir bahwa tdre harus dihubungkan ke terminal data siap pc & siap dengan Data mengatur sinyal siap dari pc .. pertanyaan saya adalah bagaimana saya dapat menghubungkan input ini ke pin tertentu di pelabuhan RS232?? Dalam buku petunjuk FPGA hanya terkirim & menerima pin yang akan ditampilkan. Saya perlu mengirim beberapa data dari FPGA ke pc .. jadi saya menulis kode ini & mengubahnya menjadi skematik & menghubungkannya dengan seluruh desain tapi dalam menempatkan nomor pin bagaimana saya dapat menghubungkan pin sigle dari port serial?
 
Aku bertanya-tanya, apa yang beberapa data berarti dalam aplikasi Anda. Jika lebih dari satu karakter berulang tanpa henti, maka harus ada awal sinyal transmisi ke UART. Ini Okto hanya menghubungkan TXD ke PC, tapi siap dan trde harus terhubung dalam desain FPGA internal Anda.
 
Aku hanya ingin mengirim aliran bit .. & Bagaimana saya dapat menghubungkan tdre & siap internal???
 
Saya pikir, cukup menghubungkan dua sinyal menyebabkan UART untuk mengirim berulang-ulang. Mengapa tidak Anda coba? PS: Anda mungkin perlu menggunakan kawat simbol untuk menghubungkan dua jaring dalam entri skematik.
 
terima kasih akan coba ini .. tapi tidak akan saya perlu picoblaze??? [Size = 2] [color = # 999999] Ditambahkan setelah 2 jam 48 menit: [/color] [/size] tidak dalam kasus ini seperti sebuah register geser???
 
bukan dalam kasus ini seperti sebuah register geser ???
Setiap UART adalah shiftregister dengan generator baud dan beberapa logika kontrol.
tapi tidak akan saya perlu mengutip picoblaze ???[/] Mungkin Anda perlu picoblaze dalam desain Anda, tapi aku tidak bisa tahu dari apa yang telah Anda mengatakan sejauh ini.
Saya hanya ingin mengirim aliran bit dari kutipan ...[/] Hal ini dicapai oleh desain ini.
 
tapi bagaimana saya menghubungkan tdre untuk siap?? tidak siap seharusnya 0 awalnya untuk kode?? bagaimana saya bisa melakukan ini & itu sinyal internal??
 
ya u benar i bahkan dihapus mereka & itu berhasil: D tetapi saya punya satu pertanyaan lagi itu mengatakan bahwa baudrate adalah 9600 dari instruksi: bit_time konstan: STD_LOGIC_VECTOR (11 downto 0): = X "A28"; & bahwa X " A28 "mewakili 9600 tetapi sebenarnya saya tidak bisa mendapatkannya .. 115200 bps apa tentang bagaimana saya dapat mengubah kode ini sesuai itu?? PS Saya tahu bahwa saya dapat mengubah baud rate PC tapi ini bukan apa yang saya inginkan .. saya ingin mengubah baud rate dalam kode ini ke 115200
 
Hal ini tergantung pada frekuensi clock Anda. "A28" (2600) adalah untuk frekuensi clock 25 MHz. Hanya mengatur konstan untuk Fclk / Baud - 1. Ini mungkin diperlukan untuk menyesuaikan panjang kata baud_counter.
 
bagaimana saya bisa mengubahnya menjadi 115200 bps?? [Size = 2] [color = # 999999] Ditambahkan setelah 5 jam 5 menit: [/color] [/size] tetapi tidak akan itu pembagian non akurat .. i mean bukan nilai baud rate harus tajam! dengan tidak ada fraksi!
 
Saya menggunakan kalkulator pada umumnya, ia memberitahu 216. Jadi mengapa tidak mencoba dengan nilai ini? I'dont memahami apa yang Anda maksud dengan tajam baud rate, aku tidak pernah mendengar hal seperti itu. Sebenarnya, baud rate memiliki kesalahan frekuensi tertentu. Itu tidak masalah, juga PC memiliki, itu menggunakan 24 MHz / (13 * 16) dalam banyak kasus, yang merupakan 115385 baud. Penyimpangan% 1 atau 2 dapat selalu ditoleransi dengan UART, tapi jauh lebih sedikit di sini.
 

Welcome to EDABoard.com

Sponsor

Back
Top