Tải bản đầy đủ (.pdf) (36 trang)

THIẾT KẾ MẠCH đo NỒNG độ CỒN HƠI THỞ SỬ DỤNG VI ĐIỀU KHIỂN ARM

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.31 MB, 36 trang )

ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ
---------------o0o---------------

ĐỒ ÁN TIẾN HÀNH THỰC NGHIỆM

THIẾT KẾ MẠCH ĐO NỒNG ĐỘ CỒN HƠI THỞ
SỬ DỤNG VI ĐIỀU KHIỂN ARM

GVHD: TS. Trương Quang Vinh
SVTH: Bùi Thế Ngọc
MSSV: 1712341

TP. HỒ CHÍ MINH, THÁNG 6 NĂM 2021


Lời cảm ơn

GVHD: TS. Trương Quang Vinh

LỜI CẢM ƠN
Em xin gửi lời cảm ơn chân thành đến thầy Trương Quang Vinh – GVHD của em trong
môn học “Đồ án tiến hành thực nghiệm” đã trang bị cho em những kiến thức, kỹ năng cơ bản
cần có để hồn thành đề tài “Đo nồng độ cồn khí thở sử dụng vi điều khiển ARM”.
Tuy trong quá trình thực hiện đề tài, do kiến thức chuyên ngành còn hạn chế nên em
vẫn cịn nhiều thiếu sót khi tìm hiểu, đánh giá và trình bày về đề tài. Rất mong nhận được sự
quan tâm, góp ý của các thầy/ cơ giảng viên bộ môn để đề tải của em được đầy đủ và hồn chỉnh
hơn.
Em xin chân thành cảm ơn.



Tp. Hồ Chí Minh, ngày 21 tháng 7 năm 2021

Sinh viên
Bùi Thế Ngọc

i


Đồ án tiến hành thực nghiệm

GVHD: TS. Trương Quang Vinh

TÓM TẮT ĐỒ ÁN
Đồ án này trình bày về thiết kế mạch đo nồng độ cồn khí thở sử dụng vi điều khiển
ARM. Mạch sử dụng vi điều khiển STM32F103C8T6 là bộ xử lý chính. Sử dụng cảm biến đo
nồng độ cồn MQ-3 để đo nồng độ cồn trong khí thở. Cảm biến trả về tín hiệu analog nên sử
dụng cổng ADC 12bit của vi điều khiển. Vì chân ADC của vi điều khiển chỉ chịu được điện áp
tối đa 3.3V nên sử dụng hai điện trở làm bộ chia đôi áp. Độ chính xác của cảm biến MQ-3 chưa
được tốt, tuy nhiên về mặt định tính thì kết quả cũng tương đối tin cạy. Tốc độ còn thấp chỉ 12 lần/phút. Chưa thể hiệu chỉnh lại kết quả phụ thuộc vào nhiệt độ, độ ẩm. Sử dụng buzzer làm
để thông báo. Sử dụng chống rung nút nhấn bằng cách xóa cờ chờ interrupt tránh trường hợp
bấm một lần mà đo nhiều lần do cơ chế xử lý chờ ngắt của vi điều khiển. Cuối cùng để hiển thị
kết quả đo nồng độ cồn và mức vi phạm từ 0-3 sử dụng màn hình LCD 1602 theo chuẩn I2C.

ii


Đồ án tiến hành thực nghiệm

GVHD: TS. Trương Quang Vinh


MỤC LỤC
1.

2.

GIỚI THIỆU ....................................................................................................................................1
1.1

Tổng quan.................................................................................................................................1

1.2

Nhiệm vụ đề tài ........................................................................................................................1

LÝ THUYẾT ...................................................................................................................................1
2.1

Cảm biến nồng độ cồn MQ-3 ...................................................................................................1

2.2

Cảm biến nhiệt độ LM35 .........................................................................................................4

2.3

Bộ hiển thị LCD 16x2 ..............................................................................................................4

a.


Thông số kỹ thuật .....................................................................................................................4

b.

Nguyên lý hoạt động ................................................................................................................5

2.4

3.

