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

Thử nghiệm thiết bị điều khiển giám sát dòng điện thông qua mạng GSM

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 (4.23 MB, 85 trang )

ĐẠI HỌC QUỐC GIA HÀ
NỘI

TRƯỜNG ĐẠI HỌC CÔNG
NGHỆ





ĐÀO NAM THÁI



THỬ NGHIỆM THIẾT BỊ ĐIỀU KHIỂN GIÁM SÁT
DÒNG ĐIỆN THÔNG QUA MẠNG GSM


















TÓM TẮT LUẬN VĂN THẠC SĨ







Hà Nội - 2012
ĐẠI HỌC QUỐC GIA HÀ
NỘI

TRƯỜNG ĐẠI HỌC CÔNG
NGHỆ



ĐÀO NAM THÁI


THỬ NGHIỆM THIẾT BỊ ĐIỀU KHIỂN GIÁM
SÁT DÒNG ĐIỆN THÔNG QUA MẠNG GSM


Ngành: Công nghệ Điện Tử Viễn Thông
Chuyên ngành: Kỹ thuật Điện tử
Mã số: 60 52 70



TÓM TẮT LUẬN VĂN THẠC



NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS NGÔ DIÊN TẬP


Hà Nội - 2012

Đào Nam Thái-K16Đ2 Khoa Điện tử Viễn Thông
4
MỤC LỤC

CHỮ VIẾT TẮT 5
LỜI MỞ ĐẦU 6
PHẦN I: LÝ THUYẾT 9
CHƯƠNG I: HỌ VI ĐIỀU KHIỂN DSPIC33 VÀ DSPIC33FJ128MC804 9
1.1 Đặc điểm cơ bản của họ vi điều khiển dsPIC33 9
1.2 Đặc điểm tổng quát của vi điều khiển dsPIC33FJ128MC804 9
1.3 Sơ đồ khối, sơ đồ chân, chức năng của các chân 11
1.4 Mô tả chi tiết các đặc điểm chính của dsPIC33FJ128MC804 14
CHƯƠNG II: MODEM SIM900 VÀ SMS/GPRS 31
2.1 Giới thiệu đặc điểm của Modem GSM 31
2.2 Giới thiệu sơ lược về SMS, GPRS 36
2.3 Tập lệnh AT 40
CHƯƠNG III: CÁC PHƯƠNG PHÁP ĐO DÒNG ĐIỆN XOAY CHIỀU 47
3.1 Nguyên tắc đo dòng 47
3.2 Giới thiệu về ADE7753 50
3.3 Giới thiệu về ACS712 64

PHẦN II: THỰC NGHIỆM 67
CHƯƠNG IV: CÁC BƯỚC THỰC HIỆN VÀ KẾT QUẢ 67
4.1 Sơ đồ nguyên lý, mạch in 69
4.2 Phần mềm điều khiển và giám sát 74
4.3 Kết quả kiểm tra tích hợp hệ thống và sai số 78
III. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 84

Đào Nam Thái-K16Đ2 Khoa Điện tử Viễn Thông
5
CHỮ VIẾT TẮT

STT
Chữ viết tắt
Thuật ngữ tiếng Anh
Thuật ngữ tiếng Việt
1
DC
Direct Current
Dòng điện một chiều
2
GPRS
General Package Radio Service
Dịch vụ vô tuyến
gói tin chung
3
GSM
Global System for Mobile
Communication
Hệ thống truyền thông di
động toàn cầu

4
ICSP
In-Circuit Serial Programming
Nạp chương trình nối tiếp
ngay trên mạch
5
IC
Integrated Circuit
Mạch tích hợp
6
LSB
Least Significant Bit
Bít trọng số thấp nhất
7
MCU
Micro-Controller Unit
Vi điều khiển
8
RTC
Real Time Clock
Đồng hồ thời gian thực
9
SPI
Serial Peripheral Interface
Giao diện ngoại vi nối tiếp
10
SIM
Subcriber Identity Module
Khối nhận dạng khách hàng
11

UART
Universal Ansynchronous
Receiver/Tranceiver
Khối thu phát nối tiếp bất
đồng bộ đa năng
12
VDC
Voltage Directly Curent
Điện áp một chiều
13
CAN
Controller area network
Mạng điều khiển khu vực
14
SPI
Serial Peripheral Interface
Giao diện ngoại vi nối tiếp
15
CRC
Cyclic redundancy check
Kiểm tra dư thừa vòng



Đào Nam Thái-K16Đ2 Khoa Điện tử Viễn Thông
6
LỜI MỞ ĐẦU

Giới thiệu mô hình tổng quan của đề tài
Trong mọi thời đại, hệ thống thông tin truyền thông luôn là huyết mạch của

