Điện tử số: gói ôn nước rút

Bảng công thức, các bước phương pháp chính cho từng chủ đề và 6 bài tập, kèm lời giải đầy đủ ở cuối.

Bài mớiQuay lại môn học

Trong cửa sổ in, hãy chọn “Lưu dưới dạng PDF” để giữ một bản trên thiết bị của bạn.

1Công thức và phương pháp

Hệ đếm

Giá trị vị trí
nhị phân 2k, bát phân 8k, thập lục phân 16k
Sang thập phân
Σ dk·bk
Từ thập phân
chia cho cơ số, đọc các số dư từ dưới lên
Thập lục phân ↔ nhị phân
một chữ số thập lục phân = 4 bit
Số bù hai
đảo các bit và cộng 1

Logic số: cổng, bìa K và flip-flop

Các cổng cơ bản
A·B, A + B, A′, (A·B)′, (A + B)′, A ⊕ B
Các quy tắc Boole
X + X′ = 1, X·X′ = 0, X + XY = X, XY + XY′ = X
De Morgan
(X·Y)′ = X′ + Y′, (X + Y)′ = X′·Y′
Thứ tự của bìa Karnaugh
00, 01, 11, 10 (Gray code)
Nhóm 2ᵏ ô
mất k biến
Bộ ghép kênh 4-sang-1
F = A′B′I0 + A′BI1 + AB′I2 + ABI3
Flip-flop
D: Q⁺ = D, T: Q⁺ = T ⊕ Q, JK: Q⁺ = JQ′ + K′Q
Bộ đếm
n bit: 2ⁿ trạng thái; mod-N: n nhỏ nhất thỏa 2ⁿ ≥ N; fout = fclk/N
Bộ đếm gợn sóng
fmax = 1/(n·tpd)
Bộ đếm vòng và Johnson
n và 2n trạng thái

Phương pháp

  1. Với một mạch, hãy làm từ các đầu vào đến đầu ra từng cổng một và ghi giá trị trên mọi dây, hoặc viết biểu thức của nó rồi điền bảng chân trị.
  2. Để rút gọn, hãy đặt các số 1 (và các điều kiện tùy định là X) vào một bìa Karnaugh với hàng và cột theo mã Gray: 00, 01, 11, 10.
  3. Hãy phủ các số 1 bằng càng ít nhóm và càng lớn càng tốt gồm 1, 2, 4, 8 hoặc 16 ô, cuộn qua mép; mỗi nhóm là một số hạng tích gồm các biến không đổi. Hãy nhóm các số 0 cho dạng POS.
  4. Với flip-flop và bộ đếm, hãy đọc các đầu vào tại mỗi sườn xung nhịp tích cực, ghi trạng thái sau mỗi sườn, và nhớ rằng bộ đếm n bit quay vòng sau 2ⁿ trạng thái.

Thu thập dữ liệu và lấy mẫu

Tiêu chuẩn Nyquist
fs > 2·fmax, fN = fs/2
Tần số răng cưa (alias)
fa = |f − k·fs|, k = round(f/fs)
Kích thước bước lượng tử
1 LSB = VFSR/2ᴺ
Sai số lượng tử hóa (làm tròn)
±½ LSB
Mã ADC cắt cụt
D = ⌊Vin/LSB⌋
Số bit cho độ phân giải r
2ᴺ ≥ span/r
SQNR lý tưởng, sóng sin toàn thang
SQNR = 6,02·N + 1,76 dB
Tốc độ dữ liệu
số kênh × fs × N bit/s
ADC ghép kênh
fs = 1/(n·(tc + tset))
UART
Tb = 1/baud; 8N1 = 10 bit cho mỗi byte; byte/s = baud/số bit mỗi khung
Bộ chia tốc độ baud
baud = fclk/(16·D)

Phương pháp

  1. Ghi ra những gì đã cho: tốc độ lấy mẫu, các tần số tín hiệu, số bit, dải đầu vào, tốc độ baud.
  2. Với các câu hỏi về lấy mẫu, so sánh từng tần số với fs/2; tần số cao hơn xuất hiện tại fa = |f − k·fs| với bội số gần nhất của fs.
  3. Với các câu hỏi về độ phân giải, tìm 1 LSB = VFSR/2ᴺ, hoặc N nhỏ nhất thỏa 2ᴺ ≥ khoảng/độ phân giải.
  4. Với tốc độ dữ liệu và đường truyền UART, đếm mọi thứ được gửi đi: số kênh, số mẫu mỗi giây, số bit hoặc số byte nguyên mỗi mẫu, và các bit khởi đầu, chẵn lẻ và dừng của mỗi khung.