Vi điều khiển và KIT STM32F103C8T6 .................................................................................8

a.

Thông số kỹ thuật .....................................................................................................................8

b.

Nguyên lý ..................................................................................................................................9

THIẾT KẾ VÀ THỰC HIỆN PHẦN CỨNG ............................................................................... 22
3.1

Yêu cầu thiết kế ..................................................................................................................... 22

3.2

Phân tích thiết kế ................................................................................................................... 23

3.3


Sơ đồ khối chi tiết ................................................................................................................. 23

3.4

Sơ đồ mạch chi tiết ................................................................................................................ 24

3.5

Sơ đồ giải thuật ..................................................................................................................... 25

4.

KẾT QUẢ THỰC HIỆN ............................................................................................................... 27

5.

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .................................................................................... 28

6.

5.1

Kết luận ................................................................................................................................. 28

5.2

Hướng phát triển ................................................................................................................... 28

TÀI LIỆU THAM KHẢO ............................................................................................................. 29


iii


Đồ án tiến hành thực nghiệm

GVHD: TS. Trương Quang Vinh

DANH SÁCH HÌNH MINH HỌA
Figure 1. Thơng số kỹ thuật cảm biến MQ3 .............................................................................................2
Figure 2. Sơ đồ nguyên lý module cảm biến MQ3 ...................................................................................2
Figure 3. Đặc tuyến độ nhạy của MQ3[1] ..................................................................................................2
Figure 4. Đặc tuyến VRL - C tại RL=4.7k Ω ...............................................................................................3
Figure 5. Sự ảnh hưởng của nhiệt độ và độ ẩm với MQ3 ........................................................................4
Figure 6. LM35 [2] ......................................................................................................................................4
Figure 7. Đặc tuyến nhiệt độ - điện áp [2] .................................................................................................4
Figure 8. LCD 1602....................................................................................................................................5
Figure 9. Sơ đồ khối HD44780 [3] ..............................................................................................................6
Figure 10. Chức năng chân RS và R/W theo mục đích sử dụng ...............................................................7
Figure 11. Address Counter Update [3] .....................................................................................................7
Figure 12. KIT STM32F103C8T6 Blue-Pil[4]................................................................................................8
Figure 13. Sơ đồ khối STM32F103xx[5] .....................................................................................................9
Figure 14. Clock Tree ............................................................................................................................. 10
Figure 15. Clock control Register (RCC_CR)........................................................................................... 10
Figure 16. Clock configuration register (RCC_CFGR) ............................................................................. 11
Figure 17. Clock interrupt register (RCC_CIR) ....................................................................................... 11
Figure 18. Basic structure of a standard I/O port bit ............................................................................ 11
Figure 19. Port bit configuration table .................................................................................................. 12
Figure 20.Ouput MODE bits .................................................................................................................. 12
Figure 21. NVIC of Cortex-M processor [6] ............................................................................................. 13

Figure 22. Interrupt mask register (EXTI_IMR)...................................................................................... 14
Figure 23. Rising trigger selection register (EXTI_RTSR) ....................................................................... 14
Figure 24. Falling trigger selection register (EXTI_FTSR) ....................................................................... 14
Figure 25. Software interrupt event register (EXTI_SWIER) ................................................................. 14

iv


Đồ án tiến hành thực nghiệm

GVHD: TS. Trương Quang Vinh

Figure 26. Mức độ ngắt ưu tiên của NVIC [7] ......................................................................................... 15
Figure 27. Timing Diagram .................................................................................................................... 15
Figure 28. ADC Status register (ADC_SR) .............................................................................................. 16
Figure 29. ADC Control Register 1 (ADC_CR1) ...................................................................................... 16
Figure 30. ADC Control Register 2 (ADC_CR2) ...................................................................................... 16
Figure 31. ADC sample time register 2 (ADC_SMPR2) .......................................................................... 17
Figure 32. DMA block diagram in connectivity line devices.................................................................. 18
Figure 33. Summary of DMA1 requests for each channel .................................................................... 18
Figure 34. DMA interrupt status register (DMA_ISR)............................................................................ 19
Figure 35. DMA channel x configuration register (DMA_CCRx) ............................................................ 19
Figure 36. DMA channel x number of data register (DMA_CNDTRx) ................................................... 19
Figure 37. DMA channel x peripheral address register (DMA_CPARx) ................................................. 19
Figure 38. DMA channel x memory address register (DMA_CMARx) ................................................... 19
Figure 39. TIMx control register 1 (TMx_CR1) ...................................................................................... 20
Figure 40. TIMx status register (TIMx_SR) ............................................................................................ 20
Figure 41. TIMx counter (TIMx_CNT) ................................................................................................... 20
Figure 42. TIMx prescaler (TIMx_PSC) .................................................................................................. 20
Figure 43. TIMx auto-reload register (TIMx_ARR) ................................................................................ 21

