440 likes | 823 Views
Chapter 2 Basic Electronics. Objective ศึกษาถึงพื้นฐานของระบบ Electronics ที่จำเป็นในระบบ Microcontroller , การอ่าน Timing Diagram และวิเคราะห์ Worst Case. MCS – 51. Vcc : ไฟเลี้ยงสำหรับไอซี ปกติแล้วจะอยู่ในช่วง 4.5 – 5.5 V แต่ก็ขึ้นอยู่กับไอซี เบอร์นั้นๆ ด้วย GND : ขากราวด์ของระบบ
E N D
Chapter 2 BasicElectronics Objective ศึกษาถึงพื้นฐานของระบบ Electronics ที่จำเป็นในระบบ Microcontroller , การอ่าน Timing Diagram และวิเคราะห์ Worst Case
MCS – 51 Vcc : ไฟเลี้ยงสำหรับไอซี ปกติแล้วจะอยู่ในช่วง 4.5 – 5.5 V แต่ก็ขึ้นอยู่กับไอซีเบอร์นั้นๆด้วย GND : ขากราวด์ของระบบ EA : External Access เมื่อป้อนไฟบวกเข้าที่ขานี้หมายความว่า CPU จะใช้ส่วนของ Program Memory จากภายใน ถ้าเป็น GND หมายความว่าจะใช้ Program Memory จากภายนอก
Reset : เป็นขา Reset สำหรับสั่งให้ CPU เริ่มทำงานใหม่เหมือนตอนที่เปิดเครื่อง ( Power On Reset ) X1,X2 : เป็นขาสำหรับป้อนสัญญาณนาฬิกาให้กับระบบ ALE : Address Latch Enable ขาสัญญาณนี้จะส่งสัญญาณนาฬิกาความถี่ 1/6 ของสัญญาณจาก Oscillator ขานี้จะใช้ในการ Latch สัญญาณ Address ในขณะที่ติดต่อหน่วยความจำภายนอก PSEN : Program Store Enable ปกติขานี้จะมีสถานะเป็น 1 แต่เมื่อ CPU ต้องการอ่านคำสั่ง(Fetch Instruction) จะส่งสัญญาณ 0 โดยขานี้สามารถนำไปต่อขาอินพุตของ TTL แบบ LS ได้ 8 อินพุต WR : Write ขาควบคุมการเขียนข้อมูลไปยังหน่วยความจำภายนอก RD : Read ขาควบคุมการอ่านข้อมูลสำหรับหน่วยความจำภายนอก
TxD , RxD : เป็นขาสำหรับการรับส่งข้อมูลแบบอนุกรม INT0 , INT1: เป็นขาสำหรับ External Interrupt T0 , T1 : เป็นขาสำหรับรับสัญญาณนาฬิกาภายนอกสำหรับเป็นอินพุตของวงจร Timer/Counter
Rectifier Filter Regulate Power Supply
Rectifier : แปลงจากไฟสลับให้มาอยู่ในซีกบวกอย่างเดียว • Filter : กรองสัญญาณให้แกว่งในค่าบวกค่าหนึ่ง • Regulate : ทำให้ระดับสัญญาณเรียบที่แรงดันค่าหนึ่ง
คำถาม • ถ้า Load ที่เชื่อมต่อระหว่าง 5 V กับ Gnd มีค่าเป็น 10 KOhm , 1 KOhm , 10 Ohm และ 0 Ohm จะทำให้Power Supply ของเราจะเป็นอย่างไร • - ถ้าป้อนDC input 30 V กับ 9 V จะเกิดอะไรขึ้นแตกต่างกันอย่างไร
วงจรสัญญาณนาฬิกา • ทำหน้าที่กำเนิดสัญญาณนาฬิกาให้กับระบบ Microprocessor มีหลายประเภทเช่น • ใช้ RC Oscillator : ราคาถูก แต่มี Stability ต่ำ • ใช้ Crystal Oscillator: ใช้กับระบบที่มีวงจรOscillator อยู่แล้ว • ใช้ Oscillator Modules: ใช้กับระบบที่ไม่มีวงจร Oscillator อยู่หรือมีก็ได้ Crystal Oscillator Oscillator Modules
รูปแสดงวงจรสัญญาณนาฬิกาที่ใช้ Crystal Oscillator รูปแสดงวงจรสัญญาณนาฬิกาที่ใช้ Oscillator Module
วงจร Reset การ Reset คือการที่สั่งให้ Microprocessor กลับไปอยู่ในสภาวะเริ่มต้นเหมือนกับเมื่อตอนเริ่มทำงานครั้งแรก สำหรับ MCS – 51 การ Reset จะเกิดเมื่อเราให้ลอจิก 1 แก่ขา Reset ไม่น้อยกว่า 2 Machine Cycle 1 Machine Cycle = 12 Oscillator cycle
Vreset = Voe-t/RC Vreset V low T Reset Vreset = Vo( 1 – e -t/RC ) Vreset V high T Reset
ในกรณีที่เราต้องการวงจรรีเซตที่มีเสถียรภาพยิ่งขึ้นเราอาจใช้ไอซีที่ทำหน้าที่รีเซตสำเร็จรูป เช่น DS1833 active high reset , DS1707, DS1708 3.3 and 5.0 Volt MicroMonitor
หลังจากเกิดการ Reset Program Counter (PC) จะชี้ไปที่ตำแหน่งหน่วยความจำโปรแกรม 0000H
Timing Diagram Notation Timing Diagram คือ ผังภาพแสดงระดับการทำงานของสัญญาณต่างๆ เทียบกับเวลา โดยแกนตั้งจะเป็นระดับลอจิก แกนนอนจะเป็นเวลาในการอ่าน Timing Diagram จะอ่านจากซ้ายไปขวา
จากตัวอย่าง จาก Timing Diagram จะพบว่าเมื่อเราส่งสัญญาณ Address แล้วต้องให้ขา OE เปลี่ยนสถานะเป็น HIGH และ ขา CS เปลี่ยนสถานะเป็น LOW แล้วจึงเปลี่ยนสัญญาณขา WR เปลี่ยนสถานะเป็น LOW ซึ่งในขณะนั้นขา Dout จะเริ่มเปลี่ยนสถานะเป็น Float , High Inpedance หรือ Tri – State และ ขาสัญญาณ Din จะเริ่มเปลี่ยนสถานะเป็น ข้อมูลที่ถูกต้อง
Rise and fall Times Rising Time คือช่วงเวลาขอบขาขึ้นกำหนดว่าอยู่ในช่วงที่ระดับ Voltage เปลี่ยนจาก 20 % - 80 % ของค่าลอจิก 1 และ Fall Time คือช่วงที่ระดับ Voltage เปลี่ยนจาก 80 % - 20 % ของค่าลอจิก 0
Setup and Hold Times จากรูปวงจร D flip – flop เมื่อสัญญาณขา CK เปลี่ยนจาก Low เป็น High โดยที่ขา Data มีระดับลอจิกเป็น High เวลาที่เกิด delay ที่ขาสัญญาณ output จะเรียกว่า TPCKQ Setup Time คือ ค่าเวลาที่สัญญาณ input จะต้องคงที่ในช่วงที่สัญญาณ CLK เปลี่ยนแปลง Hold Time คือค่าเวลาที่สัญญาณจะต้องคงที่หลังจากสัญญาณ CLK เปลี่ยนแปลง
Propagation Delay Propagation Delay คือเวลาที่เมื่ออินพุดเปลี่ยนแปลงจนกระทั้งถึงเวลาที่ output เปลี่ยนแปลง การวัด Propagation Delay จะเริ่มวัดที่ 50 % ของจุด Amplitude
Tri – State Bus Interfacing Tri – State คือการที่ระดับลอจิกมีสถานะที่มีความต้านทานสูงมาก(High Impedance) เสมือนว่าสามารถตัดส่วนนั้นออกจาก วงจรได้ Tri – State จะใช้ในกรณีที่ระบบบัสมีการ Multiplexing หรือระบบที่มี Master หลายตัว
Pulse Width and Clock Frequency Pulse Width คือช่วงเวลาที่เริ่มตั้งแต่positive transition ( rising edge) จนกระทั้งถึง negative transition ( falling edge ) โดย Pulse Width จะมีความสำคัญในการเขียนหรืออ่าน memory
Worst-Case Timing Loading,Analysis, and Designed Worst-case design คือการออกแบบโดยใช้ข้อมูลในสภาวะที่ต่ำที่สุด ซึ่งจะจำเป็นในการออกแบบเพราะจะเป็นข้อจำกัดในการใช้งานอุปกรณ์ที่เราได้ออกแบบขึ้นตัวอย่างของสภาวะนี้เช่นเมื่อเกิดสัญญาณรบกวนขึ้นระบบของเรายังสามารถทำงานได้เป็นปกติ หรือไม่
Fan – Out and Loading Analysis – DC and Ac ส่วนที่สำคัญส่วนหนึ่งของ Worst – Case designed คือค่า Fan – out คือจำนวนของ input ที่จะนำเอา output ไปต่อด้วย โดยค่า fan – out จะพิจารณาจาก • Source และ ชนิดของ Load • DC characteristic ของ Source และ Load • AC characteristic ของ Source และ Load • ค่า DC characteristic ของ Input และ Output กำหนดจาก • ค่า Maximum current ที่สามารถจ่ายได้ของ output • ค่า Maximum current ที่ต้องการของ input
ค่ากระแส maximum output กำหนดโดย • I OL minค่า minimum outputlow(sink)current สำหรับ output ที่ลอจิก Low • I OH minค่า minimum outputhigh(source)current สำหรับ output ที่ลอจิก High • ค่า Maximum current ที่ต้องการของ input กำหนดโดย • I IL minค่า minimum inputlow current สำหรับ output ที่ลอจิก Low • I IH minค่า minimum inputhighcurrent สำหรับ input ที่ลอจิก High
I Source I Sink
AC characteristic ของ Source และ Load • กำหนดโดย • CL : Load Capacitance จะถูกระบุตาม datasheet ที่เงื่อนไขที่เป็น Test Condition • Cin : Maximum input capacitance สำหรับขับ input load • Cstray :Wiring และ Stray capacitance จะสามารถประมาณได้ในช่วง 1 – 2 pF บน PC board Driving device spec CL >actual Cload = Cin1 + Cin2 + … + Cwiring
Calculating Wiring Capacitance มีสมการคือ เมื่อ คือ Permittivity ของสาร A คือ area d คือระยะระหว่างแผ่น plate
Fan – Out when CMOS Drive LSTTL คำถาม: ถ้าเรานำเอา IC ประเภท CMOS มาขับ IC ประเภท LS TTL จะสามารถขับ IC ประเภท TTL ได้กี่ตัว จากข้อมูลของ LS TTL
สำหรับ Logic High CMOS IOH = 600 uA LS TTL IIH = 50 uA ดังนั้น 600uA/50uA = 12 Load สำหรับ Logic Low CMOS IOL = 3.6 mA LS TTL IIL = 360 uA ดังนั้น 3.6mA/360uA = 10 Load
เมื่อพิจารณาเฉพาะ DC จะพบว่าจำนวนมากสุดของ Load ที่ขับได้คือ 10 พิจารณา AC parameter ที่ CMOS output ที่มี CL = 150 pF และแต่ละ input ของ LS มีค่าความจุ 10pF ดังนั้น 10 load จะมีค่าความจุรวม 100 pF จะพบค่าความจุของสายต้องมีค่าน้อยกว่า 50 pF จึงจะสามารถขับ load ได้ ถ้าเรานำเอา CMOS output ไปขับเฉพาะ CMOS load โดยค่าความจุของ CMOSinput คือ 25pF จะได้ว่าจะสามารถขับได้ = 150 / 25 = 6 load ซึ่งถ้าเราพิจารณาค่าความจุของสายมีค่าไม่เกิน 25 pF เราจะสามารถขับ load ได้ 5 load
Ground Bounce Ground Bounce คือการที่ระดับแรงดันที่ขา Ground กระเพิ่ม เมื่อกระแสจำนวนมากไหลผ่านขา Ground โดย Ground Bounce จะมีผลจากการเปลี่ยนระดับสัญญาณอย่างเร็ว ( High Speed transition) ถ้าเราพิจารณา Voltage ที่ตกคร่อมตัวนำคือ V = L*di / dt และ Charge ของตัวเก็บประจุคือ .i=Q/t และ Q = CV V = L*C*(delta V)/(delta t)2 V = L * C *( Voh – Vol ) / ( Tr )2พิจารณาที่ output และ rise time
ตัวอย่างเช่นCMOS output ที่นำไปขับ Load 100 pF มี rise time 2 nS และขา Ground มีค่าความเหนี่ยวนำ 1nH จะได้ว่า Voltage ที่ตกคร่อมขา Ground คือ V = 1 nH * 100 pF * (4.5 – 5.0 V) / ( 2nS )2 = 0.1V ซึ่งกระแสที่ไหลผ่านทั้งหมดจะไหลผ่านขา Ground ถ้าเรามี output 8 bit จะทำให้มี Volatge ตกคร่อม 0.8 V การแก้ปัญหา Ground Bounce คือในการออกแบบ IC จะมีขา Ground หลายขา
Logic Family IC Characteristics and Interfacing TTL : Transistor – Transistor Logic NMOS : n – channel metal oxide semiconductor field effect transistor logic CMOS : Complementary ( n – and p – channel )MOS Logic
TTL : Transistor – Transistor Logic VOH = 2.8 – 5 V VOL = 0 – 0.4 V VIH = 2.4 – 5 V VIL = 0 – 0.8 V
74xx : Standard TTL 74LSxx : Low power Schottky clamped TTL 74ALSxx : Advanced LS TTL 74Fxx : (fast) high speed TTL 74HCxx : high speed CMOS with CMOS compatible( Vt =~Vcc/2) 74HCxx : high speed CMOS with CMOS compatible( Vt =~Vcc/2) 74HCTxx : high speed CMOS with TTL compatible( Vt =~1.5V)
CMOS : Complement Metal Oxide Semiconductor VOH = 4.5 – 5 V VOL = 0 – 0.4 V VIH = 3 – 5 V VIL = 0 – 2 V
TTL VOH = 2.8 – 5 V VOL = 0 – 0.4 V VIH = 2.4 – 5 V VIL = 0 – 0.8 V CMOS VOH = 4.5 – 5 V VOL = 0 – 0.4 V VIH = 3 – 5 V VIL = 0 – 2 V จะพบว่าถ้านำเอา TTL output ไปต่อกับ CMOS input จะพบว่าสำหรับลอจิก Low จะไม่มีปัญหา แต่สำหรับ ลอจิก High เนื่องจาก TTL มี output ในช่วง 2.8 เป็นต้นไป แต่ CMOS จะรับรู้ input ตั้งแต่ 3 เป็นต้นไปจึงอาจมีปัญหาได้ และเมื่อ CMOS output ไปต่อกับ TTL input จะพบว่าไม่มีปัญหา
Worst – Case Timing Analysis Example ตัวอย่างของการพิจารณา Worst – Case Timing Analysis คือถ้าเรามีวงจรที่ต่อดังรูป โดยมีค่า Timing ตามตารางและ Timing diagram ตามลำดับ
จาก Timing diagram ค่า Clock ที่น้อยที่สุดคือ TPCKQ + TPLH + TSU = 15 + 6 + 10 = 31 nS .f = 1/t = 1/31 nS = 32.26 MHz เมื่อพิจารณา setup และ hold time สำหรับ overall circuitโดย overall system setup จะถูกกำหนดโดย ผลรวมของ flip flop setup time กับ worst case propagation delay TSU(system) = T PLH + T SU(flip flop) = 16 nS minimum สำหรับ overall system hold เนื่องจาก hold time ของ flip flop คือค่า offset ของ minimum delay ที่ผ่าน NAND gate ดังนั้นค่าเวลาที่น้อยที่สุดที่ทำให้ D input เปลี่ยนแปลงคือ TH(system) = TH(flip flop) – TPHL(min) = 1 – 1 = 0 nS
จะพบว่าค่า delay ของ สัญญาณ D จะลดค่า hold time จาก 1 เป็น 0 nS หมายความว่า input สามารถเปลี่ยนในเวลาเดียวกับที่ ขอบของ Clock หรือบริเวณถัดไปได้
Work - จงอธิบาย Timing diagram ตามรูปข้างล่างนี้