2Bài tập

1.Hệ đếmTrung bình
Số bù hai 8 bit0−12806403201608040201

Đặt các bit để lưu −14 theo bù hai 8 bit. Đọc như một số không dấu, giá trị U của mẫu là bao nhiêu?

N = −148 bit
U =
2.Hệ đếmKhó
16 bit, không dấu, N = ?????????????????

Số nguyên không dấu lớn nhất N vừa trong 16 bit là bao nhiêu?

16 bit
N =
3.Logic số: cổng, bìa K và flip-flopTrung bình
ABCD000111100001111011111

Trong bìa Karnaugh này, đúng một số 1 không có số 1 kề, nên nó vẫn là một nhóm một ô (một minterm đầy đủ bốn literal) trong dạng SOP tối thiểu. Các ô kề qua mép bìa cũng được tính. Hãy nhấp vào ô đó.

F = Σm(3, 4, 6, 7, 8)
  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.Logic số: cổng, bìa K và flip-flopKhó
CLKJK123456

Một flip-flop JK kích hoạt theo sườn lên bắt đầu với Q = 0 và nhận các đầu vào như hình tại 6 sườn lên của xung nhịp. Q đổi trạng thái bao nhiêu lần N?

Q₀ = 0JK
N =
5.Thu thập dữ liệu và lấy mẫuTrung bình
SD0​D1​D2​D3​D4​D5​D6​D7​PTb​11·Tb​57600 Bd, 8E1

Một UART gửi các byte ở 57600 baud theo định dạng 8E1: 8 bit dữ liệu, một bit chẵn lẻ chẵn và 1 bit dừng, cộng với bit khởi đầu. Tìm số byte dữ liệu lớn nhất mà nó có thể truyền mỗi giây.

baud = 57600 Bd8E1
RB = B/s
6.Thu thập dữ liệu và lấy mẫuKhó
SD0​D1​D2​D3​D4​D5​D6​D7​1/fbaud​1 MHz / (16·D)

Một vi điều khiển có xung nhịp 1 MHz đặt tốc độ baud UART là fclk/(16·D), với D là số nguyên được làm tròn đến giá trị gần nhất. Mục tiêu là 9600 baud. Tìm sai số phần trăm của tốc độ baud thực (dương khi nó quá nhanh).

fclk = 1 MHzmục tiêu = 9600 Bd
e = %

3Dung dịch

1.Hệ đếm

Đáp số: U = 242

Đặt các bit: mỗi bit có giá trị bằng một lũy thừa của hai (128, 64, …, 1). Một chữ số hex đúng bằng bốn bit, và trong bù hai 8 bit, bit ngoài cùng bên trái có giá trị −128. Các phép toán theo bit làm việc trên từng vị trí bit riêng biệt.

Đảo bit và cộng một

14 = 0000 1110
đã đảo: 1111 0001
+1 → 1111 0010

Đọc như số không dấu

1111 0010₂ = 256 − 14 = 242

Đáp số

U = 242
2.Hệ đếm

Đáp số: N = 65535

Hệ đếm theo vị trí: mỗi chữ số có giá trị bằng giá trị của nó nhân với một lũy thừa của cơ số. Trong hệ nhị phân, các vị trí có giá trị 1, 2, 4, 8, 16, …; trong hệ thập lục phân 1, 16, 256, …, với A–F biểu diễn 10–15. Trong số bù hai 8 bit, bit ngoài cùng bên trái có giá trị −128 thay vì +128, đó là cách lưu số âm.

Giá trị lớn nhất

216 − 1 = 65535

Đáp số

N = 65535
3.Logic số: cổng, bìa K và flip-flop

Đáp số: AB = 10, CD = 00

Bìa Karnaugh: các ô được sắp xếp theo mã Gray (00, 01, 11, 10), nên các ô kề nhau, kể cả những ô qua mép, khác nhau đúng một biến. Hãy nhóm các số 1 thành hình chữ nhật gồm 1, 2, 4, 8 hoặc 16 ô, lớn nhất có thể và ít nhóm nhất có thể, cho đến khi mọi số 1 đều được phủ. Mỗi nhóm là một số hạng tích: các biến không đổi bên trong nó. Một nhóm 2ᵏ ô mất k biến. Các điều kiện tùy định (X) có thể dùng để làm nhóm lớn hơn nhưng không bắt buộc phải được phủ. Nhóm các số 0 thay vào đó sẽ cho dạng POS tối thiểu.