Figure 44. I2C bus protocol ................................................................................................................... 21
Figure 45. I2C control register 1 (I2C_CR1) ........................................................................................... 21
Figure 46. I2C control register (I2C_CR2) .............................................................................................. 22
Figure 47. I2C own address register 1 (I2C_OAR1) ............................................................................... 22
Figure 48. I2C data register (I2C_DR) .................................................................................................... 22
Figure 49. I2C status register 1 (I2C_SR1) ............................................................................................. 22
Figure 50. I2C Clock control register (I2C_CCR) .................................................................................... 22
Figure 51. Sơ đồ khối chi tiết................................................................................................................. 23
Figure 52. Sơ đồ mạch chi tiết............................................................................................................... 24

v


Đồ án tiến hành thực nghiệm

GVHD: TS. Trương Quang Vinh

Figure 53. Lưu đồ giải thuật cho vi điều khiển ...................................................................................... 25
Figure 54. Lưu đồ xử lý ADC .................................................................................................................. 26
Figure 55. Hình vẽ giá trị sensor, Max, Min........................................................................................... 27
Figure 56. Kết quả thi công ................................................................................................................... 27

vi


Đồ án tiến hành thực nghiệm

GVHD: TS. Trương Quang Vinh

1. GIỚI THIỆU

1.1 Tổng quan
Hiện nay, tỉ lệ sử dụng rượu bia tham gia giao thơng vẫn cịn tồn tại và việc đó gây
nguy hiểm cho người tham gia giao thơng khác và phạt lỗi vi phạm cũng nặng hơn. Vậy nên
nhu cầu kiểm nồng độ cồn trước khi lái xe của người điều khiển phương tiện giao thông cũng
tăng cao hơn. Từ đó dẫn đến mong muốn thiết kế được mạch đo được nồng độ cồn trong khí
thở.

1.2 Nhiệm vụ đề tài
Nhiệm vụ của đề tài là đo được nồng độ cồn trong khí thở sử dụng vi điều khiển
ARM. Để thực hiện được nhiệm vụ trên em đã đặt ra các nhiệm vụ nhỏ sau:
Nội dung 1: Tìm hiểu về đề tài.
Nội dung 2: Tìm hiểu về cảm biến đo nồng độ cồn, nhiệt độ.
Nội dung 3: Tìm hiểu về bộ hiển thị kết quả.
Nội dung 4: Tìm hiểu về dịng vi điều khiển ARM.
Nội dung 5: Tìm hiểu về giao tiếp giữa vi điểu khiển với thiết bị ngoại vi.
Nội dung 6: Thiết kế và thực hiện phần cứng.
Nội dung 7: Hiệu chỉnh, chuẩn độ kết quả dựa trên đánh giá kết quả.
Nội dung 8: Viết báo cáo tổng hợp.

2. LÝ THUYẾT
2.1 Cảm biến nồng độ cồn MQ-3
-

Cảm biến MQ3 hoạt động dựa trên nguyên tắc điện trở thay đổi do C2H5OH bay hơi
tác động lên lớp SnO2 phủ trong cảm biến. Ứng dụng đo nồng độ cồn trong khơng
khí, hơi thở, và có thời gian đáp ứng nhanh, độ nhạy cao, hoạt động ổn định trong thời
gian dài.

1



Đồ án tiến hành thực nghiệm

