Phân vùng hệ thống

Một phần của tài liệu Kỹ thuật FPGA áp dụng thực hiện cho bộ mã FEC trong hệ DVB (Trang 53)

2.2.6.1. Phân vùng Mip cao

 Tất cả việc xử lý dữ liệu đều dựa trên chip FPGA.

 Thuật toán Mip cao không phù hợp với DSP.

 Thuật toán Mip cao ít phức tạp hơn và cho phép thực thi phần cứng nhỏ.

 Kiến trúc FPGA có những ưu điểm sau:

o Bản thiết kế có nhiều ưu điểm, đáp ứng nhu cầu tương lai với thời gian đưa ra thị trường thấp nhất.

---

o Nhiều kịch bản được hỗ trợ.

o Nhiều chuẩn cũng được hỗ trợ.

2.2.6.2. Phân vùng Mip thấp

 Xử lý Mip thấp được thực thi trong một DSP.

 Toàn bộ việc xử lý đều trên FPGA.

 Giải pháp FPGA tạo Mip thấp đưa ra nhiều kênh trống.

 800Mhz DSP có thể hỗ trợ 8 kênh vật lý 2Mbps (theo mã Turbo).

 Giải pháp này có thể hỗ trợ 64 kênh 2Mbps.

2.2.6.3. Phân vùng quản lý hệ thống

 Phân vùng hệ thống được thực thi trong một bộ xử lý.

 FPGA có thể thực thi nhiều câu lệnh và giảm mào đầu trên chip xử lý hệ thống.

 Hệ thống có bao nhiêu kênh, thì cần bấy nhiêu bộ xử lý.

 Bản thiết kế mới nhất VirtexII-Pro, với nhúng lõi PowerPC, có thể loại bỏ toàn bộ việc xử lý riêng biệt.

2.2.7. Mô hình FPGA với 64 kênh AMR

---

2.3. Ứng dụng FPGA cho mã Turbo

2.3.1. Bộ mã hóa TCC 2.3.1.1. Các tính năng 2.3.1.1. Các tính năng

- Mođun drop-in cho Virtex™-II, Virtex-II Pro, Virtex-4, Virtex-5, Spartan™- 3, và các Spartan-3E FPGA.

- Thực thi chuẩn 3GPP/UMTS.

- Lõi chứa bộ xen tách toàn phần 3GPP.

- Kích thước khối 3GPP dải từ 40-5114 được hỗ trợ. - Lên tới 16 kênh dữ liệu đồng thời.

- Bộ nhớ đệm ký tự gấp đôi với thông lượng tối đa.

- Các đầu ra tỉ lệ 1/3 chẵn lẻ cho 3GPP và các đầu ra tuỳ chọn với tỉ lệ 1/5 cho khả năng chính xác lỗi.

- Giao diện mềm dẻo với các tín hiệu điều khiển tuỳ chọn. - Tuỳ chọn RAM mở rộng.

- Tuỳ chọn bộ tạo địa chỉ mở rộng cho phép giao diện với bộ xen tách theo thiết kế người dùng.

- Sử dụng ISE 8.2i và ISE cao hơn.

2.3.1.2. Ứng dụng

Phiên bản này của bộ mã hoá xoắn Turbo (TCC) được thiết kế để thoả mãn chuẩn truyền thông di động 3GPP. Các đầu ra tuỳ chọn cho tỉ lệ mã 1/5 được cung cấp nhằm tăng tính mềm dẻo.

2.3.1.3 Mô tả tổng quan

Các cổng đầu vào và đầu ra bộ mã hoá Turbo 3GPP được trình bày trong hình 2.15 và kiến trúc bên trong của nó được mô tả trong hình 2.16. Nó là một đơn vị xử lý dựa trên các block, trong đó kích thước block trong khoảng 40 đến 5114 bit là đầu vào thông qua cổng DATA_IN và được xử lý. Mỗi block dữ liệu được xử lý theo hai bộ mã hoá RSC (Recursive Systematic Convolutional) tạo ra các mã có trọng số cao. RSC1 xử lý dữ liệu đầu vào thô trong khi đó RSC2 sẽ xử lý dữ liệu đầu vào đã được xen tách. Việc mã hoá hoạt động dựa trên nguyên tắc là nếu một ký hiệu đầu vào bị sửa đổi trong chuỗi nhận từ RSC1, khi đó nó có thể cũng bị sửa đổi theo chuỗi đã được sắp xếp lại từ RSC2, và ngược lại.

