You are on page 1of 105

BKH & CN

Viện CNTT

VIỆN KHOA HỌC VÀ CÔNG NGHỆ VIỆT NAM


VIỆN CÔNG NGHỆ THÔNG TIN
18 Hoàng Quốc Việt, Hà Nội

BÁO CÁO TỔNG KẾT KHOA HỌC VÀ KỸ THUẬT


ĐỀ TÀI KC.03.20

“Nghiên cứu ứng dụng và phát triển công nghệ tự


động thiết kế để chế tạo các chip thông minh cho
đo lường và điều khiển”

Chủ nhiệm đề tài: KS. Phan Minh Tân

5868
08/6/2006

Hà Nội, 12-2005
Bản quyền 2005 thuộc Viện Công nghệ thông tin

1
VIỆN KHOA HỌC VÀ CÔNG NGHỆ VIỆT NAM
VIỆN CÔNG NGHỆ THÔNG TIN
18 Hoàng Quốc Việt, Hà Nội

BÁO CÁO TỔNG KẾT KHOA HỌC VÀ KỸ THUẬT


ĐỀ TÀI KC.03.20

“Nghiên cứu ứng dụng và phát triển công nghệ tự


động thiết kế để chế tạo các chip thông minh cho
đo lường và điều khiển”

Chủ nhiệm đề tài: KS. Phan Minh Tân

Hà Nội, 12-2005
Bản quyền 2005 thuộc Viện Công nghệ thông tin

2
Danh sách những người thực hiện chính

A Chủ nhiệm đề tài


1 KS. Phan Minh Tân Viện Công nghệ Thông tin

B Cán bộ tham gia nghiên cứu


2 PGS. TSKH Phạm Thượng Cát Viện Công nghệ Thông tin
3 ThS. Trần Việt Phong Viện Công nghệ thông tin
4 ThS. Phạm Ngọc Minh Viện Công nghệ Thông tin
5 KS. Bùi Thị Thanh Quyên Viện Công nghệ Thông tin
6 KS. Phan Cao Hiệp Công ty Điện tử Bình Hoà
7 KS. Nguyễn Đức Thắng Viện Công nghệ Thông tin
8 TS. Nguyễn Ngọc Khoa Viện kỹ thuật Phòng không không quân
9 ThS. Vũ Sĩ Thắng Viện Công nghệ Thông tin
10 KS. Chu Ngọc Liêm Viện Công nghệ Thông tin
11 KS. Nguyễn Văn Hà Viện kỹ thuật Phòng không không quân

3
BÀI TÓM TẮT
Đề tài KC03.20 “Nghiên cứu ứng dụng và phát triển công nghệ tự
động thiết kế để chế tạo các chip thông minh cho đo lường và điều khiển”
nhằm mục đích ứng dụng và phát triển công nghệ tạo chip thông minh bao
gồm lựa chọn các công nghệ phù hợp, tiến hành nghiên cứu làm chủ, phát
triển các phương pháp khoa học và ứng dụng vào các sản phẩm đo và điều
khiển có sức cạnh tranh cao thay thế nhập ngọai. Ngoài ra đề tài còn nhằm
vào mục tiêu quảng bá, đào tạo và chuyển giao công nghệ thiết kế để tạo các
chip đo lường và điều khiển thông minh tại Việt nam.

Xuất phát từ các mục tiêu nêu trên đề tài đã tiến hành các nghiên cứu
tổng quan, thu thập thông tin và dữ liệu từ nhiều nguồn (internet, hội nghị, hội
thảo, các báo cáo thống kê ...) để lựa chọn được công nghệ phù hợp. Từ nhu
cầu thực tế của sản xuất và đời sống nước ta hiện nay đề tài lựa chọn các sản
phẩm có yêu cầu số lượng lớn để triển khai các nghiên cứu phát triển các chip
mới đáp ứng các chỉ tiêu kinh tế kỹ thuật cho các nhu cầu đó. Đề tài đã tiến
hành các nghiên cứu tài liệu, mẫu mã nước ngoài kết hợp với cải tiến mở rộng
chức năng, tìm tòi sáng tạo để phát triển được sản phẩm phù hợp với hoàn
cảnh Việt nam có chất lượng và giá cả cạnh tranh. Đề tài sử dụng các công cụ
và phần mềm thiết kế mạnh hỗ trợ phát triển để có thể rút ngắn thời gian phát
triển thử nghiệm và tập trung được sức lực và trí tuệ cho sáng tạo.

Phương pháp nghiên cứu bao gồm nghiên cứu nguyên lý hoạt động của
sản phẩm và các phương pháp xử lý. Thiết kế hệ thống bao gồm thiết kế hệ
thống phần cứng, hệ thống phần mềm, kết cấu cơ khí và quy trình chế tạo sản
phẩm mẫu. Trong bước này sử dụng các chương trình CAD để thiết kế. Các
công nghệ cao tạo chip mới như công nghệ tạo chip PSoC, công nghệ FPGA,
mạng nhúng và lập trình thời gian thực đã được các cán bộ nghiên cứu của đề
tài đi sâu tìm hiểu và làm chủ. Các sản phẩm mẫu được thử nghiệm hiệu
chỉnh trong phòng thí nghiệm và được mang đi thử nghiệm, đánh giá chất
lượng tại các Hội đồng khoa học , cơ quan kiểm chuẩn Nhà nước. Các kết quả
nghiên cứu được thường xuyên thảo luận ở các seminar và công bố ở các hội
nghị khoa học trong và ngoài nước. Một số sản phẩm được áp dụng vào thực
tiễn qua các hợp đồng kinh tế.
Các kết quả chính đề tài đã đạt được bao gồm:
• Công bố 9 công trình nghiên cứu tại các tạp chí và hội nghị quốc
gia
• Nghiên cứu thiết kế và chế tạo các sản phẩm mới bao gồm:
- Chip mới cho hệ thống điều khiển máy lạnh DKML-1 và RM-1
- Chip mới cho hệ thống kiểm sóat xâm thực (Access Control)
dùng thẻ RFID: PROX1 và PROX1.1
- Chip mới cho các module PC/104 có khả năng tái cấu hình
- Bo điều khiển máy lạnh sử dụng chip DKML-1
- Bộ Remote controller sử dụng chip RM-1

4
- Hệ thống kiểm sóat xâm thực AC-200 dùng thẻ nhận dạng không
dây RFID
- Máy chấm công WT1000 dùng thẻ nhận dạng không dây RFID
và đầu cấp phát thẻ RFID
- Module thu thập dữ liệu đa năng DAS PC/104 có khả năng tái
cấu hình
- Module lọc α-β PC/104 có khả năng tái cấu hình
- Thư viện chương trình mẫu về thiết kế chip đo và điều khiển
thông minh sử dụng công nghệ PSoC
- Đào tạo nhiều cán bộ nghiên cứu tiếp nhận công nghệ tạo chip
PSoC và nhiều sinh viên làm đồ án tốt nghiệp.

Đề tài đã hoàn thành các sản phẩm theo đúng các yêu cầu của Hợp đồng
ký kết với Ban chủ nhiệm chương trình Tự Động Hóa KC-03 và Bộ
Khoa học và Công nghệ. Các điểm nổi bật của đề tài có thể tóm tắt như
sau:
- Đề tài đã duy trì được truyền thống của Viện CNTT luôn đi tắt, đón
đầu và đưa công nghệ mới trong lĩnh vực đo lường và điều khiển vào
Việt Nam: giai đoạn 1991-1995- Công nghệ PLC; giai đoạn 1996-
2000- Công nghệ PC/104 và hiện nay 2001-2005- Công nghệ tạo chip
PSoC. Một số sản phẩm của đề tài đã tạo các dấu ấn như:
. Hệ thống kiểm sóat xâm thực AC-200 dùng thẻ RFID đã đọat
cúp vàng Techmart2005 và giải thưởng CNTT 2005 quả cầu vàng.
Các sản phẩm dùng thẻ RFID của đề tài AC-200 và WT1000 đã được
nhiều công ty trong nước xin nhận làm đại lý phân phối khi được chế
tạo hàng lọat thay cho một số sản phẩm hiện vẫn phải nhập ngọai.
. Sản phẩm module thu thập dữ liệu đa năng DAS PC/104 là
module thu thập dữ liệu PC/104 đầu tiên trên thế giới có khả năng tái
cấu hình.
Đây là kết quả chứng tỏ khả năng nghiên cứu và phát triển các
sản phẩm công nghệ cao của các cán bộ tham gia đề tài.
- Trong các sản phẩm của đề tài đều chứa đựng các ý tưởng và giải
pháp mới được kết hợp với công nghệ cao tạo ra các sản phẩm có
hàm lượng chất xám giá trị gia tăng của mình.
- Trong quá trình triển khai, đề tài đã không ngừng quảng bá các giải
pháp và công nghệ áp dụng của mình qua các seminar, hội nghị, tạp
chí tạo nên một địa chỉ tin cậy cho các đồng nghiệp tiếp cận các thông
tin và công nghệ mới.
- Đề tài đã ký được 3 hợp đồng trị giá 220 triệu và có nhiều khả năng
hợp tác đưa công nghệ tạo chip thông minh PSoC vào các sản phẩm
mới khác của Việt nam.

5
MỤC LỤC

- Trang nhan đề 1
- Danh sách các cán bộ tham gia đề tài 3
- Bài tóm tắt 4
- Mục lục 6
PHẦN CHÍNH BÁO CÁO 8
1. Lời mở đầu 8
2. Nội dung chính của báo cáo 12
2.1. Tổng quan tình hình nghiên cứu ngoài nước và trong nước 12
2.2. Lựa chọn đối tượng nghiên cứu 17
2.3. Những nội dung đã thực hiện 19
2.3.1. Nghiên cứu lý thuyết 19
2.3.2. Nghiên cứu thiết kế và chế tạo các sản phẩm mới 20
2.3.2.1. Nghiên cứu thiết kế và chế tạo hệ thống điều khiển 20
máy lạnh
a. Chip DKML-1 20
b. Bo điều khiển máy lạnh 2 cục 12000 BTU và 18000 22
BTU
c. Phần mềm 24
d. Thiết kế chế tạo bộ điều khiển xa hồng ngoại 36
2.3.2.2. Hệ thống kiểm sóat xâm thực (Access Control) sử 42
dụng thẻ nhận dạng không dây RFID
a. Chip PROX-1 43
b. Bộ điều khiển AC-200-C dùng thẻ RFID 45
c. Chương trình Quản lý mã thẻ trên PC AC200_SW 51
d. Hệ thống chấm công sử dụng thẻ RFID 58
e. Hệ thống cấp phát thẻ RFID 59
2.3.2.3. Module thu thập dữ liệu đa năng PC/104 có khả 60
năng tái cấu hình
6
a. Cơ sở lý thuyết và nguyên lý thiết kế, chế tạo 61
b. Các cấu hình có thể lựa chọn 64
2.3.2.4. Module lọc α-β PC/104 có khả năng tái cấu hình 71
a. Thiết kế Module lọc α-β PC/104 có khả năng tái cấu 72
hình
b. Các cấu hình có thể lựa chọn 75
2.3.3. Thư viện chương trình mẫu về thiết kế chip đo và điều 82
khiển thông minh sử dụng công nghệ PSoC
2.4. Đánh giá kết quả thu được 94

3. Kết luận và kiến nghị 95

4. Lời cảm ơn 96

7
PHẦN CHÍNH BÁO CÁO
1. LỜI MỞ ĐẦU
Đề tài KC03.20 “Nghiên cứu ứng dụng và phát triển công nghệ tự
động thiết kế để chế tạo các chip thông minh cho đo lường và điều khiển”
thuộc chương trình cấp Nhà nước “Nghiên cứu khoa học và phát triển công
nghệ Tự động hóa ” KC-03 do KS. Phan Minh Tân và Viện Công nghệ thông
tin thuộc Viện Khoa học và Công nghệ Việt Nam làm cơ quan chủ trì Đề tài
được thực hiện trong vòng 24 tháng, từ tháng 1/2004 đến tháng 12/2005. Mục
tiêu của đề tài nhằm ứng dụng và phát triển công nghệ chế tạo chip thông
minh cho lĩnh vực đo lường và điều khiển ở Việt Nam bao gồm lựa chọn các
công nghệ phù hợp, tiến hành nghiên cứu làm chủ, phát triển các phương
pháp khoa học và ứng dụng công nghệ tạo chip thông minh vào các sản phẩm
đo và điều khiển có sức cạnh tranh cao thay thế nhập ngọai. Ngoài ra đề tài
còn nhằm vào mục tiêu quảng bá, đào tạo và chuyển giao công nghệ thiết kế
để tạo các chip đo lường và điều khiển thông minh tại Việt nam.

Nội dung nghiên cứu của đề tài bao gồm:


1. Nghiên cứu làm chủ công nghệ PSoC (Programmable System on chip) và
các công cụ phần cứng và phần mềm cho phát triển chip thông minh trên
cơ sở các chip PSoC trắng bao gồm:
• Hệ chương trình tự động thiết kế chip PSoC Designer 4.2
• Công cụ mô phỏng trên mạch ICE (In Circuit Emulation)
• Các công cụ tìm lỗi (Debugger)
• Ngôn ngữ lập trình Assembler và C của PSoC
• Các module ứng dụng (user module) và các IP (Intellectual Properties)
cho thiết kế các chip đo và điều khiển.
2. Thiết kế và chế tạo:
- Chip điều khiển máy lạnh
- Bo điều khiển máy lạnh sử dụng chip thiết kế
- Chip cho bộ điều khiển xa hồng ngoại máy lạnh
- Bộ điều khiển xa hồng ngoại cho máy lạnh
Và sử dụng các sản phẩm trên cho lắp ráp máy lạnh 9-12000BTU,
18000BTU.
3. Nghiên cứu thiết kế chip cho đầu đọc và nhận dạng thẻ tiếp cận RFID 125
KHz và phát triển hệ thống tự động mở cửa và kiểm soát vào ra cơ quan
dùng thẻ tiếp cận gồm:
- 2 đầu đọc thẻ
- 1 bộ điều khiển cổng và phối ghép PC
- 1 chương trình kiểm soát và quản lý nhân sự ra vào cổng chạy trên PC
4. Xây dựng thư viện module chương trình mẫu cho thiết kế các chip phục vụ
cho đo lường và điều khiển theo công nghệ PSoC.
5. Nghiên cứu thiết kế và chế tạo card thu thập dữ liệu PC/104 có khả năng tái
8
cấu hình (Reconfigurable PC/104 Data Acquisition Card) với các đặc tính
sau:
• Format theo chuẩn PC/104
• Có khả năng tự chọn các ngoại vi ADC, DAC, Di, Do, Timer và truyền
dữ liệu
• Có khả năng tái cấu hình (Reconfigurable)
• Kết hợp công nghệ FPGA với công nghệ PSoC

Danh mục các sản phẩm khoa học công nghệ cần đạt của đề tài KC.03.20

TT TÊN SẢN PHẨM SỐ CHỈ TIÊU KINH TẾ - KỸ GHI


LƯỢN THUẬT CHÚ
G
1. Các công trình, bài 6 Đưa ra được các phương pháp,
báo thuật toán xử lý, nguyên lý có
tính cải tiến, sáng tạo về mặt
học thuật. Các công trình được
nhận đăng tại các tạp chí, hội
nghị khoa học
2. Thư viện chương 1 Bộ chương trình thư viện với
trình mẫu cho thiết tài liệu hướng dẫn sử dụng
kế các chip thông
minh theo công nghệ
PsoC

3. Chip DKML-1 20 - CPU 24 MHz, 8 bits, 16k


FLASH
- ADC
- FLASH
- DAC PWM
- Phối ghép IrDA
- Digital I/O
- Bộ lọc tần số thấp
- Chương trình điều khiển máy
lạnh và hội thoại với remote
ở các chế độ
4. Chip Remote RM-1 20 - CPU 24Mhz, 8K FLASH
- Bộ phối ghép LCD
- Bộ phối ghép IrDA
- Chương trình điều khiển cho
máy lạnh tương thích với chip
DKML-1
- Bộ phối ghép phím ấn
- Chế độ Wake-up
9
5. Bo điều khiển máy 2 Thay thế bo điều khiển máy
lạnh sử dụng chip lạnh VBH-12L/VBH-12N hiện
DKML-1 đang phải nhập ngoại trong dây
chuyền sản xuất của Công ty
Điện tử Bình hoà
6. Bộ điều khiển từ xa 2 Thay thế bộ điều khiển xa cho
cho máy lạnh sử máy lạnh VBH-12L/VBH-12N
dụng chip RM-1 đang phải nhập ngoại trong dây
chuyền sản xuất của Công ty
Điện tử Bình hoà
7. Chip đọc thẻ PROX- 20 - Tần số mang vô tuyến
1 (Radio Frequency) 125kHz
đọc các thẻ không - Biến điệu FSK
tiếp xúc - Chuẩn ISO-PROX
- CPU
- FLASH
Mạch phối ghép nối tiếp UART
8. Hệ thống kiểm soát 1 - Đầu đọc thẻ Proximity dùng
xâm thực tự động chip PROX - 1
mở cổng sử dụng - Bộ điều khiển đóng mở cửa
chip đọc thẻ PROX- tự động và kết nối PC
1 - Chương trình quản lý kiểm
soát lưu trữ và báo cáo chạy
trên PC/Windows theo ngôn
ngữ Việt Nam
9. Module DAS - 1 - Công nghệ FPGA và PSoC
PC/104 Có khả năng - Cho phép lựa chọn
tái cấu hình ADC 8-14 BITS
DAC 8-10 BITS
TIMER 8-24 BITS
COUNTER 8-24 BITS
DIO 8-16 KÊNH
Truyền thông UART, 12C,
SPI, RS232
- Có khả năng tái cấu hình

10
Kinh phí thực hiện đề tài
Tổng kinh phí ngân sách Nhà nước cấp cho đề tài là 1.600 triệu đồng
Trong đó:
1. Thuê khoán chuyên môn: 600 triệu đồng
2. Nguyên vật liệu, năng lượng: 389 triệu đồng
3. Thiết bị máy móc: 361 triệu đồng
4. Xây dựng, sửa chữa nhỏ: 15 triệu đồng
5. Chi khác: 235 triệu đồng

11
2. NỘI DUNG CHÍNH CỦA BÁO CÁO
2.1. Tình hình nghiên cứu ngoài nước và trong nước

Ngoài nước:
Công nghệ tự động thiết kế để chế tạo các chip đã có bề dày hơn 15 năm
phát triển và hiện đang quy tụ vào một số công nghệ nổi trội là ASIC
(Application Specific Integrated Circuit), FPGA (Field Programmable Gate
Array) và CSoC (Configurable System on Chip). Các công nghệ này liên quan
mật thiết với nhau và phát triển có tính thừa kế các ưu điểm, khắc phục nhược
điểm của nhau. Sau đây là tóm tắt các tính chất nổi trội và hạn chế của từng
công nghệ.

I. Về công nghệ ASIC


Các chip được tạo ra từ công nghệ ASIC có thể có hàng triệu bóng bán dẫn
và chi phí cho thiết kế thử nghiệm chip mới rất đắt. Tuy nhiên khi sản xuất loạt
lớn thì giá thành mỗi chip thành phẩm có thể xuống thấp tới một vài đô la.
Trong một số ứng dụng số lượng lớn (như trò chơi điện tử) ASIC có thể là giải
pháp hiệu quả, tuy nhiên hiện tại công nghệ ASIC có những hạn chế sau:
- Phương pháp thiết kế mạch ASIC hiện nay dựa chủ yếu vào các ngôn
ngữ HDL (Hardware Description Languages) là các ngôn ngữ mô tả các
chức năng phần cứng của chip ở mức trừu tượng cao. Tiếp đến cần một
công cụ phần mềm dịch thiết kế định dạng HDL sang các phương trình
logic (Borlean logic equations) và ánh xạ các phương trình logic này
thành tổ hợp các cổng logic và bộ nhớ (Gate-level representation). Các
ngôn ngữ HDL là ngôn ngữ tốt cho mô tả chức năng phần cứng, tuy
nhiên chúng lại không hiệu quả cho mô tả các thuật toán. Do vậy người
thiết kế rất khó khăn trong việc đưa các thuật xử lý phức tạp, know-how
vào chip ASIC. Một khi chip ASIC đã được tạo dựng, các thuật xử lý đã
được cứng hoá thì việc thay đổi sửa chữa nhỏ cũng rất tốn kém thời gian
và chi phí. Thời gian cho hoàn thiện thiết kế một chip ASIC thường rất
lâu và nhiều khi không theo kịp với sự đòi hỏi nâng cấp chức năng sử
dụng của sản phẩm. Mặt khác do mỗi chức năng, thuật toán xử lý đều
phải được cứng hoá ở các chip ASIC dẫn đến đòi hỏi tiêu tốn số lượng
lớn transitor và năng lượng trong khi thực tế thông thường chúng chỉ cần
hoạt động trong một số thời điểm nhất định. Điều này dẫn đến sự lãng phí
các nguồn tài nguyên trong chip ASIC.

II. Về công nghệ FPGA (Field Programmable Gate Array)


FPGA là các chip thuộc họ lập trình logic để tạo ra các chip số (digital IC).
Với FPGA ta có thể tạo ra các chips có khả năng xử lý các chức năng logic tuỳ
ý. Hiện tại trong họ lập trình logic có các loại chính sau:
- SPLD (Simple Programmable Logic Devices)
- CPLD (Complex Programmable logic Devices)
- FPGA (Field Programmable Gate Array)
12
SPLD là các chip lập trình logic loại nhỏ có khả năng thay thế vài IC loại
TTL 74xx. Thông thường có 4 đến 22 macro cells (mỗi macrocell thông thường
gồm một vài chức năng tổ hợp logic với một bộ nhớ flip-flop). Một macrocell
có thể có nhiều input nhưng với chức năng logic hạn chế. Các loại SPLD quen
thuộc là PAL (Programmable Array Logic của hãng Vantis), GAL (Generic
Array Logic của hãng Lattice), PLA (Programmable Logic Array) và PLD
(Programmable logic Device).

CPLD có cấu trúc như SPLD nhưng có khả năng tích hợp lớn hơn.
Thông thường CPLD bao gồm từ 2 đến 64 mạch SPLD, có từ hàng chục đến
hàng trăm macrocells. Thông thường một nhóm từ 4 đến 16 macrocells được
kết nối tạo thành các khối chức năng trong CPLD. Các khối chức năng này
được kết nối với nhau qua một ma trận kết nối có khả năng lập trình. Các CPLD
quen thuộc bao gồm EPLD (Erable Programmable Logic Devices), EEPLD
(Electrically Erable Programmable Logic Device), MAX (Multiple Array
Matrix của Altera)

