1. Trang chủ
  2. » Luận Văn - Báo Cáo

XÂY DỰNG THUẬT TOÁN VÀ MÔ PHỎNG HỆ DSP CỦA TEXAS INSTRUMENTS TRONG MATLAB

101 1,2K 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 101
Dung lượng 4,31 MB

Nội dung

Trong 20 năm gần đây, xử lí tín hiệu số đã trải qua một thời kỳ phát triển mạnh mẽ để đến ngày nay, các hệ thống xử lí tín hiệu số, với các ứng dụng trong nhiều lĩnh vực đã trở thành một phần không thể thiếu trong cuộc sống của xã hội hiện đại. Texas Instruments (TI) với các bộ xử lí tín hiệu số họ TMS320, thế hệ từ C2x đến C8x là một trong những hãng dẫn đầu thế giới. Để thiết kế được một hệ thống xử lí tín hiệu số và xây dựng các trình ứng dụng, điều hiển nhiên là phải có những kiến thức nhất định về phần cứng và phần mềm hỗ trợ. Công cụ phần mềm thường được dùng để tạo trình khả thi cho các bộ xử lí tín hiệu số của TI là Code Composer Studio (CCS).

Trang 1

Mục lục

Mở đầu 3

Chơng 1: Các bộ xử lý tín hiệu số họ TMS320C6X của Texas instruments 6

1.1 Giới thiệu về các bộ xử lí tín hiệu số họ TMS320C6x 6

1.2 Cấu trúc của các bộ xử lí TMS320C6x 7

1.2.1 Bộ xử lí trung tâm 7

1.2.2 Bộ nhớ 9

1.2.3 Ngoại vi 10

1.3 Bảng mạch đánh giá EVMC6x 17

1.3.1 Đặc điểm của bảng mạch EVMC6x 17

1.3.2 Tổng quan về phần cứng của EVMC6701 19

1.3.3 Tổng quan về phần mềm của EVMC6x 22

1.4 Kết luận chơng 1 23

Chơng 2: Real-Time Workshop 24

2.1 Giới thiệu chung về Real-Time Workshop 24

2.1.1 Công dụng và yêu cầu của Real-Time Workshop 24

2.1.2 Khái niệm chủ/đích 25

2.1.3 Các thành phần của Real-Time Workshop 25

2.1.4 Các dạng mã (Code format) 27

2.1.5 Quá trình tạo mẫu nhanh (Rapid Prototyping) 28

2.1.6 Quá trình xây dựng chơng trình tự động trên Real-Time Workshop 30

2.2 Môi trờng đích Generic Real-Time Target (GRT) 33

2.3 Chế độ ngoài (external mode) 34

2.4 Môi trờng đích Real-Time Windows Target (RTWin) 35

2.4.1 Các đặc điểm của RTWin 36

2.4.2 Các thủ tục cơ bản khi sử dụng đích RTWin và chế độ ngoài 38

2.5 Các khối điều khiển vào/ ra của RTWin 41

2.5.1 Cài đặt cấu hình cho khối Analog Input 41

2.5.2 Cài đặt cấu hình cho khối Analog Ouput 43

2.5.3 Cài đặt cấu hình cho khối digital Input 44

2.5.4 Cài đặt cấu hình cho khối Digital Output 44

2.6 Th viện của RTW 45

2.7 Kêt luận chơng 49

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) 50

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

Trang 2

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

3.1.2 Yêu cầu chung 51

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

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

3.2 Định đích cho C6701 EVM 53

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

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

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

3.3.1 Khối C6701 EVMADC 55

3.3.2 Khối C6701 EVM DAC 56

3.3.3 Khối C6701 EVM LED 56

3.3.4 Chỉ thị Overrun 57

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

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

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

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

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

3.5 Định đích là Code Composer Studio (CCS) 61

3.6 Liên kết với CCS IDE và RTDX 62

3.7 Kết luận chơng 66

Chơng 4: Mô phỏng thuật toán điều chế xung mã (PCM) 67

4.1 Giới thiệu 67

4.2 Sơ đồ và tiêu chuẩn đánh giá chất lợng 68

4.2.1 Điều chế Delta tuyến tính (LDM: Linear Delta Modulation) 69

4.2.2 Điều chế Delta với sờn thay đổi (CVSD) 71

4.3 Thực hiện thuật toán CVSD trên C 6710 EVM 76

4.3.1 Tín hiệu vào là nguồn trong 76

4.3.2 Tín hiệu vào là nguồn ngoài (máy tạo dao động) 76

4.4 Kết luận chơng 77

Kết luận luận văn 79

Tài liệu tham khảo 80

Phụ lục 81

Trang 3

Mở đầu

Trong 20 năm gần đây, xử lí tín hiệu số đã trải qua một thời kỳ phát triển mạnh mẽ để đến ngày nay, các hệ thống xử lí tín hiệu số, với các ứng dụng trong nhiều lĩnh vực đã trở thành một phần không thể thiếu trong cuộc sống của xã hội hiện đại Texas Instruments (TI) với các bộ xử lí tín hiệu số họ TMS320, thế hệ từ C2x đến C8x là một trong những hãng dẫn đầu thế giới Để thiết kế đợc một hệ thống xử lí tín hiệu số và xây dựng các trình ứng dụng, điều hiển nhiên là phải có những kiến thức nhất định về phần cứng và phần mềm hỗ trợ Công cụ phần mềm th-ờng đợc dùng để tạo trình khả thi cho các bộ xử lí tín hiệu số của TI là Code Composer Studio (CCS) CCS tích hợp trình hợp dịch, trình biên dịch, trình liên kết, trình mô phỏng và gỡ rối CCS cho phép chạy mô phỏng ngay cả khi không có bảng mạch đích Tuy nhiên, gần đây The Math Works đã đa ra một công cụ mới để hỗ trợ cho các bộ xử lí của TI, đó là Bộ công cụ phát triển cho các bộ xử lí của TI (Developer’s Kit for TI DSP) thông qua Real-Time Workshop Sử dụng công cụ này, ta không cần viết chơng trình bằng ngôn ngữ C hoặc Assembly (khá phức tạp

đối với các chơng trình lớn), mà sử dụng trực tiếp mô hình trong Simulink của MATLAB, và bổ xung thêm các khối điều khiển vào/ra, để dựng trình khả thi Đây

là công cụ rất tiện lợi để phát triển các ứng dụng xử lí tín hiệu số cho các bộ xử lí C6x của TI Mặc dù hiện nay, bộ công cụ này mới chỉ hỗ trợ đích là bảng mạch

đánh giá EVMC6701, nhng ta có thể phát triển ứng dụng cho các bộ xử lí tín hiệu số khác khi liên kết bộ công cụ này với Code Composer Studio Và chắc chắn là trong tơng lai gần, danh mục bảng mạch đích của bộ công cụ này sẽ đợc mở rộng thêm

Với tính cấp thiết và tiện ích nh vậy, tôi đã chọn đề tài “Xây dựng thuật toán

và mô phỏng hệ DSP của Texas Instruments trong MATLAB” với mục tiêu là:

1/Nghiên cứu tổ chức phần cứng và các cộng cụ phần mềm hỗ trợ cho bộ xử

lí C6x của TI trong môi trờng MATLAB (cụ thể là Real-Time Workshop), để từ đó

đa ra một quy trình chung cho việc phát triển các ứng dựng xử lí tín hiệu số trên bộ

xử lí C6x

2/ Thực hiện và mô phỏng một thuật toán xử lí tín hiệu số có ý nghĩa thực tế

mà có thể phát triển thành một ứng dụng độc lập trên bộ xử lí C6x

Trang 4

Nội dung luận văn gồm các phần sau:

1/ Chơng 1: Các bộ xử lí tín hiệu số họ TMS320C6x của TI

Chơng này có các nội dung chính sau:

-Đặc điểm, các ứng dụng điển hình, tổ chức phần cứng và ngoại vi của các bộ

xử lí C6x, trong đó, số liệu và hình vẽ nhằm vào bộ xử lí C6701

-Tố chức bảng mạch đánh giá EVMC6701 và khái quát phần mềm hỗ trợ.Việc chọn bộ xử lí C6x là do bảng mạch đánh giá EVMC6701, đợc xây dựng trên cơ sở bộ xử lí C6701, là bảng mạch đích của Bộ công cụ phát triển cho các bộ

xử lý tín hiệu số của TI

2/ Chơng 2: Real-Time Workshop (RTW)

Đây là công cụ phần mềm rất mạnh trong MATLAB để tạo các trình khả thi cho nhiều môi trờng đích khác nhau, trong đó có bảng mạch EVMC6701 (cùng với

Bộ công cụ phát triển) Chơng này có các nội dung chính sau:

-Giới thiệu công dụng, thành phần cấu trúc và các môi trờng đích của RTW.-Xây dựng, tải và chạy trình khả thi trên một số môi trờng đích

