Tải bản đầy đủ (.docx) (27 trang)

Đề tài Nghiên cứu bộ thu phát SSB đổi tần trực tiếp trên FPGA

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.44 MB, 27 trang )

BỘ THU PHÁT SSB TRÊN FPGA
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG
=====OoO=====
BÁO CÁO ĐỒ ÁN III
ĐÈ TÀI:
NGHIÊN CỨU BỘ THU PHÁT SSB
ĐỔI TẦN TRỰC TIẾP TRÊN FPGA
GVHD: PGS. Nguyễn Thuý Anh
Sinh viên thực hiện:
STT HỌ TÊN MSSV LỚP
1. Phạm Thị Ánh Quyên 20102049 DT09_K55
Hà Nội, 01/2015
MỞ ĐẦU
Ngày nay, FPGA chứa lượng lớn bộ nhớ chuyên dụng nên có thể chế
tạo vi xử lí trên nền tảng công nghệ FPGA. Khi FPGA được sử dụng song
song thay vì tuần tự thì nó trở thành công cụ mạnh hơn nhiều so với vi xử
lí. Gần đây, FPGA rất hay được sử dụng trong các hệ thống SDR (Software
Defined Radio) vì khả năng tái cấu hình giúp các chức năng của thiết bị có
1
BỘ THU PHÁT SSB TRÊN FPGA
thể thay đổi nhanh chóng. Một hệ thống CPU/MCU/ DSP cũng có thể làm
được chuyện này. Tuy nhiên có nhiều ứng dụng tốc độ cao mà các MCU
thậm chí cả các CPU/DSP trung bình cũng phải bất lực.
Trong nhiều ứng dụng tốc độ cao đó có thể kể đến bộ thu phát SSB
đổi tần trực tiếp. Thiết kế bộ thu phát SSB đổi tần trực tiếp, đồng nghĩa với
việc nhúng bộ xử lí tín hiệu số tốc độ cao, kích thước nhỏ trong thiết bị
radio.
Trước ưu điểm của FPGA như vậy, em quyết định chọn đề tài
Nghiên cứu bộ thu phát SSB đổi tần trực tiếp trên FPGA cho môn học Đồ
án III.


Hoàn thành đồ án giúp em hiểu rõ hơn về phương pháp điều chế tín
hiệu tương tự SSB, nắm được các khối chức năng của bộ thu phát SSB đổi
tần trực tiếp trên FPGA.
Trong quá trình học tập và làm bài tập, em luôn nhận được sự quan
tâm, định hướng và chỉ bảo của cô giáo, PGS. Nguyễn Thuý Anh.
Em xin chân thành cảm ơn cô và chúc cô sức khoẻ!
PHẦN A. ĐIỀU CHẾ TÍN HIỆU TƯƠNG TỰ SSB.
I. Khái niệm điều chế và giải điều chế tín hiệu
Điều chế tín hiệu là quá trình biến đổi thông số của một tín hiệu tuấn
hoàn theo sự thay đổi của tín hiệu mang thông tin cần truyền đi xa.
2
BỘ THU PHÁT SSB TRÊN FPGA
Tín hiệu tuần hoàn gọi là sóng mang và quá trình có thể thay đổi một
hoặc nhiều thông số của sóng mang. Các thông số thông thường là biên độ,
pha, tần số.
Tín hiệu mang thông tin gọi là tín hiệu được điều chế. Ở đầu thu bộ giải
điều chế sẽ dựa vào sự thay đổi các thông số của sóng mang để tái tạo lại
tín hiệu mang thông tin ban đầu.
Ví dụ : Tín hiệu tiếng nói có tần số thấp, không thể truyền đi xa được.
Người ta dùng một tín hiệu hình sin có tần số cao (để có thể truyền đi xa
được) làm sóng mang. Biến đổi biên độ của tần số sin đó theo tín hiệu tiếng
nói. Ở đầu thu người ta dựa vào sự thay đổi biên độ của tín hiệu thu được
để tái tạo lại tín hiệu tiếng nói ban đầu.
Các phương pháp điều chế cao tần thường dùng với tín hiệu liên tục
• Điều chế biên độ AM ( Amplitude Modulation)
• Điều chế đơn biên SSB ( Single Side Bande)
• Điều chế tần FM (Frequency Modulation)
• Điều chế pha PM ( Phase Mudulation)
Giải điều chế tín hiệu là quá trình ngược lại với quá trình điều chế.
Trong quá trình thu được có một trong các tham số : biên độ , tần số, pha

