1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng hệ đo điều khiển cường đồ ánh sáng dùng psoc

91 939 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Xây Dựng Hệ Đo Điều Khiển Cường Độ Ánh Sáng Dùng PSoC
Trường học Trường Đại Học Khoa Học Tự Nhiên
Chuyên ngành Kỹ Thuật Điện Tử
Thể loại Đồ Án Tốt Nghiệp
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 91
Dung lượng 2,16 MB

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

Nội dung

Thanh ghi chứa 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... Chế độ địa chỉ nguồ

Trang 1

Mục lục

CHƯƠNG I

GiớI THIệU Về CảM BIếN, CảM BIếN QUANG ĐO

Trang Cờng độ ánh sáng 1.1 Giới thiệu chung về cảm biến 3

1.2 Cảm biến quang (Tế bào quang dẫn) 7

Chơng II tổng quan về PSoC 2.1 Giới thiệu về chíp PsoC 10

2.2 Giới thiệu về chip PSoC CY8C27443-24PXI 11

2.2.1 Thông số của CY8C27443-24PXI 11

2.2.2 Cấu trúc vi xử lý 16

2.2.3 Định dạng của lệnh 20

2.2.4 Các chế độ địa chỉ trong PsoC 21

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

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

2.2.7 Các bộ tạo dao động 36

2.2.8 Vòng khóa pha Phase Locked Loop (PLL) 40

2.2.9 Sleep And Watchdog 41

2.2.10 Hệ thống khối PSoC số 50

2.2.11 Kết nối dãy các khối Psoc số 55

2.2.12 Kết nối các khối theo hàng 56

Trang 2

2.2.13 Các khối PSoC số 63

2.2.14 Hệ thống khối PSoC tơng tự 68

2.3 Giới thiệu chung về PSoC Designer 73

2.4 Các bớc thiết kế và lập trình trong PSoC Designer 75

Chơng III Xây dựng hệ đo, ĐIềU KHIểN CƯờng độ ánh sáng sử dụng chip PSOC CY8C27443-24PXI 3.1 Sơ đồ khối chức năng của hệ thống 81

3.2 Sơ đồ nguyên lý và chức năng của các thành phần 81

3.2.1 Sơ đồ mạch nguồn 81

3.2.2 Sơ đồ mạch định pha Dimmer 82

3.2.3 Sơ đồ mạch công suất 83

3.2.4 Modul giao tiếp máy tính 84

3.2.5 chíp Psoc CY8C27443-24PXI 86

3.2.6 Cảm biến quang (Quang trở) 87

3.3 Lu đồ thuật toán 90

Trang 3

CHƯƠNG I GiớI THIệU Về CảM BIếN, CảM BIếN QUANG ĐO

Cờng độ ánh sáng

1.1.Giới thiệu chung về cảm biến.

Cảm biến là các phần tử nhạy cảm dùng để biến đổi các đại lợng đo lờng, kiểm tra hay điều khiển từ dạng này sang dạng khác thuận tiện hơn cho việc tác động của các phần tử khác Cảm biến là một thiết bị chịu tác động của đại lợng cần đo ma không có tính chất điện và cho một đặc trng mang bản chất

điện (nh điện tích, điện áp, dòng điện, trở kháng) kí hiệu là s có s = F(m) Cảm biến thờng dùng ở khâu đo lờng và kiểm tra

