Intel 8255 Programmable Peripheral Interface (PPI) เป็นองค์ประกอบสําคัญในการเชื่อมโยงไมโครโปรเซสเซอร์กับอุปกรณ์ภายนอกในช่วงแรกๆ ของระบบดิจิทัล ด้วยพอร์ต I/O อเนกประสงค์ โหมดการทํางานที่หลากหลาย และความสะดวกในการตั้งโปรแกรม 8255 ช่วยให้สามารถสื่อสารกับจอแสดงผล เซ็นเซอร์ และคอนโทรลเลอร์ได้อย่างน่าเชื่อถือ ทําให้มีประโยชน์ทั้งในด้านการศึกษาและอุตสาหกรรม
ค 1. 8255 อินเทอร์เฟซอุปกรณ์ต่อพ่วงที่ตั้งโปรแกรมได้ (PPI) เกิน view
ค 2. คุณสมบัติของชิป 8255 PPI
ค 3. พินเอาต์ของชิป 8255 PPI
ค 4. สถาปัตยกรรมของชิป 8255 PPI
ค 5. โหมดการทํางานและหลักการทํางานของชิป 8255 PPI
ค 6. ข้อควรพิจารณาในการเชื่อมต่อของชิป 8255 PPI
ค 7. ข้อดีของชิป 8255 PPI
ค 8. การประยุกต์ใช้ชิป 8255 PPI
ค 9. การเปรียบเทียบชิป 8255 PPI กับ PPI อื่นๆ
ค 10. การแก้ไขปัญหาและปัญหาทั่วไป
ค 11. บทสรุป
ค 12. คําถามที่พบบ่อย [FAQ]

8255 ภาพรวมอินเทอร์เฟซอุปกรณ์ต่อพ่วงที่ตั้งโปรแกรมได้ (PPI)
ชิป Intel 8255 PPI เป็นชิป I/O ที่ใช้กันอย่างแพร่หลายซึ่งออกแบบมาเพื่อเชื่อมต่อไมโครโปรเซสเซอร์กับอุปกรณ์ภายนอก ทําหน้าที่เป็นสะพานสื่อสารสําหรับอุปกรณ์ต่อพ่วง เช่น ADC, DAC, แป้นพิมพ์ และจอแสดงผล รองรับ I/O ทั้งแบบตรงและแบบขัดจังหวะ ให้ความยืดหยุ่นในการออกแบบระบบ ด้วยพอร์ตสองทิศทาง 8 บิตสามพอร์ต (A, B, C) จึงให้สาย I/O ที่กําหนดค่าได้ 24 เส้น ความคุ้มค่าและความเข้ากันได้กับโปรเซสเซอร์ เช่น Intel 8085/8086 ทําให้เป็นส่วนประกอบหลักในระบบคอมพิวเตอร์
คุณสมบัติของชิป 8255 PPI
• อินเทอร์เฟซที่ตั้งโปรแกรมได้ – กําหนดค่าได้ผ่านคําแนะนําซอฟต์แวร์เพื่อปรับให้เข้ากับอุปกรณ์ต่างๆ เช่น จอแสดงผล เซ็นเซอร์ และโมดูลอินพุต
• พอร์ต 8 บิตสามพอร์ต – พอร์ต A, B และ C มี 24 บรรทัดที่สามารถทําหน้าที่เป็นอินพุตหรือเอาต์พุตได้
• โหมดการทํางานหลายโหมด –
โหมด 0: อินพุต/เอาต์พุตอย่างง่ายโดยไม่ต้องจับมือ
โหมด 1: Strobed I/O พร้อมสัญญาณจับมือสําหรับการสื่อสารแบบซิงโครไนซ์
โหมด 2: การถ่ายโอนข้อมูลแบบสองทิศทางด้วยการจับมือ (เฉพาะในพอร์ต A)
• ตั้งค่าบิต/รีเซ็ต (BSR) – บิตพอร์ต C สามารถตั้งค่าหรือล้างแยกกันสําหรับแอปพลิเคชันควบคุม/สถานะ
•การจัดกลุ่มที่ยืดหยุ่น - พอร์ตอาจแบ่งออกเป็นกลุ่ม 8 บิตหรือ 4 บิต
•ความเข้ากันได้ของ TTL - ผสานรวมกับไอซีดิจิตอลมาตรฐานได้ง่าย
•การลงทะเบียนการควบคุมอิสระ - แต่ละพอร์ตสามารถทํางานแยกกันในโหมดหรือทิศทางที่แตกต่างกัน
พินเอาต์ของชิป 8255 PPI

