1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thiết kế mô hình Điều khiển Đèn giao thông sử dụng kit stm32 báo cáo thực tập

54 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết kế mô hình điều khiển đèn giao thông sử dụng kit stm32
Tác giả Trịnh Xuân Minh
Người hướng dẫn ThS. Đào Thị Hằng
Trường học Trường Đại học Công nghệ Thông tin và Truyền thông
Chuyên ngành Công nghệ kỹ thuật máy tính
Thể loại Báo cáo thực tập
Năm xuất bản 2024
Thành phố Thái Nguyên
Định dạng
Số trang 54
Dung lượng 11,06 MB

Nội dung

DANH MỤC CÁC TỪ VIẾT TAT BLE Bluetooth Low Energy Tiết kiệm năng lượng Hệ thông bus truyền thông được thiết kế để CAN Controller Area Network | cho phép cac thiét bị và hệ thong điện tử

Trang 1

TRUONG DAI HQC CONG NGHE THONG TIN VA TRUYEN THONG

KHOA CONG NGHE THONG TIN

TRINH XUAN MINH

THIET KE MO HINH DIEU KHIEN DEN GIAO THONG

SU DUNG KIT STM32

BAO CAO THUC TAP

NGANH CONG NGHE KY THUAT MAY TINH

THAI NGUYEN - 2024

Trang 2

TRUONG DAI HQC CONG NGHE THONG TIN VA TRUYEN THONG

KHOA CONG NGHE THONG TIN

k)›đó8ôâœ42

BAO CAO THUC TAP CHUYEN NGANH

NGÀNH CễNG NGHỆ KỸ THUẬT MÁY TÍNH

THIET KE MO HINH DIEU KHIEN DEN GIAO THONG SU

Trang 3

MỤC LỤC MỤC LỤC

DANH MỤC HÌNH ẢNH

LỜI MỞ ĐẦU

CHUONG |: TONG QUAN VE VI DIEU KHIEN ARM CORTEX

1.1 Giới thiệu về lõi Cortex ARM

1.1.1 Quá trình hình thành

1.1.2 Các kiến trúc lõi Cortex ARM

1.2 Cac dong chip sử dụng lối ARM Cortex

1.3 Các thanh phi của vi xu ly 161 ARM Cortex

1.4 Ngắt NVIC của vi điều khién 16i ARM Cortex

1.5 So sanh ARM Cortex M1, M2 M3, M4

CHƯƠNG 2: CÂU TRÚC PHẢN CỨNG KÍT STM32

2.1 Mô tả bài toán điều khiển đèn giao thông dùng STM32

2.2 Gidi thiéu vé dong kit STM32 FO Discovery

2.2.1 Phần cứng và bố tri kit

2.2.2 Chức năng các khối trong kít STM32F0 Discovery

2.2.3 Các thông số kỹ thuật trên kít STM32F0 Discovery

2.2.4 Sơ đỗ các khối chức năng chính

2.3 Thư viện ngoại v1 của 5TM32

2.3 Kỹ thuật viết driver cho ngoại vi

2.3.1 Khai báo các hằng số và cấu trúc ngoại vi

2.3.2 Kỹ thuật che bít và thiết lập bít

2.4 Một số thanh ghi thường dùng của module GPIO

2.4.1 Thanh ghi GPIOx _MODER

2.4.2 Thanh ghi GPIOx_OTYPER

2.4.3 Thanh ghi GPIOx_OSPEED

2.4.4 Thanh ghi GPIOx_ PUPDR

2.4.5 Thanh ghi GPIOx_ IDR

2.4.6 Thanh ghi GPIOx_ODR

Trang 4

2.4.7 Thanh ghi thiết lập/xóa bít GPIOx_BSRR

2.4.8 Thanh ghi chuyển đsi chức năng byte thấp (GPIOx_AFRL)

2.4.9 Thanh phi chuyển đsi chức năng byte thấp (GPIOx_AFRH)

CHƯƠNG 3: XÂY DỰNG MÔ HÌNH ĐÈN GIAO THÔNG

3.1 Mô tả bài toán

Trang 5

DANH MỤC HÌNH ẢNH Hinh 1.1 Sơ đồ khối vi xử lý ARM Cortex-M4

Hình 1.2 Cac Thanh Ghi cua vi xu ly 161 ARM Cortex

Hình 1.3 Sơ đồ khối NVIC trong vi điều khién 16i ARM Cortex

Hình 1.4 Thanh ghi NVIC_ISER

Hinh 1.5 Thanh ghi NVIC_ICER

Hinh 1.6 Thanh ghi NVIC_PRI

Hinh 2.1 Hinh anh kit STM32F051R8T6-Discovery

Hình 2.7 Thông số kỹ thuật cua kit STM32F0

Hinh 2.8 Các khối chức năng trên kít STM32F0308 Discovery

Hinh 2.9 Định nghĩa địa chị bộ nhớ cho các ngoại v1

Hình 2.10 Bản đồ bộ nhớ KIT STM32F0xx

Hình 2.11 Định nghĩa cầu trúc RCC tương ứng với mỗi ngoại vi RCC

Hình 2.12 Định nghĩa cấu trúc con trỏ trỏ đến vùng nhớ của ngoại ví

Hình 2.13 Thanh ghi RCC_CFGRI

