Chức năng pin thay thế trên vi điều khiển là gì?


15

Tôi muốn biết "Chức năng thay thế" đề cập đến trong bối cảnh các cổng IO của vi điều khiển.

Tôi không cần biết cách kích hoạt nó khi kết nối với thiết bị ngoại vi, nhưng tôi muốn biết chính xác nó là gì và tại sao chúng ta cần nó.

Câu trả lời:


17

Nhiều chân của vi điều khiển của bạn có chức năng khác nhau. Chức năng 'bình thường' sẽ đề cập đến GPIO, Đầu vào / Đầu ra Mục đích Chung . Trong trường hợp đó, bạn có thể sử dụng các chân này trực tiếp bằng cách viết và đọc từ các thanh ghi có liên quan.

Các chức năng 'Thay thế' sẽ đề cập đến các chức năng khác, có thể bao gồm I 2 C, SPI, USART, CCP, PWM, Clock, ADC, v.v ... Cách bạn điều khiển các chân khi trong một chức năng thay thế phụ thuộc vào thiết bị ngoại vi, nhưng nó thường đi xuống để viết và đọc từ các thanh ghi chức năng đặc biệt (SFR); ngoại vi chăm sóc phần còn lại.

Hàm nào là chuẩn sau khi RESET phụ thuộc ( không phải lúc nào cũng là GPIO!) Và bạn có thể tìm thấy hàm đó trong biểu dữ liệu có liên quan. Hầu hết thời gian, bạn có thể chọn chức năng bạn muốn sử dụng khi đang di chuyển, do đó bạn có thể chuyển đổi giữa các thiết bị ngoại vi.

Bằng cách sử dụng một pin cho một số thiết bị ngoại vi, bạn có thể tạo ra các bộ vi điều khiển với rất nhiều tính năng. Tuy nhiên, vì hầu hết thời gian bạn muốn thiết bị ngoại vi trên pin đó mọi lúc (và không muốn chuyển đổi chức năng một cách nhanh chóng), bạn không thể sử dụng tất cả các thiết bị ngoại vi trong một chương trình, hoặc ít nhất là không giống nhau thời gian. Mặt khác, dù sao thì điều đó thực sự không cần thiết.


Như Connor đã chỉ ra , 'chức năng thay thế' cũng có thể đề cập đến một thứ khác, chỉ trong một bối cảnh hơi khác: ở đây không phải là về chức năng bạn đặt trên pin, mà là về việc bạn sử dụng pin nào cho chức năng. Đây được gọi là Pin ngoại vi Chọn và về cơ bản có nghĩa là bạn có thể chọn pin mà thiết bị ngoại vi của bạn đang sử dụng. Ví dụ, bạn có thể thực hiện RS232 trên RA1 và RA2 hoặc trên RB1 và ​​RB2.

Xem câu trả lời của Connor để biết mô tả chi tiết hơn (và nâng cao anh ta cho điều này).


5

Ngoài câu trả lời @CamilStaps, còn có một bối cảnh khác trong đó "chức năng pin thay thế" là một thuật ngữ thường được sử dụng.

Một số bộ vi điều khiển có tùy chọn để chuyển đổi các thiết bị ngoại vi bên trong của chúng giữa một số bộ dòng IO. Bằng cách này, bạn có thể tránh các sự cố nếu bạn muốn sử dụng các mô-đun bên trong (SPI, I2C, v.v ...) có chức năng của chúng được ánh xạ tới cùng một bộ chân.

Nhìn chung, có một thanh ghi điều khiển xác định tập hợp các chân mà các thiết bị ngoại vi khác nhau được ánh xạ tới.


Tôi biết tôi đã làm việc với một vi điều khiển có thiết bị này, nhưng tôi sẽ bị nguyền rủa nếu tôi có thể nhớ số phần cụ thể.

Chỉnh sửa: Tìm thấy nó - Nó có sẵn trên nhiều phần PIC24 và DSPIC: nhập mô tả hình ảnh ở đây

Họ gọi nó là "Chọn mã pin ngoại vi", nhưng về cơ bản nó là một cơ chế để cấu hình các chức năng pin thay thế.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.