của tín hiệu sóng mang được biến đổi theo tín hiệu điều chế và tuỳ theo
phương thức điều chế mà ta có được các phương thức giải điều chế thích
hợp để lấy lại thông tin cần thiết.
Phương pháp giải điều chế còn gọi là phép lọc tin. Tuỳ theo hỗn hợp tín
hiệu và các chỉ tiêu tối ưu về sai số ( độ chính xác) phải đạt được mà có các
phương pháp giải điều chế thông thường như:
• Tách sóng biên độ
• Tách sóng tần số
• Tách sóng pha
II. Vị trí của điều chế tín hiệu nói chung và của điều chế đơn
biên SSB nói riêng trong điều chế thông tin :
3
BỘ THU PHÁT SSB TRÊN FPGA
Hình 1. Đóng góp của điều chế đơn biên SSB trong điều chế thông tin.
4
BỘ THU PHÁT SSB TRÊN FPGA
Hình 2. Vị trí của điều chế tín hiệu nói chung và của điều chế đơn biên SSB
nói riêng trong hệ thống thông tin,
III. Phương pháp điều chế đơn biên SSB đổi tần trực tiếp
SSB (Single Side Band) là một phương pháp điều chế tương tự, việc
điều chế được thực hiện liên tục theo tín hiệu thông tin tương tự.
SSB sử dụng các bộ lọc dải hẹp thích hợp để thu được chỉ một biên
(hoặc là biên trên USB hoặc là biên dưới LSB), và loại bớt đi một biên còn
lại.
5
BỘ THU PHÁT SSB TRÊN FPGA
Hình 3. Tín hiệu điều chế SSB so với các tín hiệu điều chế khác
Điều chế SSB đổi tần trực tiếp là quá trình điều chế đơn biên mà trực
tiếp làm biến đổi tần số của một tín hiệu tuần hoàn theo sự thay đổi của tín
hiệu mang thông tin cần truyền đi xa.

Bảng 1. So sánh phương pháp điều chế SSB với các phương pháp điều chế
tương tự khác.
Phương pháp điều
chế
Độ phức tạp
giải điều chế
Băng thông tín hiệu
điều chế
Hiệu suất
năng lượng
AM-SC Cao Rộng Cao
AM Thấp Rộng Thấp
SSB-SC Cao Hẹp Cao
SSB Thấp Hẹp Thấp
VSB Cao Vừa phải Vừa phải
Bảng 2. Ưu nhược điểm của điều chế SSB so với điều chế AM
Điều chế tương tự SSB Điều chế tương tự AM
Tín hiệu SSB thu được chỉ một biên
( hoặc USB hoặc LSB), biên còn lại
Tín hiệu AM tồn tại cả USB (Upper
Side Band) và LSB (Lower Side
6
BỘ THU PHÁT SSB TRÊN FPGA
bị loại bớt đi band)
Tiết kiệm băng thông hơn Băng thông lớn hơn
Tiết kiệm công suất phát hơn khi
xét trên cùng khoảng cách thông tin
Tiêu tốn công suất phát nhiều hơn
Yêu cầu cao Yêu cầu đơn giản hơn
Yêu cầu của SSB cao hơn so với AM thông thường vì phải có bộ lọc

