1. Trang chủ >
  2. Kỹ thuật >
  3. Điện - Điện tử - Viễn thông >

Hình 2.11: Cấu trúc cơ bản của 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.51 MB, 58 trang )


Nam, ngoài ra cũng có thể mua được một số linh kiện tại một số cửa hàng trên địa

bàn Hà Nội. Các linh kiện của các hãng khác nhau có những cấu trúc khác nhau,

trong một hãng các họ khác nhau cũng được thiết kế với các cấu trúc khác nhau.

Mỗi họ đều có nhưng đặc tính riêng của nó. Trong đề tài này tôi lựa chọn chíp

APEX EP20K200EQC208 (thuộc họ APEX20K) của Altera bởi tính phù hợp của

nó đối với yêu cầu của đề tài và sự ổn định cao trong linh kiện của hãng Altera.

Tính năng



Số cổng

tối đa



Số cổng

tiêu

chuẩn



LE

(Logic

Element)



EP20K30E

EP20K60E

EP20K100

EP20K100E

EP20K160E

EP20K200

EP20K200E

EP20K300E

EP20K400

EP20K400E

EP20K600E

EP20K1000E

EP20K1500E



113000

162000

263000

263000

404000

526000

526000

728000

1052000

1052000

1537000

1772000

2392000



30000

60000

100000

100000

160000

200000

200000

300000

400000

400000

600000

1000000

1500000



1200

2560

4160

4160

6400

8320

8320

11520

16640

16640

24320

38400

51840



ESB

(Embedded

System

Block)

12

16

26

26

40

52

52

72

104

104

152

160

216



Số bit

RAM

tối đa



Số

macrocell

tối đa



I/O

Num

Max



24576

32768

53248

53248

81920

106496

106496

147456

212992

212992

311296

327680

442368



192

256

416

416

640

832

832

1152

1664

1664

2432

2560

3456



128

196

252

246

316

382

376

408

502

488

588

708

808



Hình 2.12: Một số thông số cơ bản của APEX EP20K

APEX20K chứa các khối chính sau: LUT-based logic, Product-Term-based

logic, và bộ nhớ. Các tín hiệu được trao đổi bên trong nhờ kết nối trong FastTrack

(một ma trận dây liên tục gồm hàng và cột chạy dọc theo chiều ngang và dọc của

thiết bị).

Mỗi chân lối vào được chỉ dẫn bởi một IOE (I/O Element) đặt ở đầu cuối

của mỗi hàng và cột của kết nối trong FastTrack. Mỗi IOE chứa một bộ đệm hai

hướng vào ra, một thanh ghi được sử dụng như là thanh ghi lối vào, lối ra hoặc hai



16



hướng của tín hiệu. Khi sử dụng các chân clock chuyên dụng thì thanh ghi này

cung cấp cho các thực thi đặc biệt.



Hình 2.13: Sơ đồ khối thiết bị APEX 20K

Các chíp trong họ EP20K được thiết kế với một chuỗi kiến trúc MegaLAB.

Một MegaLAB bao gồm 16 LAB, một ESB và một kết nối trong MegaLAB. Các

đời cao hơn trong EP20K có thể có nhiều LAB hơn trong một MegaLAB, tín hiệu

liên kết giữa MegaLAB và các chân vào ra đuợc thực hiện bởi kết nối nội

FastTrack.



Hình 2.14: Cấu trúc của MegaLAB



17



Như ở trên chúng ta thấy một LAB gồm 10 LE, các bộ kết nối trong cục bộ

của MegaLAB, và các tín hiệu điều khiển LAB.

LE là đơn vị logic nhỏ nhất trong kiến trúc của EP20K, mỗi LE chứa 4 lối

vào LUT có chức năng thực hiện nhanh chóng bất cứ vai trò nào của 4 biến, LE có

thể dùng để điều khiên các kết nối cục bộ, kết nối MegaLAB hoặc kết nối

FastTrack.



Chương 3:

Bộ điều chế QAM

3.1 Tổng quan

Từ những kiến thức cơ bản có được, trong chương này, tôi tiến hành xây

