CẨM NANG STM32 CĂN BẢN CẦN BIẾT – Bật nguồn và Nhấp nháy

Nguồn

PCB (board mạch in) STM32F103C8T6, còn được gọi là board “Blue Pill”, có một số chân nối, trong đó có vài chân nối với nguồn. Không nhất thiết phải sử dụng tất cả các chân nối nguồn cùng một lúc. Thực tế, tốt nhất là chỉ sử dụng một bộ các chân nối. Để làm rõ điểm này, hãy bắt đầu với việc xem xét các lựa chọn nguồn của bạn. Hình 3-1 minh họa các chân nối quanh các cạnh của PCB, bao gồm cả nguồn.

Hình 3-1. Chân nối nguồn và GPIO với PCB STM32F103C8T6 “Blue Pill”.
Nguồn có thể được cấp vào các chân +5V, +3.3V hoặc cổng USB, với điện áp phù hợp. Chân được đánh dấu là “5V” (không có dấu cộng) là các chân input chịu được áp 5V. Chân được đánh dấu bằng dấu cộng là chân input nguồn.

Bốn chân ở đầu trên cùng của board (màu xanh đậm) được dùng để lập trình thiết bị. Lưu ý rằng chân lập trình DIO cũng có khả năng là một chân GPIO PA13. Tương tự như vậy, DCLK có khả năng trở thành một chân GPIO PA14. Xuyên suốt quyển sách này, bạn sẽ học cách cấu hình cho chip STM32.

Ở chân lập trình, lưu ý rằng điện áp cấp vào là +3.3V. Về mặt điện, chân này tương tự như các chân khác có nhãn “+3.3V”. Trong hình trên, chúng có màu cam nhạt.

=> Bài viết được trích từ sách : Cẩm nang STM32 (tập 1)

Bộ điều áp +3.3V

Chip STM32F103C8T6 được thiết kế để hoạt động ở điện áp trong khoảng từ 2V đến 3.3V. PCB Blue Pill có một bộ điều áp +3.3V tí hon được đánh nhãn là “U1” ở mặt dưới (xem Hình 3-2). Bộ của tôi đã sử dụng bộ điều áp kiểu SMD có mã 4A2D, thuộc vào serie XC6204. Bộ của bạn có thể khác.

Hình 3-2. Bộ điều áp +3.3V ở mặt dưới của PCB.
Chân 1 của chip 4A2D (serie XC6204) được chỉ ra trong hình.

Sơ đồ nguyên lý chính thức cho board này chỉ ra rằng bộ điều áp là loại RT9193-33, hỗ trợ 300 mA. Có thể board tôi dùng là loại nhái, dùng con chip điều áp rẻ tiền hơn. Chip điều áp serie XC6204 của tôi có giới hạn ở 150 mA. Trừ khi bạn biết rõ thiết bị của mình, nếu không thì an toàn nhất là hãy giả sử rằng dòng giới hạn ở mức 150 mA.

Hiệu suất sử dụng năng lượng của MCU sẽ được xem xét trong một chương sau. Ở đây, để tham khảo, chương trình nhấp nháy nạp sẵn trong thiết bị tiêu thụ dòng điện khoảng 30 mA (đo bằng chân cấp nguồn input +5V ở điện áp 4.97V). Con số đo được này đã bao gồm dòng phụ nhỏ do chính bộ điều áp tiêu thụ.

Datasheet của STM32F103C8T6 ghi rằng chip tiêu thụ một dòng tối đa vào khoảng 50 mA. Số đo trong tài liệu đó thực hiện trong điều kiện xung ngoài và mọi thiết bị ngoại vi đều kích hoạt, và hoạt động ở “chế độ làm việc” (run mode) ở xung nhịp 72 MHz. Trừ đi 50 từ mức 150 tối đa của bộ điều áp, cường độ dòng điện còn lại vào khoảng 100 mA từ bộ điều áp +3.3V. Nắm được các giá trị giới hạn luôn có ích.

Power USB/+5V

Khi được cấp nguồn bằng cáp USB, nguồn sẽ đến bằng đầu nối Micro-USB B. Nguồn cấp 5V này được điều chỉnh thành +3.3V mà MCU cần. Tương tự, ở phía trên bên phải của Hình 3-1, có một chân có nhãn “+5V” (với dấu cộng), có thể được sử dụng như một chân nguồn vào. Dòng này cũng đến cùng bộ điều áp như dòng được cấp qua cổng USB.

Do MCU chỉ cần một dòng khá thấp, bạn cũng có thể cấp nguồn cho thiết bị từ adapter TTL serial. Nhiều bộ adapter USB-serial có sẵn một dây +5V có thể cấp nguồn cho MCU. Kiểm tra các thông số bộ adapter serial của bạn để đảm bảo.

Hãy cẩn thận không kết nối cáp USB và chân cấp nguồn 5V đồng thời. Làm như vậy có thể gây hư hại máy tính của bạn qua đường cáp USB. Ví dụ, nếu nguồn +5V của bạn có điện áp cao hơn một chút, sẽ có dòng chạy vào mạch USB của máy tính.

Nguồn cấp +3.3V

Nếu bạn có nguồn cấp +3.3V, bạn có thể để ngỏ các chân input +5V. Nối trực tiếp nguồn cấp +3.3V của bạn với chân input +3.3V (đảm bảo rằng không cắm cáp USB). Cách này dùng được vì bộ điều áp tự vô hiệu hóa khi không có gì cấp vào chân input 5V.