nền kinh tế. Chính những ứng dụng của kỹ thuật thông tin liên lạc vào các mặt của
đời sống đã làm xã hội loài người phát triển không ngừng. Đặc biệt trong những
thập niên gần đây, ngành bưu chính viễn thông phát triển mạnh mẽ tạo ra những
bước ngoặt quan trọng trong lĩnh vực thông tin để đáp ứng các nhu cầu đa dạng của
con người. Một trong những nhu cầu quan trọng của con người là việc điều khiển
giám sát từ xa một cách tập trung một hoặc nhiều thông số vật lý, lưu trữ chúng làm
cơ sở dữ liệu để đưa ra được các dự đoán về sự thay đổi của thông số này trong
tương lai và có các hành động đáp ứng hợp lý nhất, có lợi nhất và tốn ít chi phí nhất.
Bài toán đặt ra của luận văn này là “Thử nghiệm thiết bị điều khiển và giám sát
dòng điện thông qua mạng GSM”. Tất cả các thông tin về đối tượng giám sát và
điều khiển đều được truyền về một máy chủ qua hạ tầng mạng GSM bằng SMS
hoặc kết nối GPRS. Người dùng có thể sử dụng trình duyệt để truy cập, quan sát các
thông số này ở bất kỳ nơi nào có kết nối internet.
Hiện nay, khi các tài nguyên thiên nhiên ngày càng cạn kiệt, tiết kiệm năng
lượng trở thành một vấn đề bức thiết và là một trong những vấn đề quan trọng hàng
đầu của tất cả các quốc gia. Các kỹ sư đang ngày đêm tìm ra các giải pháp nhằm
giảm công suất tiêu thụ của phụ tải, tối ưu hệ thống cung cấp điện cũng như đưa ra
các phương pháp điều chỉnh thích hợp để nâng cao hiệu suất sử dụng điện. Xuất
phát từ thực tế đó, tôi quyết định thiết kế một giải pháp với chi phí thấp nhằm thu
thập tự động các thông số của dòng điện. Các số liệu này có thể được lưu trữ và
dùng làm cơ sở dữ liệu cho nhiều mục đích khác nhau như việc đưa ra những dự
đoán về công suât tiêu thụ, đưa ra những giải pháp để tối ưu hóa việc sử dụng điện
năng trong gia đình, văn phòng, nhà máy, xí nghiệp v. v Hình 1-1 dưới đây mô tả
sơ đồ hệ thống của giải pháp này.
Thành phần cơ bản của hệ thống bao gồm:
- Thiết bị giám sát dòng điện.
- Phần mềm giám sát và cấu hình chạy trên điện thoại di động hoặc ứng dụng
web chạy trên máy tính.




Đào Nam Thái-K16Đ2 Khoa Điện tử Viễn Thông
7

Hình 1-1: Hệ thống giám sát dòng điện
Nguyên tắc hoạt động:
Thiết bị giám sát dòng điện thu thập các thông số về cường độ dòng điện,
điện áp, góc pha. Trước hết, các thông số này được lưu trên thẻ nhớ nằm trên thiết
bị, sau đó, thiết bị kiểm tra kết nối với mạng di động và truyền dữ liệu về máy chủ
bằng tin nhắn hoặc kết nối GPRS nếu có. Thiết bị này cũng có thể truyền dữ liệu
thông qua các chuẩn công nghiệp như RS-485, RS-232, CAN.

Đào Nam Thái-K16Đ2 Khoa Điện tử Viễn Thông
8
Tại máy chủ, phần mềm quản lý tổng hợp thông tin, biểu diễn các giá trị đo
được trên biểu đồ năng lượng. Ngoài ra, phần mềm trên máy chủ còn cho phép tính
toán chi phí tiêu thụ điện hàng tháng, đưa ra các dự đoán, các cảnh báo khi dòng
điện vượt quá mức cho phép và đặc biệt phần mềm này còn cho phép đặt các thông
số của thiết bị đo từ xa đồng thời thực hiện một số thao tác điều khiển đóng ngắt
một số rơle được thiết kế sẵn trên thiết bị.
Vì lý do thời gian, nên trong khuôn khổ luận văn này, tôi chỉ tập trung
nghiên cứu thiết kế phần cứng thiết bị đo và một số tính năng cơ bản của phần mềm
giám sát, cấu hình chạy trên máy tính, thực hiện việc truyền dữ liệu thông suốt từ
các đầu đo về máy chủ qua SMS và biểu diễn những thông số này trên đồ thị của
phần mềm quản lý.
Về thiết bị đo, tôi lựa chọn vi điều khiển dsPIC33FJ128MC804 làm IC xử lý
trung tâm. Đây là một vi điều khiển dòng dsPIC33 có tốc độ cao của Microchip
được bán rộng rãi trên thị trường Việt Nam. Phần giao tiếp với mạng GSM sử dụng
modem SIM900 của Simcom kích thước nhỏ gọn, hỗ trợ các băng tần
850/900/1800/1900 MHz. Ngoài ra, thiết bị còn hỗ trợ hai kênh đo dòng khác nhau:

- Đầu cắm đo dòng dựa trên hiệu ứng Hall.
- Sử dụng IC đo dòng chuyên dụng ADE7753 hoặc ACS712.








Đào Nam Thái-K16Đ2 Khoa Điện tử Viễn Thông
9
PHẦN I: LÝ THUYẾT
CHƯƠNG I: HỌ VI ĐIỀU KHIỂN DSPIC33 VÀ DSPIC33FJ128MC804

