1. Trang chủ
  2. » Thể loại khác

Đồ án điều khiển động cơ DC dùng psoc

100 7 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 100
Dung lượng 3,73 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

2.1.4 Các chế độ địa chỉ trong PSoC 2.1.4.1 Chế độ địa chỉ nguồn tức thời Source Immediate Những lệnh sử dụng chế độ địa chỉ này có giá trị nguồn đ-ợc lu giữ trong toán hạng 1 của lệnh,

Trang 1

Mở đầu

Công nghệ CSoC thực sự là một công nghệ u việt nó tích hợpcả Processor và bộ nhớ RAM, FLASH, cho phép ta lập trình các thuật

xử lý phức tạp một cách dễ dàng bằng ngôn ngữ C hoặc Assembler

So với các vi điều khiển thông dụng nh 8051, Motorola 68HC908,Microchip PIC16#73 có cấu trúc CPU ngoại vi cố định (fixel digitaland analog penpherals) thì chíp CSoC có khả năng mềm dẻo thíchứng với đa dạng ứng dụng và nhất là khả năng tái cấu hình(reconfigurable) tạo thành nhiều loại chip khác nhau trên một chip ởnhững thời điểm khác nhau trong một ứng dụng Ví dụ chip CSoCcủa hãng Cypress Micro System, ta có thể thiết kế cho nó thành mộtchip điều khiển ổn định nhiệt độ lò, ổn định và điều khiểnchiều quay, tốc độ quay của động cơ điện

Công nghệ chế tạo chip thông minh trong đo lờng và điềukhiển trên cơ sở CSoC có tính hiệu quả kinh tế, nhất là đối với chipPSoC của Cypress Micro System vì có khả năng xử lý hỗn hợp dữ liệutơng tự và số Nó cho ta khả năng phát triển các sản phẩm mớinhanh dễ dàng mở rộng những chức năng mới sau này Công nghệnày cho nhiều giải pháp lựa chọn và hỗ trợ đa dạng ứng dụng từ đo l-ờng, điều khiển, xử lý, truyền thông, kết nối mạng trên cùng mộtchip với giá thành thấp Hệ thống phần mềm hỗ trợ thiết kế chipPSoC Disigner của Cypress Micro System có đầy đủ các chức năngthiết kế, sắp xếp các khối chức năng, mô phỏng, lập trình, tìm lỗi

và nạp chíp hiện đại, có các module ứng dụng (user module) phongphú giúp ta không phải lập trình trên ngôn ngữ HDL (HardwareDescription Languages) vừa khó bao quát, vừa không hiệu quả.Ngoài ra giá thành của các chíp PSoC trắng từ 1- 5 USD/ chip rẻ hơnrất nhiều so các chip ngoại khác đây là một cơ hội cho các doanhnghiệp và các nhóm say mê nghiên cứu, sáng tạo có thể đạt đếnNhóm SV Thực Hiện: Lớp CĐ ĐT 1-K3 GVHD:Hà Thị

Trang 2

thành công lớn với các sản phẩm độc đáo có các chip thông minhchứa các ý tởng sáng tạo và bí quyết riêng của mình.

Trong số các hãng cung cấp công nghệ CSoC, thì công nghệPSoC của hãng Cypress Micro System là phù hợp hơn cả cho đo lờng

và điều khiển do:

+ Là công nghệ mới (đợc bình chọn là công nghệ sáng tạo năm2001) của thế giới và đợc định hớng để phát triển các chip thôngminh cho các thiết bị đo lờng và điều khiển có số lợng lớn và giáthành thấp

+ Là chip đầu tiên trên thế giới cho phép tạo ra các chip cóprocessor và khả năng xử lý đồng thời các tín hiệu tơng tự, số vàtruyền thông phong phú nhất trong các công nghệ CSoC hiện có(Mix – Signal Divice) Các giải pháp Processo + FPGA của hãng alterahoặc Xilinx và các hãng khác chỉ có thể cho phép ta tạo ra các chip

số có Processor(Digital IC) hoặc một số chức năng analog cố định

