Pengertian Hardware Layer : Prinsip, Desain dan Komponen

Jagad.id – Hardware layer atau lapisan perangkat keras adalah layanan berbasis fungsi API ke lapisan yang lebih tinggi seperti aplikasi pelanggan, kerangka aplikasi dan lain sebagainya. Ini nantinya memungkinkan banyak orang bisa melakukan operasi yang berorientasi di perangkat keras terlepas dari detail perangkat keras sebenarnya.

Dokumen tersebut nantinya bisa memberi uraian yang terperinci tentang lapisan perangkat keras, komponen, arsitektur serta model pemakaiannya.

Prinsip Arsitektual Hardware Layer

Proyek kode sumber aplikasi motor kontrol diterbitkan sebelum tahun 2015 memakai abstraksi software layer yang masih sedikit. Ini terdiri dari beberapa bagian dari kode untuk mengakses perangkat keras atau periferal memakai antarmuka yang tak konsisten. Namun sayangnya, terjadi beberapa masalah seperti:

  1. Butuh operasi pencarian serta penggantian ekstensif untuk memindahkan kode dari antara perangkat keras.
  2. Semua kombinasi PIM serta perangkat keras butuh rilis khusus dari proyel kode yang intensif untuk mempertahankan sumber daya.
  3. Kode yang berhubungan dengan algoritma dicampur dengan akses perangkat keras. Ini menyebabkan sulit untuk memperbaiki algoritma terpisah karena ketergantungan perangkat kerasnya.

Tujuan Desain Layer Hardware

Lapisan perangkat keras atau layer hardware memang dirancang untuk beberapa target desain tingkat atas, yakni sebagai berikut:

  1. Untuk memungkinkan pelanggan bisa menghasilkan Layer Hardware khusus namun tidak terlalu sulit.
  2. Tidak memerlukan overhead ekseskusi yang terlalu lama.
  3. Memakai arsitektur modular.
  4. Memakai MCC untuk menghasilkan driver perangkat periferal jika tersedia.

Kompabilitas Layer Harwadre Dengan Kelompok Perangkat 8-Bit dan 32-Bit

Implementasi layer harware sekarang ini dirancang untuk bekerja pada perangkat 16-bit khususnya untuk dsPIC33E. Sedangkan untuk arsitektur perangkat perifera seperti DMA, ADC, QEI, PWM serta jam sistem bervariasi untuk berbagai kelompok perangkat 16-bit.

Untuk itulah perangkat 16-bit lainnya kompitabel dengan penerapan layer hardware di berbagai tingkat tergantung dari fitur serta arsitektur periferal perangkat tertentu yang dituju. Sedangkan untuk pendekatan driver fungsi statis yang dipakai pada layer hardware bisa bekerja dengan sangat baik memakai perangkat 8-bit namun tidak efisien untuk perangkat 32-bit.

Meski begitu, arsitektur modular layer hardware secara teori tetap memungkinkan untuk mengganti set driver periferal dengan plib ketika digunakan untuk perangkat 32-bit. Jika dirangkum berkaitan dengan perangkat 8-bit dan 32 bit adalah implementasi layer hardware tidak kompitabel dan antarmuka layer hardware sekarang ini juga tidak kompitabel, Namun dengan menambah lapisan tipis adaptor dan fungsi pembungkus bisa membantu untuk memperbaikinya.

Komponen Hardware Layer

Gambar Contoh Proses Hardware Layer ke Lapisan Software

Hardware layer tentunya terdiri dari beberapa komponen, seperti:

1. Driver Periferal

Ini adalah modul yang menyediakan fungsi sederhana dengan cara mengakses periferal perangkat secara langsung. Fungsi dari diver periferal ini terdiri dari banyak nama fungsi dengan awalan yang berhubungan dengan perangkat khusus yang dilayani.

Contohnya fungsi driver periferal untuk modul ADC1 yang punya banyak fungsi awalan, seperti:

  • ADC1_Instalasi ()
  • DMA_SoftwareTriggerEnable
  • TMR1_Start
  • OSCILLATOR_Inisialisasi

Untuk Sekarang ini, fungsi sistem berikut dan juga periferal perangkat didukung dengan software layer.

2. Fungsi Akses Hardware

Modul ini menyediakan fungsi untuk antarmuka driver periferal tingkat rendah pada hardware layer dengan aplikasi di tingkat yang lebih tinggi atau pada kerangka aplikasi. Host fungsi pembungkus sederhana nantinya akan diterjemahkan ke dalam operasi driver periferal dan juga fungsi yang lebih rumit memakai driver periferal untuk menyelesaikan operasi yang spesifik perangkat atau hardware.

Fungsi akses perangkat keras mempunyai nama fungsi dengan awalan HAL_ seperti beberapa contoh berikut ini:

Memakai Lapisan Abstraksi Perangkat Keras di Dalam Aplikasi

Untuk memakai fungsi fungsi dari hardware di dalam sebuah aplikasi, maka ada beberapa langkah yang harus diikuti, yakni:

  1. Menambahkan file layer hardware ke proyel MPLAB X.
  2. Menyertakan file mcc.h pada semua file sumber atau abstraksi perangkat keras.
  3. Di fase inisialisasi perangkat pada main (), panggil fungsi SYSTEM_Initialize  () untuk menginisialisasi periferal perangkat seperti PWM, osilator, ADC dan sebagainya. Selain itu, fungsi dari inisialisasi driver periferal individu juga bisa dipanggil dari aplikasi pada titik waktu berikutnya.
  4. Pada saat aplikasi harus mengakses GPIO, maka pakai nama makro yang didefinisikan antarmuka aplikasi BSP dalam file bsp.h.
  5. Pada saat aplikasi harus mengakses fitur perangkat, maka pakai fungsi akses hardware yang sudah ditentukan dalam file hardware_access_functions.h dan/atau fungsi driver periferal yang ditentukan pada file bsp.h.
  6. Tetapkan fungsi ISR serta Trap memakai makro pembantu ISR serta Trap yang termasuk dalam file hardware_access_functions.h.

Selain itu, pakai juga void_attributr_((interupt)) untuk tujuan ini sekaligus sertakan atribut auto_psv atau no_auto_psv pada definisi fungsi seperti yang sudah diisyaratkan aplikasi. Sedangkan untuk rincian tambahan tentang fungsi driver periferal serta fungsi akses perangkat keras didokumentasikan pada dokumentasi API atau dokumen yang terpisah.

Demikian penjelasan singkat dari kami kali ini tentang layer hardware. Semoga bisa menambah informasi seputar komputer khususnya hardware.