Vi điều khiển dsPIC33 được sử dụng trong luận văn đóng vai trò là IC điều
khiển toàn bộ thiết bị. Các tài liệu chi tiết về vi điều khiển này được nhà sản xuất
cung cấp đầy đủ trên trang chủ của hãng [5].
1.1 Đặc điểm cơ bản của họ vi điều khiển dsPIC33
Dòng dsPIC33 có rất nhiều chức năng mạnh, nhưng trong giới hạn của đề tài,
tôi chỉ tập trung tìm hiểu về:
- Đặc điểm tổng quát.
- Sơ đồ khối, sơ đồ chân, chức năng của các chân.
- Các đặc điểm nổi bật của các cổng vào ra.
- Cách tổ chức bộ nhớ, giới thiệu các thanh ghi hay dùng trong quá trình lập
trình.
- Bộ chuyển đổi tín hiệu tương tự sang số.
- Các giao tiếp truyền thông SPI, UART.
1.2 Đặc điểm tổng quát của vi điều khiển dsPIC33FJ128MC804
DsPIC33 là một trong 4 dòng vi điều khiển 16 bít của Microchip ra đời năm

2007 với những đặc điểm điển hình như sau [6]:
Vùng hoạt động:
- Điện áp nuôi thấp: từ 3,0 đến 3,6 V.
- Xung nhịp hỗ trợ từ 20 đến 40 MIPS.
- Dải nhiệt độ hoạt động từ -40
o
C đến 125
o
C.
Vi điều khiển hiệu suất cao:
- Có kiến trúc Harvard.
- Tập lệnh tối ưu cho trình biên dịch ngôn ngữ C.
- 16 bít dữ liệu, 24 bít cho lệnh.
- Bộ nhớ chương trình có thể định địa chỉ lên tới bốn triệu từ lệnh.
- Bộ nhớ dữ liệu: 64 kbyte.
- 83 tập lệnh cơ sở, hầu hết xử lý trong một chu kỳ.
- Hai bộ tích lũy 40 bít.
- Hỗ trợ phép nhân chia 16 bít.
Truy cập bộ nhớ trực tiếp:
- Hỗ trợ đến tám kênh.
- 2 kbyte bộ nhớ đệm.
- Hầu hết các ngoại vi đều hỗ trợ truy nhập bộ nhớ trực tiếp.
Bộ định thời / Bộ so sánh/ Bộ điều chế độ rộng xung
- Có đến năm bộ định thời 16 bít, cho phép ghép hai bộ thành bộ định thời
32 bít.

Đào Nam Thái-K16Đ2 Khoa Điện tử Viễn Thông
10
- Một bộ định thời chạy với thạch anh ngoài 32,768 kHz.
- Bốn bộ FIFO cho mỗi bộ bắt tín hiệu.

- Bộ so sánh 16 bít.
Bộ điều khiển ngắt:
- Độ trễ năm chu kỳ máy.
- Hỗ trợ 53 nguồn ngắt, ba ngắt ngoài, bẩy mức ưu tiên lập trình được.
Cổng vào ra số:
- Cho phép chọn chức năng ngoại vi của từng chân.
- 31 chân cho phép đánh thức vi điều khiển khi phát hiện thay đổi điện áp.
- Các chân lối vào đều hỗ trợ đến 5 V.
- Các chân lối ra hỗ trợ ra nguồn 5 V ở chế độ cực góp hở.
Flash và SRAM:
- Flash 128 kbyte.
- SRAM: 16 kbyte.
- Bộ nhớ flash chia thành các phần Boot, Secure, General Security.
Quản lý hệ thống:
- Có nhiều chế độ lấy xung dao động.
- Bộ ổn nguồn 2,5 V được đặt ngay trên vi điều khiển.
Bộ chuyển đổi tương tự sang số:
- 10 bít: Tốc độ 1,1 Msps.
- 12 bít: Tốc độ 500 ksps.
- 9 kênh ADC, có thể nhận ADC trong chế độ tiết kiệm năng lượng.
Bộ chuyển đổi số sang tương tự:
- 16 bít, hai kênh.
- Tốc độ lấy mẫu tối đa 100 ksps.
Công nghệ CMOS:
- Tiêu thụ năng lượng thấp, công nghệ Flash tốc độ nhanh.
Các ngoại vi giao tiếp:
- SPI: 8 bit, 16 bít, hộ trợ tất cả các định dạng đồng hồ nối tiếp.
- I
2
C: Cho phép định địa chỉ 7 bít, 10 bít. Khả năng dò và phân xử xung

đột đường truyền.
- UART: có hai bộ với FIFO gồm bốn ký tự.
- CAN: 32 bộ đệm nhận, 16 bộ lọc nhận, ba mặt nạ.
- PMP: Hỗ trợ tám bộ, 16 bít dữ liệu, 16 bít đường địa chỉ.
- CRC: Có 8 byte hàng đợi, 16 bit cho dữ liệu đầu vào.
Hình 1-2 thể hiện các chức năng và hiệu suất của các dòng vi điều khiển của
Microchip. Trong đó, dsPIC33 là dòng vi điều khiển 16 bít có hiệu suất cao và
nhiều chức năng nhất.