-Chế độ ngoài để truyền thông giữa chủ và đích

-Th viện của RTW

-Sử dụng môi trờng đích Generic Real-Time và Real-Time Windows Target

Đây là các môi trờng đích rất thuận tiện để thử nghiệm các ứng dụng xử lí tín hiệu

số, vì nó không đòi hỏi một phần cứng nào khác ngoài máy chủ PC và Board vào/ra ( trong trờng hợp đích là Real-time Windows Target)

Ngoài ra, phần phụ lục còn trình bày các file đợc tạo ra trong quá trình dựng trình khả thi exe từ mô hình của ví dụ 2.1 ( gồm file mã nguồn, các file tiêu đề và

file tham số)

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

Chơng này có các nội dung chính sau:

-Giới thiệu công dụng, thành phần, các thủ tục cơ bản và th viện của bộ công

cụ này

-Cách tạo Project và liên kết với Code Composer Studio để điều khiển ứng dụng từ cửa sổ lệnh của MATLAB và trao đổi dữ liệu thời gian thực

Trang 5

Ngoài ra, trong phần phụ lục còn trình bày toàn bộ tập lệnh của bộ công cụ

để liên kết với CCS và trao đổi dữ liệu thời gian thực RTDX, và các file (file nguồn, file lệnh và file Project) phục vụ cho ví dụ 3-2 của chơng

4/ Chơng 4: Mô phỏng thuật toán điều chế xung mã (PCM)

Mục đích của chơng này là xây dựng một hệ thống xử lí tín hiệu số hoàn chỉnh trên cơ sở bảng mạch đánh giá EVMC6701 để thực hiện các phong pháp điều chế xung mã khác nhau và quy trình thực hiện trên bảng mạch EVMC6701

Nội dung của chơng này gồm:

-Giới thiệu về điều chế xung mã

-Tạo mô hình trong Simulink để thực hiện các chế độ điều chế xung mã khác nhau

-Chạy mô phỏng để lựa chọn tham số và đánh giá kết quả

-Phơng pháp thực hiện thuật toán trên bảng mạch EVMC6701

Vì điều kiện thời gian và trang thiết bị có hạn nên luận văn này không tránh khỏi những thiếu sót.Tôi mong nhận đợc sự góp ý của các thầy và các đồng chí

Tôi xin chân thành cảm ơn sự hớng dẫn tận tình của PGS.TSKH Nguyễn Công Định, TS Nguyễn Ngọc Bích, sự giúp đỡ quí báu của TS Phan Quốc Thắng,

TS Đào Hoa Việt Tôi cũng xin bày tỏ lòng biết ơn với các thầy Khoa Kỹ thuật điều khiển, Học viện KTQS đã tận tình giảng dạy chúng tôi trong hai năm qua Cuối cùng, tôi xin cảm ơn Trung tâm Công nghệ mô phỏng, Học viện KTQS đã tạo điều kiện thuận lợi cho tôi hoàn thành luận văn này

Trang 6

Bộ xử lí RAM Mc DMA Timer Parallel MHz MIPS

Năm 1982, hãng Texas Instruments (TI) giới thiệu bộ xử lí tín hiệu số đầu tiên thuộc họ TMS320, đó là bộ xử lí TMS32010 Đến nay, họ TMS320 của TI gồm các thế hệ sau:

- Các bộ xử lí với dấu phẩy tĩnh C1x, C2x, C2xx, C5x và C54x

- Các bộ xử lí với dấu phẩy động C3x và C4x

- Các bộ đa xử lí C8x

Gần đây, TI đã giới thiệu một họ mới là TMS320C6x.Với tốc độ lên tới 4000 MIPS (million instruction per second: triệu phép tính trên giây), trình biên dịch C hiệu quả, dễ sử dụng và giá cả hợp lí, họ TMS320C6x là giải pháp lí tởng cho các ứng dụng đa kênh và đa chức năng.Các ứng dụng điển hình của họ TMS320C6x là:

-Các trạm lặp cục bộ không dây

-Máy chủ truy cập từ xa

-Hệ thống điện thoại đa kênh

-Chuẩn đoán y tế từ xa

-Nhận biết giọng nói

-Radar

-Xử lí ảnh…

Bảng 1.1:Các thông số cơ bản của bộ xử lí với dấu phẩy động TMS320C6x

Trang 7

1.2 Cấu trúc của các bộ xử lí TMS320C6x

Hình 1.1 là sơ đồ khối của các bộ xử lí C6x Trên một số bộ xử lí, bộ nhớ

ch-ơng trình có thể sử dụng nh bộ nhớ Cache Các ngoại vi nh DMA (direct memory access: truy cập bộ nhớ trực tiếp), EMIF (external memory interface: giao diện bộ nhớ ngoài) và bộ lôgic giảm công suất đi cùng với CPU Còn các ngoại vi khác nh các cổng song song, cổng chủ chỉ có trên một số bộ xử lí

1.2.1 Bộ xử lí trung tâm

Bộ xử lí trung tâm của C6x gồm các đơn vị sau:

-Đơn vị lấy chơng trình (program fetch unit)

-Đơn vị gửi lệnh (instruction dispatch unit, chỉ có trên C64)

-Đơn vị giải mã lệnh (instruction code unit)

-Hai đờng dữ liệu A và B

-Các thanh ghi điều khiển

-Đơn vị logic điều khiển

-Kiểm tra, mô phỏng logic ngắt

Đơn vị lấy chơng trình, gửi lệnh và giải mã lệnh có thể đa 8 lệnh 32-bit tới khối chức năng trong một chu kỳ đồng hồ của CPU (xem phần đặc điểm VELOCITY của C6x).Việc xử lí lệnh đợc thực hiện trong mỗi đờng dữ liệu

Bảng 1 2: Các thông số cơ bản của bộ xử lí với dấu phẩy tĩnh TMS320C6x

TMS3206211-150 4KB/

4KB

Trang 8

Mỗi đờng dữ liệu A và B gồm có:

-Khối chức năng M: Để thực hiện các phép nhân

-Khối chức năng L: Để thực hiện các phép tính số học và logic

-Khối chức năng S: Để rẽ nhánh, thao tác bit và các phép tính số học

-Khối chức năng D: Để thực hiệh các thao tác tải, lu và các phép tính số học

Hình 1.1:Sơ đồ khối của các bộ xử lí C62x/67x

-16 thanh ghi 32-bit (A0-A15 của đờng A và B0-B15 của đờng B) Riêng C64x, mỗi đờng dữ liệu có 32 thanh ghi

-Đờng tải dữ liệu từ bộ nhớ (LD1 và LD2)

-Đờng lu dữ liệu vào bộ nhớ (ST1 và ST2)

-Đờng địa chỉ dữ liệu (DA1 và DA2)

-Đờng dữ liệu chéo (1x và 2x): cho phép các khối chức năng của đờng dữ liệu này truy cập toán hạng 32-bit từ các khối chức năng của đờng kia

Trang 9

Hình 1 2: CPU và các đờng dữ liệu của C67x.

1.2.2 Bộ nhớ

Với bus địa chỉ 32 bit, không gian bộ nhớ có 4 Gbytes.Tuỳ theo kiểu bản đồ

bộ nhớ, không gian này đợc chia thành: bộ nhớ chơng trình trong (PMEM), bộ nhớ dữ liệu trong (DMEM), ngoại vi trong, và 4 không gian bộ nhớ ngoài CE0, CE1, CE2 và CE3 Các bộ xử lí C6x có 2 kiểu bản đồ bộ nhớ: kiểu 0 và kiểu 1 nh hình sau

Trang 10

Địa chỉKiểu 1Kích thước (byte)0000 0000 Ram chươnh trình trong64K

4M0001 0000

Dự trữ0040 0000 CE016M

0140 0000 CE14M0180 0000 Ngoại vi trong4M01C0 0000

Dự trữ4M0200 0000 CE216M0300 0000 CE316M0400 0000

Dự trữ1984M8000 0000 RAM dữ liệu trong64K 4M8001 0000

-Bộ điều khiển DMA (Direct memory acccess: truy cập bộ nhớ trực tiếp).-Bộ điều khiển EDMA (Enhanced direct memory access: Truy cập bộ nhớ trực tiếp mở rộng)

-HPI (Host-Port Interface: Giao diện cổng máy chủ)

-XB (Expansion Bus: Bus mở rộng)

-EMIF (External Memory interface: Giao diện bộ nhớ ngoài)

-Logic cấu hình Boot (Boot Configuration Logic)

Trang 11

-McBSP (Multichannel Buffered Serial Port): Cổng nối tiếp đa kênh có đệm.-Các bộ Timer.

-Bộ chọn ngắt (Interrup Selector )

-Bộ logic công suất nhỏ (Power -Down Logic)

Tuỳ theo mục đích sử dụng, mỗi bộ xử lí có thể chỉ có một số chứ không phải tất cả các ngoại vi trên

