2.2.7.1 Bộ tạo dao động chính bên trong.
Address Name Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Access
1,E8h IMO_TR Trim [7:0] W:00
Bảng 2.15: Thanh ghi của IMO.
Đầu ra của bộ IM0 có 2 loại, một loại là SYSCLK có thể là nguồn xung nhịp 24MHz ở bên trong hay nguồn xung nhịp bên ngoài, một loại là SYSCLK2x có tần số xung nhịp gấp đôi SYSCLK. Khi không có đầu vào chính xác cao từ bộ dao động thạch anh 32KHz thì độ chính xác của nguồn xung nhịp 24/48MHz ở bên trong sẽ là +/- 2,5% đối với giải nhiệt độ và hai mức điện áp hoạt động (3.3V+/- 0.3V và 5.0V+/- 5%). Không cần thêm một thành phần bên ngoài nào để đạt đợc mức độ chính xác này.
Có một lựa chọn để chốt pha của bộ dao động bên trong này sang bộ dao động thạch anh bên ngoài. Vì thế việc lựa chọn thạch anh và độ chính xác của nó quyết định tính chính xác của bộ dao động ngoài. Bộ dao động thạch anh bên ngoài cần phải ổn định trớc khi chốt tần số dao động của bộ dao động chính bên trong vào nguồn xung nhịp này.
Bộ IMO có thể đợc khoá khi sử dụng nguồn xung nhịp bên ngoài. Bởi vậy, mạch nhân đôi tần số (SYSCLK2x) có thể đợc ngắt để tiết kiệm năng lợng cho hệ thống. Lu ý rằng khi sử dụng nguồn xung nhịp bên ngoài, nếu nh SYSCLK2x đợc cần đến thì IMO không thể bị khoá.
Thanh ghi IMO-TR (Internal Main Oscillator Trim Registor)
Giá trị mặc định của tần số chíp cho chế độ hoạt động 5V đợc tải vào thanh ghi IMO_TR tại thời điểm khởi động. Bộ IMO sẽ hoạt động với độ sai lệch riêng trong dải điện áp từ 4.75 đến 5.25V khi giữ nguyên giá trị của thanh ghi này. Nếu nh chíp hoạt động ở điện áp thấp, mã của ngời sử dụng cần thay đổi nội dung của thanh ghi này. Để hoạt động với giải điện áp 3.0 V+/- 0.3V thì
phải thực hiện với một lệnh đọc bảng tới SROM (Supervisor Rom), nó có thể cung cấp một giá trị các tần số cho chế độ hoạt động này. Để hoạt động giữa hai giải điện áp này mã của ngời sử dụng có thể tự động thêm vào giá trị tốt nhất sử dụng hai cắt tần số có sẵn của nhà sản xuất.
Bit 7-0: Những bit này lu giữ giá trị cắt tần số của bộ IMO, giá trị của thanh ghi càng lớn thì tần số dao động của bộ IMO càng lớn.
2.2.7.2. Bộ dao động tốc độ thấp nội tại.
Address Name Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Access 1,E9h ILO_TR Bias Trim [7:0] Freq Trim [3:0] W:00
Bảng 2.16 : Thanh ghi ILO.
ILO là bộ phát xung nhịp nội tại tốc thấp 32KHz. Nó có khả năng sinh ra ngắt để đánh thức chế độ ngủ và reset lại đồng hồ Watchdog. Bộ tạo dao động này cũng đợc sử dụng nh là một nguồn xung nhịp cho các khối số.
Thanh ghi ILO_TR
Thanh ghi này đạt độ điều chỉnh cho ILO. Giá trị mặc định đợc đặt vào những bit Trim của thanh ghi trong quá trình khởi động. Nó dựa vào mặc định của nhà sản xuất. Nhà sản xuất khuyến cáo ngời sử dụng không đợc thay đổi giá trị của thanh ghi này.
Bít 7 và 6 : Không dùng đến
Bit 5 và 4: Bias Trim hai bit đợc sử dụng để đặt dòng điện bias trong nguồn dòng PTAT. Bit 5 đợc nghịch đảo vì thế chế độ bias trung bình đợc chọn khi cả hai bit =0. Dòng điện bias đợc đặt theo bảng sau.
Bias Current Bit 5 Bit 4
Medium Bias 0 0
Maximum Bias 0 1
Minimum Bias 1 0
Not Needed* 1 1
Cao hơn khoảng 15% so với chế độ Minimum Bias
Bit 3 tới bit 0: Freq Trim bốn bit đợc sử dụng để cắt tần số. Bit 0 là bit có trọng số nhỏ nhất, bit 3 là bit có trọng số lớn nhất. Bit 3 đợc nghịch đảo bên trong thanh ghi, bởi vậy, mã 8h sẽ làm cho tất cả các nguồn dòng tắt (tần số = 0KHz). Một mã 0h sẽ bật nguồn dòng có trọng số lớn nhất( tần số = trung bình). Một mã 7h sẽ bật tất cả các nguồn dòng (tần số = lớn nhất).
2.2.7.3. Bộ tạo dao dộng thạch anh 32KHz (ECO)
Mạch tạo dao động thạch anh 32 KHZ cho phép ngời sử dụng thay thế bộ tạo dao dộng bên trong (ILO) với một bộ tạo dao động bên ngoài với độ chính xác cao hơn, giá thành thấp và năng lợng tiêu hao ít.
Addres s
Name Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Access 1,E0h OSC_CR0 32k Select PLL
Mode
No Buzz
Sleep[1:0] CPU Speed [2:0] RW:00 1,EBh EC0_TR PSSDC[1: 0] W:00 X,Feh CPU_SCR 1 ECO_EXW ECO_E X IRAMDI S
Bảng 2.18 : Các thanh ghi của bộ dao động thạch anh.
Mạch tạo dao động thạch anh sử dụng một thạch anhvà hai tụ nhỏ là thành phần bên ngoài. Tất cả các thành phần khác đều nằm trong chíp PSoC. Bộ dao động thạch anh có thể cấu hình để cung cấp một tham chiếu đến bộ tạo dao động bên trong (IMO) trong chế độ PLL (Phase Lock Loop) để tạo ra nguồn xung nhịp hệ thống 24 MHz với độ chính xác cao hơn.
Chân XTALIN và chân XTALOUT hỗ trợ kết nối với thạch anh 32.768 KHz. Để có thể sử dụng bộ dao động thạch anh bên ngoài thì bit 7 của thanh ghi điều khiển bộ dao động OSC_CR0 cần phải đợc đặt =1 (mặc định là 0). (Xem hình 2.4).
Hình2.4: Tạo bộ dao động ngoài
Các bớc của chơng trình cần phải thực hiện trong việc chuyển đổi giữa bộ phát xung nhịp chậm nội tại sang bộ phát xung nhịp thạch anh 32 KHz nh sau:
1. Tại thời điểm reset, chíp bắt đầu hoạt động và nó sử dụng bộ phát xung nhịp chậm nội tại.
2. Lựa chọn khoảng thời gian nghỉ 1 giây bằng bit[4:3] trong thanh ghi OSC_CRO nh là khoảng thời gian để ổn định bộ phát xung nhịp.
3. Cho phép bộ phát xung nhịp thạch anh 32 KHz bằng cách đặt bit 7 trong thanh ghi OSC_CRO lên 1.
4. Bộ phát xung nhịp thạch anh 32KHz trở thành nguồn xung nhịp đợc lựa chọn tại thời điểm kết thúc một giây nói trên. khoảng thời gian nghỉ cho phép bộ phát xung nhịp có thời gian để ổn định trớc khi nó trở thành nguồn cung cấp xung nhịp. Ngắt sleep không đợc mở trong khi việc chuyển đổi đang diễn ra. Reset lại Sleep Timer để đảm bảo khoảng thời gian nghỉ cần thiết (Nếu nh nó không giao tiếp với bất kỳ một hệ thống thời gian thực nào). Lu ý rằng bộ phát xung nhịp tốc độ thấp vẫn tiếp tục chạy cho đến khi chuyển hẳn sang bộ phát xung nhịp ngoài nhờ vào ngắt của Sleep Timer.
XTALIn
P1[1] XTALOutP1[1]
Thạch anh
Vdd Vdd