Data
BUFFER
BUFFER ER
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.
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.
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
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.
Sơđồ mạch in của Module lọc α -β PC/104: mặt trờn
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.
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
+ 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.