Hình 2.14 Thanh ghi GPIOx_MODER

Hình 2.15 Thanh ghi GPIOx_OTYPER

Hình 2.16 Thanh ghi GPIOx_OSPEED

Hình 2.17 Thanh ghi GPIOx_PUPDR

Hinh 2.18 Thanh ghi GPIOx_ IDR

Hinh 2.19 Thanh ghi GPIOx_ODR

Hinh 2.20 Thanh ghi GPIOx_BSRR

Hinh 2.21 Thanh ghi GPIO_AFRL

Hinh 2.22 Thanh ghi GPIO_AFRL

Hinh 3.1 Hinh anh board STM32F051R8 - Discovery

Trang 6

Hình 3.2 Sơ đồ khối dự án đèn giao thông

Hình 3.3 Lưu đồ thuật dự án toán đèn giao thong

Hình 3.4 Sơ đồ nguyên lý

39

40

42

Trang 7

DANH MỤC CÁC TỪ VIẾT TAT

BLE Bluetooth Low Energy Tiết kiệm năng lượng

Hệ thông bus truyền thông được thiết kế để CAN Controller Area Network | cho phép cac thiét bị và

hệ thong điện tử trao dsi

đữ liệu Kết nỗi qua internet hoặc

mạng nội bộ, tạo thành loT Internet of Things một mạng lưới liên kết

liên tục

Điều khiến tự động mà

MCU Microcontroller Unit không cần sự can thiệp

Nested Vectored NVIC Interrupt Controller Nhiệm vụ quản lý ngắt

Cho phép kết nỗi và USB Universal Serial Bus truyén dữ liệu p1ữa các thiết bị

Trang 8

LỜI MỞ ĐẦU

Ngày nay, với sự phát triển nhanh chóng của công nghệ, các thiết bị điện tử

đã trở thành công cụ thiết yếu, giúp cải thiện năng suất lao động Hệ thống mạch điện tử bên trong các thiết bị này ngày càng phức tạp, yêu cầu sự hỗ trợ của các vi điêu khiên mạnh mẽ với nhiêu tính năng hơn

Lập trình nhúng vi điều khiển là một công việc đòi hỏi rất nhiều kiến thức

chuyên môn kỹ thuật cao Cùng với sự phát triển rất nhanh của công nghệ ngày nay, các hệ thống nhúng có sử dụng hệ vi điều khiến họ Cortex ARM ngày càng trở lên phs biến, thông dụng Chính vì vậy, việc nghiên cứu và học tập về các kiến thức liên quan trone lĩnh vực này sẽ đem lại nhiều cơ hội việc làm cho các kỹ sư lập trinh nhúng và đồng thời nâng cao trình độ kỹ thuật của các kỹ sư Việt Nam so với mặt bằng chung của thế giới

Trong bối cảnh đó, việc nghiên cửu và học tập về vi điều khiển là rất quan trọng đối với kỹ sư kỹ thuật máy tính Vi điều khiển STM32, sử dụng lõi Cortex-

ARM, hiện chiếm phần lớn thị phần trong hệ thống nhúng Vì vậy, em đã chọn đề tài “Thiết kế mô hình điều khiến đèn giao thông sử dụng kít STM32” để thực hiện

báo cáo thực tập, nhằm ứng dụng kiến thức đã học vào thực tiễn

Trang 9

CHUONG 1: TONG QUAN VE VI DIEU KHIEN ARM CORTEX Cùng với sự phát triển của khoa học kỹ thuật, đặc biệt là sự phát triển của

ngành công nghiệp bán dẫn, các chíp vi điều khiển ngày cảng trở lên mạnh mẽ về

tốc độ, khả năng lưu trữ dữ liệu cũng như các khối chức năng được tích hợp sẵn bên trong nó

Ngày nay, có rất nhiều dòng vi điều khiến được ra đời, mỗi loại có những tính năng khác nhau đi kèm với những ưu nhược điểm khác nhau về giá cả, tốc độ

xử lý, giới hạn bộ nhớ, Tuy nhiên, có một dòng vi điều khiển cực kì phs biến và

chiếm tới hơn 70% thị phần hệ thống nhúng trên thế giới hiện nay, đó là dong vi

điều khiến dựa trên lõi Cortex ARM Chương này sẽ trình bày về các đặc điểm, tính năng của lõi Cortex ARM

1.1 Giới thiệu về lõi Cortex ARM

1.1.1 Quả trình hình thành

Đề sản xuất ra một con chip, các nhà sản xuất phải nghiên cứu và thiết kế ra một kiến trúc cho nó, sau đó cần tốn một khoảng thời gian để sản xuất và kiêm tra thiết kế của minh, tiếp đến họ cần tốn rất nhiều chỉ phí cho việc xây dựng nhà máy

để sản xuất Từ khâu nghiên cứu, thiết kế, kiểm thử tới sản xuất hàng loạt tốn rất nhiều thời gian đi kèm với đó là công sức và chi phi, hơn nữa ngành này có tính cạnh tranh rất cao với nhiều thương hiệu nsi tiếng trên thế giới Chính vì vậy hãng Arm Holding đã quyết định không đi theo con đường sản xuất chip day rui ro nay, thay vào đó hãng Arm Holding đã quyết định thiết kế và bán những bản thiết kế của mình cho các nhà sản xuất khác