GVHD: TS. Trương Quang Vinh

Figure 1. Thông số kỹ thuật cảm biến MQ3

Figure 2. Sơ đồ nguyên lý module cảm biến MQ3

-

Nhiệm vụ yêu cầu cần đo được
giá trị nồng độ cồn nên cần xác
định được giá trị của Rs/R0 từ
đó suy ra giá trị nồng độ cồn
dựa vào Figure 3.

-

Vì giá trị R0 khơng đổi nên
cần tính giá trị R0 cịn Rs có
thể tính được thông qua giá trị
analog đo được.
Figure 3. Đặc tuyến độ nhạy của MQ3[1]

2


Đồ án tiến hành thực nghiệm
-


GVHD: TS. Trương Quang Vinh

Cũng dựa vào đồ thị, ở khơng khí Rs/R0=1. Vậy nên chỉ cần tính được Rs trong
khơng khí ta tính được R0 với cơng thức:

-

-

𝑅𝑅0 = 𝑅𝑅𝑅𝑅

(1)

𝑉𝑉𝑉𝑉𝑉𝑉. 𝑅𝑅2
− 𝑅𝑅2
𝑉𝑉0

(2)

Rs được tính bằng theo công thức chia áp:
𝑅𝑅𝑅𝑅 =

Để xác định được giá trị nồng độ cồn cần phải tuyến tính hóa đường đặc tuyến
Rs/Ro – C. Đế chính xác hơn, sẽ tuyến tính hóa trên từng hai điểm của đồ thị.

-

Một cách khác, nhà sản xuất đã tiến hành thực nghiệm với RL=R2=4.7k Ω . Đo VRL
từ đồ thị tìm được giá trị của nồng độ cồn.


Figure 4. Đặc tuyến VRL - C tại RL=4.7k Ω

-

Tuyến tính hóa Figure 4 thành ba đoạn thẳng:
: y
+ Nếu 2.3 ≤ VRL ≤ 3.5=

475
1585
.
x−
6
12

+ Nếu 3.5 < VRL ≤ 3.9=
: y 475 x − 1517 .
+ Nếu VRL > 3.9 :
mg / l= C (%) ×

Với y=C (ppm), x=VRL (V).

=
y 550 x − 1810 .

46.1
273
1013
×

×
= C ( ppm) ×192 ×10−5 .
22.4 273 + 20 1013

(3)

3


Đồ án tiến hành thực nghiệm
-

GVHD: TS. Trương Quang Vinh

Kết quả đo được còn
phụ thuộc vào nhiệt độ
và độ ẩm của môi
trường đo. Figure 3 là
đặc tuyến ở điều kiện
nhiệt độ 20oC và độ ẩm
65%. Figure 5 là độ thị
thể hiện sự phụ thuộc
của cảm biến vào độ ẩm
và nhiệt độ. Nên cần
thực nghiệm để hiệu
chỉnh.

Figure 5. Sự ảnh hưởng của nhiệt độ và độ ẩm với MQ3

2.2 Cảm biến nhiệt độ LM35

-

Cảm biến nhiệt độ LM35 thuộc loại cảm biến tương tự, là cảm biến hoạt động chính
xác hơn so với điện trở nhiệt. Cảm biến này tạo ra điện áp có đầu ra cao hơn các cặp
nhiệt và có thể khơng cần điện áp đầu ra được khuếch đại. LM35 có điện áp đầu ra
tuyến tính.

-

Điện áp hoạt động: 4-30V.

-

Nhiệt độ hoạt động: -55 oC đến +150oC.

Figure 6. LM35 [2]

Figure 7. Đặc tuyến nhiệt độ - điện áp [2]

2.3 Bộ hiển thị LCD 16x2
a. Thông số kỹ thuật
-

LCD được sử dụng trong rất nhiều các ứng dụng của vi điều khiển. Có nhiều ưu điểm
hơn các dạng hiển thị khác, khả năng hiện thị ký tự đa dạng, trực quan, giá thành rẻ…
4


Đồ án tiến hành thực nghiệm


GVHD: TS. Trương Quang Vinh