Đào Nam Thái-K16Đ2 Khoa Điện tử Viễn Thông
11

Hình 1-2: Biểu đồ thể hiện chức năng và hiệu suất của dòng dsPIC33 so với các
dòng vi điều khiển khác của Microchip.

1.3 Sơ đồ khối, sơ đồ chân, chức năng của các chân
1.3.1 Sơ đồ khối
Các ngoại vi được kết nối với nhân xử lý bằng đường dữ liệu 16 bít. Ngoại
trừ thanh ghi chốt địa chỉ có độ rộng đường dữ liệu là 24 bít.
Hình 1-3 dưới đây mô tả cấu trúc của một vi điều khiển dsPIC33 bao gồm
những thành phần chính như sau:
- Bộ xử lý trung tâm.
- Cấu trúc bộ nhớ.
- Bộ tạo dao động
- Các bộ ngoại vi.
- Các cổng vào ra.
- Các bus địa chỉ và dữ liệu


Đào Nam Thái-K16Đ2 Khoa Điện tử Viễn Thông

12

Hình 1-3: Sơ đồ khối của DSPIC33FJ128MC804
1.3.2 Sơ đồ chân
DSPIC33FJ128MC804 được đóng gói kiểu TQFP, có tổng cộng 44 chân.
Các chân được tô đen trong hình 1-4 là các chân có thể chịu mức điện áp 5 V.

Đào Nam Thái-K16Đ2 Khoa Điện tử Viễn Thông
13

Hình 1-4: Sơ đồ chân của DSPIC33FJ128MC804
1.3.3 Bảng mô tả chức năng của chân
Mỗi chân của họ vi điều khiển dsPIC33 đều kiêm nhiệm nhiều chức năng
khác nhau. Bảng dưới sẽ mô tả chức năng của các nhóm chân.
Bảng 1-1: Chức năng các chân của dsPIC33FJ128MC804
Nhóm
Vị trí chân
Loại
Mô tả chân
Nguồn nuôi
7,17,28,40
VDD
Cung cấp nguồn dương dải rộng <5 V
6,16,29
VSS
Nối đất
Bộ dao động
30,31
OSCx
Đầu vào của xung dao động thạch anh ngoài

Bộ nạp và
gỡ rối
9,22,42
PGECx
Lối vào xung dao động điều khiển việc nạp và
gỡ rối chương trình theo chuẩn ICSP

Đào Nam Thái-K16Đ2 Khoa Điện tử Viễn Thông
14

8,21,41
PGEDx
Lối truyền dữ liệu để nạp và gỡ rối theo chuẩn
ICSP
Các ngoại vi
19->27
ANx
Lối vào cho bộ chuyển đổi tín hiệu tương tự
sang tín hiệu số
10,11,14,15
DACx
Lối ra của bộ chuyển đổi tín hiệu số sang tín
hiệu tương tự

CNx
Các chân có khả năng tạo ngắt khi có sự thay
đổi điện áp vào tại các chân đó

PWMx
Chân ra của bộ điều chế độ rộng xung


PMxx
Các chân I/O của cổng song song
1.4 Mô tả chi tiết các đặc điểm chính của dsPIC33FJ128MC804
Phần này sẽ mô tả chi tiết hơn về cấu tạo, chức năng và nguyên tắc hoạt động
của họ vi điều khiển dsPIC33.
1.4.1 CPU và cầu hình dao động
1.4.1.1 Tổng quan
Cấu trúc CPU của dsPIC33 theo kiến trúc Harvard đã được sửa đổi với tập
lệnh nâng cao để hỗ trợ bộ xử lý số (DSP). CPU có tập lệnh 24 bít với độ dài
chương trình có thể thay đổi được. Thanh ghi chương trình (PC) có độ rộng 23 bít
hỗ trợ dải địa chỉ lên tới 4Mx24 bít. Cơ chế cung cấp trước các lệnh đơn hỗ trợ việc
duy trì tốc độ cũng như dự đoán trước các lệnh sắp được thực thi. Tất cả các lệnh sẽ
được thực hiện trong một chu kỳ máy, ngoại trừ các lệnh làm thay đổi luồng của
chương trình hoặc các bảng lệnh.
DsPIC33 có hai tập lênh riêng biệt dành cho MCU và DSP. Hai tập lệnh này
đều bao gồm nhiều chế độ địa chỉ và được tối ưu hóa hiệu năng của ngôn ngữ lập
trình C. Hầu hết các lệnh đều tương thích với việc đọc ghi bộ nhớ dữ liệu và chương
trình trong một chu kỳ máy.
1.4.1.2 Cách định địa chỉ dữ liệu
Khoảng không dữ liệu có thể được định địa chỉ bằng 32K words hoặc 64
kbyte và được chia làm hai khối X và Y. Mỗi khối đều có bộ phát địa chỉ (AGU)
độc lập. Các lệnh dành cho MCU hoạt động đơn nhất trên khối X và có thể truy cập
vào toàn bộ khoảng không dữ liệu. Các lệnh dành cho DSP thì hoạt động trên cả hai
khối và chia khoảng không dữ liệu thành hai phần.

