อิเล็กทรอนิกส์ดิจิทัล: ชุดสรุปเร่งรัด

สรุปสูตร ขั้นตอนวิธีทำที่สำคัญของทุกหัวข้อ และโจทย์ฝึก 6 ข้อ พร้อมเฉลยละเอียดไว้ท้ายเล่ม

โจทย์ใหม่กลับไปที่รายวิชา

ในหน้าต่างพิมพ์ ให้เลือก “บันทึกเป็น PDF” เพื่อเก็บสำเนาไว้ในอุปกรณ์ของคุณ

1สูตรและวิธีทำ

ระบบเลข

ค่าประจำตำแหน่ง
ฐานสอง 2k, ฐานแปด 8k, ฐานสิบหก 16k
เป็นเลขฐานสิบ
Σ dk·bk
จากเลขฐานสิบ
หารด้วยฐาน อ่านเศษจากล่างขึ้นบน
ฐานสิบหก ↔ ฐานสอง
เลขฐานสิบหกหนึ่งหลัก = 4 บิต
two’s complement
กลับบิตแล้วบวก 1

ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อป

เกตพื้นฐาน
A·B, A + B, A′, (A·B)′, (A + B)′, A ⊕ B
กฎของพีชคณิตแบบบูล
X + X′ = 1, X·X′ = 0, X + XY = X, XY + XY′ = X
กฎของเดอมอร์แกน
(X·Y)′ = X′ + Y′, (X + Y)′ = X′·Y′
ลำดับของแผนที่คาร์โนห์
00, 01, 11, 10 (Gray code)
กลุ่มของ 2ᵏ เซลล์
สูญเสีย k ตัวแปร
มัลติเพล็กเซอร์ 4 ต่อ 1
F = A′B′I0 + A′BI1 + AB′I2 + ABI3
ฟลิปฟล็อป
D: Q⁺ = D, T: Q⁺ = T ⊕ Q, JK: Q⁺ = JQ′ + K′Q
ตัวนับ
n บิต: 2ⁿ สถานะ; มอด N: n ที่น้อยที่สุดที่ 2ⁿ ≥ N; fout = fclk/N
ตัวนับริปเปิล
fmax = 1/(n·tpd)
ตัวนับริงและตัวนับจอห์นสัน
n และ 2n สถานะ

วิธีการ

  1. สำหรับวงจร ให้ทำจากอินพุตไปถึงเอาต์พุตทีละเกตและเขียนค่าบนทุกเส้น หรือเขียนนิพจน์ของมันแล้วเติมตารางค่าความจริง
  2. สำหรับการทำให้ง่าย ให้ใส่ 1 (และค่าไม่สนใจเป็น X) ลงในแผนที่คาร์โนห์ที่มีแถวและคอลัมน์เรียงตามรหัสเกรย์: 00, 01, 11, 10
  3. ครอบคลุม 1 ด้วยกลุ่ม 1, 2, 4, 8 หรือ 16 เซลล์ให้น้อยที่สุดและใหญ่ที่สุดเท่าที่เป็นไปได้ โดยพันข้ามขอบ แต่ละกลุ่มคือหนึ่งพจน์ผลคูณที่ประกอบด้วยตัวแปรที่คงที่ จัดกลุ่ม 0 สำหรับรูป POS
  4. สำหรับฟลิปฟล็อปและตัวนับ ให้อ่านอินพุตที่ขอบแอ็กทีฟของสัญญาณนาฬิกาแต่ละขอบ เขียนสถานะหลังทุกขอบ และจำไว้ว่าตัวนับ n บิตวนกลับหลัง 2ⁿ สถานะ

การได้มาซึ่งข้อมูลและการสุ่ม