Đề có cái nhìn chỉ tiết hơn về sản phẩm của hãng Arm Holding, người dùng cần phân biệt được ba khái niệm cơ bản và đặc biệt quan trọng là Processor Core (lõi vi xử lý), Processor (vi xtr ly) va Microcontroller (vi điều khiến) Những thuật

ngữ này thường xuyên được nhắc đến vả sẽ dẫn đến rất nhiều sự nhầm lẫn nếu

người dùng không phân biệt được chúng và sử dụng không đúng mục dich

Đề phân biệt được Processor Core (lõi vi xử lý) và Processor (vi xử lý) người dùng có thé xem chi tiét trong các tài liệu chính gốc của nhà sản xuất chip Ở đây có

Trang 10

thê lấy hình ảnh sơ đồ khối của vi xử lý ARM Cortex M4 trong tai ligu ARM® Cortex®— M4 Processor Technical Reference Manual lam vi dụ minh hoa

Bồ điêu khiên Đơn vi dấu (ETM)

Điểm dừng ° 8 Don vi bao ve ~ 4 Diem theo dõi ` làm

sửa đổi trong bộ nhớ và truy vet d&

bộ nhớ Flash MPU liệu

(FPB) (MPU) (DWT)

J | t | Đơn vi giao

diễn công : : —> (TPIU)

Công Debug Công truy cập Vi mạch theo

Serial-wire AHB t—} Ma tran Bus lá dỗ: công cụ

hoặc JTAG (AHB-AP) (ITM)

4 f + Giao diện công

| | truy vet Giao diễn { 4; v

Debug Serial-wire Giao diện 3 2„ „«~ Giao diện é -

hoặc JTAS lênh AHB-Lite Cao it old théng liệu AHB-Lite Bang ROM Coresight Giao diện v

ICODE DCode AHB-Lite g 2

System he thong

Debug PPB APB

Hình 1.1 Sơ đô khối vi xứ lý ARM Cortex-M4

Trong hình trên, có thể thấy bên trong vi xử lý (Cortex-M4 processor) bao

gồm 1 Processor core (Cortex-M4 core) vả nhiều ngoại vi chuyên dụng xung quanh

như NVIC (bộ quản lý ngắt), Flash Patch Breakpoint(điểm dừng sửa đsi Flash), Memory protection(bảo vệ bộ nhớ), Bus matrix(ma trận bus), Trong vị xử ly

ARM Cortex-M4 này có một lõi vi xử lý là Cortex-M4 core, một vi xử lý có thể có

một hoặc nhiều lõi (core), lõi chính là nơi chứa các bộ giải mã, thực thị lệnh,

Vi xử lý Cortex M4 processor được thiết kế bởi Arm Holdine và được bán cho các nhà sản xuất vi điều khiến khác nhau trên thế giới như STMicroelectronic, Texas Instruments, NXP, Microchip, Cac ban thiét ké nay duoc Arm Holding đóng gói thành các IP Cores, nó là các giấy phép được dùng để tạo ra các MCUs, CPUs, Systems-on-chip dya trén cac cores cua họ Các nhà sản xuat vi diéu khién nay sẽ tích hợp nguyên lý thiết kế vi xtr ly cua Arm Holding vao vi điều khiển của

8

Trang 11

họ sau đó thêm vào các ngoại vĩ như UART, GPIO, USB, ADC, DMA, và đóng gói lại thành một con vi điều khiển đề bán ra thị trường

Có thể thấy, các nhà sản xuất vi điều khiến đã tiết kiệm được rất nhiều thời gian và công sức đề sản xuất từ đó tiết kiệm được chi phí khi sử dụng các bản thiết

kế vi xử lý ARM

1.1.2 Các kiến trúc lõi Corfex ARM

ARM (viết tắt của từ Advance RISC Machine) là bộ vi xử lý dựa trên kiến

trúc RISC được phát triển bởi Arm Holdings, Ltd Co rất nhiều kiến trúc khác nhau

và được ứng dụng để xây dựng các đại lõi khác nhau được sản xuất bởi ARM:

Kiến trúc Cortex-A: là kiến trúc hiệu năng với chữ A thể hiện khả năng

tương thích ứng dụng Các sản pham thường dùng dòng chip có kiến trúc này là điện thoại, máy tính bảng, tivi,

Kiến trúc Cortex-R: cung cấp các giải pháp tính toán hiệu năng cao cho các

hệ thống nhúng với độ bảo mật, tính sẵn sàng cao cùng khả năng đáp ứng thời gian thực

Kiến trúc Cortex-M: là một dạng thu nhỏ, phù hợp với không gian chật hẹp như các hệ thông điều khiển và phanh trên ô tô, máy ảnh kỹ thuật số hay các sản phẩm IoT

1.2 Cac dong chip sử dụng lõi ARM Cortex

Hiện nay, trên thị trường có rất nhiều dòng chip sử dụng lõi ARM Cortex, có thê liệt

kê một số dòng chip phs biến được sử dụng theo các hãng sản xuất như sau:

Hang STMicroelectronic:

STM32F0: Dong MCU Cortex-M0 với giá thành thấp, tiêu thụ năng lượng thấp và hiệu suất vừa phải

STM32F 1: Dong MCU Cortex-M3 với hiệu suất và tính năng mở rộng hơn

so với Cortex-M0, phủ hợp cho các ứng dụng nhúng đỏi hỏi tính linh hoạt cao

STM32F3: Dòng MCU Cortex-M4F với các tính năng đặc biệt cho điều

khiển động cơ và các ứng dụng đa cảm biến

5 TM32F4: Dòng MCU Cortex-M4F với DSP và FPU, phủ hợp cho các ứng dụng đòi hỏi xử lý tín hiệu mạnh mẽ như âm thanh và hình ảnh

Trang 12

STM32F7: Dòng MCU Cortex-M7 với hiệu suất cao và các tính năng nâng cao cho các ứng dụng yêu cầu xử lý mạnh mẽ và thời gian thực

STM32L0: Dòng MCU Cortex-M0+ tối ưu hóa cho tiết kiệm năng lượng và tính năng bảo mật, phù hợp cho các ứng dụng IoT và thiết bị đeo

STM32L4: Dòng MCU Cortex-M4F với hiệu suất cao và tiêu thụ năng lượng thấp, phù hợp cho các ứng dụng di động và y tế

STM32H7: Dòng MCU Cortex-M7 với hiệu suất và tính năng cao cấp như FMC, Ethernet, va LCD-TFT controller, phi hop cho cac tng dung yéu cau tinh linh hoạt và hiệu suất cao

Kinetis K: Dòng MCU Cortex-M4F với hiệu suất cao và các tính năng bảo mật, phù hợp cho các ứng dụng loT và công nghiệp

IMX RT1050/1060/1170: Dòng MCU Cortex-M7 với hiệu suất cao và khả

năng đáp ứng nhanh, phù hợp cho các ứng dụng đòi hỏi xử lý tín hiệu mạnh mẽ và

đáp ứng thoi gian thực

LPC55S6x/7x: Dong MCU Cortex-M33 với Enhanced TrustZone và tính

năng bảo mật cao, phù hợp cho các ứng dụng an toàn va dang tin cay

Hãng Texas Instrumen((TT):

10

Trang 13

SimpleLink MSP432: Dong MCU Cortex-M4F véi tính năng tiết kiệm năng lượng và tích hợp cảm biến, phù hợp cho các ứng dụng IoT, wearable và thiết bị di động

SimpleLink CC32xx: Dong MCU Cortex-M4F với khả năng kết nối mạng không dây (wifi), phù hợp cho các ứng dụng IoT kết nỗi mạng

SimpleLink CC13xx/CC26xx: Dong MCU Cortex-M4F với kết nối

Bluetooth tiết kiệm nang lwong (BLE) va Zigbee tích hợp, phù hợp cho các ứng dụng loT không dây

Tiva C Series TM4C123G: Dong MCU Cortex-M4F voi các tính năng nâng cao nhu USB, Ethernet, va CAN, phu hop cho các tng dung céng nghiép va IoT

Tiva C Series TM4C129x: Dong MCU Cortex-M4F voi két néi Ethernet tich

hợp, phù hợp cho các ứng dụng mạng và điều khiến

Hercules RM57Lx: Dong MCU Cortex-R5F véi tinh nang bao mat va dang tin cậy cao, phù hợp cho các ứng dụng an toàn như ô tô và y tế

SItara AM335x: Dòng MCU Cortex-A8 với hiệu suất cao và tính năng ổa phương tiện, phù hợp cho các ứng dụng điều khiển máy móc và nhúng đa phương tiện

1.3 Các thanh ghi của vi xử lý lõi ARM Cortex

{ RO

Thanh ghi thập

Thanh ghi tong quat

Thanh ghi cao

Trang 14

Các thanh ghi từ R0 đến R12 (13 thanh ghi) là những thanh ghi được sử dụng với nhiều mục đích chung như lưu trữ đữ liệu của các phép tính toán, lưu trữ địa chỉ Tất cả những thanh ghi này đều có độ rộng 32bit

Thanh ghi R13 được gọi là con trỏ ngăn xếp (SP) Thanh ghi này được sử

dụng để theo dõi bộ nhớ ngăn xếp Bên cạnh thanh ghi R13, có thêm 2 thanh ghi

nữa được chỉ ra trên hình là PSP (Con trỏ ngăn xếp bộ xử lý) và MSP (Con trỏ ngăn xếp chính), những thanh ghi này được gọi là Banked version ofSP

Thanh phi R14 được gọi là Link Register (LR) Thanh ghi này lưu thông tin

của subroutines, function call va exceptions

Thanh ghi R15 là thanh ghi Program Counter(PC) Thanh ghi này chứa địa

chỉ câu lệnh sẽ được thực thị Khi reset, vi xử lý sẽ nạp thanh ghi PC voi gia tri reset

là 0x00000004

Ngoài các thanh ghi được sử dụng với nhiều mục đích chung (R0-R12), SP,

LR, PC thi vi xu ly ARM Cortex-M4 còn có 5 thanh ghi đặc biệt Trong đó, thanh ghi trạng thái chương trình (PSR) bao gồm các bít cung cấp thông tin trạng thái của chương trình ứng dụng với các co N,Z,C,V,Q, chương trình ngắt và các thanh ghi

liên quan đến ngăn xếp của vi xử lý

1.4 Ngắt NVIC của vi điều khiển lõi ARM Cortex

NVIC (Nested Vector Interrupt Controller) là một khối bên trong lõi ARM Cortex có nhiệm vụ quản lý ngắt

Khi một sự kiện xảy ra và sự kiện có được cầu hình có thể sinh ra ngắt thì tín hiệu ngắt sẽ được truyền tới khối NVIC để quyết định quá trình xử lý ngắt NVIC

hỗ trợ cơ chế ngắt lồng ngắt, tức là tại cũng một thời điểm có nhiều tín hiệu ngắt xảy ra và được gửi đến NVIC, NVIC sẽ dựa vào độ ưu tiên của mỗi ngắt và quyết định ngắt nao sé được thực thị trước bởi CPU Sau khi thực hiện xong ngắt có độ ưu tiên cao NVIC nhất, ngắt có độ ưu tiên tiếp theo sẽ được xử lý Nếu một ngắt có độ

ưu tiên thấp đang được được thi, hệ thống gửi tới một tín hiệu ngắt có độ ưu tiên cao hơn thì CPU sẽ dừng thực thi ngắt hiện tại, chuyền qua phục vụ ngắt có độ ưu tiên cao hơn, khi xử lý xong ngắt có độ ưu tiên cao rồi mới quay lại xử lý nốt ngắt

cũ đang xử lý trước đó

12

Trang 15

NGẮTIC2 ——>——>

NGAT DMA —_,~ A NGẮT UART —————> B Q -

8 DIEL

°

NGAT CAN 24} 1-277 NGAT TIMER —————> TT

ra thì sự kiện nhắn nút sẽ sinh ra một ngắt ở ngoại vi GPIO, ngoại vị này sé gui tin hiệu ngắt tới khối NVIC, nếu NVIC được cấu hình cho phép nhận ngắt từ ngoại vi GPIO thì NVIC sẽ gửi tín hiệu yêu cầu phục vụ ngắt tới CPU, nếu CPU cho phép ngat thi ngắt này sẽ được xử lý, nếu CPU không cho phép ngắt thi bat ky tin hiệu noắt nào sinh ra đều sẽ không được xử lý và bị bỏ qua

Cấu hình ngắt trong NVIC NVIC là một ngoại vi của lõi ARM Cortex-M4, nó có tên đầy đủ là Nested Vector Interrupt Đây là ngoại vi phục vụ việc nhận các tín hiệu ngắt tr ngoal truyén tới và phân loại, sắp xếp theo thứ tự độ ưu tiên sau đó gửi tín hiệu yêu cầu phục vụ ngắt tới CPU

Một số thanh ghi trong khối NVIC gồm:

Thanh ghi NVIC_ISER

Trang 16

Thanh ghi này dùng để cài đặt cho phép ngắt từ ngoại ví nào có thể được phục vụ, nếu muốn ngắt từ ngoại vi được gửi tới CPU, bít tương ứng trong thanh ghi này cần được bật lên Nếu không, dù có tín hiệu ngắt sinh ra từ ngoại ví như (USART, GPIO, TIMER, ) thì tín hiệu ngắt đó cũng sẽ không được truyền tới CPU và ngắt đó sẽ không được phục vụ, xử lý

Thanh ghi NVIC_ICER

Thanh ghi NVIC_PRI

31 24 23 16 15 8 7 0 IPR59 PRI_239 PRI_238 PRI_237 PRI_236

IPRn PRI_4n+3 PRI_4n+2 PRI_4n+1 PRI_4n

IPRO PRI_3 PRI_2 PRI_1 PRI_0

Hinh 1.6 Thanh ghi NVIC_PRI Thanh ghi này được dùng để cài đặt độ ưu tiên cho tín hiệu ngắt Nếu một ngắt có độ ưu tiên thấp đang được xử lý mà một ngắt khác có độ ưu tiên cao hơn được gửi đến, CPU sẽ tạm dừng xử lý chương trình phục vụ ngắt hiện tại và chuyển qua xử lý ngắt có độ ưu tiên cao hơn trước sau đó mới quay lại xử lý công việc hiện tại Nếu hai tín hiệu ngắt cùng xảy ra đồng thời, tín hiệu ngắt có độ ưu tiên cao hơn

sẽ được xử lý trước

14

Trang 17

1.5 So sanh ARM Cortex M1, M2 M3, M4

Việc so sánh các dong vi xử ly Arm Cortex-M là một nhiệm vụ phức tap, vi mỗi dòng được thiết kế để phù hợp với các ứng dụng cụ thể và yêu cầu hiệu

suất/kích thước khác nhau Dưới đây là một số thông tin tsng quan về các dòng

Arm Cortex-M:

Arm Cortex-M0/M0~+: Cortex-M0 là dòng vi xử lý có hiệu suất thấp, tiêu thụ

điện năng thấp nhất tron họ Cortex-M Cortex-M0+ có hiệu suất cao hơn so với Cortex-M0 và được thiết kế đề tiết kiệm năng lượng hơn nữa

15

Trang 18

CHƯƠNG 2: CẤU TRÚC PHẢN CỨNG KÍT STM32

2.1 Mô tả bài toán điều khiển đèn giao thông dùng STM32

Bài toán điều khiển đèn giao thông dùng STM32F0 là một ứng dụng thường gặp trong các hệ thống nhúng, yêu cầu lập trình để mô phỏng hoạt động của đèn giao thông (đỏ, vàng, xanh) đựa trên các quy tắc và thời gian định sẵn Đây là mô tả bài toán:

M6 ta bai toán:

Hệ thông đèn giao thông có ba đèn: Đèn xanh (cho phép xe đi); Đèn vàng (cảnh báo chuẩn bị chuyên đs¡); Đèn đỏ (yêu cầu dừng)

Yêu cầu chức năng:

Chu kỳ điều khiển đèn giao thông: Đèn đỏ sáng trong 10 giây Đèn vàng

sáng trong 3 giây Đèn xanh sáng trong 7 giây Lặp lai chu kỳ sau khi đèn xanh tat Hién thị trạng thái:`Đèn LED hoặc các chân GPIO của STM32F0 sẽ điều