Các loại cảm biến đợc sử dụng rộng rãi trong tự động hóa các quá trình sản xuất và điều khiển tự động các hệ thống khác nhau Chúng có chức năng biến đổi sự thay đổi liên tục các đại lợng đầu vào (đại lợng đo lờng - kiểm tra,

là các đại lợng không điện nào đó thành sự thay đổi của các đại lợng đầu ra là

đại lợng điện, ví dụ: điện trở, điện dung, điện kháng, dòng điện, tần số, điện áp rơi, góc pha,

Căn cứ theo dạng đại lợng đầu vào ngời ta phân ra các loại cảm biến nh: cảm biến chuyển dịch thẳng, chuyển dịch góc quay, tốc độ, gia tốc, mô men quay, nhiệt độ, áp suất, quang, bức xạ,

1.1.1 Các thông số cơ bản của cảm biến

1.1.1.1 Độ nhạy

S=ÄYÄX

Trang 4

X: gia số đại lợng đầu vào.∆Với: +

Y: gia số đại lợng đầu ra.∆+

Trong thực tế còn sử dụng độ nhạy tơng đối: S0=

Với: Y là đại lợng ra

+ Sai số tuyệt đối ÄX=X'#X

X': giá trị đo đợc; X: giá trị thực

+ Sai số tơng đối a=ÄXX

Các nguyên nhân ảnh hởng tới sai số

Có nhiều nguyên nhân khách quan và chủ quan ảnh hởng tới sai số, trong thực tế ngời ta đa ra các tiêu chuẩn và các điều kiện kĩ thuật để hạn chế mức

độ ảnh hởng này trong phạm vi cho phép

Sai số ở giá trị định mức do yếu tố của bên ngoài gọi là sai số cơ bản Nếu yếu tố của bên ngoài vợt ra khỏi giới hạn định mức thì xuất hiện sai số phụ Để giảm sai số phụ phải giảm độ nhạy của cảm biến với yếu tố ngoài hoặc hạn chế

ảnh hởng của chúng bằng màn chắn hay môi trờng khác

1.1.2 Các yêu cầu của cảm biến

Muốn có độ nhạy cao, sai số nhỏ, cảm biến cần có các tính chất sau:

+ Có dải thay đổi đại lợng vào cần thiết

Trang 5

+ Thích ứng và thuận tiện với sơ đồ đo lờng, kiểm tra.

+ ảnh hởng ít nhất đến đại lợng đầu vào

+ Có quán tính nhỏ

Hiện nay có rất nhiều loại cảm biến, chúng làm việc theo nhiều nguyên lí khác nhau, do vậy kết cấu của cảm biến rất đa dạng và phong phú Bảng 7-1 là nguyên lí làm việc và lãnh vực của cảm biến cảm ứng, là loại phổ biến trong tự

động hóa và điều khiển tự động

1.1.3. Phân loại cảm biến

Có thể phân các cảm biến làm hai nhóm chính: là cảm biến tham số (thụ

động) và cảm biến phát (chủ động hay tích cực)

* Nhóm phát bao gồm các loại cảm biến sử dụng hiệu ứng cảm ứng điện

từ, hiệu ứng điện áp, hiệu ứng Holl và sự xuất hiện sức điện động của cặp nhiệt ngẫu, tế bào quang điện

+ Hiệu ứng cảm ứng điện từ: trong một dây dẫn chuyển động trong một

từ trờng không đổi sẽ xuất hiện một sức điện động tỉ lệ với từ thông cắt ngang dây trong một đơn vị thời gian, nghĩa là tỉ lệ với tốc độ dịch chuyển của dây dẫn

Hiệu ứng cảm ứng điện từ đợc ứng dụng để xác định tốc độ dịch chuyển của vật thông qua việc đo sức điện động cảm ứng

+ Hiệu ứng quang phát xạ điện tử: là hiện tợng các điện tử đợc giải phóng thoát ra khỏi vật liệu tạo thành dòng đợc thu lại dới tác dụng của điện trờng

+ Hiệu ứng quang điện trong chất bán dẫn: là hiện tợng khi một chuyển tiếp P-N đợc chiếu sáng sẽ phát sinh ra các cặp điện tử-lỗ trống, chúng chuyển

động dới tác dụng của điện trờng chuyển tiếp làm thay đổi hiệu điện thế giữa hai đầu chuyển tiếp

Trang 6

+ Hiệu ứng Holl: trong vật liệu (thờng là bán dẫn) dạng tấm mỏng có dòng điện chạy qua đặt trong từ trờng B có phơng tạo thành một góc với dòng

điện I sẽ xuất hiện một hiệu điện thế U theo hớng vuông góc với B và I Hiệu ứng Holl đợc ứng dụng để xác định vị trí của một vật chuyển động Vật sẽ đợc ghép nối cơ học với một thanh nam châm, ở mọi thời điểm vị trí của thanh nam châm xác định giá trị của từ trờng và góc lệch tơng ứng với tấm bán dẫn mỏng làm trung gian Hiệu điện thế đo đợc giữa hai cạnh tấm bán dẫn trong tr-ờng hợp này (gián tiếp) là hàm phụ thuộc vị trí của vật trong không gian

Ngoài ra còn cảm biến nhiệt điện, cảm biến hóa điện,

Trang 7

* Cảm biến tham số (thụ động): thờng đợc chế tạo từ những trở kháng có một trong các thông số chủ yếu nhạy với đại lợng cần đo Một mặt giá trị của trở kháng phụ thuộc vào kích thớc hình học của mẫu, nhng mặt khác nó còn phụ thuộc vào tính chất điện của vật liệu nh: điện trở suất, từ thẩm, hằng số

điện môi Vì vậy giá trị của trở kháng thay đổi dới tác dụng của đại lợng đo

ảnh hởng riêng biệt đến tính chất hình học, tính chất điện hoặc đồng thời ảnh hởng cả hai Thông số hình học hoặc kích thớc của trở kháng có thể thay đổi nếu cảm biến có phần tử chuyển động hoặc phần tử biến dạng

+ Trờng hợp khi có phần tử động thì mỗi vị trí của phần tử sẽ tơng ứng với một giá trị trở kháng, đo trở kháng sẽ xác định đợc vị trí đối tợng Đây là nguyên lí nhiều cảm biến nh cảm biến vị trí, cảm biến dịch chuyển

+ Trờng hợp cảm biến có phần tử biến dạng, thì sự biến dạng gây nên bởi lực hoặc các đại lợng dẫn đến lực (áp suất, gia tốc) tác dụng trực tiếp hoặc gián tiếp lên cảm biến làm thay đổi trở kháng Sự thay đổi trở kháng liên quan đến lực tác động lên cấu trúc, nghĩa là tác động của đại lợng cần đo đợc biến đổi thành tín hiệu điện (hiệu ứng áp trở)

Trở kháng của cảm biến thụ động và sự thay đổi của trở kháng dới tác dụng của đại lợng cần đo chỉ có thể xác định đợc khi cảm biến là một thành phần của mạch điện Trong thực tế tùy từng trờng hợp cụ thể mà ngời ta chọn mạch đo thích hợp với cảm biến

1.2 Cảm biến quang (Tế bào quang dẫn)

Các tế bào quang dẫn là một trong những cảm biến quang có độ nhạy cao Cơ sở vật lí của tế bào quang dẫn là hiện tợng quang dẫn do kết quả của hiệu ứng quang điện nội (hiện tợng giải phóng hạt tải điện trong vật liệu dới tác dụng của ánh sáng làm tăng độ dẫn điện của vật liệu)

1.2.1. Vật liệu để chế tạo cảm biến

Trang 8

Cảm biến quang thờng đợc chế tạo bằng các chất bán dẫn đa tinh thể

đồng nhất hoặc đơn tinh thể, bán dẫn riêng hoặc bán dẫn pha tạp, ví dụ nh:

- Đa tinh thể :CdS, CdSe, CdTe, PbS, PbSe, PbTe

- Đơn tinh thể:Ge, Si tinh khiết hoặc pha tạp Au, Cu, Sb, In, SbIn, AsIn,PIn, CdHgTe

Vùng phổ làm việc của các vật liệu này khác nhau

1.2.2 Các đặc trng

- Điện trở: giá trị điện trở tối Rc0 phụ thuộc vào dạng hình học, kích

th-ớc, nhiệt độ và bản chất lí hóa của vật liệu quang dẫn Điện trở Rc của cảm biến khi bị chiếu sáng giảm rất nhanh khi độ rọi tăng lên Sự phụ thuộc của

điện trở vào thông lợng ánh sáng không tuyến tính, tuy nhiên có thể tuyến tính hóa bằng cách sử dụng một điện trở mắc song song với tế bào quang dẫn

- Độ nhạy: độ dẫn của tế bào quang dẫn là tổng của độ dẫn trong tối và

độ dẫn khi chiếu sáng Độ nhạy phổ là hàm của nhiệt độ nguồn sáng: khi nhiệt

độ tăng thì độ nhạy phổ tăng lên

Tế bào quang dẫn đợc ứng dụng nhiều bởi chúng có tỉ lệ chuyển đổi tĩnh

và độ nhạy cao cho phép đơn giản hóa trong việc ứng dụng (ví dụ điều khiển các rơle hình 7-14) Nhợc điểm chính của tế bào quang dẫn là:

- Hồi đáp phụ thuộc một cách không tuyến tính vào thông lợng

- Thời gian hồi đáp lớn

- Các đặc trng không ổn định (già hóa)

- Độ nhạy phụ thuộc vào nhiệt độ

- Một số loại đòi hỏi phải làm nguội

Ngời ta không dùng tế bào quang dẫn để xác định chính xác thông lợng Thông thờng chúng đợc sử dụng để phân biệt mức sáng khác nhau (trạng thái tối- sáng hoặc xung ánh sáng) Thực tế thì tế bào quang dẫn thờng ứng dụng :Thu tín hiệu quang dùng để biến đổi xung quang thành xung điện Sự ngắt

Trang 9

quãng của xung ánh sáng chiếu lên tế bào quang dẫn sẽ đợc phản ánh trung thực qua xung điện của mạch đo, ứng dẫn để đo tốc độ quay của đĩa hoặc đếm vật.

Đơn vị đo cờng độ ánh sáng:

Lux (ký hiệu: lx) là đơn vị đo độ rọi trong SI Nó đợc sử dụng

trong trắc quang học để đánh giá cờng độ ánh sáng cảm nhận đợc Đây là một đơn vị dẫn xuất trong SI, nghĩa là nó đợc định nghĩa từ các đơn vị "cơ bản" hơn Cụ thể, do độ rọi bằng quang thông trên diện tích:

Trang 10

Chơng II tổng quan về PSoC

2.1 Giới thiệu về chíp PSoC:

Ngày nay Trong một hệ thống nhúng (Embeded system), hay sản phẩm, thiết bị phức tạp khác thì sự kết hợp của các khối ngoại vi nh: Các bộ lọc, khuyếch đại, bộ điều chế độ rộng xung PWM, hay các bộ chuyển đổi tơng tự – số (ADC), số - tơng tự (DAC) v.v là rất cần thiết và giúp giải quyết rất…nhiều bài toán đặt ra từ các hệ thống tự động phức tạp đến các thiết bị điện tử văn phòng, gia dụng

Càng nhiều thành phần trong một hệ thống thì càng chiếm nhiều không gian, nảy sinh các vấn đề trong việc thiết kế mạch, kết hợp các thành phần, và tăng độ phức tạp của hệ thống Để giải quyết vấn đề trên thì ngày nay công nghệ SoC (Sytem on chip) ra đời với xu hớng tích hợp hệ thống trong một con chíp Đi đầu trong việc phát triển và ứng dụng công nghệ này là hãng Cypress MicroSystems với việc cho ra đời chip PSoC

Thuật ngữ PSoC là viết tắt của cụm từ tiếng anh Programmable System

on Chip, nghĩa là hệ thống khả trình trong một chip Các chíp PSoC có thể thay

đổi cấu hình rất đơn giản băng cách gán các chức năng cho các khối tài nguyên có sẵn trên chip Hơn nữa ta cũng có thể kết nối tơng đối mềm dẻo các khối chức năng với nhau hay các cổng vào ra, đem lại sự thuận tiện cho các phơng án thiết kế

Trang 11

Thành phần của các chíp PSoc gồm có: Bộ vi xử lý 8 bit, Bộ nhớ chơng trình (EEROM) có thể lập trình đợc và bộ nhớ RAM khá lớn tùy thuộc vào từng con khác nhau trong họ.

Để lập trình cho PSoC Cypress MicroSystems cung cấp phần mềm PSoC Designer Phần mềm này đợc thiết kế trên cơ sở hớng đối tợng với cấu trúc mô đun hóa Mỗi khối chức năng là một mô đun mềm Các khối chức năng đợc chia làm hai loại, khối tơng tự và khối số Cấu hình của chíp đợc thực hiện bằng cách sử dụng các chức năng có sẵn Để sử dụng các chức năng nào, ngời sử dụng chỉ cần kéo chức năng đó và gán vào các khối tài nguyên Tùy vào nhiệm vụ cụ thể mỗi chức năng sẽ chiếm một số lợng các khối số, khối tơng tự hoặc cả khối số và khối tơng tự nhất định Ngời lập trình cho PSoC có thể thiết lập chức năng và chế độ hoạt động cho từng chân vào ra của chip

Với khả năng thiết lập cấu hình linh hoạt và mạnh mẽ nh vậy một thiết

bị đo lờng, điều khiển có thể đợc gói gọn trong một chíp Chính vì vậy hãng Cypress MicroSystems không gọi PSoC là “Micro controller” (Vi điều khiển),

mà gọi là “PSoC device” hay “Thiết bị PSoC” với hy vọng rằng ngời sử dụng

sẽ có đợc những thiết bị đo lờng, điều khiển có kích thớc nhỏ gọn, sự hoạt

động ổn định và giá thành rẻ Thay thế đợc các thiết bị dựa trên vi xử lý và vi

điều khiển đã có trớc đây

2.2 Giới thiệu về chip PSoC CY8C27443-24PXI :

2.2.1 Thông số của CY8C27443-24PXI :

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

- Bộ vi xử lý có tốc độ lên đến 24MHz

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

- Có thể hoạt động ở tốc độ cao mà tiêu tốn ít năng lợng

Trang 12

- Dải điện áp hoạt động từ 3.00V tới 5.25V

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

- Dải nhiệt độ chịu đựng từ - 400C đến 850C

Trang 15

Hình 2.1 Sơ đồ cấu trúc CY8C27443-24PXI

• Các khối ngoại vi có thể đợc sử dụng độc lập hoặc kết hợp tùy vào chức năng sử dụng

Có 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ộ khuyếch đại có thể tùy chọn đợc hệ số khuyếch đại

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

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

- 8 tới 32 bit cho timers, counters, và bộ điều chế độ rộng xung PWM

- Các modun 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 Matster hoặc Slave có thể cấu hình đợc

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

• Xung nhịp của chip có thể lựa chọn đợc

- Bộ tạo dao động trong 24/48MHz có độ chính xác 2,5%

- Bộ tạo dao động ngoài có thể lựa chọn lên tới 24MHz

- Bộ dao động thạnh anh 32kHz bên trong

• Bộ nhớ linh hoạt trên chip

- Bộ nhớ Flash có không gian nhơ 16K với 50.000 lần ghi xóa

- 256 Byte không gian bộ nhớ RAM

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

- Có thể nâng cấp từng phần bộ nhớ Flash

- Chế độ bảo vệ linh hoạt và đáng tin cậy

• 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

Trang 16

- Đầ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.

- Cung cấp tới 12 đầu vào tơng tự

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

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

* Tài nguyên hệ thống

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

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

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

2.2.2 Cấu trúc vi xử lý

Chíp PSoC CY8C27443-24PXI đợc chế tạo dựa trên bộ vi xử lý mạnh

mẽ 8 bit với cấu trúc Harvart (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 độc lập nhau) Hoạt động chính của CPU đợc điều khiển bởi 5 thanh ghi 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 qua không gian bộ nhớ các thanh ghi

Program Counter (Thanh ghi đếm chơng trình ) CPU_PC

Bảng 2.1: Các thanh ghi của CPU

Trang 17

2.2.2.1 Thanh ghi cờ (Flags Register)

Thanh ghi cờ (Flags) gồm ba bit trạng thái: bit cờ không - Zero Flag 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ởng bởi lệnh toán học, những lệnh logic vv…

Bit Name Reseved Reseved Reseved XI0 Super Carry Zero 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

Trang 18

Data[4]

Data[3]

Data[2]

Data[1]

Data[0]

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

2.2.2.3 Thanh ghi chứa

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

Data[13]

Data[12]

Data[11]

Data[10]

Data[19]

Data[8]

Trang 19

Bit # 7 6 5 4 3 2 1 0

Bảng 2.2.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

System1: 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

2.2.2.4 Thanh ghi con trỏ Stack

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 những lệnh nh là PUSH, POP, LCALL, RETI và RET Nói chung là tất cả 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

Bảng 2 4: 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 20

2.2.2.5 Thanh ghi chỉ số

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 để địa chỉ một khối dữ liệu bên trong không gian nhớ dữ liệu

Bảng2.5: 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 chế độ

địa chỉ chỉ số

2.2.3 Định dạng của lệnh

2.2.3.1 Lệnh 1 byte

Lệnh 1 byte là lệnh không dùng địa chỉ hay dữ liệu nh toán hạng Lệnh

1 byte sử dụng một mã lệnh 8 bit ví dụ nh RET, ASR, INC, DEC…

Dạng lệnh 1 byte

Byte 08-Bit Opocde

Bảng 2.6: Dạng lệnh 1 byte 2.2.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ệu hay đị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ỉ

Bảng 2.7: Dạng lệnh 2 byte

Trang 21

2.2.3.3 Lệnh 3 byte

Lệnh loại này sử dụng 3 byte bởi vì nó đợc sử dụng để di chuyển dữ liệu giữa hai địa chỉ trong không gian địa chỉ mà ngời sử dụng có thể truy nhập Hoặc nó dùng để lu giữ một giá trị địa chỉ tuyệt đối 16 bit trong các lệnh LCALL và LJMP

Bảng 2.8: Dạng lệnh 3 byte.

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

2.2.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 thanh ghi A, thanh ghi F, thanh ghi SP hay thanh ghi X đợc chỉ rõ trong lệnh Lệnh sử dụng chế độ địa chỉ nay

có độ dài là 2 byte

2.2.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án hạ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 X hay thanh ghi A Tất cả những lệnh sử dụng chế độ

địa chỉ trực tiếp đều là lệnh có độ dài 2 byte

2.2.4.3 Chế độ địa chỉ nguồn chỉ số.

Trong chế độ này thì dữ liệu của nguồn đợc truy suất trong RAM 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ả đợc chỉ rõ trong lệnh là lu trong thanh ghi

X hay thanh ghi A Lệnh có độ dài là 2 byte

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

Trang 22

Những lệnh thuộc chế độ địa chỉ này có địa chỉ đợc lu trong 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.

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

2.2.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 lu trong toán hạng 2 câu lệnh Tất cả những lệnh thuộc chế độ địa chỉ này đều là lệnh có độ dài 3 byte

2.2.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ệu nguồn là một số trực tiếp Tất cả những lệnh thuộc chế độ địa chỉ này đều là lệnh 3 byte

2.2.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, địa chỉ 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ững lệnh sử dụng chế độ địa chỉ này đều là lệnh có độ dài 3 byte

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

Trang 23

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, địa chỉ nguồn lu giữ trong toán hạng 1 hoạt động nh địa chỉ của một con trỏ Trong suốt quá trình 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ên 1

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

Bộ điều khiển ngắt cho phép một đoạn mã của ngời lập trình đợc thực hiện mỗi khi có một ngắt sinh ra từ các khối chức năng trong chíp PSoC Mỗi một khối số có một ngắt riêng và mỗi cột khố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ác châ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ép các ngắt

có thể bị vô hiệu hoá đồng thời hoặc độc lập nhau Các thanh ghi cung cấp một cách thức để ngời sử dụng có thể xóa tất cả những ngắt đang chờ và thông báo ngắt, hoặc có thể xoá một cách độc lập hay riêng biệt thông báo ngắt và ngắt chờ

Trang 24

2.2.5.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ờ

M8C Core

INT_MSKx Mask Bit Setting

Posted Interrup t

Pending Interrupt

GIE CPU_F[0]

Trang 25

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ện ngắt đợc sinh

ra (do tràn bộ đếm chẳng hạn) và trớc đó thông báo ngắ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ắt toà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ới lệ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ệc sau:

- 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

- 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ìn chung thì một lệnh LJMP trong bảng vetor ngắt sẽ chuyển sự thi hà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

Trang 26

phục vụ ngắt nếu cần thiết bằng cách đặt bit GIE=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 ra khỏi Stack theo đúng trình tự trên Từ khi thanh ghi cờ (CPU_F) đợc khô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 sau khi 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.5.2 Các thanh ghi ngắt

Thanh ghi INT_CLRx :

đợc quy vào tên gọi chung INT_CLRx Những thanh ghi INT_CLRx là tơng

tự nh những thanh ghi INT_MSKx nghĩa là chúng giữ 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 độ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ài nguyên phần cứng đó Bởi vậy, đọc những thanh ghi đó sẽ giúp cho 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 đợc quyết

định bởi bit ENSWINT (Enable Software Interrupt) trong thanh ghi INT_MSK3

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 chung INT_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

Trang 27

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 trong thanh 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ột ngắt để trở thành ngắt chờ

Thanh ghi INT_VC

Thanh ghi INT_VC thực hiện 2 nhiệm vụ Khi thanh ghi đợc đọc thì 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) Tuy nhiên, nếu không có ngắt nào đang ở trạng thái chờ thì việc đọc thanh ghi INT_VC sẽ trả về giá trị 00H Đây là giá trị của vetor reset trong bảng vector ngắt

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 (Global Interrupt Enable) Chỉ khi bit này đợc set thì CPU mới có thể thực hiện một ngắt chờ