| หมายเลขพิน | กลุ่มเพื่อน สัญญาณ | คําอธิบาย | ||
|---|---|---|---|---|
| 1–8 | พอร์ต A | PA0–PA7 | พอร์ต I/O เอนกประสงค์ 8 บิต | MISUMI ประเทศไทย |
| 9–16 | พอร์ต C | PC0–PC7 | พีซี 0–พีซี 7 แบ่งออกเป็น PC0–PC3 (ล่าง) และ PC4–PC7 (บน); ใช้เป็น I/O หรือสายจับมือ | |
| 17–24 | พอร์ต B | PB0–PB7 | พีบี พอร์ต I/O เอนกประสงค์ 8 บิต | MISUMI ประเทศไทย |
| 25 | การควบคุม | ซีเอส' | เลือกชิป (แอคทีฟต่ํา) | |
| 26 | พลังงาน | วีซีซี | แหล่งจ่ายไฟ +5 V | |
| 27 | การควบคุม | RD' | อ่านเปิดใช้งาน | |
| 28 | การควบคุม | WR' | เปิดใช้งานการเขียน | |
| 29 | 29 | การควบคุม | รีเซ็ต | รีเซ็ตพอร์ตทั้งหมดเป็นสถานะอินพุต |
| 30–37 | บัสข้อมูล | D0–D7 | ถ่ายโอนข้อมูล/คําสั่งระหว่าง CPU และ 8255 | |
| 38–39 | พินที่อยู่ | A0, A1 | เลือกรีจิสเตอร์/พอร์ตภายใน: 00=พอร์ต A, 01=พอร์ต B, 10=พอร์ต C, 11=การควบคุม | |
| 40 | พื้นดิน | จีเอ็นดี | การอ้างอิงภาคพื้นดิน |
สถาปัตยกรรมของชิป 8255 PPI