nửa biên còn lại nên chi phí cao hơn và về mặt kĩ thuật sẽ giải quyết bài
toán khó hơn so với AM thông thường
Sở dĩ SSB tiết kiệm băng thông và tiết kiệm công suất phát khi xét
trên cùng khoảng cách thông tin so với cách điều biên AM thông thường vì
không phải truyền công suất sóng mang vô ích vào nửa biên còn lại!
PHẦN B. BỘ THU PHÁT SSB ĐỔI TẦN TRỰC TIẾP TRÊN FPGA
I. Nền tảng phần cứng
I.1. Công nghệ FPGA
Field-programmable gate array (FPGA) là vi mạch dùng cấu trúc mảng
phần tử logic mà người dùng có thể lập trình được. (Chữ field ở đây muốn
chỉ đến khả năng tái lập trình “bên ngoài” của người sử dụng, không phụ
thuộc vào dây chuyền sản xuất phức tạp của nhà máy bán dẫn). Vi mạch
FPGA được cấu thành từ các bộ phận:
7
BỘ THU PHÁT SSB TRÊN FPGA
• Các khối logic cơ bản lập trình được (logic block)
• Hệ thống mạch liên kết lập trình được
• Khối vào/ra (IO Pads)
• Phần tử thiết kế sẵn khác như DSP slice, RAM, ROM, nhân vi xử lý.
Hình 4. KIT FPGA của hãng Altera
Thiết kế hay lập trình cho FPGA được thực hiện chủ yếu bằng các ngôn
ngữ mô tả phần cứng HDL như VHDL, Verilog, AHDL, các hãng sản xuất
FPGA lớn như Xilinx, Altera thường cung cấp các gói phần mềm và thiết bị
phụ trợ cho quá trình thiết kế, cũng có một số các hãng thứ ba cung cấp các
gói phần mềm kiểu này như Synopsys, Synplify Các gói phần mềm này
có khả năng thực hiện tất cả các bước của toàn bộ quy trình thiết kế IC
chuẩn với đầu vào là mã thiết kế trên HDL (còn gọi là mã RTL)
I.2. Tại sao là FPGA
Tại sao phải dùng FPGA trong khi đã có trong tay MCU/CPU thậm chí
cả các DSP cực mạnh? Vì:

8
BỘ THU PHÁT SSB TRÊN FPGA
MCU/CPU/DSP vẫn cần các hardware khác bên cạnh trong các ứng
dụng chuyên dụng.
Để điều khiển VGA sử dụng CPU làm controller cần CPU với tốc độ
27Mhz hoạt động 100% CPU
Các ứng dụng xử lý hình ảnh/video, các ứng dụng mạng neuron, IA cần
tốc độ xử lý rất lớn. Mặc dù các DSP đủ mạnh và các SoC mạnh có thể
thực hiện được, nhưng sự lựa chọn còn phụ thuộc vào vấn đề kinh tế.
Với FPGA, chúng ta hoàn toàn có thể thiết kế ra một con CPU của
chính mình
Đến với FPGA, chúng ta có cơ hội để tiếp cận gần nhất thế giới của IC
Chúng ta có thể thực hiện một hệ thống với đầy đủ
CPU/Peripheral/IO… và kết nối chúng theo ý muốn, hoặc thậm chí một hệ
thống đầy đủ không cần cả CPU như các Chip giải mã/nén Video/Audio,
các Chip xử lý hình ảnh/giọng nói, các Chip PID Motor Controller,
Networking chip
I.3. Tại sao không kết hợp FPGA và vi điều khiển
Co-design kết hợp năng lực về phần cứng của FPGA với ưu thế xử lý
phần mềm của Vi điều khiển để tạo nên một hệ thống đầy sức mạnh.
Ví dụ thiết kế một ứng dụng đo nhiệt độ phòng với cảm biến nhiệt có
giao tiếp I2C. Nếu chỉ dùng MCU thông thường không có giao tiếp I2C thì
sẽ gặp rất nhiều khó khăn (Phải lập trình ngắt, bắt sườn, mức của xung, ).
Còn nếu chỉ sử dụng FPGA trong ứng dụng này cũng không ổn vì lúc đó sẽ
gặp khó khăn nhất định trong các tính toán số học. Ví dụ cảm biến đo nhiệt
độ bằng đơn vị độ F, trong khi muốn hiển thị độ C, mà muốn thực hiện các
phép toán cộng trừ nhân chia để chuyển đổi độ F với độ C bằng FPGA là
không hề đơn giản. Trong trường hợp này, chúng ta thiết kế theo phương
thức co-design. FPGA phụ trách giao tiếp với cảm biến I2C và trả về các số
liệu thô để MCU thực hiện các tính toán số học.

