1.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ếp
Trang 1TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI
KHOA : ĐIỆN – ĐIỆN TỬ
Bộ Môn : Kỹ Thuật Điện
***
BÁO CÁO THỰC TẬP TỐT NGHIỆP
Giáo viên hướng dẫn: Ts.Nguyễn Văn NghĩaSinh viên thực hiện : Nguyễn Xuân ThịnhLớp: : Trang Bị Điện CN & GTVTKhóa : 51
Trang 2CHƯƠNG I: TỔNG QUAN VỀ CÔNG TY TNHH THIẾT BỊ ĐIỆN ĐIỆN TỬ
CÔNG NGHIỆP 3
1.Sơ lược về công ty TNHH thiết bị điện điện tử công nghiệp 3
2.Quá trình hình thành và phát triển của công ty 3
CHƯƠNG II: NỘI DUNG THỰC TẬP CHUYÊN MÔN 4
1.Giới thiệu chíp PSOC CY8C29466 4
1.1 Giới thiệu: 4
1.2 Giới thiệu IC khả trình PSoC của hãng CYPRESS 4
1.2.1 Khái niệm PsoC 4
1.2.2 Tổng quan về tài nguyên chip PSoC 4
1.2.3 Cấu trúc chi tiết bêntrong chip PSoC 7
2.Nhiệm vụ được giao trong thời gian thực tập 22
2.1.Nội dung: 22
2.2.Giải thích: 22
2.3.Yêu cầu thiết bị: 22
3.Quá trình giả quyết và hoàn thành nhiệm vụ 22
3.1.Phần cứng: 22
3.1.1 Mạch nguyên lý: 22
3.1.2.Nguyên lý hoạt động 24
3.2.Phần mềm: 24
3.2.1.Cấu hình trong PSOC DESIGNER 5.4 24
3.2.2.Code 26
3.4.Xử lý số liệu 33
3.4.1.Nguyên nhân: 33
3.4.2.Xử lý phép đo 33
CHƯƠNG III: LẤY SỐ LIỆU LÀM THIẾT KẾ TỐT NGHIỆP 34
1.Định hướng đề tài tốt nghiệp 34
2.Kiến thức sử dụng làm đề tài tốt nghiệp 35
Trang 3CHƯƠNG I: TỔNG QUAN VỀ CÔNG TY TNHH THIẾT BỊ ĐIỆN ĐIỆN
TỬ CÔNG NGHIỆP.
1.Sơ lược về công ty TNHH thiết bị điện điện tử công nghiệp.
Tên công ty:
- Tên tiếng việt: công ty TNHH thiết bị điện-điện tử công nghiệp
- Tên tiếng anh: Industrial Electric Electronic Equipment Company Limited
Địa chỉ: Phố Hoa Bằng,Yên Hòa,Cầu Giấy,Hà Nội
Điện thoại:(04) 37821690
Email:tbdgroup@cscvn.com
Các lĩnh vực hoạt động của công ty:
Công ty chuyên cung cấp các dịch vụ và kỹ thuật công nghiệp
- Cung cấp bộ thu thập,xử lý,hiển thị và ghi vào thẻ nhớ SD cho các đầu cảm biến:áp suất,nhiệt độ,độ ẩm có thông số 4mA-20mA
- Thiết kế,lắp đặt khôi phục hệ thống điện-điều khiển
- Cung cấp-lắp đặt-bảo trì hệ thống tự động hóa
- Thiết kế,sửa chữa,bảo dưỡng hệ thống điều khiển máy công trình&giao thông vận tải
- Thiết kế mạch điện tử,điện tử công suất theo yêu cầu
- Sửa chữa bảo dưỡng,chăm sóc kỹ thuật cho nhà máy,khu công nghiệp
- Cung cấp linh kiện điện tử,thiết bị,modul điều khiển thay thế
- Cung cấp board mạch điều khiển máy công trình
- Cung cấp các loại nguồn AC->>DC;DC->>AC với các loại công suất khác nhau
2.Quá trình hình thành và phát triển của công ty
Tiền thân là nhóm robocon lớp trang bị điện k42,trường đại học giao thông vận tải Với mong muốn làm việc,phát triển đúng ngành nghề,nhóm sau khi ra trường đã cùng nhau làm việc,nghiên cứu và thành lập nhóm làm việc TBD group
Ngày 12/06/2008 TBD group chính thức thành lập công ty TNHH thiết bị điện điện tử công nghiệp
Trang 4CHƯƠNG II: NỘI DUNG THỰC TẬP CHUYÊN MÔN
1.Giới thiệu chíp PSOC CY8C29466.
1.2 Giới thiệu IC khả trình PSoC của hãng CYPRESS.
1.2.1 Khái niệm PsoC.
PSoC hay PSoC Mixed-Signal Arrays là từ viết tắt của Programmable system-on-chips PSoC là chip mà có thể tích hợp cả vi điều khiển các thành phầ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êu hao và giảm 5% giá thành sản phẩm ít nhất 10$ cho mỗi hệ thống
1.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ếp ngoạ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ối khả trình cho phép nhúng vào chip và số chân I/O Mỗi chip PSoC có từ 4-16 khố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 5Hì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 áphoạ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
Hình 2.2 Tổng quan kiến trúc PSoC
Trang 6Nhữ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
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ồng
lê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ến giấc mơ thành sự thật” đối với các kĩ sư thiết kế Trên cùng 1 chipPSoC
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 cứ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ần cấu hình lại bên trong chip Điện áp cung cấp có thể dao động ở mức 1V là một thuận lợi hết
Trang 7sứ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.
1.2.3 Cấu trúc chi tiết bêntrong 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 timer, Input-Output pins, Digital programmable blocks, Analog programmable blocks, I2C controller, Voltage, MAC unit, SMP Chúng
ta tiến hành phân tích từng khối
Trang 8Hì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ác thanh ghi
PC, SP, A, X và F, khối ALU, khối giải mã, kết hợp với nhau trong 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ố
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ữ trong thanh ghi A, X hoặc RAM data
Đặc điểm tần số hoạt động
Trang 9Bộ phát tần số là sự sống của CPU và các khối khả trình Mỗi thành phần khả trình đòi hỏi một tốc độ hoạt động khác nhau PSoC có 1 hệ thốngphát ra các tấn số khác nhau.
Hình 2.5 Bộ tạo tần số.
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 8tầ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 main oscillator),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
Trang 10 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 nay PSoC cung cấp mode Reset POR (Power on Reset) chuyển PSoC vào trạng thái này cho đến khi điện áp ổn định ở giới hạn chophé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
Hì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ới port 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
Trang 11 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 thanh 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
Mode Strong: đượcsử 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
Hình 2.8 Mode Strong
Trang 12 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 áp trên chân
Hình 2.9 Mode Analog High-Z
Pull-uphoặc pull-downlà 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 nhanh như trường hợp ngắt
Hình 2.10 Mode Open Drain
Trang 13 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ín hiệu phía trên các khối khả trình Phần này sẽ được trình bày kĩ trong mụ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à Digital
communication 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.Pseudo 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
Trang 14Hì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
Hì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ácphép toán logic AND, OR, XOR,
Trang 15Hì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ào các họ khác nhau mà có 1, 2, hoặc 4 cột Analog Mỗi cột có bộ Mux đầu và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ủa P2
Hình 2.15 Tổng quan khối analog
Trang 16 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 ra Analog hoặc đầu ra so sánh
Hình 2.16 Một cột của khối analog
Khối ACBsử 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 so sá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
Khối ASCand 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ọc thi 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ể đưa trự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)
Trang 17Hì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
Hình 2.18 Các mức điện áp tham chiếu
Trang 18 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ắc của chuyển đổi BOOSTDC/DC BOOSTDC/DC tạo ra điện áp cao hơn 1.5V làm nguồn nuôi cho PSoC
Thực hiện bằng cách ghi 8 bit đầu vào X và Y vào thanh ghi MUL_X
và MUL_Y và đọc giá trị đầu ra 16 bit từ thanh ghi MUL_DH và MUL_DL
Trang 20ACC_DR1 và ACC_DR0 Để bắt đầu phép tính giá trị phải trả về 0 bằ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 trong như: 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 1 ngắ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
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