Đào Nam Thái-K16Đ2 Khoa Điện tử Viễn Thông
15
Hơn 32 kbyte của khoảng không dữ liệu có thể ánh xạ cho bất kỳ 16 nghìn từ
của khoảng không chương trình bằng việc định nghĩa 8 bít trong thanh ghi

PSVPAG (Program Space Visibility Page). Tính năng ánh xạ khoảng không chương
trình sang khoảng không dữ liệu phục vụ cho việc truy cập khoảng không chương
trình nếu nó đã là dữ liệu.
1.4.1.3 Tổng quan về bộ xử lý tín hiệu số
Bộ xử lý tín hiệu số (DSP) cho phép thực hiện phép nhân 17 bít, 40 bít ALU,
hai bộ tích lũy 40 bít, hai bộ dịch hai hướng 40 bít. Bộ dịch này cũng cho phép dịch
sang trái hoặc phải nhiều hơn 16 bít trong một chu kỳ lệnh. Tập lệnh cho bộ DSP
hoạt động liền mạch với tất cả các lệnh khác để tối ưu hóa hiệu năng thời gian thực.
Các tính năng của bộ DSP được cấu hình bởi các bit trong thanh ghi
CORCON được liệt kê dưới đây:
- IF: Nhân DSP phân số, nguyên.
- US: Nhân DSP có dấu hoặc không dấu.
- RND: Biến đổi vòng.
- SATA
- SATB
- SATDW
1.4.2. Tổ chức bộ nhớ
1.4.2.1. Khoảng không địa chỉ chương trình
Bộ nhớ được định địa chỉ 24 bít. Các địa chỉ này được nạp vào thanh ghi PC
(Program counter) 23 bít trong quá trình thực thi chương trình. Các ứng dụng truy
cập vào vùng nhớ chương trình sẽ bị cấm trong dải từ 0x000000 đến 0x7FFFFF,
ngoại trừ lệnh cho phép truy cập các bít cấu hình và nhận diện chip
TBLRD/TBLWT.
Hình 1-5 mô tả cấu trúc của địa chỉ thanh ghi bộ đếm chương trình.

Hình 1-5: Tổ chức bộ nhớ chương trình

Đào Nam Thái-K16Đ2 Khoa Điện tử Viễn Thông
16
1.4.2.2 Khoảng không địa chỉ dữ liệu

Độ rộng bus dữ liệu là 16 bít. Khoảng không dữ liệu được truy cập bởi việc
sử dụng bộ AGU.
Để đọc các byte dữ liệu, CPU sẽ đọc cả một từ (word), sau đó sử dụng LSB
của thanh ghi EA để xác định byte cần đọc. Byte đó sẽ được thay thế LSB trên
đường dừ liệu. Việc ghi byte dữ liệu sẽ chỉ được viết vào mảng hoặc thanh ghi với
địa chỉ tương ứng.
Việc truy cập theo word phải được sắp thành hàng theo các địa chỉ chẵn. Nếu
dữ liệu không được sắp thành hàng thì bẫy lỗi sẽ được tạo ra và lệnh không thể
được hoàn thành.
Các thanh ghi chức năng đặc biệt được đặt từ địa chỉ 0x0000 đến 0x07FF,
các thanh ghi này được sử dụng để thiết lập ngoại vi và nhân CPU, phục vụ cho việc
điều khiển các hoạt động của vi điều khiển.
Nhân của dsPIC33 có hai vùng dữ liệu là X và Y. Hai vùng dữ liệu này có
thể được truy cập bởi bộ AGUs. Tính năng này cho phép đẩy hai từ đồng thời vào
RAM khi thực thi một lệnh giúp tăng hiệu năng của các thuật toán của bộ DSP như
FIR, FFT.
Sau vùng dữ liệu X,Y là vùng DMA RAM, vùng nhớ này có dung lượng hai
kbyte, nó có thể được truy cập đồng thời bời CPU và bộ điều khiển DMA.
Hình 1-6 mô tả chi tiết tổ chức bộ nhớ dữ liệu của dsPIC33.

Hình 1-6: Tổ chức bộ nhớ dữ liệu của dsPIC33

Đào Nam Thái-K16Đ2 Khoa Điện tử Viễn Thông
17
1.4.2.3 Ngăn xếp phần mềm
Con trỏ ngăn xếp luôn trỏ vào từ đầu tiên và tăng dần từ địa chỉ thấp đến địa
chỉ cao.
Hình dưới mô tả giá trị của thanh ghi PC trong mỗi lần sử dụng lệnh CALL,
MSB của thanh ghi PC luôn là không trước mỗi thao tác đẩy dữ liệu vào ngăn xếp.