Bit 5

Bit 4

Bit 3

Bit 2

Bit 1

Bit 0

Access

2)

RW:FF

Trang 28

Bảng 2.11: 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ột cổng thì thanh ghi sẽ có một địa chỉ riêng Nhng để dễ hiểu ta chỉ 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ột khối GPIO đều đ-

ợc kết nối với bit có số thứ tự tơng ứng trong địa chỉ 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ều khiể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 ra sau:

- 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 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ố

Trang 29

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ấy thô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 thanh ghi 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 trong thanh 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ào châ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 áp của chân vào ra chứ không phải là đọc về giá trị chốt của thanh ghi 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ỗi cổng đợc mặc

định ở trạng thái tắt Để sử dụng đợc tính năng nà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 đợc set để yêu cầu GPIO sử dụng thanh ghi PRTxGS

Thứ hai là chế độ hoạt động của GPIO cần phải đa về trạng thá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ần nữ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ở

Trang 30

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ân của chíp thông qua chân AOUT của khối Chân này đợc nối với khối thông qua một điện trở (khoảng 300Ω) Chân vào ra đa chức nă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ập cho khả năng ngắt Các khối GPIO đợc cấu hình cho phép lựa chọn ngắ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ằng mộ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ụng cần phải sử dụng vài kỹ thuật đợc thiết kế sẵn để quyết định xem 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

