Báo cáo 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

pdf 105 trang yendo 5750
Bạn đang xem 20 trang mẫu của tài liệu "Báo cáo 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", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbao_cao_nghien_cuu_ung_dung_va_phat_trien_cong_nghe_tu_dong.pdf

Nội dung text: Báo cáo 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

  1. 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
  2. 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
  3. 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
  4. 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
  5. - 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. • 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
  22. • 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
  23. + 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
  25. Sơ đồ mạch của bo điều khiển được mô tả trong hình sau: 26
  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
  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 3 V 2 ⎟ Rthermistor 2 RRe f 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 1 ⎛ t ⎞ ⎛ ⎞ ⎛ ⎞ = a + b⎜ln R ⎟ + c⎜lnRt ⎟ + d ⎜lnRt ⎟ T ⎝ R25 ⎠ ⎝ R25⎠ ⎝ R25⎠ 28
  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
  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
  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
  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
  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
  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 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
  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
  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
  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
  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
  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
  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
  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
  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
  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
  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
  44. Sơ đồ mạch điện của bộ điều khiển từ xa hồng ngoại 45
  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 N Mask !=0 ? Y 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
  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
  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 RD1 thẻ 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 kí (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
  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
  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
  50. * CẤU TRÚC PHẦN CỨNG Sơ đồ sắp xếp linh kiện 2 1 Mặt trên 3 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
  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 RD 22 XRES GPIO2 8 21 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
  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
  53. PRoX_1 Rơle: Mở cửa LED1 LED2 Từ đầu MAX232 COUNTER đọc Vào Rx8-1 Tx 2MHz CLK 8-1 E Từ đầu H MAX232 Rx8-2 Tx đọc Ra CPU FLASH RAM UART-1 MAX485 A PhÇn MÒm Rx Tx B +5V E2PROM I2C Đ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
  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
  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
  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
  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
  58. Sơ đồ mạch in: Mạch in AC200-C 59
  59. Sơ đồ mạch điện của Bộ điều khiển AC200-C: Wire2 104 14 15 8 1 RS485 13 16 7 2 12 17 6 MAX485 3 11 18 5 4 10 19 104 9 20 8 21 R2 1 8 7 RD2 22 2 7 14 15 6 PRoX-1.1 23 3 Fm24256 6 R3 13 16 5 24 4 5 12 17 R4 4 25 R7 11 18 3 26 10 19 2 27 104 9 20 1 28 1 8 Ra 8 21 2 7 Rơ le 7 PSOC 22 3 DS1307 6 6 23 4 5 PRoX-1 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 7 RD1 22 Ra lẫy từ 1 2 Rs1 RLed 6 23 CN4-RL2 3 4 PRoX-1.1 5 24 5 SWITCH 6 RLed2 4 25 7 8 R5 R6 GND 3 26 Rs4 2 27 1 28 Từ chân 24 của PSoC 60
  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ậttoáncủabộ điều khiển 61
  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
  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
  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
  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 Đóng 0xFF+0xFF+Add quá trình xoá cổng +13 byte 0xFF 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
  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
  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
  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ểnlên 68
  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
  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
  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
  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
  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
  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
  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
  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
  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