Hình 1-7: Cơ chế lệnh gọi ngăn xếp
1.4.2.4 Cấu hình dao động của dsPIC33
Bộ dao động của dsPIC33 bao gồm những tính năng sau:
- Có hỗ trợ dao động nội hoặc lấy nguồn dao động từ bên ngoài.
- Tần số dao động nội sử dụng vòng bám pha.
- Bộ dao động FRC nội sử dụng vòng bám pha, cho phép hệ thống chạy với
tốc độ tối đa mà không cần phần cứng phát dao động ở bên ngoài.
- Có khả năng chuyển đổi giữa các nguồn dao động.
- Chế độ tiết kiệm điện cho phép lập trình lại thang chia tỉ lệ dao động hệ
thống.
- Giám sát và phát hiện lỗi dao động chủ.
- Thanh ghi điều khiển dao động OSCCON.
- Hỗ trợ bộ dao động thạch anh phụ cho khối chuyển đổi tín hiệu số sang
tương tự.

Đào Nam Thái-K16Đ2 Khoa Điện tử Viễn Thông
18

Hình 1-8: Hệ thống tạo dao động cho dsPIC33
dsPIC33 cung cấp bẩy lựa chọn dao động hệ thống:
- Bộ dao động RC nhanh (FRC).
- FRC với bộ bám pha.
- Dao động chủ (XT, HS, EC).
- Dao động chủ với bộ bám pha.
- Dao động phụ (LP).
- Dao động RC công suất thấp.
- Dao động FRC với thang chia tỷ lệ.
Bằng cách thiết lập các bít trong thanh ghi cấu hình FNOSC<2:0> và
FOSCSEL<2:0>, POSCMD<1:0>, người dùng có thể chọn các chế độ đồng hồ hệ
thống phù hợp với từng ứng dụng cụ thể.

Thông thường, sau khi xuất xưởng, các chip dsPIC33 được đặt ở chế độ sử
dụng FRC. Chế độ này, tần số là 7,37 MHz.
Bộ dao động chủ có thể sử dụng một trong các nguồn dao động sau:
- XT: Bộ cộng hưởng thạch anh trong dải từ 3 MHz đến 10 MHz.
- HS: Thạch anh trong dải từ 10 MHz đến 40 MHz.
- EC: Sử dụng tín hiệu dao động ngoại nối vào chân OSC của vi điều khiển.

Đào Nam Thái-K16Đ2 Khoa Điện tử Viễn Thông
19
Bộ dao động phụ (LP) và bộ dao động tiêu thụ công suất thấp (LPRC) đều sử
dụng thạch anh 32,768 kHz.
Các thanh ghi chính được sử dụng để cấu hình dao động cho dsPIC bao gồm:
OSCCON: Oscillator control register

Trong đó:
COSC: Current oscillator selection bit - Các bít này chỉ đọc, các bít này thể
hiện dao động hiện tại của hệ thống là loại dao động nào.
+ 000: Bộ dao động RC nhanh (FRC).
+ 001: FRC với bộ bám pha.
+ 010: Dao động chủ (XT, HS, EC).
+ 011: Dao động chủ với bộ bám pha.
+ 100: Dao động phụ (LP).
+ 101: Dao động RC công suất thấp.
+ 110: Dao động FRC với thang chia tỷ lệ 16.
+ 111: Dao động FRC với thang chia tỷ lệ n.
NOSC: New oscillator selection bit – Người dùng thiết lập các bít này khi
chọn chế độ dao động mới cho hệ thống.
CLKLOCK: Clock lock enable bit - Bít này bằng một để cho phép chuyển
xung đồng hồ, bằng 0 thì không cho phép.
IOLOCK: Peripheral pin select lock bit - Nếu bít này bằng một thì các chân

ngoại vi bị khóa và ngược lại.
LOCK: PLL lock status bit – Bit này chỉ thị vòng bám pha bị khóa nếu bằng
1 và không khóa nếu bằng 0.
CF: Clock Fail Detect bit – Nếu phát hiện lỗi đồng hồ hệ thống thì bít này sẽ
được thiết lập là 1.
LPOSCEN: Secondary Oscillator Enable bit – Cho phép sử dụng bộ dao
động phụ.
OSWEN: Oscillator Switch Enable bit – Cho phép chuyển bộ dao động. Bít
này được đặt là một để chuyển sang bộ dao động đã được thiết lập bằng các bít
NOSC.


Đào Nam Thái-K16Đ2 Khoa Điện tử Viễn Thông
20
CLKDIV: Clock divisor register

DOZE: Processor clock reduction select bit - Thang chia tần số Fcy
+ 000 = Fcy/1
+ 001 = Fcy/2
+ 010 = Fcy/4
+ 011 = Fcy/8 (Chế độ mặc định)
+ 100 = Fcy/16
+ 101 = Fcy/32
+ 110 = Fcy/64
+ 111 = Fcy/128
DOZEN: DOZE mode enable bit. Các bít này được điều chỉnh tỷ lệ dao động
của ngoại vi và dao động của khối xử lý trung tâm.
FRCDIV: Internal fast RC oscillator Postscaler bit. Các bít này giúp chia dao
động FRC.
+ 000 = FRC/1 (mặc định)