9
BỘ THU PHÁT SSB TRÊN FPGA
Vậy, tại sao không lấy một MCU có sẵn giao tiếp I2C hoặc nối một
controlller I2C với MCU? Câu trả lời là nếu sau này tìm thấy một cảm biến
khác tốt hơn, chính xác hơn nhưng lại là giao tiếp SPI hoặc CAN, lúc đó
phải bỏ nhiều công sức vào đó để thay đổi thiết kế (thay một MCU khác có
SPI, CAN hoặc thay controller khác) trong khi nếu sử dụng khả năng tuỳ
biến phần cứng của FPGA, thì có thể cấu hình lại giao thức I2C thành SPI
hay CAN, Tuyệt vời hơn nữa là có thể lưu cấu hình của FPGA trong thẻ
nhớ ngoài (MMC, compact flash) và MCU sẽ cấu hình lại FPGA ngay
trong quá trình hoạt động mà không cần phải nạp lại chương trình. Thậm
chí nhiều FPGA còn có đặt tính cấu hình lại một phần của FPGA trong khi
các phần khác vẫn hoạt động mà không cần phải reset lại FPGA.
Hình 5. Mô hình kết hợp FPGA và MCU
Bài toán đặt ra là có nên kết hợp giữa FPGA và Vi điều khiển khi muốn
thiết kế bộ thu phát SSB đổi tần trực tiếp?
Mặc dù kết hợp năng lực về phần cứng của FPGA với ưu thế xử lý phần
mềm của Vi điều khiển để tạo nên một hệ thống đầy sức mạnh, nhưng sự
kết hợp này là tốn kém, có hạn chế trong thiết kế và tốc độ.
II. Bộ thu phát SSB trên FPGA
1. Sơ đồ và mô tả các khối
Cấu hình FPGA được tải tự động từ bộ nhớ flash khi được cấp nguồn.
10
BỘ THU PHÁT SSB TRÊN FPGA
1.1. ADC, DAC
Bộ chuyển đổi tương tự - số ADC và số - tương tự DAC bao gồm:
• High-speed Analog to Digital Converter (ADC)
• Serial Flash Memory and Low-speed DAC
• High-speed Digital to Analog Converter (DAC)
Đầu vào tương tự ADC và đầu ra tương tự DAC được cung cấp trực tiếp

trên kết nối 2 chân và lọc tương tự bên ngoài. Điều này cho phép dùng
mạch 2 lớp hoặc mạch đục lỗ mạ đồng cho mạch tương tự
Hình 6. Giao diện cho ADC và DAC và cung cấp chuyển đổi số lên,
xuống, lọc và kiểm soát mức tín hiệu.
Một vài chức năng hoạt động ở 2 lần tốc độ lấy mẫu để chia sẻ
nguồn tài nguyên. Các dòng đơn trong sơ đồ khối là các đường dẫn nơi mà
mẫu pha I và mẫu vuông Q được xử lí ở tần số 160MHz. Các dòng đôi là
các đường dẫn mà mẫu I và Q được xử lí ở 80MHz
Phần cứng xử lí tín hiệu bắt đầu với DDS-Direct Digital Synthesizer,
tần số của nó có thể là 0.02Hz. Trọng tâm của DDS là một bộ tích luỹ pha,
11
BỘ THU PHÁT SSB TRÊN FPGA
cái mà gia số bởi giá trị trong thanh ghi tần số trung tâm ở chu kì thay thế
của xung nhịp 160MHz. 10 bits trên của địa chỉ đầu ra pha một cổng kép
hình sin 1024x18 ROM như bảng. Thêm vào một góc 90 độ bù vào chu kì
đồng hồ thay thế tạo đầu ra cosin và sin. Đầu vào địa chỉ ROM chọn mục
lân cận và nội suy tuyến tính được dùng để làm mượt đầu ra. Điểm khác
biệt giữa các kênh lân cận là được nhân lên bởi bit 4-21 của bộ tích luỹ pha
và rồi được thêm vào lối vào đầu tiên. Kênh mở rộng được sử dụng với độ
trễ được thêm vào giữa các giai đoạn để sắp xếp kết quả. Thanh ghi dịch
được cung cấp trong kiến trúc Xilinx giảm thiểu hoá nguồn năng lượng
được sử dụng như một tế bào logic FPGA can thể cung cấp một thanh ghi
dịch 1 đến 16 giai đoạn. Chu kì 8 xung nhịp dduwpcj dùng để tạo mỗi đầu
ra. Thuật toán được mô tả ban đầu trong ứng dụng Motorola và sự kích
thích nên dưới -112 dBc.
Trong quá trình tiếp nhận, đầu vào từ ADC được nhân liên tiếp bởi
các đầu ra cos và sin của DDS để tạo ra đầu ra băng cơ sở I và Q. Một bộ
lọc CIC-Cascaded Integrator Comb( bộ lọc tích hợp ghép tầng) và hai bộ
lọc FIR-Finite Impulse Response (bộ lọc đáp ứng xung) cung cấp
downsampling và thiết lập băng thông nhận. Giữa 2 bộ lọc có khoảng