1/ Bộ điều khiển DMA.

Bộ điều khiển DMA dùng để truyền dữ liệu giữa các vùng trong bộ nhớ mà không cần sự can thiệp của CPU Các thao tác truyền dữ liệu xẩy ra trên nền (Background) hoạt động của CPU

DMA có 4 kênh khả trình độc lập (hoặc 16 kênh, tuỳ từng bộ xử lí) cho phép

4 (hoặc 16) thao tác khác nhau cùng thực hiện Ngoài ra, kênh phụ thứ 5 cho phép DMA phục vụ yêu cầu từ HPI hoặc XB

DMA có các đặc điểm sau:

-Mức u tiên khả trình: Có thể lập mức u tiên cho từng kênh

-Tạo địa chỉ khả trình: Nội dung các thanh ghi địa chỉ nguồn và đích của mỗi kênh có thể đợc lập trình để không đổi, hoặc tăng, giảm theo một lợng đặt trớc

-Đồng bộ sự kiện: Các thao tác đọc, viết và truyền có thể đợc kích hoạt bởi sự kiện đợc chọn trớc

-Tạo ngắt: Khi kết thúc thao tác truyền khung hoặc khối, cũng nh khi gặp

điều kiện lỗi, mỗi kênh DMA có thể gửi ngắt tới CPU

2/Bộ điều khiển EDMA.

Bộ điều khiển EDMA thực hiện nhiệm vụ nh của DMA nhng EDMA có 16 kênh khả trình độc lập

3/Giao diện cổng máy chủ HPI.

Trang 12

HPI là một cổng song song 16-bit để bộ xử lí chủ truy cập trực tiếp tới không gian bộ nhớ của CPU Máy chủ và CPU trao đổi thông tin qua bộ nhớ ngoài hoặc bộ nhớ trong Máy chủ cũng truy cập đợc ngoại vi ánh xạ trong bộ nhớ.HPI đợc nối với

bộ nhớ trong thông qua một nhóm thanh ghi Máy chủ cũng nh CPU có thể sử dụng thanh ghi điều khiển HPI (HPIC: HPI control Register) để cấu hình giao diện

Máy chủ dùng thanh ghi địa chỉ chủ (HPIA) và thanh ghi dữ liệu chủ (HPID)

để truy cập không gian bộ nhớ trong của thiết bị Kết nối với CPU đợc thực hiện thông qua bộ điều khiển DMA

Hình 1.3:Sơ đồ khối HPI

HPI cung cấp dữ liệu 32-bit cho CPU thông qua giao diện ngoài 16-bit bằng cách kết hợp truyền nối tiếp 16-bit Bus dữ liệu 16-bit, HD[15:0] để truyền dữ liệu.Khi máy chủ truy cập ghi, byte HBE[1:0] kích hoạt việc chọn byte trong nửa từ 16-bit đợc ghi Khi truy câp đọc thì không sử dụng byte này mà tín hiệu HHWIL sẽ báo nửa từ thứ nhất hay thứ 2 đang đợc truyền

Trang 13

Hai chân dữ liệu (HDS1 và HDS2) cùng với chân địa chỉ (HAS) và chân chọn Đọc/ Ghi (HR/W) kích hoạt HPI giao diện với các thiết bị chuẩn công nghiệp của máy chủ.

Chân HDRY cho phép chèn trạng thái chờ của máy chủ Trạng thái này có thể là cần thiết tuỳ thuộc vào mức trễ khi truy cập bộ nhớ thông qua HPI, cũng nh tốc độ truy cập của máy chủ

4/Giao diện bộ nhớ ngoài EMIF.

EMIF hỗ trợ giao diện với một số thiết bị ngoài cho phép tăng không gian bộ nhớ chơng trình và dữ liệu Các kiểu bộ nhớ đợc hỗ trợ gồm:

-các bộ nhớ đồng bộ SBSRAM, SDRAM

-các bộ nhớ không đồng bộ SRAM, ROM và FIFO

-các thiết bị dùng chung bộ nhớ ngoài

Hình 1.4:Sơ đồ khối của EMIF

Trang 14

Để minh họa, ta xem xét giao diện EMIF với SDRAM (hình 1-6).

Các chân EA bắt đầu từ chân thứ 13 đợc nối với các chân địa chỉ của SDRAM bắt đầu từ chân 11 Kí hiệu m là 0 đối với giao diện 16M-bit, và là 2 đối với giao diện 64M-bit Các chân điều khiển của SDRAM bị khoá bởi sờn lên của tín hiệu SDCLK để xác định thao tác hiện hành Các tín hiệu này chỉ hợp lệ nếu tín hiệu chọn SDRAM ở mức thấp

Hình 1.5: Giao diện EMIF với SDRAM

5/Logic cấu hình Boot.

Các bộ xử lí C6x có các cấu hình Boot khác nhau để khởi động thiết bị Các cấu hình này xác định hoạt động của C6x sau khi xác lập lại Chúng thực hiện các nhiệm vụ sau:

-Xác định kiểu bản đồ bộ nhớ (Bộ nhớ ngoài hay bộ nhớ trong bắt đầu từ địa chỉ 0)

-Xác định kiểu bộ nhớ ngoài bắt đầu từ địa chỉ 0 (Nếu bộ nhớ ngoài bắt đầu

từ địa chỉ này)

Quá trình Boot khởi động bộ nhớ từ địa chỉ 0 trớc khi CPU chạy

Các tín hiệu BOOTMODE[4:0] sẽ xác định cấu hình Boot Chúng bị khoá bởi sờn lên của tín hiệu RESET Một số bộ xử lí C6x có các chân riêng cho

BOOTMODE[4:0] Một số khác lại dùng các đờng HD[4:0] của HPI hoặc XD[4:0] của Bus mở rộng

Có 3 loại cấu hình Boot:

Trang 15

-Không dùng Boot: Đơn giản là CPU bắt đầu chạy từ địa chỉ 0.

-Boot từ ROM: Một phần bộ nhớ ngoài đợc copy vào địa chỉ 0 bởi DMA/EDMA

-Boot từ máy chủ: Máy chủ khởi động không gian bộ nhớ của CPU thông qua HPI hoặc Bus mở rộng

6/Cổng nối tiếp đa kênh có đệm McBSP.

McBSP dựa trên cơ sở giao diện cổng nối tiếp chuẩn Giao diện cổng nối tiếp chuẩn cung cấp:

-Truyền thông song công

-Thanh ghi dữ liệu đệm đúp

-Cấu hình khung và tạo nhịp đồng hồ độc lập cho thu và phát

-Giao diện trực tiếp với các bộ mã hoá (Codec) chuẩn công nghiệp, chip giao diện tơng tự AIC (Analog Interface Chip) và các thiết bị nối tiếp A/D và D/A khác

Ngoài ra McBSP còn có các khả năng sau:

-Giao diện trực tiếp với các thiết bị ST-BUS, IOM-2, AC97 và SPI

-Thu, phát đa kênh (tới 128 kênh)

-Lựa chọn kích thớc dữ liệu :8, 12, 16, 20, 24 hoặc 32-bit

-Nén, giãn dữ liệu theo luật μ và A

McBSP gồm có đờng dữ liệu và đờng điều khiển Có 7 chân cắm nối 2 đờng này với thiết bị ngoài (xem hình 1.6)

Dữ liệu đợc truyền thông với thiết bị qua chân DX (để phát) và chân DR (để thu) Tín hiệu điều khiển là nhịp đồng hồ và đồng bộ khung đợc truyền qua các kênh CLKX, CLKR, FSX, và FSR Thiết bị ngoại vi liên lạc với McBSP nhờ các thanh ghi 32-bit Các thanh ghi này đợc truy cập thông qua Bus ngoại vi trong CPU hoặc DMA đọc dữ liệu nhận đợc trong thanh ghi nhận dữ liệu DRR, và ghi dữ liệu cần phát vào thanh ghi phát dữ liệu DXR Dữ liệu trong DXR đợc dịch (shift) tới chân

DX thông qua thanh ghi dịch phát XS Tơng tự, dữ liệu nhận đợc từ chân DR đợc dịch vào thanh ghi dịch thu, và ghi vào thanh ghi đệm thu RBR Nội dung của RBR sau đó đợc ghi vào DRR và sẵn sàng cho CPU hoặc DMA đọc Điều này cho phép việc di chuyển dữ liệu trong và truyền thông dữ liệu ngoài đợc thực hiện đồng thời

Trang 16

Các thanh ghi còn lại đợc truy cập bởi CPU và tạo nên cơ cấu điều khiển của McBSP

-SPCR: Thanh ghi điều khiển cổng nối tiếp

-RCR: Thanh ghi điều khiển thu

-XCR: Thanh ghi điều khiển phát

-SRGR: Thanh ghi của bộ tạo tốc độ lấy mẫu

