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
Trang 1Đồ án tốt nghiệp đại học Trang 1
LỜ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
Trang 2
Đồ án tốt nghiệp đại học Trang 2
TÓM TẮT ĐỒ ÁN
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 với bo mạch DSK TMS320C6414, được hỗ trợ bởi phần mềm
CCS, một công cụ lập trình và nạp mã cho DSP để xây dựng, kiểm thử gỡ lỗi, và chạy
chương trình Ngoài ra em còn tìm hiểu kỹ thuật truyền thông giữa target-to-host để từ
đó xây dựng một hệ thống viễn thông sử dụng công nghệ OFDM trong việc thu phát dữ
liệu số
Sau khoảng thời gian nghiên cứu và triển khai đề tài, em đã thực hiện thu phát thành
công file văn bản giữa hai máy tính sử dụng công nghệ OFDM qua DSP card, tín hiệu
phát từ đầu ra line output của một DSK và tín hiệu thu từ đầu vào line input của DSK
còn lại Đây là một hướng nghiên cứu có thể triển khai thực tế và đưa vào sản xuất sản
phẩm thu phát dữ liệu không dây
ABSTRACT
In my thesis, I would like to research the process to execute the real-time system with
DSK TMS320C6416 board which supports CCS sofware, a programming and
encoding tool for DSP to build, verify, debug, and operate program Besides, I also
research about telecommunications technique, so that build a telecommunications
system using OFDM technique in digital data transceiver
After reseaching and implementing thesis time, the results of mine is achievement of
text file transceiver between two computer using OFDM technique via DSP card, in
which tranfer signal is from line output of a DSK and receive signal is from line input
of remaining DSK This research’s way to be certain to develop in reality and
manufacture wireless data transceiver product
Trang 3Đồ án tốt nghiệp đại học Trang 3
Nguyễn Thị Thanh Huyền Lớp ĐT7 – K50 MỤ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
2.4.2 Cửa sổ Watch Window 25
2.5 Sử dụng Probe Point và File I/O 26
CHƯƠNG 3 DSP/ BIOS 35
3.1 Giới thiệu về DSP/BIOS 35
3.2 Các thành phần của DSP/BIOS 36
3.2.1 DSP/BIOS API 36
Trang 4Đồ án tốt nghiệp đại học Trang 4
Nguyễn Thị Thanh Huyền Lớp ĐT7 – K50 3.2.2 DSP/BIOS Configuration 37
3.2.3 DSP/BIOS Analysis Tools 38
3.3 Chuẩn bị tạo dự án làm việc với DSP/BIOS 40
CHƯƠNG 4 KỸ THUẬT TRUYỀN THÔNG 48
4.1 Giới thiệu: 48
4.2 Kỹ thuật truyền thông EDMA (Enhanced Direct Memory Access) 48
4.3 Cấu hình EDMA 51
4.3.1 Cấu hình EDMA bằng tay 51
4.3.1.1 Thêm đối tượng cấu hình EDMA 51
4.3.1.2 Định dạng trường địa chỉ ( Specifying Address Formats) 51
4.3.1.3 Số khung truyền và chỉ số khung ( Transfer Count and Index Setting ) 56 4.3.1.4 Thiết lập số khung truyền sử dụng file header (Transfer Count Register Setting using the User’s Header File) 57
4.3.1.5 Thiết lập địa chỉ liên kết (Link address setting) 59
4.3.2 Cấu hình EDMA bằng câu lệnh 62
4.4 Bộ biến đổi AIC 23 64
4.5 McBSP ( Multichannel Buffered Serial Port ) 65
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
Trang 5Đồ án tốt nghiệp đại học Trang 5
Nguyễn Thị Thanh Huyền Lớp ĐT7 – K50 4.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
5.4.2.1 Các bước cấu hình RTDX 95
5.4.2.2 Các câu lệnh RTDX trong chương trình 98
5.4.3 Mở và chạy chương trình 98
CHƯƠNG 6 KẾT QUẢ ĐO ĐẠC VÀ THỰC NGHIỆM 103
6.1 Hiển thị tín hiệu bằng CCS 103
6.2 Cách đo và hiển thi tín hiệu trên Ocilloscope số 105
6.3 So sánh tín hiệu OFDM đo được trên Ocilloscope, matlab và CCS 109
KẾT LUẬN 109
TÀI LIỆU THAM KHẢO 111
Trang 6Đồ án tốt nghiệp đại học Trang 6
Nguyễn Thị Thanh Huyền Lớp ĐT7 – K50 DANH SÁCH HÌNH VẼ Hình 1-1 Chu trình xây dựng và phát triển sản phẩm với CCS 12
Hình 4-1 Mô hình vào ra EDMA 48
Hình 4-2 Tính năng đa kênh của EDMA 49
Hình 4-3 TTC với các kênh EDMA khác nhau 50
Hình 4-4 Bộ chuyển đổi số - tương tự AIC23 65
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
Hình 5-8 Kết quả nhậnd được khi truyền File Text 102
Hình 6-1 Ocilloscope số HM 1508-2 106
Hình 6-2 Màn hình ocilloscope với các nút điều khiển 106
Hình 6-3 Tín hiệu OFDM trong miền thời gian 107
Hình 6-4 Phổ của tín hiệu OFDM trong miền tần số 108
Trang 7Đồ án tốt nghiệp đại học Trang 7
Hình 6-5 So sánh kết quả tín hiệu OFDM đo bằng Matlab,CCS và Osillo số 109
Trang 8Đồ án tốt nghiệp đại học Trang 8
Trang 9Đồ án tốt nghiệp đại học Trang 9
DANH SÁCH CÁC TỪ VIẾT TẮT
API Application Programming Interface
BSL Board Support Library
CCS Code Composer Studio
CSL Chip Support Library
CMOS Complementary Metal Oxide Semiconductor
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
Trang 10Đồ án tốt nghiệp đại học Trang 10
JTAG Joint Test Action Group
LED Light Emitting Diode
McBSP Multi-Channel Buffered Serial Port
MHz Megahertz
NMI Non-Maskable Interrupt
OFDM Orthogonal Frequency Division Multiplexing
OS Operating System
PC Personal System
POST Power On Self Test
PLL Phase Locked Loop
PQFP Plastic Quad Flat Pack
QAM Quadrature amplitude modulation
RF Radio Frequency
ROM Read-Only Memory
SDI Spectrum Digital Incorporated
SARAM Single Access Random Access Memory
SRAM Static Random Access Memory
SDRAM Synchronous Dynamic Random Access Memory
TI Texas Instruments
TIL Transistor-Transistor Logic
TCC Transfer Complete Code
Trang 11Đồ án tốt nghiệp đại học Trang 11
PHẦN MỞ ĐẦU
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
Trang 12Đồ án tốt nghiệp đại học Trang 12
Chương 1 CÔNG CỤ LẬP TRÌNH VÀ NẠP MÃ CHO DSP
CODE COMPOSER STUDIO (CCS)
1.1.Giới thiệu
CCS là phần mềm đi kèm theo DSK, nó là trình soạn thảo, gỡ lỗi cũng như để
biên dịch các chương trình của chúng ta
CCS cung cấp môi trường IDE kết hợp chặt chẽ giữa các công cụ phần mềm
CCS bao gồm các công cụ như trình biên dịch C, assembly và các trình liên kết Nó có
khả năng đồ họa và hỗ trợ debug thời gian thực, cung cấp các công cụ phần mềm sử
dụng một cách dễ dàng để xây dựng và chạy chương chình Trình biên dịch C biên dịch
các chương trình C nguồn với file.c để đưa ra file assembly với file.asm Assembler tập
hợp các file asm tạo ra ngôn ngữ máy file.obj Trình liên kết (linker) biên dịch các file
.obj và các hàm thư viện đầu vào để tạo ra file thực thi là file.out Chương 2 tôi sẽ giới
thiệu cụ thể cách tạo và làm việc với CCS
1.2.Chu trình xây dựng và phát triển sản phẩm với CCS
1.3.Cài đặt và tạo cấu hình hệ thống [5]
CCS cho phép chúng ta cấu hình hệ thống để làm việc với hệ phần cứng khác
nhau Chúng ta có bắt đầu làm việc nhanh bằng cách cầu hình các hệ thống mặc định
Thiết kế
Khái niệm
Lập kế hoạch
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
Trang 13Đồ án tốt nghiệp đại học Trang 13
theo các cấu hình chuẩn mà CCS cung cấp Chẳng hạn hệ thống C5000TMthì có file hệ
thống chuẩn là C55x TM và hệ thống C6000TM chúng ta có file hệ thống chuẩn là
64 TM
C x C6000TM C55x TM
CCS cho phép chúng ta lựa chọn cách cấu hình hệ thống sử dụng các file hệ
thống chuẩn hoặc khởi tạo các file cấu hình theo yêu cầu của người sử dụng các file
cấu hình riêng
Các bước khởi tạo cấu hình hệ thống sử dụng các file cấu hình hệ thống chuẩn:
Sau khi cài đặt chúng ta thấy xuất hiện 4 biểu tượng 6416DSKDiagnosticsUtility v3.1;
Setup CCStudio v3.1; CCStudio 3.1; 6416 DSK CCStudio v3.1
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:
Trang 14Đồ án tốt nghiệp đại học Trang 14
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
Trang 15Đồ án tốt nghiệp đại học Trang 15
Bạn có thể bắt đầu làm việc với CCStudio IDE
Trang 16Đồ án tốt nghiệp đại học Trang 16
Chương 2 LÀM VIỆC VỚI CCS
2.1.Tạo Project mới [5]
Trong phần này tôi đi giới thiệu về cách tạo ra một Project mới, add các File
nguồn và thư viện vào Project Qua đó chúng ta biết được các File với các đuôi sau:
- lib là file thư viện, cung cấp thời gian chạy hỗ trợ cho DSP
- 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:
Trang 17Đồ án tốt nghiệp đại học Trang 17
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
Chọn đường dẫn cho file nguồn vào đúng thư mục chứa project của
chúng ta, khai báo tên và click Save
Bước 2: Add các file vào project bằng cách click chuột phải lên tên của
project đang làm việc ở bên phải của cửa sổ chương trình CCS, chọn
Add Files to Project như hình sau
Trang 18
Đồ án tốt nghiệp đại học Trang 18
Bước 3: Chọn file nguồn ( file.c ) vừa tạo ra và click Open
Bước 4: Add các file thư viện vào chương trình Ở đây chúng ta làm việc
với chip C6416 nên chúng ta sẽ Add file rts6400.lib trong thư mục
C:\Program Files\CCStudio_v3.1\C6000\cgtools\lib vào chương trình như
đã Add file nguồn ở bước 3
Bước 5: Click Scan All File Dependencies để tham chiếu các file.h vào
chương trình Các file.h này sẽ tự động được tạo ra
Trang 19Đồ án tốt nghiệp đại học Trang 19
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
Trang 20Đồ án tốt nghiệp đại học Trang 20
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:
Click vào Debug để lựa chọn cấu hình hoạt động của hệ thống
2.3.2 Add cấu hình mới cho Project
Bước 1: Chọn Project→Configuration
Bước 2: Cửa sổ Add Project Configuration xuất hiện
Trang 21Đồ án tốt nghiệp đại học Trang 21
Bước 3:Click vào Add và khai báo tên của cấu hình mới và chọn lựa các
tùy chọn thích hợp
Bước 4: Click OK để đồng ý add cấu hình mới
2.4 Sử dụng Break Point và watch window
2.4.1 Điểm dừng Break Point
Break Point được dùng để đánh dấu các điểm dừng khi thực thi chương trình
Nó giúp chúng ta chạy và khảo sát riêng từng đoạn chương trình Để tạo điểm tạm
dừng chương trình khi chạy chúng ta di chuột tới điểm mà chúng ta muốn chương trình
sẽ dừng khi chạy, click chuột phải và chọn Toggle Software Breakpoint như ở hình
dưới, hoặc ấn vào biểu tượng trên thanh công cụ, hoặc chúng ta có thể Click đúp
vào đoạn chương trình ta cần dừng để kiểm tra
Trang 22Đồ án tốt nghiệp đại học Trang 22
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:
Trang 23Đồ án tốt nghiệp đại học Trang 23
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:
Trang 24Đồ án tốt nghiệp đại học Trang 24
The maximum value in the data is 64
The minimum value in the data is 3
Và lần lượt chạy hết các điểm cho đến hết ta sẽ được kết quả sau:
The maximum value in the data is 64
The minimum value in the data is 3
The spread of the data is 61
The maximum value in the data is 64
The minimum value in the data is 2
The spread of the data is 62
Muốn hủy bỏ điểm BreakPiont nào thì ta Click đúp chuột trái lên dòng lệnh
chứa điểm đấy Còn nếu ta muốn huỷ bỏ tất cả các điểm BreakPoint thì ta click lên
biểu tượng trên thanh công cụ của CCS
Trang 25Đồ án tốt nghiệp đại học Trang 25
2.4.2 Cửa sổ Watch Window
Cửa sổ này kết hợp với Break point sẽ cho chúng ta quan sát được các kết quả
của chương trình khi nó tạm dừng
Ta vào cửa sổ Watch Window bằng cách vào View và chọn Watch Windown như
hình vẽ:
Hoặc ta cũng có thể Click vào biểu tượng trên thanh công cụ của CCS
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:
Trang 26Đồ án tốt nghiệp đại học Trang 26
Qua cửa sổ này chúng ta cũng có thể biết kết quả các giá trị của một mảng
Chúng ta cũng có thể thay đổi giá trị tạm thời của biến khai báo một cách tạm thời, ở
đây thay giá trị Datatrans bằng cách cho giá trị mới tại miền Value Khi đó chương
trình sẽ tiếp tục chạy với giá trị mới của Datatrans là giá trị vừa khai báo
Chúng ta cũng có thể xem giá trị của biến bằng các kiểu khác nhau bằng cách
Click chuột trái vào miền Radix và tích vào kiểu mà ta muốn xem
2.5 Sử dụng Probe Point và File I/O
Probepoint là kỹ thuật cho phép chúng ta đọc dữ liệu vào từ một file trên máy
tính Đó là một công cụ hữu ích trong quá trình phát triển giải thuật, vì nó đỡ cho
chúng ta phải thêm vào những đoạn mã vào ra với file trên máy tính Chúng có thể
được sử dụng để:
Vận chuyển dữ liệu vào từ một file trên máy tính tới một bộ đệm (một mảng nào
đó) trên target (DSP thực hoặc simulator) để kiểm tra giải thuật
Vận chuyển dữ liệu ra từ một bộ đệm trên target đến một file trên máy tính
(host) để phân tích kết quả
Để cập nhật cửa sổ, chẳng hạn như dữ liệu cho đồ thị
Chúng ta sẽ tạo ra các điểm này bằng cách di chuột đến vị trí ta muốn khảo sát
quá trình vào ra dữ liệu Click chuột phải và chọn Toggle Software Probe point như
hình vẽ sau hoặc click lên biểu tượng trên thanh công cụ của CCS
Trang 27Đồ án tốt nghiệp đại học Trang 27
Khi đấy ở góc màn hình sẽ xuất hiện dấu hiệu như ở hình dưới đây
Muốn hủy một điểm Probe Point ta click chuột phải lên vị trí chứa điểm ấy và
lựa chọn như ở hình dưới Còn nếu muốn hủy tất cả các điểm Probe Point thì ta click
lên biểu tượng trên thanh công cụ của CCS
Trang 28Đồ án tốt nghiệp đại học Trang 28
Một hạn chế khi sử dụng Probe point để khảo sát quá trình truyền thông giữa
target và host đó là nó chỉ cho phép chúng ta vào ra các file hex định dạng là file.dat
Khi chèn một Probepoint vào chương trình thì nó được gắn với một file I/O
được tạo ra bằng cách vào mục File/ FileIO (Ở đây ta chỉ có thể Add được File.dat.)
Một cửa sổ file IO sẽ có dạng như sau:
Trang 29Đồ án tốt nghiệp đại học Trang 29
Ví dụ: chương trình SinWave
Ví dụ này thực hiện việc truyền thông ở mức đơn giản giữa host và target bằng
cách dùng Break Point và Probe Point Chương trình này thực hiện nạp file sine.dat
từ máy tính vào trong DSP Dữ liệu nhận được sẽ được DSP xử lí ( ở đây chỉ đơn giản
là nhân các giá trị nhận được với hằng số gain = 5 ) sau đó ta truyền kết quả ngược lại
cho máy tính Kết quả của quá trình xử lí này sẽ được lưu lại trên máy tính dưới dạng
file là bigSine.dat Thực hiện ví dụ này thông qua các bước sau:
Bước1: Mở file sinwave.pjt trong đường dẫn E:\program
file\ccs\tutorial\sim64xx\sinewave
Bước 3: ReBuild All chương trình và load file sinewave.out vừa được tạo
ra
Bước 4: Mở file nguồn sine.c và đánh dấu điểm Probe Point tại dòng
dataIO() trong hàm main() như hình sau:
Trang 30Đồ án tốt nghiệp đại học Trang 30
Bước 5: Click File → File I/O Cửa sổ File I/O xuất hiện như hình dưới
Bước 6: Click Add File Cửa sổ File Input xuất hiện Chúng ta chọn
đường dẫn tới folder sinewave và mở file sine.dat
Bước 7: Click Add Probe Point cửa sổ Break/Probe Ponts được mở ra
như hình sau
Trang 31Đồ án tốt nghiệp đại học Trang 31
Click chuột lên dòng sine.c line 30… trong trường Probe Point Trong trường
Connect To chọn FILE IN: E:\ \sine.dat như hình trên Click Replace và sau đó Click
OK
Bước 8: Trong hộp thoại FILE I/O tại trường Address gõ vào
currentBuffer.input và tại trường Length gõ vào số 100 như hình dưới
Click OK
Trang 32Đồ án tốt nghiệp đại học Trang 32
Bước 9: Click File → File I/O Click Tab File Output Add file
bigsine.dat Click Add Probe Point Trong ô Probe Point click lên sine.c
line 30… trong trường Probe Point Trong trường Connect To chọn FILE
IN: E:\ \bigsine.dat Click lên phím Add ta sẽ có kết quả như hình dưới
Trang 33Đồ án tốt nghiệp đại học Trang 33
Bước 10: Trong hộp thoại File I/O tại trường Address gõ
currentBuffer.output và tại trường Length gõ 100 Kết quả như hình dưới
Click OK
Bước 11: Click Run(hoặc ấn F5) để chạy chương trình
Bước 12: Click Haft để dừng chương trình Kiểm tra lại file bigsine.dat ta
sẽ thấy dung lượng của nó tăng lên
Bước 13: Click view → Watch Window Trong Tab Watch1 gõ
currentBuffer.input Cho chạy chương trình chúng ta sẽ có bảng sau
Trang 34Đồ án tốt nghiệp đại học Trang 34
Chúng ta có thể thấy ngay các giá trị của mảng currentBuffer.input
(currentBuffer.out put) các giá trị đầu vào và đầu ra Chúng ta có thể thay đổi tạm thời
các giá trị này để chạy chương trình của chúng ta.Việc này sẽ không ảnh hưởng gì tới
file sine.dat gốc
Trang 35Đồ án tốt nghiệp đại học Trang 35
Chương 3 DSP/ BIOS
3.1 Giới thiệu về DSP/BIOS
DSP/BIOS là một thiết kế cho các ứng dụng yêu cầu đồng bộ thời gian thực,
truyền thông giữa host-to-target cùng với các công cụ phân tích thời gian thực
DSP/BIOS cung cấp nhiều đoạn tuyến có mức ưu tiên khác nhau, trừu tượng hóa phần
cứng và phân tích thời gian thực
DSP/BIOS được đóng gói dưới dạng các module và có thể liên kết vào trong
ứng dụng của chúng ta Các ứng dụng kết hợp với các hàm chức năng này của
DSP/BIOS ( trực tiếp hoặc gián tiếp ) và chúng sẽ được tham chiếu tới trong ứng dụng
Thêm vào đó, công cụ DSP/BIOS cho phép tối ưu hóa kích thước và tốc độ bằng cách
vô hiệu hóa các tính năng mà chúng ta không sử dụng
Chúng ta có thể sử dụng DSP/BIOS để đo đạc phân tích quá trình làm việc bằng
cách khảo sát ( probeb), phác họa (traced), và hiển thị trong miền thời gian thực Các
chương trình sử dụng DSP/BIOS Configuration Tool sẽ tận dụng được khả năng đa
phân tuyến ( multi – threading ) của DSP/BIOS
DSP/BIOS được tích hợp với Code Composer Studio, và được hỗ trợ hoàn toàn
bởi Texas Instruments Các đối tượng trong DSP/BIOS có thể cấu hình trên giao diện
của DSP/BIOS Do đó sẽ làm giảm kích thước của đoạn code và tối ưu hóa cấu trúc dữ
liệu bên trong DSP/BIOS API đã chuẩn hoá việc lập trình trên DSP cho một số thiết bị
của TI và cung cấp một số các công cụ phát triển lập trình sử dụng đơn giản nhưng rất
hiệu quả Các công cụ này làm giảm yêu cầu về thời gian để lập trình cho DSP
DSP/BIOS cung cấp các API chuẩn , điều này cho phép phát triển các thuật toán cung
cấp các đoạn code mà các đoạn code này dễ dàng được tích hợp vào trong hàm chức
năng khác…
Trang 36Đồ án tốt nghiệp đại học Trang 36
3.2 Các thành phần của DSP/BIOS
DSP/BIOS API: Chương trình bằng ngôn ngữ C hoặc Assembly có thể được
gọi ra từ 150 hàm DSP/Bios API
DSP/BIOS Configuration: Bảng công cụ này cho phép bạn khởi tạo và cấu
hình cho DSP/Bios để dùng cho chương trình của bạn
DSP/BIOS Analysis Tools: Cửa sổ này cho phép bạn có cài nhìn tổng quát
vè hoạt động thời gian thực.Vi dụ, chạy cửa sổ Graph sẽ hiển thị đồ thị hoạt
động của các đoạn tuyến
3.2.1.DSP/BIOS API
DSP/BIOS được thiết kế cho các ứng dụng yêu cầu điều phối thời gian thực
và sự đồng bộ, truyền thông giữa target-host hoặc công cụ thời gian thực
DSP/BIOS cung cấp nhiều module với các mức ưu tiên khác nhau, các công cụ cấu
hình
DSP/BIOS API bao gồm trên 150 hàm thư viện trên ngôn ngữ C DSP/BIOS
được đóng gói thành các mô đun và có thể được liên kết vào trong chương trình ứng
dụng Những ứng dụng include chỉ những hàm mà nó cần thiết cho ứng dụng Hơn
nữa, công cụ cấu hình của DSP/BIOS cho phép chúng ta tối ưu kích thước đoạn mã
chương trình và như vậy tăng tốc độ của chương trình chạy bằng cách tách những
tính năng DSP/BIOS riêng ra khỏi chương trình
Bảng 3-1 Các module API của DSP/BIOS
ATM Module Atomic functions written in assembly language
BUF Module Maintains buffer pools of fixed size buffers
C62 and C64 Module Target-specific functions
CLK Module System clock manager
DEV Module Device driver interface
GIO Module I/O module used with IOM mini-drivers
Trang 37Đồ án tốt nghiệp đại học Trang 37
Global Settings Global setting manager
HOOK Module Hook function manager
HST Module Host channel manager
HWI Module Hardware interrupt manager
IDL Module Idle function and processing loop manager
LCK Module Resource lock manager
LOG Module Event Log manager
MBX Module Mailboxes manager
PIP Module Buffered pipe manager
PRD Module Periodic function manager
QUE Module Queue manager
RTDX Module Real-time data exchange manager
SEM Module Semaphores manager
SIO Module Stream I/O manager
STS Module Statistics object manager
SWI Module Software interrupt manager
SYS Module System services manager
TRC Module Trace manager
TSK Module Multitasking manager
std.h and stdlib.h
functions
Standard C library I/O functions
3.2.2 DSP/BIOS Configuration
Trang 38Đồ án tốt nghiệp đại học Trang 38
DSP/BIOS configuration cho phép chúng ta khởi tạo và cấu hình các đặc tính
của DSP/BIOS để sử dụng cho chương trình của chúng ta
3.2.3 DSP/BIOS Analysis Tools
Các công cụ phân tích hỗ trợ cho môi trường CCS bằng cách cho phép phân tích
tính thời gian thực của các ứng dụng DSP/BIOS Ta có thể giám sát trực quan một ứng
dụng DSP khi nó đang chạy với sự ảnh hưởng lên tính thời gian thực của các ứng dụng
Trang 39Đồ án tốt nghiệp đại học Trang 39
là nhỏ nhất DSP/BIOS analysis tools được đưa vào trong DSP/BIOS menu, thể hiện
như trong hình dưới đây:
Khác với các công cụ debug truyền thống, các công cụ trên được mở rộng để
thực thi chương trình, điều này yêu cầu chương trình phía target phải chứa các lệnh
thời gian thực Bằng việc sử dụng các API và các đối tượng, người phát triển sẽ tự
động đo đạc phía target để bắt giữ và tải lại các thông tin thời gian thực lên cho host
thông qua DSP/BIOS analysis tools của Code Composer Studio
Trang 40Đồ án tốt nghiệp đại học Trang 40
3.3 Chuẩn bị tạo dự án làm việc với DSP/BIOS
Một dự án có sử dụng DSP/BIOS có cấu trúc khác với một dự án thông thường
Đó là các thư viện hàm, các file header, và đặc biệt một dự án của DSP/BIOS không
thể thiếu file cấu hình Nó chứa thông tin về các mô đun và đối tượng của DSP/BIOS
được sử dụng trong chương trình Các bước chuẩn bị một dự án DSP/BIOS bao gồm
tạo file cấu hình và thêm file cấu hình vào dự án
Tạo file cấu hình