device-specific device-specific device-specific device-specific device-specific device-specific 0FFCAh 0FFC8h 0FFC6h 0FFC4h 0FFC2h 0FFC0h 2.1.5 CÁC CHẾ ĐỘ HOẠT ĐỘNG Họ MSP430 được thiết
Trang 1LỜI CAM ĐOAN
Đề tài “Mạch ổn định nhiệt độ” là một đề tài gần gũi với sinh viên ngành điện tử Và với việc đưa vào giảng dạy vi xử lý MSP430 thì việc tìm hiểu loại vi xử lý mới này thì cần thiết Vì vậy em chọn đề tài “Mạch ổn định nhiệt độ dùng MSP430” để làm đồ án vi xử lý cho mình
Trong quá trình thực hiện đề tài, có thể còn nhiều thiếu sót do kiến thức hạn chế nhưng những nội dung trình bày trong quyển báo cáo này là những hiểu biết và thành quả của em đạt được dưới sự giúp đỡ của giảng viên hướng dẫn là thầy Trần Hữu Danh
Em xin cam đoan rằng: những nội dung trình bày trong quyển báo cáo
đồ án này không phải là bản sao chép từ bất kỳ công trình đã có trước nào Nếu không đúng sự thật, em xin chịu mọi trách nhiệm trước nhà trường
Cần Thơ, ngày 30 tháng 11 năm 2011
Sinh viên thực hiện
Nguyễn Trần Hồng Điệp
Trang 2LỜI CAM ĐOAN
Đề tài “Mạch ổn định nhiệt độ dùng MSP430” Đề tài giúp em hiểu về MSP430 và cảm biến nhiệt độ DS18B20 Vì vậy em chọn đề tài này để làm đồ án
Vi xử lý cho mình
Trong quá trình thực hiện đề tài, có thể còn nhiều thiếu sót do kiến thức hạn chế nhưng những nội dung trình bày trong quyển báo cáo này là những hiểu biết và thành quả của em đạt được dưới sự giúp đỡ của giảng viên hướng dẫn là cô thầy Trần Hữu Danh
Em xin cam đoan rằng: những nội dung trình bày trong quyển báo cáo Niên luận 1 này không phải là bản sao chép từ bất kỳ công trình đã có trước nào Nếu không đúng sự thật, em xin chịu mọi trách nhiệm trước nhà trường
Cần Thơ, ngày 30 tháng 11 năm 2011
Sinh viên thực hiện
Nguyễn Trần Hồng Điệp
Trang 3LỜI CẢM ƠN
Hoàn thành được niên luận này em xin gửi lời cám ơn sâu sắc tới thầy Trần Hữu Danh, thầy đã trực tiếp hướng dẫn, theo sát, ân cần chỉ bảo em từng bước từ khi bắt đầu đồ án tới khi hoàn thành Em cũng không quên cám ơn các thầy cô trong Bộ môn Điện tử Viễn thông, các anh chị khóa trước và một số bạn sinh viên trong ngành Điện tử đã hỗ trợ kiến thức, cũng như những kinh nghiệm để em có thể thực hiện đề tài này
Dù đã cố gắng rất nhiều nhưng bài báo cáo không tránh khỏi những sai lầm, thiếu sót rất mong sự thông cảm và góp ý của thầy và các bạn
Xin chân thành cảm ơn!
Trân trọng!
Trang 4MỤC LỤC
CHƯƠNG 1: TỔNG QUAN 6
1.1 ĐẶT VẤN ĐỀ 6
1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ 6
1.3 PHẠM VI ĐỀ TÀI 6
1.4 PHƯƠNG PHÁP NGHIÊN CỨU-HƯỚNG GIẢI QUYẾT 6
1.4.1 Phương pháp nghiên cứu 6
1.4.2 Hướng giải quyết 6
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 8
1 TÌM HIỂU MSP430 8
2.1.1 TỔNG QUAN VỀ CẤU TRÚC VÀ CHỨC NĂNG HỌ MSP430 8
Giới thiệu 8
2.1.2 CÁC VÙNG ĐỊA CHỈ 9
2.1.2.1 Flash/ROM 10
2.1.2.2 RAM 10
2.1.2.3 Các module ngoại vi 10
2.1.2.4 Thanh ghi chức năng đặc biệt 10
2.1.3 TỔ CHỨC BỘ NHỚ 10
2.1.4 XỬ LÝ NGẮT 11
2.1.5 CÁC CHẾ ĐỘ HOẠT ĐỘNG 12
RISC 16 BIT CPU 13
2.1.6 GIỚI THIỆU BỘ XỬ LÝ TRUNG TÂM 13
2.1.6.1 Các thanh ghi CPU 14
2.1.6.2 Thanh ghi bộ đếm chương trình ( R0/PC) 15
2.1.6.3 Con trỏ ngăn xếp ( SP) 15
Thanh ghi trạng thái ( SR) 15
2.1.6.4 Thanh ghi sử dụng chung R4-R15 16
2.1.7 CÁC BỘ DAO ĐỘNG CƠ BẢN 16
2.1.7.1 Giới thiệu 16
2.1.7.2 Bộ dao động XT2 17
2.1.7.3 Bộ dao động số ( DCO) 18
Điều chỉnh tần số DCO: 18
Bộ điều khiển DCO 19
BCSCTL2, Basic Clock System Control Register 2 20
BCSCTL3, Basic Clock System Control Register 3 21
2.1.8 Các hoạt động vào/ra số 22
2.1.8.1 Thanh ghi dữ liệu vào PxIN 22
2.1.8.2 Thanh ghi dữ liệu ra PxOUT 22
2.1.8.3 Các thanh ghi định hướng PxDIR 22
2.1.8.4 Thanh ghi cho phép tăng/giảm điện trở PxREN 22
Thanh ghi chức năng lựa chọn PxSEL và PxSEL2 23
2.1.8.5 Những ngắt P1 và P2 23
2.1.8.6 Các thanh ghi I/O 24
2.1.9 TIMER A 25
2.1.9.1 Giới thiệu tổng quát Timer_A 25
2.1.9.2 Chế độ hoạt động của Timer_A 26
Up mode 27
Continuous mode 27
Up/Down mode 27
Trang 52.1.9.3 Các phương pháp Reset Timer_A 28
TAR, Timer_A Counter 28
TACCTLx, Capture/compare control 29
TACCRx, Timer_A capture/compare 30
TAIV, Timer_A Interrupt vector 31
2.1.10 BỘ BIẾN ĐỔI ADC10 31
2 TÌM HIỂU CẢM BIẾN DS18B20 32
2.2.1 Mô tả tính năng của DS1820: 32
2.2.2 Nguyên tắc hoạt động: 32
2.2.3 Tổ chức bộ nhớ: 33
2.2.4 Tổ chức bộ nhớ Scratchpad: 33
2.2.5 Trao đổi dữ liệu giữa vi điều khiển và DS1820 thông qua ba bước sau 33
CHƯƠNG 3: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU 35
3.1 SƠ ĐỒ KHỐI CỦA MẠCH 35
3.2 SƠ ĐỒ CHI TIẾT CỦA MẠCH 35
3.3 LƯU ĐỒ GIẢI THUẬT 36
3.4 CODE CHƯƠNG TRÌNH 36
3.5 KẾT QUẢ THỰC HIỆN ĐỀ TÀI 40
3.3.1 Ưu điểm 40
3.3.2 Khuyết điểm 40
TÀI LIỆU THAM KHẢO 41
Trang 6CHƯƠNG 1: TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ
Khi khoa học công nghệ ngày càng phát triển thì con người ngày càng muốn
tự động hóa tất cả các máy móc trong cuộc sống Ví dụ, con người chế tạo ra các loại cảm biến, các loại vi xử lý để thu thập thông tin từ môi trường (nhiệt độ, độ ẩm,
áp suất, ) để cho vi xử lý (vi điều khiển) có thể điều khiển các máy móc từ các số liệu thu thập được Và để làm được điều này, chúng ta cần tìm hiểu các loại cảm biến và vi xử lý, đặc biệt là các loại cảm biến và vi xử lý mới trên thị trường để theo kịp công nghệ hiện đại Do đó, để hoàn thành môn học Kỹ thuật vi xử lý, em chọn
đề tài “Mạch đo nhiệt độ dùng MSP430” để làm đồ án tốt nghiệp Mạch sử dụng loại vi xử lý MSP430 mới xuất hiện trên thị trường và càm biến nhiệt độ DS18B20 cũng khá mới mẻ với sinh viên ngành điện tử
có thể sử dụng nó Hơn nữa, đề tài này sẽ sử dụng cảm biến DS18B20 cũng là một loại cảm biến nhiệt độ mới Do đó, nội dung đề tài thì đã cũ nhưng phương pháp thực hiện là mới hoàn toàn
1.4 PHƯƠNG PHÁP NGHIÊN CỨU-HƯỚNG GIẢI QUYẾT
Tìm hiểu vi xử lý MSP430 (cấu tạo, tập lệnh, cách lập trình, các ngôn ngữ để lập trình, ), tìm hiểu cảm biến DS18B20 (cấu tạo, cách thu dữ liệu, )
Sử dụng cảm biến DS18B20 để thu nhiệt độ, sử dụng MSP430G2553 để xử
lý dữ liệu, dùng ngôn ngữ lập trình C để lập trình, hiển thị nhiệt độ bằng LED 7
Trang 7đoạn và mô phỏng các thiết bị bằng led đơn.
Trang 8CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
1 TÌM HIỂU MSP430 2.1.1 TỔNG QUAN VỀ CẤU TRÚC VÀ CHỨC NĂNG HỌ MSP430
Giới thiệu
MSP430 chứa 16 bit RISC CPU, các ngoại vi và hệ thống bộ định thời linh hoạt được kết nối với nhau theo cấu trúc VON-NEUMANN, có các Bus liên kết như: Bus địa chỉ bộ nhớ ( MAB), Bus dữ liệu bộ nhớ ( MDB) Đây là một bộ xử lý hiện đại với các mô đun bộ nhớ tương tự và những kết nối ngoại vi tín hiệu số, MSP430
đã đưa ra được những giải pháp tốt cho những nhu cầu ứng dụng với tín hiệu hỗn tạp
MSP430 có một số phiên bản như: MSP430x1xx, MSP430x2xx, MSP430x3xx, MSP430x4xx, MSP430x5xx Dưới đây là những đặc điểm tổng quát của họ vi điều khiển MSP430:
+ Cấu trúc sử dụng nguồn thấp giúp kéo dài tuổi thọ của Pin
- Duy trì 0.1µA dòng nuôi RAM
- Chỉ 0.8µA real- time clock
- 250 µA/ MIPS
+ Bộ tương tự hiệu suất cao cho các phép đo chính xác
- 12 bit hoặc 10 bit ADC-200 kskp, cảm biến nhiệt độ, Vref
- 12 bit DAC
- Bộ giám sát điện áp nguồn
+ 16 bit RISC CPU cho phép được nhiều ứng dụng, thể hiện một phần ở kích thước Code lập trình
- Thanh ghi lớn nên loại trừ được trường hợp tắt nghẽn tập tin khi đang làm việc
- Thiết kế nhỏ gọn làm giảm lượng tiêu thụ điện và giảm giá thành
- Tối ưu hóa cho những chương trình ngôn ngữ bậc cao như C, C++
- Có 7 chế độ định địa chỉ
- Khả năng ngắt theo véc tơ lớn
+ Trong lập trình cho bộ nhớ Flash cho phép thay đổi Code một cách linh hoạt, phạm vi rộng, bộ nhớ Flash còn có thể lưu lại như nhật ký của dữ liệu
+ Bộ định thời phụ tần số thấp: Hoạt động ở chế độ sẵn sàng sử dụng nguồn cực thấp
+ Bộ định thời chính ( Master Clock) tốc độ cao: Hoạt động xử lý tín hiệu hiệu suất cao
Trang 9
Hình I.2: Sơ đồ bộ nhớ của MSP430
Trang 102.1.2.1 Flash/ROM
Địa chỉ bắt đầu của Flash/ROM phụ thuộc vào độ lớn của Flash/ROM và còn tùy thuộc vào từng họ vi điều khiển Địa chỉ kết thúc của Flash/ROM là 0x1FFFFh Flash/ROM có thể sử dụng cho cả mã chương trình và dữ liệu Những bảng Byte hoặc Word có thể được tồn trử và sử dụng ngay trong Flash/ROM mà không cần copy vào RAM trước khi sử dụng chúng
Những bảng véc tơ được ánh xạ đến 16 Word phía trên của vùng địa chỉ Flash/ROM với ưu tiên ngắt cao nhất ở vùng địa chỉ cao nhất của Flash/ROM
mô đun ngoại vi 8 Bít
2.1.2.4 Thanh ghi chức năng đặc biệt
SFRs liên quan nhiều đến sự cho phép những tính năng của một số mô đun ngoại vi
và dùng để truyền những tín hiệu ngắt từ ngoại vi SFRs nằm ở 16 Byte thấp của vùng địa chỉ và được tổ chức bằng Byte SFRs chỉ có thể được truy cập bởi chỉ thị Byte
2.1.3 TỔ CHỨC BỘ NHỚ
Byte thì dùng để định vị trí của địa chỉ lẽ hoặc chẳn, còn Word thì chỉ sử dụng cho địa chỉ chẵn Vì vậy khi sử dụng những chỉ lệnh Word thì chỉ có địa chỉ chẵn thì được sử dụng Byte thấp của một Word luôn là số chẵn, Byte cao thì ở một số lẽ kế tiếp
Trang 11
INTERRUPT SOURCE
INTERRUPT FLAG
SYSTEM INTERRUPT
WORD
Power-up, external reset, watchdog, flash password, illegal instruction fetch
NMI, oscillator fault, flash memory access violation
device-specific device-specific device-specific Watchdog timer device-specific device-specific device-specific device-specific device-specific device-specific device-specific device-specific device-specific device-specific device-specific device-specific device-specific device-specific device-specific device-specific device-specific device-specific device-specific device-specific
PORIFG RSTIFG WDTIFG KEYV
NMIIFG ACCVIFG OFIFG
WDTIFG
RESET
(non)-maskable (non)-maskable (non)-maskable
maskable
0FFFEh
0FFFCh
0FFFAh 0FFF8h 0FFF6h 0FFF4h 0FFF2h 0FFF0h 0FFEEh 0FFECh 0FFEAh 0FFE8h 0FFE6h 0FFE4h 0FFE2h 0FFE0h 0FFDEh 0FFDCh 0FFDAh 0FFD8h 0FFD6h 0FFD4h 0FFD2h 0FFD0h 0FFCEh 0FFCCh
Trang 12device-specific device-specific device-specific device-specific device-specific device-specific
0FFCAh 0FFC8h 0FFC6h 0FFC4h 0FFC2h 0FFC0h
2.1.5 CÁC CHẾ ĐỘ HOẠT ĐỘNG
Họ MSP430 được thiết kế cho những ứng dụng sử dụng nguồn thấp và sử dụng ở nhiều chế độ hoạt động khác nhau Các chế độ hoạt động khác nhau ở 3 đặc điểm chính:
+ Mức độ sử dụng nguồn thấp
+ Tốc độ và lưu lượng dữ liệu
+ Mức độ làm nhỏ đi lượng tiêu thụ điện của các thiết bị ngoại vi
Hình II.7: Dòng tiêu thụ của MSP430x1xx ở các chế độ hoạt động
Ở chế độ nguồn thấp LPM0 đến LPM4 được thiết lập với các Bit SCG0, SCG1, OSCOFF, CPUOFF trong thanh ghi trạng thái Ưu điểm của các Bit điều khiển SCG0, SCG1, OSCOFF và CPUOFF trong thanh ghi trạng thái là chế độ hoạt động hiện tại sẽ được lưu trong Stack trong suốt quá trình ngắt diễn ra Chương trình sẽ quay về chế độ hoạt động trước đó nếu giá trị được lưu trong thanh ghi trạng thái không bị thay đổi trong suốt quá trình ngắt Chương trình có thể quay về một chế độ hoạt động khác nếu có sự thay đổi giá trị được lưu bên trong Stack trong suốt quá trình ngắt diễn ra Các Bít điều khiển và Stack có thể được truy cập bởi bất kì lệnh nào Các chế độ hoạt động của họ MSP430 được trình bày ở Bảng II.2
Mode SCG1 SCG0 OSCOFF CPUOFF CPU and Clocks Status
Trang 13Active LPM0 LPM1 LPM2 LPM3 LPM4
CPU off, MCLK off, SMCLK
on, ACKL on
CPU off, MCLK off, SMCLK
on, ACKL on
CPU off, MCLK off, SMCLK off, DCO off, ACKL on
CPU off, MCLK off, SMCLK
on, DCO off, ACKL on
CPU off, MCLK off, SMCLK off, DCO off, ACLK off
Bảng II.2: Các chế độ hoạt động cơ bản của MSP430
RISC 16 BIT CPU 2.1.6 GIỚI THIỆU BỘ XỬ LÝ TRUNG TÂM
CPU của họ vi điều khiển MSP430 mang những đặc điểm thiết kế đặc biệt như kĩ thuật tính toán rẽ nhánh, sử dụng ngôn ngữ lập trình cấp cao như C, C++ CPU còn
có thể định địa chỉ của một vùng địa chỉ bằng cách đánh dấu vùng nhớ
CPU mang những đặc điểm sau:
+ Cấu trúc RISC với 27 lệnh chỉ thị và 7 chế độ định địa chỉ
+ Đầy đủ thanh ghi dữ liệu bao gồm thanh ghi bộ đếm chương trình, thanh ghi trạng thái, thanh ghi con trỏ ngăn xếp
Trang 14
Hình III.1: Sơ đồ các khối chức năng của CPU + Hơn 16 bit thanh ghi tập tin giúp giảm bớt sự truy cập bộ nhớ
+ 16 bit Bus địa chỉ cấp phát dữ liệu trực tiếp
+ 16 bit Bus dữ liệu cấp phát trực tiếp những thao tác trên khối thông tin
+ Bộ sinh hằng ( Constant Generator ) cung cấp 6 giá trị tức thời thường sử dụng nhất và làm giảm được kích thước của Code lập trình
2.1.6.1 Các thanh ghi CPU
CPU có 16 thanh ghi 16 bit, 4 thanh ghi đầu là R0, R1,R2 và R3 là các thanh ghi có chức năng đặc biệt, trong khi 12 thanh ghi còn lại ( Từ R4 đến R15) dùng với mục đích sử dụng chung Nói chung 16 thanh ghi này là đặc trưng cho một bộ xử lý dùng tập lệnh rút gọn RISC CPU Sau đây là tóm tắt về các tính năng của các thanh ghi trong CPU:
Trang 152.1.6.2 Thanh ghi bộ đếm chương trình ( R0/PC)
Thanh ghi này chứa các lệnh kế tiếp được thực thi Mỗi lệnh này sử dụng một số chẵn của những Byte ( hai, bốn hoặc sáu) và PC được gia tăng một cách phù hợp Các lệnh này chứa dung lượng trong khoảng 64 KB và PC sắp xếp chúng theo địa chỉ
Hình III.2: Bộ đếm chương trình
2.1.6.3 Con trỏ ngăn xếp ( SP)
Khi một chương trình con được gọi, CPU nhảy đến chương trình con đó và thực thi
nó, sau đó quay trở về chương trình chính Do đó phải có một bộ nhớ tạm để lưu giữ địa chỉ của chương trình con đó trước khi CPU nhảy đến Đó là mục đích cơ sở của con trỏ ngăn xếp Có nhiều bộ xử lý sử dụng một bộ nhớ dành riêng cho con trỏ ngăn xếp nhưng với họ MSP430 thì sử dụng những địa chỉ cao của RAM Khi nhập địa chỉ vào hay lấy ra thì con trỏ ngăn xếp tự động điều chỉnh tăng lên hay giảm xuống
Thanh ghi trạng thái ( SR)
Thanh ghi trạng thái ( SR/R2) được sử dụng như là một thanh ghi nguồn hoặc thanh ghi đích gồm hệ thống các cờ ( là những Bit đơn) Một số cờ thường sử dụng là C,
Z, N và V Chúng được sử dụng trong các thuật toán hoặc các thao tác logic
Hình III.6: Mô tả về các Bit của thanh ghi trạng thái
+ Cờ V: Cờ tràn Cờ này được thiết lập mỗi khi kết quả của một phép tính số có dấu
quá lớn tạo ra Bit bậc cao làm tràn Bit dấu Cờ tràn chỉ được dùng để phát hiện lỗi trong các phép toán số học có dấu
+ SCG1: Bộ định thời hệ thống 1 Khi Bit này được thiết lập sẽ làm tắt SMCLK
+ SCG0: Bộ định thời hệ thống 0 Khi Bít này được thiết lập sẽ làm tắt DCO nếu
DCOCLK không được sử dụng cho MCLK và SMCLK
+ OSCOFF: Tắt bộ dao động Khi Bít này được thiết lập sẽ làm tắt bộ dao động
thạch anh LFXT1 khi LFXT1CLK không sử dụng cho MCLK hoặc SMCLK
+ CPUOFF: Khi Bít này được thiết lập sẽ làm tắt CPU
Trang 16+ GIE: Ngắt cho phép Khi Bít này được Set thì cho phép ngắt có che Khi ta Reset
thì ngắt có che này mất tác dụng
+ Cờ Z: Zero Bít Cờ Z được thiết lập khi kết quả của một Byte hoặc Từ là 0 và
được Clear khi kết quả khác 0
+ Cờ C: Cờ carry Cờ này thông thường dùng cho các lệnh toán học, được thiết lập
khi có một số nhớ sinh ra bởi phép cộng hoặc số mượn bởi phép trừ và được Clear nếu không có số nhớ
+ Cờ N: Phủ định Bít Cờ này được thiết lập khi kết quả của một Byte hoặc Word bị
phủ định và được Clear khi kết quả ngược lại
2.1.6.4 Thanh ghi sử dụng chung R4-R15
12 thanh ghi từ R4 đến R15 không có mục đích chuyên dụng, các thanh ghi này có thể sử dụng làm thanh ghi dữ liệu hoặc địa chỉ đều được vì đều là các giá trị 16 Bit,
từ đó giúp đơn giản hóa các hoạt động Một số qui ước nên được làm theo nếu chương trình được viết bằng hợp ngữ Những thanh ghi đặc biệt này nên được sử dụng để di chuyển các tham số và trả về các kết quả Tất cả các vấn đề này đều được giải quyết nếu chương trình được viết bằng C
2.1.7 CÁC BỘ DAO ĐỘNG CƠ BẢN 2.1.7.1 Giới thiệu
MSP430 sử dụng bộ định thời mà hệ thống có giá rẻ và sử dụng nguồn cực thấp Có
3 xung Clock bên trong nên người sử dụng có thể lựa chọn sao cho cân bằng giữa hiệu suất làm việc với nguồn điện thế tiêu thụ Một mô đun bộ định thời có 2 hoặc 3 nguồn xung Clock:
+ LFXT1CLK: Bộ dao động tần số thấp/ tần số cao, nó có thể được sử dụng với
tần số thạch anh 32768 Hz hoặc tần số thạch anh chuẩn, hoặc bộ cộng hưởng từ
450 KHz đến 8 MHz
+ XT2CLK: Bộ dao động tần số cao Bộ dao động này có thể được sử dụng với
thạch anh chuẩn, bộ cộng hưởng, hoặc nguồn xung Clock bên ngoài có tần số từ
450 KHz đến 8 MHz
+ DCOCLK: Bộ dao động được điều khiển bằng kĩ thuật số ( DCO)
Ba tín hiệu xung Clock ở trên có được là từ những mô đun Clock cơ bản như:
+ ACLK: Nguồn xung Clock bổ trợ ACLK được lưu trong bộ đệm LFXT1CLK và
được chia 1, 2, 4 hoặc 8 ACLK ở chương trình có thể được chọn cho những mô đun ngoại vi riêng rẽ
Trang 17Hình IV.1: Sơ đồ khối chức năng của bộ dao động MSP430
+ MCLK: Bộ định thời chủ MCLK có thể được chọn như là LFXT1CLK,
XT2CLK ( nếu sẵn có), hoặc DCOCLK MCLK được chia 1, 2, 4 hoặc 8 MCLK thì được sử dụng bởi CPU và hệ thống
+ SMCLK: Bộ định thời con SMCLK có thể được chọn như là LFXT1CLK,
XT2CLK ( nếu sẵn có), hoặc DCOCLK SMCLK được chia 1, 2, 4 hoặc 8 và được chọn cho những mô đun ngoại vi riêng rẽ
sẽ được thiết lập cản trở CPU bằng cách khóa XT2CLK
Trang 18Điều chỉnh tần số DCO:
Sau một PUC, RSELx = 7 và DCOx = 3, DCO bắt đầu với một tần số trung bình SMCLK và MCLK có nguồn từ DCOCLK Bởi vì CPU thực thi mã chương trình từ MCLK, mà MCLK thì lại bắt nguồn từ DCO Code chương trình được thực thi bắt đầu từ PUC và chậm hơn 2µs
Tần số của DCOCLK được thiết lập bởi các tính năng sau:
+ Bốn Bit RSELx cho phép lựa chọn 16 dãy tần số cho DCO Những dãy tần số này thì được mặc định cho từng họ MSP430 và được trình bày trong Datasheet của từng loại
+ Ba Bit DCOx của dãy DCO được lựa chọn bởi các bit RSELx đến 8 bước tần số được cách biệt xấp xỉ 10%
Trang 19+ Năm Bit MODx , chuyển đổi tần số được chọn bởi các bit DCOx và tần số kế tiếp cao hơn được thiết lập bởi DCOx + 1 Khi DCOx = 07h thì những bit MODx không chịu ảnh hưởng bởi vì DCO đã được thiết lập cao nhất cho việc lựa chọn dãy RSELx
Hình IV.5: Dãy DCOx và bước RSELx Đối với MSP430F2xx được hiệu chỉnh thanh ghi DCOCTL và BCSCTL1 cho việc tồn trữ những tần số đặc biệt trong bộ nhớ thanh ghi A Sử dụng những hiệu chỉnh thiết lập, thông tin được sao chép vào thanh ghi DCOCTL và BCSCTL1 Việc hiệu chỉnh này ảnh hưởng đến các Bit DCOx, MODx, RSELx và xóa các Bit đó, ngoại trừ XT2OFF thì được thiết lập trở lại Những Bit của BCSCTL1 có thể được đặt hoặc xóa bởi lệnh BIS.B hoặc BIC.B
; Set DCO to 1 MHz:
MOV.B &CALBC1_1MHZ,&BCSCTL1 ; Set range MOV.B &CALDCO_1MHZ,&DCOCTL ; Set DCO step + modulation
Bộ điều khiển DCO
Bộ điều khiển là sự trộn của 2 tần số DCO là fDCO và fDCO+ cung cấp một tần số phụ
có ích giữa fDCO và fDCO+ và mở rộng năng lượng Clock, giảm sự nhiễu điện từ ( EMI) Bộ điều khiển pha trộn fDCO và fDCO+ cho 32 chu kỳ DCOCLK và được thiết lập với Bit MODx Khi MODx = 0 thì bộ điều khiển tắt
Phương trình của bộ điều khiển :
t =(32− MODx) × tDCO + MODx × tDCO +1
Bởi vì fDCO thấp hơn tần số hiệu dụng và fDCO+1 thì cao hơn tần số hiệu dụng, độ sai lệch tần số gần bằng 0 Sự sai lệch tần số hiệu dụng bằng 0 mỗi 32 chu kỳ DCOCLK
Bộ điều khiển DCO được thiết lập bởi chương trình DCOCLK có thể được so sánh với tần số ổn định của giá trị đã biết và được hiểu chỉnh với các Bit DCOx, RSELx, MODx
Trang 20
Hình IV.6: Biểu đồ điều khiển DCO
BCSCTL2, Basic Clock System Control Register 2
+ SELMx: Bit 6-7, lựa chọn nguồn của MCLK
00: DCOCLK 01: DCOCLK 10: XT2CLK khi XT2 đang có sẵn trên Chip LFXT1CLK hoặc VCLOCK nếu XT2 không có sẵn trên Chip
11: LFXT1CLK hoặc VCLOCK
+ DIVMx: Bit 4-5, bộ chia MCLK
00: chia 1 01: chia 2 10: chia 3 11: chia 4
+ SELS: Bit 3, lựa chọn nguồn SMCLK
0: DCOCLK