2.2.6.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ạ trong hì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

Trang 31

Hình 2.3: Sơ đồ một khốiGPIO

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

2

Trang 32

1

Bảng 2.12: Địa chỉ bit của thanh ghi bên trong.

Thanh ghi PRTxDR

Ghi dữ liệu vào một bit trong thanh ghi PRTxDR sẽ làm cho trạ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 I2C Enable= 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ái củ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ới chân quá lớn

Thanh ghi PRTxIE

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

Thanh ghi PRTxGS

Thanh ghi PRTxGS đợc sử dụng để lựa chọn khối cho sự kết nối tới đầu vào hoặc đầu ra toàn cục Việc viết giá trị logic cao vào thanh ghi này sẽ cho phép global bypass Nếu chế độ cổng ra là cao trở thì chân đó đợc lựa chọn cho đầu vào toàn cục Nếu chế độ 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ử I2C Enable=0) Nếu thanh ghi đợc xoá về không thì chức năng vào ra toàn cục của chân đó bị khoá

Trang 33

Thanh ghi PRTxDMx

Có 8 chế độ điều khiển cho mỗi một chân của cổng Ba bit chế độ đợc

sử dụng để lựa chọn một trong 8 chế độ nói trên Ba bit 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 cho chân P2[1] sẽ là bit PRT2DM0[1], PRT2DM1[1], PRT2DM2[2]) Tuy rằng ba bit này đợc phân trong ba thanh ghi khác nhau nhng chúng lạ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 trong DM2, DM1, DM0 hay DM[2:0], trong bảng sau sẽ cho ta cái nhìn tổng quan về sự phân chia này

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