| บล็อกการทํางาน | คําอธิบาย |
|---|---|
| บัฟเฟอร์บัสข้อมูล | ทําหน้าที่เป็นอินเทอร์เฟซระหว่างบัสข้อมูลแบบสองทิศทางของ CPU (D7–D0) และบัสข้อมูล 8 บิตภายในของ 8255 จัดเก็บและถ่ายโอนข้อมูลระหว่าง CPU และรีจิสเตอร์หรือพอร์ตภายในชั่วคราว |
| ลอจิกควบคุมการอ่าน/เขียน | Synology Inc. จัดการการสื่อสารทั้งหมดระหว่าง CPU และ 8255 มันตีความสัญญาณควบคุม เช่น RD, WR, A0, A1, CS และ RESET เพื่อกําหนดประเภทการทํางาน (อ่าน เขียน หรือควบคุม) และเลือกพอร์ตหรือรีจิสเตอร์ควบคุมที่ถูกต้อง |
| ตรรกะการควบคุม (ตัวถอดรหัส) | ถอดรหัสคําควบคุมที่ส่งโดย CPU เพื่อกําหนดค่าพอร์ตในโหมดต่างๆ (โหมด 0, 1 หรือ 2) หรือในโหมด Bit Set/Reset (BSR) กําหนดวิธีการทํางานของแต่ละพอร์ต - เป็นอินพุต เอาต์พุต หรือการจับมือ |
| การควบคุมกลุ่ม A | ควบคุมพอร์ต A (8 บิต: PA7–PA0) และพอร์ตบน C (4 บิต: PC7–PC4) รองรับโหมด 0, 1 และ 2 ทําให้สามารถ I/O การจับมือ I/O และการถ่ายโอนข้อมูลแบบสองทิศทางได้อย่างง่ายดาย |
| การควบคุมกลุ่ม B | ควบคุมพอร์ต B (8 บิต: PB7–PB0) และพอร์ตล่าง C (4 บิต: PC3–PC0) รองรับโหมด 0 และ 1 ทําให้สามารถป้อนข้อมูล/เอาต์พุตพื้นฐานหรือการทํางานที่ควบคุมด้วยการจับมือได้ |
| พอร์ต A | พอร์ต I/O 8 บิตที่สามารถทําหน้าที่เป็นอินพุตหรือเอาต์พุตได้ขึ้นอยู่กับการกําหนดค่าโหมด รองรับโหมด 0–2 ภายใต้การควบคุมกลุ่ม A |
| พอร์ต B | พอร์ต I/O 8 บิตอื่น**สําหรับการถ่ายโอนข้อมูล ทํางานภายใต้การควบคุมกลุ่ม B และรองรับโหมด 0 และ 1 |
| พอร์ต C | พอร์ต 8 บิตแบบแยกส่วนแบ่งออกเป็นสองกลุ่ม 4 บิต: บน (PC7–PC4) และล่าง (PC3–PC0) สิ่งเหล่านี้สามารถทําหน้าที่เป็นพอร์ต I/O อิสระ สายควบคุม หรือสัญญาณจับมือ แต่ละบิตยังสามารถควบคุมได้โดยใช้โหมด Bit Set/Reset (BSR) |
| บัสข้อมูลภายใน (8 บิต) | เชื่อมต่อบล็อกภายในทั้งหมดของ 8255 ถ่ายโอนข้อมูลและข้อมูลการควบคุมระหว่าง CPU ตรรกะการควบคุม และพอร์ต |
| พาวเวอร์ซัพพลาย | ชิปทํางานด้วยแหล่งจ่ายไฟ DC +5V และการเชื่อมต่อ GND เพื่อจ่ายไฟให้กับวงจรทั้งหมด |
โหมดการทํางานและหลักการทํางานของชิป 8255 PPI
Intel 8255 ทําหน้าที่เป็นอินเทอร์เฟซที่ตั้งโปรแกรมได้ระหว่าง CPU และอุปกรณ์ต่อพ่วง โดยแปลการทํางานของบัสเป็นการถ่ายโอนข้อมูลแบบขนาน การดําเนินการถูกควบคุมโดยขั้นตอนการเริ่มต้นและโหมดที่เลือกได้:
รีเซ็ตสถานะ
เมื่อเปิดเครื่องหรือรีเซ็ต พอร์ตทั้งหมด (A, B และ C) จะมีค่าเริ่มต้นเป็นโหมดอินพุตเพื่อหลีกเลี่ยงความเสียหายต่ออุปกรณ์ต่อพ่วงด้วยเอาต์พุตที่ไม่ได้ตั้งใจ
การเริ่มต้น
CPU ต้องส่งคําควบคุมที่กําหนดค่าแต่ละพอร์ตเป็นอินพุต/เอาต์พุต และเลือกโหมดการทํางานหนึ่งในสี่โหมดการทํางาน พอร์ตจะยังคงไม่ทํางาน
โหมดการทํางาน
โหมดตั้งค่า/รีเซ็ตบิต (BSR)
• ใช้ได้กับพอร์ต C เท่านั้น
•อนุญาตให้ตั้งค่าหรือล้างแต่ละบิตสําหรับงานควบคุม / สถานะ
โหมด 0 – I/O อย่างง่าย
•อินพุต / เอาต์พุตพื้นฐานโดยไม่ต้องจับมือ
• ใช้สําหรับการถ่ายโอนที่ตรงไปตรงมา เช่น ไฟ LED สวิตช์ และจอแสดงผล
โหมด 1 – Strobed I/O
• เพิ่มสัญญาณจับมือ (STB, ACK, IBF, OBF) ผ่านพอร์ต C
•ให้แน่ใจว่าการถ่ายโอนข้อมูลอุปกรณ์ต่อพ่วง CPU ↔ ที่ซิงโครไนซ์
โหมด 2 – I/O แบบสองทิศทาง
• ใช้ได้เฉพาะที่พอร์ต A เท่านั้น
•รองรับการถ่ายโอนแบบสองทางด้วยการควบคุมการจับมือซึ่งมีประโยชน์สําหรับอุปกรณ์ความเร็วสูงหรือแบบอะซิงโครนัส
การดําเนินการอ่าน/เขียน
• เขียน: CPU วางข้อมูลบนบัสระบบ และ 8255 ถอดรหัสบรรทัดที่อยู่ (A0, A1) เพื่อนําไปยังสลักเอาต์พุตของพอร์ตที่ถูกต้อง
•อ่าน: อุปกรณ์ภายนอกใส่ข้อมูลบนสายพอร์ตซึ่ง 8255 สลักและทําให้ CPU พร้อมใช้งานในระหว่างคําสั่งอ่าน
การซิงโครไนซ์
• ในโหมด 0 การถ่ายโอนข้อมูลจะเกิดขึ้นโดยตรงโดยไม่ต้องจับมือกัน
•ในโหมด 1 และ 2 สัญญาณจับมือจากพอร์ต C จะประสานความพร้อมและการยอมรับป้องกันการสูญหายของข้อมูลระหว่างการถ่ายโอนความเร็วสูงหรือแบบอะซิงโครนัส
ข้อควรพิจารณาในการเชื่อมต่อของชิป 8255 PPI
เมื่อออกแบบระบบด้วย 8255 การเชื่อมต่ออย่างระมัดระวังจะช่วยให้มั่นใจได้ถึงความน่าเชื่อถือและป้องกันความเสียหายต่อทั้งชิปและอุปกรณ์ภายนอก:
• สถานะอินพุตเริ่มต้น – เมื่อรีเซ็ต พอร์ตทั้งหมดจะมีค่าเริ่มต้นเป็นอินพุต วิธีนี้จะหลีกเลี่ยงความขัดแย้ง แต่ยังหมายความว่าเอาต์พุตจะไม่ทํางานจนกว่าจะมีการกําหนดค่า CPU ต้องส่งคําควบคุมเสมอเพื่อกําหนดทิศทางและโหมดอย่างถูกต้องก่อนที่จะพยายามสื่อสาร
• ขีดจํากัดของไดรฟ์เอาต์พุต – พอร์ตของ 8255 สามารถจัดหาหรือจมกระแสไฟที่จํากัดเท่านั้น (ไม่กี่มิลลิแอมป์) การขับเคลื่อนของหนักโดยตรง เช่น หลอดไฟ โซลินอยด์ หรือรีเลย์นั้นไม่ปลอดภัย โดยทั่วไปจะใช้บัฟเฟอร์หรือไอซีไดรเวอร์ เช่น ULN2803 (อาร์เรย์ดาร์ลิงตัน) หรือเกตแบบเปิดคอลเลคเตอร์ เช่น 7406 แทน สิ่งเหล่านี้ให้ความสามารถในปัจจุบันที่สูงขึ้นและปกป้อง PPI
• การควบคุมมอเตอร์ – สําหรับมอเตอร์กระแสตรงหรือสเต็ปเปอร์มอเตอร์ พอร์ต 8255 ไม่ควรเชื่อมต่อโดยตรง เอาต์พุตจะต้องถูกกําหนดเส้นทางผ่านทรานซิสเตอร์ stages หรือวงจรไดรเวอร์ H-bridge แทน การจัดเรียงนี้ช่วยให้กระแสไหลแบบสองทิศทางในขณะที่แยก PPI จากแรงดันไฟกระชากแบบเหนี่ยวนํา
• การสลับโหลด AC – การเชื่อมต่อกับเครื่องใช้ไฟฟ้ากระแสสลับต้องมีการแยกเพื่อความปลอดภัย รีเลย์เชิงกลหรือโซลิดสเตตรีเลย์ (SSR) ที่ขับเคลื่อนผ่านบัฟเฟอร์ stages ช่วยให้มั่นใจได้ว่า 8255 จัดการเฉพาะสัญญาณควบคุม ในขณะที่โหลดไฟฟ้าแรงสูงจริงจะถูกสลับจากภายนอกอย่างปลอดภัย
• ข้อจํากัดของพอร์ต C – บิตของพอร์ต C ไม่สามารถใช้งานได้อย่างอิสระเป็น I/O ทั่วไปเสมอไป ในโหมด 1 และ 2 พินหลายตัว (เช่น STB, ACK, IBF, OBF) จะถูกสงวนไว้โดยอัตโนมัติสําหรับการควบคุมการจับมือ คุณต้องคํานึงถึงบรรทัดที่สงวนไว้เหล่านี้เพื่อหลีกเลี่ยงความขัดแย้งเมื่อผสม I/O ทั่วไปกับการจับมือ
ข้อดีของชิป 8255 PPI
• ความเข้ากันได้ของ CPU – 8255 ทํางานร่วมกับโปรเซสเซอร์อย่าง Intel 8085, 8086 และรุ่นที่เข้ากันได้อย่างราบรื่น การออกแบบตรงกับโปรโตคอลบัสมาตรฐาน ทําให้การผสานรวมตรงไปตรงมาโดยไม่ต้องใช้ตรรกะกาวเพิ่มเติม
• การกําหนดค่าพอร์ตที่ยืดหยุ่น – ด้วยพอร์ต 8 บิตสามพอร์ต (A, B, C) ผู้ใช้สามารถกําหนดค่าเป็นอินพุต เอาต์พุต หรือผสมกันได้ขึ้นอยู่กับแอปพลิเคชัน ความสามารถในการสลับระหว่าง I/O แบบธรรมดา (โหมด 0) และการสื่อสารที่ขับเคลื่อนด้วยการจับมือ (โหมด 1 และ 2) ช่วยให้ชิปตัวเดียวกันสามารถจัดการงานได้หลากหลาย
• การทํางานแบบจ่ายไฟเดี่ยว – ทํางานจากแหล่งจ่ายไฟมาตรฐาน +5 V 8255 นั้นง่ายต่อการจ่ายไฟในระบบที่ใช้ TTL ไม่จําเป็นต้องใช้ตัวควบคุมพิเศษหรือหลายระดับแรงดันไฟฟ้าทําให้การออกแบบบอร์ดง่ายขึ้น
•การถ่ายโอนข้อมูลแบบขนานที่เชื่อถือได้ - ชิปให้การสื่อสารแบบขนาน 8 บิตที่เสถียรและคาดการณ์ได้ช่วยลดความไม่แน่นอนของเวลา ความน่าเชื่อถือนี้ทําให้เหมาะสําหรับการขับขี่จอแสดงผลการอ่านเซ็นเซอร์และการจัดการสัญญาณควบคุมในระบบจริง
• คุณค่าทางการศึกษา – เนื่องจากมีเอกสารเป็นอย่างดีและพร้อมใช้งานอย่างกว้างขวาง 8255 จึงเป็นเครื่องมือการสอนที่สําคัญในห้องปฏิบัติการไมโครโปรเซสเซอร์และชุดฝึกอบรม คุณสามารถเข้าใจแนวคิดการเชื่อมต่อ I/O ได้อย่างรวดเร็วผ่านการทดลองจริงกับอุปกรณ์นี้
การประยุกต์ใช้ชิป 8255 PPI
• ระบบการศึกษา – ชุดฝึกอบรมและคณะกรรมการห้องปฏิบัติการมักมี 8255 เพื่อแสดงแนวคิดการเชื่อมต่ออุปกรณ์ต่อพ่วง คุณสามารถฝึกเขียนโปรแกรมโหมดต่างๆ และสังเกตการโต้ตอบจริงกับอุปกรณ์ภายนอก
• การควบคุมการแสดงผล – ชิปขับเคลื่อนอุปกรณ์เอาต์พุตภาพ เช่น ไฟ LED เจ็ดส่วน โมดูล LCD และแผงตัวอักษรและตัวเลข ด้วยสาย I/O หลายสาย จึงสามารถรีเฟรชการแสดงผลหรือส่งคําสั่งควบคุมไปยัง IC ไดรเวอร์ได้
•การเชื่อมต่อแป้นพิมพ์ - แป้นพิมพ์เมทริกซ์ในเทอร์มินัลยุคแรกและคอมพิวเตอร์ส่วนบุคคลมักถูกสแกนโดยใช้ 8255 ด้วยการกําหนดค่าบางบรรทัดเป็นไดรเวอร์แถวและบางบรรทัดเป็นเซ็นเซอร์คอลัมน์ จึงตรวจจับการกดปุ่มได้อย่างมีประสิทธิภาพ
• การควบคุมมอเตอร์ – สเต็ปเปอร์มอเตอร์และมอเตอร์กระแสตรงสามารถควบคุมได้เมื่อจับคู่ 8255 กับทรานซิสเตอร์สเตจ อาร์เรย์ดาร์ลิงตัน หรือสะพาน H สิ่งนี้ทําให้มีประโยชน์ในวิทยาการหุ่นยนต์ ระบบกําหนดตําแหน่ง และโครงการระบบอัตโนมัติ
• การได้มาซึ่งข้อมูล – เมื่อเชื่อมต่อกับ ADC (Analog-to-Digital Converters) และ DAC (Digital-to-Analog Converters) 8255 มีอินเทอร์เฟซที่สมบูรณ์สําหรับงานการวัดและควบคุม สิ่งนี้ทําให้ไมโครโปรเซสเซอร์สามารถจัดการสัญญาณในอุปกรณ์ทางวิทยาศาสตร์และอุตสาหกรรมได้
• ระบบอัตโนมัติทางอุตสาหกรรม – พบว่า 8255 ใช้ในการควบคุมสัญญาณไฟจราจร ตรรกะของลิฟต์ และแผงตรวจสอบกระบวนการ ความสามารถในการจัดการอินพุตและเอาต์พุตหลายรายการได้อย่างน่าเชื่อถือทําให้เป็นโซลูชันต้นทุนต่ําสําหรับระบบควบคุมแบบฝังตัว
• Retro-Computing – เครื่องคลาสสิก เช่น คอมพิวเตอร์ IBM PC/XT และ MSX ใช้ 8255 สําหรับการเชื่อมต่ออุปกรณ์ต่อพ่วง นอกจากนี้ยังใช้ในเครื่องพิมพ์และการ์ดเอ็กซ์แพนชัน ซึ่งยึดติดกับประวัติศาสตร์คอมพิวเตอร์ส่วนบุคคลในยุคแรก
การเปรียบเทียบชิป 8255 PPI กับ PPI อื่นๆ
8255 เทียบกับ 8155

