STM32C5 định nghĩa lại hiệu năng của bộ vi điều khiển cấp thấp.

STM32C5 định nghĩa lại hiệu năng của bộ vi điều khiển cấp thấp.

Hãy xem STM32C5 định nghĩa lại hiệu năng tầm trung như thế nào.

Được giới thiệu vào tháng 3 năm 2026, STM32C5 là một vi điều khiển (MCU) cấp thấp mới dựa trên lõi Arm Cortex-M33 và công nghệ sản xuất 40 nm. Nó có bộ nhớ Flash hai ngân hàng (từ 128 KB đến 1 MB) và độ bền 10.000 chu kỳ với các sector 8 KB, cho phép độ chi tiết cao hơn với các sector 2 KB trong một vùng Flash chuyên dụng.

Nhắm đến các thiết bị nhúng có chi phí thấp, STM32C5 được thiết kế đơn giản về cách sử dụng và kiến ​​trúc. Ví dụ, TrustZone không được tích hợp và hệ thống đồng hồ nội bộ được đơn giản hóa. Đây là vi điều khiển STM32 cấp thấp và tối ưu hóa chi phí đầu tiên tích hợp bộ xử lý dấu phẩy động (FPU).

Bộ xử lý trung tâm hoạt động ở tần số 144 MHz, cung cấp sức mạnh tính toán đáng kể, bao gồm các lệnh xử lý tín hiệu số (DSP) và phân chia phần cứng, với điểm số CoreMark là 593 điểm hoặc 4,12 điểm trên mỗi MHz. Hiệu năng này cao hơn nhiều so với các thiết bị MCU cấp thấp thông thường dựa trên Cortex-M0+.

Đây là lần đầu tiên một vi điều khiển (MCU) cấp thấp đạt được hiệu năng cao như vậy, và hiệu năng này được duy trì trong phạm vi nhiệt độ rộng, lên đến 125°C nhiệt độ môi trường (140°C nhiệt độ mối nối), mà không cần giảm tần số lõi. STM32C5 chỉ có thể hoạt động với bộ dao động HSI bên trong, được hiệu chuẩn tại nhà máy với độ chính xác 1% trong phạm vi nhiệt độ từ -20°C đến 105°C nhiệt độ môi trường.

Các tùy chọn đóng gói bắt đầu từ 20 chân (TSSOP/UFQFPN) và mở rộng đến 144 chân (LQFP). Sơ đồ chân tương thích với MCU STM32H5 , cho phép STM32C5 trong cùng một gói được đặt trên vị trí chân cắm của STM32H5 trên bo mạch in (PCB).

Thao tác ngược lại cần chú ý, vì STM32C5 giảm bớt một số chân chuyên dụng và thay thế chúng bằng các chân GPIO tiêu chuẩn. Cụ thể, chân BOOT0 được chia sẻ với một chân GPIO (+1 GPIO), và không có các chân VBAT (+1 GPIO) và VDDUSB (+1 GPIO). Ngoài ra, còn thiếu một chân VCAP (+1 GPIO). Do đó, có thêm bốn chân GPIO so với cùng loại gói STM32H5. Trên tất cả các gói có sẵn, STM32C5 tiết kiệm được tới sáu chân GPIO với các gói LQFP100 và LQFP144 lớn nhất.

STM32C5 cung cấp bộ ngoại vi tiêu chuẩn trên tất cả các dòng sản phẩm (bao gồm cả CAN FD) và cũng bao gồm các ngoại vi không phổ biến trong các MCU cấp thấp. Ví dụ, STM32C5 chứa một bộ ngoại vi analog phong phú, bao gồm ADC 12 bit, DAC, bộ khuếch đại thuật toán và bộ so sánh, giúp giảm số lượng linh kiện và diện tích mạch in, từ đó giảm chi phí.

Ethernet là một thiết bị ngoại vi khác không phải là tiêu chuẩn trên các sản phẩm cấp thấp, cho phép hoạt động ở tốc độ truyền dữ liệu 10 hoặc 100 Mbit/s. Sử dụng giao diện MII hoặc RMII cho phép kết nối mạng LAN. Hỗ trợ Ethernet bắt đầu từ các gói có số chân thấp như 64 chân.

