Khối xử lý trung tâm

Một phần của tài liệu Thiết kế thiết bị đo có khả năng đo nồng độ khí NH3 hiển thị lên màn hình LCD, trao đổi tín hiện với máy tính, lƣu trữ trên máy tính (Trang 27)

1. Tổng quan về thiết bị đo nồng độ khí NH3

2.2.6.Khối xử lý trung tâm

Khối xử lý trung tâm có chức năng xử lí mọi thông tin và tạo chức năng cho các thiết bị. Em lựa chọn dòng vi điều khiển PSoC cho khối xử lý trung tâm vì đây là dòng vi điều khiển tích hợp nhiều các chức năng và rất linh hoạt, bao gồm cả số và tƣơng tự.

Vi xử lý PSoC còn có các chức năng giao tiếp ngoại vi đáp ứng đƣợc yêu cầu của đồ án cho thiết bị, đồng thời vi xử lý này cũng tích hợp các bộ biến đổi : ADC, khuyếch đại, DAC.

Vì vậy có thể hạn chế tối đa linh kiện trung gian và giảm đƣợc nhiều thời gian thiết kế phần cứng cũng nhƣ phần mềm.

Hình 2.12 Vi xử lý trung tâm PSoC

1. Sơ lược về công nghệ PSoC

Khối xử lý”trung tâm bao gồm nhiều các chức năng khác nhau để có thể giao tiếp hết với các ngoại vi của thiết bị.

Chíp PSoC là dòng vi xử lý có cấu hình rất động, có thể cấu hình đồng thời thành các khối chức năng rất đa dạng, Dòng chíp PSoC do hãng Cypress phát triển, đây cũng là dòng vi điều khiển giống nhƣ các dòng vi điều khiển khác (8051, PIC,…), nhƣng có điểm nổi bật là dòng này tích hợp thêm các khối ngoại vi khả trình cho phép cấu hình động thành các ADC, DAC, các bộ đếm, bộ khuyếch đại, bộ lọc, bộ truyền thông nối tiếp UART, I2C, SPI, …

Có nghĩa là chíp PSoC có khả năng cung cấp nhiều các loại ngoại vi khác nhau giúp làm giảm thời gian cũng nhƣ không gian thiết kế cho mạch của thiết bị. Chíp PSoC tuy phức tạp nhƣng với sự hỗ trợ của phần mềm phát triển trên máy tính thì việc xây dựng chƣơng trình không gặp mấy khó khăn và không cần thiết phải hiểu sâu về kiến trúc cũng nhƣ các thanh ghi chế độ của chíp.

Hiện nay có hai phiên bản phần mềm phát triển của hãng Cypress là PSoC Designer cho dòng PSoC1 và PSoC Creator cho các dòng PSoC3 & 5 cao”hơn.

2. Một số đặc tính nổi bật của vi điều khiển PSoC

- Có thể thay đổi điện áp hoạt động 3,3V đến 5V - Có thể cung cấp điện áp thấp 1V

- Có thể lựa chọn tần số nhờ lập trình.

3. Các khối lập trình cho phép bạn thiết lập

- Bộ nhớ16/32/64/128K bytes - 2k bytes RAM

- ADC độ phân giải tối đa 14 bit - DAC độ phân giải tối đa 9 bit - Khuếch đại điện áp

- Các bộ lọc và so sánh

- Các bộ định thời và bộ đếm 8-16-32 bit - Khối tạo mã CRC và mã giả ngẫu nhiên - Hai khối UART

- Các thiết bị SPI

- Tất cả các chân đầu ra - Các khối chức năng

- Lập trình trên vùng bộ nhớ xác định và ghi có bảo vệ

- Các chân I/O đều có các chế độ Pull up, Pull down, High Z, Strong, Open pin state

- I2C Slaver hoặc Master và Multi-Master có tốc độ lên tới 400kHz - Mạch giám sát tích hợp

- Khối tạo điện áp tham chiếu chuẩn xác

CY8C29566

