Kêt luận chơng

Một phần của tài liệu XÂY DỰNG THUẬT TOÁN VÀ MÔ PHỎNG HỆ DSP CỦA TEXAS INSTRUMENTS TRONG MATLAB (Trang 49)

Trong chơng này, luận văn đã nghiên cứu các phần chính sau: -Công dụng, thành phần và cấu trúc của RTW.

-Khái quát các dạng mã và đích của RTW.

-Các môi trờng đích thông dụng là Generic Real-Time và Real-Time Windows Target

-Các thủ tục cơ bản khi sử dụng chế độ ngoài . -Các khối trong th viện của RTW.

Các nghiên cứu trong chơng này kết hợp với nội dung trong chơng 3 là cơ sở để xây dựng ứng dụng xử lí tín hiệu số trong chơng 4 của luận văn.

Chơng 3: Bộ công cụ phát triển cho các bộ xử lý tín hiệu số của Texas Instruments (TI DSP)

3.1. Giới thiệu bộ công cụ phát triển cho TI DSP

3.1.1. Công dụng của bộ công cụ phát triển

Bộ công cụ phát triển cho TI DSP tích hợp Simulink và MATLAB với các công cụ của TI Express DSP. Phần mềm này cho phép phát triển và kiểm định các phơng án xử lý tín hiệu số từ khâu lập thuật toán đến khâu tạo mã. Cụ thể là, bộ công cụ này cho phép sử dụng Simulink để mô hình hoá các thuật toán xử lí tín hiệu số bằng các khối của th viện DSP Blockset, sau đó dùng Real-time Workshop để tạo mã ANSI C cho đích là C6701EVM, hoặc cho TI Code Composer Studio (CCS IDE). Từ mã C, Bộ công cụ sẽ sử dụng các công cụ của TI để xây dựng (Build) mã máy cho 6701EVM. Quá trình dựng gồm cả việc tải mã máy và chạy trình khả thi trên bộ xử lí C6701

Texas Instrument sản xuất modul C6701EVM để giúp các nhà thiết kế xây dựng các ứng dụng xử lí tín hiệu số cho bộ xử lí tín hiệu số C6701 DSP. Modul C6701EVM cung cấp phần cứng vào ra, bộ Timer, bộ nhớ và nguồn cho bộ xử lí C6701DSP. Còn TI cung cấp các phần mềm nh C Compiler, Linker, Assembler và môi trờng phát triển tích hợp cho ngời sử dụng để thiết kế, xây dựng, tải và kiểm tra thuật toán trên C6701EVM.

Bộ công cụ phát triển này gồm 4 phần.

1/ Định đích cho Modul C6701 EVM: cho phép tự động tạo mẫu nhanh trên C6701 EVM. Môi trờng đích sẽ sử dụng mã C tạo ra bởi Real -Time workshop (RTW) để dựng (Build) file khả thi cho C6701 EVM.

Quá trình dựng của RTW sẽ biên dịch và tải file mã máy vào EVM, sau đó chạy file khả thi trên bộ xử lý tín hiệu số C6701.

2/ Định đích cho Code Composer Studio IDE (CCSIDE): Cho phép dựng Project cho CCS từ mã C do RTW tạo ra. Các tính năng của CCS nh: các công cụ soạn thảo, dựng, gỡ rối, lợc trình mã và quản trị Project giúp ta phát triển các ứng dụng thông

qua MATLAB, Simulink, RTW và C6701 EVM. Khi định đích là CCS IDE, quá trình dựng sẽ tạo ra một Project mới kèm theo các file cần thiết trong CCS.

3/ Kết nối để trao đổi dữ liệu thời gian thực (RTDX): Cho phép truyền dữ liệu giữa MATLAB và thiết bị. Dùng giao diện RTDX để giám sát bộ xử lý tín hiệu số, gửi và nhận dữ liệu, hiển thị hoặc đánh giá kết quả. Kết nối này hoạt động cùng với CCS. 4/ Kết nối với CCS IDE: Cung cấp các phơng tiện để điều khiển và gỡ rối ứng dụng xử lý tín hiệu số thông qua MATLAB. Giao diện trong trờng hợp này cho phép ta sử dụng các lệnh của MATLAB để gửi và nhận dữ liệu từ cửa sổ lệnh.

3.1.2. Yêu cầu chung

