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

สรุปสูตร ขั้นตอนวิธีทำที่สำคัญของทุกหัวข้อ และโจทย์ฝึก 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

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

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

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

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

ในแผนที่คาร์โนห์นี้มี 1 เพียงตัวเดียวพอดีที่ไม่มี 1 อยู่ติดกัน จึงยังเป็นกลุ่มหนึ่งเซลล์ (มินเทอมเต็มที่มีสี่ลิเทอรัล) ในรูป SOP ที่น้อยที่สุด เพื่อนบ้านข้ามขอบแผนที่นับด้วย ให้คลิกเซลล์นั้น

F = Σm(0, 1, 2, 4, 7, 10, 12, 14)
  1. 1AB = 00, CD = 00
  2. 2AB = 00, CD = 01
  3. 3AB = 00, CD = 11
  4. 4AB = 00, CD = 10
  5. 5AB = 01, CD = 00
  6. 6AB = 01, CD = 01
  7. 7AB = 01, CD = 11
  8. 8AB = 01, CD = 10
  9. 9AB = 11, CD = 00
  10. 10AB = 11, CD = 01
  11. 11AB = 11, CD = 11
  12. 12AB = 11, CD = 10
  13. 13AB = 10, CD = 00
  14. 14AB = 10, CD = 01
  15. 15AB = 10, CD = 11
  16. 16AB = 10, CD = 10
4.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปยาก
TQ0​Q0​TQ1​Q1​TQ2​Q2​TQ3​Q3​CLKMOD-10

ตัวนับเดคเคด (มอด-10) แบบซิงโครนัสนับ 0, 1, …, 9 แล้ววนกลับเป็น 0 เริ่มที่ 4 หลังพัลส์นาฬิกา 30 พัลส์ จะแสดงค่านับ Q (เป็นเลขฐานสิบ) เท่าใด

Q0 = 430N = 10
Q =
5.การได้มาซึ่งข้อมูลและการสุ่มปานกลาง
tTs​ = 1/fs​f = 6 kHzfs​ = 10 kHz

คลื่นไซน์ 6 kHz ถูกสุ่มที่ 10 kHz โดยไม่มีฟิลเตอร์ป้องกันแอลลิอัส มันปรากฏในตัวอย่างที่ความถี่ fa ใด จงตอบในหน่วย kHz

f = 6 kHzfs = 10 kHz
fa = kHz
6.การได้มาซึ่งข้อมูลและการสุ่มยาก
SD0​D1​D2​D3​D4​D5​D6​D7​1/fbaud​24 MHz / (16·D)

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

fclk = 24 MHzเป้าหมาย = 115200 Bd
e = %

3สารละลาย

1.ระบบเลข

คำตอบ: U = 220

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

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

36 = 0010 0100
ที่กลับบิตแล้ว: 1101 1011
+1 → 1101 1100

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

1101 1100₂ = 256 − 36 = 220

คำตอบ

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

คำตอบ: R = 159

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

ทีละบิต

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

0001 0101
XOR 1000 1010
= 1001 1111

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

1001 1111₂ = 159

คำตอบ

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

คำตอบ: AB = 01, CD = 11

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

เพื่อนบ้านของแต่ละ 1

1 ที่มี 1 อยู่ติดกันเข้ากลุ่มสองเซลล์หรือมากกว่าได้

m7: m6, m5, m3, m15 → 0
ABCD000111100001111011111111

1 ที่อยู่โดดเดี่ยว

m7 = A′BCD → AB = 01, CD = 11

คำตอบ

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

คำตอบ: Q = 4

ฟลิปฟล็อปและตัวนับ: ฟลิปฟล็อปเปลี่ยนค่าเฉพาะที่ขอบแอ็กทีฟของสัญญาณนาฬิกา D คัดลอกอินพุต (Q⁺ = D); T สลับค่าเมื่อ T = 1; JK คงค่าสำหรับ 00 รีเซ็ตสำหรับ 01 เซตสำหรับ 10 และสลับค่าสำหรับ 11 ตัวนับฐานสอง n บิตมี 2ⁿ สถานะและนับมอดูโล 2ⁿ ตัวนับมอด N นับ 0, 1, …, N − 1 แล้ววนกลับเป็น 0 และต้องใช้ฟลิปฟล็อปจำนวน n ที่น้อยที่สุดที่ 2ⁿ ≥ N แต่ละภาคของตัวนับริปเปิลลดความถี่ลงครึ่งหนึ่ง ดังนั้นเอาต์พุตสุดท้ายของตัวนับมอด N ทำงานที่ fclk/N ตัวนับจอห์นสันที่มีฟลิปฟล็อป n ตัวมี 2n สถานะ ตัวนับริงมี n

รอบเต็ม

ทุก 10 พัลส์ทำให้ตัวนับกลับสู่สถานะเดิม

30 = 3·10 + 0

ค่านับหลังพัลส์ที่เหลือ

Q = (4 + 0) mod 10 = 4
Q = 0100₂

คำตอบ

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

คำตอบ: fa = 4 kHz

การสุ่ม: ADC วัดสัญญาณ fs ครั้งต่อวินาที ตามทฤษฎีบทไนควิสต์–แชนนอน ความถี่ f ถูกจับได้ถูกต้องก็ต่อเมื่อ f < fs/2 ซึ่งเป็นความถี่ไนควิสต์ (ความถี่พับ) ดังนั้นอัตราการสุ่มต้องเกินสองเท่าของความถี่สัญญาณสูงสุด ความถี่ที่สูงกว่าไม่ได้หายไป: มันปรากฏเป็นแอลลิอัสที่ fa = |f − k·fs| โดยจำนวนเต็ม k ทำให้ผลลัพธ์อยู่ระหว่าง 0 ถึง fs/2 ตัวอย่างแยกทั้งสองไม่ออก ดังนั้นฟิลเตอร์ป้องกันแอลลิอัสแบบแอนะล็อกต้องกำจัดทุกอย่างเหนือ fs/2 ก่อนเข้า ADC

ความถี่ไนควิสต์

fs/2 = 5 kHz < f = 6 kHz

พหุคูณของอัตราการสุ่มที่ใกล้ที่สุด

k = round(6/10) = 1

ความถี่แอลลิอัส

fa = |6 − 1·10| = 4 kHz

คำตอบ

fa = 4 kHz

เส้นประในรูปคือแอลลิอัส: มันผ่านตัวอย่างชุดเดียวกันทุกประการ

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

คำตอบ: e = 0.1603 %

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

ตัวหาร

D = 24·10⁶/(16·115200) = 13.02 → 13

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

24·10⁶/(16·13) = 115385 Bd

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

(115385 − 115200)/115200·100 = 0.1603 %

คำตอบ

e = 0.1603 %

ความคลาดเคลื่อนที่ต่ำกว่าประมาณ 2 % มักยอมรับได้

ExamProblems · examproblems.com/courses/digital-electronics