+ 001 = FRC/2
+ 010 = FRC/4
+ 011 = FRC/8
+ 100 = FRC/16
+ 101 = FRC/32
+ 110 = FRC/64
+ 111 = FRC/128
PLLPOST: PLL VCO output divider select bit- Bit chia dao động lối ra của
bộ PLL.
+ 00 = Chia 2
+ 01 = Chia 4
+ 11 = Chia 8
Ví dụ việc cấu hình cho hệ thống chạy với tốc độ 40 Mbps sử dụng thạch anh
ngoài 10 MHz.
Dựa vào hai công thức:
Fosc = Fin x (M/N1/N2)
Fosc = Fcy/2
Formatted: French (France)

Đào Nam Thái-K16Đ2 Khoa Điện tử Viễn Thông
21
Trong đó:
+ Fosc là tần số lấy ra được sau bộ PLL
+ Fin: Tần số của thạch anh ngoài
+ N1: Thang chia tần của bộ PLLPRE
+ M: Thang chia tần của bộ VCO
+ N2: Thang chia tần của bộ PLLPOST
+ Fcy: Tốc độ hoạt động của hệ thống
Ta có:
+ PLLPRE<4:0> = 0, thì N1 = 2

=> Sau bộ PLLPRE tần số sẽ là 10/2 = 5 MHz.
+ Nếu PLLDIV<8:0> = 0x1E thì M = 32.
+ Tần số sau bộ VCO là 5x32 = 160 MHz.
+ PLLPOST<1:0> = 0 thì N2 = 2 => Fosc = 160/2 = 80 MHz.
Tốc độ của dsPIC33 lúc này là Fcy = 80/2 = 40 Mbps.

Hình 1-9: Biểu đồ khối PLL
1.4.3 Các cổng vào ra
Tất cả các chân của VĐK (ngoại trừ VDD, VSS, MCLR, OSC/CLKI) đều có
thể được cấu hình là các chân vào ra của ngoại vi hoặc là các chân của cổng song
song.
Cổng song song
Sơ đồ nguyên lý của một chân vào ra thông thường của dsPIC33 được mô tả
như hình 1-10.
Bộ đệm dữ liệu lối ra của ngoại vi và tín hiệu điều khiển được lựa chọn bởi
hai bộ hợp kênh. Các bộ hợp kênh này sẽ quyết định chân đó là chân vào ra của
ngoại vi hay chỉ là chân vào ra thường được điều khiển bởi cổng song song.
Khi một chân được thiết lập là lối vào ra của một ngoại vi, chân đó chỉ có
chức năng nhận tín hiệu và không thể điều khiển nó như là một chân dữ liệu ra.
Một chân của cổng song song bất kỳ được điều khiển bởi 3 thanh ghi:
Formatted: French (France)

Đào Nam Thái-K16Đ2 Khoa Điện tử Viễn Thông
22
- TRISx: Thanh ghi này quyết định hướng vào ra của một chân. Với x tương
ứng là tên cổng các cổng của dsPIC33, ví dụ: TRISA, TRISB, TRISC v. v Khi các
bít của thanh ghi này là một thì các chân tương ứng với từng bít là chân vào và
ngược lại.
- LATx: Dùng để đặt giá trị cho một chân khi nó là lối ra.
- PORTx: Dùng để đọc giá trị của cổng song song.

Ví dụ, khi người dùng muốn đặt giá trị của chân thứ nhất cổng A có giá trị là
mức logic cao:
_TRISA1 = 0; //Đặt hướng của chân thứ nhất cổng A là chân lối ra số.
_LATA1 = 1; //Đặt giá trị chân thứ nhất của cổng A là mức cao.

Hình 1-10: Cấu tạo một cổng vào ra của dsPIC33
Các chân đều được thiết kế kiểu cực góp hở, có khả năng tương thích với mức
điện áp cao hơn điện áp nguồn bởi việc gắn thêm một trở treo bên ngoài.
Các chân tín hiệu tương tự
Thanh ghi AD1PCFGL và TRISx sẽ điều khiển các chân nhận tín hiệu tương
tự. Ở chế độ mặc định, AD1PCFGL = 0x0000 và các chân vào ra có ký hiệu ANx
sẽ là chân nhận tín hiệu tương tự.
Các chân CNx hỗ trợ chức năng phát hiện sự thay đổi trạng thái do tác động
của bên ngoài khi VĐK chạy trong chế độ ngủ. Có bốn thanh ghi quản lý chức năng
này. Trong đó, CNEN1và CNEN2 là hai thanh ghi quản lý ngắt, khi xuất hiện sự
kiện thay đổi trạng thái ở các chân tương ứng.


Đào Nam Thái-K16Đ2 Khoa Điện tử Viễn Thông
23
Cách chọn chân tương ứng với ngoại vi
DsPIC33 hỗ trợ chức năng cho phép chọn lựa các chân cho từng ngoại vi.
dsPIC33FJ128MC804 có 26 chân ký hiệu RPn thực hiện chức năng này. Các chân
được nối vào một bộ hợp kênh trước khi nối với bộ nhận tín hiệu của ngoại vi nào đó.
Hình 1-11 mô tả bộ hợp kênh lối vào bộ nhận của khối truyền thông nối tiếp
bất đồng bộ vạn năng.

