Anda di halaman 1dari 11

Septian Rizaldi

10511710000083
Sistem Tertanam (A)

INTERFACE METHOD

Metode interface adalah cara untuk memodulasi komunikasi dengan dunia


luar digunakan untuk mendeskrisikan behavior tertentu dan kondisi yang
dimaksudkan. Interface dideklarasikan dengan menggunakan kata kunci
antarmuka. Ini memberikan abstraksi total; berarti semua metode dalam
antarmuka dideklarasikan dengan tubuh kosong, dan semua bidang bersifat
publik, statis, dan final secara default. Kelas yang mengimplementasikan
antarmuka harus mengimplementasikan semua metode yang dinyatakan dalam
antarmuka.

Adapun perbedaan dari serial ke parallel


Serial Paralel
Cost Cheap Expensive
Speed Slow Fast
Transmission Amount Single bit 8 bits (8 data lines)
Transmitter &Receiver
Transmission Lines One line to transmit 8 lines for simultaneous
one to receive transmission

Transmission Distance Long Short distance


(synchronization)

Serial Communication Method


1. Protokol Komunikasi Serial Sinkron:
a. Serial Peripheral Interface (SPI) dapat menyediakan komunikasi
serial kecepatan tinggi terhadap perangkat atau to peripherals or
other microcontroller units unit microcontroller lain.
b. Sistem ini diperkenalkan oleh Motorola untuk memfasilitasi
mekanisme pengiriman data antara mikrokontroler dengan devais
lain.
c. ProtokolSejenis: I2C (Philips), Micro-wire (National Semi).

Sistem komunikasi sinkron selalu mengirim sinyal clock


dengan data untukmensinkronkan receiver untuk setiap waktu. Clock
disediakan sebagai sinyal clock tersendiri atau dapat dipadukan
dengan sinyal data itu sendiri.
Pada mode sinkron, transmitter dan receiver
menggunakan clock bersama (sharing). Transmitter biasanya
menyediakan sinyal clock tambahan yang terpisah dari data serial.

Transmitter : a. Menggeser data peralel Menuju jalur serial menggunakan


clocknya.
b. Menyediakan clock sebagai sinyal terpisah.
c. Tanpa start, stop, atau bit paritas tambahan.
Receiver : a. Mengekstrak data menggunakan clock yang disediakan oleh
transmitter.
b. Mengkonversi kembali data serial menjadi bentuk parallel.

2. Protokol Komunikasi Serial Asinkron:


Serial communication interface (SCI) dapa digunakan untuk
menghubungkan terminal atau PC ke mikrokontroler. Pada
Komunikasi Asinkron, transmitter dan receiver tidak menggunakan
clock bersama.

Transmitter :
a. Menggeser data-data parallel ke jalur serial menggunakan clock-
nya sendiri (internal).
b. Menambahkan start, stop dan bit cek paritas.
Receiver :
a. Mengekstrak data menggunakan clock-nya sendiri(internal).
b. Mengkonversi kembali data serial ke bentuk parallel setelah
pemisahan start, stop dan bit paritas.

RS232 – UART
a. Ditetapkan oleh Asosiasi Industri Elektronik (EIA) pada tahun 1960, sebelum
munculnya keluarga logika TTL.
b. Oleh karena itu, logika 1 diwakili oleh "-3 ke -25V", dan logika 0 adalah "+3
hingga + 25V".
c. Dua jenis pin RS232: DB-25 dan DB-9. Pin terpenting adalah Tx, Rx, dan
ground.
d. Untuk berinteraksi dengan mikrokontroler, kita memerlukan driver garis
seperti MAX232 (perlu kapasitor) atau MAX233 (tanpa kapasitor).

Signal level: TTL (direct) or RS232 (needs line driver)

RS232 vs TTL

RS232

TTL

Inter-Integrated Circuit (I2C)


1. Dikembangkan oleh Philips Semiconductor untuk perangkat TV pada
1980-an.
2. Perangkat I2C termasuk EEPROMs, sensor termal, dan jam waktu nyata.
3. Digunakan sebagai antarmuka kontrol untuk perangkat pemrosesan sinyal
yang memiliki antarmuka data terpisah, mis. Tuner RF, decoder video dan
enkoder, dan prosesor audio.
4. Terbatas hingga sekitar 10 kaki untuk kecepatan sedang.

