ไมโครโปรเซสเซอร์ (Microprocessor)
ไมโครโปรเซสเซอร์ (Microprocessor)
รายละเอียดของ Chip Intel 8251
Support Chip สำหรับการรับส่งข้อมูลแบบอนุกรม
Intel 8251
เช่นเดียวกับในส่วนของแบบขนาน 8251 เป็น chip ที่เป็นที่รู้จักกันดี มีราคาถูกและหาได้ง่าย จึงขอนำมาใช้สำหรับการแนะนำ
Zilog Z8440 & Z84C40/1/2/3/4 SIOMotorola 6822
หน้าที่ของ 8251
ทำหน้าที่เป็นตัวรับและส่งข้อมูลระหว่างอุปกรณ์ input /output แบบอนุกรมกับ Microprocessor สามารถทำงานได้ทั้ง
1. Synchronous mode
2. Asynchronous mode
แต่ส่วนใหญ่มักจะใช้กับ asynchronous mode มากกว่า
ขาต่างๆของ 8251
8251 มีขาต่างๆทั้งหมด 28 ขา แต่ละขามีหน้าที่ดังต่อไปนี้
|
ชื่อสัญญาณ |
หน้าที่ของขา |
ชนิดสัญญาณ |
|
D0-D7 |
บัสข้อมูล |
อินพุท/เอาท์พุท |
|
RESET |
สัญญาณรีเซท |
อินพุท |
|
CLK |
สัญญาณนาฬิกา |
อินพุท |
|
C/D |
สัญญาณเลือกควบคุม/ข้อความ |
อินพุท |
|
RD |
สัญญาณแสดงการอ่าน |
อินพุท |
|
WR |
สัญญาณแสดงการเขียน |
อินพุท |
|
CS |
สัญญาณเลือกชิป 8251 |
อินพุท |
|
DSR |
Data Set Ready |
อินพุท |
|
DTR |
Data Terminal Ready |
เอาท์พุท |
|
CTS |
Clear To Send |
เอาท์พุท |
|
RTS |
Request To Send |
เอาท์พุท |
|
TxD |
ข้อมูลเอาท์พุทแบบอนุกรม |
เอาท์พุท |
|
TxRDY |
พร้อมจะรับข้อมูลไปส่ง |
เอาท์พุท |
|
TxEMPY |
บัฟเฟอร์ข้อมูลว่าง |
เอาท์พุท |
|
TxC |
สัญญาณนาฬิการับส่งข้อมูล |
อินพุท |
|
RxD |
ข้อมูลอินพุทแบบอนุกรม |
อินพุท |
|
RxRDY |
ข้อมูลพร้อมจะส่งไปยังบัสข้อมูล |
เอาท์พุท |
|
RxD |
สัญญาณนาฬิกากำหนดการรับ |
อินพุท |
|
SYNDET/BD |
Syschronous Detect Break Detect |
อินพุท/เอาท์พุท |
|
Vcc,GND |
ไฟเลี้ยง/กราวนด์ |
โดยสัญญาณ RD, WR, CS, DSR, CTS, RTS, TxC, RxC จะ active ที่สัญญาณ "0"และสำหรับ C/D ถ้าเป็น "0" จะหมายถึงสัญญาณข้อมูล ถ้าเป็น "1" จะหมายถึงสัญญาณควบคุม
สัญญาณที่ต่อกับ CPU
สัญญาณของ 8251 ที่ต่อกับ CPU มีดังต่อไปนี้
D0-D7, RESET, CLK WR, RD, C/D, CS
สัญญาณที่ต่อกับ MODEM
สัญญาณของ 8251 ที่ต่อกับ MODEMมีดังต่อไปนี้ DSR, DTR, RTS, DTS
การโปรแกรม 8251
การโปรแกรม 8251 ทำได้โดย CPU ออกคำสั่งมายัง 8251 มีขั้นตอนดังนี้
1. ส่งสัญญาณ RESET
2. ทำคำสั่งเลือก mode การทำงาน
3. ทำคำสั่งควบคุม
คำสั่งเลือก mode และรหัสควบคุม
คำสั่งจะเป็นข้อมูล 8 bit (D7-D0) ซึ่งแต่ละ bit จะมีความหมาย
รหัสเลือก mode แบบ asynchronous
จาก D7-D0 : S2-S1-EP-PEN-L2-L1-B2-B1 โดยแต่ละ bit มีความหมายดังนี้
S2-S1 แทนจำนวน stop bit
EP : แบบของ parity
PEN : enable parity
L2-L1 : เลือกความยาวของข้อมูล
B2-B1 : เลือก baud rate
SCS : เลือกการ syn
ESD : กำหนดขา SYNDET
EP, PEN, L2, L1 : เหมือนกับแบบ asynchronous
0 : ไม่ใช้
จาก D7-D0 : EH-IR-RTS-ER-SBRK-RxE-DTR-TxEN โดยแต่ละ bit มีความหมายดังนี้
EH : อีนาเบิ้ลฮันท์
IR : Internal Reset (การกำหนดการทำงานภายใน)
RTS : Request To Sent
ER : reset Error (ความผิดพลาด)
SBRK : Synchonous break (ส่งอักขระเบรก)
RxE : Rx Enable
DTS : Data Terminal ready
TxEN : Tx Enable
Byte แสดงสถานะของ 8251
Status byte ของ 8251 นี้มีขนาด 8 bit แต่ละ bit จะมีความหมายดังต่อไปนี้
จาก D7-D0 : DSR-SYNDET/ BRKDET-FE-OE-PE-TxEMPTY- RxRDY-TxRDY
TxRDY : จะเป็น "1" เมื่อ buffer ส่งข้อมูล A ว่าง หมายถึงพร้อมที่ จะรับข้อมูลไปส่ง
RxRDY : จะแสดงว่าได้รับข้อมูลเข้ามาครบ byte แล้วให้ CPU มาอ่านไปได้
TxEMPTY : จะเป็น "1" เมื่อ 8251 ไม่มีข้อมูลที่จะส่ง แต่จะเป็น "0" เมื่อได้รับ ข้อมูลจาก CPU ในขณะที่ฝ่ายส่งได้ถูก enable
PE (Parity Error) : เมื่อเกิดการผิดพลาดจากการตรวจสอบ parity จะเป็น "1"
แล้วจะถูก reset เป็น "0" โดย ER ในรหัสควบคุมจาก CPU
OE (Overrun) Error) : จะเป็น "1" ถ้า CPU ไม่มาอ่านข้อมูลที่ 8251 ซึ่ง 8251 จะรับ OE เข้ามาไว้ใน buffer รับข้อมูล A
แล้วมีข้อมูลใหม่เข้ามาอีก และ OE จะถูก reset เป็น "0" โดย ER ในรหัส ควบคุม
FE (Framing Error) : ถ้าข้อมูลที่รับมาไม่มี stop bit
FE จะเป็น "1" และ FE จะถูก reset เป็น "0" โดย ER ในรหัสควบคุม
หมายเหตุ ทั้ง PE, OE, FE จะไม่ทำการขัดขวางการทำงานของ 8251 เป็นเพียงแค่ การเตือนให้ทราบถึงการเกิดความผิดพลาดเท่านั้น
สรุป
8251 เป็น chip ที่นิยมใช้กันมานานแล้ว ตั้งแต่ยุคแรกๆของ Microcomputer ซึ่งในปัจจุบันก็ยังคงนิยมใช้กันอยู่มาก เพราะสามารถใช้เชื่อมต่อกับ Microprocessor ตระกูล