Hình 1-11: Bộ hợp kênh lối vào cho các ngoại vi
Có 5 bít trong thanh ghi RPINRx được sử dụng cho việc cấu hình các chân
lối vào của ngoại vi. Tên các thanh ghi tương ứng với từng ngoại vi được liệt kê

trong bảng 1-2.
Ví dụ: Việc cấu hình chân RX cho bộ UART1
Thanh ghi điều khiện bộ nhận của UART1 là thanh ghi RPINR18 với năm
bít U1RXR<4:0>. Giả sử, muốn cho chân RX của bộ nhận UART1 là chân RP10
thì:
RPINR18 = 0x0A
Tương tự như RPINRx, thanh ghi RPORx cũng gồm năm bít để xác định các
chân ra cho từng bộ ngoại vi.
Ví dụ: Muốn cấu hình chân TX của bộ UART1 là chân RP11 ta có:
RP11 được quản lý bởi thanh ghi RPOR5. Ta chỉ cần gán năm bít đầu của
thanh ghi RPOR5 bằng giá trị của ngoại vi tương ứng được mô tả trong bảng 1-3.
Như vậy ta có:
RPOR5 = 0x05
Formatted: French (France)

Đào Nam Thái-K16Đ2 Khoa Điện tử Viễn Thông
24

Bảng 1-2: Ngoại vi và các thanh ghi cấu hình lối vào tương ứng

Do khả năng thay đổi chân vào ra của ngoại vi linh hoạt, nên các chân này
cũng có thể bị thay đổi trong quá trình hoạt động của vi điều khiển. Để ngăn chặn
việc này, nhà sản xuất chip đã tích hợp thêm ba tính năng:
- Điều khiển chuỗi khóa thanh ghi bằng bít IOLOCK trong thanh OSCCON.
- Giám sát trạng thái liên tục. Bất kỳ việc thay đổi hoặc ghi trực tiếp vào
thanh ghi RPINRx và RPORx không mong đợi đều phát ra tín hiệu reset toàn bộ hệ
thống.
- Bít cấu hình khóa chân vi điều khiển. Sử dụng một bít IOL1WAY để xác
định việc cho phép ghi trực tiếp bít IOLOCK sau khi bít này đã được đặt.



Đào Nam Thái-K16Đ2 Khoa Điện tử Viễn Thông
25
Bảng 1-3: Ngoại vi và các bít cấu hình lối ra tương ứng

1.4.4 Các module giao tiếp
1.4.4.1 UART
UART của dsPIC có những đặc điểm chính sau:
- Hệ thống truyền thông bất đồng bộ hai chiều có hỗ trợ điều khiển luồng
bằng phần cứng.
- Có lựa chọn kiểm tra bít chẵn lẻ.
- Một hoặc hai bít dừng.
- Điều khiển luồng sử dụng hai chân UxCTS và UxRTS.
- Tốc độ từ 38 bps đến 10 Mbps khi xung hệ thống đạt 40 MIPS.
- Hỗ trợ bộ FIFO cho bộ đệm nhận và bộ đệm truyền với độ rộng 4 Byte.
- Phát hiện tràn và lỗi khung truyền.
- Hỗ trợ ký tự đặc biệt để đồng bộ và ngắt.
Sơ đồ phần cứng cơ bản của bộ UART gồm:
- Bộ phát Baud rate.
- Bộ phát bất đồng bộ.
- Bộ nhận bất đồng bộ.

Đào Nam Thái-K16Đ2 Khoa Điện tử Viễn Thông
26

Hình 1-12: Sơ đồ khối của bộ UART
Các thanh ghi liên quan:
UxMODE: Dùng để cấu hình các đặc trưng của bộ UART

- UARTEN: Cho phép sử dụng bộ UART khi bít này bằng 1, không cho phép

khi bằng không.
- UEN:
+ 11: Các chân UxTX, UxRX, BCLK được cho phép và sử dụng. UxCTS
được điều khiển bởi thanh ghi chốt cổng.
+ 10: UxTX, UxRX, UxCTS, UxRTS được cho phép và được sử dụng.
+ 01: UxTX, UxRX và UxRTS được sử dụng, UxCTS được điều khiển bởi
thanh ghi chốt cổng.
+ 00: UxTX, UxRX được sử dụng, UxRTS và UxCTS được điều khiển bởi
thanh ghi chốt cổng.
- BRGH:
+ 1 : bộ BRG phát 4 xung trong một chu kỳ bít.
+ 0: bộ BRG phát 16 xung trong một chu kỳ bít.
- PDSEL:
+ 11: 9 bit dữ liệu, không kiểm tra chẵn lẻ.
+ 10: 8 bít dữ liệu, kiểm tra lẻ.
+ 01: 8 bít dữ liệu, kiểm tra chẵn.
+ 00: 8 bít dữ liệu, không kiểm tra chẵn lẻ.

×