khiển các đèn xanh, vàng, đỏ

2.2 Giới thiệu về dòng kit STM32 F0 Discovery

Kit STM32FODISCOVERY gitp ban kham pha cac tinh nang STM32F0 Cortex™-MO va dé phat trién cac tng dung mét cach dé dang STM32F051R8T6 được sử dụng trên kít, một dòng vi điều khiển STM32 FO 32-bit ARM® Cortex™

va bao gom mot cong cu gd lỗi ST-LINK/V2, đèn LED, nut bam va mét board mau

16

Trang 19

Vi điều khiển STM32F051R8T6 gồm 64KB Flash, 8 MB bộ nhớ RAM trong

một g61 LQFP64

On-board ST-LINK/V2 véi ché độ lựa chọn chuyén sang sử dụng các bộ

như một độc ST-LINK/V2 (với kết nối SWD cho lập trình và gỡ lỗi)

Board cung cấp điện: bus thông qua USB hoặc từ một nguồn cung cấp điện

áp 5 V cung cấp điện bên ngoải ứng dụng bên ngoài: 3 V và 5 V

Bốn đèn LED: LDI (mau đỏ) cho 3,3 V điện vào LD2 (màu đỏ / xanh lá

cây) để giao tiếp USB LD3 (màu xanh) cho sản lượng PC9 LD4 (màu xanh) cho đầu ra PC8