Trễ trong hình 2.16 được sử dụng để chỉ ra rằng dữ liệu đầu vào sẽ bị trễ trước khi chuyển qua RSC1. Điều này để đảm bảo rằng dữ liệu có thứ tự từ RSC1 và RSC2 sẽ được đồng bộ ở đầu ra.

Đối với chuẩn 3GPP, một bộ mã hoá tỉ lệ 1/3 được chỉ rõ. Trong trường hợp này, chỉ tín hiệu đối xứng và chẵn lẻ 0 được tạo ra cho mỗi RSC. Để tăng tính mềm dẻo và khả năng chính xác lỗi, người dùng có thể lựa chọn tuỳ chọn tỉ lệ 1/5, trong trường hợp này hai đầu ra chẵn lẻ 1 sẽ được tạo ra.

---

Thường một số bits đầu ra được mã hoá yêu cầu không được truyền, vì thế chúng sẽ được bỏ qua, hoặc sẽ bị puncture từ luồng dữ liệu ra. Việc puncture cung cấp một cơ chế cân bằng giữa tỉ lệ mã và hiệu suất lỗi. Khi kênh truyền là bận hay dữ liệu yêu cầu bảo vệ nhiều hơn, dư thừa bổ sung có thể được thêm vào vì thế làm giảm tỉ lệ lỗi. Puncture là không đóng vai trò thực thi trong lõi; tất cả các đầu ra cung cấp bởi lõi cho phép tính mềm dẻo cao nhất cho người dùng.

Mandatory Pins CLK FD_IN Data_IN Block_Size ND FFD_IN ALCR SLCR CE EXT-IADDR EXT-IADDR-RFFD EXT-IADDR-RDY MEM0-DOUTA MEM0-DOUTB MEM1-DOUTA Optional Pins MEM1-DOUTB RSC1-SYSTEMATIC RSC1-PARITYO RSC2-PARITYO RSC1_TAIL RSC2_TAIL RDY RFFD RFD RSC2_SYSTEMATIC RSC1_PARITY1 RSC2_PARITY1 BLOCK_SIZE_VALID EXT_IADDR_CE MEM_DINA MEM_ADDRB MEM0_ENA MEM0_ENB MEM0_WEA MEM0_ADDRA MEM1_ENA MEM1_ENAB MEM1_WEA MEM1_ADDRA

Tín hiệu đa bit Tín hiệu dơn bit

Hình 2. 15 Các cổng vào ra bộ mã hóa TCC Trễ Xen rẽ XK RSC2 ZK WK X’K Z’K W’K Puncturing (external to core) Punctured Output RSC1_Systematic RSC1 RSC1_Parity 0 RSC1_Parity 1 RSC2_Systematic RSC2_Parity 0 RSC2_Parity 1

RSC1_Parity 1 and RSC2_Parity1 are only available when the rate 1/5 option is selected

Hình 2. 16 Cấu trúc bên trongbộ mã hóa TCC

Cấu trúc bộ mã hoá RSC

Giản đồ cho mỗi RSC và các chức năng truyền dẫn đối với các đầu ra được mô tả trong hình 2.17. Parity1(Y1) có thể được cho phép như một tuỳ chọn nếu bộ mã hoá tỉ lệ 1/5 được sử dụng. Điều này không được yêu cầu bởi chuẩn 3GPP.

--- + + Trễ Trễ Trễ + +

Bit đầu vào(X)

SW 1 Parity1(Y1) Parity0(Y0) Systematic(X) X(D)=1 Y0(D) = 2 3 3 1 1 D D D D     Y1(D) = 2 3 3 2 1 1 D D D D D      Hình 2. 17 Cấu trúc TCC RSC