Intel 8155 รวมฟังก์ชันหลายอย่างไว้ในแพ็คเกจเดียว: มี RAM แบบคงที่ขนาดเล็ก ตัวจับเวลาที่ตั้งโปรแกรมได้ และพอร์ต I/O เอนกประสงค์ ทําให้เหมาะสําหรับระบบขนาดกะทัดรัดที่ต้องการการควบคุมหน่วยความจําและเวลา ในทางตรงกันข้าม 8255 มุ่งเน้นไปที่ I/O ที่ตั้งโปรแกรมได้ทั้งหมดโดยไม่มีหน่วยความจําหรือเวลาในตัว การออกแบบที่เรียบง่ายทําให้ราคาถูกลงและง่ายต่อการตั้งโปรแกรมเมื่อแอปพลิเคชันไม่ต้องการ RAM หรือตัวจับเวลาในตัว
8255 เทียบกับ 8259

8259 Programmable Interrupt Controller มีจุดประสงค์ที่แตกต่างกันมาก: การจัดการการขัดจังหวะของฮาร์ดแวร์เพื่อช่วยให้ CPU ตอบสนองต่อเหตุการณ์ภายนอกได้อย่างรวดเร็ว ในขณะที่ 8255 จัดการการถ่ายโอนข้อมูล I/O แบบขนาน พิกัด 8259 จะขัดจังหวะสัญญาณ ในระบบที่ใช้ไมโครโปรเซสเซอร์หลายระบบชิปทั้งสองถูกใช้ร่วมกัน 8255 สําหรับเชื่อมต่อกับอุปกรณ์เช่นแป้นพิมพ์และจอแสดงผลและ 8259 สําหรับจัดการคําขอขัดจังหวะที่สร้างโดยอุปกรณ์เหล่านั้น
8255 เทียบกับ Modern GPIO Expanders