-

Điện áp hoạt động: 5V.

-

Hiển thị tối đa 16 ký tự trên 2 dịng.

b. Ngun lý hoạt động


Sơ đồ chân

-

Khi sản xuất LCD nhà sản xuất đã tích hợp HD44780 trong lớp và và chỉ đưa những
chân cần thiết ra bên ngoài.

Figure 8. LCD 1602

-

VSS: Chân nối đất cho LCD.

-

VDD: Chân cấp nguồn dương Vcc=5V.


-

VEE: Điều chỉnh độ tương phản.

-

RS: Chọn thanh ghi.
+ Rs=0: Bus D0-D7 sẽ nối với thanh ghi lệnh IR (ở chế độ ghi) hoặc nối với bộ đếm
địa chỉ của LCD (ở chế độ đọc).
+ Rs=1: Bus D0-D7 sẽ nối với thanh ghi dữ liệu DR bên trong LCD.

-

R/W: Chọn chế độ đọc hay ghi. R/W=0, write và ngược lại.

-

E: Chân cho phép. Sau khi tín hiệu đặt lên bus D0-D7, các lệnh chỉ được chấp nhận
khi có một xung cho phép ở chân E.
+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào thanh ghi khi phát hiện một
xuống lên ở chân E.
+ Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra D0-D7 khi phát hiện một cạnh lên ở
chân E và được LCD giữ ở bus đến khi nào chân E xuống mức thấp.

5


Đồ án tiến hành thực nghiệm
-


GVHD: TS. Trương Quang Vinh

D0-D7: Bus dữ liệu dùng trao đổi thông tin với MPU. Có 2 chế độ sử dụng đường
bus này:
+ Chế độ 8 bit: Dữ liệu truyền trên cả 8 đường , D7 là MSB.
+ Chế độ 4 bit: Dữ liệu được truyền trên 4 đường D4-D7, D7 là MSB.

-

LEDA và LEDK: A và C của LED nền.

Figure 9. Sơ đồ khối HD44780 [3]



Các thanh ghi: hai thanh ghi 8 bits quan trọng là IR và DR.

-

Thanh ghi IR: Nạp địa chỉ lệnh vào thanh ghi để điều khiển LCD.

-

Thanh ghi DR: Khi MPU ghi thông tin vào DR, mạch nội bên trong chip sẽ tự động
ghi thông tin này vào DDRAM hoặc CGRAM. Hoặc ở chế độ đọc thì dữ liệu từ RAM
nội của HDD44780 sẽ được chuyển ra DR để truyền cho MPU.
6


Đồ án tiến hành thực nghiệm


GVHD: TS. Trương Quang Vinh

Figure 10. Chức năng chân RS và R/W theo mục đích sử dụng



Cờ báo bận BF (Busy Flag)

-

Khi đang thực thi các hoạt động bên trong chip, LCD bỏ qua mọi giao tiếp với bên
ngồi và bật cờ BF thơng qua chân D7 khi có thiết lập RS=0, R/W=1 để báo cho
MPU biết. Khi xong việc, cờ BF đặt lại mức 0.



Bộ đếm địa chỉ AC (Address Counter)

-

Thanh ghi IR khơng trực tiếp kết nối với vùng RAM mà thông qua bộ đếm địa chỉ
AC. Bộ đếm này nối với hai vùng RAM theo kiểu rẽ nhánh. Khi một địa chỉ lệnh
được nạp vào thanh ghi IR, thông tin được nối trực tiếp cho 2 vùng Ram nhưng việc
chọn lựa vùng RAM tương tác đã được bao hàm trong mã lệnh.

-

Sau khi ghi vào (đọc từ) RAM, bộ đếm AC tự động tăng lên (giảm đi) 1 đơn vị và nội
dung của AC được xuất ra cho MPU thông qua DB0-DB6 khi có thiết lập RS=0 và

R/W=1.

-

Thời gian cập nhật AC bị delay tADD sau khi BF tắt.

Figure 11. Address Counter Update [3]



Vùng RAM hiển thị DDRAM (Display Data RAM)

-