FPGA là các chips có khả năng tích hợp lớn nhất so với SPLD và CPLD.
Một chip FPGA gồm các khối logic (Logic blocks) được bao bọc bởi các khối
vào ra có khả năng lập trình (Programmable I/O blocks) và các đường kết nối
có khả năng lập trình (Programmable interconnect). Một chip FPGA có thể có
từ 64 đến hàng chục ngàn khối logic và số lượng bộ nhớ flip-flops còn lớn hơn.
Các FPGA được chia ra làm hai nhóm chính là loại hạt lớn (coarse-grained) và
loại hạt nhỏ (fine-grained). Loại FPGA hạt lớn gồm các khối logic lớn, kích cỡ
khối logic lớn này thường có nhiều bảng look-up và flip-flops. Loại FPGA hạt
nhỏ thường gồm một lượng lớn khối logic nhỏ. Kích cỡ của khối logic nhỏ
thường một vài cổng logic 2 đầu vào và một flip-flop.
Với các cấu trúc nêu trên các FPGA không có khả năng xử lý các tín hiệu
tương tự hoặc tín hiệu RF (Radio Frequency).
Phần lớn các FPGA được lập trình và đặt cấu hình trên RAM tĩnh. Cấu
hình này xác định chức năng hoạt động của các khối logic, khối vào ra và
đường kết nối giữa chúng tạo nên chip xử lý số chuyên dụng. Do vậy khi mất
nguồn nuôi các RAM cấu hình mất thông tin và khi có điện lại phải có chu trình
nạp lại cấu hình cho các RAM này. Để khắc phục nhược điểm này một số
FPGA sử dụng FLASH để thay thế RAM tĩnh, một số FPGA khác lại dùng
công nghệ antifuse như dùng PROM nạp một lần để chứa cấu hình.
Các chip FPGA thường dùng nhất là của hãng Xilinx (XC3000,
XC4000xx, Spartan, Virtex) và của hãng Altera (FLEX, APEX). Các hãng khác
như Lattice, Actel, Quick Logic cũng cung cấp các FPGA nhưng là các loại nhỏ
và chiếm thị phần không đáng kể.
Một hạn chế của FPGA là sử dụng các công cụ và các phương pháp thiết
kế như của công nghệ ASIC bao gồm các ngôn ngữ HDL là loại không thích
hợp cho lập trình xử lý thuật toán. Do vậy khi phải thực hiện các thuật toán xử
lý phức tạp người lập trình phải vất vả chuyển đổi sang ngôn ngữ HDL và cứng
hoá thuật toán vào các khối logic.
13
Các chip được tạo ra theo công nghệ FPGA thường không sử dụng một
cách có hiệu quả các tài nguyên sẵn có của chip trắng FPGA. Mặt khác FPGA
còn tiềm ẩn nhân tố nhiễu loạn (chaotic element) trong quá trình kết nối
(routing). Thống kê cho thấy một nửa số cổng logic trong chip trắng FPGA
thông thường không được sử dụng đến do hạn chế của khả năng kết nối hoặc
thuật toán kết nối.
Các chương trình thiết kế tự động cho các chip FPGA thường rất đắt tuỳ
thuộc vào chức năng và số lượng thư viện chương trình mẫu IP. Giá có thể từ
vài ngàn US$ đến hàng triệu US$. Các hãng nổi tiếng cung cấp các phần mềm
thiết kế cho công nghệ FPGA là Mentor Graphics, Cadence và Synopsis.
Tuy nhiên các hãng cung cấp chip trắng FPGA hàng đầu trên thế giới là
Xilinx và Altera có chiến lược cung cấp phần mềm thiết kế miễn phí cho các
họ FPGA loại vừa và nhỏ.
Xilinx cung cấp phần mềm miễn phí ISE WebPack là một Version cơ
bản của chương trình thiết kế ISE5.
Altera cung cấp phần mềm thiết kế miễn phí Quartus II Web Edition là
phiên bản tối thiểu của chương trình thiết kế QuartusII.
Công nghệ FPGA là một công nghệ mạnh cho thiết kế các chip có chức
năng xử lý logic cho các mạch số và truyền thông số. Các chip FPGA trắng
thường có giá thành đắt từ 30-70US$/chip. Với đơn đặt hàng lớn >10.000 chip
thì giá thành có rẻ hơn nhưng vẫn không dưới 10US$/chip.
Với đặc tính chuyên dụng cho xử lý logic và với giá thành còn cao, công
nghệ FPGA không phải là một công nghệ tối ưu cho các ứng dụng đo lường và
điều khiển ở Việt nam. Trên thế giới trong lĩnh vực đo lường và điều khiển
công nghệ FPGA được ứng dụng trong các module I/O, các module thu thập dữ
liệu (Data Acquisition) cho PC có bus ISA, PCI hoặc PC/104, PC104+. Lúc này
FPGA được thiết kế như phần phối ghép các chip xử lý tín hiệu tương tự ADC,
DAC... với CPU của máy tính.

III. Công nghệ CSoC (Configurable System on Chip) tái cấu hình hệ thống
trong một chip
Khác với công nghệ ASIC và FPGA chỉ cho phép tạo ra các IC riêng lẻ,
IC số ngoại vi thì công nghệ CSoC là công nghệ cho phép tạo nên cả một hệ
thống trong một chip bao gồm CPU, ROM, RAM các ngoại vi thời gian thực
(như ADC, DAC, Counter, Timer, Digital I/O, cổng truyền thông...) và cho
phép thay đổi cấu trúc phần cứng của chip trong quá trình hoạt động.
Như vậy công nghệ CSoC cho ta một độ linh hoạt lớn trong việc phát
triển thiết kế và chế tạo chip thông minh chuyên dụng vừa khít với yêu cầu ứng
dụng của sản phẩm.Cả tài nguyên phần cứng và phần mềm của chip đều có thể
dễ dàng thay đổi trong qúa trình hoạt động hiện tại và phát triển mở rộng chức
năng sản phẩm trong tương lai.. Công nghệ CSoC sẽ là một bước tiến hoá của
công nghệ thông tin, thoát khỏi các ràng buộc của hệ máy tính cứng (Rigid
Computing Machine) sang thế hệ máy tính tự thích nghi (Adaptive Computing
Machine).
Hiện tại có khoảng 30 hãng trên thế giới có phát triển và chào bán công
14
nghệ CSoC của mình. Một số CSoC chính được liệt kê như sau:
• Hãng Altera kết hợp lõi CPU cứng ARM và lõi CPU mềm với một số
FPGA của mình tạo nên các chip Processor + FPGA (Cyclone,
Strafix) cho phép thiết kế các chip số tốc độ cao có processor và phần
xử lý logic thay đổi được.
• Hãng Atmel tích hợp lõi CPU AVR với FPGA hạt bé của mình tạo
nên chip CSoC.
• Hãng Cypress Micro System có công nghệ PSoC (Programmable
System on Chip) có lõi CPU M8, RAM, FLASH và các Block tương
tự và số cho phép tạo ra các chip hệ thống xử lý hỗn hợp (mixed
signal) với khả năng xử lý thuật toán mạnh.
• Hãng Equator có chip CSoC đặc thù cho xử lý âm thanh (Media
Processing).
• Hãng Motorola có chip CSoC cho xử lý tín hiệu truyền thông không
dây (Wireless chipset).
• Hãng QuickLogic tích hợp lõi CPU MIPS với FPGA cho tạo dựng các
hệ xử lý logic nhanh.
• Hãng Tricend tích hợp CPU 32 bit ARM với FPGA cho thiết kế các
hệ thống xử lý logic tốc độ cao.
• Hãng Xilinx tích hợp lõi CPU 8051 hoặc MIPS Power PC với một số
FPGA tạo nên tổ hợp Processor + FPGA (Vertex II Pro) cho phép tạo
ra các IC số có processor tốc độ cao.
Công nghệ CSoC thực sự là một công nghệ ưu việt hơn công nghệ ASIC
và FPGA trong lĩnh vực đo lường và điều khiển vì nó tích hợp Processor và bộ
nhớ RAM, FLASH, cho phép ta lập trình các thuật xử lý phức tạp một cách dễ
dàng bằng ngôn ngữ C hoặc ASSEMBLER. So với các vi điều khiển thông
dụng như 8051, motorola 68HC908, Microchip PIC16#73 có cấu trúc CPU và
ngoại vi cố định (fixed digital and analog penpherals) thì các chip CSoC có khả
năng mềm dẻo thích ứng với đa dạng ứng dụng và nhất là khả năng tái cấu hình
(reconfigurable) tạo thành nhiều loại chip có chức năng khác nhau trên một chip
ở những thời điểm khác nhau trong một ứng dụng. Ví dụ với chip PSoC của
hãng Cypress Micro System, ta có thể thiết kế cho nó thành một chip điều khiển
máy bán hàng tự động ở ban ngày và đến 12 giờ đêm chip PSoC sẽ tự tái cấu
hình thành một modem và gửi các dữ liệu (số hàng tồn trong máy, số tiền thu
được...) của máy bán hàng về trung tâm.
Công nghệ tạo chip thông minh cho đo lường và điều khiển trên cơ sở
CSoC có tính hiệu quả kinh tế, nhất là đối với các chip PSoC của Cypress
Micro System vì có khả năng xử lý hỗn hợp dữ liệu tương tự và số. Nó cho ta
khả năng phát triển các sản phẩm mới nhanh, dễ dàng mở rộng và phát triển các
chức năng mới sau này. Công nghệ này cho nhiều giải pháp lựa chọn và hỗ trợ
cho đa dạng ứng dụng từ đo lường, xử lý, điều khiển, truyền thông, kết nối
mạng trên cùng một chip với giá thành thấp. Hệ thống phần mềm hỗ trợ thiết kế
chip PSoC Designer của Cypress Micro System có đầy đủ các chức năng thiết
kế, xắp xếp các khối chức năng, mô phỏng, lập trình C, tìm lỗi và nạp chip hiện
đại, có các module ứng dụng (user module) phong phú giúp ta không phải lập
15
trình trên ngôn ngữ HDL vừa khó bao quát, vừa không hiệu quả.
Ngoài ra giá thành của các chip PSoC trắng từ 2-5US$/chip rẻ hơn
nhiều lần so với các chip FPGA. Đây là một cơ hội cho các doanh nghiệp và
các nhóm say sưa sáng tạo có thể đạt đến thành công lớn với các sản phẩm độc
đáo có các chip thông minh chứa các ý tưởng sáng tạo, bí quyết của riêng mình.

Trong nước:
Đã có nhiều cơ sở nghiên cứu phát triển triển khai các hướng nghiên cứu
như sau:
• Những nghiên cứu ban đầu về công nghệ ASIC đã được Viện khoa học
tính toán và điều khiển tiến hành ở những năm 80 với sự hợp tác với các
nhóm Việt kiều ở Đức và Pháp đánh dấu bước khởi đầu cho các nghiên
cứu về thiết kế chip ASIC. Các nghiên cứu này đã không mang lại nhiều
kết quả do điều kiện cơ sở vật chất và thông tin trao đổi không thuận lợi
thời gian đó.
• Công nghệ FPGA được Viện Vi điện tử thuộc Viện Công nghệ quốc gia
là một trong những đơn vị đầu tiên tại nước ta tiến hành nghiên cứu từ
năm 1998. Với công nghệ FPGA của hãng Altera Viện Vi điện tử đã áp
dụng để thiết kế mạch Read out cho các thước đo vị trí của các máy
CNC và nhiều ứng dụng xử lý số khác.
• Viện kỹ thuật quân sự Phòng không không quân triển khai các nghiên
cứu thiết kế tạo chip cho xử lý số tín hiệu rađa, lọc số cho xử lý tín hiệu
tên lửa sử dụng các FPGA của Altera.
• Công ty liên doanh AMEC của Tổng Công ty Điện tử tin học có các
nghiên cứu áp dụng công nghệ FPGA của Xilinx cho thiết kế một số chip
xử lý số cho thiết bị y tế.
• Một số cơ sở nghiên cứu và đào tạo khác như Học Viện công nghệ Bưu
chính viễn thông, Học viện Kỹ thuật quân sự, Viện điện tử tin học và Tự
động hoá VIETLINA cũng đang khởi động các nghiên cứu áp dụng công
nghệ FPGA.
• Công ty Viettronic Tân Bình đang lập dự án xây dựng 2 trung tâm thiết
kế chip trên công nghệ FPGA và các phần mềm thiết kế của Mentor
Graphics và Cadence.
• Viện Công nghệ Thông tin cũng có những bước đi ban đầu cho việc
nghiên cứu phát triển các module PC/104 trên công nghệ FPGA của hãng
Altera từ năm 2002.
Các đơn vị nêu trên mới tập trung nghiên cứu tạo các chip số chưa có
processor và chưa xử lý được các tín hiệu tương tự, do vậy còn nhiều hạn chế
cho các ứng dụng đo lường và điều khiển thường phải đòi hỏi xử lý thuật toán
phức tạp và xử lý hỗn hợp tín hiệu tương tự và số. Nhận biết được hạn chế này
từ đầu năm 2002 Viện công nghệ thông tin đã tiếp cận đến công nghệ PSoC của
hãng Cypress Micro System để thiết kế ra chip chuyên dụng cho đầu đo mức
nước và thiết bị đo nhiệt độ độ ẩm và điểm sương.

16
2.2. Lựa chọn đối tượng nghiên cứu
Xuất phát từ nhu cầu thực tế đề tài đã tiến hành các nghiên cứu phát
triển các chip thông minh cho các đối tượng sau:

a) Chip điều khiển máy lạnh và chip cho bộ điều khiển xa hồng ngoại máy:
Hiện nay nhiều cơ sở sản xuất các thiết bị gia dụng (điều hoà, máy giặt,
tủ lạnh, nồi cơm điện...) đang phải nhập khẩu các bộ điều khiển về lắp ráp cho
các sản phẩm của mình. Nhu cầu tăng tỷ lệ nội địa hoá các sản phẩm gia dụng
công nghệ cao này đang là vấn đề bức xúc của các doanh nghiệp sản xuất do
sức ép cạnh tranh của tiến trình hội nhập AFFA, WTO. Chính vì vậy việc
nghiên cứu thiết kế các chip thông minh mang thương hiệu Việt nam cho các
dây chuyền sản xuất thiết bị gia dụng trong nước là một lựa chọn đúng và nó
đáp ứng nhu cầu thực tiễn và tăng được sức cạnh tranh cho các sản phẩm của
Việt nam. Số lượng các chip cần cho các bo điều khiển máy lạnh và các thiết
bị gia dụng ngày càng tăng do đời sống nhân dân ngày càng được cải thiện,
nhu cầu sử dụng các thiết bị gia dụng hiện đại ngày càng cao.
Việc nghiên cứu tạo chip cho máy lạnh Việt nam là tiền đề cho việc
nghiên cứu phát triển các chip thông minh cho các sản phẩm gia dung cao cấp
khác cần có tỷ lệ nội địa hoá cao như máy giặt, tủ lạnh, lò vi sóng, nồi cơm
điện..v..v.
Ở trong nước chưa có cơ sở nào tiến hành nghiên cứu các bo điều khiển
cho máy lạnh để tăng tỷ lệ nội địa hoá. Các bo điều khiển nhập ngoại có giá
thành cao và thường sử dụng các chip vi điều khiển có cấu trúc cứng (fixed
micro controller). Ở giải pháp của đề tài sử dụng công nghệ PSoC có khả
năng tái cấu hình phong phú với nhiều ngoại vi mạnh cho phép việc tăng độ
thông minh của thiết bị lạnh một cách dễ dàng.

b) Chip thông minh cho đọc và nhận dạng thẻ RFID (Radio Frequency
Identification)
Thẻ RFID đang được sử dụng rộng rãi ở nhiều lĩnh vực trong đời sống
như sau:
- Các hệ thống kiểm soát xâm thực (access control) như kiểm soát
người ra vào cơ quan, bảo vệ việc sử dụng trái phép máy tính,
chương trình máy tính,..
- Các hệ thống chấm công dùng thẻ không tiếp xúc,
- Các hệ thống tự động dùng thẻ RFID (đóng mở cổng, xuất nhập vật
tư, ..v..v..)
Thẻ RFID ngày càng thay thế thẻ từ và mã vạch. Thẻ từ dễ bị xước
trong quá trình sử dụng còn thẻ tiếp cận RFID có tuổi thọ rất cao do được chế
tạo đúc trong thẻ nhựa và không dùng pin. Thẻ hoạt động được bằng việc lấy
năng lượng từ trường được phát ra từ các đầu đọc. Các hệ thống tự động dùng
thẻ tiếp cận nêu trên hiện đang được nhập vào Việt nam với giá thành đắt và
với phần mềm quản lý của nước ngoài không phù hợp với Việt nam. Việc
thay đổi chương trình thường gặp khó khăn vì các hãng sản xuất không cung
17
cấp các thủ tục giao diện với các thiết bị đọc thẻ.
Xuất phát từ thị trường tiềm năng đang phát triển này đề tài phát triển
các chip thông minh cho việc đọc và nhận dạng các thẻ tiếp cận RFID làm cơ
sở cho việc phát triển các hệ thống tự động sử dụng thẻ mang thương hiệu
Việt nam.
c) Trên cơ sở các chip được thiết kế và chế tạo đề tài sẽ áp dụng các chip
này để phát triển các sản phẩm mới như sau:
• Máy lạnh 12000 BTU 2 cục sử dụng bo điều khiển máy lạnh và bộ
điều khiển từ xa hồng ngoại cho máy lạnh được thiết kế từ các chip của
đề tài.
• Module thu thập dữ liệu đa năng PC/104 có khả năng tái cấu hình
• Hệ thống tự động đóng mở cửa và quản lý nhân sự ra vào cơ quan sử
dụng thẻ RFID bao gồm:
+ Hai đầu đọc thẻ tiếp cận (1 vào và 1 ra)
+ Một bộ điều khiển quản lý hai đầu đọc, điều khiển đóng mở cổng
và kết nối PC
+ Chương trình kiểm soát và quản lý nhân sự ra vào cơ quan chạy
trên PC.

d) Nghiªn cøu kÕt hîp c«ng nghÖ FPGA víi c«ng nghÖ PSoC cho thiÕt kÕ
c¸c Module ®o vµ ®iÒu khiÓn theo chuÈn PC/104
Công nghệ FPGA đã được một số Viện nghiên cứu áp dụng. Tuy nhiên
do đặc thù FPGA chỉ cho phép tạo ra các IC số nên các cơ sở này buộc phải
dùng thêm các IC tương tự rời cho các ứng dụng đo và điều khiển. Các IC
tương tự rời có chức năng cố định và có nhiều hạn chế trong quá trình thay
đổi, hiệu chỉnh thiết kế. Việc kết hợp FPGA với PSoC cho ta khả năng tạo ra
các module đặc chủng mạnh, mềm dẻo, xử lý hỗn hợp tín hiệu analog, digital
và dễ dàng phối ghép với máy vi tính PC.
Đối tượng nghiên cứu cho vấn đề này nhằm tạo ra một card thu thập và
xử lý số liệu theo chuẩn PC/104 có khả năng đặt cấu hình phong phú. Hiện tại
các module PC/104 được sản xuất với các chức năng cố định như Card digital
I/O, Timer-Counter, Analog Inputs, Analog Outputs hoặc phối hợp thành card
thu thập dữ liệu DAC (Data Acquisition System).
Do phối hợp thế mạnh của 2 công nghệ FPGA và PSoC card thu thập
dữ liệu PC/104 của đề tài cho phép người sử dụng định nghĩa các ngoại vi
ADC, DAC, DI, DO, Timer, Counter theo tuỳ thích của mình. Điều này dẫn
đến người sử dụng chỉ cần mua một loại card có khả năng thay thế cho nhiều
loại card PC/104 của các hãng khác nhau.

Các sản phẩm này đều mang thương hiệu Việt Nam và được kiểm
chuẩn và áp dụng thử nghiệm ở hiện trường.

18
2.3. Những nội dung đã thực hiện

2.3.1. Nghiên cứu lý thuyết và công bố các kết quả khoa học và công nghệ
Đề tài KC.03.20 là đề tài tạo ra các chip và các sản phẩm đo điều khiển
mới mang thương hiệu Việt Nam. Tuy nhiên mỗi một thiết bị đều có nguyên
lý hoạt động, nền tảng lý luận và công nghệ chế tạo của nó. Đặc biệt các
phương pháp xử lý, phần mềm nhúng tạo nên độ thông minh của sản phẩm.
Đề tài đã tiến hành các nghiên cứu cơ bản và phát triển chip làm cơ sở cho
thiết kế và chế tạo các sản phẩm. Các kết quả nghiên cứu lý luận này đã được
thảo luận ở nhiều seminar và công bố ở các tạp chí, hội nghị khoa học. Tổng
số có 9 công trình đã công bố được liệt kê trong danh sách kèm theo.

Danh mục các công trình khoa học đăng trong các hội nghị khoa học
trong và ngoài nước 2003-2004

Trong
Số
STT Tên bài báo Tác giả tuyển
trang
tập
PGS.TSKH. Phạm Thượng Cát
Nghiên cứu phát
KS. Phan Minh Tân
triển bo mạch điều
KS. Chu Ngọc Liêm
1 khiển máy điều hòa 6 VICA6
KS. Nguyễn Xuân Hoàng
nhiệt độ sử dụng
KS. Mai Thị Phương Thảo
công nghệ PSoC
Nguyễn Đức Thắng
Nghiên cứu và phát PGS.TSKH. Phạm Thượng Cát
triển bộ điều khiển KS. Phan Minh Tân
2 từ xa hồng ngoại KS. Chu Ngọc Liêm 6 VICA6
cho các thiết bị gia KS. Mai Thị Phương Thảo
dụng Nguyễn Đức Thắng
Công nghệ chế tạo
chip chuyên dụng PGS.TSKH. Phạm Thượng Cát
3 5 VICA6
PSoC và khả năng KS. Phan Minh Tân
ứng dụng
Thiết kế và chế tạo PGS.TSKH Phạm Thượng Cát
hệ thống kiểm soát KS. Phan Minh Tân
4 6 VICA6
xâm thực sử dụng KS.Bùi Thị Thanh Quyên
thẻ tiếp cận ThS. Trần Việt Phong
Bộ đo và truyền tín
hiệu nhiệt độ PT100
PGS.TSKH. Phạm Thượng Cát
5 transductor sử dụng 6 VICA6
KS. Chu Ngọc Liêm
công nghệ tạo chip
PSoC

19
Tạp chí
tin học
Hệ thống nhúng và và điều
6 PGS.TSKH. Phạm Thượng Cát 10
thời đại hậu PC khiển
học số
1/2005
Nghiên cứu thiết kế Hội nghị
PGS.TSKH. Phạm Thượng Cát
thiết bị điều khiển cơ điện
KS. Phan Minh Tân
7 từ xa hồng ngoại 5 tử toàn
KS. Chu Ngọc Liêm
(IRDA) cho các hệ quốc lần
KS. Mai Thị Phương Thảo
cơ điện tử thứ 2
Nghiên cứu phát PGS.TSKH. Phạm Thượng Cát Hội nghị
triển chip chuyên KS. Phan Minh Tân cơ điện
8 dụng trên công nghệ KS. Chu Ngọc Liêm 8 tử toàn
PSoC cho hệ thống KS. Nguyễn Xuân Hoàng quốc lần
điều khiển máy lạnh KS. Mai Thị Phương Thảo thứ 2
Hội nghị
Công nghệ PSoC và PGS.TSKH. Phạm Thượng Cát cơ điện
9 chế tạo đọc thẻ tiếp KS. Phan Minh Tân 7 tử toàn
cận KS. Vũ Sỹ Thắng quốc lần
thứ 2

2.3.2. Nghiên cứu thiết kế và chế tạo các sản phẩm mới
2.3.2.1. Nghiên cứu thiết kế và chế tạo hệ thống điều khiển máy lạnh

a. Chip DKML-1
Chip DKML-1 được thiết kế trên nền chip trắng CY8C27443 của công
nghệ PSoC. Chip là thành phần điều khiển chính cả phần cứng và mềm của bo
điều khiển máy lạnh.

20
• Các thông số hệ thống của Chip DKML-1 :

+ Áp sử dụng: 5V

+ Dao động trong.

+ Tần số dồng hồ CPU 12 MHz.

+ Tần số đồng hồ hệ thống SysClk 24 Mhz

+ Tần số ngắt Sleep_Timer 1 Hz


+ Có sử dụng WatchDog

- WatchDog được dùng đề phòng trường hơp hệ thống bị rơi vào trạng
thái treo máy do bất kì lí do gì. Máy sẽ được khởi động lại. Sleep_Timer được
dùng để phục vụ WatchDog.

21
• Các khối chức năng của Chip DKML-1:

+ ADC dùng kiểm soát nhiệt độ phòng và kiểm soát nhiệt độ mặt giàn
lạnh.
+ Bộ phân kênh dùng cho mục đích một ADC kiểm soát nhiều điểm đo
khác nhau.
+ Khuyếch đại đệm dùng ổn định đầu vào cho ADC. Khuyếch đại 1:1.
+ Timer_1 và các ngắt GPIO dùng cho các đầu vào điều khiển nút bấm
và điều khiển hồng ngoại.
+ Timer_2 dùng cho mục đích Real Time Clock. Tạo ra bộ đếm xung
đồng hồ dựa trên nguồn xung đồng hồ hệ thống.
Đây là các khối chức năng được xử lí bằng phần cứng, ngoài ra các module
còn lại dùng để điều khiển các đầu ra của hệ như:
+ Module hiển thị, trực tiếp điều khiển các led chỉ thị qua các Port của
chip.

22
+ Module Buzzer, trực tiếp điều khiển loa tín hiệu bằng tần số âm thích
hợp qua Port của chip, có hỗ trợ của mạch đệm công suất.
+ Module Quạt gió và máy nén, điều khiển các relay dóng cắt động cơ
quạt gió và động cơ nén giàn nóng.
+ Module Louver điều khiển động cơ bước dùng cho cánh đảo gió. Áp
dụng theo phương pháp điều khiển Half Stepping là phương pháp cho độ mịn
bước và độ ổn định cao.

* Dưới đây là sơ đồ chân vào ra của chip DKML-1

Chip DKML-1 được thiết kế trên


nền chip trắng CY8C27443 của công nghệ PSoC

* Mô tả chi tiết các chân của chip DKML-1