+ Là công nghệ có chức năng nhân cứng (MCA0 cho phép pháttriển các thuật toán xử lý nhanh các phép tính nh của chip DSP(Digital Signal Processing)

+ Đầu t cho các công cụ phát triển, hệ thống phần mền thiết

kế chip và các IP

(Intellectual Properties) rẻ hơn nhiều so với các công cụ phát triển vàphần mền thiết kế FPGA

+ Giá thành của các chip trắng PSoC cho nghiên cứu phát triển

và sản xuất loại nhỏ, loại lớn đều rẻ hơn nhiều lần so với các chipFPGA

+ Phơng pháp thiết kế các chip vợt ra khỏi ràng buộc của cácngôn ngữ thiết kế HDL phức tạp, kém hiệu quả mà áp dụng phơngpháp lập trình mới theo khối chức năng ở mức cao nên thời gian thiết

kế và chế tạo chip đợc rút ngắn đáng kể

+ Là một công nghệ tiên tiến ở nớc ngoài nhng lại rất phù hợptrình độ nghiên cứu ở Việt Nam do có công cụ hỗ trỡ hiện đại giúpcho các cơ sở của Việt Nam đễ dàng nhanh chóng tạo ra đợc các

Trang 3

sản phẩm mới của mình phục vụ thiết thực cho sản xuất và đờisống.

Chơng 1:

giới thiệu về psoc

PSoC là một từ viết tắt của cụm từ tiếng anh Programmablesystem on chip, nghĩa là hệ thống khả trình trên một chíp Cácchíp chế tạo theo công nghệ PSoC cho phép thay đổi đợc cấuhình bằng cách gán chức năng cho các khối tài nguyên có sẵn trênchíp Hơn nữa nó có thể kết nối tơng đối mềm dẻo các khối chứcnăng với nhau hoặc giữa các khối chức năng với các cổng vào ra.Chính vì vậy mà PSoC có thể thay thế cho nhiều chức năng nềncho một hệ thống cơ bản chỉ bằng một chíp đơn Thành phần củachíp PSoC bao gồm các khối ngoại vi số và tơng tự có thể cấu hình

đợc, một bộ vi xử lý 8 bit, bộ nhớ chơng trình (EEROM) có thể lậptrình đợc và bộ nhớ Ram khá lớn Để lập trình hệ thống, ngời sửdụng đợc cung cấp một phần mềm lập trình, ví dụ nh cho các chíp

Trang 4

PSoC của Cypress ngời lập trình phải có phần mềm PSoC Designer.Ngoài ra để cài đợc chơng trình điều khiển vào chíp thì ngời lậptrình phải có một kit phát triển do hãng chế tạo chíp cung cấp(hoặc một bộ nạp) Phần mền thiết kế đợc xây dựng trên cơ sở h-ớng đối tợng với cấu trúc module hoá Mỗi một khối chức năng là mộtmodule mềm Việc lập cấu hình cho chíp nh thế nào là tuỳ thuộcvào ngời lập trình thông qua một th viện chuẩn Ngời lập trìnhthiết lập cấu hình trên chíp chỉ đơn giản bằng cách muốn chíp cóchức năng gì thì kéo chức năng đó và thả vào khối tài nguyên sốhoặc tơng tự, hoặc cả hai tuỳ theo chức năng (phơng pháp lậptrình kéo thả) Việc thiết lập ngắt trên chân nào, loại ngắt là gì,chân vào ra hoạt động ở chế độ nh thế nào đều phụ thuộc vàoviệc thiết lập của ngời lập trình khi thiết kế và lập trình cho PSoC.Với khả năng đặt cấu hình mạnh mẽ này, một thiết bị đo lờng cóthể đợc gói gọn trên một chíp đơn duy nhất Chính vì lý do đó,hãng Cypress MicroSystems đã không gọi sản phẩm của mình là vi

điều khiển (àC) nh truyền thống, mà gọi là “Thiết Bị PSoC” (PSocdevice), và họ hi vọng rằng, với khả năng đặt cấu hình mạnh mẽ,ngời sử dụng sẽ có đợc những thiết bị điều khiển, những thiết bị

đó có giá rẻ, kích thớc nhỏ gọn, và sản phẩm PSoC của họ sẽ thay thế

đợc các thiết bị dựa trên vi xử lý hoặc vi điều khiển đã có từ trớc

đến nay

Chíp PSoC (CY8C27xxx) cung cấp:

*Bộ vi xử lý với cấu trúc Harvard

- Tốc độ của bộ vi xử lý lên đến 24MHz

- Lệnh nhân 8 bit x 8 bit, thanh ghi tích luỹ là 32 bit

- Hoạt động ở tốc độ cao mà năng lợng tiêu hao ít

- Dải điện áp hoạt động ở tốc độ cao từ 3.0 đến 5.25V

- Điện áp hoạt động có thể giảm xuống 1V sử dụng chế

độ kích điện áp

- Hoạt động trong dải nhiệt độ từ -40oc đến 85oc

*Các khối ngoại vi có thể sử dụng độc lập hoặc kết hợp

Trang 5

12 khối ngoại vi tơng tự đợc thiết lập để làm các nhiệm

vụ :+ Các bộ ADC lên tới 14 bit

+ Các bộ DAC lên tới 9 bit

+ Các bộ khuếch đại có thể lập trình đợc hệ số khuếch

đại

+ Các bộ lọc và các bộ so sánh có thể lập trình đợc

Hình 1.1: Sơ đồ khối cấu trúc của PSoC(CY8C27xx)

*8 khối ngoại vi có thể đợc thiết lập để làm nhiệm vụ:

- Các bộ định thời đa chức năng, đếm sự kiện, đồng hồthời gian thực, bộ điều chế độ rộng xung có và không

Trang 6

- Các module kiểm tra lỗi (CRC modunles).

- Hai bộ truyền thông nối tiếp không đồng bộ hai chiều

- Các bộ truyền thông SPI Master hoặc Slave có thể cấuhình đợc

- Có thể kết nối với tất cả các chân vào ra

*Bộ nhớ linh hoạt trên chíp

- Không gian bộ nhớ chơng trình Flash từ 4K đến 16K,phụ thuộc vào từng loại chíp với chu kỳ ghi xoá cho bộ nhớ

là 50.000 lần

- Không gian bộ nhớ Ram là 256byte

- Chíp có thể lập trình thông qua chuẩn nối tiếp (ISP)

- Bộ nhớ Flash có thể đợc cung cấp từng phần

- Chế độ bảo mật đa năng tin cậy

- Có thể tạo đợc không gian bộ nhớ Flash trên chíp lên tới2.304 byte

*Có thể lập trình đợc cấu hình cho từng chân của chíp

- Các chân vào ra ba trạng thái sử dụng Trigger Schmitt

- Đầu ra logic có thể cung cấp dòng 25mA với điện trởtreo cao hoặc thấp bên trong

- Thay đổi đợc ngắt trên từng chân

- Đờng ra tơng tự có thể cung cấp dòng tới 40mA

- Đờng ra đa chức năng có thể từ 6 đến 44 tuỳ thuộc vàotừng loại chíp

*Xung nhịp của chíp có thể lập trình đợc

- Bộ tạo xung dao động 24/48MHz ở bên trong(Độ chínhxác là 2,5% không cần thiết bị ngoài)

- Có thể lựa chọn bộ dao động ngoài lên tới 24MHz

- Bộ tạo dao động thạch anh 32,768KHz bên trong

- Bộ tạo dao động tốc độ thấp bên trong sử dụng choWatchdog và Sleep

*Ngoại vi đợc thiết lập sẵn

Trang 7

- Bộ định thời Watchdog và Sleep phục vụ chế độ antoàn và chế độ nghỉ.

- Module truyền thông I2C Master và I2C Slave tốc độ lêntới 400KHz

- Module phát hiện điện áp thấp đợc cấu hình bởi ngời

Trang 8

Chơng 2:

cấu trúc vi xử lý 2.1 Bộ vi xử lý – CPU

2.1.1 Giới thiệu chung.

Các họ chíp PSoC dựa trên bộ vi xử lý mạnh mẽ 8 bit với cấu trúcHarvart (cấu trúc Harvart là cấu trúc mà bus địa chỉ, bus dữ liệu

và tín hiệu điều khiển bộ nhớ chơng trình và bộ nhớ dữ liệu độclập nhau) Nó có 5 thanh ghi điều khiển hoạt động chính của CPU.Những thanh ghi này bị tác động bởi những lệnh khác nhau Ngời

sử dụng có thể truy cập trực tiếp vào các thanh ghi này thông quakhông gian bộ nhớ các thanh ghi Các thanh ghi của CPU đợc chotrong bảng sau:

Program Counter (Thanh ghi đếm chơng

trình )

CPU_PC

Accumulator (Thanh ghi chứa) CPU_A

Stack Pointer (Thanh ghi con trỏ) CPU_SP

Bảng 2-1: Các thanh ghi của CPU

Bộ đếm chơng trình là một thanh ghi 16 bit (CPU_PC), nó chophép ngời lập trình truy cập trực tiếp vào toàn bộ không gian bộnhớ chơng trình trên chíp (16 kbytes đối với thành viên lớn nhất)

Đây là một không gian nhớ liên tục và không cần phải tạo thànhtrang(no paging)

Thanh ghi chứa (Accumulator) là một thanh ghi đa mục đích,

nó thờng đợc sử dụng để lu giữ kết quả của bất cứ một lệnh nào

sử dụng chế độ địa chỉ nguồn

Thanh ghi chỉ số đợc dùng để lu giữ giá trị Offset (độ lệch)trong chế độ địa chỉ chỉ số Tiêu biểu là nó đợc dùng để địachỉ một khối dữ liệu bên trong không gian nhớ dữ liệu

Thanh ghi con trỏ Stack (Stack Pointer) lu giữ địa chỉ của

đỉnh ngăn Stack trong không gian dữ liệu Nó bị tác động bởi

Trang 9

những lệnh nh là PUSH, POP, LCALL, RETI và RET Nói chung là tấtcả những lệnh có liên quan đến Stack của phần mềm nó cũng cóthể ảnh hởng bởi lệnh SWAP và lệnh ADD.

Thanh ghi cờ (Flags) có ba bit trạng thái: bit cờ không –ZeroFlag bit [1]; bit cờ nhớ – Carry Flag bit[2]; bit Supervisory State [3].Bít cho phép ngắt toàn cục- Global Interrupt Enable bit[0] đợc dùng

để cho phép hoặc cấm toàn bộ các ngắt Các cờ trên bị ảnh hởngbởi lệnh toán học, những lệnh logic vv…

2.1.2 Thanh ghi của CPU

2.1.2.1 Thanh ghi cờ (Flags Register)

Resev ed

Resev ed

XI0 Sup

er

Carr y

Zer o

Global IE

Bảng 2-2: Thanh ghi cờ CPU_F

Bit7: Reseved (Cha đợc định nghĩa)

Bit6: Reseved(Cha đợc định nghĩa)

Bit5: Reseved(Cha đợc định nghĩa)

Bit4: XIO- Đợc đặt bởi ngời sử dụng cho phép lựa chọn giữa các dẫy thanh ghi

0=Bank0

1=Bank1

Bit3: Reseved(Cha đợc định nghĩa)

Bit2: Carry Đợc đặt bởi CPU để chỉ rõ toán tử logic hoặc toán học trớc đó có nhớ hay không

Trang 10

Bit0: Global IE- Quyết định toàn bộ các ngắt là cho phép hay bị

Bit Name Data[7

] Data[6] Data[5] Data[4] Data[3] Data[2] Data[1] Data[0]

Bảng 2-3: Thanh ghi chứa(CPU-A)

Bit [7:0]: 8 bit dữ liệu lu giữ kết quả của bất cứ một lệnh toán học

logic sử dụng chế độ địa chỉ nguồn.

POR(Power on reset): Trạng thái của bit sau khi reset nguồn.

System 1 : Do hệ thống điều chỉnh, ngời dùng không thể thay đổi

trực tiếp đợc giá trị của những bit này.

Bit Name Data[7

] Data[6] Data[5] Data[4] Data[3] Data[2] Data[1] Data[0]

Bảng2-4: Thanh ghi chỉ số(CPU-X)

Bit [7:0]: 8 bit dữ liệu lu giữ chỉ số cho bất cứ một lệnh sử dụng

Bit Name Data[7

] Data[6] Data[5] Data[4] Data[3] Data[2] Data[1] Data[0]

Bảng 2-5: Thanh ghi con trỏ Stack (CPU-SP)

Bit [7:0]: 8 bit dữ liệu lu giữ giá trị con trỏ Stack hiện thời (trỏ vào

đỉnh của Stack).

Trang 11

2.1.2.5 :Thanh ghi bộ đếm chơng trình

Bảng 2-6: Thanh ghi bộ đếm chơng trình (CPU-PC)

Bit[15:0]: 16 bit dữ liệu là byte thấp và byte cao của bộ đếm

Dạng lệnh 1 byte

Byte 08-Bit Opocde

Bảng 2-7: Dạng lệnh 1 byte

2.1.3.2 Lệnh 2 byte

Lệnh 2 byte là lệnh dùng duy nhất một toán hạng là dữ liệuhay địa chỉ Lệnh 2 byte sử dụng byte đầu tiên để chứa mã lệnh,byte thứ hai để chứa dữ liệu hoặc địa chỉ hoặc nó sử dụng 4 bit

đầu cho mã lệnh và 12 bit sau cho địa chỉ

Trang 12

Byte 0 Byte 1 Byte 2 8-Bit Opocde 16- Bit address (MSB, LSB) 8-Bit Opocde 8- Bit Data 8- Bit Data 8-Bit Opocde 8- Bit Address 8- Bit address

Bảng 2-9: Dạng lệnh 3 byte.

2.1.4 Các chế độ địa chỉ trong PSoC

2.1.4.1 Chế độ địa chỉ nguồn tức thời (Source Immediate)

Những lệnh sử dụng chế độ địa chỉ này có giá trị nguồn

đ-ợc lu giữ trong toán hạng 1 của lệnh, kết quả đđ-ợc lu giữ trong thanhghi A, thanh ghi F, thanh ghi SP hay thanh ghi X đợc chỉ rõ tronglệnh Lệnh sử dụng chế độ địa chỉ nay có độ dài là 2 byte

Opcode Operand1 Instruction Inmediate Value

Bảng 2-10 : Chế độ địa chỉ nguồn tức thời

Ví dụ:

ADD A,7 01 07 Giá trị tức thời là 7 đợc cộng vào thanh chứa, kết quả lu

vào thanh chứa.

MOV X,8 57 08 Giá trị tức thời là 8 đợc chuyển vào thanh ghi X.

AND F,9 70 09 Giá trị tức thời là 9 đợc AND với giá trị trong thanh ghi F,

kết quả cho phép AND đợc đặt trong thanh ghi F.

2.1.4.2 Chế độ địa chỉ nguồn trực tiếp (Source Direct)

Trong chế độ này thì địa chỉ nguồn đợc lu giữ trong toánhạng 1 của lệnh Trong suốt quá trình thi hành lệnh thì địa chỉ

đợc dùng để lấy giá trị nguồn từ RAM hoặc từ không gian địa chỉthanh ghi Kết quả đợc chỉ rõ trong lệnh là đặt vào thanh ghi Xhay thanh ghi A Tất cả những lệnh sử dụng chế độ địa chỉ trựctiếp đều là lệnh có độ dài 2 byte

Opcode Operand1 Instruction Source Address

Bảng 2-11: Chế độ địa chỉ nguồn trực tiếp

Ví dụ:

Trang 13

Mã Nguồn Mã Máy Chú Thích

ADD A,[7] 02 07 Giá trị trong bộ nhớ là 7 đợc cộng vào thanh chứa,

kết quả lu vào thanh chứa.

MOV X,REG[8] 5D 08 Giá trị trong không gian thanh ghi tại địa chỉ là

8 đợc chuyển vào thanh chứa.

2.1.4.3 Chế độ địa chỉ nguồn chỉ số (Source Indexed)

Trong chế độ này thì dữ liệu của nguồn đợc truy suất trongRAM hoặc không gian địa chỉ thanh ghi thông qua địa chỉ làgiá trị hiện thời của thanh ghi X cộng với một chỉ số Kết quả đợcchỉ rõ trong lệnh là lu trong thanh ghi X hay thanh ghi A Lệnh có

độ dài là 2 byte

Opcode Operand1 Instruction Source Index

Bảng 2-12: Chế độ địa chỉ nguồn chỉ số.

Ví dụ:

ADD A,[X+7] 03 07 Giá trị trong bộ nhớ tai địa chỉ X+7 đợc cộng

vào thanh chứa, kết quả lu vào thanh chứa.

MOV X,[X+8] 59 08 Giá trị trong không gian thanh ghi tại địa chỉ là

X+ 8 đợc chuyển vào thanh ghi X.

2.1.4.4 Chế độ địa chỉ đích trực tiếp (Destination Direct)

Những lệnh thuộc chế độ địa chỉ này có địa chỉ đợc lutrong mã máy của lệnh, địa chỉ nguồn đợc chỉ rõ trong lệnh làthanh ghi A hay X Tất cả những lệnh sử dụng chế độ địa chỉ này

đều là lệnh 2 byte

Opcode Operand1 Instruction Destination Address

Bảng 2-13: Chế độ địa chỉ đích trực tiếp

Ví dụ:

ADD [7],A 04 07 Giá trị trong thanh chứa đợc cộng với giá trị trong

bộ nhớ tại địa chỉ 7, kết quả lu vào bộ nhớ tại

Trang 14

địa chỉ 7 Giá trị thanh chứa không đổi.

MOV REG[8],X 60 08 Giá trị trong thanh chứa đợc di chuyển vào

không gian thanh ghi tại địa chỉ là 8, giá trị thanh chứa không đổi.

2.1.4.5: Chế độ địa chỉ chỉ số (Destination Indexed)

Những lệnh thuộc chế độ địa chỉ này có đích đợc xác

định bằng cách lấy giá trị của thanh ghi X cộng với một chỉ số làm

địa chỉ để truy xuất vào bộ nhớ, nguồn đợc xác định trong lệnh

là thanh ghi A hoặc một giá trị tức thời Những lệnh sử dụng chế

độ địa chỉ này đều là lệnh có độ dài 2 byte

Opcode Operand 1 Instruction Destination Indexed

Bảng 2-14: Chế độ địa chỉ đích chỉ số

Ví dụ:

ADD [X+7].A 05 07 Giá trị trong bộ nhớ tại địa chỉ X+7 đợc cộng vào

thanh chứa, kết quả đợc lu vào bộ nhớ tại địa chỉ X+7, thanh chứa không thay đổi

2.1.4.6 Chế độ địa chỉ đích trực tiếp, nguồn tức thời tức thời (Destination Direct, Source Immediate)

Những lệnh thuộc chế độ địa chỉ này có địa chỉ của đích

đợc lu giữ trong toán hạng 1 của lệnh Giá trị của nguồn đợc lutrong toán hạng 2 câu lệnh Tất cả những lệnh thuộc chế độ địachỉ này đều là lệnh có độ dài 3 byte

Opcode Operand 1 Operand 2 Instruction Destination Address Immediate Value

Bảng 2-15: Chế độ địa chỉ đích trực tiếp, nguồn tức thời

Ví dụ:

ADD [7],5 06 07 05 Giá trị trong bộ nhớ tại địa chỉ 7 đợc cộng với

giá trị tức thời 5, kết quả lu vào bộ nhớ tại địa chỉ 7

MOV REG[8],X 62 08 06 Giá trị tức thời 6 đợc di chuyển vào không gian

thanh ghi tại địa chỉ là 8,

Trang 15

2.1.4.7 Chế độ địa chỉ đích chỉ số, nguồn tức thời

(Destination Indexed, Source Immediate)

Trong chế độ này thì giá trị của thanh ghi X cộng với một chỉ

số đợc lấy làm địa chỉ để lấy dữ liệu trong bộ nhớ Còn dữ liệunguồn là một số trực tiếp Tất cả những lệnh thuộc chế độ địachỉ này đều là lệnh 3 byte

Opcode Operand 1 Operand 2 Instruction Destination Index Immediate Value

Bảng 2-16: Chế độ chế độ đích chỉ số, nguồn tức thời.

Ví dụ:

ADD [X+7],5 06 07 05 Giá trị trong bộ nhớ tại địa chỉ X+7 đợc

cộng với giá trị tức thời 5, kết quả lu vào bộ nhớ tại địa chỉ X+7

MOV REG[X+8],X 62 08 06 Giá trị tức thời 6 đợc di chuyển vào không

gian thanh ghi tại địa chỉ là X+8,

2.1.4.8 Chế độ địa chỉ đích trực tiếp, nguồn trực tiếp (Destination Direct , Source Direct)

Chỉ có duy nhất một lệnh sử dụng chế độ địa chỉ này, địachỉ của đích đợc lu giữ trong toán hạng 1 của lệnh còn địa chỉcủa nguồn đợc lu giữ trong toán hạng 2 của lệnh Tất cả nhữnglệnh sử dụng chế độ địa chỉ này đều là lệnh có độ dài 3 byte

Opcode Operand 1 Operand 2 Instruction Destination Address Source Address

Bảng 2-17: Chế độ địa chỉ đích trực tiếp, nguồn trực tiếp.

Ví Dụ:

ADD [7],[8] 5F 07 08 Giá trị trong bộ nhớ tại địa chỉ 8 đợc di

chuyển vào bộ nhớ tại địa chỉ 7

2.1.4.9 Chế độ địa chỉ sử dụng con trỏ tự động tăng địa chỉ

- Con trỏ là toán hạng nguồn (Source Indirect Post Increment).Chỉ có duy nhất một lệnh sử dụng chế độ địa chỉ này, địachỉ nguồn lu giữ trong toán hạng 1 hoạt động nh địa chỉ của mộtcon trỏ Trong suốt quá trình lệnh thi hành thì giá trị của con trỏ sẽ

Trang 16

quyết định xem dữ liệu nào trong Ram sẽ đợc đọc Sau khi đọcxong dữ liệu thì giá trị của con trỏ đợc tăng lên 1.

Opcode Operand 1 Instruction Source Address Pointer

Bảng 2-18 : Chế độ toán hạng nguồn

Ví Dụ:

ADD A,[8] 3E 08 Giá trị trong bộ nhớ tại địa chỉ 8 trỏ tới một

ô nhớ trong Ram Giá trị tại ô nhớ con trỏ tới

sẽ đợc di chuyển vào thanh chứa Sau đó giá trị trong bộ nhớ tại địa chỉ 8 đợc tăng lên

- Con trỏ là toán hạng đích (Destination Indirect PortIncrement)

Chỉ có duy nhất một lệnh sử dụng chế độ địa chỉ này, địachỉ đích đợc lu giữ trong toán hạng 1 hoạt động nh địa chỉ củamột con trỏ Trong suốt quá trình thực hiện lệnh thi hành thì giátrị của con trỏ sẽ quyết định xem dữ liệu nào trong Ram sẽ đợc

đọc Sau khi đọc xong dữ liệu thì giá trị của con trỏ đợc tăng lên1

MVI [8],A 3F 08 Giá trị trong bộ nhớ tại địa chỉ 8 trỏ tới một ô nhớ

trong Ram Giá trị trong thanh ghi chứa chuyển tới

vị trí ô nhớ mà con trỏ tới Sau đó giá trị trong bộ nhớ tại địa chỉ 8 đợc tăng lên

Nhận xét: Nh vậy ta thấy các chế độ địa chỉ trong PSoC cũng

t-ơng đối dễ hiểu, tóm lại nó chỉ bao gồm:

- Các dữ liệu tức thời là các con số: Ví dụ 5,6,7…

Trang 17

- Các dữ liệu trực tiếp đợc xác định thông qua các địa chỉ.

- Ta có thể nhận thấy rằng những lệnh lấy thanh A hoặc X nh

là một phần của toán hạng đều là lệnh 2 byte (xem các ví dụ trên)

Sở dĩ nh vậy là trong mã lệnh đã đợc định nghĩa sẵn là làm việcvới thanh ghi nào Chẳng hạn nh trong ví dụ của mục 2.2.1 thì ta

có thể thấy mã máy gồm 2 byte, byte đầu tiên là mã lệnh của lệnhcộng vào thanh chứa, byte thứ hai là giá trị đợc cộng vào thanhchứa

Nh vậy, với cách định nghĩa trên thì những lệnh nh vậy sẽ

đ-ợc tiết kiệm đđ-ợc chu kỳ hoạt động của chíp, từ đó rút ngắn đđ-ợcthời gian thực hiện lệnh Việc mã hoá nh vậy cho phép phát huy tốc

độ tính toán của chíp trong những ứng dụng đòi hỏi tốc độ tínhtoán cao

Ngoài ra còn phải phân biệt giữa cách truy suất bộ nhớ Ram

và bộ nhớ không gian thanh ghi Cách truy suất hai bộ nhớ đợc phânbiệt qua lệnh ví dụ:[7] là dữ liệu tại địa chỉ 7 trong Ram, nhngREG[7] lại là dữ liệu tại địa chỉ 7 trong không gian thanh ghi

2.2 Ngắt và bộ điều khiển ngắt

Bảng 2-20 : Các thanh ghi của bộ điều khiển ngắt.

Chú ý:

Trang 18

L: Những lệnh ảnh hởng đến cờ nh OR, AND và XOR có thể đợc dùng để thay đổi thanh ghi này.

X: Chữ ‘X’ nằm trớc dấu phẩy trong trờng địa chỉ chỉ rõ rằng thanh ghi này có thể đợc truy nhập mà không cần biết là dẫy thanh ghi nào đang đợc sử dụng.

Bộ điều khiển ngắt cho phép một đoạn mã của ngời lậptrình đợc thực hiện mỗi khi có một ngắt sinh ra từ các khối chứcnăng trong chíp PSoC Mỗi một khối số có một ngắt riêng và mỗi cộtkhối tơng tự cũng có một ngắt riêng Mỗi một ngắt cho nguồn cấp,chế độ ngủ, xung nhịp thay đổi, và một ngắt toàn cục cho cácchân vào ra đa chức năng

Bộ điều khiển ngắt cùng với những thanh ghi của nó cho phépcác ngắt có thể bị vô hiệu hoá đồng thời hoặc độc lập nhau Cácthanh ghi cung cấp một cách thức để ngời sử dụng có thể xóa tấtcả những ngắt đang chờ và thông báo ngắt, hoặc có thể xoá mộtcách độc lập hay riêng biệt thông báo ngắt và ngắt chờ Một kỹthuật phần mềm đợc cung cấp để cho phép ngời lập trình thiếtlập ngắt bằng kỹ thuật này rất mạnh mẽ và hữu ích cho việc pháttriển mã nguồn, khi mà nó không có đủ hệ thống phần cứng hoànchỉnh để sinh ra một ngắt thực

Mức u tiên ngắt Địa chỉ Tên ngắt 0(Cao nhất) 0000h Reset

1 0004h Supply Voltage Monitor

Bảng 2-21 : Bảng vecter ngắt của CY8C27xxx

Trang 19

2.2.1: Mô tả cấu trúc của bộ điều khiển ngắt

Hình 2-2: Sơ đồ khối hoạt động của bộ điều khiển ngắt.

Interrupt Source: Nguồn ngắt (bộ định thời, các chân vào ra đa chức năng)

Interrupt Taken or INT_CLRx Write: Thi hành ngắt hoặc xoá ngắt

INT_MSKx: Lập mặt nạ che ngắt

Post Interrupt: Thông báo ngắt

Pending Interrupt: Ngắt chờ

Priority Encoder: Bộ mã hoá mức u tiên của ngắt

GIE(CPU_F[0]): Cho phép ngắt toàn cục (Global Interrupt Enable)

Interrupt Request: Yêu cầu ngắt

Dẫy các sự kiện xẩy ra khi một ngắt đợc thi hành nh sau:

1 Khi một ngắt đợc kích hoạt, có thể là do một điều kiệnngắt đợc sinh ra (do tràn bộ đếm chẳng hạn) và trớc đó thông báongắt cho phép bởi thanh ghi mặt nạ che ngắt, hoặc có một ngắt

đang chờ đợc xử lý và GIE (global Interrupt enable- cho phép ngắttoàn cục) đợc đặt từ 0 sang 1 trong thanh ghi cờ của CPU

2 Lệnh thi hành hiện thời kết thúc ở biên giới lệnh (biên giớilệnh là thời điểm CPU chuyển từ lệnh này sang lệnh khác)

3 Thủ tục ngắt bên trong đợc thực hiện, tiêu tốn 13 chu kỳmáy Trong khoảng thời gian này CPU thực hịên những công việcsau:

- Lu byte cao, byte thấp của bộ đếm chơng trình (PCH vàPCL) và thanh ghi cờ (CPU_F) vào trong Stack theo thứ tự trên

Trang 20

- Thanh ghi cờ đợc xoá trắng và từ đó bit GIE bị xoá về 0 vànhững ngắt mới sinh ra tạm thời bị cấm.

- Byte cao của bộ đếm chơng trình (PC[15:8]) đợc xoá về 0

- Vector ngắt đợc đọc từ bộ điều khiển vetor ngắt và giá trịcủa nó đợc đặt vào trong byte thấp của bộ đếm chơng trình trỏvào địa chỉ thích hợp trong bảng vetor ngắt

4 Chơng trình sẽ thi hành vetor trong bảng vetor ngắt Nhìnchung thì một lệnh LJMP trong bảng vetor ngắt sẽ chuyển sự thihành của CPU tới trình phục vụ ngắt của ngời dùng để phục vụngắt này

5 Trình phục vụ ngắt đợc thi hành Lu ý rằng tất cả các ngắt

đều bị vô hiệu hoá kể từ khi bit GIE= 0 Các ngắt khác có thể đợc

mở lại trong trình phục vụ ngắt nếu cần thiết bằng cách đặt bitGIE=1 (hãy cẩn thận trong việc này bởi vì nó sẽ làm cho tràn stack)

6 Khi phục vụ ngắt kết thúc với lệnh RETI thì thanh ghi cờ(CPU_F), byte thấp và byte cao của bộ đến chơng trình đợc lấy rakhỏi Stack theo đúng trình tự trên Từ khi thanh ghi cờ (CPU_F) đợckhôi phục lại giá trị thì nó sẽ cho phép các ngắt (GIE=1)

7 Chơng trình sẽ bắt đầu thi hành ở lệnh kế tiếp, ngay saukhi lệnh đợc thực hiện trớc khi xẩy ra ngắt Tuy nhiên, nếu nh cóngắt đang chờ đợc phục vụ thì nó sẽ đợc thực hiện trớc

2.2.2 Các thanh ghi ngắt

Bảng 2-20 đã cho ta một cách nhìn tổng quát về mối quan

hệ của các thanh ghi đối với hoạt động của bộ điều khiển vetorngắt chi tiết về sử dụng thanh ghi đợc trình bầy sau đây:

2.2.2.1 Thanh ghi INT_CLRx

Có 3 thanh ghi xoá ngắt (INT_CLR0, INT_CLR1và INT_CLR3) cóthể đợc quy vào tên gọi chung INT_CLRx Những thanh ghiINT_CLRx là tơng tự nh những thanh ghi INT_MSKx nghĩa là chúnggiữ một bit cho mỗi nguồn ngắt Tuy nhiên, về mặt chức năng thìthanh ghi INT_CLRx lại giống thanh ghi INT_VC mặc dùng chúng hoạt

Trang 21

động độc lập nhau Khi một thanh ghi INT_CLRx đợc đọc thì bất

kỳ bit nào đợc đặt đều chỉ rõ là ngắt nào đã thông báo cho tàinguyên phần cứng đó Bởi vậy, đọc những thanh ghi đó sẽ giúpcho ngời sử dụng xác định đợc tất cả các thông báo ngắt

Cách một giá trị riêng rẽ đợc ghi vào thanh ghi INT_CLRx đợcquyết định bởi bit ENSWINT (Enable Software Interrupt) trongthanh ghi INT_MSK3

2.2.2.2 Thanh ghi INT_MSKx.

Có 3 thanh ghi mặt nạ che ngắt (INT_MSK0, INT_MSK1 vàINT_MSK3) có thể đợc quy định vào thanh ghi có tên gọi chungINT_MSKx Nếu đợc xoá thì mỗi bit trong thanh ghi INT_MSKx sẽngăn chặn một ngắt tơng ứng với bit đó trở thành một ngắt chờ

xử lý (đầu vào của bộ mã hoá u tiên) Tuy nhiên một ngắt vẫn cóthể đợc thông báo ngay cả khi mặt nạ của nó là 0 Nghĩa là tất cảcác bit trong thanh ghi INT_CLRx đều độc lập với các bit trongthanh ghi INT_MSKx Nếu một bit trong thanh ghi INT_MSKx đợc set

=1 thì nguồn ngắt kết hợp với bit mặt nạ của nó sẽ sinh ra mộtngắt để trở thành ngắt chờ

2.2.2.3 Thanh ghi INT_VC.

Thanh ghi INT_VC thực hiện 2 nhiệm vụ Khi thanh ghi đợc đọcthì nó sẽ trả về giá trị của ngắt chờ có mức u tiên cao nhất Ví dụ :Nếu ngắt GPIO và ngắt I2C đang ở vị trí chờ và thanh ghi INT_VC

đợc thì nó sẽ đọc ra giá trị 1CH (Là giá trị của ngắt GPIO) Tuynhiên, nếu không có ngắt nào đang ở trạng thái chờ thì việc đọcthanh ghi INT_VC sẽ trả về giá trị 00H Đây là giá trị của vetor resettrong bảng vector ngắt

2.2.2.4 Thanh ghi CPU_F.

Chỉ có bit GIE trong thanh ghi CPU_F là có ảnh hởng tới bộ

điều khiển ngắt, bit này là bit cho phép ngắt toàn cục (GlobalInterrupt Enable) Chỉ khi bit này đợc set thì CPU mới có thể thựchiện một ngắt chờ

Trang 22

2.3 Các cổng vào ra đa chức năng

Cổng vào ra đa chức năng cung cấp cho CPU một giao diện vớibên ngoài Chúng đòi hỏi một số lợng lớn thanh ghi cấu hình để hỗ trợ cho nhiều hoạt động vào/ ra bao gồm cả số và tơng tự

Addres

s Name Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Access0,xxh PRTxDR Data Registor (Thanh ghi dữ liệu ) RW:00 0,xxh PRTxIE Bit Interrupt Enable (Bit cho phép ngắt) RW:00 0,xxh PRTxGS Globol Select (Lựa chọn toàn cục) RW:00 0,xxh PRTxDM

2 Driver Mode 2 (Thanh ghi hoạt động chế độ 2) RW:FF1,xxh PRTxDM

0 Driver Mode 0 (Thanh ghi hoạt động chế độ 0) RW:001,xxh PRTxDM

1 Driver Mode 1 (Thanh ghi hoạt động chế độ 1) RW:FF1,xxh PRTxIC0 Interrupt Control 0 (Thanh ghi điều khiển ngắt 0) RW:00 1,xxh PRTxIC1 Interrupt Control 1 (Thanh ghi điều khiển ngắt 1) RW:00

Bảng 2-22: Các thanh ghi vào ra đa chức năng.

Chú ý: Ký tự “X” sau dấu phẩy trong trờng địa chỉ có nghĩa

là các cổng vào ra đều có riêng biệt các thanh ghi trên Mỗi mộtcổng thì thanh ghi sẽ có một địa chỉ riêng Nhng để dễ hiểu tachỉ cần xét chung cho trờng hợp tổng quát

Các cổng vào đa chức năng đều có độ rộng là 8 bit/1cổng.Mỗi một cổng vào/ra bao gồm 8 khối GPIO giống hệt nhau Mỗi mộtkhối GPIO đều đợc kết nối với bit có số thứ tự tơng ứng trong địachỉ và thanh ghi Bởi vậy, những thanh ghi trong bảng 2-22 thực sựchỉ dành cho một cổng (bao gồm 8 khối GPIO) Trong đó thì vịtrí của các bit sẽ chỉ rõ là khối GPIO nào trong 8 khối đợc điềukhiển với cổng vào ra

Mỗi một khối GPIO có thể đợc sử dụng cho những kiểu vào rasau:

- Vào ra số (Vào ra số điều khiển bởi phần mềm)

- Vào ra toàn cục (Vào ra cho các khối PSoC số)

- Vào ra tơng tự (Vào ra cho các khố PSoC tơng tự)

Mỗi một chân vào ra đều có vài chế độ hoạt động cũng nh làkhả năng tạo ngắt Trong khi tất cả chân đều đợc nối vào đờng

Trang 23

vào ra số, thì một vài chân lại không đợc kết nối với chức năng vào

ra của khối tơng tự hoặc bus toàn cục

Vào ra số.

Một trong những chức năng hoạt động cơ bản của cổng vào

ra đa chức năng là cho phép CPU gửi thông tin ra ngoài chíp và lấythông tin từ bên ngoài vào Điều này đợc thực hiện nhờ thanh ghi dữliệu cổng (Port Data Register- PRTxDR) Việc viết dữ liệu vào thanhghi PTRxDR sẽ lu lại trạng thái dữ liệu, mỗi bit cho một chân GPIO.Trong chế độ thờng (Standart Non-Bypass) thì mỗi chân GPIO sẽlập lại bit dữ liệu đó Nghĩa là khi ta viết một giá trị vào trongthanh ghi dữ liệu PRTxDR thì ở đầu ra của cổng tơng ứng sẽ cógiá trị giống nh trong thanh ghi dữ liệu Điện áp thực ở chân ra phụthuộc vào chế độ hoạt động của chân tại bên ngoài đợc nối vàochân đó (Xem cấu trúc của một chân vào ra để hiều rõ thêm) CPU có thể đọc giá trị của một cổng bằng cách đọc giá trịcủa thanh ghi PRTxDR Khi CPU đọc giá trị của PRTxDR thì giá trị

điện áp hiện thời của chân vào ra sẽ đợc chuyển đổi sang giá trịlogic và đợc trả về cho CPU Hoạt động này sẽ đọc giá trị điện ápcủa chân vào ra chứ không phải là đọc về giá trị chốt của thanhghi PRTxDR

Vào ra toàn cục (Global IO).

Các cổng vào ra đa chức năng cũng đợc nối liền với các khối sốthông qua các vào ra toàn cục Tính năng vào ra toàn cục của mỗicổng đợc mặc định ở trạng thái tắt Để sử dụng đợc tính năngnày thì có 2 thông số cần phải thay đổi

Thứ nhất để cấu hình cho một chân GPIO hoạt động nh làmột đầu vào toàn cục thì bit lựa chọn cổng toàn cục cần phải đợcset để yêu cầu GPIO sử dụng thanh ghi PRTxGS

Trang 24

Thứ hai là chế độ hoạt động của GPIO cần phải đa về trạngthái cao trở Để cấu hình cho chân GPIO hoạt động nh là một đầu

ra toàn cục thì bit lựa chọn cổng toàn cục cần phải đợc set lầnnữa Nhng trong trờng hợp này thì chế độ hoạt động của GPIO làbất kỳ trừ khi độ cao trở

Vào ra tơng tự.

Tín hiệu tơng tự có thể đợc truyền dẫn giữa CPU và châncủa chíp thông qua chân AOUT của khối Chân này đợc nối với khốithông qua một điện trở (khoảng 300Ω) Chân vào ra đa chứcnăng cần phải đa về chế độ cao trở trong trờng hợp này

Các ngắt của khối GPIO.

Mỗi một khối GPIO đều có thể đợc cấu hình một cách độc lậpcho khả năng ngắt Các khối GPIO đợc cấu hình cho phép lựa chọnngắt cho từng chân và cũng có thể lựa chọn kiểu ngắt phù hợp.Nghĩa là các khối có thể sinh ra ngắt khi chân ở mức logic cao,thấp hoặc khi nó thay đổi so với lần đọc trớc Các khối đều có một

đầu ra ngắt riêng (INT0), nó đợc nối với các khối GPIO khác bằngmột kiều nối dây loại OR

Do tất cả các chân đều đợc nối với nhau theo kiểu OR để sửdụng chung một hệ thống ngắt GPIO Nếu một ngắt GPIO đợc chia

sẻ cho nhiều chân vào ra thì trình phục vụ ngắt của ngời sử dụngcần phải sử dụng vài kỹ thuật đợc thiết kế sẵn để quyết địnhxem chân nào đợc chọn là nguồn sinh ngắt

Sử dụng một ngắt GPIO yêu cầu những bớc sau:

1 Đặt chế độ ngắt cho khối chân GPIO

2 Mở bit ngắt cho khối chân GPIO

3 Mở bit mặt nạ ngắt cho ngắt GPIO

4 Xác nhận bit ngắt toàn cục GIE

Trang 25

2.3.1 Mô tả cấu trúc của một chân vào ra đa chức năng.

Sơ đồ khối chính của một khối GPIO đợc minh hoạ tronghình 2-4 Lu ý rằng một vài chân không có đủ các chức năng ngắt

nh hình vẽ mà nó phụ thuộc vào kết nối bên trong

Hình2-3: Sơ đồ khối chế độ ngắt của GPIO

Hình 2-4: Sơ đồ một khốiGPIO

Trang 26

2.3.2 Các thanh ghi của GPIO

Đối với một khối GPIO đã đợc lựa chọn, những thanh ghi độc lập đợc xác định địa chỉ nh trong bảng 2-23 Trong phần tên của thanh ghi, ký hiệu “x” là số thứ tự của cổng Đợc cấu hình theo cấp

độ chíp (x=0 tới 7) DA[1:0] đợc quy vào 2 trọng số nhỏ nhất của

địa chỉ thanh ghi

Bảng 2-23: Địa chỉ bit của thanh ghi bên trong

2.3.2.1: Thanh ghi PRTxDR

Ghi dữ liệu vào một bit trong thanh ghi PRTxDR sẽ làm chotrạng thái đầu ra của chân tơng ứng ở mức cao (DIN=1) hoặc ởmức thấp (DIN=0) Trừ khi chế độ bypass đợc lựa chọn (hoặc I2CEnable= 1 hay thanh ghi lựa chọn toàn cục đợc viết ở mức cao).Việc đọc giá trị của PRTxDR sẽ trả về giá trị thực trạng tháicủa chân, đợc quan sát bởi bộ đệm đầu vào Giá trị đó có thểkhông giống với giá trị mong muốn ở đầu ra nếu nh tải đợc nối vớichân quá lớn

2.3.2.2 Thanh ghi PRTxIE

Thanh ghi PRTxIE đợc dùng để mở và đóng việc cho phépngắt nội tại tới một khối GPIO Giá trị 1 sẽ cho phép ngắt đầu raINT0 và giá trị 0 sẽ cho phép ngắt đầu ra INT0 do đó có thể ởtrạng thái trở cao

2.3.2.3 Thanh ghi PRTxGS

Thanh ghi PRTxGS đợc sử dụng để lựa chọn khối cho sự kếtnối tới đầu vào hoặc đầu ra toàn cục Việc viết giá trị logic caovào thanh ghi này sẽ cho phép global bypass Nếu chế độ cổng ra

Trang 27

là cao trở thì chân đó đợc lựa chọn cho đầu vào toàn cục Nếuchế độ cổng ra khác chế độ cao trở thì chân đó đợc lựa chọn là

đầu ra toàn cục, bỏ qua giá trị của thanh ghi dữ liệu (giả sử I2CEnable=0) Nếu thanh ghi đợc xoá về không thì chức năng vào ratoàn cục của chân đó bị khoá

2.3.2.4 Thanh ghi PRTxDMx

Có 8 chế độ điều khiển cho mỗi một chân của cổng Ba bitchế độ đợc sử dụng để lựa chọn một trong 8 chế độ nói trên Babit chế độ đợc phân chia trong ba thanh ghi khác nhau, (PRTxDM0,PRTxDM1, PRTxDM2) Vị trí tơng ứng của bit trong ba thanh ghi sẽtơng ứng với vị trí chân ra của cổng (Ví dụ ba bit điều khiển chochân P2[1] sẽ là bit PRT2DM0[1], PRT2DM1[1], PRT2DM2[2]) Tuyrằng ba bit này đợc phân trong ba thanh ghi khác nhau nhng chúnglại hay đợc sử dụng cùng nhau theo các cặp bit tơng ứng Ví dụ đểxét chế độ cho chân ra P2[1] thì ta quan tâm tới các bit trongDM2, DM1, DM0 hay DM[2:0], trong bảng sau sẽ cho ta cái nhìntổng quan về sự phân chia này

thấp, cho phép đầu vào số011b Resistive Pull Up Khoẻ ở mức thấp, điện trở treo

ở mức cao100b Open Drain High Chậm, khoẻ ở mức cao, trở

kháng cao ở mức thấp101b Slow Strong

Driver Chế độ chậm, khoẻ ở mức cao và thấp 110b High Impedance,

Analog Chế độ cao trở cả mức cao và thấp, đầu vào bị khoá 111b Open Drain Low Chế độ chậm, khoẻ ở mức

thấp, cao trở ở mức cao

Trang 28

Bảng 2-24: Các chế độ điều khiển chân ra của chíp.

2.3.2.5 Thanh ghi PRTxICx

Chế độ ngắt của từng châm đợc quyết định bởi các bit tronghai thanh ghi PRTxIC0 và PRTxIC1 chúng đợc quy vào là IM0 và IM1hay IM[1:0]

Có 4 chế độ ngắt có thể cho chân của cổng Hai bit chế độ

đợc yêu cầu để lựa chọn các chế độ nói trên và từng cặp bit này

đợc phân chia trong 2 thanh ghi khác nhau (PRTxIC0 và PRTxIC1)

Vị trí của bit là tơng ứng với vị trí của chân ví dụ chân 2 củacổng 1 sẽ tơng ứng với bit 2 trong cả hai thanh ghi PRT1IC0 vàPRT1IC1 Từng cặp bit này đợc xem nh là một nhóm Bảng sau sẽcho ta thấy rõ hơn về các chế độ ngắt trong GPIO

Chế Độ Ngắt

00b Vô hiệu hoá ngắt, không xác nhận đầu ra

INT001b Xác nhận ngắt khi chân ở mức thấp10b Xác nhận ngắt khi chân ở mức cao

110 Xác nhận ngắt khi có sự thay đổi trạng thái

Chế độ 10b có tác dụng là khối GPIO sẽ xác nhận một đờngngắt (INT0) khi điện áp của chân ở mức cao Bit cho phép đờngngắt của khối GPIO đợc đặt lên mức cao

Chế độ 11b có tác dụng là khối GPIO sẽ xác nhận một đờngngắt (INT0) khi điện áp của chân đối lập so với giá trị đọc trớc

đó Chế độ này thay đổi theo hai chế độ trên, tuỳ thuộc vào giátrị mà trớc đó nó đọc đợc từ cổng trong quá trình đọc thanh ghidữ liệu cổng (PRTxDR) Nếu trớc đó nó đợc giá trị 0 từ GPIO thì

Trang 29

GPIO sẽ chuyển sang ngắt ở mức độ cao Còn nếu giá trị nó đọc

đợc trớc đó là 1 thì GPIO sẽ chuyển sang ngắt ở mức thấp

Hình 2-5 : Chế độ ngắt 11b của GPIO.

GPIO Pin Interrpt Enble Set : Cho phép ngắt của chân GPIO

Interruput Occus : Xảy ra ngắt

Pin State Waveform : Dạng xung ở chân ra

Hình 2-5 giả thiết rằng bit cho phép ngắt toàn cục GIE=1, bitmặt nạ ngắt đã đợc đặt =1, chế độ ngắt của GPIO là 11b Sựthay đổi chế độ ngắt khác với các chế độ khác dựa vào giá trị mà

nó đọc đợc trớc đó của chân để quyết định nếu nh trạng tháicủa chân thay đổi Vì thế, cổng chứa chân GPIO quan tâm cầnphải đợc đọc trong suốt quá trình phục vụ ngắt Nếu cổng không

đợc đọc thì chế độ ngắt sẽ chỉ hoạt động ở chế độ cao nếu giátrị trớc đó là 0 và chế độ mức thấp nếu giá trị trớc đó là 1

2.4 Các bộ tạo dao động

2.4.1.Bộ tạo dao động chính bên trong (IMO-Internal

Main Oscillator)

Address Name Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Access

Bảng 2-26: 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ồnxung nhịp 24MHz ở bên trong hay nguồn xung nhịp bên ngoài, mộtloạ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+/-

Trang 30

0.3V và 5.0V+/- 5%) Không cần thêm một thành phần bên ngoàinà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àysang bộ dao động thạch anh bên ngoài Vì thế việc lựa chọn thạchanh 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êntrong 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ênngoà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ồnxung nhịp bên ngoài, nếu nh SYSCLK2x đợc cần đến thì IMOkhô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 đợctả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 khigiữ 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ủathanh ghi này Để hoạt động với giải điện áp 3.0 V+/- 0.3V thì phảithự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ủanhà 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.4.2.Bộ dao động tốc độ thấp nội tại (ILO-Internal Low Speed Oscillator)