nhiễu. AGC định mức tín hiệu và chuyển từ 2 mẫu 20bit sang 2 mẫu 16bit.
Các tín hiệu nhận có thể đi qua bộ lọc lấy mẫu lại để được chuyển đổi
thành tỉ lệ ko phải là phần nguyên của tốc độ lấy mẫu ADC
Khi truyền, các mẫu có thể chuyển tín hiệu băng cơ sở thành tỉ lệ
tương ứng với DAC. Tín hiệu có thể được nén hoặc cắt bớt để giảm PAPR-
Peak to Average Power Ratio(đỉnh tỉ lệ năng lượng trung bình) và thông
qua vào bộ lọc chuỗi. Thứ tự của các bộ lọc được đảo lại cho việc truyền: 2
bộ lọc FIR trước , bộ lọc CIC sau. Tín hiệu băng cơ sở I và Q upsampled
được trộn với đầu ra DDS cosin và sin và được cộng vào nhau để tạo đầu ra
cuối cùng DAC
12
BỘ THU PHÁT SSB TRÊN FPGA
1.2. Các bộ lọc (Filters)
Bộ lọc CIC có thể downsample hoặc upsample bởi một giá trị nguyên
giữa 10 và 640, chuyển đổi giữa 80 Msps và 8000-125 ksps. Một bộ lọc
CIC được sử dụng vì nó có thể cung cấp sự tiêu thụ lớn và tỷ lệ nội suy
trong khi chỉ sử dụng cộng và trừ. Nó thực sự là một bộ lọc trung bình
động , cái mà được tối ưu hoá để sử dụng ít phần cứng. Thay vì tổng hợp
một số cố định các mẫu ở mỗi rãnh, quá trình được đơn giản hoá để tổng
hợp tất cả mẫu trong bộ tích luỹ ( tích hợp ) và rồi tính toán sự khác nhau
giữa các trạng thái bộ tích luỹ tại hai thời điểm khác nhau - đầu tiên và cuối
cùng của đường trung bình động. Đáp ứng tần số của điểm khác nhau là
dạng hình lược nên phần đó được gọi là bộ lọc lược. Bộ tích luỹ có thế tràn
khi có đủ bít để che hết khoảng thời gian khi mà bộ lọc là trung bình. Bộ
lọc đa tầng cải thiện đáp ứng tần số và sự tích hợp và các điểm khác biệt có
thể được nhóm lại với nhau. Điều này đơn giản hoá downsampling vì mẫu
xen giữa có thể được bỏ qua. Điểm khác biệt chỉ cần một thanh ghi trễ
miễn là chúng chỉ khả dụng cho mỗi mẫu đầu ra. Bộ tích luỹ phải xử lí tất
cả mẫu đầu vào. Khi upsampling các điểm khác biệt trước các bộ tích hợp.
Mạch CIC chứa bốn bộ tích hợp 56-bit và bốn bộ khác biệt 28-bit cho