-MCR: Thanh ghi đa kênh

-RCER: Thanh ghi kích hoạt kênh thu

-XCER: Thanh ghi kích hoạt kênh phát

-PCR: Thanh ghi điều khiển chân

Khối điều khiển gửi ngắt tới CPU và DMA thông qua 4 tín hiệu sau:

Hình 1.6: Sơ đồ khối của McBSP

Trang 17

-RINT: ngắt báo thu.

-XINT: Ngắt báo phát

-REVT: Đồng bộ thu

-XEVT: Đồng bộ phát

7/Timer.

C62x và C67x có 2 Timer công dụng chung Mỗi Timer có 2 chế độ ở chế

dộ đồng hồ trong, Timer có thể gửi tín hiệu bắt đầu cho bộ biến đổi A/D ngoài, hoặc kích bộ điều khiển DMA bắt đầu truyền dữ liệu

ở chế độ đồng hồ ngoài, Timer có thể đếm sự kiện và ngắt CPU sau một số ợng sự kiện đặt trớc

sử lí DSP

EVMC6x đợc thiết kế để hoạt động ở chế độ PCI trong, khi đợc cắm vào khe PCI của máy chủ PC Nó cũng có thể hoạt động bên ngoài PC nếu sử dụng thêm khối nguồn ngoài và bộ Emulator XDS510 hoặc XDS510WS

Hình 1.8 trình bày bảng mạch vật lí của EVMC6701

1.3.1 Đặc điểm của bảng mạch EVMC6x

Chú ý: Các thông số dới đây là của EVMC6701

-Dùng bộ xử lí dấu phẩy động C6701

-2 đồng hồ Quad có các chế độ nh sau:

OSC A : x1=25MHz x4=100MHz

Trang 18

OSC B : x1=33.25MHz x4=133MHz-Giao diÖn kÕt nèi thµnh phÇn ngo¹i vi PCI (Peripheral Component Interconnect).

Trang 19

Hình 1.7: Sơ đồ bản mạch vật lí của EVMC6701.

1.3.2 Tổng quan về phần cứng của EVMC6701

Trang 20

Hình 1.8: Sơ đồ khối của EVMC6701.

-Bộ xử lí DSP: Bảng mạch EVMC6701 đợc xây dựng trên cơ sở bộ xử lí C6701 đã đợc trình bày trong phần 1.2

-Đồng hồ: Đợc trình bày trong phần 1.3.1

-Bộ nhớ ngoài: gồm một bank SBSRAM 64Kx32, 133-MHz và 2 bank SDRAM 4Mx32, 100-MHz

Ngoài ra, có thể bổ xung bộ nhớ thông qua giao diện mở rộng bộ nhớ

Nói chung EVMC7601 sử dụng kiểu bản đồ bộ nhớ 1 (bảng 1.4)

Trang 21

Bảng 1.4:Bản đồ bộ nhớ kiểu 1 của EVMC6701

-Các giao diện mở rộng:EVMC6701 cung cấp các giao diện bộ nhớ ngoài và giao diện ngoại vi ngoài

-Giao diện PCI: EVMC6701 có Bus cục bộ PCI 2.1 cho phép máy chủ truy cập bộ điều khiển JTAG, giao diện HPI và các thanh ghi điều khiển /trạng thái của

Trang 22

DSP Giao diện PCI cho phép gỡ rối trên EVM mà không cần sử dụng bộ Emulator XDS510, cũng nh cho phép máy chủ truy cập toàn bộ không gian bộ nhớ của DSP thông qua Bus PCI.

-Mô phỏng dùng JTAG: Bảng mạch EVMC6701 cung cấp:

+Mô phỏng nhúng JTAG thông qua bộ điều khiển kiểm tra Bus (TBC:Test Bus Controller) cho phép gỡ rối không cần bộ Emulator XDS510

+Đầu cắm (header) hỗ trợ bộ Emulator XDS510, cho phép gỡ rối thông qua thiết bị này khi EVMC6710 hoạt động ở chế độ ngoài PC

-Thiết bị logic khả trình (CPLD: Complex Programmable Logic Device): để thực hiện các hàm logic của ngời dùng

-Giao diện audio với bộ mã hoá 16-bit

-Nguồn: Cung cấp điện áp 1.8v hoặc 2.5v cho lõi DSP, 3.3v cho ngoại vi, bộ nhớ, thiết bị logic khả trình và bộ đệm, 5v cho các thành phần audio

-Bộ giám sát điện áp và điều khiển Reset: Để giám sát các mức điện áp và cung cấp tín hiệu Reset.Thiết bị logic khả trình cũng có thể tạo điều khiển Reset nhờ các tín hiệu vào từ nút Reset bằng tay, từ bộ điều khiển PCI, và từ tín hiệu điều khiển Reset của phần mềm

-Các tuỳ chọn của ngời dùng: Có 3 đèn LED Đèn xanh báo điện áp 5v, 2đèn

đỏ còn lại tuỳ thuộc ngời dùng (công dụng của 2đèn này đợc chỉ rõ trong chơng 3)

1.3.3 Tổng quan về phần mềm của EVMC6x

Phần mềm của EVMC6x gồm phần mềm hỗ trợ máy chủ và phần mềm hỗ trợ DSP

Trang 23

-Tiện ích tải COFF (evm6xldr.exe): Để tải và thực hiện trình exe trên bản mạch.

-Th viện liên kết động Win 32 DLL (evm6x.dll): Cho phép truy cập phần mềm để điều khiển và truyền thông với bảng mạch

-Mã nguồn minh họa cách sử dụng th viện liên kết động

Phần mềm hỗ trợ DSP gồm:

-Trình điều khiển McBSP (mcbspdrv.c và mcbspdrv.h): Để điều khiển cổng nối tiếp đa kênh có đệm McBSP

-Th viện bộ tạo mã (codec.c và codec.h): Gồm các chơng trình con (Routine)

để cấu hình và điều khiển bộ mã hoá audio CS4231A

-Th viện hỗ trợ bản mạch (board.c và board.h): Gồm các thờng trình (Routine) để cấu hình và điều khiển bản mạch

-Mã nguồn minh hoạ cách sử dụng McBSP, bộ mã hoá và các hàm hỗ trợ bảng mạch

1.4 Kết luận chơng 1.

Chong này đã trình bày đợc các phần sau:

-Tính năng, tổ chức phần cứng của bộ xử lí C6x, trong đó, các hình vẽ và số liệu chủ yếu nhằm vào bộ xử lí C6701 Sỡ dĩ ta chọn bộ xử lí C6701 vì nó là trung tâm của bản mạch EVMC6701

-Bản mạch vật lí của modul đánh giá EVMC6701 cùng với công dụng, tính năng của từng thành phần trên bảng mạch Từ đây, ta có cái nhìn sơ bộ về cách thiết

kế một hệ thống sử lí tín hiệu số dùng DSP họ TMS320

-Khái quát về phần mềm hỗ trợ EVMC6701 với công cụ phần mềm là Code Composer Studio Hãng Texas Instruments đa ra công cụ khác để phát triển và đánh gía các ứng dụng xử lí tín hiệu số trên C6x Đó là Bộ công cụ thiết kế cho các bộ DSP của TI (Developer’s Kit For TI DSP) và là mục tiêu ngiên cứu của chơng 3 (cùng với bản mạch EVMC6701) trên môi trờng MATLAB

Trang 24

Chơng 2: Real-Time Workshop

Trong chơng này, ta sẽ xem xét tổng quan về Real-Time Workshop (RTW), chế độ ngoài, và các môi trờng đích là Generic Real-time Target và Real-Time Win dows Target Riêng đích là DSP Target kèm theo các phần mềm tơng ứng của

TI sẽ đợc nghiên cứu kĩ trong chơng 3

2.1 Giới thiệu chung về Real-Time Workshop

2.1.1 Công dụng và yêu cầu của Real-Time Workshop

Real-Time Workshop dùng để tạo mã tối u, tùy biến từ mô hình Simulink Thông qua các makefile hỗ trợ định đích, RTW dựng (build) chơng trình cho phép:

Real-Time Workshop cần các phần mềm sau:

Trang 25

Ngoài ra, để mở rộng khả năng của MATLAB và Simulink ta có thể sử dụng các Toolbox và blockset: DSP blockset, Fixed-Point Blockset, Dials & Gauges blockset, Communication Toolbox, Control System Toolbox,Stateflow…

2.1.2 Khái niệm chủ/đích

- Đích ( Target): Là môi trờng (phần cứng hoặc hệ điều hành) để chạy mã tạo

ra từ RTW Quá trình chọn môi trờng gọi là định đích (Targeting)

- Máy chủ ( Host ): Là hệ thống để chạy MATLAB, Simulink và RTW, sử dụng các công cụ dựng (build) trên máy chủ để tạo mã và trình khả thi, sau đó tải và chạy trên đích