Trang 31

s 7 6 3 2 1 0 s

[7:0]

Bảng 2-27 : 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ồnxung nhịp cho các khối số

Bộ ILO có thể hoạt động ở ba chế độ: chế độ bình thờng,chế độ nguồn giảm hoặc chế độ tắt (Không sử dụng) Chế độbình thờng tiêu thụ nhiều năng lợng hơn cho độ chính xác của tần

số xung nhịp Chế độ nguồn giảm luôn luôn đợc dùng khi chíp

đang ở trạng thái nguồn giảm (nghỉ) và có thể đợc lựa chọn khichíp đang hoạt động, nhng nó sẽ phát ra một nguồn xung nhịp có

độ chính xác kém hơn so với chế độ bình thờng

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ấtkhuyến cáo ngời sử dụng không đợc thay đổi giá trị của thanh ghinày

Bít 7 và 6 : Để dành (Không dùng đến)

Bit 5 và 4: Bias Trim hai bit đợc sử dụng để đặt dòng điệnbias 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

Bảng 2-28 : Dòng điện bias trong PTAT.

*Cao hơn khoảng 15% so với chế độ Minimum Bias

Trang 32

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.4.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

Bảng 2-29 : 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 anh rẻ và 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-6)

Trang 33

Hình2 - 6: Tạo bộ dao động ngoài