23
24
b. Bo điều khiển máy lạnh 2 cục 12000 BTU và 18000 BTU
Từ chip DKML-1 đề tài đã thiết kế và chế tạo bo điều khiển cho máy
lạnh 2 cục 9-12000 và 18000 BTU. Sơ đồ nguyên lý của bo điều khiển máy
lạnh (hình trên) bao gồm các khối sau:
+ Khối nguồn cấp.
+ Khối giao tiếp hồng ngoại, nút bấm, khối đo nhiệt độ (hai kênh) và
khối chỉ thị. Tất cả đều giao tiếp trực tiếp với Chip DKML-1.
+ Khối đầu ra điều khiển máy nén, quạt gió, đảo cánh gió và loa tín
hiệu thì có tầng đệm công suất trong giao tiếp với Chip DKML-1.

25
Sơ đồ mạch của bo điều khiển được mô tả trong hình sau:

26
c. Phần mềm
Phần mềm nhúng trong máy điều hoà nhiệt độ giải quyết các nhiệm vụ
chính sau:
+ Giao tiếp với các đầu vào, nhận lệnh và xử lí các lệnh đó.
+ Đo các thông số nhiệt độ hiện tại và so sánh với các thông số đặt
trước để đưa ra quyết định điều khiển.
+ Đo đếm đồng hồ thời gian thực dùng cho các lệnh và quyết định điều
khiển theo thời gian.
+ Các thuật điều khiển theo các chế độ đặt trước của người dùng.
Bốn vấn để chính trên chính là cốt lõi của phần mềm điều khiển ngoài
ra còn có các module giao tiếp đầu vào và đầu ra, phục vụ cho các đầu thu
thập số liệu vào và các đầu điều khiển ra. Các đầu vào và ra sẽ được sử lí theo
các nguyên lí đo và điều khiển.
Trong cả bốn vấn đề cốt lõi cần giải quyết của phần mềm điều khiển thì
ta thấy tất cả các module đó đều có thể can thiệp vào trạng thái hoạt động của
máy. Chính vì vậy vấn đề được đặt ra là tất cả các module đó phải can thiệp
được vào vấn đề điều khiển các đầu ra của hệ thống, nhưng không được chồng
chéo làm vô hiệu hoá nhau cũng như không làm rối loạn điều khiển. Bên cạnh
đó để đảm bảo sự kịp thời trong vấn để điều khiển, phải được phân chia các
quá trình cũng như xen kẽ để thực hiện một cách kịp thời các quá trình đó.
Với vấn đề đặt ra như vậy, ý tưởng được xây dựng là các trạng thái hoạt
động, điều khiển được xây dựng qua hệ thống các thanh ghi xác lập trạng thái
hoạt động. Cùng một loạt các thanh ghi hỗ trợ dùng trong các trường hợp lưu
giữ tạm thời trong các trạng thái điều khiển.
Ngoài ra còn có các thanh ghi phụ trợ dùng để backup trạng thái của
một số trạng thái điều khiển khác nhau trong các lệnh tạm thời. và nhiều các
biến trạng thái khác được sử dụng kết hợp cho xử lí các giải thuật của chương
trình.
Các thanh ghi này sẽ xác lập trạng thái hoạt động của máy để xác lập
các đầu ra thông qua các module điều khiển đầu ra. Các lệnh đầu vào cũng
can thiệp trực tiếp lên các thanh ghi này, và các module thực hiện các giải
thuật điều khiển cũng tác động lên nó.

Phương pháp đo nhiệt độ


Trên board điều khiển có hai kênh nhiệt độ, một kênh xác định nhiệt độ
phòng, kênh còn lại xác định nhiệt độ mặt giàn lạnh đề phòng hệ thống phân
phối nhiệt trục trạc, gây đóng băng trên bề mặt máy. Nhiệt độ được đo qua hai
cảm biến nhiệt điện trở. Nên khi xác định được giá trị điện trở của nhiệt điện
trở thì ta cũng xác định được nhiệt độ bao quanh nhiệt điện trở đó. Một ADC
được dùng phối hợp với một bộ phân kênh sẽ giúp giải quyết vấn đề này.
Nguyên lí: Hai cổng P0.3 và P 0.5 là hai chân cấp áp tham chiếu, khi
đặt lên hai nhánh của mạch một hiệu điện thế thì sẽ có một dòng chạy qua và
27
tạo áp rơi trên thermistor. Với điện trở tham chiếu có giá trị biết trước, ta xác
định được dòng chạy qua nhánh mạch, đồng thời ta có được áp rơi trên các
thermistor đo được trên port P 0.1 và P0.7 thì tương ứng sẽ xác đinh được
điện trở hiện thời của thermistor. Như vậy hoàn toàn xác định được nhiệt độ
tại các điểm đo của các thermistor.
Sơ đồ nguyên lí:

Thermistor dùng loại 10k chuẩn tại 250C

Thông qua bộ phân kênh ta sẽ lần lượt đo được các giá trị V0, V1, V2,
V3 có:

⎛V 1 −V 2 ⎞
Rthermistor1 = RRe f 1 ⎜⎜ − ⎟⎟
⎝V 0 V 1 ⎠
⎛V −V ⎞
Rthermistor 2 = RRe f 2 ⎜⎜ 3 − 2 ⎟⎟
⎝V 0 V 3 ⎠
Qua công thức này cho thấy, độ chính xác và ổn định của điện trở tham
chiếu rất ảnh hưởng tới kết quả của thermistor đo được.
Sau khi có được Rthermistor ta sẽ tính được nhiệt độ của điểm đo dựa trên
đặc tính của sensor.
Loại thermistor được dùng ở dây là loại NTC Thermistor EC95, độ
nhạy là -4%/0C, độ chính xác có thể đạt được là ±0.1 0C, giải đo là -800C →
+1500C. Để tính toán được nhiệt độ cần thiết có thể sử dụng hai phương pháp
tra bảng hoặc tính toán theo công thức SteinHart Hart.
Với phương pháp tra bảng thì sẽ tốn bộ nhớ hơn tuy nhiên tốc độ cho ra
kết quả nhanh hơn. Với phương pháp SteinHart Hart thì tiết kiệm bộ nhớ hơn
tuy nhiên tính toán phức tạp hơn, chậm hơn.
Dựa trên yêu cầu thì phương pháp tinh toán SteinHart Hart được lựa
chọn ở đây. Và được tính toán như sau:
2 3
⎞ ⎛ Rt ⎞⎟ + d ⎛⎜ ln R t ⎞⎟
= a + b⎜ ln Rt
1 ⎛
⎟ + c ⎜ ln
T ⎝ R25 ⎠ ⎝ R 25 ⎠ ⎝ R 25 ⎠
28
Trong đó T là nhiệt độ thực tế cần tính toán. Rt là điện trở đã đo và tính
được, R25 là điện trở chính xác.

Các hệ số a, b, c, d được tra theo bảng sau:

Rt/R25 a b c d
68.600 to3.274 3.3538646E-3 2.5654090E-4 1.9243889E-6 1.0969244E-7

3.274 to 0.36036 3.3540154E-3 2.5627725E-4 1.9621987E-6 7.3003206E-8

0.36036 to 0.06831 3.3539264E-3 2.5609446E-4 2.0829210E-6 4.6045930E-8

0.06831 to 0.01872 3.3368620E-3 2.4057263E-4 -2.6687093E-6 -4.0719355E-7

Áp dụng công thức trên và bộ hệ số đã cho thì kết quả thu được sẽ
chính là nhiệt độ cần đo.

Hội thọai với Bộ điều khiển xa hồng ngọai


Cả nút bấm và phần nhận lệnh từ bộ điều khiển xa hồng ngọai đều có
trạng thái thường cao. Vì vậy cả hai đều có thể sử dụng ngắt GPIO dạng
falling edge để nhận dạng.Với nút bấm thì khi có ngắt falling edge của đầu
vào nút bấm thì nó sẽ xử lí lệnh Botton_Power. Can thiệp thanh ghi lệnh dựng
cờ báo Botton_Power. Cũng như vậy, đầu thu hồng ngoại cũng được giao diện
qua ngắt GPI. Tuy nhiên, ngắt GPIO mới là bắt đầu của quá trinh nhận dạng
lệnh từ remote control.
Nguyên lí của lệnh từ điều khiển từ xa:

Nguyên lí trên có đặc điểm là: Nếu ta sử dụng một bộ đếm để đếm được
khoảng hạ thấp của các bit và qui đổi theo thời gian thì có thể xác định được
bit start, bit 0, bit 1,… hơn nữa số bit số liệu sẽ chủ động được chứ không giới
hạn ở 8 bit. Phụ thuộc theo giới hạn của tập lệnh điều khiển. Do yêu cầu của
tập lệnh điều khiển trong ứng dụng này, độ dài lệnh là 8 bit được lựa chọn, 8
bit đủ đáp ứng cho độ của tập lệnh.
Tuy nhiên nếu sử lí trực tiếp lệnh trong ngắt sẽ làm cho ngắt quá dài và
có thể làm chương trình trở nên không ổn định. Chính vì vậy có thể dựng cờ
báo lệnh để chương trình sử lí ngoài vòng ngắt. Nhưng nếu hết một vòng quét
chương trinh mới xử lí cờ lệnh thì lại quá lâu, có thể là các lệnh chưa kịp xử lí
29
đã bị lệnh khác chèn vào. Để khắc phục, module kiểm tra cờ lệnh và xử lí lệnh
sẽ được cài vào rải rac trong các quá trình khác để xử lí đan xen trong chương
trình. Tăng tính kịp thời của vấn đề xử lí lệnh lên bằng cách tăng số lần kiểm
soát trong một chu kì quét của chương trình.
Trong quá trinh xử lí ngắt cho Infrared tất cả các ngắt khác: GPIO Int,
Real Time Int, Sleep Timer Int sẽ bị khoá và chỉ được mở lại khi đã thực hiện
xong ngắt này để tránh tranh chấp ngắt gây sai lệch số liệu thu được. Giá trị
mã lệnh thu được sẽ được xử lí trong module ngoài ngắt remote_control() để
tránh làm ngắt quá dài.

Đồng hồ thời gian thực và watchdog.


Đồng hồ thời gian thực dùng đếm thời gian hệ thống. Nguyên lí thực
hiện là dùng một counter đếm và dùng ngắt counter để tăng giá trị thời gian
sau mỗi lần ngắt. Giá trị thời gian đếm được sẽ được xử lí trong các module
chính giải quyết về giải thuật xử lí thời gian.
Ngắt Sleep Timer có tính chất chu kì tương tự khi chọn nó ở tần số 1
Hz, tuy nhiên không thể sử dụng ngắt này cho đồng hồ thời gian thực với độ
chính xác cao, vì ngắt này có mức độ ưu tiên thấp nhất, dễ bị làm sai lệch bởi
các ngắt khác. Tuy nhiên đây là ngắt cần thiết dùng cho WatchDog.
WatchDog sẽ tự động reset hệ thống khi vì một lí do nào đó mà hệ bị treo
(chương trinh lỗi, nhiễu loạn…). Khi hệ thống bị time_out khoảng 3 chu kì
sleep timer mà không Clear WatchDog thì hệ thống sẽ auto reset. Đây là một
tính chất cần có để hệ thống có thể chạy ổn định mà tránh phiền phức nhất cho
người sử dụng.

CÁC MODULE ĐIỀU KHIỂN

Đèn chỉ thị, quạt gió và máy nén


Các đèn chỉ thị có công suất nhỏ nên được điều khiển trực tiếp mà
không cần sử dụng tới tầng đệm công suất. Tuy nhiên, đèn được treo ở mức
thường cao cho nên để bật đèn ta cần đưa chân điều khiển về mức thấp. Điều
khiển theo mức logíc ngược. Ưu điểm của phương thiết kế mạch điều khiển
thường cao là giảm tải cho các chân điều khiển của µC. Đầu ra chỉ tiêu công
suất khi chân điều khiển hạ xuống mức thấp, chính vì vậy giảm tải cho µC,
nếu trong trường hợp công suất tiêu hao khi mức điều khiển cao thì có thể
xảy ra trường hợp mức áp duy trì không đủ, non áp khi đầu ra cần một công
suất tương đối. Tuy nhiên, điêu đó chỉ có ý nghĩa khi cần giao tiêp ngoài với
mức logic cần ổn định, và với các µC có công suất tải trên các chân không
được tốt. Đối với PSoC cũng như trong trường hợp điều khiển LED chỉ thị
thì điều này không có nhiều ý nghĩa vì công suất tải của PSoC rất tốt cũng
như mức logic đối với LED là không quan trọng.
Các đầu ra điều khiển relay đóng cắt động cơ quạt gió và động cơ nén
đòi hỏi công suất điều khiển lớn hơn, chính vì vậy cần có tầng đệm công
suất.

30
Đệm công suất ở đây sử dùng IC ULN2003, IC này có thể chịu dòng
tới 500 mA, đầu ra đảo(hình vẽ). Do đó mặc dù các relay cũng được treo
thường cao nhưng lại được điều khiển theo mức logic thông thường, mức cao
sẽ đóng relay.
Cả động cơ nén và động cơ quạt gió đều là loại động cơ AC. Động cơ
nén chỉ có một cấp độ duy nhất tuy nhiên động cơ quạt gió có 3 cấp độ khác
nhau. Có thể thay đổi được tốc độ nhờ 3 cấp độ đó có số vòng dây khác nhau.
Nên cần điều khiển 4 trạng thái cho máy nén và quạt gió. Cần đảm bảo các
relay điều khiển động cơ quạt gió không được cùng đóng nhiều hơn 1 trạng
thái. Động cơ máy nén cần được chú ý vì nó ít thay đổi trạng thái hơn quạt
gió nhưng không được khởi động nhiều lần với thời gian quá ngắn vì có thể
làm tăng áp trong máy nén gây nguy hiểm.

Động cơ đảo cánh gió


Động cơ đảo cánh gió là loại động cơ bước (Stepping Motor). Với động
cơ bước có thể sử dụng những IC điều khiển động cơ tích hợp sẵn để điều
khiển hoặc tự xây dựng một chương trinh điều khiển. Tuy nhiên nếu không
có IC chuyên trách thì đây sẽ là một quá trình điều khiển chiếm nhiều thời
gian của CPU nhất. Điều khiển động cơ bước là sự điều khiển phối hợp
các pha A,B,C,D sao cho động cơ quay, có chiều và tốc độ như ta mong
muốn. Ưu điểm của động cơ bước là:
+ Độ chính xác cao trong điều khiển chuyển dộng.
+ Không cần sensor tốc độ.
+Độ ổn định cao, không có những điểm mất ổn định nghiêm trọng.
Tuy nhiên momen và tốc độ của động cơ bước không cao lắm và mô
tô họat động có độ rung cao.
Phương pháp điều khiển động cơ bước ở đây theo nguyên lý half
stepping được mô tả theo bảng sau:

STEP A B C D
1 H L L L
2 H H L L
3 L H L L
4 L H H L
5 L L H L
6 L L H H
7 L L L H
8 H L L H
Phương pháp này có độ ổn định ở tốc độ cao, momen lớn và độ phân
giải tốt.
Trong trường hợp muốn quay ngược lại, đảo lại các bước cũng theo thứ
tự trên.

31
Chương trình điều khiển động cơ: đảo cánh gió được điều khiển theo
phương pháp trên là phương pháp có nhiều ưu điểm nhất. Với chương trình
điều khiển thực hiện cho cả hai chiều xuôi và ngược chiều kim đồng hồ.
Cần xử lí thêm việc ngắt toàn bộ pha của động cơ khi ra khỏi module
điều khiển để tránh bị nóng động cơ. Do quá trình đảo cánh gió là quá trình
kéo dài và liên tục nên quá trình này được chia nhỏ và xử lí từng phần nhỏ
trong cả chu kì vòng quét, đồng thời phải lưu lại thông tin về vị trí và hướng
quay cho lần hoạt động tiếp theo.

Điều khiển loa tín hiệu


Nguyên lí của điều khiển loa tín hiệu Buzzer là tạo ra một tần số âm
thích hợp và kéo dài trong khoảng thời gian đủ để báo thành tín hiệu âm
thanh. Với nguyên lí như vậy chỉ cần tạo ra tại cổng của PSoC một giao động
xung thích hợp, và một mạch đệm công suất là có thể tạo được tín hiệu báo
Buzzer.

Module xử lý thời gian


Module xử lí thời gian dùng cập nhật thời gian, xử lí các khoảng thời
gian hẹn giờ bật tắt, xử lí khoảng thời gian bắt đầu bật máy và thời gian bắt
đầu tắt máy phục vụ cho vấn đề giải quyết các thuật toán bật/tắt máy. Cập
nhật thời gian hệ thống để phục vụ các module khác. Tuỳ theo trạng thái của
máy là đang bật hay tắt máy mà có các thông số cần cập nhật khác nhau. Dựa
vào đó có thể chia ra hai dạng cập thời gian khi đang bật máy và khi đang tắt
máy.
Module xử lý tốc độ quạt

Tốc độ của quạt gió có các chế độ chạy:

AUTO - HIGH - MEDIUM - LOW

Trong đó chỉ chế độ Auto là có cách chạy biến đổi:


• AUTO: Ở chế độ này quạt gió sẽ chạy lúc mạnh lúc yếu
mô phỏng như gió trời, cứ sau 10 phút tốc độ quạt lại được thay
đổi theo chu kì: High – Medium – Low.
• HIGH, MEDIUM, LOW: Ở các chế độ này tốc độ quạt là
xác định và được duy trì ổn định.
Vì vậy xây dựng chế độ phức tạp hơn các chế độ điều khiển trực tiếp kia
đôi chút và có dựa vào thời gian hệ thống để xử lí.
Module xử lí Fan auto: Sau 10 phút chế độ chạy của quạt được thay đổi
một lần.

32
Các chế độ của quạt gió sẽ được điều khiển qua module chuyên trách
Fan Mode. Module này kiểm tra thanh ghi xác định các chế độ đặt của quạt
gió từ đó đưa ra quyết định điều khiển.

Chế độ oscilation

Oscilation là chức năng thực hiện việc đảo cánh gió.


Cửa gió được chia ra 6 vị trí. Vị trí đóng hết, mở hết và 4 vị trí trung gian. Khi
tắt mày cánh gió luôn ở vị trí đóng hết. Cánh đảo gió được điều khiển ở 3 chế
độ và theo các vị trí trên:
• AUTO: Ở chế độ này cánh gió sẽ đảo kép các vị trí. Sau khi cánh
gió được mở ra khỏi vị trí đóng hết sẽ đảo theo trình tự: từ vị trí 1 lên 3, xuống
2, lên 4, xuống 3, lên 5, sau đó trong quá trình xuống sẽ đảo ngược lại cũng
như vậy. Như vậy trong một quá trình lên hoặc xuống mỗi vị trí thường được
đảo qua 2 lần tạo ra những luồng gió có cường độ thay đổi như gió trời chứ
không rải đều như ở chế độ liên tục. Cánh gió sẽ đảo theo chu kì 3 phút chạy,
1 phút dừng.
• CONTINUOUS: Ở chế độ này cánh gió sẽ đảo đều và liên tục từ
trên xuống dưới từ vị trí 1 lên 5 và ngược lại.
• STOP: Khi nhận được lệnh này, cánh đảo gió sẽ dừng ở 1 trong 5
vị trí gần nhất tuỳ thuộc theo quá trinh đang đảo lên hay xuống.
Các module Auto, continuous đều được viết theo cách chia nhỏ quá
trình mà không thực hiện hết trong một chu kì quét của chương trình. Các
thông số sẽ được lưu lại cho lần hoạt động tiếp theo của module đó, hoặc sẽ
chuyển tiếp cho các chế độ oscilation khác một cách chuẩn xác, không gây sai
lệch. Các quá trình ở đây đều được chia nhỏ thành 8 phần. Tức là cần thực
hiện 8 module này lần mới hết 1 chu kì chuyển động của cánh đảo gió.
Nói chung chức năng của hai module đảo cánh tự động và liên tục gần
giống nhau. Tuy nhiên chế độ tự động phức tập hơn đôi chút và đòi hỏi thời
gian điều khiển nhiều hơn. Với lệnh Stop cánh đảo gió sẽ dừng ở 1 trong 5
điểm gần nhất khi nhận được lệnh dừng đảo cánh gió.

Run mode
Module xử lí RUN MODE là Module xử lí chế độ phức tạp nhất.
Module này được gán cho chức năng xử lí và điều khiển trực tiếp động cơ
nén.
Khi máy đang hoạt động ở chế độ đã chọn nếu chuyển qua chế độ khác
thì sau khoảng 4s mới chuyển sang chế độ mới.
• AUTO: Ở chế độ này nhiệt độ cài đặt mặc định là 240C có thể
điều chỉnh lại nhiệt độ trên remote control. Động cơ đảo cánh gió và động cơ
quạt gió có thể chạy ở mọi chế độ theo yêu cầu của người dùng.
+ Quạt gió: Auto – high – medium – low.
33
+ Cánh gió: Auto – Continuous - Stop
Máy sẽ chạy theo chu kì chạy 15 phút nghỉ 3 phút cho lần đầu tiên, sau
đó máy sẽ chạy 3 phút nghỉ 3 phút.
• COOL: Ở chế độ này nhiệt độ được đặt theo yêu cầu từ remote
control, Quạt gió và cánh gió chạy ở mọi chế độ theo điều khiển của người sử
dụng.
+ Nhiệt độ được cài đặt 18 0C – 30 0C
+ Quạt gió: Auto – high – medium – low
+ Cánh gió: Auto – Continuous – Stop
• DRY: Ở chế độ làm khô, máy chạy 15 phút, sau đó ngừng 5 phút,
các lần tiếp theo sẽ chạy theo chu kì chạy 4 phút, dừng 4 phút.
Các thông số khác được cài đặt theo người dùng:
+ Nhiệt độ được cài đặt 18 0C – 30 0C
+ Quạt gió: Auto – high – medium – low.
+ Cánh gió: Auto – Continuous – Stop
• FAN: Ở chế độ này chỉ có quạt gió và cánh gió chạy ở chế độ đã
chọn,
+ Quạt gió: Auto – high – medium – low.
+ Cánh gió: Auto – Continuous – Stop
Đồng thời Module này cũng chỉ có hiệu lực và điều khiển được động cơ
nén sau 10s khởi động máy và nếu máy đang ở trạng thái bình thường. Trong
trường hợp nếu máy vừa tắt mà muốn bật lại ngay hoặc lần đầu tiên đóng điện
vào máy thì phải sau 3 phút mới được khởi động máy nén. Module này cũng
xử lí các trạng thái điều khiển thông qua hệ thống các thanh ghi cờ đã thiết lập
cho các trạng thái hoạt động. Đồng thời nó cũng xử lí kết hợp cả với thời gian
hệ thống và liên quan tới các module xử lí On/Off và các module cập nhật thời
gian, Bên cạnh đó nó còn xử lí cả các trạng thái của cờ SPEED và
OSCILATION trong một số chức năng của chế độ, mức độ liên quan tới các
trạng thái của hệ thống là lớn, nhiều module liên đới và cùng can thiệp nên
khá phức tạp.

Xử lý nhiệt độ
Module xử lí nhiệt độ nhằm khống chế, kiểm soát nhiệt độ môi trường
luôn nằm trong giải nhiệt độ cho phép, không để nhiệt độ phòng xuống dưới
mức yêu cầu. Module này sẽ có quyền tắt hoặc bật máy nén, tuy nhiên cũng
không được phép bật máy trở lại khi máy đang nằm trong chế độ dừng hoạt
động của các module khác. Chính vì vậy khi module này bật máy nén trở lại
thì cũng phải có cờ báo trạng thái không cấm của chế độ Run Mode.
Một điểm cân lưu ý của module này đó là phải có một dải nhiệt trễ
trong lệnh. Tức là khi có nhiệt độ đặt là Tđặt thì cần thiết có một độ trễ Delta
để khi:
Tphòng < Tđặt - Delta : Ra lệnh tắt máy nén.
Tphòng > Tđặt + Delta : Ra lệnh bật máy nén.
Cần phải chọn được một giá trị Delta thích hợp để tránh xảy ra hiện
tượng dao động quanh điểm nhiệt độ đặt. Nhiệt độ phòng là một đối tượng có
34
độ quán tính lớn chính vì vậy phải có Delta hợp lí mới có được mức nhiệt độ
đảm bảo trong toàn bộ môi trường. Và Delta cần phải hợp lí để tránh hiện
tượng đóng cắt quá nhanh làm hỏng động cơ cũng như có thể gây tăng áp
trong bộ phận nén gây nguy hiểm. Module này cũng khống chế cả kênh đo
nhiệt độ giàn lạnh, khi nhiệt độ giàn lạnh xuống quá thấp và không tản nhiệt
kịp thì máy nén cũng sẽ được ngắt.

Phần mềm xử lý lệnh từ bộ điều khiển xa