Sau khi một khối dữ liệu đầu vào được mã hoá, các RSC phải trả về trạng thái zero khởi tạo. Để bắt buộc RSC trở về tất cả trạng thái zero, giá trị đầu vào được thiết lập bằng giá trị hồi tiếp thông qua điều khiển chuyển mạch, SW1, đến vị trí thấp hơn trong 3 chu kỳ xung nhịp. Trong suốt 3 chu kỳ bit đuôi đầu tiên, RSC2 sẽ bị disable, và điều khiển chuyển mạch RSC1 được set đến vị trí thấp hơn đến đầu ra các bit RSC1 trên các đầu ra chẵn lẻ và có thứ tự RSC1. Trong suốt 3 chu kỳ bit cuối cùng, RSC1 sẽ bị disable và điều khiển chuyển mạch RSC2 sẽ được set đến vị trí thấp hơn đến đầu ra các bit RSC2 trên các đầu ra chẵn lẻ và đối xứng RSC2.

Các bits chẵn lẻ RSC2 cũng là đầu ra trên đầu ra đối xứng RSC1. Điều này tránh đwojc yêu cầu người dùng kết nối đến cổng RSC2_SYSTEMATIC.

2.3.1.4. Hoạt động đa kênh

Lên tới 16 kênh dữ liệu đồng thời có thể được hỗ trợ

Nếu hoạt động đa kênh được lựa chọn, khi đó độ rộng của cổng DATA_IN, SYSTEMATIC và PARITY tăng lên đến N, trong đó N là số kênh dữ liệu. Chế độ đa kênh giả thiết rằng N kênh là của kích thước khối như nhau và được đồng bộ khối. Các tín hiệu điều khiển CE, ND, FD_IN và RFD_IN có cùng hiệu ứng lên tất cả N kênh. Nếu tuỳ chọn RAM ngoài được lựa chọn, dữ liệu bộ nhớ ngoàivà cổng đầu ra cũng có độ rộng N.

Mô tả chức năng

Double- Buffering

--- FD_IN ND RFD_IN RFFD RFD RDY

LOAD MEM 1 LOAD MEM 0 LOAD MEM 1

OUTPUT MEM0 OUTPUT MEM1 OUTPUT MEM0

Extended by negating RFD_IN RFFD

RFD RDY

LOAD MEM 1 LOAD MEM 0 LOAD MEM 1

OUTPUT MEM0 OUTPUT MEM1 OUTPUT MEM0

FD_IN

a) Hiệu ứng thay đổi kích thước khối

b) Hiệu ứng của ND và RFD_IN

Hình 2. 18 Thông lƣợng bộ đệm kép

Các khối dữ liệu được ghi thay thế nhau trên hai bộ nhớ ký tự MEM0 và MEM1, và cũng đọc ra thay thế nhau, vì thế tối đa hoá thông lượng.

Nếu kích thước khối tăng, hoặc lõi bị chặn bởi việc phủ định ND, hoạt động LOAD có thể thực hiện lâu hơn hoạt động OUTPUT, trong trường hợp này cổng đầu ra RDY có thể được thiết lập đến mức thấp để chỉ ra hoạt động OUTPUT đã hoàn thành. Tương tự, nếu kích thước khối giảm, hoặc lõi bị chặn bởi việc phủ định RFD_IN, hoạt động OUTPUT có thể diễn ra lâu hơn hoạt động LOAD, trong trường hợp này cổng RFD có thể được thiết lập đến mức thấp để chỉ ra rằng hoạt động LOAD là hoàn thành, và lõi không sẵn sàng cho dữ liệu. Hiệu quả của việc thay đổi kích thước khối được chỉ ra trong hình 2.18(a) và hiệu quả của ND và RFD_IN được chỉ ra trong hình 2.18(b).

Bởi vì việc tinh giản (các địa chỉ bị bỏ qua) trong bộ xen tách nội, RDY sẽ thiết lập ở mức Low trong một vài chu kỳ giữa các khối, mỗi lần một hoạt động OUTPUT được bắt đầu, RDY sẽ chỉ thiết lập mức Low một lần nữa sau khi bit đuôi cuối cùng được xuất ra.

---