Vi xử lý STM32C5 hỗ trợ chế độ máy chủ và thiết bị tốc độ cao USB 2.0. Sử dụng các thư viện phần mềm trung gian của ST, STM32C5 có thể biến một ứng dụng cuối cùng thành một lớp thiết bị thông dụng như thiết bị giao diện người dùng hoặc các loại sản phẩm USB khác.

Giao thức I3C đang nhanh chóng được sử dụng rộng rãi trong các ứng dụng thu thập dữ liệu điều khiển và cảm biến, và ngoại vi I3C bên trong STM32C5 cho phép truyền dữ liệu nhanh hơn so với giao thức I²C quen thuộc.

Để kết nối với bộ nhớ SPI bát phân hoặc tứ phân bên ngoài, STM32C5 cung cấp giao diện ngoại vi nối tiếp mở rộng (XSPI), có thể kết nối với bộ nhớ octoSPI bên ngoài hoặc màn hình SPI tứ phân. Chúng có thể được kết nối bằng XSPI ở chế độ tứ phân.

Đối với các ứng dụng liên quan đến mật mã, STM32C5 tích hợp các bộ tăng tốc mật mã SHA, AES, TRNG và PKA với khả năng chống lại các cuộc tấn công kênh phụ. Khóa duy nhất phần cứng (HUK) giải quyết vấn đề mật mã muôn thuở khi phải đưa khóa bí mật vào một vi điều khiển hoàn toàn mới, và với các thư viện mật mã của ST, các nhà thiết kế không cần phải phát triển mọi thứ từ đầu.

Hãy cùng xem xét chi tiết hơn một số tính năng chính:

Tính năng lưu giữ I/O

Chức năng duy trì trạng thái I/O cho phép GPIO giữ nguyên trạng thái đầu ra khi MCU ở chế độ chờ; đây là chế độ tiết kiệm năng lượng thấp nhất khi các đầu ra GPIO chuyển sang trạng thái nổi (hoặc trở kháng cao). Tính năng này được thực hiện bằng các điện trở kéo lên và kéo xuống GPIO tích hợp trên chip. Các điện trở này có giá trị thấp, khoảng 40 kΩ, thích hợp để điều khiển các đầu vào trở kháng cao.

Trạng thái I/O được lấy mẫu khi chuyển sang chế độ chờ, và các điện trở kéo lên và kéo xuống vẫn được duy trì sau khi thức dậy từ chế độ chờ cho đến khi bit IORETEN trong thanh ghi PWR_IORETR được xóa bằng phần mềm. Điều này làm cho STM32C5 đủ linh hoạt để hỗ trợ các ứng dụng mà việc tiêu thụ điện năng thấp là rất quan trọng.

Hình 1: Sơ đồ duy trì trạng thái I/O trong STM32C5 sử dụng điện trở kéo lên và kéo xuống. Nhấp chuột để xem hình lớn hơn.

SPI với tính năng độ trễ lấy mẫu dữ liệu

Độ trễ lấy mẫu dữ liệu là một tính năng mới của ngoại vi SPI tiêu chuẩn. STM32C5 có thể hoạt động SPI ở tốc độ 72 MHz ở chế độ chủ, nhưng ngay cả ở tần số thấp hơn nhiều cũng có thể gây ra vấn đề khi sử dụng các mạch làm trễ tín hiệu dữ liệu, chẳng hạn như bộ cách ly điện.

Ví dụ, giả sử tần số SPI_SCK là 50 MHz, chu kỳ xung nhịp T_sck là 20 ns. Quá trình lấy mẫu diễn ra ở giữa bit dữ liệu tại đầu vào MISO. Nếu bộ cách ly điện có độ trễ lan truyền 10 ns trở lên, SPI sẽ không hoạt động vì thời gian lấy mẫu rơi vào thời điểm chuyển đổi dữ liệu hoặc nằm ngoài vùng lấy mẫu. Độ trễ này không thể được giảm thiểu bằng các biện pháp bên ngoài, vì nó liên quan đến cơ chế lấy mẫu SPI bên trong.