bs sung được cung cấp có thể được kết nối với csnø mở rộng cho mẫu dễ dàng hơn

và thăm dò

17

Trang 20

2.2.1 Phần cứng và bố trí kít

STM32F0DISCOVERY được thiết kế trên vi điều khiển STM32F051R8T6

bao gồm LQFP 64-pin

Hình 2.2 minh họa các kết nỗi piữa các thiết bị ngoại vi của nó và

STM32F030R8T6 (ST- LINK/V2, nút bắm, đèn LED và kết nối)

Hình 2.3 và hình 2.4 giúp bạn xác định vị trí các tính năng trên

STM32FODISCOVERY

Hình 2.2 Sơ đồ khối phân cứng

Vi điều khiển ARM STM32F051R8T6 kết hợp hiệu suất cao Cortex - M0 32-bit RISC lõi hoạt động ở một tần số 48KHz, tốc độ cao kỷ lục (lên đến 64

18

Trang 21

Kbytes bộ nhớ Flash và lên dén 8 KB SRAM ), và một loạt các thiết bị ngoại vị và Ï /O Tất cả các thiết bị cung cấp tiêu chuẩn giao điện truyền thông (lên đến hai

I2Cs , lên đến hai SPIs , và lên đến hai USARTs ), 12-bít ADC, lên đến 6 mục đích chung giờ 16 bít và một bộ đếm thời gian PWM tiên tiễn kiểm soát