Nói chung, có 2loại đích: Các đích tạo mẫu nhanh (Rapid Prototyping Target) và các đích nhúng (Embedded Target hoặc Production Target) Mã tạo ra cho đích tạo mẫu nhanh hỗ trợ khả năng giám sát và hiệu chỉnh tham số mô hình thông qua chế độ ngoài của Simulink Đích nhúng sử dụng dạng mã nhúng Mã này

đợc tối u hoá cao và thích hợp triển khai cho các hệ thống sản phẩm Đối với mã nhúng, ta có thể thêm các điểm vào (entry point) để giám sát và hiệu chỉnh tham số

RTW cung cấp nhiều môi trờng đích có sẵn Ngoài ra, ta cũng có thể tạo môi trờng đích của ngời dùng Trong chơng này, ta chỉ xem xét các đích là: Generic Real-time Target và Real-Time Windows Target Đây là hai đích thờng đợc dùng nhiều nhất khi thiết kế hệ thống

2.1.3 Các thành phần của Real-Time Workshop

RTW gồm các thành phần sau (hình 2.1):

1/ Bộ tạo mã từ mô hình Simulink: Để tự động tạo mã (C hoặc Ada) từ mô hình Simulink

2/ Quá trình tạo đích (Make Process): Cho phép tạo đích của ngời dùng

3/ Chế độ ngoài của Simulink: Cho phép truyền thông giữa Simulink và

ch-ơng trình đang đợc thực hiện trên môi trờng đích, thông qua việc hiệu chỉnh tham số

và giám sát dữ liệu theo thời gian thực

4/ Hỗ trợ định đích: RTW cung cấp một số môi trờng đích có sẵn bao gồm cả Tornado và DOS Ngoài ra, đích Real -Time Windows và xPC cho phép biến một máy tính PC thành một hệ xử lý thời gian thực

Trang 26

5/ Mô phỏng nhanh: thông qua các đích là Simulink Accelerator, S-function hoặc Rapid Simulation ta có thể tăng tốc quá trình mô phỏng từ 5 đến 20 lần Trình khả thi dựng cho các đích này sẽ bỏ qua chế độ mô phỏng thông thờng của Simulink và

đợc tối u ở mức cao để chỉ thực hiện thuật toán trong mô hình

Giám sát và hiệu chỉnh tham số của người dùng

Đích nhúng

Hình 2.1: Các thành phần cơ bản của RTW

Trang 27

Mã nhúng

Giao diện

MEX-file

Giao diện thực thi chung

Giao diện thực thi

đặc dụng

Giao diện thực thi mô phỏng nhanh

Giao diện thực thi nhúng.DLL hoặc so

dùng với

Simulink

Máy tính hoặc bộ xử lý thông dụng

VME, PCI, ISA, các môi trường khác

Vi điều khiển hoặc bộ xử lý nhúng

Máy trạm thi hành

Hình 2.2: Mối quan hệ giữa các dạng mã (code format) với đích

Trang 28

-Dạng mã Function/ Acceleration: Dạng mã này đợc dùng cho đích là Function theo giao diện lập trình ứng dụng C MEX S-Function API.

S Dạng mã thời gian thực (Real-Time Code Format): Dạng mã này rất thích hợp cho tạo mẫu nhanh và chỉ viết bằng ngôn ngữ C Nó hỗ trợ rất mạnh khả năng giám sát và hiệu chỉnh tham số nhờ kết nối dễ dàng với chế độ ngoài của Simulink

-Dạng mã thời gian thực Malloc (Real-Time Malloc Code Format): Dạng mã này tơng tự nh dạng mã thời gian thực, chỉ khác là nó cấp phát bộ nhớ động và cho phép kết hợp nhiều mô hình trong một trình khả thi

-Dạng mã nhúng (Embedded Code Format): Dạng mã này dành cho các đích nhúng, có thể bằng ngôn ngữ C hoặc Ada Dạng mã này đợc tối u hóa cao để tăng tốc độ thực hiện và giảm kích thớc bộ nhớ cần dùng

2.1.5 Quá trình tạo mẫu nhanh (Rapid Prototyping)

RTW hỗ trợ quá trình tạo mẫu nhanh , đó là quá trình cho phép:

- Thiết kế mô hình trong Simulink

- Chạy mô phỏng và đánh giá sự hoạt động của mô hình hệ thống

- Tinh chỉnh mô hình

- Khi kết quả thỏa mãn yêu cầu đặt ra, ta sử dụng RTW để tạo mã C khả tải (Downloadable) từ mô hình Sử dụng chế độ ngoài của Simulink, ta có thể tiếp tục chỉnh tham số và mô hình, chạy mã tạo ra cho đén khi đạt đợc kết quả mong muốn

Đến đây, quá trình tạo mẫu nhanh kết thúc Sau đó, ta có thể ứng dụng vào sản phẩm

Quá trình này đợc minh hoạ qua sơ đồ sau (hình 2.3)

Trang 29

Thuật toán Tạo mô hình trong

Simulink

Chạy mô phỏng và phân tích kết quả nhờ Simulink và MATLAB

Dựng, tải và chạy trên phần cứngthông qua Real-time-Workshop

Phân tích kết quả và chỉnh mô hình thông qua chế độ ngoài

Khôngcó

Quá trình thiết kế và tạo mẫu nhanh

Hình 2.3: Quá trình thiết kế tạo mẫu nhanh

Trang 30

2.1.6 Quá trình xây dựng chơng trình tự động trên Real-Time Workshop

Real-Time-Workshop build

Target Language Compiler

Chương trình TLC

System target file

Block target file

Trang 31

Quá trình dựng tự động của RTW sẽ tạo ra chơng trình ứng dụng thời gian thực trong các môi trờng đích khác nhau (hình 2.4) Quá trình dựng sử dụng tiện ích

make để kiểm soát việc biên dịch và kết nối mã nguồn File lệnh sẽ điều khiển quá

trình dựng File lệnh mặc định là make_rtw.

Quá trình dựng gồm các bớc sau:

1/ Phân tích và biên dịch file mô tả mô hình

ở bớc này, RTW đọc file mô hình (ví dụ model mdl) và biên dịch thành một

file mô tả trung gian có tên là model.rtw File này đóng vai trò là đầu vào cho quá trình dựng tiếp theo

2/ Tạo mã bằng trình biên dịch ngôn ngữ đích TLC (Target Language Compiler)

Trình biên dịch TLC là một ngôn ngữ lập trình, dùng để biến đổi file mô tả mô hình thành mã đặc trng của đích Khi đó trình biên dịch thực hiện một chơng trình TLC (TLC program) gồm một số file đích (Target file tlc)

Chơng trình TLC xác định cách tạo mã từ mô hình đợc mô tả trong file model.rtw

b) Th viện hàm của TLC gồm các hàm hỗ trợ quá trình tạo mã

Trình biên dịch đích bắt đầu bằng cách đọc file model.rtw Sau đó biên dịch

và thực hiện các lệnh trong các file đích, đầu tiên là file hệ thống đích, sau đó là các file khối đích Đầu ra của TLC là mã nguồn (C hoặc Ada) của mô hình

3/ Tạo Makefile tuỳ biến

Bớc thứ ba trong quá trình dựng là tạo Makefile tuỳ biến (model.mk) File

này hớng dẫn tiện ích Make trong việc biên dịch và liên kết mã nguồn RTW tạo makefile, model.mk, từ Makefile mẫu của hệ thống(System.tmf) bằng cách sao

chép Makefile mẫu, trong đó, các thẻ khoá (Token) sẽ đợc cập nhật Ví dụ:

Trang 32

MODEL_NAME (Tên của mô hình), S-Function (Danh sách các hàm S-Function), NUMST (Số lợng thời gian lấy mẫu), NCSTATES (Số lợng các trạng thái liên tục)

Makefile mẫu đợc thiết kế cho từng loại môi trờng đích File này cho phép ta xác định trình biên dịch, các tuỳ chọn của trình biên dịch và các thông tin bổ sung

đợc sử dụng trong quá trình tạo file khả thi

Ta có thể tuỳ biến quá trình dựng bằng cách thay đổi các tham số trong Makefile mẫu hoặc viết một Makefile mẫu của riêng mình

4/ Tạo chơng trình khả thi exe (Executable)

Tạo chơng trình khả thi là bớc cuối cùng của quá trình dựng và đợc bắt đầu sau khi file model.mk đợc tạo ra Đến thời điểm này, quá trình dựng sẽ kích hoạt tiện

ích make và tiện ích make sẽ chạy trình biên dịch, sau đó tải chơng trình khả thi vào

đích

Các file đợc tạo ra trong quá trình dựng

Các file chính sau đây đợc tạo ra trong quá trình dựng Ngoài ra, tuỳ theo các tuỳ chọn tạo mã, quá trình dựng có thể tạo ra các file khác

- model.mdl: là file do Simulink tạo ra

