Modul 3

 



MODUL 2

COMMUNICATION

1. Pendahuluan [Kembali]

Praktikum kali ini berfokus pada pengimplementasian sistem komunikasi data digital pada mikrokontroler STM32 melalui protokol komunikasi UART, SPI, dan I2C. Tujuan utamanya adalah untuk memahami secara langsung bagaimana sebuah development board dapat saling bertukar informasi dan instruksi, baik dengan sesama mikrokontroler maupun dengan berbagai komponen input/output eksternal secara efisien dan akurat.

Dalam serangkaian percobaan yang dilakukan, setiap protokol komunikasi dikaji berdasarkan karakteristik dan keunggulannya masing-masing. Protokol UART (Universal Asynchronous Receiver-Transmitter) diimplementasikan untuk memfasilitasi komunikasi serial asinkron secara point-to-point. Protokol ini membuktikan bagaimana pertukaran data, seperti pengiriman pesan antar-board atau ke monitor serial komputer, dapat dilakukan tanpa memerlukan jalur detak (clock) yang sinkron.

Sementara itu, pada pengujian komunikasi sinkron, protokol I2C (Inter-Integrated Circuit) menunjukkan kepraktisannya dalam menangani komunikasi multi-perangkat hanya dengan menggunakan dua jalur kabel utama (SDA dan SCL). Dalam praktikum ini, I2C memegang peran vital, salah satunya untuk mengontrol antarmuka visual seperti layar OLED (SSD1306) agar mampu menampilkan data secara real-time. Di sisi lain, protokol SPI (Serial Peripheral Interface) turut diuji untuk membuktikan keandalannya dalam memfasilitasi komunikasi data berkecepatan tinggi menggunakan arsitektur master-slave dengan jalur data yang terpisah secara penuh (full-duplex).

Kesimpulan yang dapat ditarik dari pembelajaran modul ini adalah bahwa integrasi sistem tertanam (embedded system) yang kompleks sangat bergantung pada keandalan jalur komunikasinya. Tanpa adanya protokol komunikasi yang menjembatani pengiriman dan penerimaan bit-bit data dengan aturan yang terstandarisasi, sebuah mikrokontroler hanya akan menjadi sistem yang terisolasi. Pemahaman komprehensif terhadap UART, SPI, dan I2C menjadi fondasi krusial bagi praktikan dalam membangun sistem instrumentasi cerdas yang komponen-komponennya mampu "berbicara" dan berkoordinasi satu sama lain.

2. Tujuan [Kembali]

  1. Memahami cara penggunaan protokol komunikasi UART, SPI, dan I2C pada Development Board yang digunakan
  2. Memahami cara penggunaan komponen input dan output yang berkomunikasi secara UART, SPI, dan I2C pada Development Board yang digunakan 

3. Alat dan Bahan [Kembali]

1. Supply 




2. Resistor


3. Push Button




4. Switch



5. Buzzer





6. LED 




7. Relay




8. Breadboard


9. Heartbeat Sensor





10. LDR Sensor



13. STM 32 NUCLEO G474RE

 


14. STM32F103C8




4. Dasar Teori [Kembali]

1.3.1 UART, SPI, I2C

Dalam sistem mikrokontroler, komunikasi data antar-perangkat merupakan elemen krusial untuk membentuk suatu sistem instrumentasi yang terintegrasi. Terdapat tiga protokol komunikasi serial yang paling umum digunakan, yaitu UART, SPI, dan I2C.

1. UART (Universal Asynchronous Receiver-Transmitter)

UART adalah bagian dari perangkat keras keras (biasanya terintegrasi di dalam mikrokontroler) yang menerjemahkan data antara bentuk paralel dan serial. Komunikasi UART memiliki karakteristik asinkron, artinya pertukaran data antara dua perangkat (secara point-to-point) dilakukan tanpa adanya sinyal detak (clock) penyinkron.

  • Mekanisme Kerja: Karena tidak ada sinyal clock, kedua perangkat yang berkomunikasi harus menyepakati kecepatan transmisi data (baud rate) yang sama sebelumnya. UART menambahkan Start Bit di awal dan Stop Bit di akhir setiap paket data (biasanya 8-bit) agar perangkat penerima mengetahui kapan data dimulai dan diakhiri.

  • Konfigurasi Pin: Membutuhkan dua jalur utama, yaitu Tx (Transmitter / Pengirim) dan Rx (Receiver / Penerima). Konfigurasinya menyilang, di mana pin Tx pada perangkat pertama dihubungkan ke pin Rx perangkat kedua, dan sebaliknya.