dựng một bộ điều chế QAM-16 trên FPGA bằng ngôn ngữ thiết kế phần cứng



18



VHDL. Dữ liệu lối vào được lấy song song từ Kit phát dữ liệu một cách đồng bộ

còn tần số ký hiệu có thể thay đổi trong một phạm vi nhất định.

Toàn bộ quá trình được thực hiện với tín hiệu dạng số. Sau khi quá trình xử

lý số được tiến hành, dữ liệu QAM số sẽ được đưa ra DAC để có thể quan sát

được trên dao động ký.

3.2 Bộ điều chế QAM

3.2.1 Nguyên tắc thực hiện:

Phát lặp

dữ liệu



Khối điều chế QAM

Mã hóa QAM



Phát sin



Tín hiệu QAM



DAC



Thay đổi tần

số ký hiệu



Hình 3.1: Sơ đồ khối hệ thống

Bộ điều chế được xây dựng với sơ đồ khối như trên gồm:

- Khối lặp phát dữ liệu để tạo dữ liệu số đưa vào bộ điều chế

- Khối thay đổi tần số ký hiệu gồm các phím tăng giảm tần số để thay đổi

tần số trong một dải nhất định từ fc đến 10fc.

- Khối điều chế QAM: gồm các khối nhỏ như khối phát sóng mang để

tạo tín hiệu sin, cos số đưa vào điều chế, khối mã hóa QAM để tính toán biểu thức

QAM với dữ liệu nhận được và khối biến đổi DAC để chuyển đổi số-tương tự

nhằm tạo ra tín hiệu QAM có thế quan sát trên dao động kí.

3.2.2 Mô hình bộ điều chế QAM xây dựng:

Quá trình thực hiện được tiến hành trên 2 Kit với 2 chip FPGA là APEX II và

Cyclone II[3] của Altera với sơ đồ khối như sau:



19



APEX II



Clock 50M



Cyclone II

SPI



Phát lặp dữ liệu



I



Bộ tạo

sóng mang



Q



Quay 90 độ







Thay đổi

tần số



Phát giả dữ liệu



DAC



Clock 11M



Hình 3.2: Mô hình QAM-16 được thiết lập

3.2.2.1 Khối phát lặp dữ liệu:

Sử dụng Kit DE2 của phòng thí nghiệm, phát 16 tín hiệu chọn bit có thể

thay đổi được bằng 16 công tắc gạt bên ngoài, trạng thái các bit của công tắc đều

được hiển thị trên led.

16 bit trạng thái của công tắc được phân thành 4 nhóm: A,B,C,D như Hình

9. Mỗi nhóm chứa 4 bit sẽ tạo thành một điểm chòm sao. Điểm chòm sao này sẽ

được tách ra, rồi đưa vào các kênh I,Q, mỗi kênh 2 bit (Hình 10). Các kênh I,Q

này sẽ được đưa sang chip APEX II để ánh xạ vào trường dữ liệu bằng phương

pháp truyền thông SPI.



B15



B14



B13



B12



B11



B6



B5



B9



B8



Nhóm C



Nhóm D



B7



B10



B4



B3



B2



B1



Nhóm A



Nhóm B

20



B0



Hình 3.3: Các nhóm bit trạng thái của công tắc



B3



B2

Q



B1



B0

I



Hình 3.4: Tách bit I,Q

3.2.2.2 Truyền thông nối tiếp SPI:

Truyền thông giữa hai chip sử dụng kỹ thuật truyền thông SPI có bắt tay.

Trong phương pháp này, Cyclone II sẽ kiểm tra chân vào Sync của mình, tới khi

chân này nhận được một sườn xung (âm hoặc dương) từ APEX II thông báo sẵn

sàng nhận (RR) thì Cyclone II sẽ truyền các bit I,Q lần lượt của các nhóm

A,B,C,D sang cho APEX II rồi đợi tín hiệu RR tiếp theo.

Truyền thông SPI vừa tạo ra sự đồng bộ giữa hai loại chip FPGA hoạt động

trong chu kỳ xung nhịp khác nhau vừa tạo ra sự độc lập tương đối giữa hai khối