Vi điều khiến STM32F051R8T6 hoạt động trong khoảng nhiệt độ từ - 40 đến

85 °C nhiệt độ, từ 2,4 V đến 3,6 V cung cấp điện Một tập hợp toàn diện các chế độ tiết kiệm năng lượng cho phép thiết kế các ứng dụng năng lượng thấp

green LED) LD3 tr | @| Pas

: ; pant LD4 (blue LED)

Trang 22

Xi 2 cai wast) : —®#——— S820, S821 (X3 eryetal)

Những tính năng này làm cho các vi điều khiến STM32F051R&T6 thích hợp

cho một loạt các ứng dụng như kiêm soát ứng dụng và người sử dụng giao diện, thiết bị cầm tay, A / V thu và truyền hình kỹ thuật số, thiết bị ngoại vi máy tính , nên tảng chơi game, xe đạp điện, thiết bị tiêu đùng, máy in, máy quét, báo động hệ thống, hệ thống liên lạc video, và HVACs

Các chương trình và gỡ lỗi công cụ ST-LINK/V2 được tích hợp trên 32F051

DISCOVERY Cac 5T-LINK/V2 nhúng có thể được sử dụng theo 2 cách khác nhau tủy theo các nước

« Chương trình / gỡ lỗi MCU trên ST-Link trên kit

« Chương trình / gỡ lỗi một MCU trong mạch nạp chương trình ứng dụng bên ngoài bằng cách sử dụng một cáp kết nối với kết nỗi SWD CN3

Các ST-LINK/V2 nhúng chỉ hỗ trợ cho các thiết bị SWD STM32 Đề biết

thông tin về việc gỡ lỗi và lập trình các tính năng tham khảo hướng dẫn sử dụng UM1075 (ST-LINK/V2 trong mach debugger / lập trình cho STMS§ và STM32)