mỗi kênh. Bộ tích hợp được chia làm hai và giữa hai nửa 28-bit là bộ đệm
để tối thiểu hoá trễ lan truyền. Bộ lọc CIC có lợi ích vốn có mà biến thiên
theo sự suy luận hoặc nhân tố tiêu thụ vì vậy nó được bù đắp bởi thiết lập
một nhân tố có lợi, cái mà điều khiển bộ dịch hoặc nhân. Lợi ích CIC là ba
phần năng lượng của nhân tố nội suy hoặc bốn phần năng lượng của nhân
tố tiêu thụ.
13
BỘ THU PHÁT SSB TRÊN FPGA
Hình 7. Bộ lọc CIC
Khi nhận, mức tăng CIC tối thiểu là 10^4 và mức tăng tối đa là
khoảng 1.68 x 10^11. Đầu vào dữ liệu nhận được (RDI) được nhân với 0-
1024 và được dịch 0-15 bits bởi hai mộ nhân 4 đầu vào trước khi đưa vào
bộ tích hợp đầu tiên. Bộ dịch cung cấp một đầu ra 43bits vì vậy nó được
mở rộng tới 56bits bằng việc thêm vào 13 bits dấu. Điều này đưa ra giới
hạn tăng 2^25 hoặc khoảng 3.3 x 10^7; 28bits đầu của bộ tích hợp cuối
cùng sau đó được chuyển đến bộ phân biệt đầu tiên và đầu ra dữ liệu nhận
(RDO) được lấy từ 18bits đầu của bộ phân biệt cuối cùng. Do đó, tín hiệu
đầu vào được mong muốn tăng 38bits (2.75 x 10^11) tại thời điểm nó là
đầu ra. Khi nhân tố tiêu thụ nhỏ nhất của 10 được sử dụng, hiệu chỉnh tăng
có thể thiết lập đến 2.75 x 10^7. Khi nhân tố tiêu thụ lớn nhất của 640 được
sử dụng, hiệu chỉnh tăng có thể thiết lập đến 1.63 x 10^0.
Đầu vào dữ liệu truyền (TDI) được nhân với 08 trước khi được
chuyển tới 21bits dưới của bộ phân biệt đầu tiên. 7bits trên là bản sao của
các bits dấu. Đó là điều cần thiết vì giải pháp yêu cầu được phát triển bởi ít
nhất 1 bit mỗi trạng thái. Đầu ra bộ phân biệt 28bits đầy đủ sau đó bị dịch
14
BỘ THU PHÁT SSB TRÊN FPGA
0-15 bits và được đưa tới bộ tích hợp đầu tiên. Điều này đưa ra phạm vi
điều chỉnh mức tăng 2^18 hoặc khoảng 2.6 x 10^5. Lợi tăng CIC nhỏ nhất
là 10^3 và lớn nhất là khoảng 2.6 x 10^8. Tổng lợi tăng có thể giữ ở mức

2.6 x 10^8, vì vây đầu vào 18bits phát triển lên tới 46bits. Kết quả là đầu ra
dữ liệu truyền (TDO) được khai thác ở bộ tích hợp cuối cùng và 10bits đầu
được bỏ qua.
Hai bộ lọc FIR thực hiện theo bộ lọc CIC. Đầu tiên được dùng cho
downsampling bởi một nhân tố của 250 và thứ hai được dùng để thiết lập
hình dạng của dải thông cuối cùng. Nó cũng có thể downsample hoặc
upsample bởi một nhân tố lên đến 20 phụ thuộc vào độ dốc của màn lọc.
Bộ lọc FIR đầu tiên xuất kết quả 18-bit, bộ lọc thứ hai xuất kết quả 20-bit.
Bộ lọc CIC thực chất là bộ lọc FIR với tất cả hệ số bằng 1 và có đáp ứng
tần số cố định trong đó chỉ một phần nhỏ của phần trung tâm là phẳng. Các
bộ lọc FIR hoạt động bằng cách nhân các mẫu tín hiệu với hệ số chủ động
và hệ số thụ động và cộng tổng chúng lại với nhau. Bộ lọc FIR tiêu thụ
nhiều nguồn hơn bộ lọc CIC nhưng điều này cho phép tạo đáp ứng tần số
để xác định yêu cầu kĩ thuật. Cả hai bộ lọc đều sử dụng hệ số 24bit để
giảm đáp ứng giả. Sự kích thích giảm từ 4-5 dB một bit hệ số phụ thuộc
yếu tố hình dạng bộ lọc và số lượng downsampling hoặc upsampling.
Khoảng nhiễu tạo giá trị tuyệt đối của mẫu I và mẫu Q bằng việc bổ
sung giá trị thụ động. Nó được so sánh với giới hạn và nếu nó vượt quá ,
đầu ra thiết lập về 0. Hai thanh ghi đếm xung ở sườn lên của xung tỉ lệ
đơn(sclk) thẳng hàng với đầu ra tương đương với hai mẫu liên quan. Tín
hiệu là trễ trong ba thanh ghi và thanh ghi thứ tư bị thiết lập lại khi qua mẫu
cuối. Logic này được đặt giữa các bộ lọc FIR vì vậy khoảng trống xảy ra
trước tiên tới bộ lọc bờ dốc cuối cùng.
15
BỘ THU PHÁT SSB TRÊN FPGA
Hình 8. Bộ lọc FIR
Mỗi bộ lọc sử dụng hai khối RAMs cổng kép 18k. Một cổng của
RAM dữ liệu được dùng để lưu trữ các mẫu khi chúng đến. Bộ đếm mẫu
xác định địa chỉ được sử dụng và nó tăng sau mỗi lần viết. Khi bộ lọc bắt
đầu, nội dung của bộ đếm mẫu được lưu và sử dụng như địa chỉ cơ sở cho

