Đăng ký Đăng nhập
Trang chủ Giáo dục - Đào tạo Cao đẳng - Đại học Xây dựng hệ đo điều khiển cường đồ ánh sáng dùng psoc ...

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

.PDF
51
141
145

Mô tả:

Mục lục CHƯƠNG I GiớI THIệU Về CảM BIếN, CảM BIếN QUANG ĐO Cường độ ánh sáng Trang 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ác chế độ địa chỉ trong PsoC 15 2.2.3. Ngắt và bộ điều khiển ngắt 17 2.2.4. Các cổng vào ra đa chức năng 21 2.2.5. Các bộ tạo dao động 29 2.2.6. Các khối PSoC số 33 2.2.7 . Hệ thống khối PSoC tương tự. 37 2.3. Giới thiệu chung về PSoC Designer. 43 2.4. Các bước thiết kế và lập trình trong PSoC Designer. 45 Chương II 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 3.2.5. chíp Psoc CY8C27443-24PXI 84 86 3.2.6. Cảm biến quang (Quang trở) 87 3.3. Lưu đồ thuật toán 90 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 trưng 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 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. X là đại lượng vào. Cảm biến có thể là tuyến tính nếu S0=const hoặc là phi tuyến nếu S0= var. Cảm biến phi tuyến có độ nhạy phụ thuộc vào giá trị đại lượng vào (X). 1.1.1.2. Sai số Sự phụ thuộc của đại lượng ra Y vào đại lượng đầu vào X gọi là đặc tính vào ra của cảm biến. Sự sai khác giữa đặc tính vào ra thực với đặc tính chuẩn (đặc tính tính toán hay đặc tính cho trong lí lịch) được đánh giá bằng sai số. Phân làm hai loại sai số + 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. + 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. + 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. Hình 1 Cảm biến loại này là cảm biến tích cực vì trong trường hợp này nguồn của dòng điện I (chứ không phải đại lượng cần đo) cung cấp năng lượng liên quan đến tín hiệu đo. + Hiệu ứng điện áp: khi tác dụng lực cơ học lên một vật làm bằng vật liệu áp điện (như thạch anh) sẽ gây nên biến dạng của vật đó và làm xuất hiện lượng điện tích bằng nhau nhưng trái dấu nhau trên các mặt đối diện của vật (là hiệu ứng điện áp). Hiệu ứng này được ứng dụng để xác định lực hoặc các đại lượng gây nên lực tác dụng vào vật liệu áp điện (như áp suất, gia tốc,...) thông qua việc đo điện áp trên hai bản cực tụ điện. Ngoài ra còn cảm biến nhiệt điện, cảm biến hóa điện,... * 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, nhưng 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 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 trưng - Đ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 trưng 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 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ị độ 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: 1 lx = 1 lm/m2 Đơn vị đo quang thông trong SI, lumen, lại là một đơn vị dẫn xuất nên: 1 lx = 1 cd sr / m2 Một văn phòng sáng sủa có độ rọi khoảng 400 lux. 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) ..., 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ế. 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. - 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. 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). 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. - Đầ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ác chế độ địa chỉ trong PSoC 2.2.2.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 lưu giữ trong toán hạng 1 của lệnh, kết quả được lưu 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.2.2. Chế độ địa chỉ nguồn trực tiếp (Source Direct) Trong chế độ này thì địa chỉ nguồn được lưu 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.2.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à lưu trong thanh ghi X hay thanh ghi A. Lệnh có độ dài là 2 byte. 2.2.2.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 lưu 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.2.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.2.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 lưu giữ trong toán hạng 1 của lệnh. Giá trị của nguồn được lưu 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.2.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.2.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 lưu giữ trong toán hạng 1 của lệnh còn địa chỉ của nguồn được lưu 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.2.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, địa chỉ nguồn lưu 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. 2.2.3. Ngắt và bộ điều khiển ngắt. A Name Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 Access VC3 Sleep GPIO Analog3 Analog2 Analog1 Analog0 V RW:00 d d r e s s 0 INT_CLR0 , Monitor D A h 0 INT_CLR1 DCB13 DCB12 DCB11 DCB110 DCB03 DCB02 DCB01 DCB00 RW:00 I2C RW:00 I2C RW:00 V RW:00 , D B h 0 INT_CLR3 , D D h 0 INT_MSK3 ENSWINT , D E h 0 INT_MSK0 VC3 Sleep GPIO Analog3 Analog2 Analog1 Analog0 , Monitor E 0 h 0 INT_MSK1 DCB13 DCB12 DCB11 DCB10 DCB03 DCB02 DCB01 DCB00 RW:00 , E 1 h 0 INT_VC Pending Interrupt [7:0 ] RC:00 , E 2 h X CPU_F , F 7 XOI Carry Zero GIE RL:00 h 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ờ. Mức ưu tiên ngắt Địa chỉ Tên ngắt 0(Cao nhất) 0000h Reset 1 0004h Supply Voltage Monitor 2 0008h Analog Column 0 3 000Ch Analog Column 1 4 0010h Analog Column 2 5 0014h Analog Column 3 6 0018h VC3 7 001Ch GPIO 8 0020h PSOC Block DBB 00 9 0024h PSOC Block DBB 01 10 0028h PSOC Block DBB 02 11 002Ch PSOC Block DBB 03 12 0030h PSOC Block DBB 10 13 0034h PSOC Block DBB 11 14 0038h PSOC Block DBB 12 15 003Ch PSOC Block DBB 13 24 0060h I2 C 25(Thấp nhất) 0064h Sleep Timer Bảng 2.10 : Bảng các vecter 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: - Lưu 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. Lưu ý 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 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.4. Các cổng vào ra đa chức năng Các cổng vào ra đa chức năng tạo cho CPU một giao diện với bê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ự. Address Name Bit Bit Bit Bit Bit Bit Bit Bit 7 6 5 4 3 2 1 0 Access 0,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 PRTxDM2 Driver Mode 2 (Thanh ghi hoạt động chế độ 2) RW:FF 1,xxh PRTxDM0 Driver Mode 0 (Thanh ghi hoạt động chế độ 0) RW:00 1,xxh PRTxDM1 Driver Mode 1 (Thanh ghi hoạt động chế độ 1) RW:FF 1,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.11: Các thanh ghi vào ra đa chức năng.
- Xem thêm -

Tài liệu liên quan