เกณฑ์ไนควิสต์
fs > 2·fmax, fN = fs/2
ความถี่แอลลิอัส
fa = |f − k·fs|, k = round(f/fs)
ขนาดขั้น
1 LSB = VFSR/2ᴺ
ความคลาดเคลื่อนจากการควอนไทซ์ (ปัดเศษ)
±½ LSB
รหัส ADC แบบตัดทิ้ง
D = ⌊Vin/LSB⌋
จำนวนบิตสำหรับความละเอียด r
2ᴺ ≥ span/r
SQNR ในอุดมคติ ไซน์เต็มสเกล
SQNR = 6.02·N + 1.76 dB
อัตราข้อมูล
ช่อง × fs × N บิต/วินาที
ADC แบบมัลติเพล็กซ์
fs = 1/(n·(tc + tset))
UART
Tb = 1/baud; 8N1 = 10 บิตต่อไบต์; ไบต์/วินาที = baud/บิตต่อเฟรม
ตัวหารอัตราบอด
baud = fclk/(16·D)

วิธีการ

  1. เขียนสิ่งที่โจทย์ให้: อัตราการสุ่ม ความถี่ของสัญญาณ จำนวนบิต ช่วงอินพุต อัตราบอด
  2. สำหรับโจทย์การสุ่ม ให้เปรียบเทียบแต่ละความถี่กับ fs/2 ความถี่ที่สูงกว่าจะปรากฏที่ fa = |f − k·fs| โดยใช้พหุคูณของ fs ที่ใกล้ที่สุด
  3. สำหรับโจทย์ความละเอียด หา 1 LSB = VFSR/2ᴺ หรือ N ที่น้อยที่สุดที่ 2ᴺ ≥ ช่วง/ความละเอียด
  4. สำหรับอัตราข้อมูลและลิงก์ UART ให้นับทุกอย่างที่ส่ง: ช่อง จำนวนตัวอย่างต่อวินาที บิตหรือไบต์เต็มต่อตัวอย่าง และบิตเริ่ม บิตพาริตี และบิตหยุดของทุกเฟรม

2โจทย์ฝึก

1.ระบบเลขปานกลาง
two's complement 8 บิต0−12806403201608040201

ตั้งบิตให้เก็บ −23 ใน two's complement 8 บิต อ่านเป็นจำนวนไม่มีเครื่องหมาย ค่าของรูปแบบ U เป็นเท่าใด

N = −238 bit
U =
2.ระบบเลขยาก
คลิกบิตเพื่อตั้งค่า012806403201608040201

ตั้งบิตให้เป็นผลลัพธ์ 8 บิตของ 1101 0011 XOR 0001 1111 ค่าของผลลัพธ์ R เป็นเท่าใดในเลขฐานสิบ

1101 0011XOR0001 1111
R =
3.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปปานกลาง
ABC000111100101324576

จงทำ F = A′B′C′ + A′BC + AB′C′ + BC′ ให้เป็นรูปผลบวกของผลคูณที่น้อยที่สุด นิพจน์ที่ทำให้ง่ายแล้วมีกี่ลิเทอรัล L

F = A′B′C′ + A′BC + AB′C′ + BC′
L =
4.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปยาก
ABCD000111100001111000011312X4051716012013015X140809111010

สำหรับ F(A, B, C, D) = Σm(2, 3, 6, 7, 11) + d(4, 14) โดย d แทนเงื่อนไขไม่สนใจ จงหาจำนวน N ของไพรม์อิมพลิแคนต์จำเป็น

F(A, B, C, D) = Σm(2, 3, 6, 7, 11) + d(4, 14)
N =
5.การได้มาซึ่งข้อมูลและการสุ่มปานกลาง
Vin​N = 122.5 V2ᴺ − 101 LSB1.675 V?

ADC 12 บิตที่มีช่วงอินพุต 0 ถึง 2.5 V ตัดทิ้ง: รหัสเอาต์พุตของมันคือ ⌊Vin/LSB⌋ โดย 1 LSB = VFSR/2ᴺ จงหารหัสเอาต์พุตฐานสิบ D สำหรับอินพุต 1.675 V

N = 12VFSR = 2.5 VVin = 1.675 V
D =
6.การได้มาซึ่งข้อมูลและการสุ่มยาก
SD0​D1​D2​D3​D4​D5​D6​D7​1/fbaud​12 MHz / (16·D)