ระบบในปัจจุบันมักใช้ตัวขยาย GPIO ที่ใช้ I²C หรือ SPI (เช่น MCP23017 หรือ PCF8574) อุปกรณ์เหล่านี้มีพิน I/O เพิ่มเติมโดยมีการเชื่อมต่อน้อยลง ช่วยประหยัดพื้นที่บอร์ด และลดจํานวนพินบน CPU อย่างไรก็ตาม พวกมันทํางานแบบอนุกรม ซึ่งอาจช้ากว่าเมื่อเทียบกับการเข้าถึงแบบขนานโดยตรงของ 8255 แม้ว่า 8255 จะต้องใช้สายบัสมากขึ้น แต่โครงสร้างแบบขนานช่วยให้ถ่ายโอนได้เร็วขึ้นและทําให้มีค่าสูงในสภาพแวดล้อมทางการศึกษา ซึ่งการควบคุมพินแต่ละพินโดยตรงและการทําความเข้าใจเวลาบัสเป็นสิ่งสําคัญสําหรับการเรียนรู้
การแก้ไขปัญหาและปัญหาทั่วไป
การทํางานกับ 8255 บางครั้งอาจนําไปสู่ความผิดพลาดของระบบได้หากไม่ปฏิบัติตามกฎการออกแบบอย่างระมัดระวัง ปัญหาทั่วไปและการเยียวยา ได้แก่ :
• พอร์ตที่ไม่ได้เริ่มต้น – หลังจากรีเซ็ต พอร์ตทั้งหมดจะมีค่าเริ่มต้นเป็นโหมดอินพุต หาก CPU ไม่ส่งคําควบคุมที่เหมาะสม เอาต์พุตจะยังคงไม่ทํางานหรือทํางานอย่างคาดเดาไม่ได้ ตั้งโปรแกรมรีจิสเตอร์ควบคุมทุกครั้งก่อนที่จะพยายามอ่านหรือเขียนข้อมูล
•คําควบคุมไม่ถูกต้อง - คําควบคุมที่กําหนดค่าไม่ถูกต้องอาจกําหนดทิศทางหรือโหมดที่ไม่ถูกต้องให้กับพอร์ตล็อคสัญญาณที่คาดไว้ ตรวจสอบข้ามค่าคําควบคุมกับตารางแผ่นข้อมูลเพื่อให้แน่ใจว่ามีการตั้งค่าบิตที่เหมาะสม
• ความล้มเหลวในการจับมือ – ในโหมด 1 และ 2 พอร์ต C จะให้สัญญาณจับมือที่จําเป็น (STB, ACK, IBF, OBF) การเชื่อมต่อที่ขาดหายไป เดินสายผิด หรือตีความผิดทําให้การถ่ายโอนหยุดชะงักหรือสูญหาย ตรวจสอบทั้งการเดินสายและความคาดหวังระดับลอจิกของอุปกรณ์ที่เชื่อมต่ออย่างระมัดระวัง
• เอาต์พุตโอเวอร์โหลด – พินพอร์ตแต่ละพินสามารถรองรับกระแสไฟฟ้าขนาดเล็กเท่านั้น การขับเคลื่อน LED สามารถทําได้โดยตรงด้วยตัวต้านทาน แต่มอเตอร์ รีเลย์ และหลอดไฟต้องการขั้นตอนบัฟเฟอร์ภายนอก เช่น อาร์เรย์ทรานซิสเตอร์หรือไอซีไดรเวอร์ การเพิกเฉยต่อขีดจํากัดนี้อาจเสี่ยงต่อความเสียหายถาวรต่อชิป
• ความขัดแย้งของบัส – หากอุปกรณ์หลายเครื่องพยายามขับเคลื่อนบัสระบบพร้อมกัน อาจเกิดความเสียหายของข้อมูลหรือความเสียหายของฮาร์ดแวร์ได้ อนุญาโตตุลาการบัสที่เหมาะสมและการใช้สัญญาณเปิดใช้งาน (RD', WR', CS') ป้องกันปัญหานี้
•เครื่องมือดีบัก - เมื่อปัญหายังคงมีอยู่อุปกรณ์ทดสอบจะช่วยแยกข้อบกพร่อง เครื่องวิเคราะห์ลอจิกสามารถยืนยันสัญญาณเวลาและควบคุม ในขณะที่ออสซิลโลสโคปสามารถตรวจสอบว่าปัญหาเกิดจากการเดินสายฮาร์ดแวร์ที่มีเสียงดังหรือการเริ่มต้นซอฟต์แวร์ที่ไม่ถูกต้องหรือไม่
สรุป
Intel 8255 PPI ยังคงเป็นรากฐานที่สําคัญของการเชื่อมต่อไมโครโปรเซสเซอร์ แม้ว่าส่วนใหญ่จะถูกแทนที่ด้วยตัวขยาย GPIO ที่ทันสมัยและไมโครคอนโทรลเลอร์ I/O ในตัว แต่ก็ยังคงทําหน้าที่เป็นเครื่องมือการสอนที่ใช้งานอยู่ ความชัดเจนในการสาธิตการถ่ายโอนข้อมูลแบบขนาน การกําหนดค่าพอร์ต และการจับมือทําให้มีค่าสําหรับทุกคน
คําถามที่พบบ่อย [FAQ]
คําควบคุมใน 8255 คืออะไร และเหตุใดจึงสําคัญ
คําควบคุมคือคําสั่ง 8 บิตที่ส่งโดย CPU เพื่อกําหนดค่าพอร์ตและโหมดของ 8255 หากไม่มีพอร์ตทั้งหมดจะยังคงอยู่ในสถานะอินพุตเริ่มต้น กําหนดว่าแต่ละพอร์ตทําหน้าที่เป็นอินพุตหรือเอาต์พุต และเลือกระหว่างโหมด 0, 1, 2 หรือ Bit Set/Reset
8255 สามารถขับเคลื่อนมอเตอร์หรือรีเลย์โดยตรงได้หรือไม่?
ไม่ใช่ เอาต์พุต 8255 สามารถจัดหาหรือจมได้เพียงไม่กี่มิลลิแอมป์ ซึ่งไม่เพียงพอสําหรับมอเตอร์หรือรีเลย์ ต้องใช้วงจรไดรเวอร์ภายนอก เช่น อาร์เรย์ทรานซิสเตอร์หรือบริดจ์ H เพื่อจัดการกับกระแสไฟที่สูงขึ้นอย่างปลอดภัย
เหตุใด 8255 จึงยังคงใช้ในการศึกษาในปัจจุบัน
8255 เป็นวิธีที่ชัดเจนและลงมือปฏิบัติจริงในการเรียนรู้เกี่ยวกับ I/O ของไมโครโปรเซสเซอร์ คําควบคุม และการถ่ายโอนข้อมูลแบบขนาน สถาปัตยกรรมที่เรียบง่ายช่วยให้นักเรียนเข้าใจแนวคิดหลักก่อนที่จะเปลี่ยนไปใช้ไมโครคอนโทรลเลอร์ที่ทันสมัย
จะเกิดอะไรขึ้นหากคุณใช้พอร์ต C ในโหมดจับมือ
ในโหมด 1 และ 2 สายพอร์ต C บางสายสงวนไว้สําหรับสัญญาณจับมือ (เช่น STB, ACK, IBF, OBF) พินเหล่านี้ไม่สามารถใช้เป็น I/O เอนกประสงค์ในโหมดเหล่านั้น ซึ่งคุณต้องคํานึงถึงเพื่อหลีกเลี่ยงความขัดแย้ง
8255 แตกต่างจากตัวขยาย GPIO สมัยใหม่อย่างไร
ซึ่งแตกต่างจากตัวขยาย I²C/SPI ที่ใช้การสื่อสารแบบอนุกรม 8255 ทํางานร่วมกับบัสแบบขนาน ทําให้สามารถถ่ายโอนได้เร็วขึ้น แต่ต้องใช้พินมากขึ้น สิ่งนี้ทําให้ 8255 ประหยัดพื้นที่น้อยลง แต่มีค่าสําหรับการควบคุมจริงและการเรียนรู้เวลาบัส