Đây là vùng RAM dùng để hiển thị (80 ký tự, 80 x 8 bits), nghĩa là ứng với một địa
chỉ của RAM là một ơ kí tự trên màn hình và khi ghi vào vùng RAM này một mã 8
bits, LCD sẽ hiển thị tại vị trí tương ứng trên màn hình một kí tự có mã 8 bits.
7


Đồ án tiến hành thực nghiệm

GVHD: TS. Trương Quang Vinh

-

Địa chỉ DDRAM được đặt trong AC với mã hex.




Vùng ROM chứa kí tự CGROM (Character Generator ROM)

-

Chứa các mẫu kí tự loại 5x8 hoặc 5x10 điểm ảnh/kí tự, định địa chỉ bằng 8 bit. Nó chỉ
có 208 mẫu kí tự 5x8 và 32 mẫu kí tự kiểu 5x10 (tổng cộng là 240 thay vì 28=256
mẫu ký tự).



Vùng RAM chứa kí tự đồ họa CGRAM (Character Generator RAM)

-

Nhà sản xuất dành vùng có địa chỉ byte cao là 0000 để người dùng có thể tạo các mẫu
kí tự đồ họa riêng. Chỉ có thể tạo 8 kí tự loại 5x8 hoặc 4 kí tự loại 5x10.

2.4 Vi điều khiển và KIT STM32F103C8T6
a. Thông số kỹ thuật
-

Sử dụng core ARM 32-bit Cortex M3 với clock max là 72Mhz.

-

Bộ nhớ: 64kb Flash và 20kb SRAM.

-

Thạch anh ngoài 32,768 kHz sử dụng cho RTC.


-

2 bộ ADC 12-bit với tối đa 16 kênh và có cảm biến nhiệt độ nội.

-

Có 7 timer: 3 timer 16-bit cho IC/OC/PWM, 1 timer 16-bit điều khiển động cơ, 2
watdog timer, 1 sysTick timer 24-bit.

-

9 kênh giao tiếp: 2-I2C, 3-USART, 2-SPI, 1 CAN interface, USB 2.0 full-speed.

Figure 12. KIT STM32F103C8T6 Blue-Pill[4]

8


Đồ án tiến hành thực nghiệm

GVHD: TS. Trương Quang Vinh

b. Nguyên lý

Figure 13. Sơ đồ khối STM32F103xx[5]



Nguồn clock


-

Clock hệ thống có thể cung cấp bởi ba nguồn: HSI (8MHz), HSE (4-16MHz), PLL.

-

Ngồi ra con có hai nguồn phụ: LSI (40KHz) để cung cấp cho Independent
Watchdog, LSE (32.768KHz) cung cấp cho RTC – Real Time Clock.

-

Tần số Clock hoạt động của 3 Bus:
+ AHB (Advanced High-Speed Buses): Bus kết nối hệ thống, FMax=72MHz.
9


Đồ án tiến hành thực nghiệm

GVHD: TS. Trương Quang Vinh

+ APB1: FMax=36MHz, APB2: FMax=72MHz.

Figure 14. Clock Tree

-

Một số thanh ghi:

Figure 15. Clock control Register (RCC_CR)


10


Đồ án tiến hành thực nghiệm

GVHD: TS. Trương Quang Vinh

Figure 16. Clock configuration register (RCC_CFGR)

Figure 17. Clock interrupt register (RCC_CIR)



GPIO

-

Mỗi cổng GPIO có: 2 32-bit configuration registers (GPIOx_CRL, GPIOx_CRH), 2
32-bit data registers (GPIOx_IDR, GPIOx_ODR), một 32-bit set/reset register
(GPIOx_BSRR), một 16-bit reset register (GPIOx_BRR) và một 32-bit locking
register (GPIOx_LCKR).

Figure 18. Basic structure of a standard I/O port bit

11


Đồ án tiến hành thực nghiệm
-


GVHD: TS. Trương Quang Vinh

Mode GPIO:
+ Input floating: ngõ vào và để nổi.
+ Input pull-up: ngõ vào và có trở kéo lên nguồn.
+ Input pull-down: ngõ vào và có trở kéo xuống GND.
+ Analog: Analog sử dụng cho ADC hoặc DAC.
+ Ouput open-drain: ngõ ra, khi Ouput control=0 thì N-MOS dẫn, chân I/O sẽ nối
VSS, ngược lại P-MOS và N-MOS đều không dẫn, I/O để nổi.
+ Ouput push-pull: ngõ ra, khi Ouput control=0 N-MOS dẫn, chân I/O sẽ nối VSS,
ngược lại P-MOS dẫn, I/O nối VDD.
+ Alternate function push-pull: vừa là ngõ ra vừa là ngõ vào, khơng có trở kéo lên và
kéo xuống ở input, chức năng ouput giống Output push-pull.
+ Alternate function open-drain: vừa là ngõ ra vừa là ngõ vào, khơng có trở kéo lên
và kéo xuống ở input, chức năng ouput giống Output open-drain.

Figure 19. Port bit configuration table

Figure 20.Ouput MODE bits

12


Đồ án tiến hành thực nghiệm


GVHD: TS. Trương Quang Vinh

Interrupts and events


Figure 21. NVIC of Cortex-M processor [6]

-

Nested vectored interrupt controller (NVIC):
+ 68 vector ngắt.
+ 16 mức ưu tiên có thể lập trình được.
+ Độ trễ thấp (xảy ra ngắt cực kì nhanh).
+ Có quản lí năng lượng cho vector ngắt.
+ Có các thanh ghi điều khiển q trình ngắt.

-

Tất cả interrupts bao gồm cả core exceptions đều được quản lý bởi NVIC. Mỗi EXTI
có thể lập trình chọn loại event/interrupt, chọn cạnh lên, cạnh xuống hay cả hai và
mức ưu tiên ngắt.

-

Các tính năng của ngắt ngồi:
+Kích hoạt độc lập và mặt nạ cho mỗi line sự kiện/ngắt.
+ Có bit trạng thái riêng cho mỗi line ngắt.
+ Có thể có tối đa 20 sự kiện/ ngắt.
+ Kiểm tra tín hiệu ngồi có độ rộng xung nhỏ hơn clock trên APB2.

-

Px[0:4] có line ngắt riêng biệt là EXTI[0:4].


-

Px[5:9] và Px[10:15] chỉ có một line ngắt chung là EXTI9_5 và EXTI15_10.

-

Một số thanh ghi:
+ EXTI_IMR: cho phép ngắt trên line tương ứng.

13


Đồ án tiến hành thực nghiệm

GVHD: TS. Trương Quang Vinh

Figure 22. Interrupt mask register (EXTI_IMR)

+ EXTI_RTSR: chọn sườn cạnh lên làm tín hiệu ngắt.

Figure 23. Rising trigger selection register (EXTI_RTSR)

+ EXTI_FTSR: chọn sườn cạnh xuống làm tín hiệu ngắt

Figure 24. Falling trigger selection register (EXTI_FTSR)

+ EXTI_SWIER: cho phép mô phỏng ngắt ngoài mềm.

Figure 25. Software interrupt event register (EXTI_SWIER)


+ EXTI_PR: chờ xử lý ngắt, khi có yêu cầu ngắt được tạo ra trên một line thì bit tương ứng
của thanh ghi sẽ được bật lên cho đến khi ngắt này được xử lý.

14


Đồ án tiến hành thực nghiệm

GVHD: TS. Trương Quang Vinh

Figure 26. Mức độ ngắt ưu tiên của NVIC [7]



ADC

-

Tính năng:
+ Độ phân giải 12-bit.
+ Các ngắt hỗ trợ như End conversion, End of Injected Conversion và Analog
Watchdog Event.
+ Single mode hoặc Continuous mode.
+ Tự động calib và có thẻ điều khiển hoạt động ADC bằng xung Trigger.
+ Chế độ không liên tục, chế độ kép.
+ Thời gian chuyển đổi ADC: 1us ở 56 MHz (1.17us ở 72MHz).
+ Điện áp cung cáp ADC: 2.4 – 3.6V
+ Có DMA hỗ trợ.