ไมโครคอนโทรลเลอร์ที่มีนาฬิกา 12 MHz ตั้งอัตราบอดของ UART เป็น fclk/(16·D) โดย D เป็นจำนวนเต็มที่ปัดไปยังค่าใกล้ที่สุด เป้าหมายคือ 38400 baud จงหาเปอร์เซ็นต์ความคลาดเคลื่อนของอัตราบอดจริง (เป็นบวกเมื่อเร็วเกินไป)

fclk = 12 MHzเป้าหมาย = 38400 Bd
e = %

3สารละลาย

1.ระบบเลข

คำตอบ: U = 233

การตั้งค่าบิต: แต่ละบิตมีค่าเป็นกำลังของสอง (128, 64, …, 1) เลขฐานสิบหกหนึ่งหลักคือสี่บิตพอดี และใน two's complement 8 บิต บิตซ้ายสุดมีค่า −128 การดำเนินการระดับบิตทำงานกับแต่ละตำแหน่งบิตแยกกัน

กลับบิตแล้วบวกหนึ่ง

23 = 0001 0111
ที่กลับบิตแล้ว: 1110 1000
+1 → 1110 1001

อ่านเป็นแบบไม่มีเครื่องหมาย

1110 1001₂ = 256 − 23 = 233

คำตอบ

U = 233
2.ระบบเลข

คำตอบ: R = 204

การตั้งค่าบิต: แต่ละบิตมีค่าเป็นกำลังของสอง (128, 64, …, 1) เลขฐานสิบหกหนึ่งหลักคือสี่บิตพอดี และใน two's complement 8 บิต บิตซ้ายสุดมีค่า −128 การดำเนินการระดับบิตทำงานกับแต่ละตำแหน่งบิตแยกกัน

ทีละบิต

XOR ให้ 1 เมื่อสองบิตต่างกัน

1101 0011
XOR 0001 1111
= 1100 1100

ค่าของผลลัพธ์

1100 1100₂ = 204

คำตอบ

R = 204
3.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อป

คำตอบ: L = 3

พีชคณิตแบบบูล: กฎที่ทำให้นิพจน์ง่ายขึ้นได้แก่ X + X′ = 1 และ X·X′ = 0, X + X = X, การดูดกลืน X + X·Y = X, กฎการรวม X·Y + X·Y′ = X, X + X′Y = X + Y และทฤษฎีบทฉันทามติ XY + X′Z + YZ = XY + X′Z กฎของเดอมอร์แกนเปลี่ยน (X·Y)′ เป็น X′ + Y′ และ (X + Y)′ เป็น X′·Y′ แผนที่คาร์โนห์ใช้กฎเหล่านี้ในรูปภาพ: ทุกกลุ่มของสองเซลล์ที่อยู่ติดกันคือการใช้ XY + XY′ = X หนึ่งครั้ง

มินเทอมของนิพจน์

A′B′C′ → m(0)
A′BC → m(3)
AB′C′ → m(4)
BC′ → m(2, 6)
ABC00011110011001131214050716

จัดกลุ่มและอ่านค่า

F = C′ + A′B

นับลิเทอรัล

L = 3

คำตอบ

L = 3
4.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อป

คำตอบ: N = 2

แผนที่คาร์โนห์: เซลล์เรียงตามรหัสเกรย์ (00, 01, 11, 10) ดังนั้นเซลล์ที่อยู่ติดกัน รวมถึงเซลล์ที่อยู่ตรงข้ามขอบ ต่างกันเพียงตัวแปรเดียว จัดกลุ่ม 1 เป็นสี่เหลี่ยมที่มี 1, 2, 4, 8 หรือ 16 เซลล์ ให้ใหญ่ที่สุดและมีจำนวนกลุ่มน้อยที่สุดจนครอบคลุมทุก 1 แต่ละกลุ่มคือหนึ่งพจน์ผลคูณ: ตัวแปรที่คงที่ภายในกลุ่ม กลุ่มที่มี 2ᵏ เซลล์สูญเสียตัวแปรไป k ตัว ค่าไม่สนใจ (X) ใช้เพื่อทำให้กลุ่มใหญ่ขึ้นได้ แต่ไม่จำเป็นต้องถูกครอบคลุม การจัดกลุ่ม 0 แทนจะได้รูป POS ที่น้อยที่สุด

