- Giải thích phần cứng của Ban phát triển STM32 Nucleo 64
- Lập trình các Ban phát triển STM32 Nucleo 64
- Bắt đầu với STM32F401
- Phần kết luận
- Video
Đối với hầu hết mọi người ở đó, bảng phát triển nhúng đầu tiên mà họ làm việc có lẽ sẽ là Bảng Arduino. Nhưng, tất cả đều có thể đồng ý, Arduino của bạn chỉ có thể đưa bạn đi xa và một ngày nào đó bạn phải chuyển sang nền tảng vi điều khiển gốc. Quá trình này có thể được thực hiện dễ dàng hơn rất nhiều với bảng phát triển STM32 này vì nó có thể hỗ trợ tất cả các lá chắn Arduino để giúp bạn về mặt phần cứng và cũng có nhiều thư viện và chức năng tích hợp sẵn để giúp bạn về mặt phần mềm. Ngoài ra, việc làm quen với Bộ vi điều khiển STM32 sẽ giúp bạn dễ dàng khám phá các mô-đun phát triển khác từ ST như SensorTile.Box mà chúng tôi đã xem xét trước đó. Vì vậy, trong bài viết này, chúng ta hãy cùng tìm hiểu đầy đủ về bảng Phát triển STM32 Nucleo-64 này và tìm hiểu cách sử dụng chúng.
Hiện nay có rất nhiều phiên bản bo mạch STM32 và phiên bản đặc biệt này trong tay tôi được gọi là STM32F401 Nucleo-64. Tên STM32 thể hiện rằng chúng tôi có một Vi điều khiển 32-bit trên bảng phát triển của chúng tôi và tên Nucleo-64 thể hiện rằng vi điều khiển có 64 chân. Tương tự, có nhiều phiên bản khác của bo mạch Nucleo 64 như STM32F103, STM32F303, v.v., nhưng một khi bạn tìm hiểu về một bo mạch thì tất cả những bo mạch khác đều khá giống nhau.
Giải thích phần cứng của Ban phát triển STM32 Nucleo 64
Hãy bắt đầu bằng cách mở hộp Bảng phát triển của chúng tôi. Như bạn có thể thấy gói hoàn chỉnh chỉ bao gồm bảng phát triển của chúng tôi và một thẻ hướng dẫn. Thẻ hướng dẫn đề cập đến các thông số kỹ thuật của bộ điều khiển, sơ đồ chân của nó và ở mặt sau, chúng tôi có một số thông tin về cách bắt đầu và các tùy chọn chuỗi công cụ có sẵn.
Nhìn kỹ hơn vào bảng, chúng ta có thể thấy rằng bảng được chia thành hai vùng. Phần trên cùng là trình gỡ lỗi và lập trình ST-Link / V2 trong khi phần dưới cùng là bảng phát triển thực tế của bạn. Bằng cách này, bạn có thể dễ dàng lập trình và gỡ lỗi bo mạch của mình ra khỏi hộp chỉ với một cáp USB bổ sung có thể được kết nối với cổng mini USB trên bo mạch.
Ngay từ cái nhìn đầu tiên, bảng mạch có vẻ có rất nhiều jumper và các thành phần, nhưng tất cả chúng đều ở đó để giúp chúng ta dễ dàng hơn. Hai jumper mà bạn tìm thấy ở hai bên của bảng CN11 và CN12 thực sự là jumper giả, những jumper này có thể được sử dụng cho các mục đích khác nếu cần trong tương lai. Hai jumper trên CN2 được sử dụng để kết nối phần lập trình viên và trình gỡ lỗi với bảng phát triển của chúng tôi. Trong tương lai, bạn có thể loại bỏ các jumper này để sử dụng bộ lập trình cho các vi điều khiển ST khác thông qua các chân này. Và chân kết nối JP1 này có thể được đóng lại để hạn chế dòng USB là 100mA, nếu để mở dòng tối đa sẽ là 300mA. Ở đây, chúng ta có một đèn LED Ba màu (LD1) bật thành màu Đỏ khi bảng được cấp nguồn và chuyển sang màu xanh lục khi bảng được lập trình thành công và chuyển sang màu cam khi có lỗi giao tiếp.
Chuyển xuống phần phát triển, chúng ta có thành phần quan trọng nhất ở đây, Bộ vi điều khiển STM32F401RET6. Đây là Vi điều khiển 32-bit 64-Pin với bộ xử lý ARM Cortex M4 hoạt động ở tốc độ 84MHz. Nó cũng có 512 Kb Flash và 96KB SRAM. Bộ vi điều khiển có 10 bộ định thời 16 bit và 32 bit và một bộ ADC 12 bit. Nó cũng có ba USART, ba I2C, bốn SPI và một USB 2.0 cho giao tiếp bên ngoài. Bạn có thể kiểm tra Biểu dữ liệu STM32F401 để biết thêm thông tin kỹ thuật.
Bây giờ đến phần thú vị, như tôi đã nói với bạn trước đó, bảng hỗ trợ tất cả các lá chắn Arduino. Bo mạch có hai bộ kết nối, các chân cái dành cho lá chắn Arduino hoàn toàn phù hợp với Tấm chắn Wi-Fi ESP8266 và Tấm chắn Semtech Arduino LoRa của chúng tôi như bạn có thể thấy trong hình ảnh bên dưới.
Các chân đực khác được gọi là chân hình thái ST có thể được sử dụng để sử dụng chân doa trên bộ vi điều khiển 64 chân của chúng tôi. Sau đó, chúng tôi có một nút đặt lại ở đây và một nút người dùng có thể định cấu hình được kết nối với chân PC13 và cũng có một đèn LED ở đây được kết nối với chân D13 giống như Arduino. Để cấp nguồn cho bo mạch, chúng ta có thể sử dụng cổng USB hoặc cung cấp trực tiếp nguồn 5V được điều chỉnh cho E5V hoặc vào chân 5V tại đây. Hãy nhớ thay đổi jumper này để cho biết bạn đang cấp nguồn cho bo mạch như thế nào; U5V cho biết bo mạch được cấp nguồn bằng USB. Chúng tôi cũng có một chân jumper thú vị khác ở đây được gọi là IDD có thể được sử dụng để đo dòng điện mà bộ vi điều khiển của bạn đang sử dụng bằng cách kết nối ampe kế với các chân này.
Lập trình các Ban phát triển STM32 Nucleo 64
Đến với phần phần mềm, board có một thư viện khổng lồ và hỗ trợ lập trình và có thể được lập trình bằng Keil, IAR workbench và nhiều IDE khác. Nhưng điều thú vị là nó hỗ trợ môi trường phát triển ARM Mbed và STM32Cube. Vì mục đích của bài viết này, tôi quyết định sử dụng nền tảng ARM Mbed vì nó là một công cụ trực tuyến và tôi thấy nó rất thú vị vì bạn không chỉ có thể sử dụng bảng ST của mình mà còn nhiều bảng phát triển khác sử dụng vi điều khiển ARM.
Đối với những người mới, ARM MBED là một nền tảng phát triển trực tuyến do chính ARM cung cấp và nó cung cấp cho bạn một hệ điều hành nhúng, các dịch vụ đám mây và các tính năng bảo mật để dễ dàng tạo ra các giải pháp nhúng dựa trên IoT. Nó là một cộng đồng mã nguồn mở khổng lồ và việc tìm hiểu chi tiết về nó sẽ cần một bài báo riêng.
Bắt đầu với STM32F401
Tuy nhiên, để bắt đầu, hãy sử dụng cáp USB mini để kết nối bảng phát triển STM32 với máy tính của bạn. Sau khi được cấp nguồn, bạn sẽ nhận thấy đèn LED LD1 và LD3 sáng lên màu đỏ và đèn LED LD2 có thể lập trình sẽ nhấp nháy màu xanh lục như thế này.
Bạn cũng sẽ thấy một ổ đĩa flash mới trên máy tính của mình có tên là “NODE_F401RE”. Mở nó ra và bạn sẽ tìm thấy hai tập tin là details.txt và mbed.htm như hình bên dưới.
Bạn có thể khởi chạy tệp Mbed.htm để bắt đầu trực tiếp lập trình bảng trực tuyến bằng cách sử dụng arm Mbed. Tuy nhiên, trước khi đến đó, chúng tôi đã cài đặt các trình điều khiển cần thiết và đăng ký Mbed. Tìm kiếm phần mềm trình điều khiển STSW-link009 và tải xuống trực tiếp từ trang web của ST, cài đặt trình điều khiển và đảm bảo thiết bị được phát hiện chính xác trong trình quản lý thiết bị của bạn như được hiển thị ở đây.
Quay lại nền tảng mbed của bạn để đăng ký trên MBED.com bằng thông tin đăng nhập của bạn. Sau đó, nhấp vào tệp MBED.HTM và bạn sẽ được chào đón ở trang sau.
Cuộn xuống và nhấp vào “ Mở trình biên dịch Mbed ”. Như bạn có thể thấy, trình biên dịch đã công nhận nền tảng của chúng tôi là Nucleo-F401RE và đang cung cấp cho chúng tôi rất nhiều chương trình ví dụ cơ bản. Bây giờ, hãy để tôi chọn “ Mã nhấp nháy LED ” và sửa đổi nó để đèn LED tắt bất cứ khi nào tôi nhấn nút nhấn.
Khi mã đã sẵn sàng như hình dưới đây, bạn có thể nhấp vào nút biên dịch, nút này sẽ cung cấp cho bạn tệp bin, chỉ cần sao chép tệp bin và dán vào ổ đĩa flash của bạn để lập trình bảng của bạn. Bạn sẽ nhận thấy đèn LED LD1 chuyển sang màu Xanh lục khi quá trình lập trình hoàn tất. Bây giờ nhấn nút màu xanh lam và bạn sẽ thấy đèn LED màu xanh lá cây tắt. Như vậy, bạn có thể thử bất kỳ chương trình ví dụ nào để tìm hiểu các chức năng khác nhau của bảng. Bạn cũng có thể quay lại trang chính để nhận các tài liệu kỹ thuật khác và hỗ trợ cộng đồng.
Bạn cũng có thể xem video được liên kết ở cuối trang này, để xem toàn bộ bài đánh giá trên bảng này.
Phần kết luận
Nhìn chung, tôi tin rằng những bảng này là sự lựa chọn tuyệt vời nếu bạn đang cố gắng nâng cao kỹ năng của mình và phát triển các ứng dụng nâng cao. Với sự hỗ trợ phần cứng thiết thực của nó và cộng đồng trực tuyến, đường cong học tập của các bảng này cũng khá đơn giản, vì vậy bạn có thể muốn thử. Tôi hy vọng, bạn thích bài viết và học được điều gì đó hữu ích từ nó. Nếu bạn có bất kỳ câu hỏi nào, hãy để lại chúng trong phần bình luận bên dưới hoặc sử dụng diễn đàn của chúng tôi cho các câu hỏi kỹ thuật khác.