Đồ án tốt nghiệp đại học Trang 1
Nguyễn Thị Thanh Huyền Lớp ĐT7 – K50LỜI NÓI ĐẦU
Em xin gửi lời cảm ơn chân thành tới thầy giáo PGS.TS Nguyễn Văn Đức và
cũng đồng thời là giáo viên hướng dẫn em, người luôn tận tình chỉ bảo, dạy dỗ về mặt
chuyên môn, động viên khích lệ về mặt tinh thần cho em hoàn thành đồ án này. Em
cũng muốn nói lời cảm ơn tới bố mẹ, anh chị em và những người thân của em. Những
người đã luôn theo sát, ủng hộ, động viên em trong quá trình học tập cũng như làm đồ
án tốt nghiệp tại trường Đại học Bách Khoa Hà Nội.
Em đã rất nỗ lực để hoàn thành đồ án này. Tuy nhiên, do thời gian gấp rút và
khả năng có hạn nên chắc chắn còn nhiều hạn chế và thiếu sót. Em rất mong nhận được
sự đóng góp ý kiến của quý thầy cô và bạn bè.
Em xin chân thành cảm ơn!
Hà Nội, ngày 01 tháng 06 năm 2010 Nguyễn Thị Thanh Huyền
of remaining DSK. This research’s way to be certain to develop in reality and
manufacture wireless data transceiver product.
Đồ án tốt nghiệp đại học Trang 3
Nguyễn Thị Thanh Huyền Lớp ĐT7 – K50MỤC LỤC
LỜI NÓI ĐẦU 1
TÓM TẮT ĐỒ ÁN 2
MỤC LỤC 3
DANH SÁCH HÌNH VẼ 6
DANH SÁCH BẢNG BIỂU 8
DANH SÁCH CÁC TỪ VIẾT TẮT 9
PHẦN MỞ ĐẦU 11
CHƯƠNG 1 CÔNG CỤ LẬP TRÌNH VÀ NẠP MÃ CHO DSP CODE COMPOSER
STUDIO (CCS) 12
1.1. Giới thiệu 12
1.2. Chu trình xây dựng và phát triển sản phẩm với CCS 12
1.3. Cài đặt và tạo cấu hình hệ thống 12
CHƯƠNG 2 LÀM VIỆC VỚI CCS 16
2.1. Tạo Project mới 16
2.2. Xây dựng và chạy chương trình 17
2.3. Lựa chọn cấu hình hoạt động cho Project 20
2.3.1 Chọn cấu hình: 20
2.3.2 Add cấu hình mới cho Project 20
2.4 Sử dụng Break Point và watch window 21
2.4.1 Điểm dừng Break Point 21
4.6. EDMA kết hợp với McBSP 72
4.7. Kỹ thuật vào ra Ping Pong 73
4.7.1. Vận chuyển dữ liệu kiểu Ping-Pong 75
4.7.2. Móc nối các cấu hình Ping Pong 75
4.7.3. Luồng điều khiển 76
4.8. Kỹ thuật vào ra cho hệ thống 77
4.8.1. Cấu hình cho Codec 78
4.8.2. Cấu hình cho EDMA 79
4.8.3. Tạo ngắt cứng edma_Hwi 80
4.8.4. Tạo ngắt mềm processBufferSwi 81
Đồ án tốt nghiệp đại học Trang 5
Nguyễn Thị Thanh Huyền Lớp ĐT7 – K504.8.5. Chạy thử nghiệm 82
CHƯƠNG 5 TSM320C6416 DSP CARD VÀ CHƯƠNG TRÌNH OFDM 83
5.1. Sơ đồ khối hệ thống OFDM 83
5.2. Hệ thống truyền thông 84
5.3. Mô hình hoạt động modem thu phát OFDM 89
5.3.1. Tầng vật lý 91
5.3.2. Tầng Data link 93
5.3.3. Tầng ứng dụng 93
5.4. Xây dựng chương trình vào ra giữa DSP card và PC 93
5.4.1. RTDX 93
5.4.1.1. Giới thiệu chung về RTDX 93
5.4.1.2. Cấu hình RTDX trong chương trình 95
5.4.2. Cấu hình RTDX: 95
Hình 4-5 Mô hình kết hợp giữa EDMA và McBSP 72
Hình 4-6 Các bộ đệm Ping-Pong 74
Hình 4-7 Ping-Pong Buffer và Linked Transfer 76
Hình 4-8 Đồ thị thực thi các tiến trình 77
Hình 4-9 Ngăt cứng mặc định của EDMA Controller 80
Hình 4-10 Cấu hình ngắt cứng EDMA 81
Hình 4-11 Tạo đối tượng ngắt mềm trong công cụ cấu hình của DSP/BIOS 81
Hình 4-12 Sơ đồ chạy thử nghiệm vào ra 82
Hình 5-1 Sơ đồ khối hệ thống OFDM 83
Hình 5-2 Mô hình thu phát OFDM thực tế 85
Hình 5-3 Bộ sản phẩm DSK 6416 87
Hình 5-4 Hình ảnh bo mạch TMS320C6416 DSK 88
Hình 5-5 Sơ đồ khối của bo mạch 88
Hình 5-6 Qúa trình truyền thông giữa host và target thông qua RTDX 94
Hình 5-7 Giao diện thu phát của hệ thống OFDM 101
Đồ án tốt nghiệp đại học Trang 8
Nguyễn Thị Thanh Huyền Lớp ĐT7 – K50DANH SÁCH BẢNG BIỂU Bảng 3-1 Các module API của DSP/BIOS 36
CODEC Coder-Decoder
CPLD Complex Programmable Logic Device
CPU Central Processing Unit
DAB Digital Audio Broadcasting
DARAM Dual Access Random Access Memory
DIP Dual In-line Package
DMA Direct Memory Access
DRM Digital Radio Mondiale
DSK DSP Started Kit
DSP Digital Signal Processor
EAMD
Enhanced Direct Memory Access
EMIF External Memory Interface
FFT Fast Fourier Transform
HPI Host Port Interface
IDE Integrated Development Environment
IDFFT Inverse Fast Fourier Transform
IEEE Institute of Electrical and Electronic Engineers
IO Input/Output
ISI Inter-symbol Interface
IQ Inphase Quadrature
Đồ án tốt nghiệp đại học Trang 10
Nguyễn Thị Thanh Huyền Lớp ĐT7 – K50JTAG Joint Test Action Group
Ngày nay, việc ứng dụng các dòng vi điều khiển xử lý số với tốc độ cao ngày càng
được nghiên cứu và phát triển. Cùng với FPGA, DSPs ( Digital Signal Processors)
ngày càng thể hiện vai trò quan trọng của mình trong việc xây dựng các hệ thống
truyền thông. Vì vậy việc nghiên cứu cách thức thực hiện một mô hình truyền thông sử
dụng những khả năng của DSPs rất có ý nghĩa trong thực tiễn.
DSPs có các họ như TMS320C6x (C6x)là một bộ xử lý đặc biệt với cấu trúc
chuyện dụng và chương trình cài đặt thích hợp cho việc xử lý tìn hiệu. Cấu trúc của
DSP C6x rất phù hợp cho việc tình toán với tốc độ cao sử dụng cầu trúc very-long-
instruction-word(VLIW). DSP được ứng dụng một cách rộng rãi, từ việc truyền thông
và điều khiển đến việc xử lý âm thanh và hình ảnh. Tính đa năng của DSP vượt trội
trong việc truyền thông. Các ứng dụng của DSP chiểm ưu thế trong các sản phẩm thực
tế. Chúng được tìm thấy trong các cell phone, fax/modem,radio,máy in, MP3, HDTV,
camera số…
Trong đồ án này em đi nghiên cứu các quy trình thực hiện hệ thống xử lý trong
miền thời gian thực trên bo mạch nhúng DSP. Mà cụ thể là tìm hiểu
TMS320C6416
DSK, là một mạch tích hợp các linh kiện phục vụ hoạt động của con vi xử lý chủ
C6416. Đó là một dòng sản phẩm của công ty Texas Instrument, với những khả năng
cung cấp tốc độ cao( 720 Mhz) cũng như môi trường làm việc thân thiện (Code
Compose Studio - CCS) ngày càng thể hiện được vai trò của mình trong việc thiết kế
các sản phẩm truyền thông. Từ những ví dụ đơn giản làm ban đầu làm quen với CCS
em đã xây dựng thành công modem thu phát dữ liệu trên nền DSP sử dụng kỹ thuật
OFDM, em còn giới thiệu cách đo đạc tín hiệu thu được sử dụng Ocilloscope số HM
1508-2. Đề tài này có thể được ứng dụng và triển khai để phục vụ cho việc nghiên cứu
học tập cũng như ứng dụng vào thực tế trong tương lai.
Đồ án tốt nghiệp đại học Trang 12
Vi
ế
t mã và xây
dựng Project,
viết file nguồn
và file cấu hình
G
ỡ
l
ỗ
i
Kiểm tra cấu
trúc
Khảo sát
Phân tích
thời gian
thực, gỡ lỗi,
thống kê,đồ
họa lại.
Hình 1-1 Chu trình xây dựng và phát triển sản phẩm với CCS
Đồ án tốt nghiệp đại học Trang 13
Nguyễn Thị Thanh Huyền Lớp ĐT7 – K50theo các cấu hình chuẩn mà CCS cung cấp. Chẳng hạn hệ thống
Bước 1: Bắt đầu bằng cách click đúp vào biểu tượng Setup CCStudio
Bước 2: Click vào Remove All trong hộp thoại System Configuration để
loại bỏ các cấu hình định nghĩa trước đó. Bước 3: Click Yes để chứng thực lệnh Remove All.
Bước 4: Chọn cấu hình chuẩn phù hợp từ các cầu hình có sẵn như hình sau:
Đồ án tốt nghiệp đại học Trang 14
Nguyễn Thị Thanh Huyền Lớp ĐT7 – K50
Bước 5: Click phím Add để chọn cấu hình vừa lựa chọn. Cấu hình lựa chọn sẽ
hiển thị phía dưới biểu tượng My System icon trong bảng System
Configuration của cửa sổ Setup. Nếu bạn muốn cấu hình cho nhiều hệ thống
khác nhau thì hãy lặp lại các bước 4 và 5. Phần bên phải của cửa sổ Code
Composer Studio Setup là các thông tin mô tả cấu hình lựa chọn. Chúng ta xem
xét xem cấu hình có phù hợp với hệ thống của chúng ta
không. Nếu không phù hợp chúng ta có thể thay đổi lại bằng cách click phím
Modify Properties. Sau khi khai báo các thông số thích hợp ta click OK.
Bước 6: Click phím Save&Quit để lưu lại cấu hình vừa lựa chọn và bắt đầu làm
việc với CCS.
Bước 7: Click Yes để bắt đầu làm việc với CCStudio khi đã thoát khởi tạo
CCStudio. Cửa sổ Setup CCStudio đóng và CCStudio IDE tự động mở ra cho ta
sử dụng với cấu hình hệ thống vừa tạo.
- .c là file chứa mã nguồn cung cấp chức năng chính của Project
- .h là file khai báo cấu trúc bộ đệm C cũng như xác định các hằng số yêu cầu.
- .pjt là file chứa tất cả việc xây dựng và lựa chọn cấu hình của Project.
- .asm là file bao gồm các chương trình assemply.
- .cmd là file ánh xạ các đoạn vào bộ nhớ.
Các bước khởi tạo dự án mới:
Bước 1: Từ menu Project chọn New
→
Hộp thoại xuất hiện.
Bước 2: Gõ tên Project mới vào hộp thoại Project name, và chọn đường
dẫn đặt Project vào hộp thoại Location. Chọn các thông số tương ứng với
hệ thống của bạn và click Finish
Sau khi tạo project mới thì cửa sổ sau xuất hiện:
Đồ án tốt nghiệp đại học Trang 17
Nguyễn Thị Thanh Huyền Lớp ĐT7 – K50
2.2. Xây dựng và chạy chương trình
Để xây dựng và chạy chương trình ta thực hiện theo các bước sau:
Bước 1: Viết các file nguồn cho chương trình. Đây là các file có dạng
file.c. Để tạo ra các file nguồn này chúng ta vào File → New → Source
file. Các câu lệnh trong chương trình của chúng ta sẽ được viết tại đây.
Sau đó chúng ta sẽ lưu file nguồn lại bằng cách click File → Save as.
Bước 6: Chọn Project→ Rebuild All hoặc click vào biểu tượng
trên thanh công cụ.
Bước 7: Theo mặc định thì file .out sẽ được tạo ra tại thư mục chứa
Project. Để thay đổi nơi chứa file.out tạo ra ta chọn bằng cách vào
Project/build option/link
Bước 8: Chọn File→load Program. Chọn file.out vừa tạo ra và click
Open.
Đồ án tốt nghiệp đại học Trang 20
Nguyễn Thị Thanh Huyền Lớp ĐT7 – K50 Bước 9: Chọn View→Mixed Source/ASM. Lựa chọn này sẽ cho phép
chương trình tạo ra đồng thời code C và các đoạn code Assembly tương
ứng trong quá trình chạy.
Bước 10: Chọn Debug→Go Main để bắt đầu thực thi chương trình từ
đoạn chương trình chính. Quá trình thực thi sẽ dừng lại ở đoạn chương
trình chính và nó được chỉ ra bởi kí hiệu
Bước 11: Chọn Debug→Run để chạy chương trình hoặc là click vào biểu
tượng trên thanh công cụ.
Bước 12: Chọn Debug→Halt để dừng chương trình.
2.3. Lựa chọn cấu hình hoạt động cho Project [5]
2.3.1 Chọn cấu hình:
Định nghĩa một cấu hình hoạt động của chương trình thiết lập mức độ các tùy
chọn để xây dựng project. Các project được tạo ra với 2 cấu hình mặc định là: Debug
và Release. Debug được dùng để gỡ lỗi chương trình và Release để tạo tạo ra sản phẩm
cuối cùng.
Như hình sau:
Nguyễn Thị Thanh Huyền Lớp ĐT7 – K50
Khi đó ở góc màn hình tại điểm đánh dấu sẽ xuất hiện dấu chấm đỏ như hình sau:
Đồ án tốt nghiệp đại học Trang 23
Nguyễn Thị Thanh Huyền Lớp ĐT7 – K50
Ví dụ 1 : khi ta chạy chương trình và đánh điểm Break Point ta có kết quả như sau:
- Khi đánh điểm Preak Point thứ nhất ta thấy kết quả ở cửa sổ Watch Window
The maximum value in the data is 64
- Khi chạy điểm Preak Point thứ 2 ta được kết quả như sau:
Đồ án tốt nghiệp đại học Trang 24
Nguyễn Thị Thanh Huyền Lớp ĐT7 – K50The maximum value in the data is 64
The minimum value in the data is 3
Giả sử để xem kết quả của một biến Datatrans tại điểm chương trình dừng ta sẽ khai
báo Datatrans vào trong cửa sổ Watch1 như hình sau: