Đồ án 3
CHƯƠNG
GVHD: Th.S Phạm Hữu Lý
I:
TỔNG
QUAN
VỀ
KIT
TIVA
C
TM4C123G
I. Tổng quan:
1. Kit Tiva C TM4C123G:
SVTH: Trần Quang Minh
Trang 1
Đồ án 3
GVHD: Th.S Phạm Hữu Lý
2. Vi điều khiển TM4C123GH6PM:
- Tiva C TM4C123GH6PM là một vi điều khiển 32 bit thuộc dòng
ARM Cortex-M4 based, hoạt động với tần số 80 MHz.
- Flash 256 kB, SRAM 32 kB, EEPROM 2 kB.
- ADC 12 bit, 6 timer 64 bit và 6 timer 32 bit, module PWM và nhiều
thiết bị ngoại vi khác.
CHƯƠNG II: TỔNG QUAN VỀ CCS
I. Tổng quan:
- Code Composer Studio là một mơi trường phát triển tích hợp hỗ trợ danh
mục Vi điều khiển Vi xử lý và Bộ xử lý nhúng của TI.
- Code Composer Studio bao gồm một bộ công cụ được sử dụng để phát
triển và Debug các ứng dụng nhúng. Nó bao gồm trình biên dịch C/C++ ,
trình soạn thảo mã nguồn, mơi trường xây dựng Project, trình Debug và
nhiều tính năng khác.
II. Các bước tạo Project trên CCS và nạp Code vào Kit:
1. Các bước tạo Project trên CCS:
+ Bước 1: Khởi động chương trình CCS
SVTH: Trần Quang Minh
Trang 2
Đồ án 3
GVHD: Th.S Phạm Hữu Lý
- Kích đúp vào biểu tưởng Code Composer Studio v7
- Giao diện khởi động chương trình CCS v7
+ Bước 2: Chọn nơi làm việc (Workspace)
- Giao diện làm việc của CCS
SVTH: Trần Quang Minh
Trang 3
Đồ án 3
GVHD: Th.S Phạm Hữu Lý
+ Bước 3: Tạo một Project
- Kích chọn Project -> New CCS Project
+ Bước 4: Thiết lập Project
- Chọn Tiva TM4C123GH6M
SVTH: Trần Quang Minh
Trang 4
Đồ án 3
GVHD: Th.S Phạm Hữu Lý
- Connection: Stellaris In-Circuit Debug Interface
- Project name: Nhập tên Project
- Compiler version: Chọn TI v16.9.0.LTS
- Chọn Empty Project (with main.c)
+ Bước 5: Khai báo thư viện
- Kích chuột phải vào Project vừa tạo (PWM1) -> Chọn Show Build
Settings
SVTH: Trần Quang Minh
Trang 5
Đồ án 3
GVHD: Th.S Phạm Hữu Lý
- Chọn Include Options trong mục ARM Compiler -> Add -> OK.
- Xuất hiện hộp thoại Add directory path. Chọn Browse…
SVTH: Trần Quang Minh
Trang 6
Đồ án 3
GVHD: Th.S Phạm Hữu Lý
- Xuất hiện hộp thoại Browse For Folder. Chọn thư viện
TivaWare_C_Series-2.1.2.111
- Chọn File Search Path trong mục ARM Linker -> Add. Xuất hiện hộp
thoại Add File Path
SVTH: Trần Quang Minh
Trang 7
Đồ án 3
GVHD: Th.S Phạm Hữu Lý
- Xuất hiện hộp thoại Add directory path. Chọn Browse…
- Chọn đường dẫn thư viện driver (driverlib.lib)
SVTH: Trần Quang Minh
Trang 8
Đồ án 3
GVHD: Th.S Phạm Hữu Lý
3. Các bước nạp Code vào Kit:
+ Bước 1: Nhập Code vào file main.c
+ Bước 2: Kiểm tra lỗi cho đoạn Code
- Chọn Project -> Build All hoặc Ctrl+B
SVTH: Trần Quang Minh
Trang 9
Đồ án 3
GVHD: Th.S Phạm Hữu Lý
+ Bước 3: Nạp Code vào Kit
- Chọn Run -> Debug hoặc F11
SVTH: Trần Quang Minh
Trang 10
Đồ án 3
GVHD: Th.S Phạm Hữu Lý
+ Bước 4: Kết nối Kit vào cổng USB
- Chọn Run -> Debug hoặc F11
+ Bước 5: Chạy chương trình
- Chọn biểu tượng Resume hoặc F8
SVTH: Trần Quang Minh
Trang 11
Đồ án 3
GVHD: Th.S Phạm Hữu Lý
CHƯƠNG III : PWM (PULSE WIDTH MODULATOR)
I. Tổng quan về PWM:
1. Ý nghĩa bộ điều chế độ rộng xung (PWM):
- Thông thường từ một chân vi điều khiển chỉ xuất được hai mức tín
hiệu là +VCC và GND (0V). Nếu muốn xuất một giá trị điện áp khác thì
cần phải sử dụng bộ điều chế độ rộng xung.
- Bộ điều chế độ rộng xung (PWM) sẽ tạo ra một xung vng với thời
gian đóng (Ton) và thời gian ngắt (Toff) có thể thay đổi được bằng cách
thay đổi tỷ lệ
Ton
sẽ thay đổi giá trị điện áp trung bình của dạng sóng
T
ngõ ra.
V
+VC
C
Ton
Tof
f
t
GND
T
- Chu kỳ đóng ngắt: T = Ton + Toff
T
T
on
on
- Hệ số: γ= T = T + T
on
off
- Điện áp trung bình ngõ ra: V´ out = γ . Vcc
SVTH: Trần Quang Minh
Trang 12
Đồ án 3
GVHD: Th.S Phạm Hữu Lý
- Ta có:
0≤γ ≤ 1
0 ≤ V´ out ≤ V cc
´ out = 0 (V)
+ γ = 0 ⇔ Ton = 0 ⇔ Kích ngắt ⇒ V
´ out = VCC (V)
+ γ = 1 ⇔ Toff = 0 ⇔ Kích đóng ⇒ V
* Ví dụ: Điều chỉnh thời gian đóng bằng thời gian ngắt Ton = Toff .
- Hệ số: γ =
Ton 1
=
T
2
- Điện áp trung bình ngõ ra: V´ out = γ . Vcc =
V cc
(V)
2
4. Cấu trúc phần cứng:
- Vi điều khiển Tiva – TM4C123GH6PM có hai module PWM, mỗi
module PWM gồm bốn khối tạo xung PWM Generator và một khối
điều khiển.
- Mỗi khối tạo xung PWM có thể tạo:
+ Hai tín hiệu độc lập cùng tần số.
+ Một cặp tín hiệu bù nhau với dead-band (thời gian trễ)
SVTH: Trần Quang Minh
Trang 13
Đồ án 3
GVHD: Th.S Phạm Hữu Lý
Hình 1: Sơ đồ khối module PWM
Hình 3: Sơ đồ khối bộ tạo xung PWM
SVTH: Trần Quang Minh
Trang 14
Đồ án 3
GVHD: Th.S Phạm Hữu Lý
- Để module PWM hoạt động cần phải cấp xung Clock.
- Mỗi khối tạo xung PWM Generator sẽ tạo ra hai 2 tín hiệu là pwma’
và pwmb’ chuyển tới bộ điều khiển PWM Output Control Logic. Bộ
điều khiển này cho phép các tín hiệu pwma’ và pwmb’ xuất ra chân của
vi điều khiển.
5. Các đặc trưng của PWM:
- Mỗi bộ điều chế độ rộng xung PWM có một bộ đếm 16 bit có thể
chọn một trong hai chế độ:
+ Đếm xuống (count-down mode)
+ Đếm lên/xuống (count up/down mode)
a) Chế độ đếm xuống (count-down mode):
- Chế độ đếm xuống có giá trị ban đầu là LOAD và sẽ đếm
xuống 0, sau đó ghi lại giá trị LOAD và tiếp tục đếm xuống 0.
Quá trình lặp lại.
SVTH: Trần Quang Minh
Trang 15
Đồ án 3
GVHD: Th.S Phạm Hữu Lý
30% 70%
LOAD
COMPA
COMPB
0
pwma
a
pwmb
Hình 4: Sơ đồ xung chế độ đếm xuống
b) Chế độ đếm lên/ xuống (count – up/down mode):
- Chế độ đếm lên/ xuống có giá trị ban đầu là 0, sau đó sẽ
đếm lên đến LOAD và đếm xuống 0. Quá trình lặp lại.
70% 30% 30% 70%
SVTH: Trần
Quang Minh
LOAD
COMPA
Trang 16
COMPB
0
Đồ án 3
pwma
GVHD: Th.S Phạm Hữu Lý
pwmb
Hình 5: Sơ đồ xung chế độ đếm lên/ xuống
6. Bảng tra chân tín hiệu PWM:
Tên chân
M0FAULT0
M0PWM0
M0PWM1
M0PWM2
M0PWM3
M0PWM4
M0PWM5
M0PWM6
M0PWM7
M1FAULT0
M1PWM0
M1PWM1
M1PWM2
Chân Quy ước
số
chân
30
53
63
1
4
58
57
59
60
16
61
15
62
5
61
62
23
SVTH: Trần Quang Minh
PF2
PD6
PD2
PB6
PB7
PB4
PB5
PE4
PE5
PC4
PD0
PC5
PD1
PF4
PD0
PD1
PA6
Kiểu
chân
(I/O)
Mô tả
I
Module 0, PWM Fault 0
O
O
O
O
O
O
Module 0, PWM 0, PWM_GEN_0
Module 0, PWM 1, PWM_GEN_0
Module 0, PWM 2, PWM_GEN_1
Module 0, PWM 3, PWM_GEN_1
Module 0, PWM 4, PWM_GEN_2
Module 0, PWM 5, PWM_GEN_2
O
Module 0, PWM 6, PWM_GEN_3
O
Module 0, PWM 7, PWM_GEN_3
I
O
O
O
Module 1, PWM Fault 0
Module 1, PWM 0, PWM_GEN_0
Module 1, PWM 1, PWM_GEN_0
Module 1, PWM 2, PWM_GEN_1
Trang 17
Đồ án 3
M1PWM3
M1PWM4
M1PWM5
M1PWM6
M1PWM7
III.
GVHD: Th.S Phạm Hữu Lý
59
PE4
24
PA7
O
Module 1, PWM 3, PWM_GEN_1
60
PE5
28
PF0
O
Module 1, PWM 4, PWM_GEN_2
29
PF1
O
Module 1, PWM 5, PWM_GEN_2
30
PF2
O
Module 1, PWM 6, PWM_GEN_3
31
PF3
O
Module 1, PWM 7, PWM_GEN_3
Bảng 1: Bảng tra chân tín hiệu PWM
Các hàm PWM:
1. GPIOPinTypePWM:
- Lệnh: GPIOPinTypePWM (uint32_t ui32Port, uint8_t ui8Pins);
- Mô tả: Khai báo chân cho PWM
SVTH: Trần Quang Minh
Trang 18
Đồ án 3
GVHD: Th.S Phạm Hữu Lý
+ GPIOPinTypePWM (GPIO_PORTE_BASE, GPIO_PIN_4);
+ GPIOPinTypePWM (GPIO_PORTE_BASE, GPIO_PIN_5);
+ GPIOPinTypePWM (GPIO_PORTC_BASE, GPIO_PIN_4);
+ GPIOPinTypePWM (GPIO_PORTC_BASE, GPIO_PIN_5);
SVTH: Trần Quang Minh
Trang 19
Đồ án 3
GVHD: Th.S Phạm Hữu Lý
7. SysCtlPWMClockSet:
- Lệnh: SysCtlPWMClockSet (uint32_t ui32Config);
- Mơ tả: Cấu hình xung Clock cho PWM
8. SysCtlPeripheralEnable:
- Lệnh: SysCtlPeripheralEnable (uint32_t ui32Peripheral);
- Mơ tả: Kích hoạt ngoại vi
+ SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM0);
+ SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM1);
+ SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM2);
SVTH: Trần Quang Minh
Trang 20