Các bớc của vi chơng trình cần phải thực hiện trong việcchuyển đổi giữa bộ phát xung nhịp chậm nội tại sang bộ phátxung 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] trongthanh ghi OSC_CRO nh là khoảng thời gian để ổn định bộ phátxung 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 xungnhị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ảngthờ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 sleepkhông đợc mở trong khi việc chuyển đổi đang diễn ra Reset lạiSleep 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ắtcủa Sleep Timer

5 Một lời khuyên là nên đợi hết một giây để bộ phát xungnhịp ổn định rồi mới cho phép chế độ PLL chốt tần số bộ phátxung nhịp nội tại với tần số của bộ phát xung nhịp thạch anh 32KHz

Trang 34

2.4.4.Vòng chốt pha Phase Locked Loop (PLL)

Bảng 2-30 : Thanh ghi của Phase Locked Loop

Chức năng PLL sẽ phát ra xung nhịp hệ thống với độ chính xáccủa thạch anh Nó đợc thiết kế cung cấp một bộ phát xung nhịp23.986 MHz khi sử dụng với thạch anh 32.768 kHz

Mặc dù PLL ăn theo độ chính xác của thạch anh Nó vẫn yêucầu thời gian để chốt vào tần số chíp khi khởi động lần đầu Do

độ dài của thời gian phụ thuộc vào PLLGAIN đợc điều khiển bởi bit