Các vi xử lí PSoC1, PSoC3 dựa trên cấu trúc CISC 8-bit, các thế hệ đời cao hơn nhƣ PSoC5 mạnh hơn nhiều và dựa trên lõi vi xử lý ARM 32 bit. Cấu trúc chung của chúng bao gồm các khối dƣới đây:

- Khối CPU: là trung tâm của vi xử lí có chức năng thực hiện lệnh và điều khiển chu trình hoạt động (workflow) của các khối chức năng khác

- Khối tạo tần số dao động: là nơi tạo ra các tần số thích hợp cung cấp cho CPU hoạt động và cung cấp tập hợp các tần số khác nhau cho các khối có chức năng lập trình đƣợc. Các tần số đƣợc tạo ra dựa trên cơ sở tần số tham chiếu bên trong PSoC hoặc đƣợc cung cấp từ bên ngoài vi xử lí.

- Khối điều khiển Reset: tác dụng kích hoạt cho vi xử lí hoạt động cũng nhƣ giúp phục hồi trạng thái hoạt động bình thƣờng của vi xử lí khi xảy ra sự cố. - Bộ định thời Watch-Dog: tác dụng để phát hiện ra các vòng lặp vô hạn trong

chƣơng trình.

- Bộ định thời Sleep: có khả năng kích hoạt vi xử lí theo chu kì để thoát ra khỏi chế độ tiết kiệm công suất. Còn có tác dụng nhƣ một bộ định thời thông thƣờng. (adsbygoogle = window.adsbygoogle || []).push({});

- Các chân vào/ra: tác dụng giúp cho việc giao tiếp giữa CPU và các khối chức năng số/tƣơng tự có thể lập trình đƣợc cũng nhƣ giao tiếp với ngoại vi. - Khối chức năng số: có khả năng lập trình đƣợc cho phép ngƣời dùng tự cấu

hình các thành phần số tùy biến.

- Khối chức năng tương tự: có khả năng lập trình đƣợc cho phép ngƣời dùng tự cấu hình các thành phần tƣơng tự nhƣ các các bộ lọc, bộ đảo, bộ thu nhận mã đa tần rời rạc DTMF, bộ chuyển đổi dữ liệu AD/DA, các bộ khuếch đại thuật toán OA.

- Khối điều khiển ngắt: có tác dụng xử lý các yêu cầu ngắt trong trường hợp cần thiết.

- Khối điều khiển I2C: tác dụng giúp cho vxl PSoC giao tiếp với các phần

cứng khác theo chuẩn I2C

- Khối tạo điện áp tham chiếu: cần thiết cho các thành phần analog và nằm

bên trong các khối tƣơng tự, có khả năng lập trình đƣợc.

- Bộ nhân tổng MAC: tác dụng thực hiện các phép nhân có dấu

- Hệ thống SMP: có thể đƣợc sử dụng nhƣ 1 phần của bộ chuyển đổi điện

áp. Ví dụ, nó có thể cung cấp công suất cho 1 vi điều khiển hoạt động chỉ bằng duy nhất 1 pin 1,5V .

Chƣơng 3. TRIỂN KHAI THIẾT BỊ VÀ KẾT QUẢ ĐO 3.1. Triển khai thiết bị đo

Dựa vào linh kiện đã chọn ta triển khai thiết kế thiết bị nhƣ sau:

3.1.1. Khối hiển thị

Kết quả đo đƣợc hiển thị trên màn hình LCD của thiết bị đo.

G N D G N D VCC 1 3 R V V 0 MAN HINH LCD 1 2 ON LCD VSS 1 VDD 2 V0 3 RS 4 R/W 5 E 6 D0 7 D1 8 D2 9 D3 10 D4 11 D5 12 D6 13 D7 14 A 15 K 16 LCD L C D LCD16x2 V0 GND VCC P4_0 P4_1 P4_2 P4_3 P4_4 P4_5 P4_6 VCC 1K R 1 Hình 3.1. Sơ đồ nối màn hình LCD 3.1.2. Khối lưu trữ MMC

Do PSoC hỗ trợ chuẩn giao tiếp với thẻ nhớ MMC nên vấn đề này có thể đƣợc thực hiện khá là dễ dàng.