- model.rtw: là file do RTW tạo ra

- model.c: tạo ra bởi trình biên dịch đích TLC, là mã nguồn C ứng với file model.mdl

- model.h: tạo ra bởi trình biên dịch đích TLC là file tiêu đề (header file) chứa thông tin về kết nối giữa các khối trong mô hình

- model-export.h: tạo ra bởi trình biên dịch đích TLC là file tiêu đề (header file) chứa các ký hiệu tín hiệu tham số và các hàm

- model.mk: tạo ra bởi quá trình dựng của RTW, là Makefile tuỳ biến đợc

Trang 33

này chứa các file: model.rtw, model.h, model_export.h, model.c, model.mk và các file khác phụ thuộc vào các tuỳ chọn của quá trình dựng.

Bảng 2-1 liệt kê các file dùng để dựng chơng trình cho một số đích sau:

gtwin.tlc rtwin.tmp make_rtw rtwin_ext

TI EVM 67x Target evm67x.tlc evm67x.tmp make_rtw

TI Code Composer

Studio Target

ccs.tlc ccs.tmp

Bảng 2.1: Các file để dựng trình khả thi và hỗ trợ chế độ ngoài của một số đích

2.2 Môi trờng đích Generic Real-Time Target (GRT)

Đích GRT đợc dùng để kiểm tra, đánh giá mã sinh từ mô hình Simulink ở giai đoạn thiết kế ban đầu, bằng cách so sánh và phân tích kết quả chạy mô hình Simulink và kết quả chạy trình khả thi Để thực hiện điều này, ta lu giữ lợng ra, trạng thái và thời gian vào file dữ liệu, sau đó tải file này vào MATLAB WORKSPACE để xử lí Đích GRT không đòi hỏi bất cứ một thiết bị nào khác ngoài máy chủ PC

Ta xem xét cách sử dụng đích GRT qua ví dụ sau:

Ví dụ 2.1

1/Tạo mô hình có tên là testgrt trong Simulink nh sau:

Hình 2.5: Sơ đồ minh họa sử dụng đích GRT

-Đặt các tham số cho khối Signal Generator ( ví dụ : dạng sóng vuông, biên

độ 1, tần số 20, đơn vị rad/sec)

Trang 34

-Đặt các tham số mô phỏng ( ví dụ: thời gian bắt đầu là 0.0, thời gian kết thúc

là 10.0, Type bắt buộc phải là fixed-step, Solver là ode5, Fixed Step size là 0.001, và

4/ Cấu hình khối Scope để lu dữ liệu vào MAT-file

Mở hộp thoại khối Scope, kích chọn Save Data to Workspace, đặt tên biến là

rt_yout, Format là array.

5/ Dựng và chạy chơng trình khả thi

-Quá trình dựng sẽ tạo file khả thi testgrt.exe, file mã nguồn testgrt.c, các file

tiêu đề tesrgrt.h, testgrt_export.h các file này đợc đa ra trong phần phụ lục để tham

khảo

-Chạy trình khả thi từ MATLAB bằng lệnh:

!testgrt

Lợng ra rt_yout sẽ đợc lu trong testgrt.mat

6/ Cuối cùng, ta có thể so sánh kết quả chạy mô phỏng với kết quả chạy trình khả thi của cùng một mô hình testgrt bằng lệnh:

max(abs(rt_yout - yout))

2.3 Chế độ ngoài (external mode)

Chế độ ngoài cho phép hai hệ thống chủ và đích truyền thông với nhau Chế

độ ngoài dựa trên cấu trúc Client/ Server, trong đó Simulink đóng vai trò Client và

đích đóng vai trò Server

- Chế độ ngoài cho phép chỉnh các tham số khối theo thời gian thực Simulink

tự động tải các tham số vào chơng trình đích Điều đó cho phép chỉnh tham số mà

Trang 35

không phải biên dịch lại chơng trình và mô hình của Simulink trở thành giao diện

đầu cuối cho chơng trình đích

- Chế độ ngoài cho phép quan sát và lu giữ lợng ra của khối và hệ con Ta có thể giám sát và lu dữ liệu từ chơng trình đích mà không cần phải viết mã giao diện

Ta cũng có thể ấn định điều kiện để tải dữ liệu từ đích tới hệ thống chủ Ví dụ, dữ liệu chỉ đợc tải về khi một tín hiệu nào đó cắt điểm không theo hớng dơng

Chế độ ngoài hoạt động đợc là nhờ kênh truyền thông giữa Simulink và mã tạo ra của RTW Kênh này thực hiện nhờ lớp tải (Transport Layer) Simulink và mã tạo ra là độc lập với lớp tải Điều đó cho phép các đích khác nhau sử dụng các lớp tải khác nhau Ví dụ đích GRT, GRT malloc và Tornado hỗ trợ truyền thông chủ/

đích thông qua TCP/IP, còn đích xPC hỗ trợ cả RS 232 và TCP/IP và đích Real – Time windows Target thực hiện truyền thông qua việc phân chia bộ nhớ Các file hỗ trợ liên lạc chủ / đích cho một số đích đợc trình bày trong bảng 2-1

Các đích hỗ trợ chế độ ngoài gồm:

- Generic Real-Time

- Generic Real-Time Malloc Target

Có thể sử dụng các khối sau để nhận và quan sát dữ liệu nhận đợc từ chơng trình đích:

- Các khối Scope

- Các khối trong Dials & Gauges Blockset

- Các khối Display

- Các khối To Workspace

- Các khối S-Function của ngời dùng

Ta sẽ xem xét quá trình dựng, chạy, chỉnh tham số và lu dữ liệu thông qua chế độ ngoài trong ví dụ của phần 2.4

2.4 Môi trờng đích Real-Time Windows Target (RTWin)

RTWin là giải pháp dùng máy tính PC để tạo mẫu và thử các hệ thống thời gian thực Đó là môi trờng mà một máy tính vừa đóng vài trò máy chủ vừa đóng vai trò máy đích Đích này cho phép kết nối máy tính PC với hệ thống thực bên ngoài,

Trang 36

trong đó máy tính PC có thể đóng vai trò là một bộ điều khiển hoặc để thu nhận và

xử lí dữ liệu

2.4.1 Các đặc điểm của RTWin

1/ Lõi thời gian thực (Real – Time Kernel )

a) Hoạt động và cài đặt lõi

RTWin sử dụng lõi thời gian thực để bảo đảm các ứng dụng chạy đúng trong thời gian thực Lõi thời gian thực chạy ở mức Ring zero và sử dụng đồng hồ trong

PC làm nguồn thời gian Lõi hoạt động nh sau: Lõi chặn bắt các ngắt (Interrupt) từ

đồng hồ của PC trớc khi hệ điều hành nhận đợc ngắt Sau đó lõi sử dụng ngắt này để kích hoạt thực hiện mô hình đã đợc biên dịch Kết quả là lõi làm cho ứng dụng thời gian thực có mức u tiên cao nhất

Để lấy mẫu chính xác, lõi sẽ lập trình lại cho đồng hồ PC ở tần số cao hơn

Đồng thời lõi cũng gửi ngắt định thời gian cho hệ điều hành theo tốc độ ngắt ban

Trang 37

ngoài qua kênh ra của board vào/ ra RTWin hỗ trợ hơn 100 board vào/ra ISA, PCI

và PCMCIA

Các khối điều khiển vào/ ra đợc cung cấp trong th viện rtwin Lib của RTWin (gồm các khối Analog Input, Analog Output, Digital Input, Digital Output ) và trong

th viện DosLib của Real–Time Workshop

2/ Thu nhận (acquisiton) và phân tích dữ liệu:

Sử dụng các khối Scope và chế độ ngoài của Simulink để nhận, hiển thị và lu dữ liệu theo các phơng án sau:

a) Theo dõi dữ liệu (Signal Tracing): Cho phép nhận và quan sát dữ liệu khi đang chạy ứng dụng

b) Lu dữ liệu (Signal logging): Cho phép nhận và lu dữ liệu vào các biến của MATLAB Workspace hoặc các M-file Sau khi dừng chạy ứng dụng ,dùng các dữ liệu này để vẽ đồ thị và phân tích kết quả

3/ Hiệu chỉnh tham số

Sử dụng chế độ ngoài để kết nối mô hình Simulink với ứng dụng thời gian thực Khi đó mô hình Simulink trở thành giao diện đồ họa ngời dùng (GUI), cho phép thay đổi các tham số của ứng dụng thời gian thực thông qua việc thay đổi tham

số trong mô hình Simulink Có thể thay đổi các tham số này trớc hoặc trong khi chạy ứng dụng

4/ Buffer và truyền dữ liệu

