Apa fungsi pin alternatif pada mikrokontroler?

15

Saya ingin tahu apa yang dimaksud dengan "Fungsi Alternatif" dalam konteks port IO pada mikrokontroler.

Saya tidak perlu tahu cara mengaktifkannya saat menghubungkan ke perangkat, tetapi saya ingin tahu apa itu sebenarnya dan mengapa kita membutuhkannya.

pengguna929404
sumber

Jawaban:

18

Banyak pin mikrokontroler Anda memiliki fungsi yang berbeda. Fungsi 'normal' akan merujuk ke GPIO, Input / Output Tujuan Umum . Dalam hal ini, Anda dapat menggunakan pin ini secara langsung dengan menulis ke dan membaca dari register yang relevan.

Fungsi 'Alternate' akan merujuk ke fungsi lain, yang mungkin termasuk I 2 C, SPI, USART, CCP, PWM, Clock, ADC, dll ... Bagaimana Anda mengontrol pin ketika dalam fungsi alternatif tergantung pada perangkat, tetapi umumnya turun ke menulis ke dan membaca dari register fungsi khusus (SFR); periferal mengurus sisanya.

Fungsi mana yang menjadi standar setelah RESET tergantung ( tidak selalu GPIO!), Dan Anda dapat menemukannya di lembar data yang relevan. Sebagian besar waktu, Anda dapat memilih fungsi yang ingin Anda gunakan saat itu, sehingga Anda dapat beralih antar periferal.

Dengan menggunakan satu pin untuk beberapa periferal, Anda dapat membuat mikrokontroler dengan fitur yang sangat banyak. Namun, karena sebagian besar waktu Anda menginginkan periferal pada pin itu sepanjang waktu (dan tidak ingin berganti fungsi secara langsung), Anda tidak dapat menggunakan semua periferal dalam satu program, atau setidaknya tidak pada saat yang sama waktu. Di sisi lain, itu sebenarnya tidak terlalu sering dibutuhkan.


Seperti yang ditunjukkan Connor , 'fungsi alternatif' dapat merujuk ke hal lain juga, hanya dalam konteks yang sedikit berbeda: di sini bukan tentang fungsi apa yang Anda letakkan pada pin, tetapi tentang pin apa yang Anda gunakan untuk suatu fungsi. Ini disebut Peripheral Pin Select, dan pada dasarnya berarti Anda dapat memilih pin yang digunakan periferal Anda. Anda bisa, misalnya, melakukan RS232 melalui RA1 dan RA2 atau lebih dari RB1 dan RB2.

Lihat jawaban Connor untuk deskripsi yang lebih terperinci (dan pilih dia untuk ini).

Komunitas
sumber
5

Selain jawaban @CamilStaps, ada konteks lain di mana "fungsi pin alternatif" adalah istilah yang umum digunakan.

Beberapa mikrokontroler memiliki opsi untuk mengganti periferal internal di antara beberapa rangkaian jalur IO. Dengan cara ini, Anda dapat menghindari masalah jika Anda ingin menggunakan modul internal (SPI, I2C, dll ...) yang fungsinya dipetakan ke set pin yang sama.

Pada umumnya ada register kontrol yang menentukan set pin dari berbagai periferal yang dipetakan.


Saya tahu saya telah bekerja dengan mikrokontroler yang memiliki fasilitas ini, tetapi saya akan terkutuk jika saya dapat mengingat nomor bagian tertentu.

Sunting: Ditemukan - Tersedia di banyak bagian PIC24 dan dsPIC: masukkan deskripsi gambar di sini

Mereka menyebutnya "Periferal Pin Select", tetapi pada dasarnya ini merupakan mekanisme untuk mengkonfigurasi fungsi pin alternatif.

Connor Wolf
sumber