Khi cấp nguồn cho vào chân input +3.3V, chính là bạn đang nối nguồn với đầu VOUT của bộ điều áp như trong Hình 3-3. Trong trường hợp này, không có nguồn 5V nào chạy vào VIN của bộ điều áp. Chân CE cũng được nối với VIN, nhưng khi VIN để hở, chân CE sẽ được nối đất qua một tụ điện. Mức áp thấp trên CE làm cho bộ điều áp tắt các hệ thống con bên trong nó.

Hình 3-3. Sơ đồ khối của bộ điều áp 5V sang 3.3V

Tuy nhiên, có một dòng điện nhỏ đi vào bộ chiết áp của bộ điều áp. Dòng điện này sẽ đi từ +3.3V của bạn xuống đất, thông qua các điện trở nội R1 và R2 của bộ điều áp. Các điện trở này có trị số lớn, nên dòng qua đó là không đáng kể. Nhưng cần lưu ý điều này khi đo dòng cho các ứng dụng nguồn-siêu-thấp dùng pin.

Thận trọng  Không cấp đồng thời cả hai nguồn +5V và +3.3V. Điều này có thể gây hư hại cho bộ điều áp hoặc máy tính của bạn khi có cáp USB cắm vào. Sử dụng một nguồn điện mà thôi.

Quy tắc một-nguồn-cấp

Điều tôi đang đề cập là lời khuyên tổng quát rằng chỉ dùng một nguồn cấp mà thôi. Tôi hết sức nhấn mạnh rằng cấp nguồn cho PCB với nhiều hơn một nguồn điện có thể gây ra thiệt hại.

Điều này thường thấy rõ ràng với các chân input nguồn +3.3V và +5V. Tuy vậy, thứ dễ thường bị quên nhất lại là cáp USB. Hãy cho rằng bạn có thể có nguồn điện cấp từ bộ adapter USB-serial, từ bộ lập trình ST-Link V2, hoặc từ cáp USB. Hãy thực hiện chậm lại khi bạn thay đổi nguồn điện, đặc biệt là khi chuyển từ chế độ lập trình thiết bị sang cấu hình nguồn bình thường của bạn.

Một số ứng dụng nhất định có thể yêu cầu bạn sử dụng nguồn cấp bổ sung; ví dụ, khi cấp nguồn cho động cơ hoặc rơ le. Trong những trường hợp đó, bạn sẽ phải cấp các mạch ngoài nguồn mà chúng cần, chứ không phải cho PCB MCU. Chỉ có các dây tín hiệu và đất là cần nối chung. Nếu vẫn chưa rõ ràng, thì cứ chấp nhận và áp dụng quy tắc một-nguồn-cấp.

=> xem thêm : Lập trình Arm STM32

Nối đất (Ground)

Phần âm của mạch điện (công suất), được gọi là chân nối đất (ground). Nó được gắn nhãn màu đen trong hình 3-1. Về mặt điện, tất cả các chân ground này được nối chung lại với nhau. Các chân đó có thể được dùng hoán đổi cho nhau.

Nút Reset

PCB cũng có một nút gắn nhãn “RESET” và một chân nối ở một bên board với nhãn “R.” Chân nối này cho phép một mạch ngoài reset MCU khi cần. Hình 3-4 minh họa mạch nút nhấn, bao gồm cả kết nối tới MCU.

Hình 3-4. Mạch Reset STM32F103C8T6. Kết nối “R” được tìm thấy ở mép của PCB.

Kiểm thử

Có thể bạn đã kiểm thử thiết bị của mình, nhưng nếu chưa thì bây giờ bạn hãy thử ngay. Cách an toàn nhất và dễ nhất để thực hiện là sử dụng cáp USB với đầu nối Micro-USB B. Cắm cáp của bạn vào nguồn điện USB, không cần phải là từ máy tính.

Sau khi được cấp nguồn, thiết bị của bạn sẽ nhấp nháy. Nếu không, hãy thử nhấn nút Reset. Hãy cũng chắc rằng dây nối boot-0 và boot-1 của bạn được nối như trong Hình 3-1 (cả hai dây nên được đặt ở bên có nhãn “0”).

Có hai LED gắn sẵn. LED ở bên trái cho biết rằng nguồn đã được áp vào (của tôi có màu vàng, của bạn có thể khác). LED ở bên phải được kích hoạt bởi cổng GPIO PC13 theo điều khiển chương trình (của tôi có màu đỏ như trong hình dưới). 

Thận trọng  Một số trường hợp được báo lại rằng ngõ nối USB của họ bị bật khỏi PCB. Hãy lắp nhẹ nhàng đầu cáp Micro-USB B.

Nếu bạn hiện đang thiếu cáp USB phù hợp, bạn có thể thử thiết bị nếu bạn có thể cấp nguồn +5V hoặc +3.3V cho chân nối thích hợp như đã thảo luận. Thậm chí là một cặp pin khô mắc nối tiếp cho điện thế +3V cũng được (nhớ lại rằng MCU hoạt động ở điện áp từ 2V đến 3.3V)

Hình 3-5 minh họa thiết bị đang được cấp nguồn từ chân nối +3.3V ở cạnh trên PCB, nơi kết nối với bộ lập trình. Cẩn thận khi sử dụng kẹp cá sấu, đảm bảo chúng không gây đoản mạch đến các chân khác. Dây DuPont có thể được sử dụng cho độ an toàn cao hơn.

Hình 3-5. Board STM32F108C8T6 nhấp nháy và được cấp điện từ bộ nguồn HP 6284A sử dụng chân hàng rào ở cạnh trên (+3.3V)

=> Sách Arduino, ESP8266, STM32 : Sách tự động hóa