Hình 2.19 mô tả các tín hiệu liên quan đến đầu vào dữ liệu phía lõi. Nếu, trên biên lên kích hoạt của CLK, FD_IN và ND (nếu được lựa chọn) là đều được lấy mẫu mức cao, nó được biết đến như là các tín hiệu FD hợp lệ và ND hợp lệ.

CLK FD BLOCK_SIZE DATA_IN ND CE RFFD RFD 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 n N X d1 d2 X d3 X d4 ... dn-2 dn-1 dn X ... X X D1

Hình 2. 19 Định thời đầu vào

Khi một FD hợp lệ được lấy mẫu, tín hiệu RFFD được thiết lập lên mức Low để chỉ ra rằng lõi là không đợi tín hiệu FD_IN. Kích thước khối, tỏng trường hợp này là n, của khối đầu vào hiện thời được lấy mẫu trên cổng BLOCK SIZE, và ký hiệu dữ liệu đầu tiên, d1, được lấy mẫu trên cổng DATA_IN.

Một mức High trên cổng ND chỉ ra rằng giá trị trên cổng DATA_IN là dữ liệu mới. Nếu ND được lấy mẫu ở mức thấp, khi đó cổng DATA_IN không được lấy mẫu, và địa chỉ ghi trong không được đưa ra.

Lõi tiếp tục với dữ liệu đầu vào, cho tới khi n mẫu dữ liệu mới được chấp nhận, sau đó RFD (nếu được lựa chọn) thông thường sẽ được thiết lập đến mừc Low để chỉ ra rằng lõi là không sẵn sàng cho dữ liệu, và lõi dừng lấy mẫu cổng DATA_IN.

Khi lõi sẵn sàng chấp nhận một block dữ liệu mới, RFFD và RFD đều được thiết lập mức cao. Thời gian mà điều này xảy ra được xác định bằng việc nó cần bao nhiêu lâu để đưa từ lõi đến đầu ra khối đầu ra hiện thời và điều này phụ thuộc vào kích thước khối, và vào việc có hay không phía đầu ra của lõi là bị chặn bởi việc phủ định RFD_IN. Nếu hoạt động đầu vào hoàn tất và chu kỳ đầu ra là đã hoàn tất, nó có thể để RFFD được thiết lập và một chu kỳ đầu vào mới được thiết lập mà không chuyển trạng thái sang Low.

Sau khi thiết lập RFFD, lõi sẽ đợi cho tới khi FD hợp lệ kế tiếp được lấy mẫu, tiếp đó, một chu kỳ ghi được bắt đầu, trong trường hợp này với kích thước blog N.

Hoạt động của lõi là không được chỉ rõ, trên một FD hợp lệ, một kích thước khối không hợp lệ được lấy mẫu, hoặc RFFD được lấy mẫu ở mức Low (Core là không sẵn sàng cho khối mới). Nếu một trong hai điều kiện đó xảy ra, lõi phải được reset bằng việc thiết lập SCLR.

Kết cuối mắt lƣới

Khi tuỳ chọn Multiplexed Tail Bits được lựa chọn, như trong trường hợp các hệ thống 3GPP, các bit kết cuối mắt lưới của RSC1 và RSC2 được ghép kênh lại, qua 4 chu kỳ xung nhịp, trên các cổng đầu ra RSC1_SYSTEMATIC, RSC1_PARITY0 and RSC2_PARITY0. Các bit đó sau đó được truyền theo chuỗi sau :

--- ' 3 ' 3 ' 2 ' 2 ' 1 ' 1 3 3 2 1 1,  ,  ,  ,  ,  ,  ,  ,  ,  ,   n n n n n n n n n n n Z Z X Z X Z X Z X Z X

Khi tuỳ chọn Multiplexed Tail Bits không được lựa chọn, dữ liệu bit đuôi RSC2 sẽ được chuyển sang đầu ra RSC1_SYSTEMATIC và, vì thế ghi đè lên các giá trị RSC1_SYSTEMATIC. Thông thường đầu ra song song của các bit chẵn lẻ và có thứ

Một phần của tài liệu Kỹ thuật FPGA áp dụng thực hiện cho bộ mã FEC trong hệ DVB (Trang 53)

Tải bản đầy đủ (PDF)

(89 trang)