Bộ công cụ phát triển cho TIDSP đòi hỏi các phần mềm và phần cứng sau: + MATLAB 6.0

+ Simulink + DSP Blockset

+ Real-Time Workshop 3.0 + Signal Processing Toolbox 5.0

+Texas Instruments Code Composer Studio Intergated Development Environment (môi trờng phát triển tích hợp CCS) 1.2 trở lên.

Các phần cứng sau:

+ ít nhất một Modul TMS 320C6701 để định đích cho C6701 EVM.

+ ít nhất một hệ thống phát triển bộ xử lý tín hiệu số TI đợc CCS IDE hỗ trợ để kết nối với CCS IDE hoặc RTDX.

+ Máy chủ PC

• Bộ xử lý Intel Pentium

• 64 MB RAM (tốt nhất là 128 MB)

• Không gian đĩa cứng còn lại sau khi cài đặt MATLAB là 20 MB

• Màn hình màu

• Rãnh giao diện thành phần ngoại vi (PCI)

Ngoài các phần mềm của The Mathworks, ta phải cài đặt các công cụ của TI nh sau: (adsbygoogle = window.adsbygoogle || []).push({});

+ Assemble cho C6x: Để tạo file đối tợng (.obj) từ mã Assembly cho C6701 EVM.

+ Compiler cho C6x: biên dịch mã C từ mô hình Simulink thành file đối tợng (.obj) . Ngoài ra nó còn tạo ra mã Assembly (.asm).

+ Linker cho C6x: kết hợp các file đầu vào khác nhau nh file đối tợng và th viện.

+Code Composer Studio 1.2x: Cung cấp các công cụ gỡ rối và thiết kế.

3.1.3. Các ứng dụng thích hợp

Bộ công cụ phát triển cho TI DSP cho phép thiết kế các ứng dụng xử lý tín hiệu số có các đặc điểm sau:

+ Đơn tốc (Single Rate) + Đa tốc (multirate)

+ Đa giai đoạn (multistage) + Thích nghi (adaptive)

+ Xử lý theo khung (frame based)

Bộ công cụ hỗ trợ tần số lấy mẫu tín hiệu Audio từ 5,5 KHz tới 48 KHz.

3.1.4. Các file và trình điều khiển

Các file và trình điều khiển của bộ công cụ phát triển TI DSP nằm trong th MATLAB root/ / nh… … trong bảng sau:

Tên file Ví dụ mặc định Công dụng

ti_c6701 evm.tlc

matlabroot/toolbox tiddk/rtwevm 67x

(System Target file) là file hệ thống đích. RTW dùng file này để chọn đích là evm 67x. ti_c6701 evm.tmf matlabroot/toolbox/ tiddk/ rtwevm 67x

File tạo khuôn (Templale Makefile) RTW dùng file này để tạo mã.

*.dll matlabroot/toolbox/ tiddk/ rtwevm 67x

Các file để tạo giao diện ngời dùng *.c, *.h,*.m matlabroot/toolbox/

tiddk/ rtwevm 67x

Các file nguồn , tiêu đề mã C và các M-file

*.tlc matlabroot/toolbox/ tiddk/ rtwevm 67x/tlc-c Các file hệ thống chỉ định dạng ngôn ngữ đích cho RTW. *.mdl matlabroot/toolbox/ tiddk/ Mô hình Simulink *.m, *.tlc, *.tmf matlabroot/toolbox/ tiddk/ @ ccs

Các file để kết nối với CCSIDE *.m, *.dll matlabroot/toolbox/

tiddk/ @ ccs

Các M-file và th viện liên kết động (DLL) để tạo liên kết với RTDX và các đối tợng và hàm của CCSIDE Bảng 3.1: Các file và trình điều khiển.

3.2. Định đích cho C6701 EVM

Bộ công cụ phát triển cho TI DSP cho phép ta sử dụng RTW để tạo mã, định đích và thực hiện mô hình Simulink trên C6701 EVM của TI. Khi kết hợp với C6701 EVM bộ công cụ này là phơng tiện lý tởng để tạo mẫu nhanh và thiết kế các ứng dụng nhúng cho bộ xử lý tín hiệu số họ TI C6701.

3.2.1. Tóm tắt quy trình định đích cho C6701 EVM