Chế độ DM [2:0] Trạng thái của chân Mô Tả

000b Resistive Pull Down Khoẻ ở mức cao, điện trở treo ở mức

thấp 001b Strong Driver Chế độ khoẻ ở cả mức cao và thấp

010b High Impedenca Trở kháng cao cả ở mức cao và thấp,

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

cao 100b Open Drain High Chậm, khoẻ ở mức cao, trở kháng cao ở

mức thấp 101b Slow Strong Driver Chế độ chậm, khoẻ ở mức cao và thấp

Trang 34

Thanh ghi PRTxICx

Chế độ ngắt của từng châm đợc quyết định bởi các bit trong hai thanh ghi PRTxIC0 và PRTxIC1 chúng đợc quy vào là IM0 và IM1 hay 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ủa cổ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ế độ 10b có tác dụng là khối GPIO sẽ xác nhận một đờng ngắt (INT0) khi điện áp của chân ở mức cao Bit cho phép đờng ngắ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 đờng ngắ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 ghi dữ liệu cổng (PRTxDR) Nếu trớc đó nó đợc giá trị 0 từ GPIO thì 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

Trang 35

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

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

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ì

Trang 36

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

Trang 37

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

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)

Trang 38

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 nhsau:

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

Trang 39

2.2.8 Vòng khóa pha Phase Locked Loop (PLL)