7 trong thanh ghi OSC_CR2 Nếu bit này đợc giữ ở mức thấp thìthời gian chốt sẽ nhỏ hơn 10 ms Nếu bit này đợc lu giữ ở mức caothì thời gian chốt sẽ lớn hơn 50ms Sau khi việc chốt hoàn tất thìbit này đợc khuyến cáo là nên giữ ở mức cao để giảm sự bất ổn ở

đầu ra Nếu có thể vợt qua đợc thời gian chốt dài thì bit PLLGAIN

có thể đợc giữ ở mức cao trong suốt thời gian còn lại

Sau khi bộ phát xung nhịp thạch anh bên ngoài đợc lựa chọn vàhoạt động thì những thủ tục sau đây sẽ cho phép chế độ PLL vàcho phép chốt tần số thích hợp

a Chọn tần số CPU là 3MHz hoặc nhỏ hơn

b Mở chế độ PLL

c Đợi 10ms hay 50ms phụ thuộc vào bit 7 trong thanh ghiOSC_CR2

d Đặt tần số CPU lên cao hơn nếu muốn Để làm việc này thì

ta thay đổi giá trị các bit CPU Speel trong thanh ghi OSC_CR0 Tần

số của CPU sẽ đợc thay đổi ngay lập tức khi những bit này đợc set.Nếu những thiết lập thích hợp đợc lựa chọn trong PsoCDesigner thì những bớc trên sẽ đợc thực hiện tự động trong file

