Động cơ điện một chiều là động cơ điện hoạt động với dòng điện một chiều. Động cơ điện một chiều ứng dụng rộng rãi trong các ứng dụng dân dụng cũng như công nghiệpCấu tạo của động cơ gồm có 2 phần: stato đứng yên và rôto quay so với stato. Phần cảm (phần kích từthường đặt trên stato) tạo ra từ trường đi trong mạch từ, xuyên qua các vòng dây quấn của phần ứng (thường đặt trên rôto). Khi có dòng điện chạy trong mạch phần ứng, các thanh dẫn phần ứng sẽ chịu tác động bởi các lực điện từ theo phương tiếp tuyến với mặt trụ rôto, làm cho rôto quay.Tùy theo cách mắc cuộn dây roto và stato mà người ta có các loại động cơ sau:Động cơ kích từ độc lập: Cuộn dây kích từ (cuộn dây stato) và cuộn dây phần ứng (roto) mắc riêng rẽ nhau, có thể cấp nguồn riêng biệt.Động cơ kích từ nối tiếp: Cuộn dây kích từ mắc nối tiếp với cuộn dây phần ứng:Đối với loaj động cơ kích từ độc lập, người ta có thể thay thế cuộn dây kích từ bởi nam châm vỉnh cữu, khi đó ta có loại động cơ điện 1 chiều dùng nam châm vĩnh cữu.
Trang 1PHẦN 1: LÝ THUYẾT
CHƯƠNG 1: ĐỘNG CƠ ĐIỆN MỘT CHIỀU
1.1 Giới thiệu động cơ DC:
Động cơ điện một chiều là động cơ điện hoạt động với dòng điện mộtchiều Động cơ điện một chiều ứng dụng rộng rãi trong các ứng dụng dândụng cũng như công nghiệp
Cấu tạo của động cơ gồm có 2 phần: stato đứng yên và rôto quay so vớistato Phần cảm (phần kích từ-thường đặt trên stato) tạo ra từ trường đitrong mạch từ, xuyên qua các vòng dây quấn của phần ứng (thường đặt trênrôto) Khi có dòng điện chạy trong mạch phần ứng, các thanh dẫn phần ứng
sẽ chịu tác động bởi các lực điện từ theo phương tiếp tuyến với mặt trụ rôto,làm cho rôto quay
Tùy theo cách mắc cuộn dây roto và stato mà người ta có các loại động
cơ sau:
- Động cơ kích từ độc lập: Cuộn dây kích từ (cuộn dây stato) vàcuộn dây phần ứng (roto) mắc riêng rẽ nhau, có thể cấp nguồn riêngbiệt
- Động cơ kích từ nối tiếp: Cuộn dây kích từ mắc nối tiếp với cuộndây phần ứng:
Trang 2Đối với loaj động cơ kích từ độc lập, người ta có thể thay thế cuộn dâykích từ bởi nam châm vỉnh cữu, khi đó ta có loại động cơ điện 1 chiều dùngnam châm vĩnh cữu Đây là loại động cơ được sử dụng trong đồ án này.
1.2 Mô hình hóa động cơ DC:
Mô hình tương đương của phần ứng động cơ như sau:
Ia
(1.1)
(1.2)Trong đó Φ là từ thông do nam châm vĩnh cữu gây ra n là tốc độ động cơ
Momen điện từ:
Phương trình của động cơ:
(1.4)B: hệ số ma sát
T: monen tải
Trang 3Ở chế độ xác lập:
(1.5)(1.6)
Ta có được tốc độ động cơ ở chế độ xác lập:
(1.7)
1.3 Phương pháp điều khiển tốc độ động cơ:
Đối với loại động cơ kích từ độc lập dùng nam châm vĩnh cữu, để thay đổi tốc độ, ta thay đổi điện áp cung cấp cho roto Việc cấp áp 1 chiều thay đổi thường khó khăn, do vậy người ta dùng phương pháp điều xung(PWM):
Hình 1.1: PWMPhương pháp điều xung sẽ giữ tần số không đổi, thay đổi chu kì nhiệm
vụ (Duty cycle) để thay đổi điện áp trung bình đặt lên động cơ
Điện áp trung bình:
Trang 4Do đặc tính cảm kháng của động cơ, dòng qua động cơ là dòng liên tục, gợn sóng như sau:
t
Trang 5=J/B Hằng số thời gian cơ.
Vậy ta có mô hình hệ thống như sau:
Hình 1.3: Mô hình động cơ điện DCKhi momen tải bằng 0, ta có:
Vậy hàm truyền của động cơ lúc này có dạng khâu dao động
1.4.2 Hàm truyền gần đúng tìm được bằng thực nghiệm:
Để tìm hàm truyền bằng thực nghiệm ta tìm đáp ứng xung của động cơ
Ta đặt áp bằng áp định mức vào động cơ và vẽ đồ thị vận tốc theo thời gian
Vì thời gian lấy mẫu vận tốc nhỏ do đó ta không thấy được các điểm uốn
của đồ thị, do đó ở đây ta xấp xỉ hàm truyền động cơ là khâu quán tính bậc
n(p)
Trang 6Biến đổi Laplace ngược ta được:
n=kU(1-e-t/T)Khi t = T, n = kU(1-e-1)=0.63kU=0.63nmax
Vậy trên đồ thị ta xác định điểm tại đó n=0.63nmax sau đó tìm được T
Dựa vào đồ thị tìm được bằng thực nghiệm ta tìm được các thông số kU và T
kU = 150 vòng/s
T = 30ms=0.03s
Vậy hàm truyền gần đúng:
1.5 Phương pháp ổn định tốc độ động cơ dùng PID:
1.5.1 Thuật toán PID:
Trong đó:
- Kp: Hệ số khâu tỉ lệ (khâu khuếch đại)
Trang 7- Ki: Hệ số tích phân
- Kd: hệ số vi phân
Luật điều khiển PID:
Dựa vào bảng trên ta thấy rằng luật tỉ lệ (P) có đặc điểm tác động nhanh nhưng không triệt tiêu được sai lệch, đồng thời làm vọt lố của hệ thống tăng Khâu tích phân cho phép triệt tiêu sai lệch nhưng tác động chậm Khâu vi phân phản ứng với tốc độ biến thiên của sai lệch Ta cần xác định các thông số Kp, Ki, Kd để được hệ thống có chất lượng mong muốn
Thuật toán của bộ điều khiển PID số:
Khâu tích phân I (Integrate):
Trang 8với
Trong đó T là chu kì lấy mẫu vận tốc Công thức tích phângần đúng theo thuật toán xấp xỉ hình chữ nhật tới
Khâu vi phân D (Derivative):
với thành phần vi phân xấp xỉ bởi:
Vậy ta được hàm truyền khâu PID rời rạc:
Udk(z)(1-z-1) = E(z)(Kp(1-z-1) + Ki + Kd(1-z-1)2
Suy ra:
uk – uk-1 = Kp(ek – ek-1) + Kiek + Kd(ek – 2ek-1 – ek-2)
1.5.2 Phương pháp hiệu chỉnh thông số bộ PID Ziegler-Nichols:
Thông thường việc chọn các thông số P, I, D được xác định bằng thựcnghiệm dựa vào đáp ứng xung của hệ thống Ziegler – Nichols đưa raphương pháp chọn tham số PID cho mô hình quán tính bậc nhất có trễ Ởđây ta xấp xỉ hàm truyền của động cơ để dùng phương pháp này, tuy khônghoàn toàn chính xác nhưng có thể cho đáp ứng tương đối tốt
Phương pháp này đỏi hỏi phải tính được giá trị giới hạn của của khâu tỉ
lệ Kgh và chu kì giới hạn của hệ kín Tgh Sau đó tìm các thông số khác theo bảng sau:
Trang 9Để tìm được Kgh và Tgh, ban đầu ta chỉnh Ki, Kd bằng 0 sau đó tăng từ từ
Kp để hệ thống ở biên giới ổn định (dao động với biên độ và chu kì không đổi), tại đây ta xác định được Kgh và Tgh sau đó tính các thông số khác tùy theo bộ điều khiển như bảng trên
Ki = Kp/Ti
Kd = KxTd
Để thuận tiện trong quá trình điều chỉnh và quan sát đáp ứng của động
cơ, trong đồ án này chúng tôi đã xây dựng chương trình viết bằng VB trên máy tính để giao tiếp với mạch điều khiển
Chương 2 TỔNG QUAN VỀ PSoC IC CỦA HÃNG
Trang 10lập trình ứng dụng (Application Editor) Đồng thời giới thiệu tất cả cácmodule (embedded cores) trong thư viện API mà hãng này hỗ trợ.
2.2 Giới thiệu IC khả trình PSoC của hãng CYPRESS
2.2.1 Khái niệm PSoC
PSoC hay PSoC Mixed-Signal Arrays là từ viết tắt của Programmablesystem-on-chips PSoC là chip mà có thể tích hợp cả vi điều khiển các thànhphần tương tự và thành phần số xung quanh vi điều khiển nhúng vào một hệthống Một chip đơn PSoC có thể tích hợp lên đến 100 chức năng ngoại vi với
1 vi điều khiển, làm giảm thời gian thiết kế, không gian board, năng lượng tiêuhao và giảm 5% giá thành sản phẩm ít nhất 10$ cho mỗi hệ thống
2.2.2 Tổng quan về tài nguyên chip PSoC
PSoC khác với các vi điều khiển 8 bit thông thường là có các khối số vàcác khối tương tự có thể lập trình được cho phép thực hiện nhiều giao tiếpngoại vi
Khối số gồm có nhiều khối khả trình nhỏ có thể được cấu hình cho cácứng dụng khác nhau Khối tương tự được sử dụng cho các công cụ Analog như
bộ lọc, bộ so sánh tín hiệu tương tự, các bộ khuyếch đại đảo, không đảo như
AD, DA
Có một số họ PSoC khác nhau mà ta có thể lựa chọn xây dựng cho phùhợp với yêu cầu dự án Điểm khác nhau giữa cá họ PSoC là số lượng các khốikhả trình cho phép nhúng vào chip và số chân I/O Mỗi chip PSoC có từ 4-16khối số và 3-12 khối tương tự khả trình phụ thuộc vào các họ khác nhau
Trang 11Hình 2.1 Vị trí của PSoC
Một số điểm nổi bật của PSoC là:
Khối MAC, bộ nhân 8x8 hardware 32 bit
Điện áp hoạt động có thể thay đổi 3.3V hoặc 5V
Khả năng hoạt động với điện áp cung cấp thấp hơn yêu cầu 1V
Có thể lựa chọn tần số hoạt động cho chip
Microcontroller
ASIC Standard Product
Cần mức tích hợp cao hơn và ít thành phần hơn (lower BOM)
Trang 12Hình 2.2 Tổng quan kiến trúc PSoC
Những tài nguyên hỗ trợ người dùng xây dựng kiến trúc PSoC:
32 KBytes ROM (FLASH) cho việc lập trình với 50000 lần xóa ghi
Hỗ trợ lên đến 2KByte SRAM, bộ nhớ động EEPROM
Bộ chuyển đổi AD với độ phân giải tối đa lên đến 14 bits
Bộ chuyển đổi DA với độ phân giải tối đa 9bits
Bộ khuếch đại điện áp khả trình
Trang 13 Bộ lọc và so sánh tín hiệu tương tự khả trình
Timer và Counter 8, 16 ,24hoặc 32 bits
Chuỗi giả và bộ phát mã CRC
Hai bộ UART song công
Bộ SPI nhiều thiết bị (SPI master và SPI slaver)
Truyền thông giữa tất cả các chân
Truyền thông giữa các khối
Bảo vệ cho việc lập trình cho vùng nhớ riêng và bảo vệ tránh ghi chồnglên
Mỗi chân PSoC có thể đặt ở các trạng thái Pull up, Pull down, High Z,Strong, hoặc Open
Khả năng tạo ngắt tại bất kì chân nào của PSoC
I2C Slaver và master hoặc nhiều master với tốc độ lên đến 400KHz
Tích hợp bộ giám sát mạch bên trong (Watchdog, Sleep)
Xây dựng các mức điện áp chính xác
Lập trình trực tiếp trên hệ thống ISSP
Với sự hỗ trợ đa dạng như vậy sự ra đời của PSoC được ví như là “biếngiấc mơ thành sự thật” đối với các kĩ sư thiết kế Trên cùng 1 chip PSoC ta cóthể thiết lập những chức năng khác nhau rất linh hoạt cho mỗi dự án Không có
1 vi điều khiển nào khác có điện áp khả trình, khuếch đại đảo và không đảo, bộphát chuỗi serial giả và bộ phát mã CRC cũng như bộ mã hóa MAC (Multiply-accumulate) cần thiết cho phần xử lí tín hiệu số, với sử cho phép xử lí đầy đủcác thuật toán xử lí tín hiệu số Một điều đáng quan tâm là bộ nhân bằng phần
Trang 14cứng này là 32 bit chứ không phải 8 bit như vi điều khiển Điện áp làm việc cóthể thay đổi và đặc biệt loại trừ khả năng phải thiết kế lại mạch PCB vì chỉ cầncấu hình lại bên trong chip Điện áp cung cấp có thể dao động ở mức 1V là mộtthuận lợi hết sức to lớn cho nguồn hoạt động hệ thống Timer, Counter vàPWM hoạt động linh hoạt hơn.
2.2.3 Cấu trúc chi tiết bên trong chip PSoC
Tổng quan về cấu trúc bên trong PSoC
Hình 2.3Kiến trúc PSoC IC
PSoC xây dựng trên cơ sở kiến trúc vi xử lí 8 bit CISC với cấu trúcHarvard (cấu trúc mà bus dữ liệu, bus địa chỉ và tín hiệu điều khiển bộ nhớchương trình, bộ nhớ dữ liệu độc lập nhau) Cấu trúc chung là các khối:CPU unit, Frequency generator, Reset controller, Watch Dog timer, Sleep
Trang 15timer, Input-Output pins, Digital programmable blocks, Analogprogrammable blocks, I2C controller, Voltage, MAC unit, SMP Chúng tatiến hành phân tích từng khối.
Đặc điểm CPU
Hình 2.4 CPU
Chương trình được lưu trong bộ nhớ FLASH CPU tìm kiếm theo chỉdẫn từ bộ nhớ chương trình, giải mã và thi hành lệnh Khối CPU chứa cácthanh ghi PC, SP, A, X và F, khối ALU, khối giải mã, kết hợp với nhautrong quá trình xử lý lệnh
Các thanh ghi trong CPU:
Program counter (PC) là con trỏ PC, thanh ghi bộ đếm chương
trình thực hiện chương trình tại vị trí giá trị con trỏ
Stack pointer (SP) trỏ đến địa chỉ SRAM nơi data được ghi hoặc
đọc trong trường hợp của PUSH và POP theo chỉ dẫn tương ứng.Khi hoạt động này xảy ra giá trị con trỏ SP tự động tăng hoặc giảm
Accumulator register (A) là thanh chứa A.
Index register (X) có thể được xem như thanh ghi A và cũng được
sử dụng trong trường hợp của địa chỉ chỉ số
Trang 16 Flag register (F) là thanh ghi cờ chứa bit mô tả hoạt động trước đó
Thanh ghi cờ cũng đống vai trò chọn trang nhớ RAM khi PSoC cónhiều hơn 256 Byte RAM Thanh ghi cờ chứa bit cờ Zero (Z) và cờCarry (C)
Arithmetic logic unit (ALU) là 1 phần chuẩn của CPU được sử
dụng trong các phép toán số học như phép cộng, trừ dịch trái phải,vàcác phép toán logic Dữ liệu sau tính toán có thể được lưu trữ trongthanh ghi A, X hoặc RAM data
Đặc điểm tần số hoạt động
Bộ phát tần số là sự sống của CPU và các khối khả trình Mỗi thànhphần khả trình đòi hỏi một tốc độ hoạt động khác nhau PSoC có 1 hệthống phát ra các tấn số khác nhau
Hình 2.5 Bộ tạo tần số.
Trang 17 SYSCLK là bộ tạo dao động nhip clock nội với tốc độ 24MHz, được
sử dụng như là 1 nguồn clock chuẩn cho hầu hết cá tín hiệu Từ đó
có thể lựa chọn các tần số mong muốn như : SYSCLKx2(48MHz),24V1=SYSCLK/N1 (N1=1-16), 24V2=SYSCLK/N1N2,
CPU_CLK được sử dụng cho CPU CPU_CLK có thể có một số của
8 tần số trong giới han từ 93.75MHz đến 24MHz
CLK32K là tín hiệu chậm với tần số 32kHz Tín hiệu SYSCLK có
thể được yêu cầu sử dụng bộ dao động nội IMO (internal mainoscillator), trong khi tín hiệu CLK32K có được thông qua ILO(internal local oscillator)
PSoC cung cấp bộ dao động nội với độ chính xác 2.5% và có thể mởrộng bộ dao động thạch anh bên ngoài
Reset: Có 3 chế độ Reset: POR, XRES và WDR
POR Trong quá trình làm việc nguồn cung cấp PSoC có thể thay
đổi,rất nguy hiểm nếu điện áp vượt gới hạn cho phép vì PSoC có thểthực hiện những hoạt động ngoài dự đoán Trong trường hợp nayPSoC cung cấp mode Reset POR (Power on Reset) chuyển PSoCvào trạng thái này cho đến khi điện áp ổn định ở giới hạn cho phép
XRES Là mode Reset bên ngoài bằng công tắc Switch như các vi
điều khiển thông thường khác
Trang 18Hình 2.6 Mạch Reset
WDR Watch dog reset (WDR) được sử dụng để mang hệ thống ra
khỏi chế độ vòng lặp chết hoặc các hoạt động ngoài dự đoán
Digital Inputs and Outputs
IO số kết nối PSoC với bên ngoài qua 8 chân mỗi Port Làm việc vớiport là làm việc với các thanh ghi PRT0DR (port 0), PRT1DR (port 1),PRT2DR, PRT3DR, PRT4DR và PRT5DR
Hình 2.7 Digital Inputs and Outputs
Drive Mode: Chọn cách mà thanh ghi PRTxDR được nối với chân PSoC Có 8 phương thức thiết lập trạng thái của chân mà không cần các thiết bị hỗ trợ bên ngoài Mode làm việc của chân được định nghĩa theo bảng bên dưới ứng với các bit của các
Trang 19thanh ghi DM2, DM1 và DM0 Có thể tác động trực tiếp vào các thanh ghi này hoặc trong Device Editor.
DM2
bit DM1 bit
DM0
Strong(Slow)
(Slow)
Strong(Slow)
Low
Strong(Slow) Hi-Z
Mode Strong: được sử dụng khi nối trực tiếp trạng thái thanh ghi
PRTxDR với chân PSoC Phương thức này được sử dụng khi chânđược sử dụng như đầu vào
Trang 20Hình 2.8 Mode Strong
Mode Analog Hi-Z: được dùng khi pin là đầu vào tín hiệu analog
như đầu vào ADC Trong trường hợp này thanh ghi PRTxDR đượccách ly với chân PSoC vì vậy không ảnh hưởng đến giá trị điện áptrên chân
Hình 2.9 Mode Analog High-Z
Pull-up hoặc pull-down là mode điện trở kéo lên hay kéo xuống bên
trong Giữ trạng thái chân ở 1 mức nhất định khi không có tác dộngbên ngoài
Mode Open drain được dùng khi mang 1 vài thiết bị trên 1 line, lúc
này cần thêm điện trở treo bên ngoài Cần cho việc chuyển trạng thái
Trang 21nhanh như trường hợp ngắt.
Hình 2.10 Mode Open Drain
Tổng quan các liên kết của khối khả trình số.
Hình 2.11 Tổng quan khối số
GIO và GIE là Global input chẵn (P1,P3,P5) và lẻ (P0,P2,P4,P6):
Input multiplexers của block lines
Input multiplexer chọn 1 trong các global lines và nối đến các line tínhiệu phía trên các khối khả trình Phần này sẽ được trình bày kĩ trongmục 3.3 (PSoC Designer)
Khối khả trình số: Mô tả chi tiết ở hình bên dưới Khối khả trình số
được chia làm 2 loại: Digital Basic block (DBB) và Digitalcommunication block (DCB) :
Digital Basic block như: 8,16,24,32 bit Timer 8,16,24,32 bit
Counter, 8,16 bit PWM 8,16 dead band Generator 8,16,24,32 bit
Trang 22Pseudo random sources (PRS) Các bộ đệm và đảo số, bộ phát mã CRC.Các khối này có thể đặt vào bất kì khối số nào trong PSoC mà còn trống(DBB hoặc DCB).
Digital communication block: chỉ có thể đặt vào các khối khả trình
ở hai cột bên phải (DCB) Ví dụ: I2C master và Slaver, SPI Master vàSlaver, UART, Hồng ngoại IrDA
Hình 2.12 Khối số
Frequency signal (CLK)
Lấy từ bộ phát tần số bên trong VC1, VC2, VC3, SYSCLKx2,CPU_32
Từ đầu ra khối khác (Counter, Timer, PWM)
Từ dây chung Broadcast line (BC)
Đầu vào (RI) hoặc đầu ra (RO) block lines
Trang 23Hình 2.13 Clock
Logic circuit sửa đổi tín hiệu ra: cho phép qua 1 của 2 tín hiệu, đảo
tín hiệu và thực hiện các phép toán logic AND, OR, XOR,
Hình 2.14 Logic circuit
Các khối khả trình Analog
Các khối khả trình Analog được chia làm các cột mỗi cột 3 khối, tùy vàocác họ khác nhau mà có 1, 2, hoặc 4 cột Analog Mỗi cột có bộ Mux đầuvào, 1 dây tần số, đầu ra analog hoặc đầu ra so sánh Các khối tương tự cóthể liên kết với các khối số để so sánh hoặc lấy tần số Clock Đầu vào vàđầu ra tín hiệu Analog chỉ cho phép ở 1 số chân gồm P0 và 4 chân thấp củaP2
Trang 24Hình 2.15 Tổng quan khối analog
Analog multiplexers of port P0 Tín hiệu từ Port 0 được nối đến
khối analog ACB
Analog columns Mỗi cột có 3 loại khối block: ACB, ASC và ASD.
Đầu ra của nhữngkhối này được nối đến các khối kế bên hoặc đầu raAnalog hoặc đầu ra so sánh
Hình 2.16 Một cột của khối analog
Khối ACB sử dụng cho các bộ khuếch đại Phụ thuộc các liên kết
nội bên trong khối mà có thể là khuếch đại đảo, không đảo hoặc sosánh Đầu vào khối này được lấy từ bộ Analog multiplexer hoặc từcác khối kế bên
Trang 25 Khối ASC and ASD là loại switched capacitor (SC) Chúng chứa bộ
khuếch đại với rail-to-rail IO và bộ MUX nội ADC, DAC và bộ lọcthi hành tùy thuộc vào cấu hình bên trong khối Đầu vào khối SC lấy
từ những khối khác nhưng tín hiệu từ bộ MUX analog không thể đưatrực tiếp vào khối SC mà phải qua khối ACB
Đầu ra Analog Mỗi cột analog có chung đường 1 đường
AnalogOutBus nối ra bộ đệm ra 4 chân giữa P0 (P0_2 - P0_5)
Comparator outputs Mỗi cột có 1 đường so sánh goi là “compare
line” có thể nối đến các khối số hoặc khối tương tự khác
Frequency signal Những khối ADC, DAC và bộ lọc cần những tần
số đặc biệt để hoạt động, tần số này được chọn qua bộ MUX: từVC1, VC2, đầu ra của 1 số khối clock (Counter, timer, PWM)
Hình 2.17 Tần số tín hiệu cho khối Ananlog
Các mức điện áp tham chiếu:
Trong PSoC có 3 mức điện áp tham chiếu: AGND, RefH, RefLo.Được mô tả ở hình bên dưới
Trang 26Hình 2.18
Các mức điện áp tham chiếu
Switch Mode Pump
Hình 2.19 Mode Pump
Trong mode Pump nguồn cung cấp lấy từ Pin, hoạt động trên nguyên tắccủa chuyển đổi BOOSTDC/DC BOOSTDC/DC tạo ra điện áp cao hơn1.5V làm nguồn nuôi cho PSoC
Trang 27MAC là 1 khối thiết bị phần cứng dùng tính toán như nhân các số 8 bitcũng như phép cộng Việc thực hiện rất đơn giản, việc chúng ta làm là đọc
và ghi các giá trị vào các thanh ghi
Hardware multiplication
Thực hiện bằng cách ghi 8 bit đầu vào X và Y vào thanh ghiMUL_X và MUL_Y và đọc giá trị đầu ra 16 bit từ thanh ghiMUL_DH và MUL_DL
Trang 28Hình 2.21 Sum of products
Quá trình tính được thực hiện khi nhập dữ liệu X và Y vào thanhghi MAC_X hoặc MAC_Y hoặc cũng có thể ghi vào các thanh ghiMUL_X và MUL_Y, trường hợp kết quả chưa được đọc thì giá trịtính toán được lưu trong các thanh ghi ACC_DR3, ACC_DR2,ACC_DR1 và ACC_DR0 Để bắt đầu phép tính giá trị phải trả về 0bằng cách ghi giá tri 0 vào thanh ghi MAC_CL1 hoặc MAC_CL0
Interrupt Controller
Ngắt là bộ máy bên trong vi điều khiển cho phép phản ứng nhanh với 1
số sự kiện khi xảy ra sự kiện đó Những nguyên nhân xảy ra ngắt bên trongnhư: Timer, ADC, và nguyên nhân bên ngoài như kết thúc nhận 1 chuỗi,thay đổi trạng thái chân (cạnh lên hoặc cạnh xuống) Khi ngắt xảy ra,chương trình chính tạm dừng và thi hành chương trình ngắt Thực hiện 1ngắt gồm các bước:
Khi 1 ngắt xảy ra, điều khiển ngắt cất giữ loại ngắt
Dừng thực hiện chương trình chính
Nếu ngắt được cho phép hoặc bit ngắt toàn cục được set bằng 1(GIE
= 1), quá trình thực hiện chương trình ngắt bắt đầu Stack cất giữ giátrị của PCH, PCL và thanh ghi F
Một ngắt mới xảy ra không cho phép bằng cách đặt giá trị thanh ghi
F bằng 0 (GIE = 0)
Bộ đếm chương trình nhảy đến địa chỉ ngắt đã được định nghĩa
Thực hiện chương trình ngắt
Trang 29 Gặp lệnh RETI thì quay trở về chương trình chính giá trị thanh ghi Fđược khôi phục từ stack, bộ đếm chương trình được trả về giá trị cũ.
Hình 2.22 Ngắt
Thanh ghi PRTxIF được sủ dụng thể hiện ngắt GPIO trên port, trong khi
đó PRTxIC1và PRTxIC0 là các thanh ghi điều khiển ngắt thích hợp Mỗingắt có thể giấu hoặc xóa với sự hỗ trợ của thanh ghi INT_MSK vàINT_CLR
Không gian địa chỉ bộ nhớ
PSoC có 3 không gian địa chỉ bộ nhớ: ROM, RAM, registers Vì trongkiến trúc vi xử lí Harvard truy cập vào bộ nhớ ROM với 1 đường đặcbiệt Vì vậy PSoC có thể được chỉ đẫn và truy cập dữ liệu cùng 1 lúc
Hình 2.23 Không gian địa chỉ bộ nhớ
Program memory Bộ nhớ chương trình là 1 phần của ROM, được
sử dụng để chứa mã chương trình Mã chương trình được ghi với sự
Trang 30hỗ trợ phần cứng bên ngoài Bộ nhớ chương trình là công cụ trongcông nghệ FLASH, nó thật đơn giản cho việc thay đổi chương trình.Tùy vào các họ PSoC mà hỗ trợ các bộ nhớ chương trình khác nhau:
2, 4, 8, 16 và 32 kB
Supervisory ROM (ROM giám sát) Supervisory ROM là 1 phần
của ROM, được sử dụng để đo, kiểm tra các thành phần Với kiếntrúc đặc biệt SSC có thể truy cập như 1 phần bộ nhớ
RAM có thể lưu trữ các biến số và stack mà được sử dụng trong quá
trình làm việc của PSoC Với các họ PSoC CY8C29xx có nhiều hơn
256 byte RAM được quản lí trong các page với stack được lưu ởtrang cuối cùng
Thanh ghi PSoC có 512 thanh ghi trong 2 bank 256 Để truy cập
vào thanh ghi bên cạnh tên của nó người sử dụng phải biêt tên bank
Để truy cập được bank bằng cách sử dụng macros M8C_SetBank0and M8C_SetBank1, với việc xóa hoặc set bit XIO trong thanh ghiCPU_F
2.3 Giới thiệu phần mềm PSoC Designer của hãng CYPRESS
2.3.1 Tổng quan về PSoC Designer
PSoC Designer là phần mềm do hãng CYPRESS cung cấp miễn phí đểlập trình cho PSoC Nhìn chung PSoC Designer được chia là 2 phần:
Device Editor : để xây dựng kiến trúc phần cứng cho PSoC
Application Editor: viết các chương trình ứng dụng.
Trang 31Ngoài ra còn ra còn có phần debugger để dịch ra file Hex, và PSoCProgrammer là chương trình nạp vào chip PSoC sử dụng mạch nạp của hãngCYPRESS Để lựa chọn cửa sổ làm việc click chuột vào các nút có biếu trượngtrên hình:
Hình 2.24 Chọn cửa sổ làm việc
2.3.2 Xây dựng kiến trúc phần cứng( Device Editor)
Các mức datasheet của PSoC
PSoC có 3 mức datasheet: Device datasheet, Datasheet từng module(embedded core) và datasheet do người sử dụng xây dựng
Device datasheet là datasheet do nhà sản xuất đưa ra chung cho cả họ
PSoC ví dụ: CY8C29xx66 hoặc CY8C27xx43 Cung cấp những thôngtin:
Các thanh ghi
Đặc điểm nhiễu
Loại và kích thước package
Những thông tin chung chung và thông tin về nhà sản xuất
Để xem Device datasheet vào PSoC Designer mụcHelp/Documentation hoặc vào trang web của nhà sản xuất:www.cypress.com
Device EditorApplication Editor Debugger User module selection view
Interconnect View
Trang 32 Datasheet của từng module: Cung cấp biếu đồ USER Module, chi
tiết đặc điểm của USER Module, lưu ý nơi đặt module trong các khốikhả trình PSoC, và code mẫu Chi tiết sẽ được trình bày trong phầnPSoC Designer
Hình 2.25User module
Trong đó:
(1): Thư viện Module: Chọn các module sử dụng phù với với project
của người dùng bằng cách click đúp chuột
(2): Sơ đồ khối user module
(3): Datasheet user module (tài nguyên,mô tả đặc điểm, tổng quan,
sơ đồ khối, mô tả chức năng, các thông số đặc điểm kĩ thuật, nơi đặt
1
3
4 2
Trang 33nó, thước đo tài nguyên chiếm dụng, thư viện API, code mẫu và cácthanh ghi).
(4):Thước đo tài nguyên (Khối số, analog, ROM, RAM, Decimator,
I2C controller đã sử dụng)
Hình 2.26: Thước đo tài nguyên
Các Module mà PSoC Designer hỗ trợ:
ADCs: ADCINC, ADCINC12, ADCINC14, ADCINCVR,
DELSIG8, DELSIG11, DUALADC, DUALADC8, DelSig,SAR6, TRIADC, TRIADC8
AMPLIFIERS: AMPINV, CMPPRG, CmpLP, INSAP,PGA
Analog Comm: DTMFdialer (bàn phím tương tự)
Counters: Counter8, Counter16, Counter24, Counter32
DACs: DAC6, DAC8, DAC9, MDAC6, MDAC8
Digital Comm: CRC16, EzI2Cs, I2CHW, I2Cm, IrDARX,
IrDATX, RX8, SD Card, SPIM, SPIS, TX8, UART
Filters: BPF2, LPF2
Generic: SCBLOCK
Misc Digital: DigBuf, DigInv, E2PROM, LCD, LED,
LED7SEG, Sleep Timer
Trang 34 MUX: AMUX4, AMUX8, RefMux
Protocols: BootldrI2C
PWMs: PWM8, PWM16, PWMDB8, PWMDB16.
Random Seq: PRS8, PRS16, PRS24, PRS32.
Temperature: FlashTemp
Timers: Timer8, Timer16, Timer24, Timer32.
Datasheet do người sử dụng xây dựng: trong PSoC Designer, chọn
View/datasheet
Trang 35Hình 2.27 Datasheet do người sử dụng xây dựng
Interconnection View
Hình 2.28 Interconnection View
Thời gian tạo datasheetCác module đã
sử dụng
Trang 36Mọi sự liên kết chưa được phép nếu chưa đặt các khối số hoặc tương
tự vào các khối khả trình và chờ thước đo tài nguyên set xong Đây làphần công việc quan trọng có thể được thực hiện ở của sổ InterconnectionView Ở phần trung tâm là hình mô tả các khối khả trình và các line liênkết.Công việc xây dựng kiến trúc line giống như routing PCB nhưng đơngiản hơn Quan trọng là việc thiết lập các thông số Global sẽ được trìnhbày ở phần tiếp theo
Global Parameters: Các thông số Global ở tab bên trái cửa sổ Interconnection View cụ thể ở hình bên dưới
Hình 2.29 Global Parameters
Các thông số này được mặc định 1 số giá trị hợp lí mà ngườidùng chỉ cần lựa chọn Ví dụ điện áp cung cấp mặc định chọn 1 trong 2giá trị 5V hoặc 3.3V nhưng với 1 số thông số người sử dụng có thể nhậpvào Ví dụ nhập giá trị VC3 Divider
Component Parameters
Trang 37Để thiết lập các thông số cho User Module Các thiết bị ngoại vicủa PSoC hết sức linh hoạt nó hoạt động phụ thuộc vào các thông sốngười dùng thiết lập.Điển hình là chọn tần số của tín hiệu, các kết nốivới các khối khác và các liên kết bên trong.Vì vậy thiết lập các thông sốnày là đièu kiện bắt buột Hình bên dưới thí dụ cho module PWM16
Hình 2.30 Component Parameters
Pin Parameters
Là bảng thiết lập thông số trạng thái chân Các kiểu chân PSoCđược trình bày ở phần trước.T ất cả được mặc định là Analog Hi-Z,người sử dụng có thể chọn mode hoạt động cho chân PSoC phù hợp vớiyêu cầu Đây cũng là 1 trong những ưu điểm vượt trội của PSoC so với
vi điều khiển thông thường Chọn mode drive cho pin có 2 cách hoặcthiết lập các thông số trong bảng này hoặc lập trình bằng phần mềmbằng cách đặt các giá trị thanh ghi thích hợp
Trong cột Select nếu chọn là StdCPU thì chân ở chức năng chuẩn
IO và không kết nối đến bất kì khối nào
Cột Drive để thiết lập mode hoạt động của chân PSoC như
pull-up, pull-down, Strong, Strong low, Open drain high, Open drain
Trang 38low, High Z, High Z Analog Trường hợp cần trở kháng cao chọn High Z Analog
Cột thứ 3 sử dụng để thiết lập chân ngắt Mặc định là không cóngắt (Disable), có 3 nguyên nhân ngắt là cạnh lên (Rising Edge), cạnhxuống (Falling Edge) và thay đổi trạng thái từ việc đọc (Change fromread)
Hình 2.31 Pin Parameters
Placement
Những ô trống để đặt các khối khả trình có màu xám, khi ô đó đã cómodule khác thi có màu đặc trưng của module đó Click vào biểu tượngPlace hoặc click chuột phải chọn Place Chú ý phải tuân thủ nguyên tắc
về vị trí các khối Communication Digital và các khối Analog như đãtrình bày ở phần trước Nối các đầu ra dầu vào của khối bằng cách clickchuột trái ta sẽ thấy 1 danh sách điểm đích có thể nối như hình vẽ bêndưới
Trang 39Hình 2.32 Placement
Digital Components Interconnection
Liên kết các khối số trước hết yêu cầu người dùng phải biết cơ bản
về các khối khả trình
Hình 2.33 Digital Components Interconnection
Ở phía trên có 4 line đầu vào khối digital có màu đỏ và bên dướicác khối là 4 line đầu ra khối digital có màu xanh Khối Digital khôngthể nối trực tiếp ra chân PSoC nhưng qua bộ MUX và input line vàoutput line toàn cục (GIO, GIE, GOO, GOE)
Trang 40Hình 2.34 Digital MUX
Global input lines (GIO và GIE) ở bên trái màn hình và globaloutput lines (GOO và GOE) ở bên phải màn hình Click chuột ở biểutượng MUX PSoC Designer sẽ hiện ra các Global input lines cho phépnối ứng với các digital line đầu vào khác nhau
Hình 2.35 Global Line In
PSoC Designer hỗ trợ cho bạn rất nhiều, bạn dễ dàng tạo ra cácliên kết đơn giản bằng cách click chuột và chọn.dưới đây là một số hìnhminh họa thực hiện để nối đầu ra các khối với chân PSoC