Luận văn Ứng dụng neurofuzzy trong điều khiển nhiệt độ thông qua kit at89c52

Tài liệu Luận văn Ứng dụng neurofuzzy trong điều khiển nhiệt độ thông qua kit at89c52: TRƯỜNG ĐẠI HỌC KỸ THUẬT TP. HCM KHOA ĐIỆN ĐIỆN TỬ BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG LUẬN VĂN TỐT NGHIỆP ĐỀ TÀI : ỨNG DỤNG NEUROFUZZY TRONG ĐIỀU KHIỂN NHIỆT ĐỘ THÔNG QUA KIT AT89C52 GVHD : LÊ TUẤN ANH SVTH : LÊ PHƯỚC THÀNH MSSV : 49600822 NIÊN KHÓA 1996 - 2001 LỜI CẢM ƠN Xin chân thành cảm ơn tất cả các thầy cô trong trường ĐH Kỹ Thuật đã dạy dỗ cho đến ngày hôm nay, đặc biệt là các thầy cô trong bộ môn Điều Khiển Tự Động. Xin chân thành cảm ơn văn phòng bộ môn, đặc biệt là cô Ngọc đã tạo điều kiện giúp đỡ trong suốt quá trình thực hiện luận văn tốt nghiệp. Xin chân thành cảm ơn thầy Lê Tuấn Anh, người đã gợi ý và hướng dẫn thực hiện luận văn tốt nghiệp. Và xin cảm ơn tất cả những người đã gián tiếp tạo điều kiện thuận lợi trong quá trình làm luận văn tốt nghiệp. Dù đã cố rất gắng nhưng vẫn không tránh khỏi sai sót, xin được học hỏi nh...