1/ Cài đặt board C6701 EVM và các phần mềm hỗ trợ 2/ Mở MATLAB

3/ Mở mô hình cần thực hiện trên C6701 EVM (nếu cần, hãy thêm các khối điều khiển vào/ra cho C6701 EVM từ th viện C6701 EVM Lib). (adsbygoogle = window.adsbygoogle || []).push({});

4/ Chọn Simulink Parameters từ thực đơn Simulink để mở hộp thoại Simulink Parameters. Trong hộp thoại này kích Real-Time Workshop để chọn file hệ thống đích và file tạo khuôn cho C6701 EVM, đó là:

+ File hệ thống đích: ti_c6701evm.tlc + File tạo khuôn: ti_c6701evm.tmf

Với cấu hình nh vậy, ta có thể tạo ra file khả thi thời gian thực và tải nó vào EVM của TI, bằng cách kích nút Build trên trang Real-Time Workshop. RTW tự động tạo ra mã C và gài các trình điều khiển vào/ra (nếu có ).

Trong quá trình dựng, file tạo khuôn kết hợp với các tham số của khối để tạo ra file tạo đích (Target Make file) cho C6701 EVM. File tạo đích này sẽ kích hoạt

trình biên dịch chéo của TI để tạo ra file khả thi. Sau đó file khả thi đợc tự động nạp vào C6701 EVM qua giao diện thành phần ngoại vi (PIC) ( nếu ta chọn Build and Excute), và quá trình dựng sẽ chạy file khả thi trên C6701 EVM.

3.2.2. Cài đặt cấu hình C6701 EVM

Khi cài đặt C6701 EVM hãy đặt các chuyển mạch DIP (dual inline pin) theo bảng sau: Chuyển mạch Tên Vị trí Tác dụng SW2-1 BOOTMODE4 On Đặt chế độ boot SW2-2 BOOTMODE3 On Đặt chế độ boot SW2-3 BOOTMODE2 On Đặt bản đồ bộ nhớ =1 khi SW2-5 là off

SW2-4 BOOTMODE1 Off Đặt chế độ boot

SW2-5 BOOTMODE0 Off Đặt bản đồ bộ nhớ =1 khi SW2-3 là off

SW2-6 CLKMODE On Đặt chế độ nhân

SW2-7 CLKSEL On Chọn bộ dao động A

SW2-8 ENDIAN On Chọn chế độ little Endian

SW2-9 JTAGSEL Off Chọn bộ điều khiển Bus kiểm

tra trong (TBC)

SW2-10 USER2 On Tuỳ chọn của ngời dùng

SW2-11 USER1 On Tuỳ chọn của ngời dùng

SW2-12 USER0 On Tuỳ chọn của ngời dùng

Bảng 3.2: Cài đặt cấu hình C6701 EVM.

3.3. Các khối của th viện C6701 EVM

Th viện C6701 EVM gồm 4 khối

- C6701 EVM ADC: chuyển tín hiệu tơng tự thành tín hiệu số ở đầu vào của bộ xử lý.

- C6701 EVM DAC: chuyển tín hiệu số thành tín hiệu tơng tự ở đầu ra của bộ xử lý.

- C6701 EVM LED: điều khiển trạng thái các đèn LED của C6701 EVM. - C6701 EVM RESET: để đặt lại C6701 EVM từ cửa sổ mô hình Simulink. Các khối C6701 EVM ADC và DAC tạo các đờng dẫn vào/ra cho C6701 EVM. Chúng hoạt động nh các khối Source và Sink nhng khác ở chỗ, chúng trao đổi

dữ liệu với các thiết bị ngoài chứ không phải với Workspace của MATLAB và chúng chỉ có tác dụng đối với C6701 EVM.

Chỉ có thể bổ sung nhiều nhất là một khối C6701 EVM ADC và một khối C6701 EVM DAC vào mô hình. Vì C6701 EVM có hai đèn LED nên có thể dùng hai khối C6701 EVM LED. Khi bổ sung các khối này vào mô hình Simulink, hãy đặt các tham số cần thiết cho mỗi khối.

Sơ đồ khối điển hình vào/ra cho C6701 EVM.

3.3.1. Khối C6701 EVMADC