chọn dữ liệu và điều chế. Nhờ có truyền thông SPI, tần số sóng mang có thể dễ

dàng thay đổi mà vẫn giữ được sự đồng bộ với khối ánh xạ ký hiệu. Ngược lại, ta

có thể tạo ra các chòm sao cấp cao hơn, có số bit lớn hơn đưa sang điều chế mà ko

gây ra nhiều thay đổi cho khối điều chế.



RR



Sync



Dữ liệu



I

Q

21



Ready



Hình 3.5: Truyền thông nối tiếp SPI

3.2.2.3 Bộ tạo sóng mang:

Nhằm mục đích tạo tín hiệu sin chuẩn để đưa vào điều chế. Do dữ liệu sin

số được xuất ra từ phần mềm PASCAL, mà phần mềm này lấy mẫu tín hiệu sin

đều nên nếu lấy mẫu cả một chu kì sin xử lý đưa ra DAC thì tín hiệu quan sát được

sẽ có dạng hình tam giác, không có độ cong của tín hiệu sin. Để khắc phục nhược

điểm này, chúng tôi tiến hành xuất ra 630 mẫu của một phần tư chu kì sin rồi lập

trình hiệu chỉnh lại trên FPGA để tạo ra đủ một chu kì sin với 2520 mẫu. Nguyên

tắc hiệu chỉnh được mô tả ở Hình 11:



Hình 3.6: Hiệu chỉnh sin

Do sóng các mẫu lấy từ tín hiệu sin trong PASCAL đều có giá trị nhỏ hơn 1

nên phải tiến hành nhân các tín hiệu đó với một hệ số thích hợp để tăng biên độ

sóng mang.

3.2.2.4 Bộ thay đổi tần số sóng mang:

Nhân tín hiệu từ hai nút điều khiển tăng giảm tần số có thể thay đổi tần số

trong dải từ fc đến 10fc. Bộ thay đổi tần số này tác động trực tiếp vào bộ phát sóng

mang để thay đổi tần số các sóng sin, cos được tạo ra. Nguyên tắc làm việc của bộ

thay đổi tần số là tăng/giảm số mẫu trong một chu kì sóng mang để thay đổi tần số

(Hình 12). Nguyên tắc của bộ thay đổi tần số sóng mang này giống với các bộ lấy

mẫu tăng, giảm.

Giảm

Tăng



22



Hình 3.7: Bộ thay đổi tần số sóng mang

Dễ thấy trong QAM, khi tần số sóng mang thay đổi sẽ làm thay đổi tần số

ký hiệu, sẽ ảnh hưởng đến khối phát lặp ký hiệu để ánh xạ lên trường dữ liệu. Tuy

nhiên, trong bộ phát QAM chúng tôi xây dựng, nhờ tính ưu việt của truyền thông

nối tiếp SPI có bắt tay như đã nói ở trên, tần số sóng mang cũng như ký hiệu có

thể thay đổi dễ dàng mà không ảnh hưởng gì khối phát lặp dữ liệu để tạo ký hiệu.

3.2.2.5 Bộ quay 90 độ:

Sóng mang số hình sin đưa vào đây sẽ được làm trễ đi 630 mẫu (1/4 chu kì)

để tạo ra sóng mang hình cos (lệch pha 90 độ với sóng mang hình sin). Sơ đồ của

bộ quay:



Trễ ¼ chu kì



Hình 3.8: Bộ quay pha 90 độ

3.2.2.6 Bộ nhân số:

Bộ nhân số nhân sóng mang với dữ liệu của kênh I hoặc Q mà ký hiệu ánh

xạ đến để tạo ra tín hiệu A Q(n) và AI(n) như phương trình 1.4. Bộ nhân số có dạng

như sau:



I



AI(n)



Q



(a)



AQ(n)



(b)

Hình 3.9: Bộ nhân số



23



Bộ nhân số thực hiện phép nhân dữ liệu số của kênh I với 2520 mẫu của

sóng mang hình sin và dữ liệu kênh Q với 2520 mẫu của sóng mang hình cos rồi