boot.asm.

Trang 35

2.4.5 Sleep And Watchdog

Bảng 2-31: Những thanh ghi của Sleep và Watchdog.

Chỉ dẫn:

X: Giá trị sau khi reset nguồn là không rõ

X: Ký tự “x” đứng trớc dấu phẩy trong trờng chế độ rõ rằng thanh ghi này có thể truy nhập mà không cần biết là dẫy thanh ghi nào đang đợc

Các khối PSoC tơng tự có hai chế độ giảm nguồn đợc điềukhiển bởi vi chơng trình và độc lập với trạng thái nghỉ KhốiContinuous Timer Analog có thể vẫn hoạt động, từ khi chúng khôngyêu cầu nguồn xung nhịp Tuy nhiên, khối Analog SC sẽ không hoạt

động từ lúc nguồn xung nhịp nội tại cung cấp cho chúng ngừng hoạt

động

Hệ thống có thể chỉ đợc đánh thức khỏi chế độ nghỉ bằngmột yêu cầu ngắt hoặc sự kiện reset hệ thống Đồng hồ nghỉ cungcấp những ngắt định kỳ để cho phép hệ thống thức dậy, thăm

dò ngoại vi, thực hiện chức năng thời gian thực và sau đó lại vàochế độ nghỉ lần nữa ngắt của chân GPIO, ngắt theo dõi nguồn,

