Để cấu hình cho EDMA ta cũng cần tạo ra một cấu trúc có tên là EDMA_Config và điền đầy đủ thông tin cấu hình trong cấu trúc này. Một số thông tin cấu hình quan trọng bao gồm: địa chỉ nguồn, địa chỉ đích, số frame được vận chuyển (độ dài buffer). Trong đoạn mã sau, các thông tin trên được in đậm.
EDMA_Config gEdmaConfigRcv = {
EDMA_FMKS(OPT, PRI, HIGH) | // Priority
EDMA_FMKS(OPT, ESIZE, 16BIT) | // Element size
EDMA_FMKS(OPT, 2DS, NO) | // 2 dimensional source? EDMA_FMKS(OPT, SUM, NONE) | // Src update mode EDMA_FMKS(OPT, 2DD, NO) | // 2 dimensional dest EDMA_FMKS(OPT, DUM, INC) | // Dest update mode
EDMA_FMKS(OPT, TCINT, YES) | // yes: cho phép EDMA gọi các ngắt phục vụ của nó
EDMA_FMKS(OPT, TCC, OF(0)) | // Transfer complete code EDMA_FMKS(OPT, LINK, YES) | // Enable link parameters? EDMA_FMKS(OPT, FS, NO), // Use frame sync?
EDMA_FMKS(SRC, SRC, OF(0)), // địa chỉ có dữ liệu để nhận
EDMA_FMK (CNT, FRMCNT, NULL) | // Frame count
EDMA_FMK (CNT, ELECNT, BUFFSIZE), // BUFFSIZE là số mẫu dữ liệu được lấy
Đồ án tốt nghiệp đại học Trang 80
Nguyễn Thị Thanh Huyền Lớp ĐT7 – K50
(Uint32)&gBufferRcvPing, // địa chỉ bộ đệm đưa dữ liệu ra
EDMA_FMKS(IDX, FRMIDX, DEFAULT) | // Frame index value EDMA_FMKS(IDX, ELEIDX, DEFAULT), // Element index value
EDMA_FMK (RLD, ELERLD, NULL) | // Reload element EDMA_FMK (RLD, LINK, NULL) // Reload link };
4.8.3.Tạo ngắt cứng edma_Hwi
Ngắt này sẽ được kích hoạt mỗi khi có một sự kiện hoàn thành vận chuyển dữ liệu xảy ra ở bộ điều khiển EDMA. Như vậy nguồn của ngắt cứng này là ngắt do EDMA sinh ra. Để cấu hình cho ngắt cứng này, ta sử dụng công cụ cấu hình trong DSP/BIOS.
Hình 4-9 Ngăt cứng mặc định của EDMA Controller
Ngắt cứng mặc định gắn với ngắt do bộ điều khiển EDMA sinh ra là ngắt thứ 8. Ta chọn HWI_INT8 như hình trên, rồi kích chuột phải, chọn Properties để thiết lập các thuộc tính cho ngắt cứng này.
Đồ án tốt nghiệp đại học Trang 81
Nguyễn Thị Thanh Huyền Lớp ĐT7 – K50
Hình 4-10 Cấu hình ngắt cứng EDMA
4.8.4.Tạo ngắt mềm processBufferSwi
Ngắt mềm này được tạo ra để xử lý bộ đệm dữ liệu sẵn sàng do EDMA cung cấp. Khi có ngắt dữ liệu trong bộ đệm Ping hoặc Pong cần được xử lý. Để tạo ra ngắt mềm và thiết lập các thuộc tính, ta cũng sử dụng công cụ cấu hình, vào mục SWI như hình dưới đây.
Đồ án tốt nghiệp đại học Trang 82
Nguyễn Thị Thanh Huyền Lớp ĐT7 – K50
Ta cũng có thể nhìn thấy các thuộc tính được thiết lập cho ngắt mềm này ở bên phải.
4.8.5.Chạy thử nghiệm
Để thử nghiệm cho hệ thống vào ra, ta chưa cần đưa vào ngay các chức năng xử lý. Chức năng xử lý đơn giản chỉ là copy từ bộ đệm vào vào bộ đệm ra để phát đi.
Để chạy thử nghiệm, phía máy tính ta mở chương trình chơi nhạc. Lấy dây audio nối từ line out của máy tính đến line in của cạc DSK như trên. Chương trình sẽ thực hiện lấy dữ liệu audio từ đường line in vào bộ đệm vào (input buffer). Không xử lý gì cả mà chỉ copy vào bộ đệm ra (output buffer). Sau đó dữ liệu từ bộ đệm ra sẽ được đưa ra đường line out đến loa và phát ra âm thanh.
Line out Player Speaker Là la lá DSK card 1 Line in Line out USB cable
Đồ án tốt nghiệp đại học Trang 83
Nguyễn Thị Thanh Huyền Lớp ĐT7 – K50
Chương 5 TSM320C6416 DSP CARD VÀ CHƯƠNG
TRÌNH OFDM 5.1.Sơ đồ khối hệ thống OFDM [1]
Kỹ thuật điều chế OFDM là một trường hợp đặc biệt của phương pháp điều chế đa sóng mang trong đó các sóng mang phụ trực giao với nhau, nhờ vậy phổ tín hiệu ở các sóng mang phụ cho phép chồng lấn lên nhau mà phía thu vẫn có thể khôi phục lại tín hiệu ban đầu. Sự chồng lấn phổ tín hiệu làm cho hệ thống OFDM có hiệu suất sử dụng phổ tín hiệu lớn hơn nhiều sovới các kỹ thuật điều chế thông thường.
Hình 5-1 Sơ đồ khối hệ thống OFDM
Nguồn bit được điều chế ở băng tần cơ sở thông qua các phương pháp điều chế như
PSK (Phase Shift Keying), M-QAM (M-ary QAM). Tín hiệu dẫn đường được chèn vào
Đồ án tốt nghiệp đại học Trang 84
Nguyễn Thị Thanh Huyền Lớp ĐT7 – K50
chèn chuỗi bảo vệ. Luồng tín hiệu số sẽ chuyển thành luồng tín hiệu tương tư qua bộ chuyển đổi số-tương tự trước khi truyền trên kênh vô tuyến qua anten phát. Tín hiệu truyền qua kênh vô tuyến bị ảnh hưởng bởi nhiễu pha đinh và nhiễu trắng.
Tín hiệu dẫn đường là tín hiệu biết trước ở cả phía phát và phía thu, và được phát cùng với tính hiệu có ích với nhiều mục đích khác nhau như việc khôi phục kênh truyền và đồng bộ hệ thống.
Máy thu thực hiện các chức năng ngược lại như đã thực hiện ở máy phát. Tuy nhiên để khôi phục được tín hiệu phát thì hàm truyền của kênh vô tuyến cũng phải được khôi phục. Việc thực hiện khôi phục hàm truyền của kênh vô tuyến được thực hiện thông qua mẫu tin dẫn đường nhận được ở phía thu. Tín hiệu nhận được sau khi giải điều chế OFDM được chia thành hai luồng tín hiệu. Luồng tín hiệu thứ nhất là luồng tín hiệu có ích được đưa đến bộ cân bằng kênh. Luồng tín hiệu thứ hai là mẫu tin dẫn đường được đưa vào bộ khôi phục kênh truyền. Kênh truyền sau khi được khôi phục cũng sẽ được đưa vào bộ cân bằng kênh để khôi phục lại tín hiệu ban đầu. Một đặc trưng quan trọng của hệ thống xử lý là nó xử lý dữ liệu theo kiểu frame do lỗi của điều chế OFDM là biến đổi FFT và IFFT. Điều này tạo ra sự khác biệt so với hệ thống xử lý theo bit vì nó kéo theo yêu cầu về đồng bộ dữ liệu.
Chức năng đồng bộ không được xếp vào hệ thống xử lý tín hiệu. Thay vào đó nó làm thành một hệ thống con và được thực hiện ở cả phía thu và phía phát. Chức năng đồng bộ làm nhiệm vụ đồng bộ dữ liệu, thời gian giữa phía phát và phía thu và giữa các tiến trình ở mỗi bên.