Trong mỗi khoảng thời gian lấy mẫu, Simulink lu các điểm dữ liệu liên tiếp nhau trong bộ nhớ cho đến khi đầy Buffer Sau đó, một Buffer dữ liệu đợc chuyển về MATLAB thông qua chế độ ngoài của Simulink hoặc đợc lu vào MAT-file Một MAT-file lu một Buffer dữ liệu MATLAB sẽ tự động tạo các file liên tiếp để lu từng Buffer dữ liệu Tuy nhiên cần chú ý rằng, khi truyền một Buffer dữ liệu về MATLAB thì Simulink dừng thu nhận các dữ liệu mới, nên xẩy ra hiện tợng là, giữa các Buffer dữ liệu, có thể mất một số điểm dữ liệu

Các file để dựng chơng trình và hỗ trợ chế độ ngoài cho đích RTWin đợc trình bày trong bảng 2.1

Trang 38

2.4.2 Các thủ tục cơ bản khi sử dụng đích RTWin và chế độ ngoài.

Ta xem xét các thủ tục cơ bản thông qua ví dụ 2.2 sau

1/ Tạo mô hình sau trong Simulink và lu vào file có tên là testrtwin.mdl

Hình 2.6: Sơ đồ minh họa sử dụng đích RTWin và chế độ ngoài

- Đặt tham số cho khối Signal generator và các tham số mô phỏng nh ví

Real-Time WorkshopGRT Generation Option External Mode

4/ Tạo ứng dụng thời gian thực (trình khả thi)

- Trong cửa sổ Simulink từ thực đơn Tools, chọn Real – Time workshop và kích Build Model Quá trình dựng sẽ tạo ra trình khả thi testrtwin.rwd Đây là file

nhị phân đợc chạy với lõi của RTWin

5/ Kết nối mô hình Simulink với ứng dụng thời gian thực Kết nối này cho phép dùng mô hình Simulink nh là giao diện GUI cho ứng dụng thời gian thực

- Trong cửa sổ Simulink, từ thực đơn Tools, chọn External Target Interface.

Và trong trờng MEX-file for External Interface, nhập rtwinext là file hỗ trợ chế độ

ngoài của RTWin

Trang 39

Chữ X gán cho tín hiệu sẽ đợc thu thập, chữ T gán cho tín hiệu kích.

-Trong hộp Duration nhập số mẫu trong vùng đệm dữ liệu Ví dụ nếu tốc độ

mẫu là 1000 mẫu/giây và Stop time là 10 giây thì ta có thể nhập 10000

- Chọn Arm When connect to Target.

Chú ý: Nếu không chọn mục này thì dữ liệu sẽ không hiển thị trên khối Scope

- Kích Apply

6/ Kích hoạt chế độ ngoài

chọn External từ thực đơn Simulation Mode hoặc External từ từ thực đơn

Simulation

7/ Chạy ứng dụng thời gian thực

- Từ thực đơn Simulation, kích External và Connect to Target MATLAB

hiển thị dòng nhắn:

Model testrtwin Loaded

- Từ thực đơn Simulation, kích Start Real-Time Code hoặc nút ♦ để chạy ứng dụng thời gian thực và hiển thị kết quả trên khối Scope Chú ý rằng, ở đây ta đang chạy ứng dụng thời gian thực (trình khả thi) chứ không phải mô hình Simulink

- Để dừng chơng trình, kích Stop Real-Time Code MATLAB hiển thị dòng

nhắn:

Model testrtwin unloaded8/ Lu dữ liệu vào MATLAB Workspace

Để lu dữ liệu ta phải dùng khối Scope trong mô hình Simulink

- Nhập thuộc tính thích hợp cho khối Scope

- Chọn Save data to workspace Trong hộp Variable name, nhập tên biến của

MATLAB Tên mặc định là Scope Data

- Trong hộp format chọn Structure with time, Structure hoặc Matrix Trong ví

dụ này ta chọn Structure with time.

- Kích Apply hoặc OK

Trang 40

Chú ý: Khi thay đổi các thuộc tính của Scope, ta phải kích Apply hoặc OK và

dựng lại (rebuild) Sau khi chạy, ứng dụng thực dữ liệu đợc lu vào MATLAB Workspace Và để vẽ đồ thị, ví dụ cho 1000 điểm, ta nhập

plot (Scope Data Time (1.1000), ScopeData Signals Values (1: 1000))

- Dữ liệu ScopeData không tự động đợc lu vào đĩa cứng mà ta phải dùng

lệnh:

Save ScopeData

MATLAB sẽ lu dữ liệu vào file ScopeData.mat

9/Lu dữ liệu trực tiếp vào đĩa

Việc lu dữ liệu vào Mat-file trên đĩa đợc thực hiện nh sau:

- Đầu tiên dữ liệu đợc lu trong MATLAB WorkSpace

- Sau đó dữ liệu đợc lu vào Mat-file

Do đó để lu dữ liệu trực tiếp vào đĩa, ta thực hiện bớc 1 nh khi lu dữ liệu vào MATLAB WorkSpace Sau đó nhập các thông số cho hộp thoại External Data archiving nh sau:

- Kích nút Data archiving của hộp thoại External Data archiving.

- Chọn Enable archiving

- Trong hộp File, nhập tên file để lu dữ liệu, ví dụ tên file là data.

MATLAB sẽ tạo ra các file là data_ 0, data_1.v.v để l… u dữ liệu, số file bằng

Ví dụ trong data_0 biến có tên là Scope data_0

-Kích nút Close.

Sau khi chạy ứng dụng thực, trong MATLAB Workspace có biến ScopeData,

còn trên đĩa có các file data_0, data_1 Để xem các file này dùng lệnh.

Dir*.mat

Và để vẽ đồ thị, trớc hết ta xoá WorkSpace, tải các file dữ liệu (ví dụ data_0) vào

Workspace và dùng lệnh Plot

Tổng số mẫu Duration

Ngày đăng: 26/06/2014, 02:16

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Nguyễn Ngọc Bích, (1999), Cơ sở xử lí số tín hiệu và điều khiển số, Học viện Kỹ thuật quân sự, Hà nội Sách, tạp chí
Tiêu đề: Cơ sở xử lí số tín hiệu và điều khiển số
Tác giả: Nguyễn Ngọc Bích
Năm: 1999
[2]. Nasser Kehtarnavaz, Mansour Keramat, (2001), DSP System design using the TMS320C6000, Prentice Hall.Inc Sách, tạp chí
Tiêu đề: DSP System design using the TMS320C6000
Tác giả: Nasser Kehtarnavaz, Mansour Keramat
Năm: 2001
[3]. Smith, Mark J.T, (1992), Introduction to digital signak processing, John Wiley & Sons Inc Sách, tạp chí
Tiêu đề: Introduction to digital signak processing
Tác giả: Smith, Mark J.T
Năm: 1992
[4]. Developer s Kit For Texas Instruments DSP, ’ (2001), The MathWorks, Inc Sách, tạp chí
Tiêu đề: Developer s Kit For Texas Instruments DSP
Tác giả: Developer s Kit For Texas Instruments DSP, ’
Năm: 2001
[5]. DSP Blockset-User s Guide ’ , (2002), The MathWorks, Inc Sách, tạp chí
Tiêu đề: DSP Blockset-User s Guide
Tác giả: DSP Blockset-User s Guide ’
Năm: 2002
[6]. MATLAB-user s Guide ’ ,(1996), Prentice-Hall, Englewood Cliffs Sách, tạp chí
Tiêu đề: MATLAB-user s Guide
Tác giả: MATLAB-user s Guide ’
Năm: 1996
[7]. Real-Time Windows Target-User s Guide ’ , (2000), The MathWorks, Inc Sách, tạp chí
Tiêu đề: Real-Time Windows Target-User s Guide
Tác giả: Real-Time Windows Target-User s Guide ’
Năm: 2000
[8]. Real-Time Workshop-User s Guide ’ , (2001), The MathWoks, Inc Sách, tạp chí
Tiêu đề: Real-Time Workshop-User s Guide
Tác giả: Real-Time Workshop-User s Guide ’
Năm: 2001
[9]. Signal Processing Toolbox-User s Guide ’ , (2001),The MathWorks,Inc Sách, tạp chí
Tiêu đề: Signal Processing Toolbox-User s Guide
Tác giả: Signal Processing Toolbox-User s Guide ’
Năm: 2001
[10]. Simulink-User s guide, ’ (1996), Prentice-Hall, Englewood Cliffs Sách, tạp chí
Tiêu đề: Simulink-User s guide
Tác giả: Simulink-User s guide, ’
Năm: 1996
[11]. TMS320C6000 CPU and Instruction Set-Reference Guide, (2000), Texas Instruments, Inc Sách, tạp chí
Tiêu đề: TMS320C6000 CPU and Instruction Set-Reference Guide
Tác giả: TMS320C6000 CPU and Instruction Set-Reference Guide
Năm: 2000
[12]. TMS320C6000/6701 Evaluation Module-User s Guide ’ , (2002), Texas Instruments, Inc Sách, tạp chí
Tiêu đề: TMS320C6000/6701 Evaluation Module-User s Guide
Tác giả: TMS320C6000/6701 Evaluation Module-User s Guide ’
Năm: 2002
[13]. TMS320C6000 Peripherals Reference Guide, (2001), Texas Instruments, Inc Sách, tạp chí
Tiêu đề: TMS320C6000 Peripherals Reference Guide
Tác giả: TMS320C6000 Peripherals Reference Guide
Năm: 2001
[14]. TMS320C6000 Technical Brief, (1999), Texas Instruments, Inc Sách, tạp chí
Tiêu đề: TMS320C6000 Technical Brief
Tác giả: TMS320C6000 Technical Brief
Năm: 1999
[15]. Б.Голд, Ч.Рейдер, (1973), Цифровая Обработка Сигналов, Советское Радио, Москва Sách, tạp chí
Tiêu đề: Цифровая Обработка Сигналов
Tác giả: Б.Голд, Ч.Рейдер
Năm: 1973

