อ่าน 2 นาที
เทคโนโลยี MOS 6522
MOS Technology 6522 Versatile Interface Adapter (VIA) เป็น วงจรรวม ที่ออกแบบและผลิตโดย MOS Technology เพื่อ ใช้เป็นตัวควบคุม พอร์ต I/O สำหรับ ไมโครโปรเซสเซอร์ตระกูล 6502...
เทคโนโลยี MOS 6522


MOS Technology 6522 Versatile Interface Adapter (VIA) เป็นวงจรรวมที่ออกแบบและผลิตโดยMOS Technologyเพื่อ ใช้เป็นตัวควบคุม พอร์ต I/Oสำหรับ ไมโครโปรเซสเซอร์ตระกูล 6502 โดยมีพอร์ต I/O แบบขนาน 8 บิตสองพอร์ตแบบสองทิศทาง ตัว จับเวลา 16 บิตสองตัว (หนึ่งในนั้นสามารถทำงานเป็นตัวนับเหตุการณ์ได้ด้วย) และ รีจิสเตอร์เลื่อน 8 บิตสำหรับการสื่อสารแบบอนุกรมหรือการแปลงข้อมูลระหว่างรูปแบบอนุกรมและขนาน ทิศทางของแต่ละบิตของพอร์ต I/O ทั้งสองสามารถตั้งโปรแกรมแยกกันได้ นอกจากผลิตโดย MOS Technology แล้ว 6522 ยังถูกผลิตซ้ำโดยบริษัทอื่นๆ เช่นRockwellและSynertekด้วย
ชิป 6522 ถูกใช้กันอย่างแพร่หลายในคอมพิวเตอร์ในช่วงทศวรรษ 1980 โดยเฉพาะเครื่องของCommodore [ 1 ]และยังเป็นส่วนสำคัญของการออกแบบApple III , Oric-1และOric Atmos , BBC Micro , Victor 9000/Sirius 1 และ Apple Macintoshแพลตฟอร์มวิดีโอเกม เช่นVectrex ก็ใช้ชิป 6522 เช่นเดียวกับแผงหน้าปัดดิจิทัลของ Corvette ในช่วงปี 1984 ถึง 1989 ชิปเวอร์ชัน CMOSความเร็วสูงW65C22 ผลิตโดยWestern Design Center (WDC)
พอร์ตอินพุต/เอาต์พุต
VIA ประกอบด้วยสายอินพุต/เอาต์พุต 20 สาย ซึ่งจัดเรียงเป็นพอร์ตแบบสองทิศทาง 8 บิตสองพอร์ต (หรือสายอินพุต/เอาต์พุตอเนกประสงค์ 16 สาย) และสายควบคุมสี่สาย (สำหรับการเชื่อมต่อและ สร้างสัญญาณ ขัดจังหวะ ) ทิศทางสำหรับสายทั่วไปทั้ง 16 สาย (PA0-7, PB0-7) สามารถตั้งโปรแกรมได้อย่างอิสระ สายควบคุมสามารถตั้งโปรแกรมให้สร้างสัญญาณขัดจังหวะเมื่อถูกเปิดใช้งาน (ทั้งสี่สาย) ล็อกพอร์ตอินพุต/เอาต์พุตที่เกี่ยวข้อง (CA1 และ CB1) สร้างสัญญาณเชื่อมต่ออัตโนมัติสำหรับอุปกรณ์บนพอร์ตอินพุต/เอาต์พุต หรือทำงานเป็นเอาต์พุตที่ควบคุมด้วยโปรแกรมธรรมดา (CA2 และ CB2) CB1 และ CB2 ยังใช้เป็นอินพุตสัญญาณนาฬิกาและสายข้อมูลสำหรับรีจิสเตอร์เลื่อน ทำให้ไม่สามารถใช้งานสำหรับฟังก์ชันอื่น ๆ ได้ในขณะที่รีจิสเตอร์เลื่อนเปิดใช้งานอยู่
ตัวจับเวลา
VIA มีตัวจับเวลา/ตัวนับ 16 บิตสองตัว แต่ละตัวสามารถใช้งานในโหมด "จับเวลาช่วงเวลา" แบบ ครั้งเดียว ( monostable ) ได้ ตัวจับเวลาตัวที่ 1 ยังสามารถใช้งานในโหมด "ทำงานต่อเนื่อง" (ตัวหาร/ คลื่นสี่เหลี่ยม ) ซึ่งตัวจับเวลาจะถูกโหลดค่าเริ่มต้นใหม่โดยอัตโนมัติเมื่อถึงศูนย์ และตัวจับเวลาตัวที่ 2 ยังสามารถใช้งานในโหมด "นับพัลส์" ซึ่งตัวจับเวลาจะนับการเปลี่ยนสถานะจากสูงไปต่ำของขา PB6 (บิตที่ 7 ของพอร์ต I/O แบบขนาน B) ในโหมดครั้งเดียว ตัวจับเวลาแต่ละตัวจะทำงานต่อเนื่องเพื่อให้สามารถกำหนดเวลาตั้งแต่ถึงศูนย์ได้ แต่จะไม่มีการขัดจังหวะเพิ่มเติมจนกว่าจะรีสตาร์ทตัวจับเวลา ตัวจับเวลาแต่ละตัวสามารถสร้างการขัดจังหวะเมื่อถึงศูนย์ และตัวจับเวลาตัวที่ 1 ยังสามารถส่งออกพัลส์ (ในโหมดจับเวลาช่วงเวลา) หรือคลื่นสี่เหลี่ยม (ในโหมดทำงานต่อเนื่อง) บนขา PB7 (บิตที่ 8 ของพอร์ต B) ตัวจับเวลาตัวที่ 2 สามารถใช้เพื่อให้ความถี่สัญญาณนาฬิกาสำหรับรีจิสเตอร์เลื่อนได้ คุณสมบัติที่มีประโยชน์ของโหมดการทำงานแบบอิสระคือ ตัวนับแลตช์ 16 บิตสามารถโหลดด้วยค่าใหม่ได้โดยไม่ต้องโหลดตัวนับใหม่ ดังนั้นจะโหลดค่าใหม่ก็ต่อเมื่อค่าปัจจุบันถึงศูนย์เท่านั้น ซึ่งจะเปลี่ยนความถี่เอาต์พุตได้อย่างราบรื่น คุณสมบัติของตัวจับเวลา 1 นี้ เมื่อรวมกับความสามารถในการส่งออกไปยังพิน PB7 สามารถใช้เพื่อสร้างรูปคลื่นที่ซับซ้อนได้ เช่น สัญญาณ การปรับความกว้างพัลส์การกวาดความถี่ หรือสตรีมบิตอนุกรมแบบไบเฟสหรือ เข้ารหัส FM [ 2 ]
เครื่องบันทึกการเปลี่ยนแปลง
รีจิสเตอร์เลื่อนของ VIA เป็นแบบสองทิศทาง กว้าง 8 บิต และสามารถทำงานได้จากสัญญาณนาฬิกาที่สร้างโดยตัวจับเวลา (จากตัวจับเวลา 2) สัญญาณนาฬิกาของ CPU หรือแหล่งสัญญาณภายนอกบนสาย CB1 การรับ/ส่งข้อมูลแบบอนุกรมอยู่บนสายCB2และCB1ยังสามารถตั้งโปรแกรมให้ส่งสัญญาณนาฬิกาแบบบิตสำหรับอุปกรณ์ อนุกรมที่ใช้สัญญาณนาฬิกา ภายนอกได้อีกด้วย
เอาต์พุต IRQ
NMOS 6522 มี เอาต์พุต IRQ แบบ open drainซึ่งสามารถใช้ใน วงจรขัดจังหวะ แบบ wired-ORได้ ในทางตรงกันข้าม WDC W65C22S มี เอาต์พุต IRQ แบบ totem poleซึ่งต้องแยกออกจากวงจร wired-OR ด้วยไดโอด Schottkyเนื่องจากเอาต์พุต totem pole จะขับขา IRQ ให้เป็นระดับสูงเมื่อ W65C22S ไม่ได้ทำการขัดจังหวะ ปัญหาเฉพาะนี้ได้รับการแก้ไขใน WDC W65C22N ซึ่งติดตั้งเอาต์พุต IRQ แบบ open-drain [ 3 ]
แมลง
เนื่องจากข้อบกพร่องในการออกแบบ หากขอบสัญญาณบนCB1ตกอยู่ภายในไม่กี่นาโนวินาทีของขอบสัญญาณขาลงของสัญญาณนาฬิกา ϕ2 (เฟส -2) ขอบสัญญาณของ CB1จะถูกละเลย ทำให้เกิดการสูญเสียบิตและข้อผิดพลาดในการจัดเฟรมข้อมูลในขั้นตอนถัดไป
วิธีแก้ปัญหาคือใส่สัญญาณนาฬิกาภายนอกเข้าไปใน อินพุต D ของ ฟลิปฟลอป 74ACT74 ต่อ เอาต์พุต Q ของฟลิปฟลอปไปยังขา CB1ของ 6522 และตั้งสัญญาณนาฬิกาให้กับฟลิปฟลอปด้วย ϕ0 หรือ ϕ2 [ 4 ]
ข้อบกพร่องของรีจิสเตอร์เลื่อนอนุกรมได้รับการแก้ไขแล้วในชิปCalifornia Micro Devices CMD G65SC22 และในชิปMOS 6526ซึ่งคอมโมดอร์ได้นำชิป MOS 6526 มาใช้แทนที่ 6522 ตั้งแต่คอมโมดอร์ 64เป็นต้นไป
นอกเหนือจากบั๊กในรีจิสเตอร์เลื่อนที่กล่าวมาแล้ว ยังมีปัญหาความเสียหายของรีจิสเตอร์ที่มักเกิดขึ้นเฉพาะในระบบที่ใช้ 6522 กับไมโครโปรเซสเซอร์ที่มี สถาปัตยกรรม บัส ที่ไม่ใช่ 6502 เช่นMotorola 68000หากสายแอดเดรสเปลี่ยนแปลงในขณะที่สัญญาณเลือกชิปต่ำ (ไม่ทำงาน) แต่สัญญาณนาฬิกา ϕ2 สูง (ทำงาน) เนื้อหาของรีจิสเตอร์อาจเปลี่ยนแปลงได้แม้ว่าชิปจะไม่ได้ถูกเลือกก็ตาม ปัญหานี้ได้รับการแก้ไขแล้วในเวอร์ชัน CMOS บางเวอร์ชัน แต่ไม่ใช่ทุกเวอร์ชัน
ลิงก์ภายนอก
- เอกสารข้อมูลเบื้องต้นของ MOS 6522 VIA (ปี 1977)
- MOS 6522 VIA die shots
- คำอธิบาย WDC W65C22
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ เทคโนโลยี MOS 6522
MOS Technology 6522 Versatile Interface Adapter (VIA) เป็น วงจรรวม ที่ออกแบบและผลิตโดย MOS Technology เพื่อ ใช้เป็นตัวควบคุม พอร์ต I/O สำหรับ ไมโครโปรเซสเซอร์ตระกูล 6502...
พอร์ตอินพุต/เอาต์พุต
VIA ประกอบด้วยสายอินพุต/เอาต์พุต 20 สาย ซึ่งจัดเรียงเป็นพอร์ตแบบสองทิศทาง 8 บิตสองพอร์ต (หรือสายอินพุต/เอาต์พุตอเนกประสงค์ 16 สาย) และสายควบคุมสี่สาย (สำหรับ การเชื่อมต่อ และ สร้างสัญญาณ ขัดจังหวะ ) ทิศทางสำหรับสายทั่วไปทั้ง 16 สาย (PA0-7, PB0-7)...
ตัวจับเวลา
VIA มีตัวจับเวลา/ตัวนับ 16 บิตสองตัว แต่ละตัวสามารถใช้งานในโหมด "จับเวลาช่วงเวลา" แบบ ครั้งเดียว ( monostable ) ได้ ตัวจับเวลาตัวที่ 1 ยังสามารถใช้งานในโหมด "ทำงานต่อเนื่อง" (ตัวหาร/ คลื่นสี่เหลี่ยม )...
เครื่องบันทึกการเปลี่ยนแปลง
รีจิสเตอร์เลื่อนของ VIA เป็นแบบสองทิศทาง กว้าง 8 บิต และสามารถทำงานได้จากสัญญาณนาฬิกาที่สร้างโดยตัวจับเวลา (จากตัวจับเวลา 2) สัญญาณนาฬิกาของ CPU หรือแหล่งสัญญาณภายนอกบนสาย CB1 การรับ/ส่งข้อมูลแบบอนุกรมอยู่บนสาย CB2 และ CB1...