Dữ liệu lƣu vào trong thẻ nhớ dƣới dạng FAT32 cho nên hoàn toàn có thể truy xuất bằng các thiết bị khác hỗ trợ chuẩn FAT32.

Chức năng chống ghi (Write Protect) và phát hiện ra thẻ (Card Detect) đƣợc PSoC hỗ trợ một cách đầy đủ.

6 5 4 3 2 1 M M C Header 6 THE NHO MMC G N D SCK1 MOSI1 MISO1 VCC VCC G N D CS1 10 4 C10

Hình 3.2. Giao diện của thẻ MMC và mạch ghép nối giao tiếp thẻ MMC với PSoC

3.1.3. Truyền thông máy tính

Chuẩn truyền thông giữa thiết bị và máy tính đƣợc lựa chọn là chuẩn USB. USB (Universal Serial Bus) là là một chuẩn kết nối có dây trong máy tính.

USB sử dụng với mục đích là để kết nối các thiết bị (điện thoại, máy tính bảng, máy chụp ảnh, máy quay phim, máy nghe nhạc) với máy tính

Thiết bị sẽ sử dụng một IC driver PL2302 để đồng bộ chuẩn UART đã đƣợc tích hợp trên vi xử lý PSoC với chuẩn USB.

Hình 3.3. Khối USB

Đặc tính của PL2303HX:

- On-chip USB 1.1 thu phát và điều chỉnh 3.3V - 5V

- Hỗ trợ giao diện nối tiếp RS-232 với tốc độ truyền Programmable từ 75 bps đến 12 Mbps (Rev D)

-Hỗ trợ RS422 / RS485 (Rev D) (adsbygoogle = window.adsbygoogle || []).push({});

-Tích hợp trên chip Clock Generator (Rev D)

-On-chip OTP (One Time Programming) ROM cho các cấu hình thiết bị khởi động nhƣ chuỗi sản phẩm và chuỗi số nối tiếp (Rev D)

-Cơ chế kiểm soát dòng chảy rộng lớn nhƣ mức điểu chỉnh cao / thấp, phần cứng hoặc phần mềm kiểm soát tự động, và phát hiện lỗi tràn bộ đệm dữ liệu vào

-Cấu hình 256-byte đệm outbound và 256-byte đệm nội; hoặc 128-byte outbound đệm và 384-byte đệm inbound

-Hỗ trợ từ xa đánh thức từ các tín hiệu đầu vào MODEM -Hỗ trợ lên đến 8 chân GPIO (Rev D)

3.1.4. Khối đồng bộ thời gian (Realtime)

Thiết bị sử dụng chip đồng hồ thời gian thực (RTC - Real-time clock) là IC DS1307.

Chip này có 7 thanh ghi 8-bit chứa thời gian là: giây, phút, giờ, thứ (trong tuần), ngày, tháng, năm.

B T Battery3.3V G N D G N D SCL_I2C VCC SDA_I2C CX1 CX2 VCC VCC G N D 3 2K G N D 4K7 R 2 4K7 R 3 1 04 C 1 X 1 1 X 2 2 VBAT 3 G N D 4 SDA 5 SCL 6 SQW/OUT 7 VCC 8 U 1 DS1307

Khoi thoi gian thuc

Hình 3.4. Khối thời gian thực

3.1.5. Khối xử lý trung tâm của thiết bị đo

Từ các chức năng của thiết bị đo nên vi xử lý trung tâm cần có các chuẩn truyền thông cơ bản để ghép nối với các thiết bị ngoại vi (bộ nhớ ngoài, PC, phím điều khiển…). IC PSoC (Programmable System on Chip) có khả năng tích hợp các

chức năng ghép nối cơ bản nên có tính mở, tính linh hoạt, khả năng kết nối với các thiết bị ngoại vi. Sử dụng IC PSoC tạo ra đƣợc các thiết bị đo nhỏ gọn, đầy đủ các chức năng cần thiết, thuận tiện cho ngƣời sử dụng. Do đó IC PSoC hoàn toàn thích hợp làm vi xử lý trung tâm cho thiết bị đo. Trong đồ án sử dụng PSoC CY8C29566 của hãng Cypress.