Address Name Bit7 Bit6 Bit5 Bit

4

Bit 3

1,E0h OSC_CR0 32k select PLL

Mode

No Buzz Sleep[1:0] CPU Speed[2:0] RW:00

DIS

RW:00

Bảng 2.19 : 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ác của thạch anh Nó đợc thiết kế cung cấp một bộ phát xung nhịp 23.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êu cầ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 cao thì 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

Trang 40

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 PsoC Designer thì những bớc trên sẽ đợc thực hiện tự động trong file boot.asm.

2.2.9 Sleep And Watchdog

Address Name Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 Acces 0,E0h INT_MSKO CV3 Sleep GPIO Analog3 Analog2 Analog1 Analog0 V

Monitor

RW:00 0,E3h RES_WDT WDSL_Clear[7:0] W:00 X,FEh CPU_SCR1 ECOEXW ECOEX IRAMDIS RW:00 1,E0h OSC_CR0 32k

Select

PPL Mode

No Buzz

Sleep[1:0] CPU Speed[2:0] RW:00 1,E9h ILO_TR Bias Trim[1:0] Freq Trim[3:0] W:00 0,E8h ECO_TR PSSDC[1:0] W:00 X,FFh CPU_SCR0 GIES WDRS PORS Sleep STOP RW:XX

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