doc186 trang | Chia sẻ: hunglv | Lượt xem: 1008 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Luận văn Ứng dụng neurofuzzy trong điều khiển nhiệt độ thông qua kit at89c52, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
TRÖÔØNG ÑAÏI HOÏC KYÕ THUAÄT TP. HCM KHOA ÑIEÄN ÑIEÄN TÖÛ BOÄ MOÂN ÑIEÀU KHIEÅN TÖÏ ÑOÄNG LUAÄN VAÊN TOÁT NGHIEÄP ÑEÀ TAØI : ÖÙNG DUÏNG NEUROFUZZY TRONG ÑIEÀU KHIEÅN NHIEÄT ÑOÄ THOÂNG QUA KIT AT89C52 GVHD : LEÂ TUAÁN ANH SVTH : LEÂ PHÖÔÙC THAØNH MSSV : 49600822 NIEÂN KHOÙA 1996 - 2001 LÔØI CAÛM ÔN Xin chaân thaønh caûm ôn taát caû caùc thaày coâ trong tröôøng ÑH Kyõ Thuaät ñaõ daïy doã cho ñeán ngaøy hoâm nay, ñaëc bieät laø caùc thaày coâ trong boä moân Ñieàu Khieån Töï Ñoäng. Xin chaân thaønh caûm ôn vaên phoøng boä moân, ñaëc bieät laø coâ Ngoïc ñaõ taïo ñieàu kieän giuùp ñôõ trong suoát quaù trình thöïc hieän luaän vaên toát nghieäp. Xin chaân thaønh caûm ôn thaày Leâ Tuaán Anh, ngöôøi ñaõ gôïi yù vaø höôùng daãn thöïc hieän luaän vaên toát nghieäp. Vaø xin caûm ôn taát caû nhöõng ngöôøi ñaõ giaùn tieáp taïo ñieàu kieän thuaän lôïi trong quaù trình laøm luaän vaên toát nghieäp. Duø ñaõ coá raát gaéng nhöng vaãn khoâng traùnh khoûi sai soùt, xin ñöôïc hoïc hoûi nhöõng lôøi chæ daãn. Xin caûm ôn raát nhieàu. Ngöôøi thöïc hieän Leâ Phöôùc Thaønh LÔØI TÖÏA Ñeà taøi naøy ñöôïc thöïc hieän trong khuoân khoå moät moân hoïc do tröôøng ÑH Kyõ Thuaät qui ñònh vôùi soá tín chæ laø 10. Thoâng qua ñoù, sinh vieân coù moät hoïc kyø ñeå töï hoïc, töï ñaùnh giaù khaû naêng cuûa mình vaø trình baøy thaønh luaän vaên döïa treân nhöõng hieåu bieát cuûa mình. Teân cuûa ñeà taøi laø öùng duïng NeuroFuzzy ñeå ñieàu khieån nhieät ñoä cho thaáy ñeà taøi khoâng môùi nhöng phöông phaùp ñieàu khieån thì raát môùi : ñoù laø öùng duïng NeuroFuzzy, moät lónh vöïc coøn khaù môùi meõ trong ñieàu khieån töï ñoäng, laø söï keát hôïp cuûa hai lónh vöïc trí khoân nhaân taïo : logic môø vaø maïng neuron nhaèm taän duïng öu ñieåm cuûa caû hai. Nhaèm ñeå chöùng toû öu ñieåm cuûa phöông phaùp naøy, ñeà taøi ñieàu khieån moät ñoái töôïng cuï theå laø moät loø nöôùng daân duïng. Luaän vaên trình baøy ñeà taøi ñöôïc chia laøm 5 phaàn lôùn : Phaàn 1 : Giôùi thieäu. Phaàn 2 : Lyù thuyeát. Phaàn 3 : Thieát keá. Phaàn 4 : Keát qua ñieàu khieån. Phaàn 5 : taøi lieäu tham khaûo. Trong moãi phaàn coù nhieàu chöông nhoû traûi roäng töø heä thoáng, phaàn cöùng, phaàn meàm vôùi toång soá trang laø 183. Do löôïng noäi dung vieát thì nhieàu maø khuoân khoå luaän vaên coù giôùi haïn neân chæ trình baøy caùc giaûi thuaät maø khoâng trình baøy chöông trình. Tuy nhieân, neáu muoán tham khaûo thì söû duïng ñóa CD-ROM keøm theo coù chöùa chöông trình nguoàn laãn chöông trình ñaõ bieân dòch (cho pheùp caøi leân maùy tính). Thöïc ra taùc giaû coøn muoán trình baøy nhieàu hôn nöõa nhöng ñaønh phaûi ruùt goïn neân khoâng thoaùt khoûi tình traïng thieáu tröôùc huït sau. Ngoaøi ra, do moãi phaàn ñöôïc vieát trong caùc khoaûn thôøi gian khaùc nhau neân khoâng traùnh khoûi vaán ñeà khoâng nhaát quaùn trong trình baøy. Loái vaên phong cuõng khoâng ñöôïc khoa hoïc cho laém. Mong raèng ngöôøi ñoïc seõ thoâng caûm maø boû qua nhöõng thieáu soùt ñoù. Xin chaân thaønh caûm ôn. MUÏC LUÏC Phaàn 1. Giôùi thieäu 9 Chöông 1. Giôùi thieäu ñeà taøi 10 1. Nhieäm vuï cuûa ñeà taøi 11 2. Thöïc hieän 11 Phaàn 2. Lyù thuyeát 12 Chöông 1. Logic môø 13 1. Sô löôïc veà logic môø 13 1.1. Quaù trình phaùt trieån cuûa logic môø 13 1.2. Cô sôû toaùn hoïc cuûa logic môø 13 1.3. Logic môø laø logic cuûa con ngöôøi 16 1.4. So saùnh logic môø vôùi lyù thuyeát xaùc suaát thoáng keâ 16 2. Caùc khaùi nieäm duøng trong logic môø 17 2.1. Taäp hôïp môø vaø ñoä phuï thuoäc 17 2.2. Haøm phuï thuoäc 18 2.3. Bieán ngoân ngöõ 18 2.4. Luaät môø 19 3. Tính toaùn môø 19 3.1. Môø hoùa 19 3.2. Tính luaät môø 19 3.3. Suy luaän môø 20 3.4. Giaûi môø 21 Chöông 2. Maïng Neuron 23 1. Sô löôïc veà maïng neuron 23 1.1. Quaù trình phaùt trieån 23 1.2. Maïng neuron laø gì ? 24 1.3. Caáu truùc cuûa naõo 24 2. Moâ hình hoùa maïng neuron 26 2.1. Yeâu caàu khi laäp moâ hình moät neuron 26 2.2. Laäp moâ hình neuron 26 3. Hoïc hoûi trong maïng neuron 28 4. Giaûi thuaät hoïc perceptron 30 4.1. Moâ taû giaûi thuaät 30 4.2. Phaân loaïi vôùi moâ hình perceptron 31 4.3. Toùm taét giaûi thuaät 33 4.4. Haïn cheá 34 4.5. Nhaän xeùt 34 5. Giaûi thuaät hoïc delta 35 5.1. Ñaïo haøm 35 5.2. Moâ taû luaät hoïc delta 36 5.3. Moät soá haøm truyeàn vaø ñaïo haøm cuûa noù 37 5.4. Toùm taét giaûi thuaät 38 6. Giaûi thuaät delta toång quaùt 39 6.1. Moâ hình perceptron ña taàng 39 6.2. Luaät hoïc delta toång quaùt 39 6.3. Toùm taét giaûi thuaät 41 7. Ñoä hieäu quaû cuûa maïng neuron 41 Chöông 3. NeuroFuzzy 44 1. Sô löôïc veà NeuroFuzzy 44 2. Keát hôïp neuron vaø môø 45 2.1. Bieåu dieãn luaät If-Then theo caáu truùc maïng neuron 45 2.2. Neuron môø 48 3. Hoïc hoûi trong NeuroFuzzy 50 3.1. Söûa ñoåi haøm phuï thuoäc 51 4. Nhaän xeùt 54 Chöông 4. Vi ñieàu khieån 55 1. Vi ñieàu khieån hoï MCS-51 55 2. Vi ñieàu khieån AT89C52 56 2.1. Caáu taïo chaân 56 2.2. Sô ñoà khoái 57 2.3. Moâ taû chöùc naêng caùc chaân 57 2.4. Caùc thanh ghi chöùc naêng 59 2.5. Boä nhôù döõ lieäu 61 2.6. Ñaëc tính boä dao ñoäng 62 2.7. Cheá ñoä löôøi 62 2.8. Cheá ñoä haï nguoàn 62 2.9. Traïng thaùi cuûa moät soá chaân trong cheá ñoä haï nguoàn vaø cheá ñoä löôøi 62 2.10. Caùc thoâng soá kyõ thuaät 63 Chöông 5. ADC ICL7109CPL 67 1. Sô löôïc caùc phöông phaùp bieán ñoåi AD 67 1.1. Bieán ñoåi AD duøng boä bieán ñoåi DA 67 1.2. Boä bieán ñoåi Flash AD 70 1.3. Boä bieán ñoåi AD theo haøm doác daïng leân xuoáng 71 1.4. Boä bieán ñoåi AD duøng chuyeån ñoåi aùp sang taàn soá 71 1.5. Boä bieán ñoåi AD theo tích phaân hai ñoä doác 71 2. ICL7109CPL 72 2.1. Caáu taïo chaân 73 2.2. Moâ taû chöùc naêng caùc chaân 73 2.3. Quaù trình bieán ñoåi AD 75 2.4. Löïa choïn giaù trò 76 2.5. Giao tieáp tröïc tieáp vôùi ICL7109CPL 77 Chöông 6. MAX232 78 1. Chuaån RS-232-C 78 1.1. Caùc ñaàu noái 80 1.2. Moâ taû chaân 80 2. MAX232 vaø hoï IC duøng bieán ñoåi TTLÛRS-232-C 81 2.1. Caáu taïo chaân 81 2.2. Moâ taû chöùc naêng chaân 81 2.3. Sô ñoà khoái vaø maïch tieâu bieåu 81 Chöông 7. Caùc IC khaùc 83 1. OP07 83 2. MOC3020 83 3. RAM 6264 84 4. Choát 74573 84 5. BTA16 84 Chöông 8. Thermocouple 85 1. Sô löôïc veà caùc duïng cuï ño nhieät ñoä 85 1.1. Buoåi ban ñaàu cuûa thieát bò ño nhieät ñoä 85 1.2. Caùc loaïi caûm bieán hieän taïi 86 2. Thermocouple 87 2.1. Hieäu öùng Seebeck 87 2.2. Caùch ño hieäu ñieän theá 88 2.3. Buø nhieät moâi tröôøng 90 2.4. Caùc loaïi thermocouple 90 2.5. Moät soá nhieät ñoä chuaån 91 Phaàn 3. Thieát keá 92 Chöông 1. Phaàn cöùng 93 1. Caáu truùc toång quaùt 93 2. Khoái xöû lyù trung taâm 94 3. Phaân vuøng ñòa chæ 96 4. Khoái boä nhôù vaø nguoàn backup 97 5. Khoái hieån thò 98 6. Khoái bieán ñoåi AD 102 7. Khoái caûm bieán vaø gia coâng 105 8. Khoái baøn phím 108 8.1. Chöông trình con GET_KEY 109 8.2. Chöông trình con IN_HEX 111 9. Truyeàn thoâng noái tieáp 112 10. Khoái maïch coâng suaát 114 11. Nguoàn cung caáp 115 12. Caùch caân chænh maïch 115 13. Xöû lyù 16-bit treân vi ñieàu khieån 8-bit 118 13.1 Chöông trình con coäng 16-bit 119 13.2. Chöông trình con ñoåi daáu moät soá 119 13.3. Chöông trình con nhaân soá 16-bit cho soá 8-bit 119 13.4. Chöông trình con chia soá 16-bit cho soá 8-bit 120 Chöông 2. Heä thoáng 122 1. Thieát keá heä môø 122 1.1. Caùc nguyeân taéc trong thieát keá 122 1.2. Thieát keá heä môø cho ñieàu khieån nhieät ñoä 125 1.3. Thieát keá heä luaät 126 1.4. Tính luaät vaø giaûi môø 127 2. Thieát keá heä NeuroFuzzy 127 2.1. Taäp döõ lieäu hoïc 127 2.2. Thay ñoåi heä môø 127 Chöông 3. Phaàn meàm 129 1. Pha hoaït ñoäng 129 1.1. Khuoân daïng luaät cuûa heä 130 1.2. Giaûi thuaät ñieàu khieån 130 1.3. Xöû lyù môø 131 1.4. Tính ñoä phuï thuoäc 132 1.5. Giaûi môø theo CoM 136 2. Pha hoïc 137 3. Chöông trình treân kit AT89C52 137 3.1. Nhaäp döõ lieäu 139 3.2. Hoaït ñoäng 144 3.3 Phaân boá taøi nguyeân 145 3.4. RAM ngoaïi 147 4. Chöông trình treân maùy tính 149 4.1. Qui ñònh kieåu döõ lieäu 150 4.2. Giôùi thieäu chöông trình NF Control 151 4.3. Giôùi thieäu chöông trình fuzzyTech 156 4.4. Giao tieáp giöõa NF Control vaø FuzzyTech 160 Phaàn 4. Keát quaû ñieàu khieån 171 Chöông 1. Ñieàu khieån thöïc teá 172 1. Ñieàu khieån 100°C 173 2. Ñieàu khieån 125°C 174 3. Ñieàu khieån 150°C 175 4. Ñieàu khieån 175°C 176 5. Ñieàu khieån 200°C 177 6. Ñieàu khieån 225°C 178 7. Ñieàu khieån 250°C 179 8. Ñieàu khieån toång hôïp laàn thöù nhaát 180 9. Ñieàu khieån toång hôïp laàn thöù hai 181 Phaàn 5. Taøi lieäu tham khaûo 182 1 giôùi thieäu ñeà taøi Töø xöa ñeán nay, nhieät ñoä luoân hieän höõu quanh ta vaø ñaõ trôû thaønh moät trong nhöõng yeáu toá cuûa söï soáng. Tuy nhieân con ngöôøi ôû moãi thôøi ñieåm khaùc nhau ñeàu coù caùch nhaän thöùc vaø xöû lyù nhieät ñoä khaùc nhau. Thôøi xa xöa, con ngöôøi khoâng heà coù khaùi nieäm veà nhieät ñoä maëc duø hoï bieát noùng, laïnh. Sau ñoù, con ngöôøi coù khaùi nieäm veà söï toàn taïi cuûa nhieät ñoä, tìm caùch ño noù vaø so saùnh giöõa caùc loaïi nhieät ñoä khaùc nhau. Tuy nhieân, hoï vaãn cam chòu vaø tìm caùch chung soáng vôùi nhieät ñoä : neáu noùng quaù thì tìm choã traùnh noùng ôû döôùi goác caây, beân bôø suoái chaúng haïn. Ñeán moät luùc naøo ñoù, con ngöôøi naûy sinh ra yù ñònh ñieàu khieån nhieät ñoä, baét noù phaûi phuïc vuï cho muïc ñích cuûa mình. Ví nhö trong sinh hoaït haèng ngaøy, ngöôøi ta nhaän ra raèng nhieät ñoä lyù töôûng cho moäi tröôøng soáng laø 25°C. Theá thì baèng moïi caùch phaûi taïo ra ñöôïc nhieät ñoä 25°C vaø maùy ñieàu hoøa nhieät ñoä ra ñôøi. Hay trong nghaønh coâng nghieäp, ñieàu khieån nhieät ñoä laø moät vaán ñeà raát quan troïng. Trong ngaønh luyeän kim, caàn phaûi ñaït ñeán moät nhieät ñoä naøo ñoù ñeå kim loaïi noùng chaûy, vaø cuõng caàn ñaït moät nhieät ñoä naøo ñoù ñeå uû kim loaïi nhaèm ñaït ñöôïc toát caùc ñaëc tính cô hoïc nhö ñoä beàn, ñoä deûo, ñoä choáng gæ seùt, … . Trong ngaønh thöïc phaåm, caàn duy trì moät nhieät ñoä naøo ñoù ñeå nöôùng baùnh, ñeå naáu, ñeå baûo quaûn, … . Töø ñoù, ñieàu khieån nhieät ñoä trôû thaønh moät lónh vöïc cuûa ñieàu khieån töï ñoäng. Vaø theo ñaø phaùt trieån cuûa caùc hoïc thuyeát veà ñieàu khieån töï ñoäng, keát quaû cuûa quaù trình ñieàu khieån nhieät ñoä ngaøy caøng moät toát hôn. Tröôùc ñaây, con ngöôøi ñieàu khieån nhieät ñoä baèng phöông phaùp PID raát toát. Naêm 1965, lyù thuyeát môø ra ñôøi ñem laïi nhieàu thuaän lôïi hôn trong ñieàu khieån töï ñoäng, vaø ñieàu khieån nhieät ñoä cuõng höôûng ñöôïc lôïi ñieåm ñoù. Tuy nhieân vieäc thieát keá môø laø ñôn giaûn nhöng vieäc toái öu laïi laø khoù. Maïng neuron cuõng laø moät ngaønh thuoäc lónh vöïc trí khoân nhaân taïo, nhöng ngöôøi ta ít duøng noù trong ñieàu khieån do khoù giaûi thích haønh vi maø noù taïo ra maëc duø noù coù khaû naêng hoïc. Söï keát hôïp cuûa logic môø vaø maïng neuron taïo ra moät nghaønh môùi goïi laø NeuroFuzzy mang öu ñieåm cuûa caû hai : deã thieát keá (thoâng qua logic môø) vaø deã toái öu (thoâng qua quaù trình hoïc caùc haønh vi mong muoán baèng maïng neron). Do ñoù ñieàu khieån nhieät ñoä baèng NeuroFuzzy höùa heïn nhieàu haáp daãn. 1. nhieäm vuï cuûa ñeà taøi Ñieàu khieån nhieät ñoä moät loø nöôùng daân duïng baèng phöông phaùp NeuroFuzzy. 2. thöïc hieän Thieát keá moät kit döïa treân vi ñieàu khieån AT89C52 cho pheùp : Ñieàu khieån loø nöôùng coù coâng suaát 1000W baèng phöông phaùp ñieàu roäng xung (PWM). Duøng caûm bieán laø loaïi Thermocouple. Cho pheùp töï hoaït ñoäng hoaëc hoaït ñoäng thoâng qua maùy tính. Thieát keá chöông trình xöû lyù môø cho kit vaø cho maùy tính : Hai bieán vaøo laø sai leäch nhieät ñoä ET vaø bieán thieân sai leäch nhieät ñoä DET, moãi bieán coù 7 taäp môø. Bieán ra laø duty cycle (goïi laø OUT trong thieát keá) goàm 9 taäp môø daïng singleton trong mieàm töø 0% ñeán 100%. Toái öu baèng quaù trình hoïc cuûa maïng neuron. 1 logic môø 1. sô löôïc veà logic môø 1.1. Quaù trình phaùt trieån cuûa logic môø Logic môø ñöôïc coâng boá laàn ñaàu tieân taïi Myõ vaøo naêm 1965. Cha ñeû cuûa noù laø Lotfi Zadeh, giaùo sö veà lyù thuyeát heä thoáng taïi tröôøng ñaïi hoïc Berkeley, bang California. Keå töø ñoù, logic môø ñaõ coù nhieàu phaùt trieån qua caùc chaëng ñöôøng sau : phaùt minh ôû Myõ, aùp duïng ôû Chaâu AÂu vaø ñöa vaøo caùc saûn phaåm thöông maïi ôû Nhaät. 1.1.1. ÖÙng duïng coâng nghieäp ñaàu tieân ôû Chaâu Aâu ÖÙng duïng ñaàu tieân cuûa logic môø vaøo coâng nghieäp ñöôïc thöïc hieän ôû Chaâu Aâu, khoaûng sau naêm 1970. Taïi tröôøng Queen Mary ôû Luaân Ñoân – Anh, Ebrahim Mamdani duøng logic môø ñeå ñieàu khieån moät maùy hôi nöôùc maø tröôùc ñaây oâng aáy khoâng theå ñieàu khieån ñöôïc baèng caùc kyõ thuaät coå ñieån. Vaø taïi Ñöùc, Hans Zimmermann duøng logic môø cho caùc heä ra quyeát ñònh. Lieân tieáp sau ñoù, logic môø ñöôïc aùp duïng vaøo caùc lónh vöïc khaùc nhö ñieàu khieån loø xi maêng, … nhöng vaãn khoâng ñöôïc chaáp nhaän roäng raõi trong coâng nghieäp. Coù moät soá ít öùng duïng duøng noù nhöng daáu ñi cuïm töø logic môø maø thay baèng caùc töø ngöõ nhö “logic ña giaù trò” hay “logic lieân tuïc”. Keå töø naêm 1980, logic môø ñaït ñöôïc nhieàu thaønh coâng trong caùc öùng duïng ra quyeát ñònh vaø phaân tích döõ lieäu ôû Chaâu Aâu. Nhieàu kyõ thuaät logic môø cao caáp ñöôïc nghieân cöùu vaø phaùt trieån trong lónh vöïc naøy. 1.1.2. Nhaät Baûn vöôn leân daãn ñaàu Caûm höùng töø nhöõng öùng duïng cuûa Chaâu Aâu, caùc coâng ty cuûa Nhaät baét ñaàu duøng logic môø vaøo kyõ thuaät ñieàu khieån töø naêm 1980. Nhöng do caùc phaàn cöùng chuaån tính toaùn theo giaûi thuaät logic môø raát keùm neân haàu heát caùc öùng duïng ñeàu duøng caùc phaàn cöùng chuyeân veà logic môø. Moät trong nhöõng öùng duïng duøng logic môø ñaàu tieân taïi ñaây laø nhaø maùy xöû lyù nöôùc cuûa Fuji Electric vaøo naêm 1983, heä thoáng xe ñieän ngaàm cuûa Hitachi vaøo naêm 1987. Nhöõng thaønh coâng ñaàu tieân ñaõ taïo ra nhieàu quan taâm ôû Nhaät. Coù nhieàu lyù do ñeå giaûi thích taïi sao logic môø ñöôïc öa chuoäng. Thöù nhaát, caùc kyõ sö Nhaät thöôøng baét ñaàu töø nhöõng giaûi phaùp ñôn giaûn, sau ñoù môùi ñi saâu vaøo vaán ñeà. Phuø hôïp vôùi vieäc logic môø cho pheùp taïo nhanh caùc baûn maãu roài tieán ñeán vieäc toái öu. Thöù hai, caùc heä duøng logic môø ñôn giaûn vaø deã hieåu. Söï “thoâng minh” cuûa heä khoâng naèm trong caùc heä phöông trình vi phaân hay maõ nguoàn. Cuõng nhö vieäc caùc kyõ sö Nhaät thöôøng laøm vieäc theo toå, ñoøi hoûi phaûi coù moät giaûi phaùp ñeå moïi ngöôøi trong toå ñeàu hieåu ñöôïc haønh vi cuûa heä thoáng, cuøng chia seõ yù töôûng ñeå taïo ra heä. Logic môø cung caáp cho hoï moät phöông tieän raát minh baïch ñeå thieát keá heä thoáng. Vaø cuõng do neàn vaên hoùa, ngöôøi Nhaät khoâng quan taâm ñeán logic Boolean hay logic môø; cuõng nhö trong tieáng Nhaät , töø “môø’ khoâng mang nghóa tieâu cöïc. Do ñoù, logic môø ñöôïc duøng nhieàu trong caùc öùng duïng thuoäc lónh vöïc ñieàu khieån thoâng minh hay xöû lyù döõ lieäu. Maùy quay phim vaø maùy chuïp hình duøng logic môø ñeå chöùa ñöïng söï chuyeân moân cuûa ngöôøi ngheä só nhieáp aûnh. Misubishi thoâng baùo veà chieác xe ñaàu tieân treân theá giôùi duøng logic môø trong ñieàu khieån, cuûng nhö nhieàu haõng cheá taïo xe khaùc cuûa Nhaät duøng logic môø trong moät soá thaønh phaàn. Trong lónh vöïc töï ñoäng hoùa, Omron Corp. coù khoaûng 350 baèng phaùt minh veà logic môø. Ngoaøi ra, logic môø cuõng ñöôïc duøng ñeå toái öu nhieàu quaù trình hoùa hoïc vaø sinh hoïc. 1.1.3. Chaâu AÂu ñuoåi theo Nhaät Naêm naêm troâi qua, caùc toå hôïp Chaâu Aâu nhaän ra raèng mình ñaõ maát moät kyõ thuaät chuû choát vaøo tay ngöôøi Nhaät vaø töø ñoù hoï ñaõ noã löïc hôn trong vieäc duøng logic môø vaøo caùc öùng duïng cuûa mình. Ñeán nay, coù khoaûng 200 saûn phaåm baùn treân thò tröôøng vaø voâ soá öùng duïng trong ñieàu khieån quaù trình – töï ñoäng hoùa duøng logic môø. Töø nhöõng thaønh coâng ñaït ñöôïc, logic môø ñaõ trôû thaønh moät kyõ thuaät thieát keá “chuaån” vaø ñöôïc chaáp nhaän roäng raõi trong coäng ñoàng. 1.1.4. Logic môø ôû Myõ Trong nhöõng naêm gaàn ñaây, logic môø thu ñöôïc nhieàu quan taâm ôû Myõ, nhaát laø trong nhöõng coâng ty caïnh tranh vôùi Chaâu Aâu vaø Chaâu AÙ. Tuy nhieân coù nhieàu tranh caõi veà khaû naêng chieán thaéng cuûa Myõ trong lónh vöïc naøy bôûi nhieàu lyù do. Thöù nhaát, nhöõng öùng duïng ñöôïc thöïc hieän taïi Nhaät laø nhöõng saûn phaåm maø caùc nhaø saûn xuaát cuûa Myõ khoâng caïnh tranh vôùi Nhaät. Cô baûn laø khoâng coù moät nhaø saûn xuaát ñieän töû giaûi trí naøo cuûa Myõ coù maët treân thò tröôøng theá giôùi; vieäc duøng logic môø trong camcorder, camera, hifi chæ laø nhaèm taêng theâm khaû naêng caïnh tranh giöõa caùc coâng ty Nhaät maø thoâi. Ôû Chaâu Aâu, caùc öùng duïng logic môø chuû yeáu taäp trung vaøo töï ñoäng hoùa coâng nghieäp do giaù lao ñoäng cao. Trong caùc lónh vöïc khaùc, nhö laø ngaønh cheá taïo oâtoâ, Myõ phaûi ñoái maët vôùi caùc ñoái thuû ñeán töø Chaâu Aâu vaø Nhaät. Vaø caùc nhaø saûn xuaát Myõ trong lónh vöïc naøy buoäc phaûi duøng kyõ thuaät thieát keá logic môø. Ñieàu naøy taïo ra nhieàu phaân khuùc thò tröôøng cho Myõ, nhö laø duøng logic môø trong caùc heä ra quyeát ñònh, boä nhôù, boä ñieàu khieån ñóa cöùng, cuõng nhö caùc giaûi thuaät neùn duøng cho aâm thanh vaø hình aûnh. Vaø caùc öùng duïng trong truyeàn thoâng nhö loaïi boû tieáng oàn, tìm ñöôøng trong maïng, hay nhaän daïng tieáng noùi cuõng thu ñöôïc nhieàu keát quaû töø logic môø. 1.2. Cô sôû toaùn hoïc cuûa logic môø Logic môø vaø xaùc xuaát thoâng keâ ñeàu noù veà söï khoâng chaén chaén. Tuy nhieân moãi lónh vöïc ñònh nghóa moät khaùi nieäm khaùc nhau veà ñoái töôïng. 1.2.1. Söï khoâng chaéc chaén theo thoáng keâ : lieân quan ñeán söï xuaát hieän cuûa moät söï kieän chaéc chaén. Xeùt phaùt bieåu sau : Xaùc suaát truùng ñích laø 0,8 Baûn thaân cuûa söï kieän naøy (truùng ñích) ñaõ ñöôïc ñònh nghóa roõ raøng. Söï khoâng chaéc chaén ôû ñaây laø coù truùng ñích hay khoâng, vaø ñöôïc ñònh löôïng bôûi möùc ñoä xaùc suaát (trong tröôøng hôïp naøy laø 0,8). Loaïi phaùt bieåu naøy coù theå ñöôïc xöû lyù vaø keát hôïp vôùi caùc phaùt bieåu khaùc baèng phöông phaùp thoáng keâ, nhö laø xaùc suaát coù ñieàu kieän chaúng haïn. 1.2.2. Söï khoâng chaéc chaén trong ngöõ nghóa : lieân quan ñeán ngoân ngöõ cuûa con ngöôøi, töùc laø lieân quan ñeán söï khoâng chính xaùc trong caùc töø ngöõ maø con ngöôøi duøng ñeå öôùc löôïng vaán ñeà vaø ruùt ra keát luaän. Ví duï nhö caùc töø moâ taû nhieät ñoä nhö : “noùng”, “laïnh”, hay “aám” – khoâng coù moät giaù trò chính xaùc ñeå gaùn cho caùc töø naøy – bao nhieâu ñoä laø laïnh : 2°C hay -2°C ? … vaø caùc khaùi nieäm naøy cuõng khaùc nhau ñoái vôùi nhöõng ngöôøi khaùc nhau : ngöôøi naøy laïnh nhöng ngöôøi khaùc thì khoâng. Maëc duø caùc khaùi nieäm khoâng ñöôïc ñònh nghóa chính xaùc nhöng con ngöôøi vaãn coù theå söû duïng chuùng cho caùc öôùc löôïng vaø quyeát ñònh phöùc taïp. Baèng söï tröøu töôïng vaø oùc suy nghó, con ngöôøi coù theå giaûi quyeát caâu noùi mang ngöõ caûnh phöùc taïp maø raát khoù coù theå moâ hình bôûi toaùn hoïc chính xaùc. Xeùt phaùt bieåu : Coù theå chuùng ta seõ thaønh coâng trong naêm hoïc naøy Môùi nhìn qua thì phaùt bieåu naøy raát gioáng phaùt bieåu treân. Tuy nhieân, coù moät soá khaùc bieät quan troïng. Thöù nhaát, baûn thaân söï kieän khoâng ñöôïc ñònh nghóa roõ raøng. Ñoái vôùi moät soá sinh vieân thì naêm hoïc thaønh coâng laø khoâng phaûi hoïc laïi moân naøo. Ñoái vôùi moät soá sinh vieân khaùc thì naêm hoïc thaønh coâng laø soá ñieåm bình quaân naêm nay taêng hôn naêm tröôùc. Nhöng ngay caû trong tröôøng hôïp naøy cuõng khoâng coù moät ngöôõng qui ñònh söï thaønh coâng (taêng hôn bao nhieâu ñieåm ?). Moät khaùc bieät nöõa laø ôû xaùc xuaát : trong khi phaùt bieåu treân moâ taû xaùc suaát theo toaùn hoïc thì phaùt bieåu naøy khoâng coù moät giaù trò ñònh löôïng veà xaùc suaát. 1.2.3. Moâ hình söï khoâng chaéc chaén theo ngöõ vöïng : Nhö ñaõ noùi treân, maëc duø duøng nhöõng phaùt bieåu khoâng mang tính ñònh löôïng nhöng con ngöôøi vaãn coù theå thaønh coâng trong caùc öôùc löôïng phöùc taïp. Trong nhieàu tröôøng hôïp, con ngöôøi duøng söï khoâng chaéc chaén naøy ñeå taêng theâm ñoä linh hoaït. Nhö trong haàu heát xaõ hoäi, heä thoáng luaät phaùp bao goàm moät soá luaät, moãi luaät moâ taû moät tình huoáng. Ví duï moät luaät qui ñònh toäi troäm xe phaûi bò tuø 2 naêm, moät luaät khaùc laïi giaûm nheï traùch nhieäm. Vaø trong moät phieân toøa, chaùnh aùn phaûi quyeát ñònh soá ngaøy phaït tuø cuûa teân troäm döïa treân möùc ñoä röôïu trong ngöôøi, tröôùc ñaây coù tieàn aùn hay tieàn söï khoâng, … töø ñoù keát hôïp laïi ñöa ra moät quyeát ñònh coâng baèng. 1.3. Logic môø laø logic cuûa con ngöôøi Trong thöïc teá, ta khoâng ñònh nghóa moät luaät cho moät tröôøng hôïp maø ñònh nghóa moät soá luaät cho caùc tröôøng hôïp nhaát ñònh. Khi ñoù nhöõng luaät naøy laø nhöõng ñieåm rôøi raïc cuûa moät taäp caùc tröôøng hôïp lieân tuïc vaø con ngöôøi xaáp xæ chuùng. Gaëp moät tình huoáng cuï theå, con ngöôøi seõ keát hôïp nhöõng luaät moâ taû caùc tình huoáng töông töï. Söï xaáp xæ naøy döïa treân söï linh hoaït cuûa caùc töø ngöõ caáu taïo neân luaät, cuõng nhö söï tröøu töôïng vaø söï suy nghó döïa treân söï linh hoaït trong logic cuûa con ngöôøi. Ñeå thöïc thi logic cuûa con ngöôøi trong kyõ thuaät caàn phaûi coù moät moâ hình toaùn hoïc cuûa noù. Töø ñoù logic môø ra ñôøi nhö moät moâ hình toaùn hoïc cho pheùp moâ taû caùc quaù trình quyeát ñònh vaø öôùc löôïng cuûa con ngöôøi theo daïng giaûi thuaät. Dó nhieân cuõng coù giôùi haïn, ñoù laø logic môø khoâng theå baét chöôùc trí töôûng töôïng vaø khaû naêng saùng taïo cuûa con ngöôøi. Tuy nhieân, logic môø cho pheùp ta ruùt ra keát luaän khi gaëp nhöõng tình huoáng khoâng coù moâ taû trong luaät nhöng coù söï töông ñöông. Vì vaäy, neáu ta moâ taû nhöõng mong muoán cuûa mình ñoái vôùi heä thoáng trong nhöõng tröôøng hôïp cuï theå vaøo luaät thì logic môø seõ taïo ra giaûi phaùp döïa treân taát caû nhöõng mong muoán ñoù. 1.4. So saùnh logic môø vôùi lyù thuyeát xaùc suaát thoáng keâ Khoâng theå laøm pheùp so saùnh giöõa hai lónh vöïc naøy bôûi vì söï khoâng chaéc chaén theo thoáng keâ vaø söï khoâng chaéc chaén theo ngöõ vöïng coù baûn chaát khaùc nhau. Moãi lónh vöïc coù moät ñoái töôïng phuïc vuï cuûa rieâng noù, ñöôïc con ngöôøi taïo ra nhaèm phuïc vuï cho muïc ñích cuûa con ngöôøi. 2. caùc khaùi nieäm duøng trong logic môø 2.1. Taäp hôïp môø vaø ñoä phuï thuoäc Neáu nhö con ngöôøi khoâng coù moät giaù trò ngöôõng xaùc ñònh cho “laïnh” hay “noùng” thì laøm sao coù theå öôùc löôïng noù ? Thöïc ra thì ngöôøi ta seõ laøm moät pheùp so saùnh giöõa giaù trò nhieät ñoä hieän taïi vôùi hai giaù trò nhieät ñoä ñöôïc cho laø “raát noùng” vaø “raát laïnh”. Töø keát quaû so saùnh ñoù, con ngöôøi öôùc löôïng ñöôïc möùc ñoä cuûa “noùng” hay “laïnh”. Laøm sao moâ hình hoùa ñieàu naøy theo toaùn hoïc ? Döïa treân lyù thuyeát taäp hôïp, ñaàu tieân ta moâ taû moät taäp caùc nhieät ñoä ñöôïc cho laø “raát noùng”, sau ñoù ñònh nghóa moät haøm phuï thuoác cho pheùp ta xaùc ñònh moät nhieät ñoä naøo ñoù coù thuoäc taäp hôïp naøy hay khoâng. Khaùc vôùi toaùn hoïc coå ñieån – nôi maø haøm phuï thuoäc chæ xaùc ñònh duy nhaát moät phaàn töû coù thuoäc hay khoâng, haøm phuï thuoäc trong logic môø cho pheùp xaùc ñònh moät phaàn töû phuï thuoäc taäp hôïp nhieàu hay ít, töùc laø bieân giôùi giöõa “raát noùng” vaø “raát laïnh” khoâng phaûi laø moät ñöôøng phaân bieät roõ raøng maø laø moät vuøng caùc giaù trò lieân tuïc. Trong hình treân, möùc ñoä xaùm cho pheùp ta thaáy ñöôïc vuøng bieân giôùi naøy vaø cuõng cho thaáy ñoä phuï thuoäc cuûa moät giaù trò nhieät ñoä naøo ñoù. Ñoä phuï thuoäc cuûa moät phaàn töû trong taäp hôïp môø coù giaù trò trong khoaûng [0,1]. Theo hình treân, neáu nhö ta cho raèng 0°C laø “raát laïnh” vaø 100°C laø “raát noùng” thì ñoä phuï thuoäc cuûa giaù trò nhieät ñoä so vôùi taäp “raát noùng” laø : m(0°C) = 0,00 m(15°C) = 0,15 m(37°C) = 0,37 m(60°C) = 0,60 m(72°C) = 0,72 m(87°C) = 0,87 m(100°C) = 1,00 2.2. Haøm phuï thuoäc Möùc ñoä cuûa moät giaù trò vaät lyù thoûa maõn moät khaùi nieäm ngoân ngöõ ñöôïc goïi laø ñoä phuï thuoäc. Ñoái vôùi bieán lieân tuïc, möùc ñoä naøy ñöôïc bieåu dieãn bôûi moät haøm goïi laø haøm phuï thuoäc. Haøm naøy aùnh xaï taäp caùc giaù trò vaät lyù thaønh taäp caùc giaù trò phuï thuoäc ñoái vôùi caùc giaù trò ngoân ngöõ. Bieán vaät lyù ñöôïc goïi laø bieán neàn vaø taäp caùc giaù trò vaät lyù ñöôïc goïi laø taäp neàn. Thoâng thöôøng ngöôøi ta veõ nhieàu haøm phuï thuoäc treân cuøng moät bieåu ñoà döïa treân taäp neàn ñaõ qui ñònh. Ví duï haøm phuï thuoäc cho caùc nhieät ñoä noùi treân : Taäp hôïp môø laø söï toång quaùt hoùa cuûa taäp hôïp coå ñieån, trong ñoù m = 0 vaø m = 1 cuûa haøm phuï thuoäc coå ñieån chæ laø moät tröôøng hôïp ñaëc bieät cuûa haøm phuï thuoäc trong taäp hôïp môø. Vieäc duøng caùc taäp hôïp môø ñöôïc ñònh nghóa bôûi caùc haøm phuï thuoäc trong bieåu thöùc logic ñöôïc goïi laø logic môø. Ví duï nhö bieåu thöùc “nhieät ñoä raát noùng” ñoái vôùi giaù trò 85°C seõ cho keát quaû laø true vôùi möùc ñoä phuï thuoäc baèng 0,85. 2.3. Bieán ngoân ngöõ Laø phaàn chuû ñaïo trong caùc heä thoáng duøng logic môø. Ôû ñaây, caùc thaønh phaàn ngoân ngöõ moâ taû cuøng moät ngöõ caûnh ñöôïc keát hôïp laïi. Ví duï nhö trong tröôøng hôïp moâ taû nhieät ñoä noùi treân, khoâng chæ coù “raát noùng” maø coøn “hôi noùng”, “trung bình”, “hôi laïnh” vaø “raát laïnh” ñeàu moâ taû nhieät ñoä. Chuùng ñöôïc goïi laø caùc taäp ngoân ngöõ, mang moät khoaûng giaù trò naøo ñoù cuûa bieán ngoân ngöõ vaø ñöôïc veõ treân cuøng moät ñoà thò : 2.4. Luaät môø Caùc luaät trong heä logic môø moâ taû tri thöùc cuûa heä. Chuùng duøng caùc bieán ngoân ngöõ nhö laø töø vuïng ñeå moâ taû caùc taàng ñieàu khieån trong heä. Vieäc giaûi thích caùc luaät môø cuõng laø vieäc trình baøy caùch tính caùc khaùi nieäm ngoân ngöõ. 3. Tính toaùn môø Baogoàm ba böôùc chính nhö sau : 3.1. Môø hoùa Môø hoùa coù nghóa laø duøng nhöõng haøm phuï thuoäc cuûa caùc bieán ngoân ngöõ ñeå tính möùc ñoä phuï thuoäc cho töøng taäp môø ñoái vôùi moät giaù trò cuï theå cuûa ñaàu vaøo. Ví duï nhieät ñoä hieän taïi ño ñöôïc laø 80°C thì keát quaû cuûa pheùp môø hoùa laø : Raát laïnh coù ñoä phuï thuoäc baèng 0,00. Hôi laïnh coù ñoä phuï thuoäc baèng 0,00. Trung bình coù ñoä phuï thuoäc baèng 0,00. Hôi noùng coù ñoä phuï thuoäc baèng 0,20. Raát noùng coù ñoä phuï thuoäc baèng 0,80. Veà maët ngoân ngöõ, nhieät ñoä laø 80°C ñöôïc xem nhö laø haàu nhö raát noùng, chæ moät ít hôi noùng. Môø hoùa laø böôùc ñaàu tieân trong quaù trình tính toaùn cuûa heä môø. Keát quaû cuûa noù ñöôïc duøng laøm ñaàu vaøo ñeå tính caùc luaät môø. 3.2. Tính luaät môø Haàu heát caùc heä thoáng hoaït ñoäng döïa treân neàn taûng logic môø ñeàu duøng luaät ñeå bieåu dieãn moái quan heä giöõa caùc bieán ngoân ngöõ vaø ñeå ruùt ra haønh ñoäng töông öùng ñoái vôùi ñaàu vaøo. Moät luaät bao goàm hai phaàn : phaàn ñieàu kieän (phaàn If) vaø phaàn keát luaän (phaàn Then). Phaàn ñieàu kieän coù theå goàm nhieàu ñieàu kieän, keát hôïp vôùi nhau baèng caùc lieân töø nhö And, Or. Cho raèng chuùng ta duøng quaït maùy ñeå ñieàu hoøa nhieät ñoä. Quaït naøy coù 5 nuùt baám ñaùnh soá töø 1 ñeán 5 töông öùng toác ñoä quaït taêng daàn. Theá thì ta coù nhöõng luaät : If nhieät ñoä = raát laïnh Then nuùt baám = 1 If nhieät ñoä = hôi laïnh Then nuùt baám = 2 If nhieät ñoä = trung bình Then nuùt baám = 3 If nhieät ñoä = hôi noùng Then nuùt baám = 4 If nhieät ñoä = raát noùng Then nuùt baám = 5 Phaàn If trong ví duï naøy chæ coù moät ñieàu kieän, baây giôø giaû söû nhö ta ño ñöôïc söï thay ñoåi nhieät ñoä vaø chia laøm ba taäp môø nhö : ñang giaûm, khoâng thay ñoåi, ñang taêng thì coù theå coù caùc luaät nhö : If nhieät ñoä = raát laïnh And thay ñoåi = ñang giaûm Then nuùt baám = 1 If nhieät ñoä = raát laïnh And thay ñoåi = khoâng thay ñoåi Then nuùt baám = 1 If nhieät ñoä = raát laïnh And thay ñoåi = ñang taêng Then nuùt baám = 2 If nhieät ñoä = hôi laïnh And thay ñoåi = ñang giaûm Then nuùt baám = 1 If nhieät ñoä = hôi laïnh And thay ñoåi = khoâng thay ñoåi Then nuùt baám = 2 … 3.3. Suy luaän môø Vieäc tính toaùn caùc luaät môø ñöôïc goïi laø suy luaän môø, bao goàm hai böôùc chính. 3.3.1. Tính töøng luaät : xeùt rieâng reõ töøng luaät môø, döïa treân ñoä phuï thuoäc cuûa caùc taäp môø ñaàu vaøo vaø lieân töø keát hôïp chuùng ñeå taïo ra ñoä phuï thuoäc chung cho caùc ñaàu vaøo, vaø cuõng laø keát quaû cuûa rieâng luaät ñoù. Xeùt luaät sau : If nhieät ñoä = raát laïnh And thay ñoåi = ñang giaûm Then nuùt baám = 1 Cho raèng raát laïnh coù ñoä phuï thuoäc laø 0,6 vaø ñang giaûm coù ñoä phuï thuoäc laø 0,4. Lieân töø ñang söû duïng laø AND vaø duøng pheùp laáy min cho noù thì ñoä phuï thuoäc chung cuûa ñaàu vaøo cho luaät naøy laø min(0,6;0,4) = 0,4. Vaäy taäp môø ra nuùt baám coù ñoä phuï thuoäc laø 0,4. Thoâng thöôøng ngöôøi ta tính AND baèng pheùp laáy min vaø OR baèng pheùp laáy max, ñieàu naøy nhaèm laøm giaûn ñôn caùc pheùp tính trong caùc öùng duïng ñieàu khieån nhoû. Toång quaùt hoùa thì ta coù caùc toaùn töû sau ñaây ñeå bieåu dieãn moái quan heä giöõa caùc ñieàu kieän trong phaàn IF : Min – Max : Min – Avg : Gamma : Tuøy theo giaù trò cuûa g hay l maø ta coù caùc tröôøng hôïp ñaëc bieät sau : Min-Max, l = 0 : MIN laáy nhoû nhaát (minimum), töông öùng vôùi AND, Min-Max, l = 1 : MAX laáy lôùn nhaát (maximum), töông öùng vôùi OR. Min-Avg, l = 1 : AVG laáy trung bình (average). Gamma, g = 0 : PROD laáy tích (product). 3.3.2. Toång hôïp luaät döïa treân keát quaû cuûa töøng luaät ñaõ tính ôû treân, ngöôøi ta toång hôïp chuùng laïi ñeå coù keát quaû cuoái cuøng cuûa caùc taäp môø ñaàu ra. Phöông phaùp thöôøng duøng trong böôùc naøy laø Max-Min hay Max-Prod. Ví duï coù hai luaät ñaõ tính keát quaû : If nhieät ñoä = raát laïnh And thay ñoåi = ñang giaûm Then nuùt baám = 1 If nhieät ñoä = raát laïnh And thay ñoåi = khoâng thay ñoåi Then nuùt baám = 1 Luaät thöù nhaát cho keát quaû coù ñoä phuï thuoäc baèng 0,4 vaø luaät thöù hai cho keát quaû coù ñoä phuï thuoäc baèng 0,6. Söû duïng phöông phaùp Max-Min (hay Max-Prod), ta coù ñoä phuï thuoäc cho taäp môø 1 cuûa nuùt baám laø max(0,4;0,6) = 0,6. Moät khi ñaõ tính xong caùc luaät, ngöôøi ta tieán haønh giaûi môø ñeå taïo ra keát quaû phuø hôïp vôùi theá giôùi thöïc. 3.4. Giaûi môø Keát quaû ñöôïc taïo thaønh sau khi tính toaùn caùc luaät vaãn coøn ôû daïng môø vaø thieát bò chaáp haønh cuûa boä ñieàu khieån thì laïi khoâng hieåu nhöõng giaù trò nhö theá. Do ñoù, ngöôøi ta caàn chuyeån ñoåi nhöõng giaù trò môø ñoù thaønh giaù trò roõ cho thieát bò chaáp haønh. m z z* Coù nhieàu phöông phaùp ñöôïc duøng trong böôùc naøy : Nguyeân lyù cöïc ñaïi : hay coøn goïi laø phöông phaùp ñoä cao, chæ duøng cho loaïi taäp môø ra coù ñænh nhoïn, ñöôïc bieåu dieãn qua bieåu thöùc m(z*) ³ m(z), "z Î Z Trong tröôøng hôïp coù nhieàu ñænh nhoïn hay giaù trò cöïc ñaïi khoâng phaûi laø moät ñieåm duy nhaát thì ngöôøi ta söû duïng : m z z1 z2 z z2 z1 Trung bình caùc cöïc ñaïi (MoM): Cöïc ñaïi ñaàu tieân (LoM): z* = z1 Cöïc ñaïi cuoái cuøng (RoM): z* = z2 m z z* Phöông phaùp troïng taâm (CoG – Center of Gravity hay CoA – Center of Area) : thöôøng duøng trong caùc öùng duïng, ñöôïc bieåu dieãn qua bieåu thöùc m z z1 z2 z3 m2 m3 m1 Phöông phaùp trung bình theo troïng soá (CoM – Center of Maximum) : laø moät bieán daïng cuûa phöông phaùp troïng taâm khi thay daáu tích phaân baèng daáu sigma, ñöôïc duøng nhaèm ñôn giaûn hoùa söï tính toaùn, phuø hôïp vôùi caùc ñieàu khieån nhoû. Caùc taäp môø ra coù daïng singleton : m z z1 z2 Caùc taäp môø ra khoâng coù daïng ñænh, nhöng ñoái xöùng : Phöông phaùp troïng taâm dieän tích lôùn nhaát : tính theo phöông phaùp troïng taâm nhöng aùp duïng trong tröôøng hôïp coù ít nhaát vuøng treân taäp neàn ra, tính treân vuøng coù dieän tích lôùn nhaát. Coù raát nhieàu phöông phaùp giaûi môø (hieän coøn ñang tieáp tuïc nghieân cöùu), tuy nhieân trong thöïc teá thöôøng chæ duøng phöông phaùp troïng taâm, trung bình theo troïng soá hay trung bình caùc cöïc ñaïi. Phöông phaùp troïng taâm hay phöông phaùp trung bình theo troïng soá cho keát quaû mang tính chaát thoûa hieäp caùc taäp môø ra, thöôøng duøng trong caùc öùng duïng ñieàu khieån. Trong khi phöông phaùp trung bình caùc cöïc ñaïi cho keát quaû mang tính dung hoøa caùc taäp môø ra, thöôøng duøng trong caùc öùng duïng nhaän daïng vaø phaân loaïi. 2 maïng neuron 1. Sô löôïc veà maïng neuron 1.1. Quaù trình phaùt trieån Maïng neuron ñöôïc xem nhö moät moâ hình toaùn hoïc ñôn giaûn cuûa boä naõo con ngöôøi, coù chöùc naêng xöû lyù song song. Traùi vôùi maùy tính hoaït ñoäng döïa treân chöông trình do con ngöôøi vieát saün, maïng neuron hoaït ñoäng döïa treân nhöõng gì con ngöôøi daïy noù tröôùc ñoù. Maïng neuron coù theå hoïc caùc keát hôïp môùi, caùc chöùc naêng môùi hay nhaän bieát caùc maãu môùi. Maëc duø maùy tính coù theå thöïc hieän nhöõng vieäc hieän taïi vôùi ñoä chính xaùc vaø toác ñoä cao, nhöng maïng neuron höùa heïn moät theá môùi trong lónh vöïc xöû lyù thoâng tin. Quaù trình nghieân cöùu maïng neuron baét ñaàu khoaûng hôn 50 naêm tröôùc, ñaàu tieân laø McCulloch & Pitts (1943), roài ñeán Hebb qua coâng trình noåi tieáng Toå chöùc cuûa haønh vi (1949). Tuy nhieân, buoåi ban ñaàu cuûa trí tueä nhaân taïo khoâng suoân seû moät chuùt naøo. ÔÛ ñaây coù söï chia reõ giöõa nhöõng ngöôøi tin raèng caùc heä thoâng minh coù theå thöïc hieän toát nhöõng gì ñang ñöôïc thöïc hieän treân maùy tính vaø nhöõng ngöôøi nhö Minsky vaø Papert (1969) tin raèng söï thoâng minh ñöôïc xöû lyù toát treân maùy von Neumann. Vì nhieàu lyù do khaùc nhau, nhaùnh thöù hai chieám öu theá trong thaäp kyû 70. Nhöng ñeán thaäp kyû 80 thì öu theá thuoäc veà nhaùnh thöù nhaát vôùi söï taùi sinh cuûa maïng neuron : 1982 Hopfield ñöa ra neàn taûng toaùn hoïc ñeå coù theå hieåu caùc lôùp quan troïng cuûa maïng. 1984 Kohonen phaùt trieån maïng hoïc khoâng giaùm saùt ñeå aùnh xaï ñaëc ñieåm thaønh maûng caùc neuron. 1986 Rumelhart & McClelland giôùi thieäu giaûi thuaät hoïc theo caùch truyeàn ngöôïc duøng cho maïng ña taàng, phöùc taïp. Keå töø naêm 1986-86, nhieàu chöông trình nghieân cöùu maïng neuron ñöôïc ra ñôøi. Danh saùch caùc öùng duïng ñöôïc xöû lyù baèng maïng neuron cuõng trôû neân daøi ra, töø nhöõng ví duï mang tính kieåm tra cho ñeán nhöõng vaán ñeà thöïc tieãn lôùn. 1.2. Maïng neuron laø gì ? Ñònh nghóa : heä neuron nhaân taïo, hoaëc maïng neuron, laø heä vaät lyù coù theå thu nhaän, löu tröõ vaø söû duïng tri thöùc cuûa con ngöôøi. Söï phaùt trieån cuûa caùc coâng trình nghieân cöùu veà tính toaùn theo moâ hình maïng neuron ñaõ ñöôïc thuùc ñaåy baèng söï nhaän ñònh laø trí oùc con ngöôøi tính toaùn theo caùch khaùc haún so vôùi maùy tính. Töø ñoù con ngöôøi ñöa ra maïng neuron nhaèm hieåu nhöõng lôøi giaûi cuûa trí oùc veà caùc lónh vöïc nhö nhaän daïng hình aûnh, tieáng noùi vaø aùp duïng nhöõng lónh vöïc ñoù vaøo maùy tính. Sau nhieàu nghieân cöùu, ngöôøi ta ñöa ra nhaän xeùt sau : - Ñieàu quan troïng chính laø caùch xöû lyù song song chöù khoâng phaûi toác ñoä tính toaùn cuûa boä naõo. - Maëc duø chöa hieåu caùch moâ taû caùc yù töôûng cuûa boä naõo neân chöa theå baét chöôùc hoaøn toaøn, nhöng ta coù theå thaáy raèng boä naõo söû duïng nhöõng phaàn töû tính toaùn coù toác ñoä chaäm nhöng ñöôïc lieân keát vôùi nhau. 1.3. Caáu truùc cuûa naõo Hieän taïi, ngöôøi ta vaãn chöa theå hieåu “taâm trí laø gì ?” vaø “söï suy nghó baét nguoàn töø ñaâu ?”. Tuy vaäy, ta vaãn coù theå hieåu caùc hoaït ñoäng cuûa boä naõo ôû caáp thaáp : Boä naõo con ngöôøi chöùa khoaûng 1010 phaàn töû cô baûn goïi laø neuron. Moãi neuron ñöôïc keát noái vôùi khoaûng 104 neuron khaùc. Qua ñoù, boä naõo laø moät caáu truùc coù naêng suaát cao maëc duø neuron laø phaàn töû tính toaùn raát chaäm so vôùi caùc coång logic silicon : trong IC söï kieän xaûy ra vôùi tyû leä 10-10 giaây trong khi söï kieän xaûy ra treân neuron theo tyû leä 10-3 giaây. Söï hoaït ñoäng cuûa heä thaàn kinh ñöôïc chia thaønh 3 giai ñoaïn : - Con ngöôøi nhaän ñöôïc kích thích töø beân ngoaøi thoâng qua caùc giaùc quan. Söï kích thích naøy ñöôïc chuyeån ñoåi thaønh xung ñieän vaø ñöôïc chuyeån ñeán naõo. - Boä naõo lieân tuïc thu nhaän thoâng tin, xöû lyù, ñaùnh giaù vaø so saùnh chuùng vôùi nhöõng thoâng tin ñang löu tröõ ñeå taïo ra caùc quyeát ñònh thích ñaùng. - Nhöõng meänh leänh ñöa ra sau khi boä naõo xöû lyù ñöôïc truyeàn ñeán caùc boä phaän chaáp haønh nhö tay chaân cho haønh ñoäng hay löôõi cho tieáng noùi … döôùi daïng xung ñieän. Boä phaän thi haønh bieán ñoåi xung ñieän ñöa ñeán thaønh haønh ñoäng. Neuron laø phaàn töû cô baûn cuûa naõo, coù khaû naêng hoaït ñoäng töông töï moät ñôn vò logic cuûa maùy tính, ñöôïc chia laøm 2 loaïi : - Neuron vaøo ra cuïc boä, caùch nhau khoaûng 100 micron (1 micron = 10-3mm) - Neuron ra keát noái vôùi caùc vuøng khaùc cuûa naõo, nhö keát noái naõo vôùi baép thòt hay keát noái caùc giaùc quan vôùi naõo. Trong quaù trình hoaït ñoäng, neuron nhaän ñöôïc nhieàu thoâng tin, vaø nhöõng thoâng tin naøy ñöôïc coäng laïi vôùi nhau theo moät hình thöùc naøo ñoù. Synapse kích thích Synapse haïn cheá Dendrite soma Maëc duø caùc neuron coù hình daïng vaø kích thöôùc khaùc nhau nhöng veà caên baûn, coù theå chia thaønh 3 phaàn : - Theå soma cuûa neuron. - Baùm soma laø nhöõng sôïi nhoû goïi laø dendrite, hoaït ñoäng nhö laø caàu noái vôùi caùc neuron, duøng laøm keânh vaøo cuûa neuron. - Moät loaïi daây thaàn kinh khaùc cuõng noái vôùi soma laø axon coù baûn chaát daãn ñieän, ñöôïc duøng nhö keânh ra cuûa neuron. Moãi neuron chæ coù moät axon. Moãi neuron coù moät möùc kích hoaït, naèm trong taàm giöõa giaù trò lôùn nhaát vaø giaù trò nhoû nhaát, traùi vôùi logic Boolean chæ coù toàn taïi hai giaù trò. Vieäc gia taêng hay giaûm möùc kích hoaït cuûa neuron naøy ñoái vôùi neuron khaùc ñöôïc thöïc hieän thoâng qua caùc synapse baùm treân dendrite. Neáu laø synapse kích thích, möùc kích hoaït töø neron göûi laøm gia taêng möùc kích hoaït cuûa neuron nhaän. Coøn neáu laø synapse haïn cheá thì möùc kích hoaït töø neuron göûi seõ laûm giaûm möùc kích hoaït cuûa neuron nhaän. Möùc kích hoaït taïi neuron nhaän ñaït ñeán moät giaù trò ngöôøng naøo ñoù seõ kích thích ñaàu ra, truyeàn treân axon ñeán caùc neuron khaùc, cuoái axon coù khoaûng 10000 synapse. Caùc synapse khoâng chæ khaùc nhau ôû taùc duïng kích thích hay haïn cheá maø coøn khaùc nhau ôû möùc kích hoaït. 1.3.1 Hoïc hoûi trong heä thoáng sinh vaät Axon laø moät thieát bò phi tuyeán taïo ra xung ñieän aùp ñöôïc goïi laø theá naêng kích hoaït, toàn taïi trong khoaûng 10-3 giaây. Theá naêng naøy ñöôïc taïo ra khi theá nghó beân trong soma vöôït qua moät ngöôõng giôùi haïn coá ñònh naøo ñoù. Cuoái axon laø caùc synapse keát noái axon vôùi dendrite cuûa nhöõng neuron khaùc. Söï keát noái naøy mang tính taïm thôøi vaø laø söï keát noái hoùa hoïc. Synapse thaûi ra chaát hoùa hoïc goïi laø neurotransmitter neáu theá cuûa noù leân cao bôûi axon taïo ra theá naêng kích hoaït. Chaát hoùa hoïc naøy phaân taùn qua khe hôû giöõa axon vaø dendrite, laøm hoaït hoùa nhöõng coång treân dendrite. Tuøy theo möùc ñoä hoaït hoùa maø nhöõng coång naøy coù theå ñöôïc môû hay khoâng. Trong tröôøng nhöõng coång naøy ñöôïc môû thì caùc ion ñöôïc naïp seõ di chuyeån vaøo dendrite vaø laøm cho theá naêng cuûa dendrite thay ñoåi thoâng qua vieäc cung caáp moät ñieän theá cho dendrite. Töø dendrite theá naêng ñöôïc truyeàn vaøo soma cuûa neuron nhaän. Hoïc hoûi trong heä thoáng sinh vaät ñöôïc hieåu laø söï thay ñoåi hoùa hoïc xaûy ra ôû ñieåm noái synapse giöõa neuron naøy vôùi neuron khaùc. Söï thay ñoåi laøm môû coång treân dendrite cuûa neuron nhaän. 2. Moâ hình hoùa neuron Tri thöùc theå hieän döôùi daïng caùc traïng thaùi oån ñònh hay caùc aùnh xaï ñöôïc nhuùng vaøo maïng, coù theå goïi laïi sau ñoù ñeå ñaùp öùng vôùi moät tình huoáng cuï theå. Phaàn töû cô baûn cuûa maïng neuron ñöôïc goïi laø neuron nhaân taïo, hay ñôn giaûn laø neuron hay node. 2.1. Yeâu caàu khi laäp moâ hình moät neuron Coâng vieäc cô baûn cuûa moät neuron nhaân taïo laø coäng caùc möùc kích hoaït ôû ñaàu vaøo roài taïo moät möùc taùc ñoäng ôû ñaàu ra neáu toång caùc möùc kích hoaït ôû ñaàu vaøo lôùn hôn moät giaù trò ngöôõng naøo ñoù. Moâ hình neuron khi taïo ra phaûi coù nhöõng ñaëc ñieåm cô baûn ñoù : - Tín hieäu ra cuûa neuron laø coù hay khoâng (on hay off). - Tín hieäu ra naøy chæ phuï thuoäc caùc tín hieäu vaøo maø thoâi. 2.2. Laäp moâ hình neuron Töø nhöõng yeâu caàu ñoù, ta thaáy raèng ñôn vò xöû lyù do ta laäp ra goàm coù : - Möùc kích hoaït (ñaïi dieän cho traïng thaùi phaân cöïc cuûa neuron). - Giaù trò ra (ñaïi dieän cho möùc taùc ñoäng cuûa neuron). - Taäp caùc keát noái vaøo (ñaïi dieän cho caùc synapse vaø dendrite). - Giaù trò phaân cöïc (ñaïi dieän cho möùc nghæ cuûa neuron). - Taäp caùc keát noái ra (ñaïi dieän cho keát noái cuûa axon). Caùc giaù trò treân ñöôïc bieåu dieãn theo toaùn hoïc baèng caùc soá thöïc. Coù khaù nhieàu moâ hình toaùn hoïc cho neuron. ÔÛ ñaây trình baøy moâ hình thoâng duïng nhaát, duøng moät haøm truyeàn keát noái caùc ñaàu vaøo ñeå taïo ñaàu ra : Ñaàu vaøo Ñaàu ra Haøm truyeàn Haøm taùc ñoäng f Y - Phöông tieän keát noái laø toång coù troïng soá, trong ñoù troïng soá ñaïi dieän cho ñoä maïnh yeáu cuûa synapse. - Synapse kích thích coù troïng soá döông vaø synapse haïn cheá coù troïng soá aâm. - Giaù trò ngöôõng q ñöôïc theâm vaøo ñeå bieåu dieãn möùc ñoä kích hoaït cuûa neuron. Doøng tín hieäu töø ñaàu vaøo xi ñöôïc xem nhö doøng moät chieàu ñöôïc bieåu dieãn bôûi muõi teân. Tín hieäu ra ñöôïc cho theo quan heä : vôùi w = (w1, w2, …, wn)T Î Rn laø vector troïng soá. Haøm f(wTx) ñöôïc goïi laø haøm kích hoaït hay haøm truyeàn. q y w1 wn x1 xn 0 y w1 wn x1 xn -1 q . . . . . . Trong bieåu thöùc coù ñeà caäp ñeán giaù trò ngöôõng q nhö laø moät giaù trò ñaùnh giaù söï keát hôïp cuûa caùc möùc kích hoaït ôû ñaàu vaøo. Hoaøn toaøn coù theå chuyeån giaù trò ngöôõng q vaøo tích voâ höôùng wx baèng caùch xem noù nhö moät ñaàu vaøo coù troïng soá baèng –1. w1x1 + . . . + wnxn > q Û w1x1 + . . . + wnxn + (-1). q > 0 ñoù laø lyù do taïi sao thöôøng ngöôøi ta cho giaù trò ngöôõng baèng 0 trong bieåu thöùc. Haøm kích hoaït coù theå laø tuyeán tính hay baùn tuyeán tính nhö : Tuyeán tính f() = wTx 1 neáu > 1 Tuyeán tính töøng phaàn f() = neáu £ 1 -1 neáu < -1 Giôùi haïn chaët f() = sign(wTx) Daïng chöõ S ñôn cöïc f() = Daïng chöõ S löôõng cöïc (1) f() = tanh(wTx) Daïng chöõ S löôõng cöïc (2) f() = 3. Hoïc hoûi trong maïng neuron Ñònh nghóa : hoïc hoûi laø moät quaù trình trong ñoù caùc thoâng soá töï do ñöôïc ñieàu chænh lieân tuïc bôûi caùc kích thích beân ngoaøi. Nhö trong ñònh nghóa ñaõ ñeà ra, vieäc hoïc hoûi ñöôïc döïa treân nhöõng kích thích beân ngoaøi neân tröôùc khi cho maïng neuron hoaït ñoäng, ta caàn phaûi coù moät taäp döõ lieäu ñeå daïy cho noù. Sau quaù trình naøy, maïng neuron ñaõ saún saøng hoaït ñoäng vaø khoâng hoïc nöõa ñeå ñaûm baûo cho maïng neuron khoâng rôi vaøo traïng thaùi baát oån ñònh. Xeùt thí nghieäm Pavlov treân choù : Khi ñem thöùc aên ñaët tröôùc choù, noù tieát nöôùc boït. Tuy nhieân khi nghe chuoâng reo thì noù khoâng tieát nöôùc boït nhöng coù phaûn öùng nhö ngoùc ñaàu leân nhìn chaúng haïn. Ñieàu naøy cho thaáy chuoâng vaø thöùc aên khoâng coù moái lieân keát, nhöng chuùng ñeàu coù moái lieân keát ñeán boä naõo cuûa choù. Sau ñoù, moãi laàn Pavlov cho choù aên, oâng ñeàu ñeå chuoâng reng. Ñeán moät luùc naøo ñoù, khi nghe reng chuoâng choù cuõng tieát nöôùc boït maëc duø khoâng coù thöùc aên. Veà maët sinh hoïc, ngöôøi ta goïi ñaây laø phaûn xaï coù ñieàu kieän, töùc laø ban ñaàu sinh vaät khoâng coù phaûn xaï thì qua quaù trình reøn luyeän vaät trôû neân coù phaûn xaï. Xeùt veà caùch thöùc beân trong neuron thì ta thaáy raèng caùc kích thích ñeàu keát noái ñeán haønh vi. Tuy nhieân, moãi keát noái coù moät troïng soá cuûa noù vaø tuøy theo giaù trò cuûa troïng soá naøy maø kích thích ñoù coù taïo ra haønh vi hay khoâng. Nhö ôû ví duï Pavlov, troïng soá cuûa kích thích chuoâng reng ñoái vôùi haønh vi tieát nöôùc boït ôû choù laø nhoû, khoâng theå taïo ra haønh vi. Quaù trình reøn luyeän ñaõ laøm cho troïng soá naøy taêng leân neân sau ñoù noù ñuû söùc ñeå taïo ra haønh vi. Chuoâng reng Ö Ö Tieát nöôùc boït w1 w2 Thöùc aên Chuoâng reng Ö Tieát nöôùc boït w1 w2 Thöùc aên Chuoâng reng Ö Ö Tieát nöôùc boït w1 w2 Thöùc aên Chuoâng reng Ö Ö Tieát nöôùc boït w1 w2 Thöùc aên Tröôùc khi hoïc Sau khi hoïc Ñònh luaät Hebb : gia taêng troïng soá cuûa kích thích neáu muoán ñaàu ra cuûa neuron trôû neân taùc ñoäng ñoái vôùi kích thích. Ngöôïc laïi, giaûm troïng soá cuûa kích thích neáu khoâng muoán ñaàu ra cuûa neuron taùc ñoäng ñoái vôùi kích thích ñoù. ñònh luaät Hebb naøy laø tieàn ñeà cho taát caû caùc giaûi thuaät hoïc sau naøy. Ñoái vôùi moâ hình neuron, xeùt ví duï : Giaû söû coù hai ñaàu vaøo Boolean x1, x2 Î [0,1] vaø moät ñaàu ra Boolean y Î [0,1]. Phöông trình moâ taû neuron : y(x1,x2) = 1 neáu w1x1 + w2x2 ³ q 0 tröôøng hôïp coøn laïi Giaû söû ta muoán neuron naøy hoaït ñoäng nhö moät coång AND. Theá thì taäp huaán luyeän ñöôïc cho theo daïng caùc caëp vaøo/ra nhö sau : x1 x2 y(x1,x2) = x1 L x2 1. 1 1 1 2. 1 0 0 3. 0 1 0 4. 0 0 0 Vaán ñeà hoïc ôû ñaây laøø tìm troïng soá w1, w2 vaø giaù trò ngöôõng q thích hôïp nhaèm taïo ra keát quaû theo yeâu caàu. Roõ raøng w1 = w2 =1/2 vaø q = 0,6 laø giaù trò caàn tìm : y(x1,x2) = 1 neáu x1/2 + x2/2 ³ 0,6 0 tröôøng hôïp coøn laïi ñaàu ra chæ taùc ñoäng khi caû hai ñaàu vaøo ñeàu laø 1. Ñoái vôùi ví duï treân, vieäc tìm ra troïng soá vaø giaù trò ngöôõng ñöôïc nhìn thaáy deã daøng. Tuy nhieân, caàn phaûi tìm ra caùc giaûi thuaät ñeå vieäc hoïc coù theå thöïc hieän ñöôïc treân maùy tính. Haàu heát caùc giaûi thuaät hoïc ñeàu döïa treân sai leäch giöõa keát quaû thöïc hieän bôûi maïng neuron vôùi keát quaû mong muoán. Ñoù laø moät quaù trình söûa sai theo giaûi thuaät toång quaùt goïi laø lan truyeàn ngöôïc sai leäch. Coù theå phaùt bieåu nhö sau : Trong quaù trình hoïc, giaù trò ñaàu vaøo ñöôïc ñöa vaøo maïng vaø theo doøng chaûy trong maïng taïo thaønh giaù trò ôû ñaàu ra. Tieáp ñeán laø quaù trình so saùnh giaù trò taïo ra bôûi maïng neuron vôùi giaù trò ra mong muoán. Neáu hai giaù trò naøy gioáng nhau thì khoâng thay ñoåi gì caû. Tuy nhieân, neáu coù moät sai leäch giöõa hai giaù trò naøy thì ñi ngöôïc maïng töø ñaàu ra veå ñaàu vaøo ñeå thay ñoãi moät soá keát noái. Ñaây laø moät quaù trình laëp lieân tuïc vaø coù theå khoâng döøng khi khoâng theå tìm caùc giaù trò w sao cho ñaàu ra taïo bôûi maïng neuron baèng ñuùng ñaàu ra mong muoán. Do ñoù trong thöïc teá ngöôøi ta phaûi thieát laäp tieâu chuaån döøng döïa treân moät giaù trò sai soá naøo ñoù cuûa hai giaù trò naøy, hay döïa treân moät soá laàn laëp xaùc ñònh. Ñeå tieän cho vieäc trình baøy, ta kyù hieäu o laø giaù trò ra cuûa maïng neuron, y laø giaù trò ra mong muoán, e laø sai leäch giöõa hai giaù trò naøy : e = y – o 4. Giaûi thuaät hoïc perceptron Luaät hoïc perceptron ñöôïc Frank Rosenblatt ñöa ra vaøo cuoái naêm 1950 laø moät tieâu bieåu cho nguyeân lyù söûa sai theo giaûi thuaät lan truyeàn ngöôïc sai leäch. Luaät hoïc naøy döïa treân moâ hình perceptron chæ goàm moät neuron duy nhaát, duøng haøm ngöôõng tuyeán tính laøm haøm truyeàn neân ñöôïc duøng cho vieäc nhaän daïng vaø phaân ñoái töôïng thaønh hai loaïi maø thoâi. 4.1. Moâ taû giaûi thuaät Cho tröôùc taäp caùc caëp giaù trò vaøo ra : x1 x2 xn w1 w2 wn . . . o Ñaàu vaøo Ñaàu ra 1. y1 2. y2 . . . K. yK Vaán ñeà laø tìm vector troïng soá w nhö laø : o(x) = sign() = y cho taát caû caùc maãu trong taäp huaán luyeän Haøm kích hoaït ñöôïc duøng laø haøm ngöôõng tuyeán tính, cho döôùi daïng : o(x) = 1 neáu ³ 0 0 neáu < 0 Phöông phaùp hoïc theo perceptron ñöôïc thöïc hieän baèng caùch thay ñoåi w theo : w = w + h(y-o)x, h > 0 laø heä soá hoïc Töø phöông trình naøy ta thaáy raèng giaù trò ra cuûa maïng neuron baèng giaù trò ra mong muoán, o = y, khi w khoâng thay ñoåi. Khi ñoù quaù trình hoïc keát thuùc. 4.2 Phaân loaïi vôùi moâ hình perceptron Cuõng cho taäp döõ lieäu : Maãu soá Giaù trò ñaàu vaøo Ñaàu ra mong muoán 1. y1 2. y2 . . . K. yK Ta phaân caùc maãu döõ lieäu naøy thaønh hai lôùp khaùc nhau : C1 = {xk/yk = 1} C2 = {xk/yk = 0} töùc laø x thuoäc veà C1 neáu toàn taïi (x,1) vaø x thuoäc veà C2 neáu toàn taïi (x,0). Theo ñònh nghóa cuûa haøm kích hoaït, deã thaáy raèng ta ñang ñi tìm vector troïng soá w sao cho : > 0 cho x Î C1 vaø < 0 cho x Î C2 Neáu toàn taïi nhöõng vector w nhö vaäy thì ta goïi baøi toaùn naøy goïi laø khaû taùch tuyeán tính. Neáu baøi toaùn ñang laø khaû taùch tuyeán tính thì chuùng ta coù theå dòch chuyeån ñöôøng phaân taùch veà goác toïa ñoä : Cuoái cuøng baøi toaùn trôû thaønh tìm moät ñöôøng thaúng sao cho taát caû caùc phaàn töû cuûa C1 È (-C2) ñeàu naèm treân phaân nöûa döông : töùc laø chuùng ta ñaõ chuyeån ñoåi > 0 cho x Î C1, < 0 cho x Î C2 thaønh > 0 cho x Î C1, > 0 cho –x Î -C2 coù theå vieát laïi theo daïng : > 0 cho x Î C1 È -C2 Vector troïng soá ñöôïc ñieàu chænh theo luaät hoïc perceptron : w = w + h(y-o)x vôùi h > 0 laø heä soá hoïc vaø y = 1 laø giaù trò ñaàu ra mong muoán, o Î {0,1} laø giaù trò ra cuûa maïng neuron, x laø giaù trò vaøo. maët phaân taùch cuõ maët phaân taùch môùi Hình sau ñaây minh hoïa cho giaûi thuaät hoïc perceptron : 4.3. Toùm taét giaûi thuaät Böôùc 1 : choïn moät giaù trò h > 0. Böôùc 2 : khôûi taïo troïng soá w moät caùch ngaãu nhieân, thieát laäp sai leäch e = 0, baét ñaàu vôùi maãu thöù nhaát k = 1. Böôùc 3 : baét ñaàu hoïc. Cho x = xk vaø tính ñaàu ra o(x) = 1 neáu ³ 0 0 neáu < 0 Böôùc 4 : caäp nhaät troïng soá w = w + h(y-o)x Böôùc 5 : tính sai leäch e = e + Böôùc 6 : neáu k < K (töùc chöa heát taäp döõ lieäu caàn hoïc) thì taêng k leân ñeå qua maãu keá tieáp roài trôû laïi böôùc 3, neáu k = K qua böôùc 7. Böôùc 7 : xong moät chu kyø hoïc. Neáu e = 0 keát thuùc quaù trình hoïc. Coøn neáu e > 0 thì thieát laäp e = 0, k = 1 vaø khôûi taïo chu kyø hoïc môùi baèng caùch trôû laïi böôùc 3. Thuyeát sau ñaây chöùng toû raèng neáu baøi toaùn coù nhieàu lôøi giaûi thì giaûi thuaät hoïc perceptron seõ tìm ra moät lôøi giaûi trong soá ñoù. Thuyeát hoäi tuï : Neáu baøi toaùn laø khaû taùch tuyeán tính thì chöông trình seõ chæ laëp laïi moät soá laàn xaùc ñònh. 4.4. Haïn cheá Moâ hình perceptron chuû yeáu ñeå ta hieåu veà caùch hoïc hoûi cuûa maïng neuron chöù thöïc ra thì do noù quaù ñôn giaûn vaø söû duïng haøm truyeàn laø haøm ngöôõng tuyeán tính neân coù maët haïn cheá cuûa noù. Naêm 1969, Minsky vaø Papert ñöa ra caùc phaân tích raát kyõ veà moâ hình perceptron vaø qua ñoù chöùng minh söï thaát baïi cuûa noù vôùi baøi toaùn XOR : x1 x2 y(x1,x2) = x1 XOR x2 1. 1 1 0 2. 1 0 1 3. 0 1 1 4. 0 0 0 ñaàu ra theo moâ hình perceptron : o(x) = 1 neáu w1x1 + w2x2 ³ q 0 neáu w1x1 + w2x2 < q xeùt töøng tröôøng hôïp : Neáu [x1,x2] = [0,0] thì o(x) = 0 Þ w1.0 + w2.0 0. Neáu [x1,x2] = [0,1] thì o(x) = 1 Þ w1.0 + w2.1 ³ q Þ w2 ³ q. Neáu [x1,x2] = [1,0] thì o(x) = 1 Þ w1.1 + w2.0 ³ q Þ w1 ³ q. Neáu [x1,x2] = [1,1] thì o(x) = 0 Þ w1.1 + w2.1 < q Þ w1 + w2 < q. Þ khoâng theå tìm ra w1, w2, q thoûa maõn 4 baát ñaúng thöùc treân. Moâ hình perceptron khoâng theå tìm ra lôøi giaûi trong tröôøng hôïp naøy bôûi vì haøm XOR khoâng phaûi laø haøm ngöôõng tuyeán tính. 4.5. Nhaän xeùt Maïng neuron coù giaù trò hay khoâng khi maø Minsky vaø Papert ñaõ chöùng minh söï thaát baïi cuûa noù ?. Thöïc vaäy, trong suoát khoaûng thôøi gian töø naêm 1969 ñeán naêm 1986 thì maïng neuron khoâng ñöôïc ngöôøi ta tin duøng. Tuy nhieân, sau ñoù thì Rumelhart vaø McClelland ñaõ ñöa ra giaûi thuaät truyeàn ngöôïc sai leäch cho maïng neuron nhieàu taàng (hay coøn goïi laø multi layer perceptron – MLP) coù theå giaûi quyeát baøi toaùn XOR. Keå töø luùc ñoù, maïng neuron baét ñaàu moät buoåi bình minh môùi. 5. giaûi thuaät hoïc delta Luaät hoïc delta döïa treân tính chaát cuûa ñaïo haøm maø neàn taûng laø phöông thöùc giaûm neân coù theå duøng cho haøm truyeàn baát kyø (tuyeán tính hay baùn tuyeán tính). 5.1. Ñaïo haøm Ñònh nghóa : ñaïo haøm cuûa haøm soá f taïi moät ñieåm x thuoäc mieàn xaùc ñònh, kyù hieäu laø , ñöôïc cho bôûi : Neáu > 0 thì ta noùi raèng f taêng taïi x, neáu < 0 thì ta noùi raèng f giaûm taïi x, coøn neáu = 0 thì haøm f coù moät cöïc trò taïi x. Phöông trình ñöôøng thaúng d ñi qua ñieåm (x0,f(x0)) ñöôïc cho bôûi : suy ra goïi x1 laø giao ñieåm cuûa d vaø truïc hoaønh, theá thì x1 laø nghieäm phöông trình : Höôùng giaûm suy ra Toång quaùt, ta coù : Quaù trình treân ñöôïc goïi laø phöông thöùc giaûm. Aùp duïng ñieàu naøy cho troïng soá w, ta thaáy ôû voøng laëp keá wn+1 phaûi thoûa tính chaát : f(wn+1) < f(wn) töùc laø giaù trò cuûa f taïi wn+1 nhoû hôn giaù trò tröôùc ñoù taïi wn. Trong luaät hoïc söûa sai, moãi pheùp laëp theo phöông thöùc giaûm seõ tìm höôùng giaûm taïi wn ñeå vôùi moät h > 0 nhoû baát kyø sao cho : ñaët wn+1 laø vector Ñaët f : Rn ® R laø moät haøm thöïc vaø ñaët e Î Rn vôùi laø moät höôùng cho tröôùc. Ñaïo haøm cuûa f theo höôùng e taïi w ñöôïc ñònh nghóa nhö sau : Neáu töùc e laø moät höôùng cô sôû trong khoâng gian vector thì thay vì , ta vieát , ñöôïc ñònh nghóa bôûi : gradient cuûa f taïi w, kyù hieäu laø , ñöôïc ñònh nghóa : 5.2. Moâ taû luaät hoïc delta Xeùt moät neuron söû duïng ñaàu ra laø haøm tuyeán tính, theá thì vector troïng soá tìm ñöôïc trong giaûi thuaät hoïc seõ laø moät ñöôøng thaúng (tröôøng hôïp khoâng gian hai chieàu). Ñieàu naøy coù nghóa laø luaät hoïc cho haøm truyeàn tuyeán tính chæ coù theå xaáp xæ moät haøm tuyeán tính maø thoâi. Tuy nhieân, neáu haøm truyeàn laø phi tuyeán thì khoù coù theå coù moät xaáp xæ toát. Ñoù laø lyù do taïi sao ngöôøi ta duøng haøm kích hoaït baùn tuyeán tính. Ñaàu ra cuûa neuron : o() = f(wTx) Cuõng nhö luaät hoïc perceptron, luaät hoïc delta caàn moät taäp döõ lieäu maãu cho quaù trình hoïc. Maãu soá Giaù trò ñaàu vaøo Ñaàu ra mong muoán 1. y1 2. y2 . . . K. yK Heä laáy xk laøm ñaàu vaøo, taïo ra keát quaû ok cuûa rieâng noù roái so saùnh vôùi keát quaø mong muoán yk. Sai leäch cuûa maãu thöù k ñöôïc tính theo : Sai leäch cuûa taát caûc caùc maãu : Luaät hoïc seõ thay ñoåi w theo höôùng laøm cöïc tieåu hoùa sai leäch baèng caùch söû duïng pheùp laëp : vôùi 5.3. Moät soá haøm truyeàn vaø ñaïo haøm cuûa noù Bieåu thöùc treân cho thaáy trong luaät hoïc delta, ta caàn phaûi tính ñaïo haøm cuûa haøm truyeàn. Sau ñaây laø moät soá haøm truyeàn hay duøng vaø ñaïo haøm cuûa noù : Haøm daïng chöõ S löôõng cöïc : Haøm daïng chöõ S ñôn cöïc : 5.4. Toùm taét giaûi thuaät Cho tröôùc K maãu döõ lieäu : vôùi vaø yk Î R, k = 1,…,K. Do tính chaát khoâng tuyeán tính cuûa haøm truyeàn maø giaûi thuaät khoù coù theå döøng ñuùng nghóa (giaù trò taïo ra bôûi maïng neuron baèng ñuùng giaù trò mong muoán hay sai leäch = 0). Do ñoù ngöôøi ta thieát laäp tieâu chuaån döøng theo moät giaù trò sai leäch Emax cho pheùp naøo ñoù : khi sai leäch E nhoû hôn hoaëc baèng Emax thì döøng. Trong thöïc teá ngöôøi ta coøn coù moät tieâu chuaån döõng theo soá laàn laëp : khi ñaït ñeán moät soá laàn laëp xaùc ñònh thì döøng. Böôùc 1 : choïn tröôùc giaù trò h > 0 vaø Emax > 0. Böôùc 2 : khôûi taïo ngaãu nhieân w, baét ñaàu vôùi maãu thöù nhaát k = 1 vaø gaùn sai leäch E = 0. Böôùc 3 : baét ñaàu quaù trình hoïc, gaùn x = xk, y = yk. Ñaàu ra cuûa maïng neuron tính theo : o = o() = f(wTx) Böôùc 4 : caäp nhaät troïng soá Böôùc 5 : tính sai leäch baèng caùch coäng theâm sai leäch hieän taïi Böôùc 6 : neáu k < K thì k = k + 1 vaø trôû laïi Böôùc 3. Neáu khoâng thì qua Böôùc 7. Böôùc 7 : keát thuùc chu kyø hoïc. Neáu E £ Emax thì keát thuùc quaù trình hoïc. Coøn neáu E > Emax thì gaùn E = 0 vaø baét ñaàu moät chu kyø hoïc môùi baèng caùch trôû laïi Böôùc 3. 6. giaûi thuaät delta toång quaùt Qui luaät hoïc delta phaùt trieån ôû treân cho moät neuron. Baây giôø ta xeùt trong tröôøng hôïp toång quaùt cho moät maïng neuron ña taàng (MLP) vaø daãn ñeán giaûi thuaät delta toång quaùt, hay coøn goïi laø giaûi thuaät lan truyeàn ngöôïc sai leäch. 6.1. Moâ hình perceptron ña taàng m node ra n node vaøo l node aån Coù moät baát ñoàng trong vaán ñeà xaùc ñònh soá taàng cuûa maïng neuron. Ví duï nhö xeùt maïng sau : - Neáu xeùt theo soá taàng xöû lyù thì maïng neuron treân coù 2 taàng. - Neáu xeùt theo soá taàng cuûa node thì maïng neuron treân coù 3 taàng. Phaàn trình baøy töø ñaây veà sau söû duïng caùch ñeám soá taàng thöù nhaát. Nhö vaäy maïng neuron treân ñöôïc xem laø coù hai taàng. Lôùp neuron maø ñaàu ra cuûa noù khoâng theå truy xuaát tröïc tieáp goïi laø lôùp noäi, hay lôùp aån Þ maïng neuron treân coù moät lôùp aån vôùi l node. 6.2. Luaät hoïc delta toång quaùt Luaät hoïc delta toång quaùt hay luaät hoïc lan truyeàn sai leäch ngöôïc raát phöùc taïp, vieäc daãn xuaát ra noù caàn raát nhieàu phöông thöùc toaùn hoïc. Nhaèm ñôn giaûn cho vieäc trình baøy, ôû ñaây chæ minh hoïa cho tröôøng hôïp maïng neuron hai taàng coù moät node ra. Ñoä sai leäch giöõa giaù trò taïo ra cuûa maïng neuron vôùi giaù trò mong muoán cho moät maãu döõ lieäu hoïc ñöôïc cho bôûi : Ñoä sai leäch toång theå ñöôïc tính baèng caùch laáy toång cuûa caùc ñoä sai leäch : Ñaàu ra cuûa maïng neuron : trong ñoù ok laø giaù trò ra cuûa lôùp aån, ñöôïc tính bôûi : vôùi wl laø vector troïng soá cuûa neuron thöù l. Luaät ñeå thay ñoåi troïng soá ñöôïc cho theo phöông thöùc giaûm gradient, töùc laø chuùng ta seõ cöïc tieåu hoùa ñoä sai leäch quaân phöông baèng caùch duøng quaù trình laëp : cho l = 1, … ,L vaø h laø heä soá hoïc. Söûø duïng luaät daây chuyeàn ñeå ruùt ra haøm toång hôïp : töùc luaät thay ñoåi troïng soá cuûa ñaàu ra laø : xeùt rieâng leû cho töøng troïng soá thì : vôùi l = 1, … ,L vaø ñaët dk laø : Ñoái vôùi lôùp aån, ta tính Ek theo wl : töùc luaät thay ñoåi troïng soá cho neuron aån laø : cho l = 1, … ,L xeùt rieâng cho töøng troïng soá thì : cho j = 1, … ,n. 6.3. Toùm taét giaûi thuaät Cho tröôùc K maãu döõ lieäu : vôùi vaø yk Î R, k = 1,…,K. Böôùc 1 : choïn tröôùc giaù trò h > 0 vaø Emax > 0. Böôùc 2 : khôûi taïo ngaãu nhieân w, baét ñaàu vôùi maãu thöù nhaát k = 1 vaø gaùn sai leäch E = 0. Böôùc 3 : baét ñaàu quaù trình hoïc, gaùn x = xk, y = yk. Ñaàu ra cuûa maïng neuron tính theo : trong ñoù ok laø giaù trò ra cuûa lôùp aån, ñöôïc tính bôûi : Böôùc 4 : caäp nhaät troïng soá neuron ñaàu ra : vôùi Böôùc 5 : caäp nhaät troïng soá cuûa neuron aån : cho l = 1, … ,L Böôùc 6 : tính sai leäch baèng caùch coäng theâm sai leäch hieän taïi Böôùc 7 : neáu k < K thì k = k + 1 vaø trôû laïi Böôùc 3. Neáu khoâng thì qua Böôùc 8. Böôùc 8 : keát thuùc chu kyø hoïc. Neáu E £ Emax thì keát thuùc quaù trình hoïc. Coøn neáu E > Emax thì gaùn E = 0 vaø baét ñaàu moät chu kyø hoïc môùi baèng caùch trôû laïi Böôùc 3. 7. ñoä hieäu quaû cuûa maïng neuron Naêm 1989, Funahashi ñöa ra ñònh lyù chöùng minh raèng vôùi moät maïng neuron coù kích thöôùc xaùc ñònh vaø moät lôùp aån, ta coù theå xaáp xæ taát caû moïi haøm lieân tuïc. Ñònh lyù Fuhanashi : Ñaët F(x) laø moät haøm lieân tuïc, bò giôùi haïn, ñôn ñieäu taêng vaø K Î Rn laø moät taäp compact. Cho moät haøm f lieân tuïc thöïc aùnh xaï töø taäp K vaøo Rn thì vôùi moät e > 0 nhoû tuøy yù, toàn taïi moät N nguyeân vaø caùc haèng soá thöïc wi, wij sao cho : thoûa töùc laø moät aùnh xaï lieân tuïc coù theå ñöôïc xaáp xæ bôûi caùc aùnh xaï vaøo-ra cuûa maïng neuron hai taàng maø haøm ra cho lôùp aån laø haøm F(x) vaø haøm ra cho lôùp ñaàu ra laø haøm tuyeán tính. Baèng caùch duøng ñònh lyù Stone-Weierstrass trong thieát keá maïng neuron, chuùng ta coù theå ñaûm baûo raèng maïng neuron cuõng coù theå tính theo moät bieåu thöùc ña thöùc : neáu ta coù caùc maïng neuron tính toaùn chính xaùc hai haøm f1 vaø f2 thì moät maïng neuron lôùn hôn coù theå tính chính xaùc bieåu thöùc ña thöùc cuûa hai haøm ñoù. Ñònh lyù Stone-Waierstrass : Ñaët K laø moät khoâng gian compact n-chieàu vaø G laø taäp caùc haøm thöïc lieân tuïc treân K thoûa tieâu chuaån sau : Haøm haèng f(x) = 1 thuoäc G. Cho hai ñieåm x1 ¹ x2 trong K thì coù moät haøm f thuoäc G sao cho f(x1) ¹ f(x2) Neáu f1 vaø f2 laø hai haøm thuoäc G thì fg vaø a1f1 + a2f2 cuõng thuoäc G, vôùi a1, a2 laø hai soá thöïc baát kyø. Thì G thuoäc C(K), taäp caùc haøm thöïc lieân tuïc treân K. Noùi caùch khaùc, vôùi e > 0 nhoû baát kyø vaø moät haøm f trong C(K), toàn taïi g trong G thoûa : Ñieàu chính yeáu ñeå thoûa ñònh lyù Stone-Weierstrass laø phaûi tìm ra haøm bieán ñoåi pheùp nhaân thaønh pheùp coäng ñeå coù theå vieát tích döôùi daïng toång. Coù ít nhaát ba haøm toång quaùt cho pheùp thöïc hieän ñieàu naøy : haøm muõ, vi phaân töøng phaàn vaø haøm doác. Nhöõng maïng sau ñaây thoûa ñònh lyù Stone-Weierstrass : Maïng neuron haøm muõ suy giaûm : haøm muõ ñöôïc duøng ñeå chuyeån pheùp nhaân thaønh pheùp coäng trong maïng. exp(x1).exp(x2) = exp(x1 + x2) Ñaët G laø taäp cuûa taát caû caùc haøm lieân tuïc coù theå ñöôïc tính bôûi maïng neuron söû duïng haøm muõ suy giaûm trong mieàn K = [0,1]n : thì G thuoäc C(K). Maïng Fourier. Maïng haøm muõ. Maïng ña thöùc vaø sigma-pi söûa ñoåi. Ñaët G laø taäp cuûa taát caû caùc haøm lieân tuïc coù theå ñöôïc tính bôûi maïng neuron ña thöùc hoaëc sigma-pi söõa ñoåi trong mieàn K = [0,1]n : thì G thuoäc C(K). Maïng perceptron vaø haøm doác. Maïng vi phaân töøng phaàn. Treân ñaây laø phaàn chính yeáu cuûa maïng neuron, ngoaøi ra coøn caùc maïng khaùc vaø caùc giaûi thuaät hoïc khaùc khoâng keå ñeán. 3 Neurofuzzy 1. sô löôïc veà neurofuzzy Cuõng nhö moïi söï vaät treân ñôøi, caùc kyõ thuaät thuoäc lónh vöïc trí khoân nhaân taïo nhö logic môø, maïng neuron, heä chuyeân gia, … ñeàu coù maët maïnh vaø maët yeáu cuûa noù. Ví nhö ñoái vôùi logic môø, baïn deã daøng thieát keá moät heä thoáng mong muoán chæ baèng caùc luaät If-Then ñôn giaûn. Vôùi ña soá öùng duïng thì ñieàu naøy cho pheùp taïo ra lôøi giaûi ñôn giaûn hôn, trong khoaûng thôøi gian ngaén hôn. Theâm nöõa, baïn deã daøng söû duïng nhöõng hieåu bieát cuûa mình veà ñoái töôïng ñeå toái öu heä thoáng moät caùch tröïc tieáp. Tuy nhieân, ñi ñoâi vôùi caùc öu ñieåm ñoù laø moät soá khuyeát ñieåm nhö vieäc thieát keá toái öu heä logic môø ñoøi hoûi phaûi coù moät soá kinh nghieäm veà ñoái töôïng trong khi ngöôøi thieát keá laø ngöôøi môùi trong lónh vöïc ñoù thì sao ?. Coù bao giôø baïn töï hoûi laø moãi bieán ngoân ngöõ caàn bao nhieâu taäp môø hay khoâng ?. Dó nhieân coù theå baïn ñaõ nghe ngöôøi ta noùi laø soá taäp môø naèm trong khoaûng töø 3 ñeán 7, nhöng cuï theå laø bao nhieâu ? Hay caùc taäp môø coù hình daïng nhö theá naøo?, vò trí cuûa noù ôû ñaâu?, keát hôïp taäp môø naøo vôùi taäp môø naøo ?, vaø taïo ra taäp môø naøo ?. Coù haøng traêm caâu hoûi nhö vaäy cho ngöôøi thieát keá neân vieäc toái öu hoùa heä thoáng haõy coøn laø moät ngheä thuaät. Coøn neáu nhö tri thöùc caàn ñöa vaøo heä ñöôïc theå hieän döôùi daïng caùc taäp döõ lieäu (thöôøng gaëp trong lónh vöïc thu thaäp vaø xöû lyù döõ lieäu) thì laøm theá naøo ? Trong khi ñoù, ta bieát raèng maïng neuron coù khaû naêng hoïc laáy tri thöùc maø ta caàn ñöa vaøo heä nhöng laïi khoù maø giaûi thìch roõ raøng maïng neuron hoaït ñoäng nhö theá naøo ?, töùc maïng neuron laø moät hoäp ñen : ta ñöa soá lieäu vaøo vaø noù taïo ra soá lieäu ra maø khoâng caàn bieát laøm sao laïi taïo ra nhö theá. Coøn nhieàu, nhieàu nhöõng öu khuyeát ñieåm nöõa. Baûng sau ñaây cho ta thaáy moät soá caùi cuï theå nhaát : Maïng neuron Logic môø Theå hieän tri thöùc Khoâng töôøng minh : khoù giaûi thích vaø khoù söûa ñoåi. Töôøng minh : deã kieåm chöùng hoaït ñoäng vaø deã söûa ñoåi. Khaû naêng hoïc Coù khaû naêng hoïc thoâng qua caùc taäp döõ lieäu. Khoâng coù khaû naêng hoïc : baïn phaûi töï thieát keá taát caû. Theá thì taïi sao chuùng ta khoâng keát hôïp chuùng laïi nhæ ? Khi ñoù, ta seõ coù moät heä lai vôùi öu ñieåm cuûa caû hai : logic môø cho pheùp thieát keá heä deã daøng, töôøng minh trong khi maïng neuron cho pheùp hoïc nhöõng gì maø ta yeâu caàu veà boä ñieàu khieån. Noù söûa ñoåi caùc haøm phuï thuoäc veà hình daïng, vò trí vaø söï keát hôïp, … hoaøn toaøn töï ñoäng. Ñieàu naøy laøm giaûm bôùt thôøi gian cuõng nhö giaûm bôùt chi phí khi phaùt trieån heä. 2. Keát hôïp neuron vaø môø Coù nhieàu caùch keát hôïp maïng neuron vôùi logic môø trong caùc taøi lieäu khoa hoïc nhö laø söï môû roäng coâng vieäc cuûa Zadeh, Zimmermann, … . ÔÛ ñaây chæ trình baøy moät trong soá nhöõng caùch ñoù. 2.1. Bieåu dieãn luaät If-Then theo caáu truùc maïng neuron Ta baét ñaàu vôùi heä SISO thoâng qua khoái luaät sau : Ri : If x laø Ai Then y laø Bi, vôùi Ai, Bi laø caùc taäp môø, i = 1, … ,n (1) Moãi luaät cuûa (1) coù theå chuyeån thaønh moät maãu döõ lieäu cho maïng neuron ña taàng baèng caùch laáy phaàn If laøm ñaàu vaøo vaø phaàn Then laøm ñaàu ra cuûa maïng. Töø ñoù ta chuyeån khoái luaät thaønh taäp döõ lieäu sau : {(A1,B1), … ,(An,Bn)} Ñoái vôùi heä MISO, cuõng töông töï ta chuyeån khoái luaät : Ri : If x laø Ai And y laø Bi Then z laø Ci, vôùi Ai, Bi, Ci laø caùc taäp môø, i = 1, … ,n thaønh taäp döõ lieäu : {(Ai,Bi),Ci}, 1 £ i £ n Coøn ñoái vôùi heä MIMO thì khoái luaät : Ri : If x laø Ai And y laø Bi Then r laø Ci And s laø Di vôùi Ai, Bi, Ci laø caùc taäp môø, i = 1, … ,n ñöôïc chuyeån thaønh : {(Ai,Bi),(Ci,Di)}, 1 £ i £ n Coù hai caùch ñeå thöïc hieän luaät If-Then döïa treân giaûi thuaät lan truyeàn ngöôïc sai leäch : 2.1.1. Phöông phaùp Umano – Ezawa : moät taäp môø ñöôïc bieåu dieãn bôûi moät soá xaùc ñònh caùc giaù trò phuï thuoäc cuûa noù. - Ñaët [a1,a2] chöùa mieàn xaùc ñònh cuûa bieán ngoân ngöõ ñaàu vaøo (töùc mieàn xaùc ñònh cuûa taát caû Ai). - Ñaët [b1,b2] chöùa mieàn xaùc ñònh cuûa bieán ngoân ngöõ ñaàu ra (töùc mieàn xaùc ñònh cuûa taát caû Bi). - Vôùi M, N nguyeân döông, M ³ 2 vaø N ³ 2 ñaët : xj = a1 + (j – 1)(a2 - a1)/(N – 1) yi = b1 + (i – 1)(b2 - b1)/(M – 1) vôùi 1 £ i £ M vaø 1 £ j £ N. - Rôøi raïc taäp caùc taäp môø thaønh caùc caëp vaøo-ra : {(Ai(x1), … , Ai(xN)),(Bi(y1), … ,Bi(yM))}, vôùi 1 £ i £ n - Ñònh nghóa kyù hieäu : aij = Ai(xj), bij = Bi(yj) Maïng neuron ña taàng thì maïng neuron môø seõ chuyeån thaønh maïng neuron roõ vôùi N ñaàu vaøo vaø M ñaàu ra. Töø ñoù coù theå cho maïng hoïc baèng giaûi thuaät lan truyeàn ngöôïc sai leäch. Thí duï : giaû söû coù 3 luaät môø R1 : If x laø small Then y laø negative. R2 : If x laø medium Then y laø zero. R3 : If x laø big Then y laø positive. Vôùi caùc haøm phuï thuoäc : 1. Taäp döõ lieäu ñöôïc ruùt ra töø caùc luaät naøy coù daïng : {(small,negative),(medium,zero),(big,positive)} 2. Ñaët [a1,a2] = [0,1] laø mieàn xaùc ñònh cuûa bieán ngoân ngöõ ñaàu vaøo. 3. Ñaët [b1,b2] = [-1,1] laø mieàn xaùc ñònh cuûa bieán ngoân ngöõ ñaàu ra. 4. Ñaët M = N = 5, theá thì : xj = (j – 1)/4, vôùi 1 £ j £ 5 Þ x1 = 0 x2 = 0,25 x3 = 0,5 x4 = 0,75 x5 = 1 vaø yi = -1 + (i – 1)2/4 = -3/2 + i/2, vôùi 1 £ i £ 5 Þ y1 = -1 y2 = -0,5 y3 = 0 y4 = 0,5 y5 = 1 5. Taäp döõ lieäu goàm 3 caëp vaøo-ra : {(a11, … ,a15),(b11, … ,b15)} {(a21, … ,a25),(b21, … ,b25)} {(a31, … ,a35),(b31, … ,b35)} vôùi : a1j = msmall(xj) b1i = mnegative(yi) a2j = mmedium(xj) b2i = mzero(yi) a3j = mbig(xj) b3i = mpositive(yi) Nhö vaäy ta coù : {(1;0,5;0;0;0),(1;0,5;0;0;0)} {(0;0,5;1;0,5;0),(0;0;1;0;0)} {(0;0;0;0,5;1),(0;0;0;0,5;1)} 2.1.2. Phöông phaùp Uehara – Fujise : duøng moät soá xaùc ñònh caùc taäp caét a ñeå bieåu dieãn caùc taäp môø. 2.2. Neuron môø Xeùt maïng neuron sau : caùc tín hieäu vaøo-ra vaø caùc troïng soá ñeàu laø soá thöïc. - Hai neuron ôû ñaàu vaøo khoâng laøm thay ñoåi tín hieäu neân ñaàu ra cuûa noù cuõng laø ñaàu vaøo. - Tín hieäu xi keát hôïp vôùi troïng soá wi taïo thaønh tích : pi = wixi, i = 1,2 - Ñaàu vaøo cuûa neuron ôû taàng ra laø söï keát hôïp cuûa caùc pi theo pheùp coäng : p1 + p2 = w1x1 + w2x2 - Neuron naøy duøng moät haøm truyeàn f ñeå taïo ñaàu ra, coù theå laø haøm daïng chöõ S ñôn cöïc chaúng haïn : Þ maïng neuron duøng pheùp nhaân, pheùp coäng vaø haøm daïng chöõ S ñöôïc goïi laø maïng neuron chuaån. Neáu maïng neuron duøng caùc pheùp toaùn khaùc nhö t-norm, t-conorm ñeå keát hôïp döõ lieäu ñöôïc goïi laø maïng neuron lai. - Nhöõng söûa ñoåi naøy seõ daãn ñeán vieäc taïo ra caáu truùc neuron môø döïa treân caùc pheùp toaùn môø. Bieåu dieãn caùc ñaàu vaøo (thöôøng laø caùc ñoä phuï thuoäc) x1, x2 vaø troïng soá w1, w2 treân khoaûng [0,1]. Maïng neuron lai coù theå khoâng duøng caùc pheùp toaùn nhaân, pheùp toaùn coäng hoaëc haøm daïng chöõ S bôûi vì keát quaû cuûa caùc pheùp toaùn naøy coù theå khoâng naèm trong khoaûng [0,1]. Ñònh nghóa : Maïng neuron lai laø maïng neuron söû duïng tín hieäu roõ vaø haøm truyeàn roõ, nhöng - Chuùng ta coù theå keát hôïp xi vaø wi duøng caùc pheùp toaùn t-norm, t-conorm hay caùc pheùp toaùn lieân tuïc khaùc. - Chuùng ta coù theå keát p1 vaø p2 duøng caùc haøm t-norm, t-conorm hay caùc haøm lieân tuïc khaùc. - f coù theå laø moät haøm lieân tuïc baát kyø töø ñaàu vaøo ñeán ñaàu ra. Caàn nhaán maïnh laø ñoái vôùi maïng neuron môø thì giaù trò vaøo, giaù trò ra, vaø troïng soá laø nhöõng soá thöïc naèm trong khoaûng [0,1]. Moät phaàn töï xöû lyù trong maïng neuron môû ñöôïc goïi laø neuron môø. Ñònh nghóa : Neuron môø AND Tín hieäu xi vaø troïng soá wi ñöôïc keát hôïp bôûi conorm S taïo thaønh : pi = S(wi,xi), i = 1,2 Caùc pi ñöôïc tính bôûi norm T taïo ñaàu ra : y = AND(p1,p2) = T(p1,p2) = T(S(w1,x1),S(w2,x2)) cuûa neuron. Neáu T = min vaø S= max thì neuron môø AND chính laø hôïp thaønh min-max y = min{w1 Ú x1,w2 Ú x2} Ñònh nghóa : Neuron môø OR Tín hieäu xi vaø troïng soá wi ñöôïc keát hôïp bôûi norm T taïo thaønh : pi = T(wi,xi), i = 1,2 Caùc pi ñöôïc tính bôûi conorm S taïo ñaàu ra : y = OR(p1,p2) = S(p1,p2) = S(T(w1,x1),T(w2,x2)) cuûa neuron. Neáu T = min vaø S= max thì neuron môø OR chính laø hôïp thaønh max-min y = max{w1 Ù x1,w2 Ù x2} 3. hoïc hoûi trong neurofuzzy Ñoä hieäu quaû cuûa caùc moâ hình môø bieåu dieãn moái quan heä phi tuyeán vaøo-ra phuï thuoäc caùc phaân vuøng môø cuûa khoâng gian vaøo-ra. Do ñoù vieäc chænh ñònh haøm phuï thuoäc trong caùc moâ hình môø trôû neân raát quan troïng. Vieäc chænh ñònh naøy coù theå xem nhö laø vaán ñeà toái öu duøng maïng neuron vaø giaûi thuaät hoïc ñeå giaûi quyeát. Ñaàu tieân ta giaû ñònh caùc haøm phuï thuoäc coù moät hình daïng nhaát ñònh. Sau ñoù ta thay ñoåi caùc thoâng soá cuûa hình daïng ñoù qua quaù trình hoïc baèng maïng neuron. Nhö vaäy ta caàn moät taäp döõ lieäu ôû daïng caùc caëp vaøo-ra mong muoán ñeå cho maïng neuron hoïc. Vaø cuõng caàn phaûi coù moät baûng caùc luaät sô khôûi döïa treân caùc haøm phuï thuoäc ñoù. 3.1. Söûa ñoåi haøm phuï thuoäc Giaû söû caàn thöïc hieän aùnh xaï : , vôùi k = 1, … , K töùc laø ta coù taäp döõ lieäu : {(x1,y1), … ,(xK,yK)} Duøng luaät If-Then ñeå thöïc hieän aùnh xaï naøy : Ri : If x1 laø Ai1 And … And xn laø Ain Then y = zi, 1 £ i £ m vôùi Aij laø caùc taäp môø coù daïng hình tam giaùc vaø zi laø soá thöïc. Ñaët ok laø giaù trò ra cuûa heä khi ta ñöa vaøo xk. Kyù hieäu ai laø giaù trò ra cuûa luaät thöù i, ñöôïc ñònh nghóa theo tích Larsen : (cuõng coù theå ñònh nghóa caùc t-norm khaùc) Giaûi môø theo phöông phaùp CoG : Sai leäch cuûa maãu thöù k : Duøng phöông thöùc giaûm ñeå hoïc zi trong phaàn keát quaû cuûa luaät Ri : Cho raèng moãi bieán ngoân ngöõ coù 7 taäp môø : {NB, NM, NS, ZE, PS, PM, PB} vaø haøm phuï thuoäc coù hình daïng tam giaùc ñaëc tính hoaù bôûi 3 tham soá : taâm, ñoä roäng traùi, ñoä roäng phaûi. Þ caùc tham soá naøy cuûa tam giaùc cuõng ñöôïc hoïc baèng phöông thöùc giaûm. Ví duï : xeùt 2 luaät môø SISO R1 : If x laø A1 Then y = z1 R2 : If x laø A2 Then y = z2 Giaû söû A1 vaø A2 ñöôïc ñònh nghóa bôûi : vôùi a1, a2, b1, b2 laø caùc giaù trò khôûi taïo ban ñaàu. Vaäy giaù trò ra cuûa luaät laø : Giaù trò ra cuûa heä môø : Giaû söû chuùng ta coù taäp döõ lieäu caàn hoïc : {(x1,y1), … ,(xk,yk)} Þ Nhieäm cuï cuûa chuùng ta laø xaây döïng 2 luaät môø döïa treân caùc taäp môø ñaõ söûa ñoåi, sao cho keát quaû taïo ra töông thích vôùi caùc caëp vaøo-ra cho tröôùc. Ñònh nghóa sai leäch cho maãu thöù k : Duøng phöông thöùc giaûm ñeå hoïc : töông töï : Luaät hoïc seõ ñôn giaûn hôn neáu ta duøng : khi ñoù A1(x) + A2(x) = 1, "x Vieäc söûa ñoåi ñöôïc thöïc hieän nhö sau : vôùi : vaø : A1 A2 T T N N x a1 a2 z2 z1 b1 b2 b2z2 b1z1 z Taàng 1 Taàng 2 Taàng 3 Taàng 4 Taàng 5 Maïng neuron cho heä môø naøy seõ nhö sau : Taàng 1 : giaù trò ra töø node chính laø ñoä phuï thuoäc cuûa bieán ñoái vôùi taäp môø. Taàng 2 : taïo giaù trò ra cuûa luaät a1 = A1 a2 = A2 nhöõng node naøy ñöôïc gaùn nhaõn T bôûi vì chuùng ta coù theå choïn nhieàu pheùp toaùn t-norm khaùc nhau cho pheùp AND. Taàng 3 : laáy trung bình Taàng 4 : giaù trò ra cuûa neuron laø tích cuûa zi vaø bi. Taàng 5 : keát hôïp taïo giaù trò ra cuoái cuøng cuûa heä z = b1z1 + b2z2 4. nhaän xeùt Haõy coøn raát sôùm ñeå ñaùng giaù bôûi vì NeuroFuzzy laø moät kyõ thuaät treû, ñang treân ñöôøng tìm toøi vaø phaùt trieån. Tuy nhieân, nhöõng gì noù ñöa ra cho thaáy ñaây laø moät lónh vöïc ñaùng ñeå quan taâm, höùa heïn nhieàu ñieàu thuù vò trong lónh vöïc ñieàu khieån. 4 vi ñieàu khieån 1. VI ÑIEÀU KHIEÅN HOÏ MCS-51 MCS-51TM laø hoï vi ñieàu khieån do haõng INTEL saûn xuaát vaøo ñaàu nhöõng naêm 80 vaø ngaøy nay ñaõ trôû thaønh moät chuaån trong coâng nghieäp. Baét ñaàu töø IC tieâu bieåu laø 8051 ñaõ cho thaáy khaû naêng thích hôïp vôùi nhöõng öùng duïng mang tính ñieàu khieån. Vieäc xöû lí treân byte vaø caùc pheùp toaùn soá hoïc ôû caáu truùc döõ lieäu nhoû ñöôïc thöïc hieän baèng nhieàu cheá ñoä truy xuaát döõ lieäu nhanh treân RAM noäi. Taäp leänh cung caáp moät baûn tieän duïng cuûa nhöõng leänh soá hoïc 8 bit goàm caû leänh nhaân vaø leänh chia. Noù cung caáp nhöõng hoã trôï môû roäng on-chip duøng cho nhöõng bieán 1 bit nhö laø kieåu döõ lieäu rieâng cho pheùp quaûn lí vaø kieåm tra bit tröïc tieáp trong ñieàu khieån vaø nhöõng heä thoáng logic ñoøi hoûi xöû lí luaän lí. Sau ñaây laø baûng so saùnh caùc IC trong hoï MCS-51TM : TEÂN LINH KIEÄN BOÄ NHÔÙ CHÖÔNGù TRÌNH ON CHIP BOÄ NHÔÙ DÖÕ LIEÄU ON CHIP TIMER 8051 4 KB MROM 128 Bytes 2 8031 0 KB 128 Bytes 2 8751 4 KB EPROM 128 Bytes 2 8951 4 KB Flash ROM 128 bytes 2 8052 8 KB MROM 256 Bytes 3 8032 0 KB 256 Bytes 3 8752 8 KB EPROM 256 Bytes 3 8952 8 KB Flash ROM 256 Bytes 3 2. VI ÑIEÀU KHIEÅN AT89C52 Do hoï MCS-51TM ñaõ trôû thaønh chuaån coâng nghieäp neân coù raát nhieàu haõng saûn xuaát ra noù, ñieån hình laø ATMEL Corporation. Haõng naøy ñaõ keát hôïp raát nhieàu tính naêng döïa treân neàn taûng kyõ thuaät cuûa mình ñeå taïo ra caùc vi ñieàu khieån töông thích vôùi MCS-51TM nhöng maïnh meõ hôn. AT89C52 laø moät vi ñieàu khieån 8 bit do ATMEL saûn xuaát, cheá taïo theo coâng ngheä CMOS, coù chaát löôïng cao, coâng suaát thaáp vôùi 8 KB Flash (flash programmable and erasable read only memory). Thieát bò naøy ñöôïc cheá taïo baèng caùch söû duïng kyõ thuaät boä nhôù khoâng boác hôi maät ñoä cao cuûa ATMEL vaø töông thích vôùi chuaån coâng nghieäp MCS-51TM veà taäp leänh vaø caùc chaân ra. Flash on-chip cho pheùp boä nhôù laäp trình ñöôïc laäp trình trong heä thoáng bôûi moät laäp trình vieân bình thöôøng. Baèng caùch noái 1 CPU 8 bit vôùi moät Flash treân moät chip ñôn, AT89C52 laø moät vi ñieàu khieån maïnh (coù coâng suaát lôùn), cung caáp moät söï linh ñoäng cao vaø giaûi phaùp veà giaù caû ñoái vôùi nhieàu öùng duïng vi ñieàu khieån. Caùc ñaëc ñieåm chuû yeáu cuûa AT89C52 : Töông thích hoaøn toaøn vôùi hoï MCS-51TM cuûa Intel. Boä nhôù chöông trình 8K Byte thuoäc loaïi Flash Memory. Ñoä beàn : 1000 laàn ghi/xoùa. Taàn soá hoaït ñoäng : 0 Hz ñeán 24 MHz. 3 cheá ñoä khoùa boä nhôù. 256 x 8-Bit RAM noäi. 32 ñöôøng I/O laäp trình ñöôïc (4 port). 3 timer/counter 16-bit. 8 nguoàn ngaét. Cheá ñoä haï nguoàn vaø cheá ñoä löôøi tieâu toán coâng suaát thaáp. 2.1. Caáu taïo chaân Tuøy theo khaû naêng (veà kinh teá, kyõ thuaät, …) maø caùc nhaø saûn xuaát caùc saûn phaåm öùng duïng coù theå choïn moät trong 3 kieåu chaân do ATMEL ñöa ra. 2.2. Sô ñoà khoái 2.3. Moâ taû chöùc naêng cuûa caùc chaân Vcc : aùp nguoàn. GND : ñaát. Port 0 : laø moät port I/O 8-bit hai chieàu, cöïc maùng hôû. Khi xuaát ra, moãi chaân port coù theå laùi 8 ñaàu vaøo TTL. Neáu ghi caùc möùc 1 ra caùc chaân port thì caùc chaân naøy coù theå duøng nhö caùc ñaàu vaøo trôû khaùng cao. Port 0 cuõng coù theå ñöôïc caáu hình thaønh moät bus multiplex giöõa ñòa chæ thaáp vaø döõ lieäu khi truy caäp chöông trình hay döõ lieäu töø beân ngoaøi. Trong cheá ñoä naøy, port 0 coù ñieän trôû pullup noäi. Port 0 cuõng nhaän caùc byte maõ chöông trình khi laäp trình Flash vaø xuaát ra maõ chöông trình khi kieåm tra, khi ñoù caàn coù ñieän trôû pullup beân ngoaøi. Chaân Chöùc naêng thay theá P1.0 T2 (ñaàu vaøo ñeám cho Timer/Counter 2) P1.1 T2EX (xung kích capture/reload cho Timer/Counter 2 vaø ñieàu khieån tröïc tieáp. Port 1 : laø moät port I/O 8-bit hai chieàu coù pullup noäi. Ñaàu ra port 1 coù theå laùi 4 ñaàu vaøo TTL. Khi vieát caùc möùc 1 ra caùc chaân port thì chuùng ñöôïc keùo leân do coù ñieän trôû noäi vaø coù theå duøng laøm ñaàu vaøo. Khi vai troø laø coång nhaäp, nhöõng chaân cuûa port 1 bò keùo xuoáng thaáp seõ ñoå doøng vì coù noäi trôû keùo leân. Hôn nöõa, P1.0 vaø P1.1 coù theå ñöôïc duøng nhö laø ñaàu vaøo boä ñeám timer/counter 2 beân ngoaøi (P1.0/T2) vaø xung kích (P1.1/T2EX). Port 1 cuõng nhaän nhöõng byte ñòa chæ thaáp trong khi laäp trình Flash vaø trong khi kieåm tra Flash . Port 2 : laø moät port I/O 8-bit hai chieàu coù pullup noäi. Ñaàu ra port 2 coù theå laùi 4 ñaàu vaøo TTL. Khi vieát caùc möùc 1 ra caùc chaân port thì chuùng ñöôïc keùo leân do coù ñieän trôû noäi vaø coù theå duøng laøm ñaàu vaøo. Khi vai troø laø coång nhaäp, nhöõng chaân cuûa port 2 bò keùo xuoáng thaáp seõ ñoå doøng vì coù noäi trôû keùo leân. Port 2 phaùt byte ñòa chæ cao trong khi nhaän leänh töø boä nhôù chöông trình ngoaøi vaø trong luùc truy xuaát ñeán boä nhôù döõ lieäu ngoaøi maø coù söû duïng ñòa chæ 16 bit (MOVX A, @DPTR). Trong öùng duïng naøy noù duøng ñieän trôû noäi keùo leân maïnh khi xuaát 1. Khi truy xuaát boä nhôù döõ lieäu ngoaøi duøng ñòa chæ 8 bit, port 2 seõ phaùt noäi dung cuûa thanh ghi P2 Port 2 cuõng nhaän byte ñòa chæ cao trong luùc laäp trình Flash vaø trong luùc kieåm tra Flash. Port 3 : laø moät port I/O 8-bit hai chieàu coù pullup noäi. Ñaàu ra port 3 coù theå laùi 4 ñaàu vaøo TTL. Khi vieát caùc möùc 1 ra caùc chaân port thì chuùng ñöôïc keùo leân do coù ñieän trôû noäi vaø coù theå duøng laøm ñaàu vaøo. Khi vai troø laø coång nhaäp, nhöõng chaân cuûa port 3 bò keùo xuoáng thaáp seõ ñoå doøng vì coù noäi trôû keùo leân. Port 3 cuõng coù nhöõng chöùc naêng cuûa hoï MSC-51 ñöôïc lieät keâ ôû baûng sau: BIT TEÂN ÑÒA CHÆ BIT CHÖÙC NAÊNG THAY THEÁ P3.0 RXD B0H Nhaän döø lieäu cho port noái tieáp P3.1 TXD B1H Truyeàn döø lieäu cho port noái tieáp P3.2 INT0 B2H Ngaét ngoaøi 0 P3.3 INT1 B3H Ngaét ngoaøi 1 P3.4 T0 B4H Ngoõ vaøo töø beân ngoaøi cho timer/counter 0 P3.5 T1 B5H Ngoõ vaøo töø beân ngoaøi cho timer/counter 1 P3.6 WR B6H Xung ghi boä nhôù döõ lieäu ngoaøi P3.7 RD B7H Xung ñoïc boä nhôù döõ lieäu ngoaøi Port 3 cuõng nhaän vaøi tín hieäu ñieàu khieån trong luùc laäp trình Flash vaø trong luùc kieåm tra Flash. RST : laø ngoõ vaøo Reset. Khi ngoõ naøy ñöôïc ñöa leân cao (trong ít nhaát hai chu kì maùy), caùc thanh ghi beân trong AT89C51 ñöôïc taûi nhöõng giaù trò thích hôïp ñeå khôûi ñoäng heä thoáng. ALE/PROG (Address Latch Enable) : ALE laø xung xuaát cho pheùp choát byte ñòa chæ thaáp khi truy caäp boä nhôù ngoaøi. Chaân naøy coøn laø ngoõ vaøo cuûa xung laäp trình (PROG) khi laäp trình Flash. Trong hoaït ñoäng bình thöôøng, ALE ñöôïc phaùt xung vôùi taàn soá 1/6 taàn soá dao ñoäng on-chip vaø coù theå ñöôïc duøng nhö xung thôøi gian chuaån beân ngoaøi. Tuy nhieân, caàn chuù yù laø moät xung ALE seõ bò maát khi truy caäp boä nhôù ngoaøi. Coù theå huûy boû chöùc naêng cuûa ALE baèng caùch set bit 0 cuûa thanh ghi ôû vò trí 8EH. Moät khi bit naøy ñöôïc set, ALE chæ tích cöïc khi coù leänh MOVX hoaëc MOVC. Neáu khoâng coù caùc leänh naøy thì ALE ôû möùc cao. Vieäc set bit 0 cuûa thanh ghi ôû vò trí 8EH khoâng laøm aûnh höôûng ñeán vi ñieàu khieån khi truy caäp boä nhôù ngoaøi. PSEN (Program Store Enable) : PSEN laø xung strobe baùo hieäu vieäc ñoïc boä nhôù chöông trình ngoaøi, PSEN tích cöïc hai laàn (möùc thaáp) moãi chu kì maùy, ngoaïi tröø hai xung PSEN bò maát khi truy xuaát döõ lieäu ngoaøi. Khi thi haønh chöông trình trong RAM noäi, PSEN seõ ôû möùc thuï ñoäng (möùc cao). EA/VPP (External Access) : EA laø ngoõ vaøo ñeå cho pheùp truy xuaát boä nhôù chöông trình töø beân ngoaøi khi ñöôïc noái vôùi GND. Khi EA ñöôïc treo leân nguoàn VCC, chöông trình seõ ñöôïc thöïc thi trong ROM noäi. Chaân naøy cuõng nhaän ñieän aùp 12v (VPP) trong khi laäp trình Flash. XTAL1 : Ñaàu vaøo cuûa boä khueách ñaïi dao ñoäng ñaûo vaø cuõng laø ñaàu vaøo ñeán maïch taïo xung clock noäi. XTAL2 : Ñaàu ra cuûa boä khueách ñaïi dao ñoäng ñaûo. 2.4. Caùc thanh ghi chöùc naêng (SFR-Special Funtion Reisters) AT89C52 coù 26 thanh ghi chöùc naêng ñöôïc thieát keá nhö laø moät thaønh phaàn cuûa RAM on-chip. Do ñoù moãi thanh ghi coù moät ñòa chæ cuûa noù, naèm trong vuøng töø 80H ñeán FFH. Tuy nhieân, vuøng naøy cuõng laø vuøng boä nhôù neân vieäc truy caäp caùc thanh ghi naøy thoâng qua caùc leänh duøng ñònh vò tröïc tieáp khaùc vôùi vieäc truy caäp vuøng nhôù duøng ñònh vò giaùn tieáp. Baûng vò trí caùc thanh ghi chöùc naêng : Chuù yù laø khoâng phaûi taát caû caùc ñòa chæ ñeàu coù caùc thanh ghi, nhöõng ñòa chæ khoâng coù thanh ghi naøy coù theå khoâng coù treân chip. Ñoïc nhöõng ñòa chæ naøy seõ coù nhöõng giaù trò ngaãu nhieân vaø ghi nhöõng giaù triï naøy coù nhöõng taùc ñoäng khoâng xaùc ñònh tröôùc. Phaàn meàm cuûa ngöôøi duøng khoâng neân ghi nhöõng giaù trò 1 ñeán caùc vò trí naøy, bôûi vì chuùng coù theå ñöôïc duøng trong töông lai. Trong tröôøng hôïp ñoù, giaù trò cuûa caùc bit luoân laø 0. Ngoaøi nhöõng thanh ghi töông töï 8051, AT89C52 coù theâm : Caùc thanh ghi Timer 2 caùc bit ñieàu khieån vaø traïng thaùi chöùa trong thanh ghi T2CON vaø T2MOD cho Timer 2. Caëp thanh ghi RCAP2H vaø RCAP2L laø nhöõng thanh ghi Capture/Reload trong cheá ñoä capture 16 bit hay cheá ñoä auto-reload 16 bit. Kyù hieäu Chöùc naêng TF2 Côø traøn Timer 2, set khi Timer 2 traøn vaø phaûi ñöôïc clear baèng phaàn meàm. TF2 seõ khoâng set khi RCLK = 1 hoaëc TCLK = 1. EXF2 Côø ngoaøi cuûa Timer 2, set khi xaûy ra capture hoaëc reload do T2EX xuoáng thaáp vaø EXEN2 = 1. Neáu ngaét Timer 2 ñöôïc kích hoaït, EXF2 = 1 seõ laøm CPU troû ñeán ISR cuûa Timer 2. EXF2 phaûi ñöôïc xoùa baèng phaàn meàm. EXF2 khoâng gaây neân ngaét trong cheá ñoä ñeám leân/xuoáng (DCEN = 1). RCLK Kích hoaït xung clock boä thu. Khi set, caùc xung traøn Timer 2 seõ laø xung clock cho boä thu port noái tieáp trong mode 1 vaø 3. RCLK = 0 thì boä thu port noái tieáp seõ duøng caùc xung traøn cuûa Timer 1. TCLK Kích hoaït xung clock boä phaùt. Khi set, caùc xung traøn Timer 2 seõ laø xung clock cho boä phaùt port noái tieáp trong mode 1 vaø 3. TCLK = 0 thì boä phaùt port noái tieáp seõ duøng caùc xung traøn cuûa Timer 1. EXEN2 Kích hoaït beân ngoaøi. Khi set, cho pheùp capture hay reload khi T2EX xuoáng thaáp (neáu Timer 2 khoâng söû duïng cho port noái tieáp). EXEN2 = 0 laøm cho Timer 2 boû qua caùc söï kieän treân T2EX. TR2 Khôûi ñoäng/Döøng Timer 2. TR2 = 1 laøm khôûi ñoäng Timer 2. C/T2 Bit löïa choïn timer hay counter. C/T2 = 0 : timer. C/T2 = 1 : counter ñeám söï kieän beân ngoaøi (kích caïnh xuoáng). CP/RL2 Löïa choïn capture hay reload. CP/RL2 = 1: capture xaûy ra khi T2EX xuoáng thaáp neáu EXEN2 = 1. CP/RL2 = 0 : reload xaûy ra khi Timer 2 traøn hoaëc khi T2EX xuoáng thaáp neáu EXEN2 = 1. Neáu TCLK hay RCLK = 1, bit naøy bò boû qua vaø timer bò eùp vaøo cheá ñoä reload khi Timer 2 traøn. Caùc thanh ghi ngaét taäp caùc bit rieâng leû cho pheùp ngaét chöùa trong thanh ghi IE. Thieát laäp hai möùc öu tieân cho 6 nguoàn ngaét baèng caùch set caùc bit thanh ghi IP. 2.5. Boä nhôù döõ lieäu AT89C52 coù 256 byte boä nhôù RAM on-chip. Trong ñoù, 128 byte treân coù cuøng ñòa chæ vôùi vuøng thanh ghi chöùc naêng nhöng coù caáu taïo vaät lyù rieâng bieät. Khi moät leänh truy caäp moät vò trí noäi coù ñòa chæ treân 7FH, cheá ñoä ñòa chæ noù söû duïng seõ baùo cho CPU bieát vuøng ñòa chæ naøo noù caàn truy caäp : RAM hay SFR. Caùc leänh duøng ñòa chæ tröïc tieáp seõ truy caäp vuøng SFR. Ví duï nhö leänh sau ñaây seõ truy caäp SFR ôû ñòa chæ 0A0H (port 2) MOV 0A0H,#data Leänh duøng ñòa chæ giaùn tieáp seõ truy caäp 128 byte treân cuûa RAM. Ví duï nhö cuõng truy caäp ñòa chæ 0A0H nhöng giaùn tieáp thoâng qua R0. MOV R0,#0A0H MOV @R0,#data Chuù yù raèng caùc taùc vuï cuûa stack voán ñaõ söû duïng ñòa chæ giaùn tieáp neân vuøng 128 byte treân cuûa RAM raát tieän duïng ñeå laøm vuøng stack. 2.6. Ñaëc tính boä dao ñoäng XTAL1 laø ñaàu vaøo vaø ñaàu ra töông öùng cuûa boä khueách ñaïi ñaûo ñöôïc duøng laøm boä dao ñoäng noäi on-chip. Coù theå duøng thaïch anh hay boä coäng höôûng ceramic ñeàu ñöôïc. Ñeå laùi vi ñieàu khieån töø nguoàn xung clock beân ngoaøi, XTAL2 phaûi ñöôïc ñeå troáng trong khi XTAL1 noái ñeán nguoàn laùi. Khoâng coù yeâu caàu gì veà duty cycle nhöng phaûi chuù yù ñeán thôøi gian toái ña vaø toái thieåu cuûa möùc ñieän aùp cao cuõng nhö möùc ñieän aùp thaáp. 2.7. Cheá ñoä löôøi Trong cheá ñoä löôøi, CPU rôi vaøo traïng thaùi “nguû” trong khi taát caû thieát bò ngoaïi vi vaãn coøn tích cöïc. Cheá ñoä naøy ñöôïc taïo ra baèng phaàn meàm. Noäi dung cuûa RAM on-chip vaø giaù trò cuûa caùc SFR vaãn ñöôïc giöõ nguyeân. Keát thuùc cheá ñoä löôøi baèng caùch kích hoaït moät ngaét hoaëc reset phaàn cöùng. Chuù raèng khi keát thuùc cheá ñoä löôøi baèng caùch reset phaàn cöùng thì thoâng thöôøng vi ñieàu khieån seõ goïi laïi chöông trình maø noù vöøa thoaùt, cho ñeán hai chu kyø maùy tröôùc khi thuaät toaùn reset chieám quyeàn ñieàu khieån. Phaàn cöùng caám truy caäp RAM noäi trong tröôøng hôïp naøy nhöng khoâng caám truy caäp ñeán caùc chaân port, do ñoù coù theå xaûy ra nhöõng tröôøng hôïp khoâng mong muoán. Ñeå loaïi boû tröôøng hôïp naøy, leänh ngay sau leänh goïi cheá ñoä löôøi khoâng neân laø leänh ghi port hay ghi boä nhôù ngoaøi. 2.8. Cheá ñoä haï nguoàn Trong cheá ñoä haï nguoàn, boä dao ñoäng ngöøng, vaø leänh goïi haï nguoàn laø leänh cuoái cuøng ñöôïc thöïc thi. RAM on-chip vaø SFR duy trì giaù trò cuûa noù cho ñeán khi keát thuùc cheá ñoä haï nguoàn. Keát thuùc cheá ñoä haï nguoàn chæ baèng moät caùch duy nhaát : reset phaàn cöùng. Reset seõ taïo laïi giaù trò cho SFR nhöng khoâng thay ñoåi noäi dung cuûa RAM on-chip. Khoâng neân reset tröôùc khi Vcc phuïc hoài möùc ñieän aùp thoâng thöôøng cuûa noù vaø phaûi giöõ ñuû laâu ñeå boä dao ñoäng phuïc hoài vaø oån ñònh. 2.9. Traïng thaùi cuûa moät soá chaân trong cheá ñoä löôøi vaø cheá ñoä haï nguoàn 2.10. Caùc thoâng soá kyõ thuaät 5 adc Icl7109cpl 1. SÔ LÖÔÏC VEÀ CAÙC PHÖÔNG PHAÙP BIEÁN ÑOÅI AD Tín hieäu trong theá giôùi thöïc thöôøng ôû daïng töông töï (analog), neân maïch ñieàu khieån thu thaäp döõ lieäu töø ñoái töôïng ñieàu khieån veà (thoâng qua caùc caûm bieán) cuõng ôû daïng töông töï. Trong khi ñoù, boä ñieàu khieån ngaøy nay thöôøng laø caùc mP, mC xöû lyù döõ lieäu ôû daïng soá (digital). Vì vaäy, caàn phaûi chuyeån ñoåi tín hieäu ôû daïng töông töï thaønh tín hieäu ôû daïng soá thoâng qua boä bieán ñoåi AD. Coù nhieàu phöông phaùp bieán ñoåi AD khaùc nhau, ôû ñaây chæ giôùi thieäu moät soá phöông phaùp ñieån hình. 1.1. Bieán ñoåi AD duøng boä bieán ñoåi DA + - vA ñaàu vaøo analog Ñôn vò ñieàu khieån 1 0 Thanh ghi Boä bieán ñoåi DA . . . vAX Keát quaû digital So saùnh OPAMP EOC (keát thuùc chuyeån ñoåi) Start Clock Trong phöông phaùp naøy, boä bieán ñoåi DA ñöôïc duøng nhö moät thaønh phaàn trong maïch. Khoaûng thôøi gian bieán ñoåi ñöôïc chia bôûi nguoàn xung clock beân ngoaøi. Ñôn vò ñieàu khieån laø moät maïch logic cho pheùp ñaùp öùng vôùi tín hieäu Start ñeå baét ñaàu bieán ñoåi. Khi ñoù, OPAMP so saùnh hai tín hieäu vaøo angalog ñeå taïo ra tín hieäu digital bieán ñoåi traïng thaùi cuûa ñôn vò ñieàu khieån phuï thuoäc vaøo tín hieäu analog naøo coù giaù trò lôùn hôn. Boä bieán ñoåi hoaït ñoäng theo caùc böôùc : Tín hieäu Start ñeå baét ñaàu bieán ñoåi. Cöù moãi xung clock, ñôn vò ñieàu khieån söûa ñoåi soá nhò phaân ñaàu ra vaø ñöa vaøo löu tröõ trong thanh ghi. Soá nhò phaân trong thanh ghi ñöôïc chuyeån ñoåi thaønh aùp analog vAX qua boä bieán ñoåi DA. OPAMP so saùnh vAX vôùi aùp ñaàu vaøo vA. Neáu vAX < vA thì ñaàu ra ôû möùc cao, coøn ngöôïc laïi, neáu vAX vöôït qua vA moät löôïng vT (aùp ngöôõng) thì ñaàu ra ôû möùc thaáp vaø keát thuùc quaù trình bieán ñoåi. Ôû thôøi ñieåm naøy, vAX ñaõ xaáp xæ baèng vA vaø soá nhò phaân chöùa trong thanh ghi chính laø giaù trò digital xaáp xæ cuûa vA (theo moät ñoä phaân giaûi vaø chính xaùc nhaát ñònh cuûa töøng heä thoáng). Ñôn vò ñieàu khieån kích hoaït tín hieäu EOC, baùo raèng ñaõ keát thuùc quaù trình bieán ñoåi. Döïa theo phöông phaùp naøy, coù nhieàu boä bieán ñoåi nhö sau : + - vA ñaàu vaøo analog Counter Boäâ bieán ñoåi DA . . . vAX Keát quaû digital So saùnh OPAMP EOC Start Clock Reset Clock vAX Start vA EOC tC Khi chuyeån ñoåi hoaøn taát, counter ngöøng ñeám 1.1.1. Boä bieán ñoåi AD theo haøm doác Ñaây laø boä bieán ñoåi ñôn giaûn nhaát theo moâ hình boä bieán ñoåi toång quaùt treân. Noù duøng moät counter laøm thanh ghi vaø cöù moãi xung clock thì gia taêng giaù trò nhò phaân cho ñeán khi vAX ³ vA. Boä bieán ñoåi naøy ñöôïc goïi laø bieán ñoåi theo haøm doác vì daïng soùng vAX coù daïng cuûa haøm doác, hay noái ñuùng hôn laø daïng baäc thang. Ñoâi khi noù coøn ñöôïc goïi laø boä bieán ñoåi AD loaïi counter. Hình treân cho thaáy sô ñoà maïch cuûa boä bieán ñoåi AD theo haøm doác, bao goàm moät counter, moät boä bieán ñoåi DA, moät OPAMP so saùnh, vaø moät coång AND cho ñieàu khieån . Ñaàu ra cuûa OPAMP ñöôïc duøng nhö tín hieäu tích cöïc möùc thaáp cuûa tín hieäu EOC. Giaû söû vA döông, quaù trình bieán ñoåi xaûy ra theo caùc böôùc : Xung Start ñöôïc ñöa vaøo ñeå reset counter veà 0. Möùc cao cuûa xung Start cuõng ngaên khoâng cho xung clock ñeán counter. Ñaàu vaøo cuûa boä bieán ñoåi DA ñeàu laø caùc bit 0 neân aùp ra vAX = 0v. Khi vA > vAX thì ñaàu ra cuûa OPAMP (EOC) ôû möùc cao. Khi Start xuoáng möùc thaáp, coång AND ñöôïc kích hoaït vaø xung clock ñöôïc ñöa vaøo counter. Counter ñeám theo xung clock vaø vì vaäy ñaàu ra cuûa boä bieán ñoåi DA, vAX, gia taêng moät naác trong moät xung clock Quaù trình ñeám cuûa counter cöù tieáp tuïc cho ñeán khi vAX baèng hoaëc vöôït qua vA moät löôïng vT (khoaûng töø 10 ñeán 100mv). Khi ñoù, EOC xuoáng thaáp vaø ngaên khoâng cho xung clock ñeán counter. Töø ñoù keát thuùc quaù trình bieán ñoåi. Counter vaãn giöõ giaù trò vöøa bieán ñoåi xong cho ñeán khi coù moät xung Start cho quaù trình bieán ñoåi môùi. Töø ñoù ta thaáy raèng boä bieán ñoåi loaïi naøy coù toác ñoä raát chaäm (ñoä phaân giaûi caøng cao thì caøng chaäm) vaø coù thôøi gian bieán ñoåi phuï thuoäc vaøo ñoä lôùn cuûa ñieän aùp caàn bieán ñoåi. 1.1.2. Boä bieán ñoåi AD xaáp xæ lieân tieáp Ñaây laø boä bieán ñöôïc duøng roäng raõi nhaát trong caùc boä bieán ñoåi AD. Noù coù caáu taïo phöùc taïp hôn boä bieán ñoåi AD theo haøm doác nhöng toác ñoä bieán ñoåi nhanh hôn raát nhieàu. Hôn nöõa, thôøi gian bieán ñoåi laø moät soá coá ñònh khoâng phuï thuoäc giaù trò ñieän aùp ñaàu vaøo. Sô ñoà maïch vaø giaûi thuaät nhö sau : Sô ñoà maïch töông töï nhö boä bieán ñoåi AD theo haøm doác nhöng khoâng duøng counter cung caáp giaù trò cho boä bieán ñoåi DA maø duøng moät thanh ghi. Ñôn vò ñieàu khieån söûa ñoåi töøng bit cuûa thanh ghi naøy cho ñeán khi coù giaù trò analog xaáp xæ aùp vaøo theo moät ñoä phaân giaûi cho tröôùc. MSB C B A Aùp analog ñaàu vaøo + - vA ñaàu vaøo analog Ñôn vò ñieàu khieån Thanh ghi MSB LSB Boäâ bieán ñoåi DA . . . vAX So saùnh OPAMP EOC Clock . . . Start START Xoùa taát caû caùc bit Baét ñaàu ôû MSB Set bit = 1 VAX > VA ? Clear bit = 0 Xong heát bit ? Quaù trình bieán ñoåi keát thuùc vaø giaù trò bieán ñoåi naèm trong thanh ghi END Ñuùng Sai Ñeán bit thaáp keá Sai Ñuùng 1.2. Boä bieán ñoåi Flash AD Boä bieán ñoåi loaïi naøy coù toác ñoä nhanh nhaát vaø cuõng caàn nhieàu linh kieän caáu thaønh nhaát. Coù theå laøm moät pheùp so saùnh: flash AD 6-bit caàn 63 OPAMP, 8-bit caàn 255 OPAMP, vaø 10-bit caàn 1023 OPAMP. Vì leõ ñoù maø boä bieán ñoåi AD loaïi naøy bò giôùi haïn bôûi soá bit, thöôøng laø 2 ñeán 8-bit. Ví duï moät flash AD 3-bit : Maïch treân coù ñoä phaân giaûi laø 1V, caàu chia ñieän aùp thieát laäp neân caùc ñieän aùp so saùnh (7 möùc töông öùng 1V, 2V, …) vôùi ñieän aùp caàn bieán ñoåi. Ñaàu ra cuûa caùc OPAMP ñöôïc noái ñeán moät priority encoder vaø ñaàu ra cuûa noù chính laø giaù trò digital xaáp xæ cuûa ñieän aùp ñaàu vaøo. Caùc boä bieán ñoåi coù nhieàu bit hôn deã daøng suy ra theo maïch treân. 1.3. Boä bieán ñoåi AD theo haøm doác daïng leân xuoáng (tracking ADC) Boä bieán ñoåi loaïi naøy ñöôïc caûi tieán töø boä bieán ñoåi AD theo haøm doác. Ta thaáy raèng toác ñoä cuûa boä bieán ñoåi AD theo haøm doác khaù chaäm bôûi vì counter ñöôïc reset veà 0 moãi khi baét ñaàu quaù trình bieán ñoåi. Giaù trò VAX laø 0 luùc baét ñaàu vaø taêng daàn cho ñeán khi vöôït qua VA. Roõ raøng laø thôøi gian naøy laø hoaøn toaøn laõng phí bôûi vì ñieän aùp analog thay ñoåi moät caùch lieân tuïc, giaù trò sau naèm trong laân caän giaù trò tröôùc. Boä bieán ñoåi AD theo haøm doác daïng leân xuoáng duøng moät counter ñeám leân/xuoáng thay cho counter chæ ñeám leân ôû boä bieán ñoåi AD theo haøm doác vaø khoâng reset veà 0 khi baét ñaàu. Thay vì vaäy, noù giöõ nguyeân giaù trò cuûa laàn bieán ñoåi tröôùc vaø taêng giaûm tuøy thuoäc vaøo giaù trò ñieän aùp môùi so vôùi giaù trò ñieän aùp cuõ. 1.4. Boä bieán ñoåi AD duøng chuyeån ñoåi aùp sang taàn soá Boä bieán ñoåi loaïi naøy ñôn giaûn hôn boä bieán ñoåi AD duøng bieán ñoåi DA. Thay vì vaäy noù duøng moät boä dao ñoäng tuyeán tính ñöôïc ñieàu khieån bôûi ñieän aùp ñeå taïo ra taàn soá töông öùng vôùi aùp vaøo. Taàn soá naøy ñöôïc daãn ñeán moät counter ñeám trong moät thôøi khoaûng coá ñònh vaø khi keát thuùc khoaûng thôøi gian coá ñònh naøy, giaù trò ñeám tyû leä vôùi ñieän aùp vaøo. Phöông phaùp naøy ñôn giaûn nhöng khoù ñaït ñöôïc ñoä chính xaùc cao bôûi vì khoù coù theå thieát keá boä bieán ñoåi aùp sang taàn soá coù ñoä chính xaùc hôn 0,1%. Moät trong nhöõng öùng duïng chính cuûa loaïi naøy laø duøng trong moâi tröôøng coâng nghieäp coù nhieãu cao. Ñieän aùp ñöôïc chuyeån töø transducer veà maùy tính ñieàu khieån thöôøng raát nhoû, neáu truyeàn tröïc tieáp veà thì seõ bò nhieãu taùc ñoäng ñaùng keå vaø giaù trò thu ñöôïc haàu nhö khoâng coøn ñuùng nöõa. Do ñoù, ngöôøi ta duøng boä bieán ñoåi aùp sang taàn soá ngay taïi transducer vaø truyeàn caùc xung veà cho maùy tính ñieàu khieån ñeám neân ít bò aûnh höôûng bôûi nhieãu. 1.5. Boä bieán ñoåi AD theo tích phaân hai ñoä doác Boä bieán ñoåi loaïi naøy laø moät trong nhöõng boä coù thôøi gian bieán ñoåi chaäm nhaát (thöôøng laø töø 10 ñeán 100ms) nhöng coù lôïi ñieåm laø giaù caû töông ñoái reû khoâng duøng caùc thaønh phaàn chính xaùc nhö boä bieán ñoåi AD hoaëc boä bieán ñoåi aùp sang taàn soá. Nguyeân taéc chính laø döïa vaøo quaù trình naïp vaø xaû tuyeán tính cuûa tuï vôùi doøng haèng. Ñaàu tieân, tuï ñöôïc naïp trong moät khoaûng thôøi gian xaùc ñònh töø doøng haèng ruùt ra töø ñieän aùp vaøo vA. Vì vaäy, ôû cuoái thôøi ñieåm naïp, tuï seõ coù moät ñieän aùp tyû leä vôùi ñieän aùp vaøo. Cuõng vaøo luùc naøy, tuï ñöôïc xaû tuyeán tính vôùi moät doøng haèng ruùt ra töø ñieän aùp tham chieáu chính xaùc vref. Khi ñieän aùp treân tuï giaûm veà 0 thì quaù trình xaû keát thuùc. Trong suoát khoaûng thôøi gian xaû naøy, moät taàn soá tham chieáu ñöôïc daãn ñeán moät counter vaø baét ñaàu ñeám. Do khoaûng thôøi gian xaû tyû leä vôùi ñieän aùp treân tuï luùc tröôùc khi xaû neân ôû cuoái thôøi ñieåm xaû, counter seõ chöùa moät giaù trò tyû leä vôùi ñieän aùp treân tuï tröôùc khi xaû, töùc laø tyû leä vôùi ñieän aùp vaøo vA. Ngoaøi giaù thaønh reû thì boä bieán ñoåi loaïi naøy coøn coù öu ñieåm choáng nhieãu vaø söï troâi nhieät. Tuy nhieân thôøi gian bieán ñoåi chaäm neân ít duøng trong caùc öùng duïng thu thaäp döõ lieäu ñoøi hoûi thôøi gian ñaùp öùng nhanh. Nhöng ñoái vôùi caùc quaù trình bieán ñoåi chaäm (coù quaùn tính lôùn) nhö loø nhieät thì raát ñaùng ñeå xem xeùt ñeán. 2. ICL7109cpl ICL7109CPL laø boä bieán ñoåi AD 12-bit daïng ñôn phieán, bieán ñoåi theo phöông phaùp tích phaân hai ñoä doác, coäng vôùi caùc bit chæ cöïc tính, bit baùo quaù thang ño coù theå giao tieáp vôùi mP, mC theo hai caùch : Gheùp tröïc tieáp vaøo bus : thoâng qua chaân choïn chip, hai chaân cho pheùp xuaát byte cao, byte thaáp. Gheùp theo chuaån coâng nghieäp UART : ñöôïc öùng duïng trong truyeàn nhaän döõ lieäu töø xa, ngoõ ra ñöôïc bieán ñoåi vaø ñöa ñeán moät UART trong cheá ñoä baét tay, trao ñoåi döõ lieäu noái tieáp. ICL7109CPL coù ñoä chính xaùc cao, ñoä troâi nhieät nhoû hôn 1mV/0C. Ñöôïc öùng duïng trong nhieàu trong nhöõng heä thoáng thu thaäp döõ lieäu do giaù thaønh thaáp, coâng suaát tieâu taùn vaø doøng phaân cöïc nhoû. Caùc ñaëc ñieåm chuû yeáu nhö sau : Pha zero-integrator giuùp khoâi phuïc quaù taûi nhanh. Loaïi boû voøng treã vaø nhieãu. Caûi tieán khaû naêng laùi bus. Ngoõ ra 3 traïng thaùi. UART ôû cheá ñoä baét tay ñeå giao tieáp noái tieáp. Coù saún nguoàn tham chieáu chuaån. 30 laàn bieán ñoåi trong 1 giaây. Khoái ñôn, coâng ngheä CMOS coù coâng suaát thaáp 2.1. Caáu taïo chaân 2.2. Moâ taû chöùc naêng cuûa caùc chaân GND : ñaát. STATUS : ngoõ ra. Khi ôû möùc cao, boä bieán ñoåi ñang ôû trong pha integrate hoaëc pha de-integrate cho ñeán khi döõ lieäu ñöôïc choát. Khi ôû möùc thaáp, boä bieán ñoåi ñang ôû pha auto-zero hoaëc de-integrate sau khi döõ lieäu ñöôïc choát. POL : bit chæ cöïc tính (polarity), neáu ôû möùc cao, chæ ra raèng tín hieäu vaøo laø aùp döông. OR : bit chæ quaù thang (over-range), neáu ôû möùc cao, chæ ra raèng ngoõ vaøo ñaõ vöôït quaù giôùi haïn cho pheùp. B1¸B12 : ngoõ ra ba traïng thaùi, laø caùc bit döõ lieäu töông öùng. TEST : ngoõ vaøo, khi TEST = 1 thì ADC hoaït ñoäng bình thöôøng, TEST = 0 thì taát caû bit döõ lieäu ra ñeàu ôû möùc cao, coøn khi khoâng keát noái thì caùc choát ngoõ ra boä ñeäm ñöôïc cho pheùp. Trong hoaït ñoäng bình thöôøng : noái TEST leân +5v. LBEN : ôû cheá ñoä tröïc tieáp (MODE = 0 vaø CE/LOAD = 0) thì LBEN laø ngoõ vaøo, khi ôû möùc tích cöïc seõ cho pheùp xuaát byte thaáp; ôû cheá ñoä baét tay (MODE = 1) thì LBEN laø ngoõ ra, coù chöùc naêng laø côø byte thaáp. HBEN : ôû cheá ñoä tröïc tieáp (MODE = 0 vaø CE/LOAD = 0) thì HBEN laø ngoõ vaøo, khi ôû möùc tích cöïc seõ cho pheùp xuaát byte cao; ôû cheá ñoä baét tay (MODE = 1) thì HBEN laø ngoõ ra, coù chöùc naêng laø côø byte cao. CE/LOAD : ôû cheá ñoä tröïc tieáp, laø ngoõ vaøo, khi tích cöïc seõ cho pheùp xuaát ra 12 bit döõ lieäu B1¸B12, POL, OR neáu LBEN, HBEN tích cöïc. Ôû cheá ñoä baét tay, laø ngoõ ra strobe. MODE : ngoõ vaøo, khi ôû möùc thaáp : ADC hoaït ñoäng ôû cheá ñoä tröïc tieáp, coøn khi ôû möùc cao : ADC hoaït ñoäng ôû cheá ñoä baét tay. OSC IN : ngoõ vaøo cuûa boä dao ñoäng. OSC OUT : ngoõ ra cuûa boä dao ñoäng. OSC SEL : ngoõ vaøo, duøng ñeå choïn boä dao ñoäng. ICL 7109 coù moät boä dao ñoäng vôùi 3 ngoõ, noù coù t

Các file đính kèm theo tài liệu này:

  • docDO AN LVTNungdung NeuroFuzzy dkhien t bang KIT 89c52.doc