ไพรม์อิมพลิแคนต์

กลุ่มที่ใหญ่ที่สุดที่สร้างได้จาก 1 และ X

B′CD, BCD′, A′C, A′BD′
ABCD000111100001111000011312X4051716012013015X140809111010

ไพรม์อิมพลิแคนต์จำเป็น

B′CD, A′C
N = 2

คำตอบ

N = 2
5.การได้มาซึ่งข้อมูลและการสุ่ม

คำตอบ: D = 2744

ความละเอียดของ ADC: ตัวแปลง N บิตแบ่งช่วงเต็มสเกล VFSR เป็น 2ᴺ รหัส จาก 0 ถึง 2ᴺ − 1 หนึ่งขั้นคือ 1 LSB = VFSR/2ᴺ ซึ่งเป็นการเปลี่ยนแปลงที่เล็กที่สุดที่ตัวแปลงแสดงได้ ADC แบบตัดทิ้งให้รหัส ⌊Vin/LSB⌋ ส่วน ADC แบบปัดเศษห่างจากค่าจริงไม่เกิน ½ LSB ซึ่งเป็นความคลาดเคลื่อนจากการควอนไทซ์ของมัน ทุกบิตที่เพิ่มทำให้ LSB ลดครึ่งหนึ่งและเพิ่มอัตราส่วนสัญญาณต่อสัญญาณรบกวนจากการควอนไทซ์ในอุดมคติประมาณ 6 dB โดย SQNR = 6.02·N + 1.76 dB สำหรับไซน์เต็มสเกล เพื่อให้ได้ความละเอียด r ตลอดช่วงหนึ่ง ให้เลือก N ที่น้อยที่สุดที่ 2ᴺ ≥ ช่วง/r

ขนาดขั้น

1 LSB = 2.5/212 = 0.6104 mV

รหัส

Vin/LSB = 1675/0.6104 = 2744
รหัส = ⌊2744⌋ = 2744

คำตอบ

D = 2744

ในเลขฐานสองคือ 101010111000

6.การได้มาซึ่งข้อมูลและการสุ่ม

คำตอบ: e = −2.344 %

UART: ลิงก์อนุกรมแบบอะซิงโครนัสส่งแต่ละไบต์เป็นเฟรม: บิตเริ่มหนึ่งบิต (ต่ำ) บิตข้อมูล บิตพาริตีแบบเลือกได้ และบิตหยุดหนึ่งหรือสองบิต (สูง) อัตราบอดคือจำนวนบิตต่อวินาที ดังนั้นหนึ่งบิตใช้เวลา Tb = 1/baud และเฟรม n บิตใช้เวลา n/baud รูปแบบ 8N1 ที่พบบ่อยมี 10 บิตต่อไบต์ ตัวกำเนิดบอดหารสัญญาณนาฬิกา: baud = fclk/(16·D) โดย D เป็นจำนวนเต็ม ดังนั้นอัตราบอดจริงต่างจากเป้าหมายเล็กน้อย ความคลาดเคลื่อนต่ำกว่าประมาณ 2 % มักยอมรับได้

ตัวหาร

D = 12·10⁶/(16·38400) = 19.53 → 20

อัตราบอดจริง

12·10⁶/(16·20) = 37500 Bd

ความคลาดเคลื่อน

(37500 − 38400)/38400·100 = −2.344 %

คำตอบ

e = −2.344 %

ความคลาดเคลื่อนที่เกินประมาณ 2 % ทำให้ลิงก์ไม่น่าเชื่อถือ: ให้เลือกสัญญาณนาฬิกาหรืออัตราบอดอื่น

ExamProblems · examproblems.com/courses/digital-electronics