LO ÏC S OC SO Á
7.5. Cài đặt phần cứng và các bộ đệm vòng
Việc cài đặt phần cứng của các mạch lọc FIR với các chip DSP đã được trình bày trong phần 4.2.4. Các mạch lọc IIR cũng cĩ thể được thiết kế một cách tương tự.
Xét SOS (7.1.1) được biểu diễn theo dạng canonical như hình 7.2.3. Một cách thiết kế phần cứng bằng một chip DSP điển hình được cho trong hình 7.5.1. Các hệ số
mạch lọc được chứa trong RAM hay ROM trên chip. Các trạng thái trong được chứa trong RAM.
CHUƠNG
CHUƠNG 7:7: THTHỰỰC HIEC HIEÄÄN MAN MAÏÏCH CH
LO
7.5. Cài đặt phần cứng và các bộ đệm vịng
H
Hìình 7.5.1 Canh 7.5.1 Cáùch thch thựực hiec hiệän mon mộät khâu bat khâu bậäc hai c hai ba
bằèng chip DSP ng chip DSP đđieiểån hn hìình.nh.
CHUƠNG
CHUƠNG 7:7: THTHỰỰC HIEC HIEÄÄN MAN MAÏÏCH CH
LO
7.5. Cài đặt phần cứng và các bộ đệm vịng
Như trong phần 4.2.4, thuật tốn xử lý mẫu (7.2.2) cĩ thể được viết theo dạng mơ phỏng các lệnh của một chip DSP, như là các lệnh MAC và các lệnh dịch dữ
liệu: (7.5.1)
CHUƠNG
CHUƠNG 7:7: THTHỰỰC HIEC HIEÄÄN MAN MAÏÏCH CH
LOLOÏÏC SOC SOÁÁ LOÏÏC SOC SOÁÁ 0 0 0 1 1 1 2 2 0 1 1 w b y : y , w : w w b y : y , w : w w a w : w w a x : w : do x sample input each for 1 2 0 0 + = = + = = − = − =
7.5. Cài đặt phần cứng và các bộ đệm vịng
Trong chip DSP hiện đại, mỗi dịng trong thuật tốn trên cĩ thể được cài đặt bằng một lệnh loại-MAC; do đĩ, mỗi một SOS cĩ thể được cài đặt với 5 dịng lệnh cho mỗi mẫu vào.
Lưu ý: các trạng thái w1 và w2 khơng được cập nhật cho đến khi nào w0 đã được tính tốn xong. Các lệnh MAC để tính w0 thực hiện theo chiều tới, cĩ nghĩa là từ hệ số ai thấp nhất đến cao nhất. Điều này là thuận tiện bởi vì khi w0 vừa được tính xong, các lệnh dịch dữ
liệu/MAC kết hợp để tính y cĩ thể bắt đầu, nhưng sẽ thực hiện lùi từ hệ số bi cao nhất đền thấp nhất.
CHUƠNG
CHUƠNG 7:7: THTHỰỰC HIEC HIEÄÄN MAN MAÏÏCH CH
LO
7.5. Cài đặt phần cứng và các bộ đệm vịng
Trong trường hợp tổng quát, ta cĩ thể viết lại phương trình (7.2.5) với giả sử L = M:
(7.5.2)
(7.5.3)
(7.5.3)
CHUƠNG
CHUƠNG 7:7: THTHỰỰC HIEC HIEÄÄN MAN MAÏÏCH CH
LOLOÏÏC SOC SOÁÁ LOÏÏC SOC SOÁÁ i i i 1 i M M 0 0 w b y : y w : w : do ,1 , , M i for w b : y w a w : w : do M , 1,2, i for x : w : do x sample input each for + = = − = = − = = = + … … 1 1 1 0 M) bậc FIR lọc mạch ( C ) M ( Ninstr = +1 +
7.5. Cài đặt phần cứng và các bộ đệm vịng
Thời gian tổng cần thiết cho một quá trình xử lý một
mẫu đầu vào sẽ là . (7.5.5)
Trong đĩ Tinstr là thời gian cho một lệnh cơ bản, như
MAC hay MACD. Cũng trong phần 4.2.4, Tinstr khoảng
30 ∏ 80 ns, tương ứng với lệnh cĩ tốc độ finstr = 1/Tinstr = 12.5 ∏ 33.3 MIPS (Million Instructions Per Second). Thời 12.5 ∏ 33.3 MIPS (Million Instructions Per Second). Thời gian xử lý một mẫu áp đặt giới hạn trên của tốc độ lấy mẫu mà mạch lọc cĩ thể hoạt động được:
(7.5.6)Trong đĩ 1/Tproc là tốc độ tính tốn của chip, tức là số Trong đĩ 1/Tproc là tốc độ tính tốn của chip, tức là số mẫu cĩ thể được xử lý trong 1s.
CHUƠNG
CHUƠNG 7:7: THTHỰỰC HIEC HIEÄÄN MAN MAÏÏCH CH
LOLOÏÏC SOC SOÁÁ LOÏÏC SOC SOÁÁ instr instr proc N T T = instr instr instr instr proc s N f T N T f = 1 = 1 =
7.5. Cài đặt phần cứng và các bộ đệm vịng
Ta khơng thể tính tốn số lệnh khơng phụ thuộc vào bộ xử lý cho một mạch lọc cụ thể. Số lệnh cũng như thời gian xử lý Tproc trong 1s tùy thuộc vào kiến trúc, tập lệnh, cách truy xuất bộ nhớ của chip DSP.
Đối với một cascade của SOS, để tìm thời gian xử lý tổng ta phải tính tốn thời gian phải chi phí để xử lý một SOS rồi nhân cho số lượng khâu. Theo phương trình (7.5.1) ta thấy rằng cần khoảnh 5 lệnh cho một SOS; do đĩ, thời gian xử lý cho một SOS cĩ thể xấp xỉ bằng (bỏ qua overhead).
CHUƠNG
CHUƠNG 7:7: THTHỰỰC HIEC HIEÄÄN MAN MAÏÏCH CH
LO
7.5. Cài đặt phần cứng và các bộ đệm vịng
TSOS ª 5Tinstr (7.5.7) Khi cĩ K SOS được nối cascade hay song song, nhưng đều được thiết kế với cùng một DSP, thì tổng số lệnh sẽ là:
Ninstr = 5K + C (Mạch lọc IIR khâu K) (7.5.7)
Trong đĩ là overhead cho mạch lọc K-tầng. Do đĩ thời gian xử lý tổng là::
Tproc = Tinstr(5K + C) = KTSOS + Ctinstr (7.59)
Bo
Bỏû qua hequa heää sosoáá overhead toverhead tưương ơng đđooái nhoái nhoûû, ta t, ta tììm tom toác ác đđooää lalaááy y
mẫu to
mẫu tốái i đđa fa fss cho K khâu bacho K khâu bậäc hai.c hai.
CHUƠNG
CHUƠNG 7:7: THTHỰỰC HIEC HIEÄÄN MAN MAÏÏCH CH
LO
7.5. Cài đặt phần cứng và các bộ đệm vịng
(7.5.10)Đối với các mạch song song (xem bài tập 5.18), ta cĩ Đối với các mạch song song (xem bài tập 5.18), ta cĩ
thể nâng tốc độ thơng lượng bằng cách dùng K chip DSP khác nhau hoạt động song song, mỗi chip được
dùng để thực hiện phép lọc SOS trong TSOS giây. Trong trường hợp này, thời gian xử lý tổng là TSOS vì tất cả
các DSP kết thúc đồng thời, và do đĩ, tốc độ thơng lượng sẽ nhanh hơn K lần trong trường hợp 1 DSP:
(7.5.11)
(7.5.11)
CHUƠNG
CHUƠNG 7:7: THTHỰỰC HIEC HIEÄÄN MAN MAÏÏCH CH
LOLOÏÏC SOC SOÁÁ LOÏÏC SOC SOÁÁ K f KT T f instr SOS proc s 5 1 1 = = = SOS proc s SOS proc T f T T T = ⇒ = 1 = 1
7.5. Cài đặt phần cứng và các bộ đệm vịng
Đối với các mạch cascade, ta cũng cĩ thể sử dụng K chip DSP – mỗi chip cho một SOS – để tăng tốc độ xử lý. Tuy nhiên, vì đầu ra của khâu này là đầu vào của khâu kế tiếp nên khơng thể chạy K chip DSP đồng
thời. Mỗi DSP phải chờ TSOS giây cho DSP trước nĩ kết thúc.
Một giải pháp là pipeline các phép lọc của các khâu liên tiếp, do đĩ tất cả các DSP hoạt động với nhau, nhưng mỗi DSP xử lý đầu vào từ thời điểm lấy mẫu trước đĩ. Việc này cĩ thể được thực hiện bằng cách
chèn các khâu trễ đơn vị giữa các DSP, như trong hình 7.5.2.
CHUƠNG
CHUƠNG 7:7: THTHỰỰC HIEC HIEÄÄN MAN MAÏÏCH CH
LO
7.5. Cài đặt phần cứng và các bộ đệm vịng
Hình 7.5.2 Pipeline hoạt động của nhiều bộ xử lý DSP. Tại thời điểm thứ n, khi DSP-1 đang xử lý mẫu đầu vào hiện hành x(n), DSP-2 đang xử lý mẫu y1(n-1) được
DSP xuất vào thời điểm trước đĩ và được lưu trong một thanh ghi chờ, và DSP-3 đang xử lý mẫu y2(n-1) được DSP-2 tạo ra trước đĩ,… Tác động của việc phát sinh các thời gian trễ này chỉ là một thời gian trễ chung trong đầu ra. Ví dụ, trong trường hợp được chỉ ra trong hình 7.5.2, hàm truyền tổng hợp thay đổi từ H(z) =
H1(z) H2(z) H3(z) thành:
CHUƠNG
CHUƠNG 7:7: THTHỰỰC HIEC HIEÄÄN MAN MAÏÏCH CH
LO
7.5. Cài đặt phần cứng và các bộ đệm vịng
H(z) = H1(z)z-1H2(z) z-1H3(z) = z-2H1(z)H2(z)H3(z) tương ứng với việc làm trễ đầu ra 2 xung đơn vị. Đối với K khâu, thời gian trễ tổng cộng là z-(K-1)..
V
Víí dudụï 7.5.1: Chip DSP da7.5.1: Chip DSP dấu chấu chấám m đđoộäng AT&T DSP 32 ng AT&T DSP 32 ca
cáùc [87,88]coc [87,88]coùù thetheåå ththựực thi cac thi caùùc lec leäänh loanh loaïi ïi --MAC cơ baMAC cơ baûûn n
trong 4 chu ky
trong 4 chu kỳø xung nhịp, txung nhịp, tứức lac laøø TTinstrinstr = 4T= 4Tclockclock. Do . Do đđooùù, ,
ta
tần sồn sốá lelệnh cuänh củûa noa nóù lalàø ffinstrinstr = f= fclockclock/4. Mo/4. Một lệt lệänh MAC nh MAC đđieiểån n h
hìình bienh bieååu diễn 2 pheu diễn 2 pheùp toaùp toaùùn dan daáu chaáu chaáám m đđooääng: mong: moäät phet pheùùp p
nhân va
nhân vàø momộät phet phép cóp cộäng. Do ng. Do đđoó, chip có, chip cóù totốác c đđoộä ttíính toanh toáùn n la
làø ffFlopFlop = 2f= 2finstrinstr = f= fclockclock/2./2.
CHUƠNG
CHUƠNG 7:7: THTHỰỰC HIEC HIEÄÄN MAN MAÏÏCH CH
LO
7.5. Cài đặt phần cứng và các bộ đệm vịng
Ở tốc độ xung nhịp fClock = 50 MHz, nĩ cĩ tốc độ lệnh là
f
finstrinstr = f= fclockclock/4 = 12.5 MHz và tốc độ tính tốn là/4 = 12.5 MHz ffFlopFlop = = f
fclockclock/2 = 25 MHz. Thời gian cho một lệnh là/2 = 25 MHz TTinstrinstr = 1/ = 1/
f
finstrinstr = 80 ns.=
Một mạch lọc FIR bậc M cĩ thể được cài đặt với Ninstrinstr = (M + 1) + 11 = M + 12 (lệnh/mẫu)
Do
Do đđoóù, thơ, thơøøi gian xi gian xửử lylýù 1 mẫu la1 mẫu làø TTprocproc = (M + 12)T= (M + 12)Tinstrinstr..
Đ
Đooáái vơi vơùi moùi moäät mat maïch loïch loïïc FIR 100c FIR 100--tap (M=99) dutap (M=99) duøøng DSP 32 ng DSP 32
ca
cáùc c đđang chaang chạïy ơy ơûû totốác c đđoộä 50 MHz, ta co50 MHz, ta cóù TTprocproc = (M + = (M + 12)T
12)Tinstr instr = (99 + 1)80 = 8.9 = (99 + 1)80 = 8.9 mms, cos, cóù totoáác c đđooää thơng lthơng lưươơïïng tong toáái i
đ
đa laa làø ffss = 1/T= 1/Tprocproc = 112.4 kHz.= 112.4 kHz.
CHUƠNG
CHUƠNG 7:7: THTHỰỰC HIEC HIEÄÄN MAN MAÏÏCH CH
LO
7.5. Cài đặt phần cứng và các bộ đệm vịng
Một mạch lọc IIR K-khâu được cài đặt
N
Ninstrinstr = 5K + 10 (Le= 5K + 10 (Leäänh/mẫu)nh/mẫu)
Nĩ địi hỏi số trạng thái chờ chu kỳ – máy là:
N
Nwaitwait = 2K + 1 (Tra= 2K + 1 (Trạng thạng tháùi chơi chơøø/mẫu)/mẫu)
Do đĩ, thời gian xử lý tổng cho K khâu sẽ là::
Tproc = NinstrTinstr + NwaitTclock
Vie
Viếát Tt instr = 4Tclock = 4/fclock ta cĩ
Tproc = (4Ninstr + Nwait)/fclock = (22K + 41)= (22K + 41)/fclock
Đ
Đoốái vơi vơùùi moi một SOS, K=1, vật SOS, K=1, vàø xung nhịp 50 MHz, ta txung nhịp 50 MHz, ta tììm m đư
đươơïïc Tc Tproc proc = 1.26 = 1.26 mmss, hay ta, hay taààn son soáá lalaááy mẫu cy mẫu cựực c đđaaïïi lai laøø: :
CHUƠNG
CHUƠNG 7:7: THTHỰỰC HIEC HIEÄÄN MAN MAÏÏCH CH
LO
7.5. Cài đặt phần cứng và các bộ đệm vịng
fs = 1/Tproc = 793.6 kHz
Đối với một mạch lọc 5 khâu, K = 1, ta tìm được Tproc = 3.02 ms, hay tần số lấy mẫu cực đại là fs = 33.1 kHz. Và cho một mạch lọc 10 khâu, K=10, ta cĩ Tproc = 5.22 ms, hay tần số lấy mẫu cực đại là fs = 191.6 kHz.
CHUƠNG
CHUƠNG 7:7: THTHỰỰC HIEC HIEÄÄN MAN MAÏÏCH CH
LO