MỤC LỤC 
 
 PHẦN CHÍNH BÁO CÁO 
 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 máy lạnh 20
a. Chip DKML-1 20
b. Bo điều khiển máy lạnh 2 cục 12000 BTU và 18000 BTU 22
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ử dụng thẻ nhận dạng không dây RFID 42
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 
d. Hệ thống chấm công sử dụng thẻ RFID 
e. Hệ thống cấp phát thẻ RFID 
2.3.2.3. Module thu thập dữ liệu đa năng PC/104 có khả năng tái cấu hình 60 
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 hình 72
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 khiển thông minh sử dụng công nghệ PSoC 82
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
                
              
                                            
                                
            
 
            
                 105 trang
105 trang | 
Chia sẻ: banmai | Lượt xem: 1949 | Lượt tải: 1 
              
            Bạn đang xem trước 20 trang tài liệu 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, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
iể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. 
Address bus
Data bus RD WR Address bus
50-pin 
connectors 
ADC data 
DI / DO
DA outputs 
AD inputs 
PC/104 BUS
FPGA 
EPF8282ALC-84 
PSoC 
2X CY8C27643 
BUFFER 
Decode 
Select Config 
 - Sơ đồ nguyên lý phần cứng module DAS PC/104 
 73
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 
 74
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 
 75
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 
2 
3 
4 
0 
0 
1 
1 
0 
1 
0 
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. 
 76
Sơ đồ khối của module với cấu hình này được trình bày trên 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. 
16 Analog Input 
PC/104 BUS 
MUX & PGA 
12 bits A/D Converter 
Control & Status Regs Data Regs 
Buffer 
Address Decode UART Ports 
8DI & 8DO 
 - Sơ đồ khối module thu thập dữ liệu cấu hình 1 
 77
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: 
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. 
14 Analog Input 
PC/104 BUS 
MUX & PGA 
12 bits A/D Converter 
Control & Status Regs Data Regs 
Buffer 
Address decode UART Ports 
 - Sơ đồ khối module thu thập dữ liệu cấu hình 2 
DAC 
8DI & 8DO 
 78
- 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: 
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] 
Outputs 
PC/104 BUS 
4 bộ Counter/Timer 16 bit 
Control & Status Regs Data Regs 
Bufer 
Address decode I2C & UART Ports 
8DI & 8DO 
 - Sơ đồ khối module thu thập dữ liệu cấu hình 2 
DAC 
 79
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. 
 80
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). 
 81
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 
 82
 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 : 
( ) ( )
( ) , z/
α
xˆ
xˆ
β1/
Tα1α1
xˆ
xˆ
k
11/kk
11/kk
k/k
k/k ⎥⎦
⎤⎢⎣
⎡+⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡
−−
−−=⎥⎦
⎤⎢⎣
⎡
−−
−−
TT ββ && (1) 
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 : 
Module DAS-PC/104 
 83
 )2(
)ˆ(xˆ
)ˆ(xˆxˆ
112
1121
⎥⎥⎦
⎤
⎢⎢⎣
⎡
−=
−+=
xy
xy
α
β
&
&
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 α-β. 
 84
Sơ đồ cấu trúc phần cứng của module Filter được mô tả như trên hình sau: 
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. 
50-pin 
connector
50-pin 
connectors 
Address bus 
Data bus RD WR Address bus 
 Data 
PC/104 BUS
FPGA 
EPF10K10LC84-3
PSoC 
CY8C27643 
BUFFER 
Decode 
Select Config 
 - Sơ đồ cấu trúc phần cứng module FILTER 
 Data 
BUFFER 
BUFF
ER 
 85
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. 
 86
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. 
 87
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 
 88
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.
 89
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 
 90
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. 
Module lọc α-β PC/104 có khả năng tái cấu hình 
 91
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: 
 92
 + 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 
 93
Đ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. 
 94
Ứ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ừ 
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 
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: 
 ( )out load setV K V V= − (1) 
 Một ví dụ ứng dụng của mạch cấp 
dòng hằng 
 Mạch phát nguồn dòng trong 
PSoC 
 95
 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: 
 out loadset
set
V Vi
R
−= (2) 
 Thay phương trình (1) vào phương trình (2) ta được: 
 ( 1) .load setset
set
K V K Vi
R
− −= (3) 
 Nếu cho K = 1 thì phương trình 3 trở thành: 
 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). 
set
set
set
Vi
R
= − 
 96
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. 
S¬ ®å m¹ch ®iÖn tö cña thiÕt bÞ 
PSoc 
Cy8c26443 
CPU 
RAM 
FLASH
Va` 
 PhÇn 
MÒm 
Counter
Timer 
LCDLcD 
8x2 
§K(3) 
Data(4) 
+5V 
CT 
Tx8
Counter 
BaudRate 
Rx8
MAX 
485 
SHT1x
 97
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 
CS1B (chip select) 
I 
Dữ liệu và lệnh vào ra chỉ có hiệu lực khi 
chân CS1B ở mức “L” 
RESETB 
I 
Chân đầu vào Reset, khi RESETB=L thì 
việc khởi tạo đã được thực hiện xong. 
RS 
I Thanh ghi lựa chọn chân đầu vào: 
RS = "H": DB0 - DB7 dùng để hiển thị 
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ý. 
 98
Sơ đồ nguyên lý kết nối giữa COG LCD và PSoC 
1uF
1uF
VCC
3.3uF
VCC
3.3uF
-
CY8C27443
PSoC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
28
27
26
25
24
23
22
21
20
19
18
17
16
15
P0.7
P0.5
P0.3
P0.1
P2.7
P2.5
P2.3
P2.1
SMP
P1.7
P1.5
P1.3
P1.1
VSS
VCC
P0.6
P0.4
P0.2
P0.0
P2.6
P2.4
P2.2
P2.0
XRES
P1.6
P1.4
P1.2
P1.0
1uF
1uF
P0.0
COG LCD GRAPHICS 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
CS1B
RESETB
RS
RW_WR
E_RD
D0
D1
D2
D3
D4
D5
D6
D7
MI
VSS
VDD
VOUT
C3+
C3-
C1+
c1-
C2+
C2-
V0
V1
V2
V3
V4
VSS
P0.6
P0.5
+
3.3uF
P0.3
3.3uF
VCC
P0.7
P0.1
100K
1uF
P1.7
P0.4
-
P0.2
P1.6
P1.5
470 ohm
 99
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 
Liệu 
Điểm chuẩn 
 100
PT50 
PT100 
PT130 
PT1000 
Cu100 
Ni100 
Platinum
Platinum
Platinum
Platinum
Copper 
Nickel 
50 ở 0ºC 
100 ở 0ºC 
130 ở 0ºC 
1000 ở 0ºC 
100 ở 0ºC 
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 
hai điện trở là đồng nhất, do đó: 
RTDref R
VV
R
VV 2110 −=− (1) 
 Như vậy RRTD hoàn toàn được xác định: 
 refRTD RVV
VVR
10
21
−
−= (2) 
 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 
Đo 2 dây 
 101
 Đ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ó: 
RTDref R
VV
R
VV 3210 −=− (3) 
Như vậy RRTD được tính: 
refRTD RVV
VVR
10
23
−
−= (4) 
 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 
 102
 Sơ đồ nguyên lí PT100 Transducer 
 103
 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 
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à 
 Thiết bị PT100 Transmitter 
 104
đầ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. 
 105
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. 
            Các file đính kèm theo tài liệu này:
 5868.pdf 5868.pdf