PSoC (Programmable System -on-chips) 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.

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.

G N D P 0 ( 7 ) 40 P 0 ( 5 ) 41 P 0 ( 3 ) 42 P 0 ( 1 ) 43 P 2 ( 7 ) 44 P 2 ( 5 ) 1 P 2 ( 3 ) 2 P 2 ( 1 ) 3 SM P 8 P 1(7)/SC L 13 P 1(5)/SD A 14 P 1(3) 15 P 1(1)/X T A L in/SC L 16 V ss 17 P 1(0)/X T A L out/SD A 18 P 1(2) 19 P 1(4)/E X T C L K 20 P 1(6) 21 X R E S 26 P 2 ( 0 ) 31 P 2 ( 2 ) 32 P 2 ( 4 ) / E X T A G N D 33 P 2 ( 6 ) / E X T V R E F 34 P 0 ( 0 ) 35 P 0 ( 2 ) 36 P 0 ( 4 ) 37 P 0 ( 6 ) 38 V d d 39 P 4(0) 27 P 4(2) 28 P 4(4) 29 P 4(6) 30 P 4(7) 4 P 4(5) 5 P 4(3) 6 P 4(1) 7 P 3(7) 9 P 3(5) 10 P 3(3) 11 P 3(1) 12 P 3(0) 22 P 3(2) 23 P 3(4) 24 P 3(6) 25 U 3 C Y 8C 29566-24A X I X R E S SC L SD A V2 V1 K 5 K 4 K 3 K 2 S C L _ I 2 C S D A _ I 2 C P 4_0 P 4_1 P 4_2 P 4_3 P 4_4 P 4_5 P 4_6 K 1 R E /D E T X D R X D M ISO _P SO C IN 4 IN 5 C SN _P SO C M O SI_P SO C IN 6 D A T A S C K V C C G N D 1 2 3 4 5 P 4 P rogram m ing V C C G N D X R E S SC L SD A G N D L E D 470R R 9 104 C 17 V C C G N D 104 C 18 1 2 S C K 1 M O S I 1 M I S O 1 C S 1 LED I N 1 I N 2 I N 3 K H O I V I X U L Y T R U N G T A M

GND GND VCC 1 3 RV V0 MAN HINH LCD BT Battery3.3V GND GND SCL_I2C VCC SDA_I2C CX1 CX2 VCC VCC GND VCC GND P0(7) 40 P0(5) 41 P0(3) 42 P0(1) 43 P2(7) 44 P2(5) 1 P2(3) 2 P2(1) 3 SMP 8 P1(7)/SCL 13 P1(5)/SDA 14 P1(3) 15 P1(1)/XTALin/SCL 16 Vss 17 P1(0)/XTALout/SDA 18 P1(2) 19 P1(4)/EXTCLK 20 P1(6) 21 XRES 26 P2(0) 31 P2(2) 32 P2(4)/EXT AGND 33 P2(6)/EXT VREF 34 P0(0) 35 P0(2) 36 P0(4) 37 P0(6) 38 Vdd 39 P4(0) 27 P4(2) 28 P4(4) 29 P4(6) 30 P4(7) 4 P4(5) 5 P4(3) 6 P4(1) 7 P3(7) 9 P3(5) 10 P3(3) 11 P3(1) 12 P3(0) 22 P3(2) 23 P3(4) 24 P3(6) 25 U3 CY8C29566-24AXI XRES SCL SDA V2 V1 K5 K4 K3 K2 SCL_I2C SDA_I2C P4_0 P4_1 P4_2 P4_3 P4_4 P4_5 P4_6 K1 RE/DE TXD RXD MISO_PSOC IN4 IN5 CSN_PSOC MOSI_PSOC IN6 DATA SCK VCC GND 1 2 3 4 5 P4 Programming VCC GND XRES SCL SDA GND LED 32K GND GND VCC KHèI USB V33 GND GND GND VCC_PC GND GND RXD TXD GND VCC USB+ USB- GND Y1 12MHz VCC_PC GND VCC_PC 1uF C7 Tu Tantalum 104 C8 1uF C9 Tu Tantalum

