Altifigence Academy

37 / 63 · Konsep

Masukan serial dan batas frame

Tentukan urutan masukan dan tepi valid, lalu hitung susunan bit konversi serial-paralel.

Mengubah urutan waktu menjadi posisi vektor

Masukan serial membawa satu bit per tepi yang diterima. Dengan registerRegister Rangkaian penyimpan beberapa bit keadaan. Register sinkron mata kuliah ini menangkap masukan yang ditentukan pada tepi clock. Selengkapnya tiga bit q<={q[1:0],din}, q awal=000, dan masukan 1,0,1,1:

Bit diterimadinq baru
11001
20010
31101
41011

Bit baru masuk di kanan dan bit lama bergeser ke indeks lebih tinggi. Register adalah jendela tiga bit terbaru; bit keempat menghilangkan bit pertama.

Setiap kolom mengamati tepi naikTepi naik Saat clock berubah 0 ke 1, berbeda dari tingkat yang mencakup seluruh interval CLK=1. Selengkapnya, dengan masukan sebelum dan keadaan after setelah pembaruan. Penjajaran bukan tundaan fisikTundaan propagasi Waktu sejak masukan berubah hingga keluaran stabil pada nilai benar. Kesetaraan logika berbeda dari karakteristik waktu. Selengkapnya. Kolom pertama reset; sesudahnya hanya tiga bit terbaru dari 1,0,1,1 yang tersisa dalam q. Amati bit pertama keluar pada kolom terakhir.

Proses masukan serial menjadi keadaan paralel
Lihat data gelombang
Data gelombang: setiap karakter mewakili satu interval; titik mempertahankan keadaan sebelumnya; p adalah satu siklus clock.
SinyalGelombangNilai bus
edge23452E0 → E1 → E2 → E3 → E4
reset10...
din0101.
q sesudah23452000 → 001 → 010 → 101 → 011

MSB-first dan LSB-first adalah aturan komunikasi

Mengirim delapan bit mulai MSBMSB Bit berbobot tertinggi. Indeksnya bergantung arah deklarasi vektor, sehingga tidak selalu nomor indeks terbesar. Selengkapnya lalu menerima delapan kali dengan cara ini menyusun kembali vektor asli. Mulai LSBLSB Bit berbobot terendah. Periksa arah penulisan dan aturan indeks bersama. Selengkapnya menghasilkan susunan terbalik sehingga perlu sambungan berbeda atau pengurutan ulang akhir. Ini bukan opsi tampilan; pengirim dan penerima harus menyepakati protokol.

Nilai data saja tidak menentukan batas frame

Diperlukan keadaan untuk mengetahui tepi bit pertama, jumlah bit diterima, dan kapan hasil boleh digunakan. Biasanya digunakan pencacah bit diterima bersama valid atau done. Jika ada siklus kosong, hitung data yang diterima, bukan clock.

acceptk=validk∧readykaccept_k=valid_k\land ready_k

Dengan ready/validHandshake Kontrak yang mengesahkan transfer ketika valid pengirim dan ready penerima sama-sama 1 pada tepi sama. Termasuk aturan mempertahankan data saat menunggu. Selengkapnya, perbarui shift dan count bersama hanya pada tepi ketika kondisi ini benar. Menerapkan enable hanya pada salah satunya membuat data dan panjang tidak selaras. Praktikum masukan kontinu adalah kasus sederhana yang menerima setiap tepi data.

Coba sendiri

Pada frame delapan bit, valid=0 selama dua siklus setelah bit keempat. Dengan ready=1, bagaimana pencacah dan register geser bekerja?

Baca penjelasan

accept=0 pada kedua siklus: tahan pencacah dan register data bersama. Bit valid berikutnya menjadi bit kelima. Menghitung clock saja dapat mengumumkan selesai sebelum data cukup.

Pilihan berlaku di peramban ini. Ubah kapan saja di bagian bawah halaman.