Để chạy và kiểm tra các ứng dụng DSP trên C6701 EVM, ta có thể dùng tín hiệu từ nguồn ngoài nh: bộ tạo dao động, Microphone hay các phơng tiện Audio. Khối C6701 EVM ADC sẽ kích hoạt bộ tạo mã nhận tín hiệu từ nguồn ngoài. Khối C6701 EVM ADC có 9 tham số. Để đặt tham số, hãy kích phải nút chuột vào khối, chọn Block Parameters để mở hộp thoại Block Parameters.

+ Codec Data format (dạng dữ liệu của bộ tạo mã ): có 5 lựa chọn. a) 16-bit Linear b) 8 -bit Linear c) 8-bit A law: Microphone (Mono hoặc Stereo) Signal Generaton Micr in Oscilloscope Line in C6701 EVM Line Out

Loa trái Loa phải (adsbygoogle = window.adsbygoogle || []).push({});

d) 8-bit à law

+ Output data type: Có 3 lựa chọn a) Double b) Single c) Integer + Scaling: Có 2 lựa chọn a) Normalize b) Integer Value + Source gain(dB)

+ Sample Per frame: (Số mẫu trong 1 khung) + ADC Source (Line in, mic in, Loopback) + Stereo

+ 20 dB Mic gain boost

3.3.2. Khối C6701 EVM DAC

Trong phần lớn các trờng hợp, khối DAC thừa hởng các đặc tính từ khối ADC trong mô hình hoặc từ khối không ảo (Nonvirtual) trớc đó.

Khối DAC có 4 tham số sau:

+ Codec data format: đặt giống nh Codec data format của khối ADC.

+ Scaling: trong phần lớn các ứng dụng ,chọn Scaling phù hợp với khối ADC. + Overflow mode

Khi chạy mô hình trên C6701 EVM có thể gặp trờng hợp kết qủa phép tính v- ợt quá phạm vi biểu diễn của dạng dữ liệu. OveflowMode xác định cách xử lý của khối khi gặp trờng hợp trên.

Có 2 lựa chọn a) Saturate b) Wrap

+ DAC attenuation (dB)

3.3.3. Khối C6701 EVM LED

Dùng đèn LED trên Modul để chỉ thị quá trình xử lý, ví dụ để chỉ thị quá trình xử lý đạt tới điểm đặt trớc nào đó.

Để sử dụng đèn LED, hãy bổ sung khối C6701 EVM LED vào mô hình và gửi tín hiệu tới khối. Một tín hiệu vô hớng khác không sẽ làm sáng đèn và ngợc lại.

Khối này có 1 tham số LED để chọn External (đèn ngoài) hoặc Internal (đèn trong).

3.3.4. Chỉ thị Overrun

Overrun là khi bộ xử lý không xử lý kịp thuật toán trong một chu kỳ đồng hồ. Kit cung cấp tuỳ chọn Overrun Action để báo cho ngời dùng biết điều này bằng cách bật đèn LED ngoài. Chú ý nếu đã chọn Overrun Action thì không đợc chọn khối C6701 EVM LED để kích đèn LED ngoài.

Overrun Action có 3 tuỳ chọn:

a) None: Không đáp ứng điều kiện Overrun

b) Continue: Khi xảy ra Overrun đèn LED ngoài bật sáng và mô hình tiếp tục đợc thi hành.

c) Halt: khi xảy ra Overrun đèn LED ngoài bật sáng và mô hình bị dừng lại.

3.4. Các tuỳ chọn xây dựng của RTW cho C6701 EVM

Mô hình xử lí tín hiệu số xây dựng trong Simulink có thể sử dụng các khối sau:

- Các khối của th viện C6701 EVM để xử lý các hàm vào/ra. - Các khối của Real – Time workshop

- Các khối của DSP Blockset

- Các khối thời gian rời rạc của Simulink - Các khối cài mã của ngời dùng

Trớc khi tạo mã cho mô hình với RTW, đặt fixed-Step Solver, Stepsize và fixed-Step Solver thích hợp nếu trong mô hình có trạng thái thời gian liên tục và chọn tốc độ lấy mẫu thích hợp.

Khi chọn Target for C6701 EVM thì mục Category liệt kê các danh mục mà RTW dùng để dựng và chạy mô hình. Có 6 danh mục sau:

+ Target Configurtion + TLC debugging (adsbygoogle = window.adsbygoogle || []).push({});