I2C Bus Configuration


1. Bus serial 2-kawat - Data serial (SDA) dan Serial clock (SCL).
2. Bus setengah dupleks, sinkron, multi-master.
3. Tidak perlu memilih chip atau logika arbitrasi.
4. Garis ditarik tinggi melalui resistor

I2C Protocol
Communication Speed (Data rate)
1. Normal mode: 100 kHz
2. Fast mode: 400 kHz
3. Fast mode plus: 1MHz
4. High-speed mode: 3.4MHz
5. Ultra-fast mode: 5MHz

I2C Tradeoffs
Keuntungan :
1. Baik untuk komunikasi dengan perangkat terpasang yang kadang-kadang
diakses.
2. Mudah menautkan banyak perangkat karena skema pengalamatan.
3. Biaya dan kompleksitas tidak bertambah dengan jumlah perangkat.
Kekurangan:
Kompleksitas komponen perangkat lunak pendukung bisa lebih tinggi daripada
skema yang bersaing (misalnya, SPI).

Serial Peripheral Interface (SPI)


1. Didefinisikan oleh Motorola pada jalur mikrokontroler MC68HCxx.
2. Secara umum lebih cepat dari I2C, mampu beberapa Mbps.
3. Aplikasi:
a. Sebuah. Seperti I2C, digunakan dalam EEPROM, Flash, dan jam waktu
nyata
b. Lebih baik cocok untuk "aliran data", yaitu konverter ADC kapabilitas
dupleks penuh, mis. komunikasi antara codec dan prosesor sinyal
digital

SPI Bus Configuration


1. Tautan data serial sinkron yang beroperasi pada dupleks penuh
2. Hubungan master/ slave
3. 2 sinyal data:
a. Sebuah. MOSI - output data master, input data slave
b. MISO - input data master, output data slave

4. 2 sinyal kontrol:
a. Sebuah. SCLK – jam
b. / SS - pilih budak (tidak ada pengalamatan)

SPI vs. I2C


1. Untuk point-to-point, SPI sederhana dan efisien : Lebih sedikit overhead
daripada I2C karena kurangnya pengalamatan, ditambah SPI adalah
dupleks penuh.
2. Untuk beberapa budak, setiap budak membutuhkan sinyal pilih budak
yang terpisah : Lebih banyak usaha dan lebih banyak perangkat keras
daripada I2C

Spi Protocol
Dua parameter, Polaritas Jam (CPOL) dan Fase Jam (CPHA), tentukan tepi
aktif jam. Master dan slave harus menyetujui nilai pasangan parameter untuk
berkomunikasi

Modules, Rules, Interfaces, Methods

Interface Methods are HW


1. Deklarasi metode antarmuka terlihat seperti fungsi / prosedur di SW
2. Penggunaan metode antarmuka terlihat seperti panggilan fungsi / prosedur di
SW
3. Definisi metode antarmuka dalam modul adalah rangkaian nyata di balik
port-portnya
4. Penggunaan metode antarmuka hanyalah seperangkat koneksi (kabel) ke port
antarmuka modul
5. Tidak ada "panggilan / jalankan / kembali", tumpukan bingkai.

Sharing Methods
Dalam SW, memanggil fungsi / prosedur dari dua proses berarti:
1. Buat dua instance (biasanya di dua tumpukan)
2. Metode BSV mewakili perangkat keras nyata
3. Hanya ada satu instance (per modul instantiated)
4. Akses paralel harus dijadwalkan (dikendalikan)
5. Input dan output data harus muxed / didistribusikan
6. Kompilator BSV menyisipkan logika untuk menyelesaikan berbagi ini
7. Logika ini bukan artefak menggunakan BSV - itu adalah logika bahwa
perancang sebaliknya harus merancang secara manual
Important Special Cases of Sharing
Metode nilai tanpa argumen tidak memerlukan muxing atau kontrol,
karena mereka tidak memiliki input ke dalam modul
Contoh:
r._read () untuk register
f.first () untuk FIFO
Catatan: metode ini bersifat kombinasional, tetapi mereka bergantung pada
status internal modul. Metode seperti itu dapat dibagikan secara bebas
(digunakan dalam aturan yang berbeda) Ini hanya kabel keluaran fan-out.