-


ADC clock: ADCCLK được cung cấp bởi PCLK2 nên ADCCLK < 14MHz.

-

ADC cần một thời gian ổn định của tSTAB trước khi nó bắt đầu chuyển đổi chính xác.
Sau khi bắt đẩu chuyển đổi ADC và sau 14 chu kỳ clock, cờ EOC được thiết lập và
Data Register chứa dữ liệu kết quả chuyển đổi.

Figure 27. Timing Diagram

15


Đồ án tiến hành thực nghiệm
-

GVHD: TS. Trương Quang Vinh

Analog watchdog: bit trạng thái giám sát analog AWD được đặt nếu giá trị chuyển đổi
thấp hơn ngưỡng dưới hoặc cao hơn ngưỡng trên.

-

Hiệu chuẩn ADC: chế độ hiệu chuẩn được tích hợp sẵn, làm giảm sai số. Để hiệu
chuẩn bằng cách set bit CAL trong ADC_CR2. Hiệu chuẩn xong CAL được set lại
bằng phần cứng và có thể ADC bình thường. Mã hiệu chuẩn được đặt trong ADC_DR

-


DMA: vì dữ liệu ADC được lưu vào một thanh ghi duy nhất ADC_DR nên cần dùng
DMA để tránh mất dữ liệu. Chỉ khi kết thúc chuyển đổi mới tạo ra yêu cầu DMA.
Cho phép chuyển dữ liệu từ ADC_DR đến một vị trí đích đã chọn.

-

Một số thanh ghi:
+ ADC_SR: Chứa các cờ báo trạng thái. STRT: Channel đã bắt đầu chuyển đổi ADC;
JSTRT: channel đã bắt ADC khi có tín hiệu bên ngồi; JOEC: Kết thúc ADC khi có
tín hiệu bên ngoài; EOC: kết thúc ADC; AWD: Analog Watchdog xảy ra.

Figure 28. ADC Status register (ADC_SR)

+ ADC_CR1: cho phép analog watchdog, interrupt, dual mode, scan mode.

Figure 29. ADC Control Register 1 (ADC_CR1)

+ADC_CR2: Điều khiển các quá trình chuyển đổi ADC

Figure 30. ADC Control Register 2 (ADC_CR2)

16


Đồ án tiến hành thực nghiệm

GVHD: TS. Trương Quang Vinh

+ADC_SMPR2: thời gian lấy mẫu. SMPX[2:0]=000-100 tương ứng với 1.5, 7.5,
13.5, 28.5, 41.5, 55.5, 71.5, 239.5 cyles.

Tconv = Sampling time +12.5 cycles

(4)

VD: ADCCLK = 14MHz và thời gian lấy mẫu 1.5 cycles. Vậy Tconv = 1.5 + 12.5 =
14 cycles = 1us.

Figure 31. ADC sample time register 2 (ADC_SMPR2)



DMA

-

Tính năng:
+ 7 channel của kênh DMA1 có thể được cấu hình riêng biệt.
+ Môi channel được kết nối để dành riêng cho tín hiệu DMA từ các thiết bị ngoại vi,
hay tín hiệu nội bên trong MCU.
+ Có 4 mức ưu tiên có thể lập trình cho mỗi channel
+ Hỗ trợ kích thước data được sử dụng là 1 byte, 2-byte (half word) và 4-byte (word).
+ Hỗ trợ việc lặp lại liên tục data.
+ 3 ngắt sự kiện (DMA Half Transfer, DMA Transfer complete và DMA Transfer
Error).
+ Memory-to-memory transfer.
+ Peripheral-to-memory and memory-to-peripheral, and peripheral-to-peripheral
transfers.
+ Có quyền truy cập tới Flash, SRAM, APB1, APB2, AHB.

17



Đồ án tiến hành thực nghiệm

GVHD: TS. Trương Quang Vinh

Figure 32. DMA block diagram in connectivity line devices

-

Channel của DMA1 phụ thuộc vào chức năng được sử dụng.

Figure 33. Summary of DMA1 requests for each channel

18


×