Module này dùng để xử lí những mã lệnh đã nhận được từ đầu thu hồng
ngoại đồng thời kết hợp xử lí trực tiếp một số module lệnh đơn giản khác như
Economy hoặc Mightiness…
Về cơ bản module này sẽ can thiệp vào các thanh ghi trạng thái để xác
định hoạt động của hệ thống dựa trên mã lệnh nhận được. Sau đó báo tín hiệu
âm thanh xác nhận và điều khiển LED hiển thị cho một số lệnh. Về thuật toán
của chương trình thì không có gì phức tạp, mà chỉ là sự can thiêp thích hợp để
xác đinh giá trị cho các thanh ghi trạng thái. Với cấu trúc lệnh chủ yếu là cấu
trúc rẽ nhánh SWITCH CASE.
Bộ lệnh có độ dài dữ liệu 8 bít, được thiết lập với mã lệnh từ 1 → 39 là
các lệnh thông thường. Trên 128 là giá trị thời gian của bộ hẹn giừ mở máy.
Với bit số 8 (MSB) đầu tiên để báo số liệu thời gian của bộ hẹn giờ bật được
truyền. 5 bit tiếp theo xác định giá trị giờ, phạm vi từ 0→ 23, set từng giờ một.
2 bít còn lại xác định phút, phạm vi 0→45, đặt 15 phút một.

Bảng mã lệnh áp dụng cho hệ này gồm trên 40 lệnh và các trị số liệu
trao đổi. Bộ lệnh 8 bit.
Command Meaning
Code
1 On
2 Off
3 Sleep 1 hour
4 Sleep 2 hours
5 Sleep 3 hours
6 Sleep 5 hours
7 Sleep 7 hours
8 Sleep 10 hours
9 Sleep Off
10 Before hand
11 Before hand Off
12 Run mode Auto
13 Run mode Cool

35
14 Run mode Dry
15 Run mode Fan
16 Speed Auto
17 Speed High
18 Speed Medium
19 Speed Low
20 Oscillation Auto
21 Oscillation Continuous
22 Oscillation Stop
23 Economic
24 Economic Off
25 Mightiness
26 Mightiness Off
27 → 39 Temperature 18oC --> 30oC
>= 128 BeforeHand Value (1 xxxxx xx). Bit 1: cờ
phân biệt với lệnh. 5 bits giờ, 2 bit phút

CHƯƠNG TRÌNH CHÍNH VÀ MỘT SỐ MODULE KHỞI ĐỘNG


Chương trình chính là module tổng hợp nhất của chương trình điều
khiển, nó xác định ý tưởng chung nhất của chương trình điều khiển.
Sau khi đã xây dựng xong các module vào ra và các module xử lí thuật
toán điều khiển, lúc này để đưa máy vào trạng thái hoạt động cần thêm một
số module khởi động phụ trợ. Module Turn On dùng để khởi động máy hoàn
toàn, khởi tạo các thiết lập phần cứng, khởi tạo thiết lập mềm báo máy bắt
đầu hoạt động và dựng cờ báo cho module run mode, bật các đèn báo chế độ
và đưa máy về chế độ cuối cùng của lần hoạt động trước, đưa cánh gió vào vị
trí bắt đầu hoạt động. Vị trí bắt đầu hoạt động của cánh gió là vị trí cuối cùng
của lần hoạt động trước, hoặc vị trí mặc định nếu là lần đầu tiên chạy máy.
Module Turn Off thì ngược lại, dừng các module cứng không cần thiết trong
chế độ nghỉ, lưu lại các giá trị trạng thái cần thiết và tắt các động cơ, đóng
cánh gió, tắt đèn báo chế độ…
Chương trình chính hoàn toàn có tinh chất tổng hợp, chủ yếu nhằm
mục đich quét qua toàn bộ các module điều khiển trong một chu kì hoạt động
của phần mềm. Chính vì vậy chương trình chính co tính chất rất compact nhỏ
gọn: Sự khác nhau chủ yếu của hai chế độ chạy RUN (Emergency) và
Remote Control là Emergency sẽ được thiết lập mặc định theo chế độ tự
động vì người sử dụng không thể đặt các thông số hoạt động cho máy được,
còn chạy bằng Remote Control thì chạy theo các thông số đã được thiết lập
trước đó và có thể thiết lập lại.
36
Lưu đồ hoạt động của chương trình chính và các chương trình con
được mô tả kỹ trong các tài liệu kỹ thuật của sản phẩm.
KẾT LUẬN
Cấu trúc phần cứng của BOARD ĐIỀU KHIỂN MÁY ĐIỀU HOÀ
NHIỆT ĐỘ không hề phức tạp về mặt nguyên lí, linh kiện hoàn toàn sử dụng
loại rẻ và sẵn có trên thị trường, không sử dụng những loại IC đặc chủng và
đắt tiền phụ trợ cho board và không có quá nhiều IC phụ trợ. Do đó mạch có
thể thiết kế hoàn toàn nhỏ gọn, có tính chất compact.
Board điều khiển máy điều hoà đã được chế tạo và lắp đặt vào 2 lọai
máy điều hòa 12000BTU và 18000BTU của công ty điệ tử Bình Hòa. Hình
dưới là bo điều khiển thực đã được chế tạo và máy lạnh 12000BTU được
điều khiển bằng chip DKML-1.

Bộ điều khiển máy lạnh xử dụng chip DKML-1

Máy điều hòa 12000BTU được điều khiển bằng chip DKML-1

Chương trinh điều khiển của BO ĐIỀU KHIỂN MÁY ĐIỀU HOÀ NHIỆT
ĐỘ được xây dựng ngoài các thuật điều khiển còn có các thuật toán cho các
37
chế độ hoạt động dành cho người sử dụng. Chương trình có tính chất liên kết
chéo giữa các module cao, nhiều trạng thái cần kiểm soát, nhiều module cùng
có thể can thiệp vào một trạng thái. Chương trình đã được thử nghiệm và sửa
đổi nhiều lần và đã cho kết quả ổn định.
So sánh với các hệ thống điều hoà tương đương khác của
PANASONIC, SANYO, LG etc, thì board điều khiển này có tính năng không
hề thua kém và có phần vượt trội, có độ ổn định và tính năng điều khiển có
phần tốt hơn.

d. Thiết kế chế tạo bộ điều khiển xa hồng ngoại


Hoạt động của bộ điều khiển xa hồng ngoại
Thông thường mỗi thiết bị gia dụng có 1 bộ điều khiển xa. Chúng tôi
nghiên cứu nguyên lý, thiết kế và chế tạo chip RM-1 và bộ điều khiển xa
hồng ngoại cho máy điều hoà nhiệt độ Bình hoà.
Các phím có trên mặt điều khiển:
ON/OFF ECONOMY SPEED

OSCILLATOR SLEEP MIGHTINESS

BE4HAND RUN MODE CLK

HOUR MINUTE UP

RESET DOWN

Bộ điều khiển xa hồng ngoại sử


dụng để điều khiển máy điều hoà
nhiệt độ