cổng khác, cổng mà được sử dụng khôi phục lại mẫu cho xử lí tín hiệu bởi
bộ lọc. Mẫu I và Q được lưu lần lượt trong RAM và được truy cập trong
pha đối diện của xung chủ 80 MHz.
Khối RAM thứ hai lưu trữ câu lệnh bao gồm chỉ số 9bit, một hệ số
24bit, một bit cho phép ghi và một kết thúc của bit lọc. CPU có thể tải lệnh
thông qua cổng rộng 9bit. Lệnh được đánh địa chỉ bởi bộ đếm chương trình
được khôi phục lại qua hai chu kì xung nhịp và được sử dụng để xử lí mẫu
I trong một chu lì xung nhịp và mẫu Q trong chu kì xung nhịp tiếp theo. Dữ
liệu được đọc từ RAM dữ liệu ở địa chỉ hiện tại bằng cách trừ chỉ số từ
thanh ghi địa chỉ cơ sở. Sau đó nó được nhân với hệ số sử dụng hai bộ nhân
chuyên dụng 18x18 và hai bộ cộng để tính tổng các kết quả đó lại. Việc đó
tạo một sản phẩm 42bit mà được tính tổng luân phiên trong hai bộ tích luỹ
16
BỘ THU PHÁT SSB TRÊN FPGA
42bit. Bộ tích luỹ được chia thành ba đoạn 14bit để giảm trễ truyền lan
mang theo và cộng xảy ra qua 3 chu kì xung nhịp. Mỗi đoạn gồm một bộ
cộng và một bộ nhân. Nó cung cấp một trễ 2 xung nhịp để hỗ trợ hai kênh.
Bộ nhân có một cổng nối đến 0 vì vậy chúng có thể được dùng để chuyển
đổi giữa tải và tích luỹ bởi tín hiệu Z3, Z4, Z5. Tổng kết quả cuối cùng sau
đó được làm tròn đến 18 hoặc 20bit.
1.3. Bộ điều khiển CPU
Một CPU(80 MHz 16bit) có 1 tập lệnh RISC bao gồm thao tác bit để xử
lí giao thức và đa phần cứng, đa tích lũy và chia cho xử lí tín hiệu. Nó
cũng cho phép cộng, trừ, tải hoặc so sánh các hằng số 8bit trong 1 tập lệnh
hoặc cùng một hoạt động với các hằng số 16bit dùng một lệnh tiền tố.
Ngoài ra, lệnh đọc và ghi bộ nhớ hỗ trợ địa chỉ gián tiếp với độ dịch offset
trong khi lệnh vào và ra dùng địa chỉ trực tiếp. Điều này tạo mã nén nhanh
17
BỘ THU PHÁT SSB TRÊN FPGA
Hình 9. CPU và các thiết bị ngoại vi