trong đó mô tả chỉ tiết tất cả các tính năng ST-LINK/V2

2.2.2 Chức năng các khối trong kit STM32F0 Discovery

Su dung ST-LINK/V2 nap chuong trinh cho kit STM32F0

Dé nap chương trình cho kít STM32F051 Discovery ta cần cắm vào hai

jumper trén CN2 như hình dưới day:

20

Trang 23

4 SWDIO SWD data input/output

5 NRST RESET of target MCU

21

Trang 24

và 3V khi nguồn được cung cấp từ bên ngoài

Nguồn 5V và 3V có thể được sử dụng như nguồn cung cấp điện đầu ra cho các ứng dụng được kết nỗi với chân P1 và P2

Nguồn 5V cũng có thê được sử dụng như là nguồn cung cấp năng lượng đầu

vao, ví dụ, khi kết nỗi USB không được kết nối với máy PC Trong trường hợp này,

SIM32F051 DISCOVERY phải được hỗ trợ bởi một đơn vị cung cấp điện hoặc thiết bị phụ trợ tuân thủ các tiêu chuẩn EN-60.950-1: 2006 + A11/2009, và phải được an toàn điện áp với khả năng hạn chế

VDD =2,0-3,6 V: nguồn điện bên ngoài cho I / O, cung cấp bên ngoài thông qua VDD chân

VDDA = 2,0-3,6 V: bên ngoài cung cấp điện tương tự cho ADC, cải đặt lại

các khối, RCS và PLL (điện áp tối thiểu được áp dụng cho VDDA là 2,4 V khi

ADC va DAC duoc su dung) Mức điện áp VDDA phải luôn luôn lớn hơn hoặc bằng mức điện áp VDD và phải được cung cấp đầu tiên

22

Trang 25

VBAT = 1,65-3,6 V: cung cấp điện cho RTC, bên ngoài đồng hồ dao động

32 KHz

Các POR giám sát chỉ cung cấp điện áp VDD Trong giai đoạn khởi động nó

là cần thiết rằng VDDA nên đến đầu tiên và lớn hơn hoặc bằng VDD

Các màn hình PDR cả VDD và điện áp cung cấp VDDA, tuy nhiên người

giam sat cung cap điện VDDA có thể bị vô hiệu hóa (bằng cách lập trình một chút Lựa chọn chuyên dụng) để giảm điện năng tiêu thụ nếu thiết kế ứng dụng đảm bao rằng VDDA cao hơn hoặc bằng VDD

Cơ quan quản lý có ba chế độ hoạt động: chính (MR), năng lượng thấp (LPR) và điện xuống MR được sử dụng trong chế độ hoạt động bình thường (Run) LPR có thể được sử dụng trong ngưng chế độ mà nhu cầu điện giảm Công suất xuống được sử dụng trong chế độ chờ: sản lượng điều là trở kháng cao: mạch hạt nhân được hỗ trợ xuống, lôi kéo không tiêu thụ (nhưng nội dung của ss đăng ký

và SRAM bị mất)

Điều này luôn được kích hoạt sau khi thiết lập lại Nó bị vô hiệu hóa ở chế

độ chờ, cung cấp trở kháng đầu ra cao

Trong chế độ ngủ, chỉ có CPU được dừng lại Tắt cả các thiết bị ngoại vi tiếp tục hoạt động và có thê thức dậy khi CPU có một ngắt/sự kiện xảy ra

Dừng chế độ chế độ Dừng đạt được mức tiêu thụ điện năng rất thấp trong khi giữ lại ndi dung cua SRAM va đăng ký Tất cả các đồng hỗ trong lĩnh vực 1,8 V được dừng lại, PLL, HSŠI RC và dao động tinh thê HSE bị vô hiệu hóa Các điều chỉnh điện áp cũng có thể được đặt trong chế độ bình thường hoặc trong chế độ điện năng thấp Thiết bị nảy có thê được đánh thức từ chế độ dừng của bất cứ dòng nào exti Nguồn dòng exti có thể là một trong số 16 dòng bên ngoài, sản lượng PVD,

RTC bao déng, COMPX, I2C1, USART1 hodc CEC Cac 12C1, USART1 va CEC

có thể được cấu hình để cho phép các bộ dao động RC HSI để xử lý dữ liệu đến Nếu điều này được sử dụng, điều chỉnh điện áp không nên được đặt ở chế độ năng lượng thấp nhưng vẫn giữ ở chế độ bình thường

Chế độ chờ Chế độ chờ được sử dụng dé đạt được mức tiêu thụ điện năng thấp nhất Các điều chỉnh điện áp nội bộ được tắt để toàn bộ miền 1,8 V được tắt

23

Trang 26

PLL, HSI RC va dao d6ng tinh thé HSE cũng được tắt Sau khi vào chế độ chờ, SRAM và đăng ký nội dung bị mất ngoại trừ đăng ký trong lĩnh vực sao lưu và

mạch chờ Thiết bị nảy ra khỏi chế độ chờ khi một thiết lập lai bén ngoai (pin NRST

), một thiết lập lại IWDG, một cạnh tăng trên các chân WKUP, hoặc một báo động RTC xay ra