Với tính năng trì hoãn lấy mẫu dữ liệu được kích hoạt bởi bit DRDS trong thanh ghi SPI, SPI sẽ trì hoãn thời gian lấy mẫu một khoảng thời gian cố định bằng một nửa T_sck (10 ns trong ví dụ), giúp giảm thiểu chính xác độ trễ lan truyền của bộ cách ly điện. Tính năng này cho phép các nhà thiết kế đạt được tốc độ SPI cao hơn.

Hình 2: Ví dụ về độ trễ lấy mẫu dữ liệu khi được kích hoạt bởi DRDS. Nhấp chuột để xem hình lớn hơn.

Dữ liệu người dùng Flash

Bộ nhớ Flash hỗ trợ các trang 8 KB nhưng cho phép độ chi tiết cao hơn ở một số phần của bộ nhớ Flash. Phần này được gọi là vùng dữ liệu Flash, và theo mặc định, vùng này nằm từ 0x0840 0000 đến 0x0840 FFFF trong không gian địa chỉ, được tách biệt với vùng Flash mã người dùng bởi một độ lệch 4 MB trong sơ đồ bộ nhớ. Kích thước của nó luôn là 64 KB, và mã có thể được thực thi từ vùng này.

Ở trạng thái mặc định, nó chỉ khác với Flash mã người dùng ở kích thước trang nhỏ hơn (2 KB), vì mã sửa lỗi 9 bit (ECC) và kích thước ghi 128 bit (từ bốn phần) vẫn giữ nguyên. Sự khác biệt chính xảy ra khi bit EDATA_EN trong các byte tùy chọn — vùng dành riêng trong bộ nhớ Flash cho cấu hình người dùng — được bật. Điều này cho phép Flash dữ liệu người dùng hoạt động với độ chi tiết cao hơn, cho phép ghi xuống kích thước 16 bit. Trong trường hợp này, mỗi sáu nửa từ liên tiếp có mã ECC 6 bit riêng, yêu cầu nhiều không gian hơn cho bộ nhớ ECC, dẫn đến các trang 1,5 KB và 48 KB không gian khả dụng (hai ngân hàng 2 × 24 KB).

Vùng dữ liệu Flash sau đó có thể truy cập được tại các địa chỉ từ 0x0900 0000 đến 0x0900 BFFF, và việc thực thi mã không được phép trong vùng bộ nhớ này. Tính năng này hỗ trợ việc triển khai tốt hơn mô phỏng EEPROM hoặc cân bằng hao mòn trong vùng dữ liệu Flash.

Hình 3: Khi bit EDATA_EN trong các byte tùy chọn được bật, nó cho phép truy cập dữ liệu Flash của người dùng với độ chi tiết cao hơn. Nhấp vào để xem hình lớn hơn.

Với EDATA_EN = 1, mã ECC 6 bit cho mỗi giá trị 16 bit (nửa từ) có một tác dụng phụ mà các nhà thiết kế cần xem xét. Trong cài đặt mặc định, hàng Flash 128 bit được bảo vệ bởi mã ECC 9 bit, và nội dung bị xóa của bộ nhớ Flash tương ứng với mã ECC chính xác (hàng 128 bit [0xffff…ff] và mã ECC 9 bit [0x1ff] đều là 1).

Điều này không giống nhau đối với ECC 6 bit và nửa từ vì Flash đã xóa có giá trị 16 bit là 0xffff cũng như ECC 6 bit tương ứng là 0xff, nhưng ECC 6 bit chính xác cho 0xffff phải là 0xa1. Kết quả là một ngắt không thể che (NMI) với phát hiện lỗi kép ECC nếu đọc dữ liệu Flash đã xóa với EDATA_EN = 1.

Việc bắt đầu khám phá các tính năng của STM32C5 rất dễ dàng với các công cụ phát triển STM32, bao gồm cả bo mạch STM32C5 Nucleo , cũng như hệ sinh thái STM32Cube được nâng cấp, bao gồm CubeMX2 mới, trình điều khiển HAL2 mới (trình điều khiển gốc cho STM32C5) và STM32CubeIDE cho VS Code, hỗ trợ các dự án CMake.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Win a Raspberry Pi!

Answer 5 questions for your chance to win!
Question 1

What color is the sky?

Tìm kiếm bằng danh mục

Chọn danh mục