HÌNH ẢNH LIÊN QUAN

Bảng 1.1:Các thông số cơ bản của bộ xử lí với dấu phẩy động TMS320C6x. - XÂY DỰNG THUẬT TOÁN VÀ MÔ PHỎNG HỆ DSP CỦA TEXAS INSTRUMENTS TRONG MATLAB
Bảng 1.1 Các thông số cơ bản của bộ xử lí với dấu phẩy động TMS320C6x (Trang 6)
Hình 1.1 là sơ đồ khối của các bộ xử lí C6x. Trên một số bộ xử lí, bộ nhớ ch- - XÂY DỰNG THUẬT TOÁN VÀ MÔ PHỎNG HỆ DSP CỦA TEXAS INSTRUMENTS TRONG MATLAB
Hình 1.1 là sơ đồ khối của các bộ xử lí C6x. Trên một số bộ xử lí, bộ nhớ ch- (Trang 7)
Hình 1.6: Sơ đồ khối của McBSP - XÂY DỰNG THUẬT TOÁN VÀ MÔ PHỎNG HỆ DSP CỦA TEXAS INSTRUMENTS TRONG MATLAB
Hình 1.6 Sơ đồ khối của McBSP (Trang 16)
Hình 1.7: Sơ đồ bản mạch vật lí của EVMC6701. - XÂY DỰNG THUẬT TOÁN VÀ MÔ PHỎNG HỆ DSP CỦA TEXAS INSTRUMENTS TRONG MATLAB
Hình 1.7 Sơ đồ bản mạch vật lí của EVMC6701 (Trang 19)
Hình 1.8: Sơ đồ khối của EVMC6701. - XÂY DỰNG THUẬT TOÁN VÀ MÔ PHỎNG HỆ DSP CỦA TEXAS INSTRUMENTS TRONG MATLAB
Hình 1.8 Sơ đồ khối của EVMC6701 (Trang 20)
Hình 2.1: Các thành phần cơ bản của RTW - XÂY DỰNG THUẬT TOÁN VÀ MÔ PHỎNG HỆ DSP CỦA TEXAS INSTRUMENTS TRONG MATLAB
Hình 2.1 Các thành phần cơ bản của RTW (Trang 26)
Hình 2.2: Mối quan hệ giữa các dạng mã (code format) với đích - XÂY DỰNG THUẬT TOÁN VÀ MÔ PHỎNG HỆ DSP CỦA TEXAS INSTRUMENTS TRONG MATLAB
Hình 2.2 Mối quan hệ giữa các dạng mã (code format) với đích (Trang 27)
Hình 2.3: Quá trình thiết kế tạo mẫu nhanh - XÂY DỰNG THUẬT TOÁN VÀ MÔ PHỎNG HỆ DSP CỦA TEXAS INSTRUMENTS TRONG MATLAB
Hình 2.3 Quá trình thiết kế tạo mẫu nhanh (Trang 29)
Hình 2.4:  Các bước xây dựng chương trình trên Real-Time WorkshopReal-Time Workshop - XÂY DỰNG THUẬT TOÁN VÀ MÔ PHỎNG HỆ DSP CỦA TEXAS INSTRUMENTS TRONG MATLAB
Hình 2.4 Các bước xây dựng chương trình trên Real-Time WorkshopReal-Time Workshop (Trang 30)
Bảng 2-1 liệt kê các file dùng để dựng chơng trình cho một số đích sau: - XÂY DỰNG THUẬT TOÁN VÀ MÔ PHỎNG HỆ DSP CỦA TEXAS INSTRUMENTS TRONG MATLAB
Bảng 2 1 liệt kê các file dùng để dựng chơng trình cho một số đích sau: (Trang 33)
Hình 2.6: Sơ đồ minh họa sử dụng đích RTWin và chế độ ngoài - XÂY DỰNG THUẬT TOÁN VÀ MÔ PHỎNG HỆ DSP CỦA TEXAS INSTRUMENTS TRONG MATLAB
Hình 2.6 Sơ đồ minh họa sử dụng đích RTWin và chế độ ngoài (Trang 38)
Sơ đồ khối điển hình vào/ra cho C6701 EVM. - XÂY DỰNG THUẬT TOÁN VÀ MÔ PHỎNG HỆ DSP CỦA TEXAS INSTRUMENTS TRONG MATLAB
Sơ đồ kh ối điển hình vào/ra cho C6701 EVM (Trang 55)
Hình 4.1: Sơ đồ thực hiện DPCM - XÂY DỰNG THUẬT TOÁN VÀ MÔ PHỎNG HỆ DSP CỦA TEXAS INSTRUMENTS TRONG MATLAB
Hình 4.1 Sơ đồ thực hiện DPCM (Trang 68)
Sơ đồ các khối nh sau: (sơ đồ đầy đủ đợc trình bày trong phần phụ lục). - XÂY DỰNG THUẬT TOÁN VÀ MÔ PHỎNG HỆ DSP CỦA TEXAS INSTRUMENTS TRONG MATLAB
Sơ đồ c ác khối nh sau: (sơ đồ đầy đủ đợc trình bày trong phần phụ lục) (Trang 69)
Hình sau trình bày đồ thị của tín hiệu gốc và tín hiệu đợc khôi phục ứng với  Tm= 0,88 - XÂY DỰNG THUẬT TOÁN VÀ MÔ PHỎNG HỆ DSP CỦA TEXAS INSTRUMENTS TRONG MATLAB
Hình sau trình bày đồ thị của tín hiệu gốc và tín hiệu đợc khôi phục ứng với Tm= 0,88 (Trang 70)
Hình 4.6: Sơ đồ thực hiện CVSD. - XÂY DỰNG THUẬT TOÁN VÀ MÔ PHỎNG HỆ DSP CỦA TEXAS INSTRUMENTS TRONG MATLAB
Hình 4.6 Sơ đồ thực hiện CVSD (Trang 71)
Sơ đồ thực hiện nh sau: - XÂY DỰNG THUẬT TOÁN VÀ MÔ PHỎNG HỆ DSP CỦA TEXAS INSTRUMENTS TRONG MATLAB
Sơ đồ th ực hiện nh sau: (Trang 71)
Hình 4.7: Sơ đồ khối giải mã CVSD - Khối phát hiện quá tải: - XÂY DỰNG THUẬT TOÁN VÀ MÔ PHỎNG HỆ DSP CỦA TEXAS INSTRUMENTS TRONG MATLAB
Hình 4.7 Sơ đồ khối giải mã CVSD - Khối phát hiện quá tải: (Trang 72)
Hình 4.9: Sơ đồ khối tích phân thay đổi khoảng bớc. - XÂY DỰNG THUẬT TOÁN VÀ MÔ PHỎNG HỆ DSP CỦA TEXAS INSTRUMENTS TRONG MATLAB
Hình 4.9 Sơ đồ khối tích phân thay đổi khoảng bớc (Trang 73)
Hính 4.10: Sơ đồ khối điều chế biên độ. - XÂY DỰNG THUẬT TOÁN VÀ MÔ PHỎNG HỆ DSP CỦA TEXAS INSTRUMENTS TRONG MATLAB
nh 4.10: Sơ đồ khối điều chế biên độ (Trang 73)
Hình sau trình bày đồ thị ứng với các thông số này. - XÂY DỰNG THUẬT TOÁN VÀ MÔ PHỎNG HỆ DSP CỦA TEXAS INSTRUMENTS TRONG MATLAB
Hình sau trình bày đồ thị ứng với các thông số này (Trang 75)
Hình 4.14: Sơ đồ thực hiện trên EVMC6701 với nguồn ngoài - XÂY DỰNG THUẬT TOÁN VÀ MÔ PHỎNG HỆ DSP CỦA TEXAS INSTRUMENTS TRONG MATLAB
Hình 4.14 Sơ đồ thực hiện trên EVMC6701 với nguồn ngoài (Trang 77)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w