Mục đích của chế độ nghỉ là để giảm năng lợng tiêu thụ trung bình của

hệ thống đến mức có thể Hệ thống đi vào chế độ đợc khởi tạo và điều khiển bởi vi chơng trình Trong trạng thái này, CPU đợc dừng lại ở một biên giới lệnh và bộ phát xung nhịp 24/48 MHz, modun bộ nhớ Flash và giả band-gap giảm năng lợng tiêu thụ Khối PSoC duy nhất còn hoạt động là bộ phát xung nhịp 32KHz (Bên trong hoặc bên ngoài) Khối PSoC bấm giờ từ sự lựa chọn xung nhịp 32KHz và mạch theo dõi điện áp cung cấp

Các khối PSoC tơng tự có hai chế độ giảm nguồn đợc điều khiển bởi vi chơng trình và độc lập với trạng thái nghỉ Khối Continuous Timer Analog có thể vẫn hoạt động, từ khi chúng không yê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ằng một yêu cầu ngắt hoặc sự kiện reset hệ thống Đồng hồ nghỉ cung cấp những ngắt định kỳ

Ngày đăng: 06/01/2014, 15:11

HÌNH ẢNH LIÊN QUAN

Bảng 2.2: Thanh ghi cờ CPU_F - Xây dựng hệ đo điều khiển cường đồ ánh sáng dùng psoc
Bảng 2.2 Thanh ghi cờ CPU_F (Trang 17)
Bảng 2.2.2.3: Thanh ghi chứa(CPU-A) - Xây dựng hệ đo điều khiển cường đồ ánh sáng dùng psoc
Bảng 2.2.2.3 Thanh ghi chứa(CPU-A) (Trang 19)
Hình 2.2: Sơ đồ khối hoạt động của bộ điều khiển ngắt. - Xây dựng hệ đo điều khiển cường đồ ánh sáng dùng psoc
Hình 2.2 Sơ đồ khối hoạt động của bộ điều khiển ngắt (Trang 24)
Bảng 2.7: Bảng lựa chọn chu kỳ nhiệm vụ nghỉ của hệ thống - Xây dựng hệ đo điều khiển cường đồ ánh sáng dùng psoc
Bảng 2.7 Bảng lựa chọn chu kỳ nhiệm vụ nghỉ của hệ thống (Trang 48)
Hình2.10: Sơ đồ cấu trúc liên kết vào ra số - Xây dựng hệ đo điều khiển cường đồ ánh sáng dùng psoc
Hình 2.10 Sơ đồ cấu trúc liên kết vào ra số (Trang 52)
Hình 2.16: Sơ đồ khối mô tả mức cao nhất của các khối PSoC số. - Xây dựng hệ đo điều khiển cường đồ ánh sáng dùng psoc
Hình 2.16 Sơ đồ khối mô tả mức cao nhất của các khối PSoC số (Trang 66)
Hình2.17: Sơ đồ khối của hệ thống tơng tự trong PSoC - Xây dựng hệ đo điều khiển cường đồ ánh sáng dùng psoc
Hình 2.17 Sơ đồ khối của hệ thống tơng tự trong PSoC (Trang 67)
Bảng 2.34: Bảng điện áp tham chiếu có thể tạo đợc trong PSoC - Xây dựng hệ đo điều khiển cường đồ ánh sáng dùng psoc
Bảng 2.34 Bảng điện áp tham chiếu có thể tạo đợc trong PSoC (Trang 72)
3.2. Sơ đồ nguyên lý và chức năng của các thành phần. - Xây dựng hệ đo điều khiển cường đồ ánh sáng dùng psoc
3.2. Sơ đồ nguyên lý và chức năng của các thành phần (Trang 80)
Sơ đồ mạch chip. - Xây dựng hệ đo điều khiển cường đồ ánh sáng dùng psoc
Sơ đồ m ạch chip (Trang 87)
Sơ đồ mạch công suất. - Xây dựng hệ đo điều khiển cường đồ ánh sáng dùng psoc
Sơ đồ m ạch công suất (Trang 89)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w