Що таке функція альтернативного контакту мікроконтролера?


15

Мені хотілося б знати, на що йдеться про "Альтернативну функцію" в контексті портів вводу-виводу мікроконтролера.

Мені не потрібно знати, як його активувати під час підключення до периферійного пристрою, але я хотів би знати, що це саме і навіщо нам це потрібно.

Відповіді:


18

Багато штифтів вашого мікроконтролера мають різні функції. Функція 'нормальний' буде стосуватися GPIO, загального призначення введення / виводу . У такому випадку ви можете використовувати ці шпильки безпосередньо, записуючи та читаючи з відповідних регістрів.

Функції "альтернативного" посилаються на інші функції, які можуть включати I 2 C, SPI, USART, CCP, PWM, Clock, ADC тощо. Як ви керуєте штифтами, коли в альтернативній функції залежить від периферійних, але це як правило, зводиться до запису та читання з регістрів спеціальних функцій (SFR); периферія піклується про відпочинок.

Від того, яка функція є стандартною після RESET, залежить (це не завжди GPIO!), І це можна знайти у відповідній таблиці. Більшу частину часу ви можете вибирати функцію, яку ви хочете використовувати під час польоту, так що ви можете перемикатися між периферійними пристроями.

Використовуючи один штифт для декількох периферійних пристроїв, ви можете зробити мікроконтролери з дуже великими можливостями. Однак, оскільки ви більшу частину часу хочете, щоб ця периферія на цьому штифті весь час (і не хочете перемикати функції на льоту), ви не можете використовувати всі периферійні пристрої в одній програмі, або принаймні не одночасно час. З іншого боку, це насправді часто не потрібно.


Як Коннор вказує , «альтернативна функція» може ставитися до чого - то ще, а, всього кілька іншому контексті: тут мова йде не про те, які функції ви поклали на шпильку, але про те, що шпилька використовується для функції. Це називається Peripheral Pin Select, і в основному означає, що ви можете вибрати, який штифт використовується ваш периферійний пристрій. Наприклад, ви можете зробити RS232 над RA1 і RA2 або над RB1 і RB2.

Дивіться відповідь Коннора для більш детального опису (і підтверджуйте його для цього).


5

Окрім відповіді @CamilStaps, є ще один контекст, де "альтернативна функція штифта" є загальновживаним терміном.

Деякі мікроконтролери мають можливість перемикати свої внутрішні периферійні пристрої між декількома наборами ліній вводу-виводу. Таким чином, ви можете уникнути проблем, якщо хочете використовувати внутрішні модулі (SPI, I2C тощо), які мають свої функції, відображені в одному наборі штифтів.

Зазвичай існує регістр управління, який визначає, до якого набору штифтів відображаються різні периферійні пристрої.


Я знаю, що працював з мікроконтролером, який мав цю установку, але я буду проклятий, якщо зможу пригадати конкретний номер деталі.

Редагувати: Знайдено - Він доступний для багатьох частин PIC24 та dsPIC: введіть тут опис зображення

Вони називають це "Вибір периферійних штифтів", але в основному це механізм налаштування альтернативних функцій штифтів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.