2. SPI (Serial Peripheral Interface)

SPI adalah protokol komunikasi serial yang memiliki karakteristik sinkron dan full-duplex (dapat mengirim dan menerima data secara bersamaan). SPI dikembangkan oleh Motorola untuk komunikasi jarak dekat dengan kecepatan yang sangat tinggi, sering digunakan untuk komunikasi antara mikrokontroler dengan memori eksternal (SD Card), sensor cerdas, atau layar TFT.

  • Mekanisme Kerja: SPI beroperasi dengan arsitektur Master-Slave. Master bertugas memulai komunikasi dan menghasilkan sinyal clock (SCK) untuk menyinkronkan pembacaan bit data.

  • Konfigurasi Pin: SPI umumnya menggunakan 4 jalur kabel utama:

    1. SCK (Serial Clock): Jalur detak sinkronisasi yang dihasilkan oleh Master.

    2. MOSI (Master Out Slave In): Jalur data dari Master menuju Slave.

    3. MISO (Master In Slave Out): Jalur data dari Slave menuju Master.

    4. SS/CS (Slave Select / Chip Select): Jalur untuk mengaktifkan Slave tertentu. Master menarik jalur ini ke logika LOW (0) untuk memilih Slave yang akan diajak berkomunikasi, memungkinkan koneksi multi-slave (namun membutuhkan tambahan 1 pin SS untuk tiap slave baru).

3. I2C (Inter-Integrated Circuit)

I2C adalah protokol komunikasi serial sinkron bertipe half-duplex (pengiriman dan penerimaan data dilakukan bergantian) yang diciptakan oleh Philips Semiconductor. Protokol ini sangat efisien untuk komunikasi Multi-Master dan Multi-Slave jarak dekat karena sangat hemat pin.

  • Mekanisme Kerja: Berbeda dengan SPI yang membutuhkan pin Slave Select khusus untuk tiap perangkat, I2C membedakan tiap Slave menggunakan sistem pengalamatan (addressing). Setiap perangkat yang terhubung ke bus I2C memiliki alamat unik (umumnya 7-bit). Saat Master ingin mengirim atau meminta data, Master akan menyiarkan alamat Slave yang dituju terlebih dahulu.

  • Konfigurasi Pin: I2C hanya membutuhkan 2 jalur kabel yang digunakan secara bersamaan oleh seluruh perangkat dalam satu bus (biasanya dilengkapi dengan resistor pull-up):

    1. SDA (Serial Data Line): Jalur dua arah yang digunakan untuk mengirim dan menerima data.

    2. SCL (Serial Clock Line): Jalur detak penyinkron yang dikontrol oleh perangkat yang bertindak sebagai Master.


1.3.2 STM 32 NUCLEO G474RE
STM32 NUCLEO-G474RE merupakan papan pengembangan (development
board) berbasis mikrokontroler STM32G474RET6 yang dikembangkan oleh
STMicroelectronics. Board ini dirancang untuk memudahkan proses pembelajaran,
pengujian, dan pengembangan aplikasi sistem tertanam (embedded system), baik untuk
pemula maupun tingkat lanjut. STM32 Nucleo-G474RE mengintegrasikan antarmuka
ST-LINK debugger/programmer secara onboard sehingga pengguna dapat langsung
melakukan pemrograman dan debugging tanpa perangkat tambahan.
Adapun spesifikasi dari STM32 NUCLEO-G474RE adalah sebagai berikut: 

 


1.3.3 STM32F103C8
STM32F103C8 adalah mikrokontroler berbasis ARM Cortex-M3 yang
dikembangkan oleh STMicroelectronics. Mikrokontroler ini sering digunakan dalam
pengembangan sistem tertanam karena kinerjanya yang baik, konsumsi daya yang
rendah, dan kompatibilitas dengan berbagai protokol komunikasi. Pada praktikum ini,
kita menggunakan STM32F103C8 yang dapat diprogram menggunakan berbagai
metode, termasuk komunikasi serial (USART), SWD (Serial Wire Debug), atau JTAG
untuk berhubungan dengan komputer maupun perangkat lain. Adapun spesifikasi dari
STM32F4 yang digunakan dalam praktikum ini adalah sebagai berikut:



Komentar

Postingan populer dari blog ini