CPU có 8KB lệnh chuyên biệt và bộ nhớ dữ liệu được truy cập đồng
thời qua 2 cổng. Nó được bổ sung bởi 1 số modun mà cung cấp I/O và tăng
tốc thuật toán chung cho giao tiếp số và xử lí tín hiệu số như lọc , phát hiện
và sửa lỗi. Chúng được truy cập thông qua cổng I/O và bộ nhớ đệm 2 cổng.
Lợi ích của kiến trúc này là CPU có thể bắt đầu nhiều hoạt động song song
1.4. Điều chế và giải điều chế
Dùng CORDIC-coordinate rotation digital computer (điều phối luân
phiên số) để điều chê và giải điều chế tín hiệu khi một sóng mang đơn được
sử dụng. Đó là thuật toán thực thi hàm lượng giác chỉ sử dụng cộng và
dịch. Cho điều chế biên độ AM-amplitude modulation và điều chế pha FM-
phase modulation, nó có thể xoay tín hiệu vào để thay đổi pha hoặc đo pha
và độ lớn của đầu vào. FM: đầu vào được tích hợp, đầu ra được phân biệt .
Sự truyền và nhận SSB dùng ắc quy 16bit xoay pha liên tiếp. Chức năng
này như BFO và cung cấp độ phân giải 0.12Hz ở 8ksps. CPU truy cập
18
BỘ THU PHÁT SSB TRÊN FPGA
modem thông qua FIFO 15 từ với 2 cổng vào 16bit, bao gồm trong đó cả
độ lớn và pha hoặc thông tin I và Q.
Hình . Mạch điều chế và giải điều chế
Đơn vị khôi phục thời gian tạo tín hiệu lỗi dùng trong tối ưu hóa lấy
mẫu song song FSK và PSK. Sự phát hiện null và bộ tương quan pha cung
cấp phục hồi thời gian cho tiếp nhận OFDM . Biến đổi Fourier nhanh FFT
được cung cấp cho OFDM hoặc MFSK. Nó di chuyển dữ liệu giữa 2 RAM
trong khi chuyển đổi miền thời gian và tần số. Vùng bộ đệm thời gian kết
nối trực tiếp với tuner và bộ đệm tần số được đọc hoặc viết bởi CPU. Khi
nhận, mẫu I và Q của của tín hiệu vào tích lũy trong 1 RAM, modun xử lí
rồi tính toán FFT và đặt pha và độ lớn cho mỗi giải điều chế trong RAM
thứ 2. Khi truyền, CPU đặt dữ liệu trong RAM thứ hai và được chuyển đổi
thành một loạt các mẫu trong RAM I/Q
2. Sơ đồ nguyên lí

2.1. Mô tả chung
Phần cứng dựa trên Xilinx XC3S250E FPGA. Lưu ý với XC3S500E cố cấu
hình chân tương tự với gói TQFP 100 chân.
19
BỘ THU PHÁT SSB TRÊN FPGA
- PCB 2.5” x 2.4”
- Xilinx XC3S500E FPGA
- Một ADC 80Msps
- Giao diện lớp vật lý(PHY) Ethrnet 100Mbps
- Bộ nhớ flash 4 Megabit
- Một cổng JTAG
- Một DAC tốc độ thấp
- Một cổng RS-485 để debug và điều khiển
- 10 chân nối trực tiếp với 5 cổng vào ra I/O của FPGA có thể được sử
dụng cho debug, điều khiển mạch tương tự và/hoặc đính kèm 1 thiết
bị âm thanh CODEC
2.2. Sơ đồ sơ lược
PCB xử lí tín hiệu số DCP-3 có thể chia làm 6 phần và sơ đồ mỗi phần như
sau:
• Ethernet Interface
• High-speed Analog to Digital Converter (ADC)
• Serial Flash Memory and Low-speed DAC
• High-speed Digital to Analog Converter (DAC)
• Voltage Regulator and JTAG Interface
• Clock Oscillators
20
BỘ THU PHÁT SSB TRÊN FPGA
2.2.1. Giao diện Ethernet
21
BỘ THU PHÁT SSB TRÊN FPGA

2.2.2. ADC tốc độ cao
22
BỘ THU PHÁT SSB TRÊN FPGA
2.2.3. DAC tốc độ thấp và bộ nhớ Flash nối tiếp
23
BỘ THU PHÁT SSB TRÊN FPGA
2.2.4. DAC tốc độ cao
24
BỘ THU PHÁT SSB TRÊN FPGA
2.2.5. Giao diện chỉnh áp và JTAG
25

×