Chương 4 XÂY DỰNG HỆ ĐO, CHẾ TẠO THIẾT BỊ VÀ ĐO MẪU
4.2. Hệ ủo với cấu hỡnh ủo chớnh xỏc
4.2.1. Cấu trỳc cơ bản của một ủơn vị xử lý tớn hiệu số
Ngày nay, DSP (Digital Signal Processors) ủó ủược ứng dụng trong nhiều lĩnh vực như ủo lường, ủiều khiển… ủể giải quyết cỏc bài toỏn ủũi hỏi xử lý tớn hiệu với khối lượng lớn, thời gian thực, tốc ủộ cao.
DSP là một bộ xử lý ủặc biệt cú tốc ủộ xử lý tớn hiệu nhanh hơn bộ vi xử lý thụng dụng nhiều lần do sự khỏc nhau về cấu trỳc [3, 9, 12, 14, 21-23, 50, 62, 63, 65, 78]. Hỡnh 4.2 mụ tả kiến trỳc cơ bản của một ủơn vị xử lý dữ liệu số.
Hỡnh 4.2. Kiến trỳc cơ bản của một ủơn vị xử lý dữ liệu số
trong ủú DAGEN là khối tạo ủịa chỉ dữ liệu cho cỏc toỏn hạng của cõu lệnh; Memory là bộ nhớ; Shifter-Mutiplier-ALU là khối thực hiện cỏc phộp ghi dịch, nhõn, cộng, trừ và logic; Accumulator(s) thực hiện phộp nhõn và lấy tổng; Shifter cho phộp ghi dịch.
Shifter, Multiplier, ALU
Accumulator(s)
Shifter DAGEN C
Memory C
Trong cỏc bo mạch DSP, thường cú rất nhiều ủơn vị tớnh toỏn ủặc biệt, hoạt ủộng ủồng thời như cỏc bộ nhõn, bộ cộng, bộ ghi dịch. Khi thực hiện cỏc phộp tớnh phức tạp, mỗi ủơn vị tớnh toỏn ủặc biệt trờn sẽ ủảm trỏch một chức năng nờn cú thể thực hiện nhiều phộp tớnh trong một chu kỳ xung nhịp. Ngoài ra, trong DSP, người ta sử dụng kỹ thuật kết nối song song và kỹ thuật ủường ống nờn tốc ủộ xử lý rất nhanh. Chỳng ta hóy xột một vớ dụ khi thực hiện phộp lọc FIR:
) ( ) ( 1 0 i n x b n y L i i − = ∑− = (4.1) trong ủú {b0, b1, …, bL-1} là hệ số lọc; {x(n), x(n-1),…,x(n-L+1)} là cỏc mẫu tớn hiệu; L là ủộ dài bộ lọc; y(n) là tớn hiệu lối ra.
DSP thực hiện thuật toỏn nhõn tớch cực theo cỏc bước sau:
Bước 1: Tỡm 2 toỏn hạng bi và x(n-i) trong bộ nhớ;
Bước 2: Thực hiện phộp nhõn bi và x(n-i);
Bước 3: Cộng thờm tớch số vừa thực hiện vào bộ tổng;
Bước 4: Lặp lại cỏc bước 1, 2, 3 với i = 0, 1, 2,… L-1;
Bước 5: Lưu kết quả y(n) từ bộ tổng vào bộ nhớ;
Bước 6: Cập nhật con trỏ ủối với bi và x(n-i) và lặp lại cỏc bước từ 1 ủến 5 ủối
với cỏc cỏc mẫu lối vào tiếp theo.
Truy nhập ủịa chỉ dữ liệu:
Khi thực hiện cỏc cõu lệnh, DSP ủi tỡm cỏc toỏn hạng trong bộ nhớ, trong ủú, mỗi bộ nhớ cú một bus ủịa chỉ riờng. Khi DSP phải truy nhập ủến một chuỗi cỏc toỏn hạng, từng bộ DAGEN sẽ tăng (hoặc giảm) con trỏ ủịa chỉ ủể chỉ ủến toỏn hạng tiếp theo.
Thực hiện cỏc phộp tớnh nhõn và phộp tớnh cộng:
Cỏc bộ vi xử lý của DSP ủều cú cỏc bộ nhõn cứng làm việc song song, cho phộp nhõn hai phần tử của dữ liệu chỉ trong một chu kỳ xung nhịp. Đồng thời, một bộ cộng tiếp theo sẽ cộng tớch số của phộp nhõn trước ủú vào bộ tổng. Do ủú, nhiều cõu lệnh phức tạp cú thể ủược thực hiện trong một chu kỳ xung nhịp.
Thực hiện cỏc phộp tớnh lụgic và số học:
Đơn vị xử lý ALU, ngoài chức năng thực hiện cỏc phộp toỏn số học cơ bản như phộp cộng, phộp trừ… cũn cú chức năng thực hiện cỏc phộp tớnh logic như AND, OR, NOT trờn từng bớt dữ liệu và dịch chuyển tổng thể từ dữ liệu.
Thực hiện phộp ghi dịch:
Trong DSP, bộ ghi dịch ủược sử dụng ủể: thực hiện phộp lấy tỷ lệ cỏc toỏn hạng cú trong bộ nhớ dữ liệu hoặc trong bộ tổng trước khi làm việc với ALU; lấy tỷ lệ cỏc giỏ trị trong bộ tổng trước khi lưu dữ liệu vào bộ nhớ; thực hiện phộp dịch số học cỏc dữ liệu cú trong bộ tổng.
Thực hiện cỏc phộp tớnh theo kiến trỳc ủường ống và song song:
Thụng thường, cỏc cõu lệnh ủược thực hiện qua nhiều bước như truy cập ủịa chỉ của cõu lệnh, ủọc và giải mó nội dung của bộ nhớ chương trỡnh tại ủịa chỉ ủú… Mỗi lệnh cú thể phải mất vài chu kỳ xung nhịp. Để giảm thiểu thời gian thực hiện, cỏc bước trong một cõu lệnh cú thể ủược nối tầng nhờ kỹ thuật ủường ống, nhờ ủú, cỏc bước trong một cõu lệnh cú thể ủược thực hiện trong một chu kỳ xung nhịp. Ngoài ra, trong DSP, người ta cũn sử dụng kỹ thuật song song, cho phộp ủồng thời nhận dữ liệu và thực hiện cỏc phộp tớnh trong một chu kỳ xung nhịp.
Đường bus trong DSP:
Để trỏnh xung ủột cú thể xảy ra khi truy nhập hai toỏn hạng trờn cựng một bộ nhớ tại cựng một thời ủiểm, trong DSP, người ta thiết kế cỏc ủường bus ủộc lập.
Cấu hỡnh bộ nhớ:
Bộ nhớ flash hay ủược sử dụng trong DSP vỡ cú thể xúa và lập trỡnh lại ngay trờn bo mạch. Ngoài ra, bộ nhớ cũn ủược tối ưu hoỏ bằng cỏch tỏch ra một phần làm Cache ủể lưu trữ những cõu lệnh và dữ liệu mới nhất ủược truy cập từ bộ nhớ.
Thiết bị ngoại vi và vào/ ra:
Thiết bị ngoại vi của DSP thường nằm ngay trờn bo mạch, cho phộp tớch hợp DSP với cỏc thiết bị bờn ngoài như ADC, DAC hoặc DSP và cỏc vi xử lý khỏc. Ngoài ra, DSP cũn cú một số thiết bị ngoại vi nội ủể ủiều khiển và quản lý việc tạo xung nhịp cho DSP, quản lý cơ chế truyền dữ liệu và cỏc tiện ớch quản lý nguồn.
Cổng nối tiếp:
Cổng nối tiếp ủược sử dụng khi ủường bus dữ liệu ủược dựng chung cho bộ nhớ chương trỡnh ngoài, bộ nhớ dữ liệu, I/O và giao tiếp với vi xử lý khỏc. Để trỏnh xung ủột, chỳng ủược gắn với tớn hiệu ủiều khiển.
Cổng song song:
Cổng song song cho phộp ủồng thời truyền/ nhận trờn nhiều bớt dữ liệu.
Giao diện cổng chủ HPI (Host – Port Interface):
HPI ủược sử dụng ủể trao ủổi dữ liệu giữa một bộ vi xử lý chủ với một DSP thụng qua bộ nhớ trờn bo mạch DSP.
Trong luận ỏn này, tỏc giả ủó phỏt triển ứng dụng DSP dựa trờn bo mạch DSP TMS320C và Kớt 6713.