Methods and Transaction Level Modelling


Setiap metode dapat dibaca sebagai transaksi yang dapat diterapkan terhadap
suatu modul. Dengan hanya mengubah tingkat abstraksi dari argumen dan hasil,
menggunakan paradigma metode tunggal.
MORE ON MODULE INTERFACES
BSV general library conventions
1. Nama modul biasanya dimulai dengan "mk", diucapkan "make" mis., :
mkReg, mkFIFO, mkRegFile
2. Jenis (dan Antarmuka, karena itu adalah jenis) dimulai dengan huruf besar
- mis., Action, ActionValue # (t), Vector # (Bool), Put # (Tin)
3. Fungsi dan pengidentifikasi lainnya dimulai dengan huruf kecil, mis., min,
maks, peta, lipat, fifoToPut.

The Standard Prelude Package


The only package that is automatically imported (no need for explicit “import
package :: *”)
- A “built in” library of primitive instances, types, and typeclasses
- Typeclasses: Bits, Eq, Ord, Bitwise, Arith, Bounded, Literal
- Defining all the built-in operators (==, +, &&, |, >, …)
- Types: Action, Bit, Bool, int, Maybe, Empty, …
- Registers (initialized, uninitialized, asynch reset, …)

Bluespec Libraries
1. Bluespec menyediakan perpustakaan yang luas dengan modul parameter,
antarmuka, fungsi, tipe, dll.
2. Daftarkan File, FIFO dan variasi, RWire dan variasi, model RAM
3. Kompleks, titik tetap, satu panas, penambah Wallace, jumlah populasi,
generator angka acak
4. Generator FSM, pipa yang kaku
5. Dapatkan / Pasang dan variasi, Klien / Server, Connectables
6. Localbus (Kontrol / Status regs)
7. Sinkronisasi jam, model Tri-state
Panduan Referensi (dalam rilis SW) berisi dokumentasi. Sebagian besar lib ditulis
dalam BSV itu sendiri; sangat sedikit yang "built-in".

Interfaces : Raising The Level of Abstraction


1. Ingat: Antarmuka berisi metode
2. Antarmuka juga dapat berisi antarmuka lain
3. Koneksi antara antarmuka standar dapat dikemas (dan digunakan, dan
digunakan kembali) Typeclass yang terhubung.

Interfaces : Lowering The Level Of Abstraction


Ketika modul BSV harus terhubung ke lingkungan non-BSV dengan daftar port
dan protokol yang ditentukan sebelumnya, antarmuka harus dicocokkan persis
dengan lingkungan.
- Contoh: menghubungkan ke AMBA AHB
- Contoh: dalam subsistem IP yang ada, mengganti blok dengan yang baru
yang ditulis dalam BSV
Ini biasanya berarti bahwa kita tidak dapat menggunakan protokol dan
pensinyalan metode BSV tentang Tindakan, Nilai, dan metode nilai.

Interfaces: Summary On Matching An External Port Spec


Setiap spesifikasi port eksternal dapat dicocokkan dengan tepat, menggunakan
satu atau lebih teknik berikut ini:
1. Paparkan kondisi implisit ke dalam metode Bool eksplisit
2. Gunakan atribut “always_ready” untuk menghapus sinyal READY output
dari nilai apa pun, metode Action atau ActionValue. Compiler akan
memeriksa apakah ini legal
3. Gunakan atribut "always_enabled" untuk menghapus input sinyal ENABLE
dari metode Action of ActionValue apa pun.
a. Sebuah. Menyiratkan "always_ready", dan kompiler akan memeriksa
ini, yaitu, badan metode tidak dapat menggunakan metode lain yang
memiliki kondisi implisit
b. Gunakan komponen dengan metode yang tidak dijaga, jika perlu
c. Kiat: saat mendefinisikan komponen dengan metode yang tidak
dijaga, hapus pelindung hanya jika diperlukan. E.g., fifo dengan enq
yang tidak dijaga tetapi dijaga terlebih dahulu / deq
4. Yang tersisa adalah bus input dan output murni (port Verilog)

Anda mungkin juga menyukai