Sử dụng các phím độc lập hoặc kết hợp với nhau, bộ điều khiển xa hồng
ngoại phát ra được các lệnh sau:
Nút 1: ON/OFF (0x690): Mở tắt nguồn.
Nút 2: ECONOMY (0x691): Máy hoạt động làm lạnh ở chế độ tiết
kiệm
+ Quạt lồng sóc chạy ở chế độ thấp nhất.
+ Mốt đảo cánh gió hoạt động được ở các chế độ: Tự động - đảo liên
tục - ngừng đảo.
38
+ Máy hoạt động làm lạnh hoạt động theo chu kỳ 15 phút chạy, 05 phút
dừng (quạt lồng sóc, mổt đảo cánh gió và Block ngắt)
Nút 3: SPEED (0x692): Chọn tốc độ quạt lồng sóc (Tự động
(0x692) – Cao (0x693) – Trung bình (0x694) – Thấp (0x695))
Nút 4: OSCILLATION (0x696): điều khiển cánh đảo gió (Tự động
(0x696) - Đảo liên tục (0x697) – Tắt (0x698)
Nút 6: SLEEP: Cài đặt giờ tắt máy (1h (0x699) - 2h (0x69A) -3h
(0x69B) - 5h (0x69C) - 7h (0x69D) - 10h (0x69E) – tắt (0x69F) -
Nút 5: MIGHTINESS (High power – 0x6A0):
+ Quạt lồng sóc hoạt động ở tốc độ nhanh nhất
+ Máy hoạt động trong thời gian 15 phút rồi chuyển sang hoạt động ở
chế độ đã chọn trước đó.
Nút 7: BEFORE HAND (0x6A1): cài đặt giờ mở máy (khi chọn
BEFORE HAND kết hợp với nút H (Giờ) và nút M (Phút) để cài đặt
giờ và phút mở máy theo ý muốn).
Nút 8: RUN MODE (0x6A2): chọn chế độ hoạt động cả máy (Tự
động (0x6A2) - Lạnh (0x6A3) – Làm khô (0x6A4) – Quạt gió
(0x6A5))
Nút ((: Tăng/ Giảm nhiệt độ: Nhiệt độ cài đặt từ 18oC đến 30oC
(0x6A6 – 0x6A7 – 0x6A8 – 0x6A9 – 0x6AA – 0x6AB – 0x6AC –
0x6AD – 0x6AE – 0x6AF – 0x6B0 – 0x6B1 – 0x6B2).
Các thông số kỹ thuật:
• Nguồn nuôi: 2 cục pin điều khiển 1,5V
• Dòng tiêu thụ: 0,04mA khi không có lệnh
0,08mA khi có hiển thị màn hình
• Khoảng cách nhận lệnh trung bình: 5m

Cấu trúc của Bộ điều khiển xa hồng ngoại bao gồm:

Bàn phím: gồm 13 phím bấm để nhận lệnh điều khiển từ người sử dụng

39
Màn hình hiển thị graphic LCD COG: hiển thị menu các lệnh để điều
khiển điều hoà nhiệt độ. Có tất cả 35 lệnh và lệnh được kích hoạt bởi
các phím bấm trên keypad.
Transitor (NPN C2383, độ khuyếch đại 114) và IrLED để truyền tín
hiệu hồng ngoại.
Chíp RM-1 đựơc thiết kế và tạo ra theo công nghệ PSoC để nhận lệnh
từ người sử dụng, điều chế tín hiệu và phát lệnh đến bo điều khiển máy
lạnh.
• Sơ đồ nguyên lý:
LCD-COG

RM-1

Sơ đồ nguyên lý

• Chip RM-1:

Từ sơ đồ nguyên lý ta thấy chip RM-1 là chip điều khiển toàn bộ hệ


thống cả phần cứng lẫn phần mềm. Chúng tôi sử dụng chip trắng PSoC
CY8C27443 để thiết kế làm chip RM-1. Sơ đồ các khối chức năng như hình
sau.

40
LCD-COG

IR LED
PWM8-1
CPU 17
RAM
1K
FLASH Counter8-1
Va`
PhÇn MÒm

Chip RM-1
Hình 4: Sơ đồ khối chức năng

* Các thông số hệ thống của Chip RM-1

41
• Các khối chức năng của chip RM-1

+ Ở bên trong RM-1, ta dùng 2 module số là PWM8 và Counter8 để


điều chế tín hiệu. PWM8 được dùng để tạo ra tín hiệu sóng vuông với tần số
40KHz, còn Counter8 với giá trị của chu kỳ và dộ rộng xung thay đổi được
dùng để tạo ra giá trị của Bít mở đầu, Bít 1 và Bít 0. Các lệnh được phát ra
qua đèn LED IR.
+ Khối bàn phím gắn vào 8 chân của PSoC có cấu tạo như ma trận 4x4.
42
+ Khối hiển thị dùng màn hình LCD-COG để hiển thị lệnh và số liệu.
Các tín hiệu điều khiển và số liệu của màn hình nối vào 12 chân PSoC và sử
dụng phần mềm để điều khiển các lệnh, tạo phông bộ chữ, biểu tượng.

* Sơ đồ chân của Chip RM-1

* Mô tả chi tiết chân của Chip RM-1

43
• Thiết kế mạch điện tử của bộ điều khiển xa hồng ngoại

Trên cơ sở của sơ đồ nguyên lý và sơ đồ chức năng chúng tôi xây dựng


sơ đồ mạch điện tử của bộ điều khiển xa hồng ngoại như mô tả trong hình
sau:

44
Sơ đồ mạch điện của bộ điều khiển từ xa hồng ngoại

45
• Thiết kế phần mềm
Biểu đồ hoạt động của phần mềm truyền dữ liệu hồng ngoại được cho ở
hình dưới.
Begin
Sleep Timer Interrupt
Initialize User Modules Flag=1
Enable Sleep Timer Interrupt Update real timer clock
Enable GPIO Interrupt

GPIO Interrupt
N
Exist Cmd Read Row value
to be Send Read Column value
Keycode=Row OR Column
Y Call codeout0() if keycode!=0

Mask=0x80; Send_StartBit
Counter8_Period=72
Counter8_CompareValue=72
Wait until Start Bit Finish

Mask !=0 ?

Temp=mask&cmd

N Y

Temp =0
?

Send_Bit1 : Send_Bit0 :
Counter8_Period=72 Counter8_Period=48
Counter8_CompareValue=48 Counter8_CompareValue=24
Wait until Bit1 Finish Wait until Bit0 Finish Lưu đồ hoat động của
chương trình phát
Mask>>=1

46
Như thấy trên hình, chương trình bắt đầu bằng việc khởi động các User
Module sử dụng trong chương trình. Sau đó nó kiểm tra xem có lệnh nào cần
được gửi không, nếu không thì nó loop tại chỗ. Nếu có lệnh cần được gửi đi,
chương trình được chuẩn bị để gửi đi Bít mở đầu. và giá trị của Mask được
gán bằng 0x80. Biến Mask được sử dụng để kiểm tra xem lệnh cmd đã được
gửi đi hết chưa. Vòng lặp gửi lệnh đi được thực hiện theo các bước sau:
• Kiểm tra giá trị của biên Mask: nếu bằng 0 (tức là việc gửi lệnh đã hoàn
thành, ta thoát khỏi vòng lặp). Nếu Mask khác 0, tức là vẫn còn bit lệnh
chưa được gửi, ta sẽ xem xét giá trị của bít lệnh ở vị trí Mask khác
không này
• Nếu bít lệnh bằng 0, gọi hàm gửi lệnh có giá trị 0
• Nếu bít lệnh bằng 1, gọi hàm gửi lệnh có giá trị 1
• Dịch chuyển Mask về bên phải 1 bít.

Các lệnh điều khiển của điều hoà nhiệt độ

Các lệnh của remote được thiết kế và lập trình tương thích với hệ lệnh trong
bo điều khiển máy lạnh nêu ở phần trên.

KẾT LUẬN
Sử dụng chip PSoC với công nghệ hồng ngoại, ta có thể chế tạo thiết bị
thu phát điều khiển từ xa với độ tin cậy cao, gọn nhẹ và giá thành thấp. Ứng
dụng của thiết bị điều khiển từ xa là rất nhiều trong lĩnh vực công nghiệp, dân
dụng và an ninh quốc phòng bởi nó cung cấp cho người sử dụng độ linh động
cao rất phù hợp trong thời điểm hiện nay.
Các chip DKML-1, RM-1 và các bo điều khiển máy lạnh, bộ điều khiển
xa hồng ngoại đã được lắp đặt vào máy lạnh 12000BTU và 18000BTU của
Công ty điện tử Bình Hòa. Các sản phẩm này đã được kiểm tra thử nghiệm
nhiều lần tại nhà máy và khi đã đạt các chỉ tiêu như các bo nhập ngoại nhà
máy đã gửi sang Trung tâm 3 thuộc Cục tiêu chuẩn đo lường chất lượng nhà
nước đánh giá chất lượng và đã được cấp giấy chứng nhận chất lượng của sản
phẩm.

47
2.3.2.2. Hệ thống kiểm soát xâm thực (ACCESS CONTROL) sử dụng thẻ
RFID

Hệ thống thẻ tiếp cận RFID đang là một nhu cầu phổ biến của thế giới
hiện đại. Rất nhiều hệ thống tự động có sử dụng thẻ như các nhà băng, các
trạm thu phí giao thông, hệ thống giao thông công cộng, các công trình văn
hoá, và trong các nhà máy sản xuất…. Các hệ thống tự động dùng thẻ tiếp
cận, RFID (Radio Frequency Identification) hiện đang được nhập vào Việt
nam, tuy nhiên giá thành nhập thiết bị còn đắt và với phần mềm quản lý của
nước ngoài ít phù hợp với Việt nam. Chính vì vậy, việc tìm hiểu nguyên lý để
thiết kế và chế tạo hệ thống mang thương hiệu Việt nam là một hướng đi có
nhiều tiềm năng.
Hệ thống thẻ tiếp cận được thiết kế và chế tạo tại Viện Công nghệ
thông tin thời gian qua đã thu được nhiều kết quả. Sơ đồ nguyên lý của hệ
thống quản lý xâm thực được thiết kế như mô tả ở hình dưới. Hệ thống bao
gồm:

Đèn Rơle:
Mở cửa Đèn
Ăng Bộ chuyển đổi
RS232/RS485
ten đọc RS485
thẻ RD1 RX UART
(Vào) Đèn báo
đầy bộ
nhớ
Chương
+ 5V trình quản
Bé ®iÒu lý
khiÓn nhân sự
AC200_SW
Đèn ĐC/485 trên PC
RX

Ăng RD2
ten đọc
thẻ Mã thẻ đã đăng

(Ra)

Sơ đồ hệ thống

• Hai đầu đọc thẻ kiểm soát Vào/Ra AC200-R theo mã thẻ đăng ký, một
bộ điều khiển AC200-C quản lý đầu đọc được kết nối PC.
• Một bộ điều khiển có khả năng quản lý khoảng 5000 bản ghi.
• Hệ thống kiểm soát có thể chạy độc lập hoặc nối mạng với 31 cửa
ra/vào, khoảng cách tới trung tâm là 1000 m.

48
• Chương trình kiểm soát AC200-SW và quản lý nhân sự ra vào cơ quan
chạy trên hệ điều hành Windows 98/2000/XP.
• Phần mềm AC200-SW có cả tiếng Anh, tiếng Việt quản lý hệ thống một
cách linh hoạt có khả năng kết xuất các file dữ liệu cho MS-Access, MS-
Exel hỗ trợ rất tốt cho việc tính lương của công ty.
Thẻ RFID có nhiều ưu điểm như dễ bảo quản độ bảo mật cao, chống thẻ giả,
thời gian đọc thẻ nhanh, chính xác không gây lỗi.

Hệ thống quản lý xâm thực víi ®Çu ®äc thÎ RFID

a. Đầu đọc thẻ RFID sử dụng chip PRoX-1.1


Đầu đọc thẻ RFID đã được thiết kế và chế tạo trên công nghệ PSoC.
Chúng tôi sử dụng Chip Module CY8C0105 của hãng SunMicro trên
đó dùng PSoC CY8C27443 (28 pins, 16 Kbytes flash) để tạo chip đặc chủng
cho đầu đọc thẻ tiếp cận theo sơ đồ nguyên lý ở hình trên. Chip module
CY8C0105 có ưu điểm là module cộng hưởng 125KHz được chế tạo theo
công nghệ dán nên bảo đảm độ ổn định tần số và độ tin cậy cao.
Người sử dụng chỉ cần lập trình cho những ứng dụng của riêng mình.
Chúng tôi đã lập trình và nạp vào PSoC để tạo ra chip đọc thẻ PRoX-1.1.

49
* PHẦN MỀM ỨNG DỤNG CỦA CHIP ĐỌC THẺ TIẾP CẬN PROX 1.1

Các định nghĩa


ban đầu

N
Có thẻ dí ?

Y
Đọc thẻ và
lấy mã thẻ

Chuyển sang mã ASCII


và gửi ra rs232

Báo hiệu đèn Lưu đồ chương trình


hoặc loa đọc thẻ RFID

Phần mềm ứng dụng được viết bằng ASSEMBLER trong chương trình
thiết kế PSoC DESIGNER của hãng Cypress MicroSystems. Theo lưu đồ trên
Phần mềm ứng dụng đầu tiên phải đặt các chế độ:
+ Định nghĩa mốt đọc thẻ: Byte Track Mode
+ Mốt đọc: Full Power Mode
+ Số lần đọc: 1 lần
+ Số Block cần đọc: 2
+ Định nghĩa loại thẻ đọc: Manchester RF/64
+ Định nghĩa chân để đưa đèn hoặc loa: chân 24
+ Định nghĩa PassWord
+ Khởi động cổng UART và tốc độ truyền
Sau đó chờ có thẻ dí thì đọc, nếu là loại thẻ đúng như đã định nghĩa ở
trên thì chuyển sang dạng ASCII, gửi ra cổng UART và báo hiệu ra đèn.

50
* CẤU TRÚC PHẦN CỨNG
Sơ đồ sắp xếp linh kiện

Mặt trên

Mặt dưới

4 5

Ăng ten và đèn hiệu

1. Chip PSoC
2. Hai dãy chân cắm của tÝn hiÖu:

51
ADRV 1 28 Vdd
GPIO0 2 27 NC
1OUT 3 26 GND
R1IN 4 25 GPIO9
GPIO25 5 24 GPIO8
TX 6 23 RX
SMP 7
GPIO2 8 RD 22
21
XRES
GPIO6
GND 9 20 GPIO4
GPIO3 10 19 GPIO5
GPIO1 11 PRoX1.1 18 GPIO7
GND 12 17 NC
NC 13 16 Vdd
IND2 14 15 IND2

Pin # Pin Name Dription


1 ADRV Antenna Drive Pin
2 GPIO0 / P0[5] NC
3 T1OUT RS232 TX
4 R1IN RS232 RX (Receive)
5 M_SELECT / P2[5] Mode Select
6 TX / P2[1] UART Transmit, TX
7 SMP Switch Mode Pump
8 GPIO2 / P1[3] NC
9 GND Ground
10 GPIO3 / P1[1] NC
11 GPIO1 / P1[5] NC
12 GND Ground
13 NC No Connect
14 IND2 Inductor Connection
15 IND2 Inductor Connection
16 Vdd Supply Voltage
17 NC No Connect
18 GPIO7 / P1[6] NC
19 GPIO5 / P1[2] NC
20 GPIO4 / P1[0] NC
21 GPIO6 / P1[4] NC
22 XRES External Reset
23 RX / P2[0] UART Receive, RX
24 GPIO8 / P2[6] Ra đèn LED
25 GPIO9 / P0[0] NC
26 GND Ground
27 NC No Connect
28 Vdd Supply Voltage

52
3. Max232
4. Đèn hiệu
5. Cuộn dây ăng ten được chế tạo theo các chỉ tiêu sau:
+ L=870,uH
+ Dây đồng đường kính = 0,27 mm
+ Số vòng = 93 vòng
+ Đường kính cuộn dây = 5 cm

b. Bộ điều khiển AC200-C dùng thẻ RFID


Bộ điều khiển làm nhiệm vụ xử lý thông tin từ hai đầu đọc thẻ Đầu đọc
vào và Đầu đọc ra, kiểm tra mức độ cho phép (số mã thẻ, thời gian) để điều
khiển đóng mở cổng. Bộ điều khiển của hệ thống đóng mở cửa bằng thẻ tiếp
cận sử dụng các khối chức năng của chip PSoC kết hợp với các phần cứng
ngoại vi, được tích hợp trong một mạch điện tử. Bộ điều khiển có hai chế độ
làm việc, chế độ điều khiển quá trình xâm thực và chế độ làm việc với người
quản lý. Dữ liệu đăng ký thẻ được lưu trong Flash của Bộ điều khiển, bao
gồm các thông tin về mã thẻ được xâm thực, thời gian cho phép.
Bộ điều khiển AC200-C hoạt động dựa trên chip PROX 1. Được phát
triển trên nền chip trắng PSoC CY8C27443. Sơ đồ nguyên lý của bộ điều
khiển AC200-C như hình vẽ dưới.
Khi có tín hiệu quẹt thẻ ở cổng đọc thẻ (Vào/Ra). PSoC kiểm tra mã
thẻ, nếu mã thẻ đã được đăng kí thì PSoC đọc tiếp thời gian thực từ bộ
Realtime. So sánh Mã thẻ + Thời gian với thông tin được lưu trong Flash để
quyết định xem có cho phép mở cửa hay không. Nếu được phép mở cửa,
PSoC đưa tín hiệu ra ngoài bật Rơle chốt cửa, đồng thời lưu lại bản ghi thông
tin về quá trình Vào/Ra vào trong EEPROM.
Ở chế độ làm việc với PC thì PSoC có thể nhập đăng kí mới, xoá toàn
bộ đăng kí cũ, đọc các thông tin đăng kí trong Flash, hoặc đọc thông tin từ
trong EEPROM.

53
PRoX_1 Rơle:
LED1 LED2
Mở cửa
Từ đầu
MAX232 đọc Vào
COUNTER
Rx8-1 Tx
2MHz CLK 8-1
E

H MAX232 Từ đầu
Rx8-2 Tx đọc Ra
CPU
FLASH
RAM UART-1
MAX485 A
PhÇn MÒm Rx
Tx B
+5V
2 2
E PROM IC

ĐC/485 SW1

FM24C256 DS1307

Sơ đồ nguyên lý của bộ điều khiển AC200-C

Thiết kế chip PROX-1


Chip PRoX-1 được thiết kế từ chip trắng PSoC CY8C27443. Đây là
chip chính để thực hiện các chức năng của bộ điều khiển xâm thực cho cả
phần cứng và phần mềm (xem hình trên).

Các khối được định nghĩa trong chip PRoX-1:

M« t¶ c¸c khèi sö dông trong chip PROX-I:

+ COUNTER8_1: Đặt Clock cho truyền thông UART (9600 Baud)


+ Rx8_1: Nhận mã thẻ từ Đầu đọc vào
+ Rx8_2: Nhận mã thẻ từ Đầu đọc ra
+ E2PROM: Đọc / ghi vào Flash, vùng lưu số liệu
+ I2C: Chuẩn truyền giữa các IC để
- Phát lệnh và đọc số liệu thời gian từ chip DS1307
- Đọc / Ghi số liệu và EEPROM FM24C256
+ UART_1: Gửi và nhận theo chuẩn truyền thông nối tiếp với PC

Chip PRoX-1 của bộ điều khiển AC200 đã được thiết kế và chế tạo có
cấu trúc phần cứng và chương trình phần nhão đảm bảo cho hệ thống kiểm
54
soát xâm thực hoạt động tin cậy. Hình sau mô tả một số dữ liệu của chip
PROX-1 đã được chế tạo.

Các thông số hệ thống của chip PRoX-1:

Bảng các chân của chip PRoX-1

55
Mô tả các chân của chip PRoX-1

Các khối ngoại vi của Bộ điều khiển AC200-C:


Thiết bị nhớ EEPROM FM24C256:
FM24C256 là thiết bị nhớ 256Kbit được thiết kế theo chuẩn IIC mở
rộng cho phép truy cập bộ nhớ nhiều hơn 16Kbit trên một kênh IIC. Chuẩn
truyền thông này sử dụng 1 đường tín hiệu Clock (SCL) và 1 đường dữ liệu
(SDA) để đồng bộ hoá dữ liệu giữa chip xử lí (PSoC) và EEPROM.
Đặc điểm:
− Điện áp hoạt động rộng: 2.7V – 5.5V
− Tần số xung nhịp 400KHz
− Dòng tiêu thụ thấp.
56
− Có chế độ chống ghi cho dữ liệu
− Nhiệt độ hoạt động -400 - +850C
Chip thời gian thực DS1307:
Chip thời gian thực DS1307 là Chip tiêu thụ công suất thấp, bộ nhớ 56
bytes dữ liệu ghi nhớ thông tin về thời gian như giây, phút, giờ, ngày, thứ,
tháng và năm. Địa chỉ và dữ liệu được truyền qua chuẩn IIC. Chip tự động
điều chỉnh theo tháng ít hơn 31 ngày, điều chỉnh theo năm nhuân…
Đặc điểm:
- Đếm thời gian thực đến năm 2100.
- 56 bytes RAM
- 1 chân tín hiệu ra là xung vuông có thể lập trình được.
- Nhiệt độ hoạt động -400 - +850C
Thiết bị truyền thông MAX232:
Max232 là thiết bị truyền nhận dữ liệu được sử dụng trong các giao
diện truyền thông nối tiếp, đặc biệt là các ứng dụng mà chuẩn điện áp ±12V
không có sẵn.
Đặc điểm của Max232:
- Tiêu thụ công suất thấp.
- Nhiệt độ hoạt động -400 - +850C
- Hỗ trợ hai cổng truyền/nhận trên 1 chip.

Hoạt động của các khối chức năng


Khi có yêu cầu xâm thực, đầu đọc thẻ vào/ra sẽ phát ra tín hiệu mang
mã thẻ tới chip giao tiếp MAX232. Mã thẻ được gửi tới modul truyền thông
Rx8_1(Vào) và Rx8_2(Ra) đã được lập trình trong chíp xử lý PSoC dưới
dạng tín hiệu ngắt, và được lưu vào bộ nhớ RAM của chip PSoC. PSoC kiểm
tra mã thẻ vừa nhận được và so sánh với mã thẻ đã được đăng ký và thời gian
cho phép trong bộ nhớ Flash. Nếu mã thẻ và thời gian đã được đăng ký thì
PSoC gửi yêu cầu đọc dữ liệu tới Chip thời gian thực DS1307 qua chuẩn
truyền thông I2C. Dữ liệu đọc về bao gồm thời gian yêu cầu xâm thực, được
so sánh với thời gian tương ứng với mã thẻ đó được lưu trong Flash để quyết
định xem có cho phép mở cửa hay không.
Nếu được phép mở cửa, bộ điều khiển đưa tín hiệu ra ngoài bật Rơle
chốt cửa, đồng thời đưa ra tín hiệu đèn LED1 thông báo yêu cầu xâm thực là
phù hợp. Sau đó, Bộ điều khiển ghi lại bản ghi thông tin về quá trình xâm
thực vào trong EEPROM FM24C256, bao gồm các thông tin: mã thẻ (tương
ứng với người xâm thực), trạng thái xâm thực (vào/ra), và thời gian xâm thực.
Khi số bản ghi tới giới hạn bộ nhớ EEPROM cho phép, Bộ điều khiển tự động
bật đèn LED2 báo cho người quản lý biết để cập nhật bản ghi.
Mỗi Bộ điều khiển có khả năng quản lý tới 1000 thẻ. Địa chỉ của mỗi
Bộ điều khiển được xác định bằng SW1, như vậy số Bộ điều khiển trong một
hệ thống quản lý xâm thực là 30. Toàn bộ hệ thống quản lý xâm thực được kết
nối mạng RS485 thông qua chip giao tiếp MAX485 và được quản lý bởi một

57
máy tính trung tâm duy nhất. Khoảng cách từ máy tính trung tâm tới mỗi bộ
điều khiển tối đa là 1200m.
Cuối ngày hoặc cuối tuần (khi EEPROM đầy), người quản lý cập nhật
bản ghi thông tin quá trình xâm thực thông qua máy tính PC.
Người quản lý có thể truy nhập vào trong Bộ điều khiển để đăng kí mã
thẻ mới, xoá toàn bộ đăng kí cũ, đọc các thông tin đăng kí trong Flash, hoặc
đọc bản ghi từ trong EEPROM qua mạng RS485.

THIẾT KẾ PHẦN CỨNG


Thiết bị điều khiển của hệ thống đóng mở cửa bằng thẻ không tiếp xúc
sử dụng các khối chức năng của chip PSoC kết hợp với các phần cứng ngoại
vi, được tích hợp trong một mạch điện tử.

Sơ đồ sắp xếp linh kiện:

Sơ đồ bố trí linh kiện AC200-C

58
Sơ đồ mạch in:

Mạch in AC200-C

59
Sơ đồ mạch điện của Bộ điều khiển AC200-C:

104 Wire2
14 15

8 1
13 16
RS485
7 2
12 17
6 MAX485 3
11 18
5 4
10 19

104 9 20

8 21

1 8
R2 7 RD2 22

2 7 14 15 6 PRoX-1.1 23

3 Fm24256 6 R3 13 16 5 24

4 5 4 25
12 17
R4 R7
11 18 3 26

10 19 2 27
104
9 20 1 28
1 8 Ra
2 7
8 21 Rơ le
3 DS1307 6
7 PSOC 22

4 5
6
PRoX-1 23
Wire1
14 15
5 24

4 25 13 16

12 17
3 26

11 18
2 27

+12V 10 19
1 28

CN4 9 20
Rơle
CN4-RL1 8 21

Ra lẫy từ 1 2 Rs1 7 RD1 22


RLed
CN4-RL2 3 4
6
PRoX-1.1 23

5 SWITCH 6
RLed2
5 24

4 25
7 8 R5 R6
GND 3 26
Rs4
2 27

1 28

Từ chân 24
của PSoC

60
THIẾT KẾ PHẦN MỀM CỦA BỘ ĐIỀU KHIỂN AC200-C
Trình thiết kế PSoC của Cypress Micro Systems được viết trên môi
trường Windows trở lên. Trình thiết kế PSoC giúp người sử dụng có thể lựa
chọn một cấu hình phần cứng cho PSoC có các chức năng mong muốn, viết mã
ứng dụng để sử dụng PSoC và gỡ rối ứng dụng. Trình thiết kế cho phép quản lý
cơ sở dữ liệu thiết kế bằng các project. Ngoài việc hỗ trợ Assembler, trình thiết
kế còn hỗ trợ ngôn ngữ bậc cao C, điều này giúp cho khả năng lập trình cho
PSoC với những cấu trúc phức tạp mà với Assembler không thể làm được.
Các modul phần cứng của PSoC được lựa chọn và ghép nối theo nguyên
tắc nhất định nhằm tạo ra một cấu trúc hoạt động theo thiết kế. Việc cấu hình
các thiết bị dựa trên trình soạn thảo thiết bị PSoC.
Lưu đồ thuật toán của bộ điều khiển
Begin

Initial Variables Rx
Interruption
Initial Digital
Blocks
UART
Interruption
Working with
PC?
Read Card?
Card
detected?
Read All Card from
FLASH
Read Write Card?
Real Time

Write Card to
FLASH
Compare Read
Card Record?

Read Record from


EEFROM
Delete
Allowed? Card?

Open Door Delete All Card


from FLASH

Write Record
to EEPROM Sơ đồ sắp xếp
các linh kiện

Reset Variables

Lưu đồ thuật toán của bộ điều khiển

61
Phần mềm này đã được test trong nhiều lần và được nạp vào trong Flash
của chip PROX-1 tạo nên chip chuyên dụng là đầu não của bộ điều khiển
AC200-C
c. Chương trình quản lý mã thẻ trên PC AC200_SW
Chương trình có thẻ quản lý tối đa 16 bộ điều khiển nối trên mạng RS-485.
Với mỗi bộ điều khiển, chương trình này có các chức năng như sau:
- Đăng ký thẻ
- Đăng ký thông tin cá nhân.
- Xoá các mã thẻ có trong bộ nhớ của bộ điều khiển.
- Gửi các mã thẻ có trong danh sách mà người sử dụng đăng nhập cho bộ
điều khiển.
- Đọc các mã thẻ có trong bộ nhớ của bộ điều khiển, hiển thị tới người sử
dụng.
- Đọc các record trong trong bộ nhớ của bộ điều khiển
- Lập báo cáo
- Hiển thị dữ liệu từ đĩa cứng
- Định nghĩa thời gian làm việc, ngày lễ..
- Bảo mật: nhập, thay đổi mã khoá….
- Sử dụng phông tiếng Anh hoặc tiếng Việt
- Thiết lập đồng hồ hệ thống: đặt lại thời gian cho máy tính, cho bộ điều
khiển…
- Tự lựa chọn cổng truyền thông
Lựa chọn cổng truyền thông
Kết nối chương trình chạy trên máy PC và các bộ điều khiển qua cổng
RS-232 hoặc RS-485. Người sử dụng được phép lựa chọn cổng truyền thông
phù hợp với máy tính đang sử dụng.
Thiết lập đồng hồ hệ thống
Cho phép đặt lại đồng hồ trên máy tính, điều chỉnh thời gian cho các bộ
điều khiển
Sử dụng phông tiếng Anh hoặc tiếng Việt
Người sử dụng có thể lựa chọn để thay đổi phông mà chương trình đang
hiển thị
Đăng ký mã thẻ.
Cho phép người sử dụng có thể đăng ký mã thẻ với các thông tin:
+ Mã thẻ: số thẻ in trên mã thẻ
+ Thời gian truy nhập: thời gian được phép vào/ra
+ Truy nhập ngày trong tuần: các ngày trong tuần được phép vào/ra
Chức năng này cho phép thêm mới, thay đổi hoặc xoá các mã thẻ trong danh
sách và in ấn ra máy in.
Đăng ký thông tin cá nhân
Cho phép đăng ký thông tin cá nhân cho người sử dụng thẻ như họ và tên,
chức vụ, nơi công tác…

62
Người sử dụng có thể thêm , bớt, thay đổi thông tin của từng người dùng
thẻ có trong danh sách. Ngoài ra có thể in ra máy in danh sách người sử dụng
thẻ.
Xoá các mã thẻ có trong bộ nhớ của bộ điều khiển.
Với chức năng cho phép từ máy tính PC ta có thể xóa các mã thẻ cũ lưu
trong bộ nhớ của bộ điều khiển.
Gửi các mã thẻ có trong danh sách đã được đăng ký cho bộ điều khiển
Sau khi đã đăng ký các mã thẻ cần sử dụng. Sử dụng chức năng này để
nạp các mã thẻ cho bộ điều khiển và lưu trong bộ nhớ của nó
Đọc toàn bộ mã thẻ lưu trong bộ nhớ của bộ điều khiển và hiển thị trên
máy tính.
Với chức năng này, cho phép đọc lại toàn bộ các mã thẻ có trong bộ nhớ
của bộ điều khiển, hiển thị tới người sử dụng.
Đọc các records lưu trong bộ điều khiển lên PC
Khi 1 thẻ được sử dụng ra hoặc vào, bộ điều khiển sẽ lưu thông tin của thẻ
trên bộ nhớ.
Các record lưu trong bộ điều khiển có dạng:
Mã thẻ+ giờ: phút+ ngày/ tháng/ năm+ trạng thái vào/ra
Chức năng này sẽ lấy toàn bộ record lưu trong bộ nhớ của bộ điều khiển
lưu trên đĩa cứng của máy tính để lập báo cáo hàng tháng cho người sử dụng thẻ.
Có tối đa là 4095 record lưu trong bộ nhớ của bộ điều khiển.

Lập báo cáo


Lập báo cáo để tạo ra 1 bản thông kê về tình hình thống kê về tình hình
làm việc của 1 người trong 1 tháng so với các thông số đã đăng ký.

Có thể sử dụng các chức năng để lựa chọn người sử dụng thẻ, thời gian
để lập báo cáo theo tháng/năm
Hiển thị các thông số đã định nghĩa cho các nhân, tổng kết lại số ngày giờ
trong tháng, số lần đi muộn, số thời gian làm ngoài giờ
In ra máy in
Thay đổi số liệu: nếu thay đổi thì hiển thị chữ “có”, ngược lại chữ
“không”.
Ngày: ngày từ ngày 1 đến cuối tháng
Thứ: của tuần
Giờ giờ vào cổng sớm nhất của ngày
Ra: Giờ ra khỏi cổng muộn nhất của ngày
Vào muộn: Khoảng thời gian vào cổng muộn so với giờ vào làm việc đã định
nghĩa trước của ngày. Nếu vào muộn ít hơn “Khoảng thời gian vào muộn
cho phép” đã định nghĩa ở mục “Tùy chọn” thì không bị tính là đi muộn.
Nếu đi làm đúng giờ thì mục này không có số liệu, ngược lại số liệu ở
đây là khoảng thời gian đi làm muộn.

63
Ngày lễ: Phụ thuộc ở mục “Tuỳ chọn” đã định nghĩa cho ngày lễ, để cộng thêm
ngày hoặc giờ hoặc cả 2 cho ngày lễ vào tổng số giờ làm việc của ngày.
Ngoài ra nếu đi làm vào ngày lễ thì được cộng thêm như 1 ngày làm việc
ngoài giờ.
Thời gian làm việc: Tổng số giờ làm việc của ngày. Đây là giờ ra muộn nhất
trừ đi giờ vào sớm nhất . Nếu thiếu số liệu để tính giờ làm việc thì
chương trình thông báo bằng chữ “Lỗi”. Trong trường hợp này, người
quản lý phải vào sửa lại số liệu cho phù hợp.
Thời gian làm ngoài giờ: Thời gian làm việc ngoài giờ được tính so với giờ
qui định cho mỗi cá nhân ở mục “Định nghĩa thời gian làm việc ngày
lễ”. Buổi sáng vào làm trước giờ, buổi chiều từ sau giờ làm việc một
khoảng “Thời gian về muộn” đã định nghĩa ở mục “Định nghĩa thời gian
làm việc, ngày lễ”, thì được tính là làm việc ngoài giờ.
Hiển thị dữ liệu từ đĩa cứng
+ Các khả năng lựa chọn:
+ Chọn 1 người hoặc tất cả mọi người sử dụng thẻ từ.
+ Chọn thời gian: tháng / ngày hoặc 1 khoảng thời gian (tối đa là 2 tháng).
+ Phần hiển thị dữ liệu.
Trong đó có:
STT: Số thứ tự đọc ra từ thiết bị di?u khi?n.
Họ và tên: Họ và tên người sử dụng thẻ từ.
Số thẻ: Số thẻ của người sử dụng thẻ từ.
Ngày: Ngày vào/ra cổng
Thứ: Thứ của tuần
Giờ: Giờ vào/ra cổng
Vào/Ra: Trạng thái : Vào hoặc ra cổng
Định nghĩa thời gian làm việc ngày lễ (tự chọn)
Giúp người quản lý đặt trước các ngày lễ, giờ làm việc cho người sử dụng
thẻ từ. Lệnh này có 2 mục
Định nghĩa ngày lễ
- Nhập ngày lễ mới vào danh sách.
- Sửa ngày lễ có trong danh sách.
- Xoá ngày lễ khỏi danh sách.
Định nghĩa giờ làm việc:
Bảng này giúp người quản lý qui định trước giờ vào/ra làm việc cho tất cả
mọi người hoặc cho từng người.
+ Chọn cho tất cả người sử dụng: Nếu đánh dấu vào đây thì đặt thời gian vào/ra
làm việc được tính chung cho tất cả mọi người.
+ Giờ vào: giờ bắt đầu của ngày làm việc.
+ Giờ ra: giờ kết thúc của ngày làm việc.
+ Thời gian vào muộn: khoảng thời gian vào làm muộn cho phép và không tính
là đi làm muộn.
+ Thời gian về muộn: khoảng thời gian ra về muộn nhưng quá nhỏ và không
tính là làm thêm ngoài giờ.

64
Phụ thuộc vào mục “Chọn cho tất cả người sử dụng“ các thời gian này có
thể đặt cho từng người, hoặc cho tất cả mọi người.
+ Bảng liệt kê danh sách và thời gian đã đặt cho từng người.

Bảo mật
Cho phép người sử dụng có thể đặt/ thay đổi mật khẩu riêng. Khi vào
chương trình, cần phải nhập đúng mật khẩu thì các chức năng trong chương
trình mới sử dụng được
LƯU ĐỒ CHƯƠNG TRÌNH
Lưu đồ thuật toán của chương trình khi xoá các mã thẻ có trong bộ nhớ của
bộ điều khiển

Bắt đầu

Mở cổng truyền thông


(9600baud, N, 1 stopbit)

gửi 16 byte lệnh:


0x04+địa chỉ+ 14 byte bất
kỳ

Đóng cổng truyền thông

Mở cổng truyền thông


(9600baud, E, 1 stopbit)

Đúng
nhận 16byte: vòng
0xFF+0xFF+Add chờ
+13 byte 0x05 BĐK
Xoá
mã thẻ
Sai
Quá trình xoá bị lỗi

nhận 16byte: Đúng kết thúc


quá trình Đóng
0xFF+0xFF+Add cổng
+13 byte 0xFF xoá
truyền

Sai
Kết thúc
Quá trình xoá bị lỗi

Lưu đồ thuật toán khi xoá các mã thẻ trong bộ điều khiển

65
Lưu đồ thuật toán của chương trình khi nạp các mã thẻ đã được đăng ký
cho bộ điều khiển

Bắt đầu

Gửi lệnh cho phép xoá các mã thẻ


trong bộ điều khiển

Mở cổng truyền thông


(9600baud, N, 1 stopbit), i=0;

gửi 16 byte lệnh:


0x01+địa chỉ+ 2byte giờ/phút vào + 2byte
giờ/phút vào + 1 byte ngày+3 byte 0x00

Đóng cổng truyền thông

Mở cổng truyền thông


(9600baud, E, 1 stopbit)

Sai nhận 16byte:


0xFF+0xFF+Add
+13 byte 0x05
Quá trình gửi bị lỗi
Đúng

Đóng cổng truyền

Tăng biến đếm i++;


Đúng

i< số mã thẻ
Sai

Kết thúc

Lưu đồ thuật toán khi nạp mã thẻ cho bộ điều khiển

66
Lưu đồ thuật toán của chương trình khi đọc toàn bộ record lưu trên bộ
điều khiển.

Bắt đầu

Mở cổng truyền thông


(9600baud, N, 1 stopbit)

gửi 16 byte lệnh:


0x03+địa chỉ+ 14 byte bất
kỳ

Đóng cổng truyền thông

Mở cổng truyền thông


(9600baud, E, 1 stopbit)

nhận 16byte: Đúng Lưu trên


0xFF+0xFF+địa chỉ+6 byte đĩa cứng
mã thẻ + …

Sai
Quá trình nhận bị lỗi

nhận 16byte: Đúng Đóng


0xFF+0xFF+địa cổng
chỉ+13 byte 0xFF truyền

Sai
Kết thúc
Quá trình nhận bị lỗi

Lưu đồ thuật toán khi đọc các record trong bộ điều khiển

67
Lưu đồ thuật toán khi đọc toàn bộ mã thẻ có trong bộ nhớ của bộ điều
khiển.
Bắt đầu

Mở cổng truyền thông


(9600baud, N, 1 stopbit)

gửi 16 byte lệnh:


0x02+địa chỉ+ 15 byte bất
kỳ

Đóng cổng truyền thông

Mở cổng truyền thông


(9600baud, E, 1 stopbit)

Đúng
nhận 16byte: Lưu và
0xFF+0xFF+địa chỉ+6 hiển thị
byte mã thẻ.

Sai
Quá trình nhận bị lỗi

nhận 16byte: Đúng


Đóng
0xFF+0xFF+địa cổng
chỉ+13 byte 0xFF truyền

Sai
Kết thúc
Quá trình nhận bị lỗi

Lưu đồ thuật toán khi đọc các mã thẻ từ bộ điều khiển lên

68
AC200 SW

~1000m

Sử dụng 1 máy tính và chương trình AC200_SW có thể quản lý 31 hệ


thống quản lý xâm thực trên mạng RS485

d. Hệ thống chấm công sử dụng thẻ RFID


Ngoài hệ thống kiểm soát xâm thực AC-200 chúng tôi tiếp tục phát triển
thêm hệ thống chấm công WT1000 cũng dựa trên công nghệ tạo chip chuyên
dụng PSoC.
Hệ thống gồm thiết bị chấm công WT1000 kiểm soát vào/ra theo mã thẻ
đăng ký và kết nối với PC(cài đặt chương trình WT1000).
Mỗi bộ chấm công WT1000 có khả năng quản lý khoảng 16000-24000 bản
ghi.
Hệ thống kiểm soát có thể chạy độc lập hoặc nối mạng với 31 cửa ra/vào,
khoảng cách tới trung tâm là 1000 m, có nguồn nuôi dự phòng.
Thẻ có nhiều ưu điểm như độ bảo mật cao, chống thẻ giả, thời gian đọc thẻ
nhanh, chính xác..
Thiết bị chấm công WT1000

Hệ thống chấm công víi 1 thiết bị chấm công

69
Chương trình WT1000
o Chương trình WT1000 kiểm soát và quản lý nhân sự vào/ra cơ quan chạy trên
hệ điều hành Windows 98/2000/XP với giao diện tiếng Anh hoặc tiếng Việt.
o Quản lý danh sách và thời gian làm việc của nhân viên, khách sử dụng thẻ
RFID. Báo cáo thống kê chi tiết được tổng hợp theo tháng và có thể kết xuất
ra Excel.
o Chương trình quản lý hệ thống sử dụng thẻ RFID một cách linh hoạt hỗ trợ rất
tốt cho việc tính lương của công ty.
Khả năng ứng dụng
Hệ thống kiểm soát xâm thực AC200 và hệ thống chấm công WT1000 là
những hệ thống không thể thiếu trong việc kiểm soát an ninh, nhân sự ở các toà
nhà cao tầng, công sở và các nhà máy sản xuất. Các thiết bị này đã được nhiều
công sở trong nước đăng ký làm đại lý phân phối, khi đề tài cho lập dự án sản
xuất hàng loạt.

e. Hệ thống cấp phát thẻ RFID

Đầu cấp phát thẻ chíp RFID và chương trình AC200_Tool trên PC
Hệ thống cấp phát thẻ chíp RFID cho phép linh hoạt trong việc ghi/đọc mã thẻ
cho thẻ chíp RFID tùy theo yêu cầu người sử dụng.
Hệ thống gồm:
• 1 đầu cấp phát thẻ chíp RFID RFID_R/W được kết nối PC (cài đặt chương
trình AC200_Tool)
• Nguồn nuôi 12V cấp cho đầu đọc/ghi thẻ.
• Cổng truyền RS-232
Chức năng của hệ thống
N¹p m· thÎ cho c¸c hÖ thèng chÊm c«ng WT1000, hÖ thèng x©m thùc AC200…
Phần mềm AC200_Tool sử dụng tiếng Anh, tiếng Việt. Giao diện dễ sử dụng,
cho phép đọc/ghi mã thẻ cho các thẻ chíp RFID tùy theo ý muốn người sử
dụng, thời gian ghi/đọc thẻ nhanh, chính xác...
Hệ thống gọn nhẹ, tiêu tốn ít năng lượng, giá thành phù hợp..
Khác với các thiết bị nhập ngoại các mã thẻ được các công ty cung cấp thẻ ngoại
quốc nạp sẵn thì hệ thống AC-200 và WT1000 của đề tài cho phép người sử
dụng tự nạp lấy mã thẻ của mình. Điều này tăng tính bảo mật và khả năng tái sử
dụng thẻ.

70
2.3.2.3 Nghiên cứu thiết kế và chế tạo Module thu thập dữ liệu PC/104 có
khả năng tái cấu hình (RECONFIGURABLE PC/104 DATA
ACQUISITION MODULE)
Đối tượng nghiên cứu cho vấn đề này nhằm tạo ra một card thu thập và xử
lý số liệu theo chuẩn PC/104 có khả năng đặt cấu hình phong phú. Hiện tại các
module PC/104 được sản xuất với các chức năng cố định như card digital I/O,
card Timer/Counter, Analog Inputs, Analog Outputs hoặc phối hợp thành card
thu thập dữ liệu DAS ( Data Acquisition System).
Do phối hợp thế mạnh của hai công nghệ FPGA và PSoC, card thu thập
và xử lý số liệu theo chuẩn PC/104 của đề tài cho phép người sử dụng định
nghĩa các ngoại vi như ADC, DAC, DI, DO, Timer/Counter theo tuỳ ý. Điều này
tạo cho người sử dụng chỉ cần mua một loại card để có thể thay thế cho nhiều
loại card chức năng PC/104 của các hãng khác nhau.
Với việc ứng dụng hệ PC/104 trong các hệ thống đo lường điều khiển
trong lĩnh vực quân sự nói chung, trong lĩnh vực kỹ thuật tên lửa nói riêng, đòi
hỏi phải tích hợp một số lượng lớn các module chức năng, từ đó dẫn đến đòi hỏi
phải nhập một số lượng lớn các module với giá thành cao. Mặt khác, một số
module trong quá trình thử nghiệm, sử dụng thường hay hỏng hóc nên thường
xuyên gặp các khó khăn về vật tư thay thế.
Từ những đòi hỏi đó, vấn đề ứng dụng các công nghệ mới để thiết kế chế
tạo các module thay thế cho các module chức năng của hệ vi xử lý PC/104 đã
được đặt ra. Với những đặc tính nổi bật của công nghệ PSoC và FPGA, việc
thiết kế các module thay thế cho các module chức năng hệ vi xử lý PC/104 phải
nhập ngoại là hoàn toàn khả thi. Hơn nữa, với khả năng tự động thay đổi cấu
hình (Dynamic Recconfigure) của PSoC, việc thiết kế một module có khả năng
thay đổi cấu hình theo mục đích, yêu cầu của người sử dụng để thay thế cho
nhiều module chức năng hệ vi xử lý PC/104 đảm bảo cho việc giảm giá thành
của hệ thống, chủ động được vật tư thay thế, nâng cao khả năng tích hợp hệ
thống.
Đề tài đã nghiên cứu thiết kế và chế tạo card thu thập dữ liệu theo chuẩn
PC/104 có khả năng tái cấu hình (ReConfigurable PC/104 Data Acquisition
Card) với các đặc tính sau :
• Format theo chuẩn PC/104.
• Có khả năng tự chọn các ngoại vi ADC, DAC, Timer, DI, DO,
Truyền/Nhận dữ liệu nối tiếp theo chuẩn RS232.
• Có khả năng thay đổi cấu hình.
• Kết hợp công nghệ FPGA và công nghệ PSoC.
a. Cơ sở lý thuyết và nguyên lý thiết kế, chế tạo

Nội dung đề tài đặt ra là thiết kế một module thu thập dữ liệu DAS (Data
Acquisition System) và truyền thông UART theo chuẩn PC/104 có các cấu hình
phù hợp với các bài toán đo lường điều khiển nói chung và áp dụng trong các

71
bài toán đo lường điều khiển và xử lý tín hiệu trong lĩnh vực kỹ thuật điều khiển
rađa tên lửa, thay thế cho các module chức năng của hệ vi xử lý PC/104 phải
nhập ngoại. Module DAS thiết kế mới có 4 cấu hình cho phép người sử dụng lựa
chọn:
- Cấu hình 1 : 16 kênh đầu vào ADC 12 bit, 8 bit DI, 8 bit DO, cổng
điều khiển truyền thông không đồng bộ UART.
- Cấu hình 2 : 14 kênh đầu vào ADC 12 bit, 2 kênh DAC 8 bit, 8 bit DI,
8 bit DO, cổng điều khiển truyền thông không đồng bộ UART.
- Cấu hình 3 : 8 bộ Timer/Counter 16 bit.
- Cấu hình 4 : Các bộ điều khiển truyền thông (truyền/nhận dữ liệu) nối
tiếp.
Thành phần chức năng
Module được thiết kế giao diện với hệ thống bus ISA của hệ vi xử lý
PC/104. Module thu thập dữ liệu DAS thiết kế với 4 cấu hình khác nhau nhưng
chúng đều có chung cấu trúc phần cứng. Mỗi cấu hình chỉ khác nhau về thiết lập
cấu hình và chương trình trình điều khiển cho vi mạch điều khiển PSoC
CY8C27643 và chức năng, địa chỉ của các thanh ghi được xây dựng trên chip
FPGA EPF8282ALC-4.
Sơ đồ nguyên lý phần cứng được mô tả trên hình 1.
50-pin
connectors
DA outputs

AD inputs

FPGA PSoC
EPF8282ALC-84 2X CY8C27643
ADC data
DI / DO

Address bus
BUFFER Decode Select Config

Data bus RD WR Address bus

PC/104 BUS

- Sơ đồ nguyên lý phần cứng module DAS PC/104

72
Thành phần chức năng và cấu trúc phần cứng của module DAS bao gồm :
- Khối giải mã địa chỉ.
- Khối các thanh ghi đọc/viết.
- Khối đệm dữ liệu vào/ra.
- Khối điều khiển các tín hiệu vào/ra số.
- Khối thiết lập cấu hình.
- Khối cổng truyền thông UART.
Khối giải mã địa chỉ (Address Decode)
Thành phần chức năng của khối giải mã địa chỉ bao gồm khối giải mã địa
chỉ cơ sở và khối giải mã địa chỉ các thanh ghi vào/ra. Khối giải mã địa chỉ cơ sở
bao gồm bộ thiết lập địa chỉ cơ sở cho module trên SW8 và vi mạch giải mã địa
chỉ 74LS682.
Khối các thanh ghi đọc/viết
Hệ thống các thanh ghi được xây dựng trên chip EPF8282ALC-4 có chức
năng đệm, chốt dữ liệu và các tín hiệu điều khiển module. Tuỳ theo mỗi cấu
hình, hệ thống các thanh ghi sẽ được sử dụng hoạt động theo các nguyên lý khác
nhau. Mỗi thanh ghi được thiết kế với độ rộng 8 bit.
Các thanh ghi đọc được xây dựng trên cơ sở các bộ đệm dữ liệu 8 bit. Các
thanh ghi viết được xây dựng trên các bộ chốt dữ liệu.
Các thanh ghi chỉ đọc R0, R1 được định nghĩa là các thanh ghi dữ liệu,
dùng để đọc trạng thái chế độ làm việc và dữ liệu của các bộ biến đổi ADC
trong các cấu hình 1 và 2. Thanh ghi R2 định nghĩa là thanh ghi trạng thái, dùng
để đọc trạng thái hoạt động của các bộ biến đổi ADC. Thanh ghi R7 là thanh ghi
8 bit dữ liệu vào số. Đầu ra các thanh ghi đọc được nối vào chung bus dữ liệu,
qua bộ đệm dữ liệu để đọc vào bus dữ liệu PC/104.
Các thanh ghi viết được xây dựng trên các bộ chốt dữ liệu, có chức năng
đưa các tín hiệu điều khiển, dữ liệu đến từ bus dữ liệu PC/104 tới chip PSoC-1
và PSoC-2. Các tín hiệu này sẽ điều khiển và nạp dữ liệu cho các khối chức
năng xây dựng trên các chip CY8C27643.
Khối đệm dữ liệu vào/ra (BUFFER)
Chức năng của bộ đệm dữ liệu vào/ra là điều khiển đệm dữ liệu vào/ra với
bus dữ liệu của hệ vi xử lý PC/104. Tùy theo lệnh đọc (RD) hay ghi (WR) dữ
liệu từ PC/104 với các thanh ghi của module, khối tạo tín hiệu điều khiển sẽ tạo
ra tín hiệu DK với mức tích cực thấp, kết hợp với lệnh RD, sẽ cho phép vi mạch
74LS245 làm việc, điều khiển và đệm dữ liệu vào hay ra.
Bộ đệm dữ liệu vào ra được xây dựng trên vi mạch 74HC245. Điều khiển
luồng dữ liệu vào/ra bằng tín hiệu RD của bus PC/104 và tín hiệu điều khiển
được tạo ra từ chip EPF8282ALC-4.
Khi có lệnh đọc dữ liệu (inport) từ một thanh ghi, địa chỉ thanh ghi đó sẽ
được giải mã đưa tới cho phép bộ đệm tương ứng, dữ liệu đầu vào bộ đệm thanh

73
ghi được đưa vào bus chung của bộ đệm dữ liệu. Đồng thời tín hiệu DK=0 được
đưa tới cho phép bộ đệm làm việc. Lệnh RD=0 (tạo ra bởi lệnh đọc) được đưa
tới điều khiển cho phép đọc dữ liệu vào bus PC/104.
Khi có lệnh viết dữ liệu (outport) vào một thanh ghi, tín hiệu DK=0 được
tạo ra cho phép bộ đệm làm việc, tín hiệu RD=1 cho phép dữ liệu đi từ bus
PC/104 vào bus chung. Địa chỉ thanh ghi sẽ được giải mã đưa tới cho phép bộ
chốt dữ liệu tương ứng để chốt dữ liệu.

Khối vào/ra dữ liệu số


Khối vào/ra dữ liệu số được thiết kế hai đường bus 8 bit số vào (IP) và 8
bit số ra (OP). Bus 8 bit IP và 8 bit OP được đệm trên hai thanh ghi xây dựng
trên vi mạch EPF8282ALC-4 có địa chỉ BaseAddr+7.
Nguyên tắc làm việc của khối vào/ra dữ liệu số như sau :
Khi có lệnh viết dữ liệu ra từ CPU của hệ vi xử lý PC/104 :
outport(BaseAddr+7,A);
trong đó : BaseAddr+7 là địa chỉ thanh ghi W7.
A là giá trị cần ghi ra.
Dữ liệu A có độ dài 8 bit từ bus PC/104 được đưa tới bộ đệm bus
74LS245, tới bộ đệm bus LS245 khi đó có tín hiệu RD ở mức cao, cho phép
điều khiển đưa dữ liệu A tới thanh ghi W7. Đồng thời mạch giải mã địa chỉ
thanh ghi tạo ra tín hiệu W7 với mức thấp đưa tới thanh ghi W7 để điều khiển
đưa dữ liệu A ra ngoài qua JP1.
Khi có lệnh đọc dữ liệu vào từ CPU của hệ vi xử lý PC/104 :
inport(BaseAddr+7);
thì mạch giải mã địa chỉ thanh ghi sẽ tạo tín hiệu R7 với mức thấp cho phép
thanh ghi R7 đệm dữ liệu lấy vào từ ngoài qua JP1 và đưa tới bộ đệm bus
74LS245. Cho phép dữ liệu qua bộ đệm tới bus dữ liệu của PC/104.
Khối Truyền nhận dữ liệu nối tiếp Tx và Rx
Được xây dựng trên vi mạch PSoC-1 thực hiện giao tiếp với các thiết bị
ngoại vi khác theo chuẩn bus UART.
Các module Tx và Rx là các module truyền thông không đồng bộ 8 bit
giao tiếp trên hai đường Rx và Tx. Kiểu dữ liệu truyền/nhận có cấu trúc như sau:
Start Data Data Data Data Data Data Data Parity Stop

b. Các cấu hình có thể lựa chọn


Cho phép người sử dụng thiết lập các tín hiệu điều khiển cho phép lựa
chọn các cấu hình khác nhau. Hai tín hiệu điều khiển Prog1 và Prog2 thiết lập

74
trên J_Prg được đưa đến các chip PSoC nhận biết, tuỳ thuộc vào giá trị của hai
tín hiệu điều khiển này, các chip PSoC sẽ tự động thay đổi theo cấu hình phù
hợp.
Tùy theo mỗi cấu hình, module thu thập dữ liệu DAS sẽ có nguyên lý và
nguyên tắc hoạt động khác nhau. Với cùng một phần cứng chung nhưng các
chương trình điều khiển viết cho các chip ASIC và PSoC sẽ khác nhau tương
ứng cho mỗi cấu hình. Việc lựa chọn cấu hình được thực hiện trên jump J_Prog.
Bằng hai tín hiệu Prog1 và Prog2 thiết lập trên J_Prog sẽ cho ta lựa chọn 1 trong
4 cấu hình :

Cấu hình Prog2 Prog1


1 0 0
2 0 1
3 1 0
4 1 1
Hai bit điều khiển cho phép lựa chọn cấu hình Prog1 và Prog2 được đưa
tới 2 chip PSoC CY8C27643 PS1 và PS2. Với khả năng tự động thay đổi cấu
hình (Dynamic reconfig) của chip PSoC, chương trình điều khiển sẽ tự động lựa
chọn cấu hình phần cứng cho chip PSoC tương ứng với cấu hình được lựa chọn,
đồng thời sẽ tạo ra các tín hiệu điều khiển chip EPF8282ALC-4 hoạt động theo
đúng cấu hình đó. Vì mỗi cấu hình có chức năng khác nhau nên các chip PSoC
ngoài việc có cấu hình phần cứng khác nhau, chúng cũng có chương trình phần
mềm điều khiển riêng đối với mỗi cấu hình cụ thể.
Cấu hình 1 :
Bài toán đặt ra đối với cấu hình này là thiết kế một module có chức năng
thu thập 16 kênh tín hiệu tương tự đầu vào, thực hiện biến đổi ADC với độ phân
giải 12 bit, có 8 đường tín hiệu vào số IP, 8 đường tín hiệu ra số OP, cổng truyền
thông không đồng bộ UART.

75
Sơ đồ khối của module với cấu hình này được trình bày trên hình 1
16 Analog Input

MUX & PGA

12 bits A/D Converter

8DI & 8DO Data Regs Control & Status Regs

Buffer

PC/104 BUS

Address Decode UART Ports

- Sơ đồ khối module thu thập dữ liệu cấu hình 1

Trong cấu hình 1 của mỗi chip PSoC bao gồm 2 bộ dồn kênh AMUX4, 2
bộ điều khiển hệ số khuếch đại PGA và 2 bộ biến đổi ADC 12 bit. Riêng trong
cấu hình 1 của chip PS1 có thiết kế khối cổng truyền thông UART.

Cấu hình 2 :
Cấu hình 2 được thiết kế có các chức năng sau :
- 14 kênh đầu vào ADC, độ phân giải 12 bit.
- 2 kênh DAC.
- 8 bit DI, 8 bit DO.
- Cổng truyền thông UART.

76
Thành phần cấu tạo của cấu hình này được biểu diễn trên hình:
14 Analog Input

MUX & PGA

12 bits A/D Converter

8DI & 8DO Data Regs Control & Status Regs

Buffer

PC/104 BUS

Address decode UART Ports DAC

- Sơ đồ khối module thu thập dữ liệu cấu hình 2

Khối dồn kênh MUX :


Gồm 4 bộ dồn kênh xây dựng trên 2 chip PoPSC CY8C27643 :
- AMUX1 và AMUX2 nằm trên chip PS1 thực hiện dồn các kênh AD0
đến AD3 và AD4 đến AD7.
- AMUX3 và AMUX4 nằm trên chip PS2 thực hiện dồn các kênh AD8
đến AD11 và AD12, AD13.
Cấu hình 3 :
Cấu hình 3 có các chức năng sau :
- 8 bộ đếm Counter/Timer chia làm hai cặp, mỗi cặp bốn bộ
Counter/Timer mắc nối tiếp với nguồn clock cho các khối đầu tiên
là 48MHz. Mỗi cặp bốn bộ Counter/Timer được xây dựng trên một
chip.

77
- 8 bit DI, 8 bit DO.

Thành phần cấu tạo của cấu hình này được biểu diễn trên hình sau:
Outputs

4 bộ Counter/Timer 16 bit

8DI & 8DO Data Regs Control & Status Regs

Bufer

PC/104 BUS

Address decode I2C & UART Ports DAC

- Sơ đồ khối module thu thập dữ liệu cấu hình 2

Trong cấu hình này, trong chip PS1 xây dựng 4 bộ đếm Counter 16 bit với
các tham số sau:
Counter1 :
Vị trí = Xây dựng trên các block DBB00 và DBB01
Clock = Row_0_Output_0
Enable = High
CompareType = Compare Less Than
InterruptType = Terminal Count
ClockSync = Unsynchronized
Output = Row_0_Output_0 -> GlobalOutEven_0 -> P0[0]

78
Counter2 :
Vị trí = Xây dựng trên các block DCB02 và DCB03
Clock = SysClk*2 (48MHz)
Enable = High
CompareType = Compare Less Than
InterruptType = Terminal Count
ClockSync = Unsynchronized
Output = Row_0_Output_1 -> GlobalOutEven_1 -> P0[1]

DCB03 -> Row_0_Braodcast -> Row_1_Broadcast.


Counter3 :
Vị trí = Xây dựng trên các block DBB10 và DBB11
Clock = Row_1_Broadcast
Enable = High
CompareType = Compare Less Than
InterruptType = Terminal Count
ClockSync = Unsynchronized
Output = Row_1_Output_0 -> GlobalOutEven_4 -> P0[4]
Counter4 :
Vị trí = Xây dựng trên các block DBB10 và DBB11
Clock = Row_1_Output_0
Enable = High
CompareType = Compare Less Than
InterruptType = Terminal Count
ClockSync = Unsynchronized
Output = Row_1_Output_1 -> GlobalOutEven_5 -> P0[5]

Các tham số Period và CompareValue của các bộ đếm được chương trình
điều khiển nhận vào từ các thanh ghi. Việc thiết kế các bộ đếm với cấu hình như
trên, ta có được 4 bộ đếm có khả năng lập trình mắc nối tiếp nhau với tín hiệu
clock chuẩn cho bộ đếm thứ nhất là 48MHz. Với cấu hình này, module có khả
năng tạo ra 4 tín hiệu đầu ra tương ứng với các đầu ra của từng bộ đếm.

79
Cấu hình 4 :
Cấu hình 4 có các chức năng sau :
- 4 bộ truyền dữ liệu nối tiếp Tx1, Tx2, Tx3, Tx4.
- 4 bộ nhận dữ liệu nối tiếp Rx1, Rx2, Rx3, Rx4.
Các bộ Tx1, Tx2, Rx1 và Rx2 được xây dựng trên chip PS1. Các bộ Tx3,
Tx4, Rx3, Rx4 được xây dựng trên chip PS2.
Các bộ CLK1 và CLK2 đóng vai trò tạo tín hiệu clock cho các bộ Tx1,
Rx1 và Tx2, Rx2. Bằng việc lập trình quá trình nạp tham số cho các bộ đếm
CLK1 và CLK2 ta có thể điều khiển được tần số truyền/ nhận dữ liệu của các bộ
truyền/nhận Tx và Rx. Các bộ truyền/nhận dữ liệu nối tiếp thiết kế trong cấu
hình này có thể điều khiển thay đổi tốc độ truyền/nhận dữ liệu với các tốc độ
38400, 19200, 9600 và 4800 baud. Đồng thời có thể điều khiển được kiểu dữ
liệu truyền (các tham số odd, even, parity).

80
Sơ đồ mạch in của module thu thập dữ liệu PC/104: mặt trên

Sơ đồ mạch in của module thu thập dữ liệu PC/104: mặt dưới

81
Module DAS-PC/104

Module thu thập dữ liệu có khả năng tái cấu hình của đề tài đã được ứng
dụng nhiều trong quân sự và là module PC/104 có khả năng tái cấu hình đầu tiên
trên thế giới.
Sản phẩm này cũng đã được Hội đồng khoa học của Viện kỹ thuật quân
sự phòng không không quân đánh giá đạt chất lượng tốt.
2.3.2.4 Module lọc α-β PC/104 có khả năng tái cấu hình

Khái quát về bộ lọc α-β


Bộ lọc α-β của đề tài thiết kế chế tạo được mô tả bằng phương trình ma
trận sai phân sau :

⎡ x̂ k/k ⎤ ⎡ (1 − α ) (1 − α )T ⎤ ⎡x̂ k −1/k −1 ⎤ ⎡ α ⎤


⎢ x̂& ⎥ = ⎢− β / T + z , (1)
⎣ k/k ⎦ ⎣ (1 − β ) ⎥⎦ ⎢⎣x̂&k −1/k −1 ⎥⎦ ⎢⎣β / T ⎥⎦ k

Nếu không tính đến tất cả các yêu tố yêu cầu về đánh giá tối ưu ở chế độ
quá trình quá độ mà chỉ xét ở chế độ xác lập khi đó hệ phương trình thuật lọc α-
β viết cho hệ rời rạc (1) tương ứng với hệ liên tục tuyến tính có dạng :

82
⎡ x̂&1 = x̂ 2 + β ( y1 − xˆ1 )⎤
⎢ ⎥ (2)
⎣⎢ x̂&2 = α ( y1 − xˆ1 ) ⎦⎥

Trong đó các tham số không đổi α và β được chọn sao cho bảo đảm đạt
được hệ số lọc tạp âm và đồng thời duy trì được tốc độ phản ứng cần thiết đối
với những chuyển động không mong muốn của đối tượng bám sát.
Các sai số của thiết bị bám α-β ở chế độ xác lập được quy định bằng tín
hiệu tạp và tín hiệu tiền định. Phân tích chi tiết đã chỉ ra rằng những ảnh hưởng
của tạp đo có thể được giảm bằng cách lựa chọn các giá trị của hệ số α và β nhỏ.
Mặt khác, để giảm các sai số tiền định thì những giá trị của các hệ số α và β cần
phải đạt lớn. Trong các hệ thống thực, các tín hiệu đưa tới đầu vào được biểu
diễn bằng tổng các hàm tiền định phụ thuộc vào thời gian và các quá trình tạp.
Tín hiệu tương ứng trên đầu ra của thiết bị bám có sai số, với giá trị trung bình
(nhỏ) của nó được xác định trên cơ sở thành phần tín hiệu tiền định đầu vào, còn
phương sai được xác định bằng chất lượng lọc hay là mức độ khuếch đại của
thành phần tạp. Như vậy để thoả mãn những yêu cầu trái ngược nhau đảm bảo là
phẳng tốt nhất tín hiệu tạp (bộ lọc tinh, phản ứng chậm của hệ thống, thời gian
tĩnh lớn hay dải tần số hẹp) và theo dõi chính xác cơ động của mục tiêu hay khả
năng phản ứng tức thời (bộ lọc thô, phản ứng nhanh của hệ thống, thời gian tĩnh
nhỏ hay dải tần số rộng) ta phải lựa chọn các tiêu chuẩn thỏa hiệp. Có nghĩa là
đối với mỗi cặp giá trị của tham số α, β việc làm phẳng tín hiệu tạp cần phải lớn
nhất tương ứng với tốc độ phản ứng của hệ thống cho trước và ngược lại. Các
tham số α, β nằm trong vùng α từ 0÷1, β từ 0÷2 được coi là tối ưu đối với thiết
bị bám α - β khi phải thoả mãn hai yêu cầu trái ngược nêu trên

a. Thiết kế Module lọc α-β PC/104 có khả năng tái cấu hình
Module được thiết kế giao diện với hệ thống bus ISA của hệ PC/104.
Module FILTER được thiết kế cho 4 cấu hình khác nhau nhưng chúng đều có
chung cấu trúc phần cứng. Mỗi cấu hình chỉ khác nhau về thiết lập cấu hình và
chương trình trình điều khiển cho vi mạch điều khiển PSoC CY8C27643 và
chức năng, địa chỉ của các thanh ghi được xây dựng trên chip EPF10KALC-84.
Thành phần chức năng và cấu trúc phần cứng của module FILTER bao gồm :
- Khối giải mã địa chỉ.
- Khối các thanh ghi đọc.
- Khối các thanh ghi viết.
- Khối đệm dữ liệu vào/ra.
- Khối lựa chọn chương trình.
- Khối biến đổi số liệu.
- Khối thực hiện thuật lọc α-β.

83
Sơ đồ cấu trúc phần cứng của module Filter được mô tả như trên hình sau:

50-pin 50-pin
connectors connector
BUFFER

BUFF FPGA Data PSoC


ER EPF10K10LC84-3 CY8C27643

Data

Address bus
BUFFER Decode Select Config

Data bus RD WR Address bus

PC/104 BUS

- Sơ đồ cấu trúc phần cứng module FILTER


Khối giải mã địa chỉ (Address Decode)
Khối giải mã địa chỉ có chức năng thực hiện việc thiết lập địa chỉ cơ sở
cho module và giải mã địa chỉ các thanh ghi đọc và thanh ghi viết sử dụng trong
các chương trình lọc số liệu khác nhau. Thành phần chức năng của khối giải mã
địa chỉ bao gồm khối giải mã địa chỉ cơ sở và khối giải mã địa chỉ các thanh ghi
đọc/viết. Khối giải mã địa chỉ cơ sở bao gồm bộ thiết lập địa chỉ cơ sở cho
module trên switch DIP8 SW1 và vi mạch giải mã địa chỉ 74LS682. Khối giải
mã các thanh ghi đọc/viết được thiết kế trong vi mạch EPF10K10LC84-3.

Khối các thanh ghi đọc/viết


Hệ thống các thanh ghi được xây dựng trên chip EPF10K10LC84-3 có
chức năng như các bộ đệm và chốt dữ liệu vào/ra. Các thanh ghi đọc thực hiện
đệm dữ liệu đầu vào hoặc các tín hiệu trạng thái. Các thanh ghi viết thực hiện
chức năng chốt dữ liệu ra hoặc các tín hiệu điều khiển quá trình hoạt động của
module. Tuỳ theo mỗi chương trình, hệ thống các thanh ghi sẽ được sử dụng
hoạt động theo các nguyên lý khác nhau. Mỗi thanh ghi được đọc hoặc viết thiết
kế với độ rộng 8 bit.

84
Trong module Filter sử dụng 3 thanh ghi đọc R0, R2, R4 và 3 thanh ghi
viết W0, W2, W4. Các thanh ghi đọc R0, R2 được định nghĩa là các thanh ghi
đọc dữ liệu, dùng để đọc 16 bit dữ liệu vào module. Dữ liệu vào module có thể
được đưa tới từ ngoại vi bên ngoài qua cáp vào JP1 hoặc được đưa tới từ bus
ISA của PC/104 CPU. Dữ liệu vào lọc có độ rộng 16 bit chia làm 2 byte, byte dữ
liệu thấp và byte dữ liệu cao. Byte dữ liệu thấp được đưa tới thanh ghi R0, byte
dữ liệu cao được đưa tới thanh ghi R2.
Thanh ghi R4 định nghĩa là thanh ghi trạng thái, dùng để đọc trạng thái
hoạt động của các bộ lọc. Trong mỗi chương trình lọc khác nhau, các bit dữ liệu
của thanh ghi này có ý nghĩa khác nhau.
Các thanh ghi viết được xây dựng trên cơ sở các bộ chốt dữ liệu, có chức
năng đưa các tín hiệu điều khiển, dữ liệu đến từ bus dữ liệu PC/104 tới chip
PSoC. Các tín hiệu này dùng để điều khiển và nạp dữ liệu cho các khối chức
năng xây dựng trên chip CY8C27643. Các thanh ghi W0 và W2 là các thanh ghi
chốt dữ liệu ra sau khi lọc, trong đó W0 dùng cho byte dữ liệu thấp, W1 dùng
cho byte dữ liệu cao. Thanh ghi W4 là thanh ghi điều khiển, có chức năng điều
khiển toàn bộ quá trình nhận dữ liệu, nạp các tham số cho bộ lọc và điều khiển
xuất dữ liệu ra đồng bộ với các thiết bị ngoại vi.

Khối đệm dữ liệu vào/ra (BUFFER)


Chức năng của bộ đệm dữ liệu vào/ra là điều khiển đệm dữ liệu vào/ra với
bus dữ liệu của hệ PC/104. Tùy theo lệnh đọc (RD) hay ghi (WR) dữ liệu từ
PC/104 với các thanh ghi của module, khối tạo tín hiệu điều khiển sẽ tạo ra tín
hiệu DK với mức tích cực thấp, kết hợp với lệnh RD, sẽ cho phép vi mạch
74LS245 làm việc, điều khiển và đệm dữ liệu vào hay ra.
Bộ đệm dữ liệu vào ra được xây dựng trên vi mạch 74HC245. Điều khiển
luồng dữ liệu vào/ra bằng tín hiệu RD của bus PC/104 và tín hiệu điều khiển
được tạo ra từ chip EPF10KALC-84.

Khối biến đổi số liệu


Khối biến đổi số liệu được xây dựng trong chip FPGA EPF10KLC84-3
có chức năng biến đổi vị trí xung Ready-XMT so với xung DB thành dữ liệu số
có độ dài 16 bit. Điều khiển quá trình biến đổi này là xung điều khiển ENA.
Trong thời gian có xung ENA (ENA=1). Khoảng lệch thời gian T0 giữa
xung R-XMT và xung DB được biến đổi thành dữ liệu số 16 bit. Tần số clock
biến đổi là dao động 20MHz. Sai số biến đổi là 1LSB, tương ứng với độ giữ
chậm 0.05µs. Kết thúc xung ENA (ENA=1), đầu ra bộ biến đổi có dữ liệu cùng
tín hiệu “dữ liệu sẵn sàng” DK3=1, thông báo cho bộ lọc α - β sẵn sàng đọc dữ
liệu.

Khối lọc α - β
Thực hiện bằng phần chương trình tính toán trong chip PSoC
CY8C27643.

85
b. Các cấu hình có thể lựa chọn
Cho phép người sử dụng thiết lập các tín hiệu điều khiển cho phép lựa
chọn các cấu hình lọc khác nhau. Các tín hiệu điều khiển Prog1, Prog2 và Prog3
được thiết lập trên J_Prg hoặc điều khiển bởi thiết bị bên ngoài, được đưa đến
các chip PSoC nhận biết, tùy thuộc vào giá trị của hai tín hiệu điều khiển này,
các chip PSoC sẽ tự động thay đổi cấu hình lọc tương ứng phù hợp với bài toán
đặt ra.

Cấu hình 1 :
Nguyên tắc hoạt động của module Filter hoạt động trong cấu hình 1 là :
- Dữ liệu vào 16 bit được lấy từ ngoại vi qua cáp vào JP1.
- Các hệ số lọc α, β được nạp cố định trong chip CY8C27643 hoặc điều
khiển nạp từ CPU.
- Thực hiện thuật lọc α-β.
- Dữ liệu ra 16 bit được đưa ra ngoại vi qua cáp JP2 hoặc đọc vào
PC/104 CPU qua ISA.
- Các tín hiệu điều khiển quá trình lọc số ENA và DB được điều khiển
bởi ngoại vi hoặc từ CPU.
- Tín hiệu thông báo trạng thái với thiết bị ngoại vi READY.
Trong chương trình 1 của module FILTER, dữ liệu số 16 bit đầu vào được
đưa tới module từ ngoại vi qua JP1. Dữ liệu vào 16 bit được đưa tới hai bộ đệm
8 bit.
Dữ liệu số vào 16 bit được lọc theo thuật lọc α-β trong chip CY8C27643.
Quá trình lọc số được điều khiển bởi các tín hiệu ENA và SYNC. Sau khi thực
hiện lọc xong, chip PSoC tạo tín hiệu READY thông báo cho phép ngoại vi đọc
dữ liệu ra. Tín hiệu READY được đưa qua cáp đầu ra JP2. Khi READY=1,
ngoại vi có thể thực hiện việc đọc dữ liệu.
Trong trường hợp dữ liệu được đọc bởi PC/104 CPU, quá trình thực hiện
như sau :
- Đọc byte thấp bằng việc truy xuất thanh ghi dữ liệu R0.
- Đọc byte cao bằng việc truy xuất thanh ghi dữ liệu R2.
Chương trình lọc được thực hiện theo chu trình liên tục, được đồng bộ
bằng xung đồng bộ tích phân SYNC. Sau mỗi quá trình, có thể reset tham số đầu
ra bộ tích phân bằng các tín hiệu RESETA và RESETB.

Cấu hình 2 :
Nguyên tắc hoạt động của module Filter hoạt động trong cấu hình 2 là:
- Dữ liệu vào 16 bit được lấy từ PC/104 CPU.
- Các hệ số lọc α, β được định sẵn trong module.
- Thực hiện thuật lọc α-β.
- Dữ liệu 16 bit được đọc vào PC/104 CPU qua bus ISA hoặc đưa ra
ghép nối với thiết bị ngoại vi.

86
Trong chương trình 2 của module FILTER, dữ liệu số 16 bit được đưa tới
module từ PC/104 CPU.
Quá trình ghi dữ liệu được thực hiện theo thứ tự sau :
- Ghi lệnh điều khiển thông báo cho module nhận dữ liệu vào 16 bit
bằng việc ghi lệnh điều khiển vào thanh ghi điều khiển W4.
- Ghi giá trị byte thấp vào thanh ghi dữ liệu W0.
- Ghi giá trị byte cao vào thanh ghi dữ liệu W2.
Dữ liệu số vào được lọc theo thuật lọc α-β trong chip CY8C27643. Quá
trình lọc số được điều khiển bởi tín hiệu điều khiển được đưa tới cổng P4[]. Sau
khi thực hiện xong, chip PSoC tạo tín hiệu READY thông báo cho phép đọc dữ
liệu ra. Tín hiệu READY được đưa tới thanh ghi trạng thái R7.
Quá trình đọc dữ liệu vào CPU được thực hiện theo thứ tự sau :
- Đọc byte thấp bằng việc truy xuất thanh ghi dữ liệu R0.
- Đọc byte cao bằng việc truy xuất thanh ghi dữ liệu R2.

Cấu hình 3 :
- Dữ liệu có dạng xung thời gian lấy từ ngoại vi qua cáp vào JP1.
- Các hệ số lọc α, β được nạp cố định trong chip CY8C27643.
- Thực hiện thuật lọc α-β.
- Dữ liệu ra 16 bit được đưa vào PC/104 CPU hoặc đưa tới ngoại vi.
Tín hiệu vào dạng xung sau khi được phối hợp mức được đưa tới bộ biến
đổi số xây dựng trong chip EPFP10KALC-84. Bộ biến đổi số thực hiện việc
biến đổi giá trị thời gian T0 thành dữ liệu số 16 bit. Dữ liệu 16 bit được đưa tới
hai thanh ghi WC0 (byte thấp) và WC2 (byte cao). Đồng thời, tại thời điểm
xung MT sẽ tạo ra tín hiệu cho phép WC0 và WC2 làm việc để đưa dữ liệu số
tới các cổng P0 và P1của chip PSoC CY8C27643.
- Các hệ số α, β được nạp cố định trong chip CY8C27643.
Quá trình lọc số theo thuật lọc α-β được thực hiện trong chip PSoC và
được điều khiển bởi lệnh điều khiển từ CPU trong thanh ghi điều khiển W4 đưa
tới cổng P4[]. Sau khi thực hiện xong, chip PSoC tạo tín hiệu READY thông
báo cho phép đọc dữ liệu ra. Tín hiệu READY được đưa tới thanh ghi trạng thái
R4. Quá trình đọc dữ liệu vào CPU được thực hiện theo thứ tự sau :
- Đọc byte thấp bằng việc truy xuất thanh ghi dữ liệu R0.
- Đọc byte cao bằng việc truy xuất thanh ghi dữ liệu R2.

Cấu hình 4 :
- Dữ liệu có dạng xung thời gian lấy từ ngoại vi qua cáp vào JP1.
- Các hệ số lọc α, β được điều khiển từ PC/104 CPU.
- Thực hiện thuật lọc α-β.
- Dữ liệu ra 16 bit được đưa vào PC/104 CPU.
Tín hiệu vào dạng xung sau khi được phối hợp mức được đưa tới bộ biến
đổi số xây dựng trong chip EPFP10KALC-84. Bộ biến đổi số thực hiện việc
biến đổi giá trị thời gian T0 thành dữ liệu số 16 bit. Dữ liệu 16 bit được đưa tới

87
hai thanh ghi WC0 (byte thấp) và WC2 (byte cao). Đồng thời, tại thời điểm
xung MT sẽ tạo ra tín hiệu cho phép WC0 và WC2 làm việc để đưa dữ liệu số
tới các cổng P0 và P1 của chip PSoC CY8C27643.
Các hệ số α, β được nạp từ CPU PC/104. Việc nạp α, β được thực hiện
như sau :
- Ghi lệnh điều khiển cho phép nạp hệ số α và β vào thanh ghi W4. Khi
đó PSoC ngừng nhận dữ liệu từ các thanh ghi dữ liệu.
- Tín hiệu READY=0.
- Nạp giá trị α qua thanh ghi W0.
- Nạp giá trị β qua thanh ghi W2.
- Lệnh READY=1 báo đã nạp α, β và tiếp tục cho phép dữ liệu vào.
Quá trình lọc số theo thuật lọc α-β được thực hiện trong chip PSoC và
được điều khiển bởi lệnh điều khiển từ CPU trong thanh ghi điều khiển W4 đưa
tới cổng P4[]. Sau khi thực hiện xong, chip PSoC tạo tín hiệu READY thông
báo cho phép đọc dữ liệu ra. Tín hiệu READY được đưa tới thanh ghi trạng thái
R4.
Quá trình đọc dữ liệu vào CPU được thực hiện theo thứ tự sau :
- Đọc byte thấp bằng việc truy xuất thanh ghi dữ liệu R0.
- Đọc byte cao bằng việc truy xuất thanh ghi dữ liệu R2.
Module lọc α-β PC/104 có khả năng tái cấu hình đã được thiết kế chế tạo
và áp dụng thử nghiệm ở Viện kỹ thuật Phòng không không quân. Sơ đồ mạch
in và card α-β PC/104 được mô tả trong các hình dưới.

88
Sơ đồ mạch in của Module lọc α -β PC/104: mặt trên

Sơ đồ mạch in của Module lọc α -β PC/104: mặt dưới

89
Module lọc α-β PC/104 có khả năng tái cấu hình

KẾT LUẬN

Với việc thiết kế module FILTER có các chương trình khác nhau cho
phép người sử dụng thực hiện lọc dữ liệu số 16 bit hoặc lọc tín hiệu vị trí xung
radar theo thuật lọc α-β. Với các chương trình trên, module FILTER có khả
năng phối ghép trực tiếp với các module ngoại vi khác, hoặc phối ghép với hệ
thống có điều khiển bởi hệ PC/104. Module cũng có thể thực hiện các bài toán
lọc phức hợp đối với các đối tượng đặc thù có nhiều kiểu dữ liệu khác nhau như
dữ liệu số có độ dài khác nhau, dữ liệu dạng xung thời gian, dữ liệu liên tục…
Xuất phát từ yêu cầu thực tế trong lĩnh vực lọc và xử lý số, module FILTER
được thiết kế nhằm đáp ứng nhu cầu sử dụng trong các lĩnh vực kỹ thuật đo
lường và xử lý tín hiệu số, đặc biệt là các hệ thống đo lường điều khiển sử dụng
công nghệ PC/104.
Module lọc α-β PC/104 cũng đã được Hội đồng khoa học Viện kỹ thuật
quân sự PKKQ đánh giá cho kết quả tốt.

90
2.3.3. Thư viện chương trình mẫu về thiết kế chip đo, điều khiển thông minh
sử dụng công nghệ PSoC

Thư viện chương trình mẫu bao gồm các chương trình và ví dụ cơ bản
nhất cho phát triển các chip đo điều khiển chuyên dụng trên công nghệ PSoC.
Đề tài đã phát triển và tập hợp các module chương trình và các ví dụ sau trong
thư viện này bao gồm:

Hiển thị và trình bày trên LCD


Điều khiển và hiển thị giá trị analog sử dụng DAC
Đo và hiển thị các giá trị analog voltage sử dụng ADC, DAC
Điều khiển, hiển thị và chỉ thị các hệ thống nút bấm
Điều khiển các đầu digital input/output
Truyền thông ghép nối máy tính thông qua RS-232
Truyền thông ghép nối máy tính thông qua mạng RS-485
Ứng dụng bộ đếm
Mạch cung cấp dòng hằng ứng dụng chuyển đổi DAC và Module Scblock
Thiết bị đo nhiệt độ, độ ẩm và điểm sương THDP-1
Phối ghép màn hình đồ họa Graphic LCD
Bộ đo và truyền tín hiệu nhiệt độ PT100 Transducer sử dụng công nghệ tạo
chip PSoC
Sau đây là phần mô tả toám tắt chức năng cơ bản của các module chương
trình trên:

HIỂN THỊ VÀ TRÌNH BÀY TRÊN LCD

Yêu cầu của chương trình

Giúp người sử dụng lập trình cho chíp PSoC để thực hiện chức năng điều
khiển hiển thị và trình bày trên màn hình LCD. Ví dụ này sẽ thực hiện:
+ In dòng chữ “PSoC Welcome” tại hàng 0, cột 5 trong màn hình LCD.
+ In ra dòng chữ “Welcome to Department for Robotics and Automation
Technology” cuốn trên LCD trên hàng 1.
Để thực hiện ví dụ này, người sử dụng cần làm theo các bước sau:
- Tạo lập 1 project mới
- Lựa chọn thiết bị sử dụng theo yêu cầu của bài toán đặt ra.
- Lập trình cho ứng dụng
ĐIỀU KHIỂN VÀ HIỂN THỊ GIÁ TRỊ ANALOG SỬ DỤNG DAC

Mục đích của chương trình

Hỗ trợ người sử dụng lập trình cho chíp PSoC để thực hiện chức năng
điều khiển và hiển thị giá trị analog sử dụng DAC. Ví dụ này cần thực hiện:

91
+ in dòng chữ “Convert DAC” tại hàng 0, cột 1 trong màn hình LCD.
+ in ra dòng chữ “DAC: Input “ trên LCD tại hàng 1, với Input là giá trị
số vào nằm trong dải từ 0-510 ( giá trị Input là giá trị số được tăng dần khi đến
510, nó lại bị reset về 0, quá trình này cứ lặp lại), điện áp ra(0-5V) trên chân
P0[3] của chíp PSoC.
Để thực hiện ví dụ này, người sử dụng cần làm theo các bước sau:
- Tạo lập 1 project mới
- Lựa chọn thiết bị sử dụng theo yêu cầu của bài toán đặt ra.
- Lập trình cho ứng dụng

ĐO VÀ HIỂN THỊ CÁC GIÁ TRỊ ANALOG VOLTAGE SỬ DỤNG ADC, DAC

Mục đích của chương trình

Hỗ trợ người sử dụng lập trình cho chíp PSoC để thực hiện chức năng đo
và hiển thị các giá trị analog voltage sử dụng ADC, DAC. Ví dụ này cần thực
hiện:
+ in ra dòng chữ “ADCO: OutADC “ trên hàng 1 của LCD, với OutADC
là giá trị số ra của bộ biến đổi A/D, điện áp vào của bộ chuyển đổi được cung
cấp tại chân P0[1] của chíp Psoc qua khâu khuếch đại PGA.
+ in ra dòng chữ “DACI: InDAC “ trên hàng 2 của LCD, với InDAC là
giá trị số vào nằm trong dải từ 0-510, điện áp ra(0-5V) trên chân P0[3] của chíp
Psoc.
+Giá trị số đầu ra của bộ ADC chính là đầu vào số của bộ chuyển đổi
DAC.
Để thực hiện ví dụ này, người sử dụng cần làm theo các bước sau:
- Tạo lập 1 project mới
- Lựa chọn thiết bị sử dụng theo yêu cầu của bài toán đặt ra.
- Lập trình cho ứng dụng

ĐIỀU KHIỂN, HIỂN THỊ VÀ CHỈ THỊ CÁC HỆ THỐNG NÚT BẤM
Mục đích của chương trình
Hỗ trợ người sử dụng lập trình cho chíp PSoC để thực hiện chức năng
điều khiển, hiển thị và chỉ thị các hệ thống nút bấm. Ví dụ này cần thực hiện:
+Khi ấn nút 1 thi hiển thị “Button 1” trên dòng 1 trong màn hình LCD.
Khi ấn thêm lần nữa, dòng chữ bị xoá.
+ tương tự cho nút thứ 2, nhưng ký tự “Button 2” hiển thị trên dòng 2 của
LCD
Để thực hiện ví dụ này, người sử dụng cần làm theo các bước sau:
- Tạo lập 1 project mới
- Lựa chọn thiết bị sử dụng theo yêu cầu của bài toán đặt ra.
- Lập trình cho ứng dụng

92
ĐIỀU KHIỂN CÁC ĐẦU DIGITAL INPUT/OUTPUT
Mục đích của chương trình
Hỗ trợ người sử dụng lập trình cho chíp PSoC để thực hiện chức năng
điều khiển các đầu Digital Input/Output. Ví dụ này cần thực hiện:
+ In dòng chữ “Test Digital In/Out” tại vị trí (0,0) của màn hình LCD.
+ Với các đầu Digital Input/Output, cần lập trình để nếu DI nào on/off thì
DO cũng có trạng thái tượng tự.

Để thực hiện ví dụ này, người sử dụng cần làm theo các bước sau:
- Tạo lập 1 project mới
- Lựa chọn thiết bị sử dụng theo yêu cầu của bài toán đặt ra.
- Lập trình cho ứng dụng

TRUYỀN THÔNG GHÉP NỐI MÁY TÍNH THÔNG QUA RS-232


Mục đích của chương trình
Giúp người sử dụng lập trình cho chíp PSoC để thực hiện chức năng
truyền thông ghép nối máy tính thông RS-232. Ví dụ này sẽ thực hiện:
+ in dòng chữ “Welcome” tại hàng 0, cột 1 trong màn hình LCD.
+ Thực hiện chức năng truyền/nhận với máy tính PC qua cổng RS-232.
- RS-232 được đặt với cấu hình: tốc độ 9600baud, no parity, 1 stop bít
- In ra dòng chữ “.. ” trên LCD trên hàng 1, với “.. ” là chuỗi nhận về khi
trên PC gửi xuống, chuỗi ký tự nhận được sẽ được gửi trở lại máy tính PC.
Để thực hiện ví dụ này, người sử dụng cần làm theo các bước sau:
- Tạo lập 1 project mới
- Lựa chọn thiết bị sử dụng theo yêu cầu của bài toán đặt ra.
- Lập trình cho ứng dụng

TRUYỀN THÔNG GHÉP NỐI MÁY TÍNH THÔNG QUA MẠNG RS-485
Mục đích
Giúp người sử dụng lập trình cho chíp PSoC để thực hiện chức năng
truyền thông ghép nối máy tính thông qua mạng RS-485. Ví dụ này sẽ thực hiện:
+ In dòng chữ “WelCome RS-485” tại hàng 0, cột 1 trong màn hình LCD.
+ Thực hiện chức năng truyền/nhận với máy tính PC qua mạng RS-485.
- RS-232 được đặt với cấu hình: tốc độ 9600baud, 1 stop bít
- In ra dòng chữ “.. ” trên LCD trên hàng 1, với “.. ” là chuỗi nhận về khi
trên PC gửi xuống, gửi trở lại máy tính PC 1 chuỗi mới.
Để thực hiện ví dụ này, người sử dụng cần làm theo các bước sau:
- Tạo lập 1 project mới
- Lựa chọn thiết bị sử dụng theo yêu cầu của bài toán đặt ra.
- Lập trình cho ứng dụng
Lưu ý: trước khi sử dụng ví dụ này nên đọc kỹ ví dụ 6.

93
ỨNG DỤNG BỘ ĐẾM
Mục đích
Giúp người sử dụng lập trình cho chíp PSoC để thực hiện chức năng điều
khiển, ứng dụng bộ đếm. Ví dụ này sẽ thực hiện:

+ Hiển thị trên màn hình LCD dòng chữ “Using Counter” trên hàng 1.
+ Sử dụng bộ đếm counter với xung đầu vào, đọc số đếm của counter(dải
giá trị từ 0-16), ứng với số đếm đưa ra tổ hợp các đèn trên DO[] sáng.
Để thực hiện ví dụ này, người sử dụng cần làm theo các bước sau:
- Tạo lập 1 project mới
- Lựa chọn thiết bị sử dụng theo yêu cầu của bài toán đặt ra.
- Lập trình cho ứng dụng

Mạch cung cấp dòng hằng ứng dụng chuyển đổi DAC
và Module SCBLOCK
Mục đích
Giúp cho người sử dụng tạo được
nguồn dòng ổn định cho các hệ thống đo
lường.
Mạch cung cấp dòng hằng có nhiệm
vụ cung cấp một dòng điện ổn định cho tải.
Mạch này thường được sử dụng trong các
mạch cảm biến, các mạch truyền tín hiệu từ
Một ví dụ ứng dụng của mạch cấp
cảm biến tới các thiết bị đích, ..vv.
Trong hình vẽ là một ứng dụng tiêu dòng hằng

biểu của mạch cung cấp dòng hằng. Một bộ chuyển đổi có trở kháng thay đổi từ
0 ÷ 300 Ω tùy theo sự thay đổi của đại lượng đo, được cung cấp một nguồn dòng
có trị số ổn định là 4 mA.
Mạch cấp dòng hằng ứng dụng PSoC
Sơ đồ mạch

Mạch cấp dòng hằng ứng dụng PSoC có sơ


đồ nguyên lý như sau:
Trong mạch sử dụng một bộ khuếch đại vi
sai, điện áp ra của nó được mô tả bởi phương
trình:
Vout = K (Vload − Vset ) (1)
Mạch phát nguồn dòng trong
PSoC

94
Do trở kháng vào của bộ khuếch đại vi sai rất lớn, nên dòng chạy qua Rload
coi như bằng với dòng chạy qua Rset và bằng:
Vout − Vload
iset = (2)
Rset
Thay phương trình (1) vào phương trình (2) ta được:
( K − 1)Vload − K .Vset
iset = (3)
Rset
Nếu cho K = 1 thì phương trình 3 trở thành:
Vset
iset = −
Rset
Khi ứng dụng PSoC, nguồn Vset được thay bằng nguồn được cung cấp bởi
một bộ chuyển đổi DAC, bằng cách này, ta dễ dàng thay đổi được điện áp đặt
một cách khá chính xác, qua đó có thể đặt được dòng điện cấp cho tải một cách
khá chính xác.

THIẾT BỊ ĐO NHIỆT ĐỘ, ĐỘ ẨM VÀ ĐIỂM SƯƠNG

Mục tiêu
Giới thiệu một giải pháp thiết kế tổng thể thiết bị đo dùng PSoC.
Giải pháp cho thiết bị đo nhiệt độ độ ẩm và điểm sương bao gồm:
a. Lựa chọn công nghệ PSoC (Programmable System on Chip) của hãng
Cypress Micro System làm công nghệ chủ chốt để phát triển thiết bị đo
nhiệt độ, độ ẩm và điểm sương. PSoC có khả năng xử lý hỗn hợp dữ liệu
tương tự và số. Nó cho ta khả năng phát triển các sản phẩm mới nhanh, dễ
dàng mở rộng các chức năng mới sau này. Công nghệ này cho nhiều giải
pháp lựa chọn và hỗ trợ cho đa dạng ứng dụng từ đo lường, xử lý, điều
khiển, truyền thông, kết nối mạng trên cùng một chip với giá thành thấp.
b. Lựa chọn chip sensor SHTxx của hãng SENSIRION. Đây là chip có các
chỉ tiêu kỹ thuật và giá cả phù hợp.
Nguyên lý hoạt động
4 công tắc CT để đặt địa chỉ 485 cho thiết bị. Máy tính PC có thể lấy số
liệu cực đại 16 thiết bị THDP-1 qua chuẩn RS485 để xử lý, hiển thị, lưu
trữ.v…v. Tốc độ truyền của RS485 là 9600 baud, do Counter BaudRate làm
Clock cho tốc độ của khối chức năng Phát và Nhận: Rx và Tx. Chip MAX485
để chuyển đổi mức tín hiệu của chuẩn 485 (Xem hình 2).

95
PSoc
Cy8c26443

§K(3) CPU
LcD SHT1x
LCD RAM
8x2 FLASH
Va`
Data(4) PhÇn
MÒm Counter
+5V Counter BaudRate
Timer

Tx8
MAX
485
CT Rx8

S¬ ®å m¹ch ®iÖn tö cña thiÕt bÞ

PHỐI GHẾP PSOC VỚI MÀN HÌNH ĐỒ HỌA GRAPHIC COG LCD

Mục tiêu: Chương trình mẫu phối ghép PSoC với màn hình COG
Màn hình COG (Chip On Glass) là lọai màn hình tiết kiệm năng lượng
dùng cho các thiết bị cầm tay. Ở Việt nam chưa có đơn vị nào nghiên cứu phát
triển các sản phẩm sử dụng công nghệ này. Đa số chỉ sử dung các màn hình
LCD bình thường có dòng tiêu thụ lớn.
Màn hình COG ở ví dụ này là lọai có chip điều khiển S6B1713. Việc phối
ghép COG với PSoC được tiến hành qua phối ghép với chip S6B1713
Chip S6B1713 là chip điều khiển LSI cho hệ thống màn hình đồ hoạ tinh
thể lỏng. Nó bao gồm 65 hàng và 132 cột. Chip này cũng được kết nối thẳng với
microprocessor, có thể kết nối nối tiếp hoặc song song, và dữ liệu được chứa
trên Display Data RAM (có sẵn trong chip – và là mảng hai chiều 65x132).
S6B1713 cung cấp chế độ hiển thị rất linh hoạt do có sự tương ứng 1 -1 giữa các
bít dữ liệu trên DDRAM và các pixel trên màn hình LCD. chip này cũng thực
hiện quá trình đọc và ghi dữ liệu không cần có clock ngoài, do đó làm giảm đến
mức tối thiểu năng lượng tiêu thụ. Thêm vào đó, vì hệ thống chứa cả mạch cung
cấp năng lượng cần thiết để cung cấp cho bộ phận tinh thể lỏng, chúng ta có thể
chế tạo được hệ thống với số thành phần ít nhất.

96
Một số đặc tính của Chip S6B1713:
Giao tiếp với bộ vi xử lý:
Với đặc tính mềm dẻo của mình S6B1713 có thể kết nối trực tiếp với vi
điều khiển theo hai chiều 8 bit song song hoặc nối tiếp.
Riêng với kết nối theo kiểu tuần tự thì chỉ có thể giao tiếp theo một chiều
(chỉ viết). Tập lệnh đa dạng, có thể Reset cả bằng phần cứng và bằng phần mềm.

Các mạch analog được xây dựng trong Chip:


- Mạch tạo dao động
- Mạch chuyển đổi điện áp
- Mạch biến đổi điện áp ( có thể đẩy điện áp VDD lên gấp 2, 3, 4, 5 tùy
cách ghép nối)
- Mạch điều chỉnh điện áp (hệ số nhiệt độ: -0.05%/°C, -0.2%/°C)
- Mạch theo dõi điện áp
Dải điện áp làm việc:
- Nguồn cung cấp từ: 2.4 đến 3.6 V
- Có thể đẩy điện áp lên để cung cấp cho LCD họat động (VLCD = V0 -
VSS): 4.0 đến 15.0 V
Tiêu thụ điện thấp:
- 70 uA
Thiết kế ghép nối giữa màn hình đồ họa LCD và PSoC:
Miêu tả chức năng của các chân COG LCD:

Chân I/O Chức năng


Dữ liệu và lệnh vào ra chỉ có hiệu lực khi
CS1B (chip select) I chân CS1B ở mức “L”
Chân đầu vào Reset, khi RESETB=L thì
RESETB I việc khởi tạo đã được thực hiện xong.
I Thanh ghi lựa chọn chân đầu vào:
RS = "H": DB0 - DB7 dùng để hiển thị
RS dữ liệu lên màn hình LCD.
RS = "L": DB0 - DB7 dùng để chứa các
Byte điều khiển.
RW_WR I Tín hiệu đọc và viết dữ liệu, hiển thị và
điều khiển lên LCD.
E_RD I Tín hiệu điều khiển trạng thái đọc hoặc
viết dữ liệu lên LCD.
DB7-DB0 I/O 8 bit dữ liệu được kết nối trực tiếp với 8
chân của vi xử lý.

97
Sơ đồ nguyên lý kết nối giữa COG LCD và PSoC
-

COG LCD GRAPHICS 1


CS1B
2 P1.7
RESETB
3 P1.6
RS
4 P1.5 1 28 VCC
RW_WR 470 ohm P0.7 VCC
PSoC
5 VCC 2 27
E_RD P0.5
CY8C27443 P0.6
6 P0.0 3 26
D0 P0.3 P0.4
7 P0.1 4 25
D1 P0.1 P0.2
8 P0.2 5 24
D2 P2.7 P0.0
9 P0.3 6 23
D3 P2.5 P2.6
10 P0.4 7 22
D4 P2.3 P2.4
11 P0.5 8 21
D5 P2.1 P2.2
12 P0.6 9 20
D6 SMP P2.0
13 P0.7 10 19
D7 P1.7 XRES
14 11 18
MI P1.5 P1.6
15 12 17
VSS VCC P1.3 P1.4
- +
16 13 16
VDD P1.1 P1.2
17 3.3uF 14 15
VOUT VSS P1.0
18
C3+
19 3.3uF
C3-
20
C1+
21 3.3uF
c1-
22
C2+
23 3.3uF
C2-
24
V0
25 1uF
V1 1uF
26 1uF 100K
V2
27
V3
28 1uF
V4
29 1uF
VSS

98
Thiết kế phần mềm điều khiển LCD:
Kết nối giữa LCD và các vi xử lý nói chung dược thực hiện theo ba cách
khác nhau trong đó có một nối tiếp và hai kết nối song song. Việc xác định kiểu
kết nối như thế nào được thể hiện bởi giá trị của các chân thông qua hình đưới
đây. Ở sơ đồ ghép nối trên ta nhận thấy CS1B và MI được ghép với mức thấp. Do
đó LCD sẽ hoạt động ở chế độ MPU series. Và kiểu giao tiếp của nó với PSoC là
giao tiếp song song.
Để làm việc với LCD chúng ta cần thay đổi trạng thái của ba bit điều khiển:
RS, RESETB, và RW_WR. Khi đó nó có thể thực hiện được các chức năng đọc
dữ liệu từ DDRAM vào PSoC, ghi dữ liệu 8 bit lên DDRAM để hiển thị, đọc
trạng thái của các thanh ghi điều khiển, và cuối cùng là có thể viết lệnh lên các
thanh ghi. Đối với các chức năng này thì hai chức năng viết dữ liệu hiển thị và
viết cấu hình tới các thanh ghi để thiết lập chế độ hoạt động cho LCD là quan
trọng nhất.
Tạo phông hiển thị cho màn hình COG LCD:
Sau khi đã thiết lập cấu hình xong cho LCD, thì một vấn đề không kém
phần quan trọng đó là tạo phông cho LCD. Do LCD được thiết kế theo kiểu ma
trận điểm 132 cột và 65 hàng, được chia thành 8 trang, mỗi trang lại bao gồm 8
dòng. Do đó chúng ta có thể tạo các ký tự cũng như tạo các biểu tượng với kích
thước bất kỳ một cách dễ dàng bằng việc sử dụng phần mềm LcdProgram.
Phần mềm này được thiết kế theo ma trận điểm bao gồm 128 cột và 64
dòng. Để tạo ra các phông như mong muốn chúng ta chỉ cần sử dụng chuột trái để
kích lên từng ô nhỏ trong chương trình (mỗi ô tương ứng với một bit). Sau đó
chúng ta nhấn nút với nhãn là 8051 để lấy các mã số thực tương ứng của biểu
tượng đó.

BỘ ĐO VÀ TRUYỀN TÍN HIỆU NHIỆT ĐỘ PT100 TRANSDUCER SỬ DỤNG CÔNG NGHỆ


TẠO CHIP PSoC

Mục tiêu: Ví dụ phối ghép nhiệt điện trở PT100 với PSoC
Cảm biến nhiệt điện trở (RTD) thường dùng trong công nghiệp là loại được chế
tạo từ platinum. Điện trở của loại vật liệu này có độ ổn định và chính xác cao, có
đáp ứng gần tuyến tính trong giải rộng (-2000C ÷ 8500C). Nhiệt điện trở Platinum
không đòi hỏi các cáp dẫn truyền đặc biệt, không cần các đầu tham chiếu lạnh
(cold junction reference). Các loại nhiệt điện trở thường dùng trong công nghiêp
được mô tả trong bảng sau:

Tên RTD Chất Điểm chuẩn


Liệu

99
PT50 Platinum 50 ở 0ºC
PT100 Platinum 100 ở 0ºC
PT130 Platinum 130 ở 0ºC
PT1000 Platinum 1000 ở 0ºC
Cu100 Copper 100 ở 0ºC
Ni100 Nickel 100 ở 0ºC
Các loại RTD thông dụng

Phương pháp đo nhiệt độ dùng


PT100 và PSoC
Phương pháp đo 2 dây:
Hình bên giới thiệu nguyên
lí đo hai dây dùng PSoC.
Khi đặt vào hai đầu cầu
phân áp Rref và RTD điện áp
Vref+ và Vref- sẽ có một dòng chạy
qua cầu phân áp. Sử dụng một
ADC để đo các điểm V0, V1, và
V2 thông qua một bộ khuyếch đại
đệm PGA 1:1. Ta có dòng qua Đo 2 dây
hai điện trở là đồng nhất, do đó:

V0 − V1 V1 − V2
= (1)
Rref RRTD

Như vậy RRTD hoàn toàn được xác định:


V1 − V2
RRTD = Rref (2)
V0 − V1

Tuy nhiên với phương pháp này cần chú ý tới điện trở dây dẫn của RTD,
khi lắp đặt vào hiện trường cần đo chính xác điện trở dây dẫn, sau đó hiệu chỉnh
lại giá trị thực của RTD. Phương pháp này không tự bù được điện trở đường dây.
Phương pháp đo 4 dây:
Để khắc phục sai số do dây dẫn
gây ra ta có thể dùng phương pháp đo
4 dây như hình bên:
Cũng tương tự như phương pháp
đo hai dây, ta sử dụng ADC và đệm
khuyếch đại PGA 1:1, và cấp áp Vref+
và Vref- vào nhánh cầu phân áp trên.
Với Ra, Rb, Rc, và Rd là điện trở dây
nối tới nhiệt điện trở RTD.
Đo bốn dây
100
Điện trở của Rc và Rd sẽ không ảnh hưởng tới phép đo nhiều lắm, nếu trở
kháng đầu vào của ADC đủ lớn, coi như không có dòng chạy qua thì phép đo áp
không bị ảnh hưởng của điện trở dây dẫn.
Các điểm đo V0, V1, V2 và V3 được thực hiện lúc đó ta cũng có:
V0 − V1 V2 − V3
= (3)
Rref RRTD
Như vậy RRTD được tính:
V3 − V2
RRTD = Rref (4)
V0 − V1
Trên kết quả tính toán không xuất hiện Ra và Rb, như vậy kết quả đo sẽ tự
loại trừ được ảnh hưởng của điện trở đường dây.
Để tăng độ chính xác và ổn định cho thiêt bị, cần kết hợp thêm các bộ lọc
số liệu để lọc các giá trị nhiễu.
Các chức năng khác của PT100 Transducer.
PT100 Transducer sử dụng đường truyền RS485 để truyền thông, có thể
ghép tối đa 32 đầu đo, độ xa tối đa 1200m theo chuẩn RS485. Địa chỉ được cài
đặt bằng các switch địa chỉ.

Phần mềm của bộ PT100Transducer.

+ Đo nhiệt độ giải rộng: -50 ÷ 600.


+ Lọc các số liệu nhiễu.
+ Tự xác định địa chỉ theo cài đặt của người sử dụng.
+ Truyền số liệu đo được qua mạng RS 485 khi có lệnh.
+ Tự khởi động lại khi máy bị treo do nhiễu hoặc lỗi.

Sơ đồ nguyên lí : PT100 Transducer chế tạo theo công nghệ tạo chíp chuyên dụng
PSoC

101
Sơ đồ nguyên lí PT100 Transducer

102
Kết quả thực nghiệm
Bộ đo và truyền số liệu nhiệt độ PT100
Transducer đã được chế tạo và chạy thử nghiệm.
Và đã đem lại một số kết quả nhất định.
Thiết bị được ghép nối thành mạng, lập ra
nhiều điểm đo khác nhau và đưa vào đo trong
môi trường nhiệt độ thử nghiệm. Kết quả thu
được khá khả quan với độ chính xác là ± 10C.
Tuy nhiên, thiết bị cần được kiểm nghiệm thực
tế nhiều hơn để đảm bảo được các tiêu trí khác
Thiết bị PT100 Transmitter
như độ bền, độ ổn định và khả năng chống
nhiễu…
Hình trên giới thiệu thiết bị PT100 Transducer được chế tạo và hiện đang
được đưa vào ứng dụng điều khiển tháp chưng cất tinh dầu 18m tại công ty Tinh
Dầu và các sản phẩm tự nhiên thuộc Viện Khoa học và Công nghệ Việt nam.
Với phương pháp đo sử dụng công nghệ PSoC, vấn đề đo nhiệt độ được
đơn giản hoá rất nhiều, giá cả giảm xuống. Bộ PT100 Transmitter này rất thuận
tiện để đưa vào sử dụng trong công nghiêp.
Những cấu hình chúng tôi đưa ra ở đây là đơn giản nhất và giảm thiểu về
giá thành. Tuy nhiên, chúng tôi hoàn toàn có thể đáp ứng các nhu cầu mở rộng
thêm tuỳ theo yêu cầu sử dụng của khách hàng như: hiển thị giá trị nhiệt độ tại
chỗ bằng LCD, đo đa kênh trên một thiết bị. Mọi yêu cầu xin liên hệ về địa chỉ
trên.

2. 4. Đánh giá kết quả thu được


Đề tài đã triển khai các nội dung đặt ra đúng tiến độ và đã hoàn thành các sản
phẩm đạt các chỉ tiêu đặt ra. Các sản phẩm của đề tài đều sử dụng công nghệ cao
kết hợp với các giải pháp, thiết kế của các cán bộ nghiên cứu tham gia đề tài tạo
ra các sản phẩm mới.
Việc chế tạo mẫu thử nghiệm dựa vào các cơ sở chế tạo mạch in, cơ khí
trong nước. Công việc tích hợp hệ thống và phát triển phần mềm, đo đạc, kiểm
tra, thử nghiệm các sản phẩm do các cán bộ triển khai đề tài thực hiện, các sản
phẩm đều được đưa đi đánh giá và kiểm tra chất lượng ở các hội đồng khoa học
hoặc tại Cục tiêu chuẩn đo lường chất lượng Nhà nước. Các kết quả đánh giá đều
đạt các yêu cầu đặt ra. So với các sản phẩm nhập ngoại các chỉ tiêu chất lượng
không thua kém.
Về các công nghệ sử dụng trong các sản phẩm của đề tài đều là các công
nghệ cao như công nghệ tạo chip chuyên dung PSoC, công nghệ lập trình thời
gian thực, các chip vi mạch chuyên dụng. Các công nghệ này có tính ổn định cao.
Tuy nhiên để có một sản phẩm hoàn chỉnh có thể thương mại hoá được cần phải
tiếp tục đầu tư để chuyển các sản phẩm mẫu được sản xuất trong phòng thí
nghiệm ra quy trình sản xuất công nghiệp. Vấn đề này đề tài đang đi tìm các nhà

103
đầu tư có khả năng kinh tế để đưa sản phẩm vào sản xuất hang loạt và chịu rủi ro
trên thị trường.
So với phương án nhập công nghệ các giải pháp và sản phẩm của đề tài có
thể mang lại lợi ích cả về kinh tế và đảm bảo sự phát triển của sản phẩm lâu dài.
Đề tài đã tạo ra các sản phẩm có các giải pháp mới mẻ. Sản phẩm hệ thống
kiểm sóat vào ra dung thẻ RFID AC-200 đã được các Hội đồng xét tặng Cúp
vàng Techmart2005 tại thành phố Hồ Chí Minh và đọat giải thưởng Công nghệ
Thông Tin 2005 Quả cầu vàng tại Hà nội.
Đề tài đã đưa được công nghệ tạo chip thông minh PSoC vào Việt Nam.
Hiện nay công nghệ này đã và đang được rất nhiều cơ sở nghiên cứu, đào tạo và
sản xuất triển khai.
Đề tài đã tổ chức nhiều hội thảo, seminar về công nghệ PSoC tại Hà Nội và
Thành phố Hồ Chí Minh.
Đề tài cũng đã đào tạo được nhiều sinh viên làm đồ án tốt nghiệp theo công
nghệ PSoC và các vấn đề liên quan đến các nghiên cứu của đề tài.
Về triển khai ứng dụng thực tế đã ký được 3 hợp đồng với tổng kinh phí trên
200 triệu đồng cho ứng dụng PSoC trong thiết kế và chế tạo các bộ nguồn DC-
AC. Qua quá trình triển khai thực hiện, đề tài đã mở rộng hợp tác khoa học công
nghệ với Singapore,

3. KẾT LUẬN VÀ KIẾN NGHỊ


Kết luận: Đề tài đã hoàn thành đầy đủ các nội dung đã đề ra ban đầu với chất
lượng tốt. Đã công bố nhiều kết quả nghiên cứu ở các tạp chí và hội
nghị quốc gia . Đã đưa được công nghệ mới PSoC vào Việt Nam. Đã tạo
ra được các sản phẩm mới áp dụng công nghệ cao. Có sản phẩm đã đoạt
giải quốc gia và đã triển khai được một số hợp đồng áp dụng các sản
phẩm của đề tài vào sản xuất.
Kiến nghị:
1. Hỗ trợ để đưa một số sản phẩm sau của đề tài sang dạng dự án sản xuất
thử nghiệm:
- Các sản phẩm kiểm soát dùng thẻ RFID: AC-200; WT1000…
- Thiết bị điều khiển máy lạnh
- Module thu thập dữ liệu đa năng có khả năng tái cấu hình DAS PC/104
Các sản phẩm này đều có chất lượng không thua kém các sản phẩm nhập
ngoại, nhưng có giá thành chỉ bằng 60-70%.
2. Tiếp tục cho triển khai một số đề tài nghiên cứu về thông minh hóa các
sản phẩm tiêu dùng và công nghiệp có thị trường lớn mang thươg hiệu Việt
nam có khả năng cạnh tranh trong khu vực và trên thế giới
3. Cần có chính sách phát triển công nghiệp chế tạo các thiết bị đo lường
thông minh ở nước ta vì nhu cầu to lớn của xã hội cũng như tính khả thi của
hướng này.

104
4. LỜI CẢM ƠN
Chủ nhiệm đề tài KC.03.20 xin chân thành cảm ơn các tổ chức và cá nhân
sau đã giúp đỡ thiết thực và hiệu quả trong quá trình thực hiện đề tài.
- Bộ khoa học và Công nghệ đã cấp kinh phí và tạo nhiều điều kiện thuận
lợi cho đề tài triển khai hoàn thành đề tài.
- Ban chủ nhiệm chương trình KC.03 đã thường xuyên theo dõi, kiểm tra
đôn đốc và hỗ trợ các công việc triển khai các nội dung chi tiết của đề
tài.
- Viện Công nghệ thông tin đã tạo các điều kiện thuận lợi và hỗ trợ về
nguồn nhân lực trong vấn đề triển khai các nội dung và quản lý tài chính
giúp cho đề tài đạt được các kết quả đặt ra.
- Toàn thể các cán bộ tham gia thực hiện đề tài đã có nhiều nỗ lực và
chung sức nghiên cứu để có thể đưa được các công nghệ mới, phương
pháp mới vào các sản phẩm mới của đề tài. Thành quả của đề tài là kết
quả của tập thể nghiên cứu cùng nhau hợp tác trong các năm qua.

105

You might also like