NGUON CUNG CAP

24V GND IN 1 3 OUT 2 GND 5 ON/OFF FEEDBACK 4 T1 LM2576_(dan) D1 3A 100mH L1

Cuon cam (dan)

VCC 10uF C11 10uF C12 GND 24V 1 2 ON LCD VSS 1 VDD 2 V0 3 RS 4 R/W 5 E 6 D0 7 D1 8 D2 9 D3 10 D4 11 D5 12 D6 13 D7 14 A 15 K 16 LCD LCD LCD16x2 V0 GND VCC P4_0 P4_1 P4_2 P4_3 P4_4 P4_5 P4_6 VCC 1 2 6 5 4 3 2 1 M MC Header 6 THE NHO MMC GND SCK1 MOSI1 MISO1 VCC VCC GND CS1 1K R1 4K7 R2 4K7 R3 1K5 R4 27R R5 27R R6 470R R8 470R R9 104 C1 104 C2 22p C3 22p C4 104 C6 104 C10 104 C17 VCC GND 104 C18 1 2 X1 1 X2 2 VBAT 3 GND 4 SDA 5 SCL 6 SQW/OUT 7 VCC 8 U1 DS1307 SCK1 MOSI1 MISO1 CS1 LED

IN1 IN2 IN3

Khoi thoi gian thuc

GND 1 2 M DC Header 2 - M 1 2 3 4 USB_COM Header 4Hien TXD 1 DTR_N 2 RST_N 3 VCCIO 4 RXD 5 RI_N 6 GND 7 NC 8 DSR_N 9 DCD_N 10 CTS_N 11 SHTD_N 12 EE_CLK 13 EE_DATA 14 USBDP 15 USBDM 16 VO_33 17 GND 18 NC 19 VCC 20 GND 21 GP0 22 GP1 23 NC 24 AGND 25 PLL_TEST 26 OSC1 27 OSC2 28 U2 PL2303HX GND DM DP

KHOI VI XU LY TRUNG TAM

VCC GND IN1 1 2 3 4 5 6 7 8 IN_SS Header 8 Sensor IN2 IN3 IN4 IN5 IN6

3.1.6. Lưu đồ thuật toán TH=1? N TH=2? RESET MMC: - STT=1 - TH=1 Y N TH=3? Y N TH=4? Y N - Đọc dữ liệu từ thẻ nhớ MMC lên PC Đọc giá trị và hiển thị kết quả lên LCD

- Khởi tạo các khối chức năng -TH=1 (adsbygoogle = window.adsbygoogle || []).push({});

- Dọc STT từ MMC - Khởi tạo ADC

Begin

Y Thời gian = 1 phút?

Y Lưu dữ liệu vào MMC Hiển thị dữ liệu lên PC Ngắt UART? Y Xư lý tín hiệu ngắt, nhập giá trị biến TH? N

Hình 3.7 Lưu đồ thuật toán

- Bắt đầu”ta khởi tạo các khối chức năng: Khối sensor, khối thời gian thực, khối thẻ nhớ MMC, khối truyền thông thiết bị và máy tính, khối vi xử lý trung tâm, khối màn hình LCD. Tiếp đó lúc này ta sẽ cho trƣờng hợp (TH) = 1, cùng

với đó là khởi tạo khối ADC trong vi xử lý để chuyển tín hiệu sau khi chuẩn hóa thành tín hiệu số. Và đọc các dữ liệu từ thẻ nhớ MMC.

- Lúc này khi bật máy (tức cấp nguồn cho thiết bị) ta mặc định cho TH=1, nếu đúng thì thiết bị sẽ đọc giá trị nồng độ đo đƣợc của khí NH3 và đƣa kết quả lên màn hình LCD.

- Ta sẽ cài đặt thời gian lặp lại là 1 phút nếu đúng mỗi phút nó sẽ đọc lại

Một phần của tài liệu Thiết kế thiết bị đo có khả năng đo nồng độ khí NH3 hiển thị lên màn hình LCD, trao đổi tín hiện với máy tính, lƣu trữ trên máy tính (Trang 27)