Trang 36

ngắt của cột khối tơng tự, và nguồn xung nhịp hay xung nhịp 32K

ở bên trong đợc sử dụng làm mẫu để đồng bộ hoá những ngắt cóthể đợc dùng để đánh thức hệ thống dậy

Mạch định thời Watchdog đợc thiết kế để sinh ra một ngắtcứng của chíp sau một khoảng thời gian đợc lập trình trớc Trừ khi

nó phục vụ một cách định kỳ trong vi chơng trình Chức năng này

sẽ reset hệ thống nếu nh CPU hoạt động sai Nó cũng có thể resetnếu nh hệ thống bị treo

Một khi bộ định thời Watchdog đợc mở thì nó có thể bị

đóng từ một sự kiện reset bên ngoài (XRES) hay một sự kiện resetnguồn (POR Một reset của bộ định thời Watchdog sẽ vẫn đểWatchdog hoạt động Bởi vậy, nếu Watchdog đợc sử dụng trongmột ứng dụng thì tất cả các mã (bao gồm cả mã khởi đầu) cần phải

đợc viết nh thể là Watchdog đang đợc mở

2.4.5.1.Mô tả cấu trúc

Những thành phần của chíp cần phải có khi hoạt động ở chế

độ nghỉ và Watchdog là sự lựa chọn nguồn xung nhịp 32KHz (bênngoài hay bên trong), với bộ định thời Sleep, bit Sleep trong thanhghi CPU_SCR0, mạch Sleep, mạch làm tơi band-gap (để làm tơi

điện áp tham chiếu một cách định kỳ), và bộ định thờiWatchdog

*Lựa chọn nguồn xung nhịp 32KHz

Mặc định nguồn xung nhịp 32KHz đợc lấy từ bộ phát xungnhịp nội tại tốc độ thấp (ILO) Có thể lựa chọn nguồn xung nhịp lấy

từ bộ phát xung nhịp ngoài (ECO) Việc lựa chọn này đợc thực hiệnbằng cách thay đổi giá trị bit 7 trong thanh ghi OSC_CR0 lựa chọnEC0 là nguồn xung nhịp 32 KHz sẽ cho phép bộ định thời Sleep vàngắt của nó dùng trong ứng dụng thời gian thực Cho dù nguồn xungnhịp nào đợc lựa chọn thì nguồn xung nhịp 32KHz cũng giữ một

vị trí then chốt trong chức năng nghỉ Nó chạy liên tục và thờngxuyên đánh thức hệ thống dậy, nó cũng định kỳ làm tơi điện ápband-gap trong suốt qúa trình nghỉ

Trang 37

*Bộ định thời nghỉ

Bộ định thời nghỉ là bộ đến tiến 15 bit bằng nguồn xungnhịp 32 KHz lựa chọn, có thể là ILO hoặc ECO Bộ định thời nàyluôn đợc hoạt động Nếu một bộ IEC hoạt động ở chế độ gỡ rối vàbit Stop trong thanh ghi OSC_CR0 đợc set thì bộ định thời nghỉ sẽ

bị vô hiệu hoá Vì thế ngời sử dụng sẽ không có reset thờng xuyêncủa Watchdog khi một điểm ngắt đợc tìm ra trong trờng hợp gỡ rối.Nếu ngắt của bộ định thời nghỉ cho phép, một ngắt định

kỳ tới CPU đợc sinh ra dựa trên khoảng thời gian nghỉ lựa chọn trongthanh ghi OSC_CR0 Về mặt chức năng thì bộ định thời Sleepkhông cần thiết phải trực tiếp kết hợp với trạng thái nghỉ Nó có thể

đợc dùng nh một ngắt của bộ định thời đa mục đích cho dù hệthống có đang ở trạng thái nghỉ hay không

Trạng thái reset của bộ định thời Sleep là một giá trị đếm đến 0

Có hai cách để reset bộ định thời Sleep Một là bất cứ reset phầncứng nào, ví dụ nh reset nguồn(P0R), reset ngoài hay Watchdogreset Hai là reset bộ định thời Sleep bằng vi chơng trình

2.4.5.2 Lu ý khi sử dụng chế độ nghỉ trong ứng dụng

Những phần sau đây sẽ nêu vài lu ý về chế độ nghỉ và liên

hệ của nó với vi chơng trình và phần mềm ứng dụng

a Nếu một ngắt đang chờ, đợc cho phép và đợc lập lịch đểthi hành tại lệnh cuối cùng sau khi viết vào bit Sleep thì hệ thống sẽkhông đi vào chế độ nghỉ Lệnh sẽ vẫn đợc thi hành, nhng nó sẽkhông thể set đợc bit Sleep trong thanh ghi CPU_SCR0 Thay vào đóthì lệnh sẽ đợc thi hành và tác động của lệnh nghỉ sẽ bị bỏ qua

b Bit cho phép ngắt toàn cục không cần thiết phải đợc mở

để đánh thức hệ thống khỏi trạng thái nghỉ Các bit cho phép ngắt

độc lập với nhau và có khả năng đợc thiết lập trong thanh ghi mặtnạ che ngắt Nếu bit cho phép ngắt toàn cục không đợc set thìCPU sẽ không thực hiện trình phục vụ ngắt liên quan tới ngắt đó.Tuy nhiên, hệ thống sẽ bị đánh thức và tiếp tục thi hành các lệnh tại

Trang 38

ngời sử dụng phải xoá ngắt chờ một cách thủ công, hoặc có thể mởbit cho phép ngắt toàn cục rồi sau đó để cho CPU thi hành trìnhphục vụ ngắt Nếu một ngắt chờ không đợc xoá thì nó sẽ vẫn đợcxác nhận, và mặc dù bit Sleep đợc ghi và chuỗi sự kiện nghỉ đợc thihành, ngay khi chíp đi vào chế độ nghỉ, bit sleep sẽ bị xóa bởingắt chờ và hệ thống sẽ thoát khỏi chế độ nghỉ.

c Khi thức dậy, lệnh nằm ngay sau lệnh nghỉ sẽ đợc thi hànhtrớc trình phục vụ ngắt (nếu cho phép) Lệnh nằm ngay sau lệnhnghỉ đợc dừng lại trớc khi hệ thống đi vào chế độ nghỉ Bởi vậy,khi một ngắt xảy ra và đánh thức hệ thống dậy thì lệnh ngay saulệnh nghỉ sẽ đợc thi hành và khi đó trình phục vụ ngắt cũng đợcthi hành (Nếu bit cho phép ngắt toàn cục đợc set, thực hiện lệnh

sẽ chỉ tiếp tục tại nơi mà nó bỏ dở trớc khi đi vào chế độ nghỉ.)

d Nếu chế độ PLL đợc mở thì tần số của CPU cần phải giảmxuống 3MHz trớc khi đi vào chế độ nghỉ Khuyến cáo là nên đợi10ms sau khi hệ thống thức dậy để đảm bảo tần số hoạt độngbình thờng của CPU đợc khôi phục

e Năng lợng của phần tơng tự cần phải tắt bằng vi chơngtrình trớc khi đi vào chế độ nghỉ Chế độ nghỉ của hệ thống sẽkhông điều khiển mảng tơng tự Có nhiều cách điều khiển nguồnnăng lợng độc lập cho mỗi khối tơng tự và nhiều cách điều khiểnnguồn năng lợng chính trong khối tham chiếu Cách điều khiểnnguồn năng lợng cần phải đợc thực hiện bởi vi chơng trình

f Nếu bit cho phép ngắt toàn cục bị đóng, nó chỉ có thể đợc

mở một cách an toàn sau lệnh viết vào bit sleep Nó thờng gây rắcrối khi có một ngắt ở lệnh cuối cùng ngay trớc lệnh ghi vào bit sleep

Điều này có nghĩa là tại thời điểm quay về từ ngắt lệnh nghỉ sẽ

đợc thi hành và có thể bỏ qua bất cứ một sự chuẩn bị nào của vi

ch-ơng trình cần thiết phải thực hiện theo trình tự để đi vào chế

độ nghỉ Để ngăn chặn điều này thì cần phải cấm các ngắt trớckhi đi vào chế độ nghỉ Sau khi chuẩn bị cho chế độ nghỉ, chophép ngắt toàn cục và viết vào bit sleep với hai lệnh liên tiếp sau:

Trang 39

and f,~01h /vô hiệu hoá ngắt toàn cục

(chuẩn bị cho chế độ nghỉ, có thể có nhiều lệnh)

or f,01h /cho phép ngắt toàn cục

mov reg/ffh/,08h /đa hệ thống vào chế độ nghỉ

Do khoảng thời gian của lệnh cho phép ngắt toàn cục là rấtnhỏ nên khó có thể có một ngắt sẽ xảy ra ngay sau lệnh trên Ngắtsớm nhất có thể xảy ra là sau lệnh tiếp theo (là lệnh đa hệ thốngvào chế độ nghỉ) đã đợc thi hành Bởi vậy, nếu một ngắt đangchờ và lệnh nghỉ đợc thi hành nh đợc mô tả trong mục (a) thì lệnhnghỉ sẽ đợc bỏ qua Lệnh đầu tiên đợc thi hành sau trình phục vụngắt sẽ là lệnh nằm ngay sau lệnh nghỉ

*Đánh thức hệ thống.

Một hệ thống đã ở trạng thái nghỉ thì sự kiện duy nhất có thể

đánh thức hệ thống là một ngắt Bit cho phép ngắt toàn cụctrong thanh ghi CPU_F không cần thiết phải đợc set Bất cứ mộtngắt không bị che nào đều có thể đánh thức hệ thống dậy Mộtlựa chọn cho CPU là có thi hành ngắt đó hay không sau khi hệthống bị đánh thức

Trang 40

Hình2-7: Biểu đồ dẫy các sự kiện đánh thức hệ thống

Dãy sự kiện đánh thức hệ thống đợc đồng bộ với xung nhịp32kHz với mục đích tạo độ trễ khi khởi động lại, cho phépModule bộ nhớ Flash có đủ thời gian để khôi phục lại mức năng l-ợng hoạt động trớc khi CPU phát ra lệnh đọc đầu tiên Một lý dokhác cho sự trễ đó là để cho phép IMO, Bandgap, mạch LVD/POR

có thời gian ổn định trớc khi đi vào hoạt động Dãy sự kiện

đánh thức hệ thống đợc chỉ ra trong hình 2-7 và đợc mô tả nhsau:

a Khi một ngắt đánh thức xảy ra và đợc đồng bộ hóa với sờn

âm của xung nhịp 32kHz

b Tại sờn dơng tiếp theo của xung nhịp, tín hiệu giảm nguồn

hệ thống đợc đảo lại Module bộ nhớ Flash, IMO và mạch bandgap

đợc cấp năng lợng ở trạng thái hoạt động bình thờng

c Tại sờn dơng tiếp theo của xung nhịp 32kHz, giá trị chínhxác định rõ ràng của POR và LVD đã ổn định và đợc lấy mẫu

Ngày đăng: 24/10/2022, 19:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w