GPIO được biết đến làm một chân tín hiệu kỹ thuật trên mạch tích hợp được điều khiển bởi phần mềm ứng dụng. Để hiểu hơn về thuật ngữ này, anh em có thể tham khảo trong bài chia sẻ dưới đây nhé:
GPIO, viết tắt của từ General Purpose Input Output Pins, là vi điều khiển trong các mạch in (hay còn gọi là board mạch). Hệ thống GPIO này sẽ tương tác với thế giới bên ngoài thông qua các chân Analog, Digital, Power của chúng.
Theo đó, các chân này được nối với thiết bị cảm biến nhằm mục đích theo dõi, đo đặc môi trường bên ngoài hoặc có nhiệm vụ đóng ngắt như tắt đèn, loa, động cơ,...của các thiết bị điều khiển. Trong các nền tảng phần cứng, các chân GPIO đóng vai trò vô cùng quan trọng vì chúng đem lại khả năng mở rộng của thiết bị
Được biết, GPIO ngoại vi điều khiển chia thành loại 8 bit có 8 chân trên một port (cổng) và loại 32 bit có 16 chân trên một port. Đối với các loại GPIO A, GPIO B, GPIO C, GPIO D trong chip STM32F103C8Tx được phân loại cụ thể như sau:
Với mỗi chân trong vi điều khiển, chúng đều được lập trình riêng là một đầu vào kỹ thuật số (Digital Input) hoặc đầu ra kỹ thuật số (Digital Output). Cụ thể:
Bên cạnh đó, một số port có thể có chức năng thay thế (Alternative Function - AF) có nhiệm vụ như một đầu vào tương tự như ADC, EXTI (ngắt ngoài), đầu vào hoặc đầu ra của GPIO trên chip. Mặt khác, AF còn có khả năng ánh xạ tới một chân của một điểm nào đó khi chức năng này được điều khiển bởi byte tùy chọn.
Đối với vi điều khiển GPIO hiện đại, thiết bị đa phần đều được ứng dụng kỹ thuật bản đồ bộ nhớ, giúp ánh xạ các thiết bị ngoại vi trong một không gian bộ nhớ thống nhất. Với bộ điều khiển có ký hiệu STM32F446RE, hệ thống được xem là bộ vi điều khiển và hoạt động dựa trên ARM Cortex M4. Không gian bộ nhớ cho thiết bị ARM được thể hiện qua hình ảnh dưới đây:
Để ánh xạ nhiều thiết bị ngoại vi khác nhau, địa chỉ bộ nhớ được các nhà cung cấp GPIO sử dụng trong khoảng từ 0x40000000 đến 0x600000000. Trong đó, mỗi vùng sẽ được chia thành nhiều vùng phụ khác nhau. Vùng phụ này sẽ có nhiệm vụ ánh xạ tới một thiết bị ngoại vị nào đó cụ thể.
Bên cạnh đó, anh em cần phải tìm ra địa chỉ mà thiết bị này có thể ánh xạ được tại đây. Trường hợp thiết bị GPIO ánh xạ trong địa chỉ từ 0x40020000 đến 0x40021FFF, được gọi là vùng băng tần bit.
Với GPIO, thiết bị được chia thành 8 cổng, gồm GPIO A, GPIO B, GPIO C, GPIO D, GPIO E, GPIO F, GPIO G, GPIO H. Mỗi cổng trong thiết bị sẽ chứa tối đa là 16 chân. Trong đó, GPIO A được ánh xạ từ địa chỉ 0x40020000 đến 0x400203FF, đồng thời quản lý hầu hết các chân kết nối với PORT - A.
Muốn biết GPIO có cấu hình như thế nào, anh em có thể tham khảo thông tin cụ thể sau đây:
Trong GPIO Input, cấu hình của thiết bị vi điều khiển gồm Pull - up và Floating, cụ thể:
Trong GPIO Output, cấu hình của thiết bị vi điều khiển gồm Push-pull, Open-drain và Floating Input, cụ thể:
1. Chế độ Input Floating: Có cấu hình chân I/O với chức năng làm ngõ vào và để nổi.
2. Chế độ Input pull - up: Có cấu hình chân I/O với nhiệm vụ làm ngõ vào và trở kéo lên nguồn.
3. Chế độ Input pull - down: Có cấu hình tương tự như hai chế độ trên, với nhiệm vụ làm ngõ vào và trở kéo xuống nguồn GND.
4. Chế độ Analog: Là Analog cấu hình chân I/O được áp dụng cho các mode có ứng dụng ADC hoặc DAC.
5. Chế độ Output open - drain: Có cấu hình chân I/O với vai trò làm ngõ ra có hai trường hợp xảy ra:
6. Chế độ Output push-pull: Có cấu hình chân I/O với vai trò là ngõ ra có hai trường hợp xảy ra:
7. Chế độ Alternate function push-pull: Có cấu hình I/O tích hợp vừa làm ngõ ra và ngõ vào. Chế độ này sẽ không có chức năng kéo lên và kéo xuống như ở Input. Tuy nhiên, Alternate function push-pull có chức năng output giống với Output push-pull. Bên cạnh đó, chế độ này còn được sử dụng cho chức năng khác là remap.
8. Chế độ Alternate function push-pull: Có cấu hình I/O tích hợp, chức năng Input và ứng dụng trong chức năng remap giống với chế độ Alternate function push-pull. Nhưng khác là chế độ này lại có chức năng output giống với Output open-drain.
>>> 100+ Mã Sản Phẩm Dây Rút: https://mecsu.vn/san-pham/day-rut-nhua.5op
>>> 1000+ Mã Sản Phẩm Đầu Cosse: https://mecsu.vn/san-pham/dau-cosse.Q1j
Mời anh em đọc thêm:
Trên đây là những thông tin GPIO mà anh em có thể tham khảo để hiểu hơn về loại thiết bị này. Ngoài ra nếu còn có những thắc mắc nào về vi điều khiển GPIO, anh em có thể bình luận dưới bài viết này. Cám ơn anh em đã theo dõi