đưa kết quả ra bộ cộng.

3.2.2.7 Bộ cộng số:

Bộ cộng số thực hiện phép cộng số học các dữ liệu vừa được tính toán ở bộ

nhân để kết hợp các tín hiệu các kênh I,Q để tạo ra tín hiệu QAM. Ngoài ra, khi

sau khi cộng các tín hiệu I,Q do sóng mang có dạng hình sin nên chứa cả thành

phần âm, dương trong khi bộ biến đổi DAC bên ngoài chỉ nhận đúng các số dương

nên phải nâng thành phần một chiều của tín hiệu QAM số lên bằng cách cộng vào

nó một hằng số không đổi. Tín hiệu QAM số sau đó sẽ được đưa vào bộ chuyển

đổi DAC để tạo ra tín hiệu QAM quan sát được trên dao động ký.

AI(n)



`



QAM



Hằng số

AQ(n)



Hình 3.10: Bộ cộng số

3.3 Kết quả

- Tôi đã thực hiện phát thành công tín hiệu QAM trên chip FPGA APEX II

với các bit thông tin có thể thay đổi được bằng công tắc.

- Tần số sóng mang cũng như ký hiệu có thể thay đổi trong một dải nhất

định

- Kết quả đầu ra có thể quan sát dễ dàng trên dao động ký.



24



Chương 4:

Xử lý dấu phẩy động

4.1. Chuẩn dấu phẩy động IEEE:



25



Để thuận lợi cho việc tính toán các số nhị phân lớn, cộng đồng các kỹ sư

điện-điện tử(IEEE) đã nghiên cứu và đưa ra chuẩn IEEE 754 để xử lý dấu phấy

động nhị phân. Theo chuẩn này thì khung diễn tả một dấu phảy động phải có kích

thước chuẩn là 32 bit (độ chính xác đơn) và 64 bit (độ chính xác kép). Trong đề tài

này, chúng tôi xây dựng hệ thống để xử lý dấu phẩy động theo chuẩn 32 bit. Như

trong hình vẽ, khung 32 bit được chia thành ba nhóm riêng biệt: các bit thấp từ

bit0 đến bit22 dùng để xác định phần định trị(mantissa), các bit từ 23 đến 30 để

xác định số mũ, còn bit 31 là bit dấu.



Bit

dấu



Phần mũ



Phần định trị



Hình 4.1: Chuẩn phẩy động 32 bit của IEEE

Gọi số thập phân được hình thành từ chuẩn dấu phẩy động này là V, ta có

biểu thức:

V = (-1)S * M * 2E – 127

Với (-1)S biểu thị bit dấu (bit31: bit có trọng số lớn nhất trong khung). Ta

dễ dàng nhận thấy biểu thức này sẽ biểu diễn số dương nếu S=0 và ngược lại, sẽ

biểu diễn số âm khi S=1. Nhìn vào hình vẽ ta thấy, 8 bit từ bit 23 đến bit 30 biểu

diễn số mũ E, như vậy, E có thể thay đổi từ 0 đến 255. Sau khi trừ số mũ cho 127

theo đúng chuẩn thì sẽ cho phép số mũ chạy từ 2 -127 đến 2128. Các bit còn lại biểu

thị phần định trị M, phần định trị được hình thành từ 23 bit biểu diễn một phân số

dưới dạng nhị phân. Ví dụ: với số nhị phân 1,0101; có thể khai triển thành 1 + 0/2

+ ¼ + 0/8 + 1/16. Dấu phẩy động khi biểu diễn các phân số cũng được chuẩn hóa

như vậy. Chỉ có duy nhất một kí tự khác không bên trái dấu phẩy động, số đó

trong hệ 2 hiển nhiên là 1. Do vậy, bit đứng đầu phần định trị được mặc định là 1,

và bit đó được lưu trữ trong khung. Giả sử m 22, m21, …. m0 biểu thị 23 bit trong

khung chuẩn của IEEE thì số định trị M được hiểu là:

M = 1.m22.m21……m0.



26



Xem Thêm
Tải bản đầy đủ (.pdf) (58 trang)

×