+ TI C6701 Compiler + TI C6701 Linker

+ TI C6701 EVM Runtime

3.4.1. Các tuỳ chọn của Target Configuration

Kích nút Browse để chọn ti-evm 67x, khi đó RTW sẽ tự động chọn System Target file, Template makefile và lệnh make tơng ứng.

3.4.2. Các tuỳ chọn của TI C6701 Compiler

+Byte Oder: C6701 EVM có khả năng chạy cả ở chế độ Little-endian và Big- endian. Chế độ mặc định là Little – enđian. Nếu C6701 EVM phải kết nối với các bộ xử lý khác thì chọn chế độ thích hợp với các bộ xử lý đó. Ví dụ các bộ xử lý của Motorola sử dụng chế độ Big-endian, còn của Intel thì sử dụng Little-endian.

+ Compiler Urbosity: có 3 tuỳ chọn

- Verbose: Trả về các dòng nhắn của Compiler

- Quiet: Bỏ qua các dòng nhắn tiến trình của Compiler. - Super quiet: Bỏ qua tất cả dòng nhắn của Compiler + Symbolic Debugging: Tạo các chỉ lệnh gỡ rối.

+ Retain.asm files: RTW và Develop Kit sẽ giữ lại các .asm file trong th mục hiện hành.

3.4.3. Các tuỳ chọn của TI C6701 Linker

+ Retain.obj file.Linker sử dụng các file obj để tạo ra một file khả thi duy nhất là COFF file (common object file for mat). Tuỳ chọn này sẽ hớng dẫn RTW Kit lu lại các file obj trong th mục hiện hành. Việc lu các file obj có thể làm tăng tốc độ quá trình biên dịch vì không phải biên dịch lại các file đã có.

+ Linker Command file: xác định file lệnh của Linker sẽ đợc thực hiện khi Linker chạy. Có 3 tuỳ chọn sau:

- Internal memory map: Tuỳ chọn này sẽ gọi file lệnh hớng dẫn Linker sử dụng chế độ bộ nhớ nhỏ của C6701 EVM. Khi đó các phần mã không gian kích hoạt ban đầu sẽ đợc đặt trong không gian bộ nhớ 32 KB.

- Full Memory map: Tuỳ chọn này sẽ gọi file lệnh hớng dẫn Linker sử dụng chế độ bộ nhớ lớn. Khi đó các phần mã không đợc kích hoạt đầu sẽ không bị giới hạn.

- User defined: cho phép ngời dùng sử dụng file lệnh của riêng mình. File phải có phần mở rộng là .cmd. Ví dụ My-file.cmd

3.4.4. Các tuỳ chọn của TI C6701 EVM.Runtime

Trớc khi chạy mô hình nh là một file khả thi trên C6701 EVM, ta phải cấu hình các tuỳ chọn Runtime cho mô hình.

+ CPU clock: chọn tốc độ đồng hồ cho bộ xử lý C6701 trên Modul C6701 EVM. Trong C6701 EVM có 2 bộ dao động tạo ra 4 tốc độ đồng hồ là 25, 33, 100 và 133 MHz.

+ Overrun Action: Xem phần chỉ thị Overrun.

+ Build Action: Hớng dẫn RTW công việc cần thực hiện khi ta ấn nút Build. - Build and executie: RTW dựng, tải và chạy file khả thi trên đích.

- Create-ccs-project: RTW mở CCS để tạo ra một Project mới. Tuỳ chọn này cho phép CCS chọn board để định đích khi có nhiều board đợc cài đặt. CCS đánh số các board này từ 0,1,2 Kích nút Select DSP và định đích bằng cách nhập số thứ tự… của board và Procesor (nếu trên một board có nhiều Procesor).

Ví dụ 3-1: Tạo chơng trình và chạy trên C6701 EVM.

Trong ví dụ này ta tạo ra tiếng vọng âm thanh nhờ C6701 EVM. Nối Microphone với đầu cắm Mic in, loa và máy hiện sóng với đầu cắm Line out của C6701 EVM. Để kiểm tra, ta nói vào Microphone và nghe hiệu ứng qua loa hoặc

Một phần của tài liệu XÂY DỰNG THUẬT TOÁN VÀ MÔ PHỎNG HỆ DSP CỦA TEXAS INSTRUMENTS TRONG MATLAB (Trang 49)