Raspberry Pi 4B là một sản phẩm mới nhất trong họ máy tính nhúng Raspberry Pi, nó được ra đời vào cuối tháng 6/2019. Cấu hình của Raspberry Pi 4B nổi bật với vi mạch Broadcom BCM2711, Cortex-A72 (ARM v8) 4 nhân 64 bit với tốc độ xử lý là 1,5GHz, đây là dòng vi mạch có tốc độ xử lý nhanh nhất từ trước đến nay của họ máy tính nhúng này. Phiên bản máy tính nhúng Raspberry Pi này hỗ trợ hai cổng micro-HDMI, hỗ trợ 2 cổng USB 2.0 và 2 cổng USB 3.0, hỗ trợ Wifi chuẩn IEEE 802.11ac với Dual-Band 2,4GHz và 5GHz, hỗ trợ Bluetooth 5.0, hỗ trợ cổng Ethernet tốc độ cao (Gigabit Ethernet) và hỗ trợ PoE (Power over Ethernet).
Hình 2.1. Phần cứng máy tính nhúng Raspberry Pi 4 (Model B).
Bên cạnh những thay đổi về cấu trúc phần cứng bên trong thì kích thước bên ngoài cũng có ít nhiều sự thay đổi so với phiên bản Raspberry Pi 4B trước đó. Vì vậy, chúng ta không có thể sử dụng lại một số phụ kiện cũ như vỏ hộp, bộ cấp nguồn, cáp HDMI. Ngoài các phụ kiện nêu trên cần phải thay đổi để phù hợp với phiên bản mới thì các phụ kiện khác đều có thể được sử dụng lại như thẻ nhớ, cáp Audio/Video, cáp cổng MIPI, các phần mềm đang chạy trên hệ điều hành Raspbian/Ubuntu hiện tại. Tuy nhiên, riêng phần hệ điều hành cho Raspberry Pi 4 thì chúng ta cần phải tải phiên bản mới nhất để có thể có được những sự hỗ trợ tốt nhất.
Chi tiết thông tin cấu hình cơ bản của Raspberry Pi 4B:
Bộ xử lý: Broadcom BCM2711, Cortex-A72 (ARM v8) 64-bit SoC với tốc độ xử lý 1,5GHz.
Bộ nhớ: 1GB/2GB/4GB LPDDR4-3200 SDRAM.
Kết nối mạng truyền thông: 2,4GHz và 5GHz IEEE 802.11ac Wireless LAN, Bluetooth 5.0, BLE, Ethernet tốc độ cao (Gigabit Ethernet).
Kết nối xuất nhập dữ liệu: 40 chân GPIO (GPIO/SPI/I2C/UART/PWM), 2 cổng USB 2.0, 2 cổng USB 3.0.
Video và Audio: 2 cổng micro-HDMI, cổng MIPI DSI Display, cổng MIPI CSI Camera, cổng Stereo Audio và Composite Video 4 chân.
Multimedia: H.265/H.264 Decode, H.264 Encode, OpenGL ES 3.0.
Lưu trữ: thẻ nhớ MicroSD.
Nguồn cung cấp: 5VDC/3A cổng USB-C, 5VDC trên chân GPIO, PoE (yêu cầu thêm PoE HAT).
Kích thước: 85 x 56 x 17 mm.
Hình 2.2. Các thành phần tích hợp trên Raspberry Pi 4 (Model B).
Raspberry Pi 4B được tích hợp sẵn một đầu nối có 40 chân chức năng, bao gồm: 26 chân xuất/nhập đa chức năng (GPIO) có một số chân tích hợp thêm các tính năng đặc biệt (như là PWM, UART, SPI, I2C), 2 chân ID cho I2C EEPROM, 2 chân nguồn 5V, 2 chân nguồn 3,3V, 8 chân GND. Vị trí của các chân chức năng trong đầu nối 40 chân của Raspberry Pi 4B được minh họa chi tiết trong Hình 2.3. Để đảm bảo an toàn điện và tránh gây ra những hư hỏng đáng tiếc cho Raspberry Pi 4B khi giao tiếp với các thiết bị ngoại vi bên ngoài, chúng ta cần hết sức lưu tâm đến vị trí của các chân này.
Hình 2.3. Vị trí các chân chức năng trong đầu nối 40 chân của Raspberry Pi 4B.
Tên giao tiếp và chức năng tích hợp trong từng chân của đầu nối 40 chân được minh họa chi tiết trong Hình 2.4. Trong phần nội dung tiếp theo sau đây sẽ trình bày sơ lược nhiệm vụ cơ bản của từng nhóm chân chức năng trong đầu nối 40 chân của Raspberry Pi 4B như sau:
Hình 2.4. Chức năng từng chân trong đầu nối 40 chân của Raspberry Pi 4B.
Các chân cấp nguồn 5V được kết nối trực tiếp với ngõ vào nguồn của Raspberry Pi 4B và có khả năng sẽ cung cấp một dòng điện tối đa bằng với dòng điện định mức của adaptor nguồn ngoài.
Các chân cấp nguồn 3,3V trên những Raspberry Pi đời đầu có khả năng cung cấp một dòng điện tối đa khoảng 50mA. Khả năng này sẽ đủ để cung cấp năng lượng cho một vài đèn LED hoặc một bộ vi xử lý. Tất cả các Raspberry Pi kể từ loại B+ trở đi thì đều có thể cung cấp một dòng điện tối đa cao hơn một chút, có khả năng lên tới 500mA. Tuy nhiên, thông thường bạn nên sử dụng nguồn cung cấp 5V, kết hợp với một bộ ổn áp 3,3V cho các thiết kế mạch điện dùng nguồn 3,3V.
Các chân nối đất (GND) trên Raspberry Pi đều được kết nối trực tiếp với nhau về mặt vật lý, vì vậy chúng ta không cần phải quan tâm đến việc phải sử dụng chân nối đất nào khi chúng ta cần nối dây cấp nguồn. Nói chung, khi cần sử dụng chân nối đất thì ta có thể dùng bất cứ chân GND nào trên Raspberry Pi miễn sao việc kết nối đó là thuận tiện đó là nhất cho chúng ta.
Trên Raspberry Pi 4B có 26 chân xuất/nhập dữ liệu đa mục đích. Các chân GPIO này có hai trạng thái hoạt động độc lập nhau, các trạng thái làm việc này sẽ được người sử dụng chủ động thiết lập trong mã nguồn điều khiển.
Chân xuất dữ liệu (Output): Các chân GPIO khi được thiết lập ở trạng thái xuất dữ liệu sẽ hoạt động ở mức 3,3V (cho trường hợp logic cao) và hoạt động ở mức 0V (cho trường hợp logic thấp). Dòng điện tối đa mỗi chân GPIO có thể cung cấp là 16mA.
Chân nhập dữ liệu (Input): Các chân GPIO khi được thiết lập ở trạng thái nhập dữ liệu thì có thể đọc mức 3,3V (ứng với trường hợp logic cao) và đọc mức 0V (ứng với trường hợp logic thấp). Các chân GPIO khi đóng vai trò là ngõ vào nhập dữ liệu thì chúng ta có thể thiết lập điện trở kéo lên hoặc kéo xuống bên trong bằng cách thiết lập trong mã nguồn điều khiển. Lưu ý, hai chân GPIO2 và GPIO3 luôn có điện trở kéo lên cố định, các chân còn lại thì người sử dụng phải chủ động thiết lập.
Trên Raspberry Pi 4B, một số chân GPIO sẽ có tích hợp thêm các tính năng đặc biệt như PWM, UART, SPI và I2C.
Tính năng PWM (Pulse Width Modulation) trên mô-đun Raspberry có thể được thiết lập bằng hai phương pháp: thiết lập bằng phần cứng hoặc thiết lập bằng phần mềm. Trong trường hợp thiết lập bằng phần cứng thì tính năng PWM chỉ có thể thực hiện tại các chân GPIO12/Pin-32, GPIO13/Pin-33, GPIO18/Pin-12, GPIO19/Pin-35. Trong trường hợp thiết lập bằng phần mềm thì tính năng PWM có thể thực hiện tại tất cả các chân GPIO của mô-đun.
Tính năng UART (Universal Asyncronous Receiver/Transmitter) trên mô-đun Raspberry được thiết lập bằng phần cứng tại các chân GPIO14/Pin-8 (TxD) và GPIO15/Pin-10 (RxD).
Tính năng SPI (Serial Peripheral Interface) trên mô-đun Raspberry bao gồm hai mô-đun SPI riêng biệt, hai mô-đun này được thiết lập bằng phần cứng tại các chân sau:
Mô-đun SPI0: GPIO7/Pin-26 (CE1), GPIO8/Pin-24 (CE0), GPIO9/Pin-21 (MISO), GPIO10/Pin-19 (MOSI), GPIO11/Pin-23 (SCLK).
Mô-đun SPI1: GPIO16/Pin-36 (CE2), GPIO17/Pin-11 (CE1), GPIO18/Pin-12 (CE0), GPIO19/Pin-35 (MISO), GPIO20/Pin-38 (MOSI), GPIO21/Pin-40 (SCLK).
Tính năng I2C (Inter-integrated Circuit) trên mô-đun Raspberry bao gồm hai mô-đun I2C riêng biệt, hai mô-đun này được thiết lập bằng phần cứng tại các chân sau:
Mô-đun I2C: GPIO2/Pin-3 (Data), GPIO3/Pin-5 (Clock).
Mô-đun EEPROM I2C: GPIO0/Pin-27 (Data), GPIO1/Pin-28 (Clock).
Một điểm rất quan trọng mà người sử dụng Raspberry Pi cần phải lưu ý là các tính năng đặc biệt đã nêu ra trên đây mặc định ban đầu sẽ chưa được phép sử dụng. Để cho phép hoặc không cho phép sử dụng các tính năng đặc biệt này thì người sử dụng cần phải tiến hành thiết lập cấu hình trong hệ thống. Giả sử để thiết lập sử dụng tính năng UART trên Raspberry Pi, tại Terminal nhập lệnh như sau:
~$ sudo raspi-config
Trong hộp thoại “Raspberry Pi Software Configuration Tool (raspi-config)" ta chọn mục “Interfacing Options“.
Tiếp theo ta chọn vào mục “Serial" để thiết lập sử dụng tính năng UART.
Tiếp theo ta chọn “No" để không sử dụng tính năng này cho việc đăng nhập hệ thống khi khởi động.
Tiếp theo ta chọn “Yes" để đồng ý sử dụng tính năng UART.
Tiếp theo xác nhận tính năng UART đã được kích hoạt bằng cách chọn “OK“.
Cuối cùng hoàn tất việc thiết lập bằng cách chọn “Finish“.
Để thiết lập sử dụng các tính năng đặc biệt khác, ta cũng thực hiện các bước tương tự như trên