Các ô kề của mỗi số 1

Một số 1 có số 1 kề có thể thuộc một nhóm hai ô hoặc lớn hơn.

m8: m9, m10, m12, m0 → 0
ABCD000111100001111011111

Số 1 cô lập

m8 = AB′C′D′ → AB = 10, CD = 00

Đáp số

AB = 10, CD = 00
4.Logic số: cổng, bìa K và flip-flop

Đáp số: N = 2

Flip-flop và bộ đếm: một flip-flop chỉ thay đổi ở sườn tích cực của xung nhịp. D sao chép đầu vào của nó (Q⁺ = D); T đảo khi T = 1; JK giữ nguyên với 00, đặt về 0 với 01, đặt lên 1 với 10 và đảo với 11. Một bộ đếm nhị phân n bit có 2ⁿ trạng thái và đếm theo modulo 2ⁿ; một bộ đếm mod-N đếm 0, 1, …, N − 1 rồi về lại 0, và cần số flip-flop n nhỏ nhất thỏa 2ⁿ ≥ N. Mỗi tầng của bộ đếm gợn sóng chia đôi tần số, nên đầu ra cuối của bộ đếm mod-N chạy ở fclk/N. Một bộ đếm Johnson gồm n flip-flop có 2n trạng thái, bộ đếm vòng có n.

Q sau mỗi sườn

Một flip-flop JK: 00 giữ nguyên, 01 đặt về 0 (Q = 0), 10 đặt lên 1 (Q = 1), 11 đảo.

1: J = 0, K = 0 → Q = 0
2: J = 0, K = 1 → Q = 0
3: J = 1, K = 1 → Q = 1
4: J = 0, K = 0 → Q = 1
5: J = 1, K = 0 → Q = 1
6: J = 0, K = 1 → Q = 0

Đếm các lần thay đổi

0 → 0 → 0 → 1 → 1 → 1 → 0
N = 2

Đáp số

N = 2
5.Thu thập dữ liệu và lấy mẫu

Đáp số: RB = 5236 B/s

UART: một đường truyền nối tiếp không đồng bộ gửi mỗi byte thành một khung: một bit khởi đầu (mức thấp), các bit dữ liệu, một bit chẵn lẻ tùy chọn và một hoặc hai bit dừng (mức cao). Tốc độ baud là số bit mỗi giây, nên một bit kéo dài Tb = 1/baud và một khung n bit kéo dài n/baud. Định dạng 8N1 phổ biến có 10 bit cho mỗi byte. Bộ tạo baud chia tần số xung nhịp: baud = fclk/(16·D) với D là số nguyên, nên tốc độ baud thực khác mục tiêu đôi chút; sai số dưới khoảng 2 % thường chấp nhận được.

Số bit mỗi khung

1 + 8 + 1 + 1 = 11

Tốc độ byte

57600/11 = 5236 B/s

Đáp số

RB = 5236 B/s
6.Thu thập dữ liệu và lấy mẫu

Đáp số: e = −6,994 %

UART: một đường truyền nối tiếp không đồng bộ gửi mỗi byte thành một khung: một bit khởi đầu (mức thấp), các bit dữ liệu, một bit chẵn lẻ tùy chọn và một hoặc hai bit dừng (mức cao). Tốc độ baud là số bit mỗi giây, nên một bit kéo dài Tb = 1/baud và một khung n bit kéo dài n/baud. Định dạng 8N1 phổ biến có 10 bit cho mỗi byte. Bộ tạo baud chia tần số xung nhịp: baud = fclk/(16·D) với D là số nguyên, nên tốc độ baud thực khác mục tiêu đôi chút; sai số dưới khoảng 2 % thường chấp nhận được.

Bộ chia

D = 1·10⁶/(16·9600) = 6,51 → 7

Tốc độ baud thực

1·10⁶/(16·7) = 8929 Bd

Sai số

(8929 − 9600)/9600·100 = −6,994 %

Đáp số

e = −6,994 %

Sai số trên khoảng 2 % làm đường truyền không đáng tin cậy: hãy chọn xung nhịp hoặc tốc độ baud khác.

ExamProblems · examproblems.com/courses/digital-electronics