Den LED LD1 PWR: Red LED chi ra hé théng duoc cung cap nguén LD2 COM: Cho biết thông tin về hệ thống với các trạng thái: Nhấp nháy đỏ chậm: nguồn tr USB trước khi khởi tạo; Nhấp nháy màu đỏ nhanh: Sau khi kết nối thành công lần đầu

tiên giữa PC và Kit STLINK/V2

LED sang mau do: khi khởi tạo siữa PC và ST-LINK/V2 là thành công và

kết thúc LED sáng màu xanh lá cây: Sau khi khởi tạo truyền thông thành công với

Kít LED nhấp nháy đỏ/xanh (Red/Green): Trong suốt quá trình truyền thông với Kít LED sáng màu đó: truyền thông kết thúc và thành công LED sáng màu vàng: Truyền thông gặp lỗi

LD3 màu xanh lá cây: LED người dùng kết nối tới chân PC9 cua kit

STM32F030R8T6 LD4: LED màu xanh da trời kết nối tới chân PC8 của kít

STM32F030R8T6

Các nút ấn Nút nhắn BI USER: nút nhắn kết nối với I/O cua STM32F051R8T6 Nut

nhân B2 Reset: Nút khởi động lại STM32F051R§T6

Chuyén đối tương tự sang số (ADC) Trén kit co b6 chuyén dsi ADC 12-bit dé chuyén dsi tương tự thành tín hiệu

số (nhiệt độ cảm biến, điện áp tham chiếu, đo điện áp VBAT) kênh và thực hiện

chuyển đsi trong sinple-shot hoặc chế độ quét Trone chế độ quét, tự động chuyển dsi duoc thực hiện trên một nhóm được lựa chọn đầu vào tương tự ADC có thé

được phục vụ bởi các bộ điều khiển DMA Một tính năng giám sát tương tự cho

phép giám sát rất chính xác của điện áp chuyên đsi một, một số hoặc tất cả các kênh

được lựa chọn Một ngắt được tạo ra khi điện áp chuyên đsi nằm ngoài ngưỡng lập

trình Cảm biến nhiệt độ (TS) tạo ra một VSENSE điện áp thay đsi tuyến tính với

24

Trang 27

nhiệt độ Cảm biến nhiệt độ là nội bộ kết nối với các kênh đầu vào ADC_INI16 được

sử dụng để chuyền đsi điện ap đầu ra cảm biến thành một 214 trị kỹ thuật SỐ

Cảm biến cung cấp tuyến tính tốt nhưng nó phải được hiệu chỉnh để có được

độ chính xác tsng thể tốt của phép đo nhiệt độ Như bủ đắp của cảm biến nhiệt độ thay đsi từ chíp chip đo quá trình biến đsi, cảm biến nhiệt độ bên trong chưa được hiệu chỉnh phủ hợp cho các ứng dụng phát hiện những thay ổsi nhiệt độ Để cải thiện độ chính xác của phép đo cảm biến nhiệt độ, mỗi thiết bị là máy hiệu chuẩn bởi ST Các đữ liệu hiệu chuẩn được cảm biến nhiệt độ được lưu trữ bởi ST trong khu vực bộ nhớ hệ thống, có thé truy cập trong chế độ chỉ đọc

Điện áp tham chiếu nội bộ (VREFINT) cung cấp một sn dinh (bandgap) dién

ap dau ra cho ADC va Comparators VREFINT la n6i bd kết nối với các kênh đầu vào ADC_INI7 Điện áp chính xác của VREFINT được đo riêng cho mỗi phần của

ST trong thu nghiệm sản xuất và lưu trữ trong các khu vực bộ nhớ hệ thống Nó có thê truy cập ở chế độ chỉ đọc VBAT pin giám sát nguồn điện, tính năng phần cứng nhúng này cho phép các ứng dụng để đo điện áp VBAT pin bằng cách sử dụng ADC_INI8 kênh ADC nội bộ Khi điện áp VBAT có thể cao hơn VDDA, và do đó bên ngoài phạm vi đầu vào ADC, pm VBAT là nội bộ kết nối với một cầu chia hết cho 2 Kết quả là, giá trị kỹ thuật số chuyên dsi la một nửa điện áp VBAT

Chuyén đỗi số sang tương tự DAC

Trên kít có 12-bít đệm kênh DAC có thể được sử dụng để chuyền dsi tin hiệu số thành tín hiệu điện áp tương tự Cấu trúc thiết kế được lựa chọn bao gồm dây điện trở và bộ khuếch đại tích hợp, giao diện kỹ thuật số hỗ trợ các tính năng sau: Chuyên đsi dữ liệu ngay trong chế độ 12-bit; Khả năng khả năng cập nhật đồng bộ; Chuyển đsi DMA ngoài; Đầu vào kích hoạt DAC được sử dụng trong thiết

bị DAC được kích hoạt thông qua các kết quả đầu ra hẹn giờ kích hoạt và giao diện DAC được tạo yêu cầu DMA riêng của nó

2.2.3 Các thông số kỹ thuật trên kit STM32F0 Discovery

Thông số kỹ thuật trên kít đóng vai trò rất quan cho người lập trình và thiết

kế các dự án trên kít STM32F0 Chiều rộng kít là 53.34 mm Chiều dải kít là 88.9

mm Khoảng cách giữa các chân là 2.54 mm

25

Ngày đăng: 11/02/2025, 16:20

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN