Tải bản đầy đủ (.doc) (101 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (707.08 KB, 101 trang )

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
1
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
2
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
(Developers 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.
3
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.
4
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.
5
Bộ xử lí RAM Mc DMA Timer Parallel MHz MIPS
data Prog
TMS3206701-150 64KB 64KB 2 4 2 HPI/16 150 900M
TMS3206701-167 64KB 64KB 2 4 2 HPI/16 167 1G
TMS3206711-100 4KB/
4KB
64Kb 2 16 2 HPI/16 100 600M
TMS3206711-150 4KB/
4KB
64KB 2 16 2 KPI/16 150 900M
Chơng 1: Các bộ xử lý tín hiệu số họ TMS320C6X của
Texas instruments
1.1. Giới thiệu về các bộ xử lí tín hiệu số họ TMS320C6x
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.

-Đồ họa ảo 3 chiều .
-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.
6
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
7
Bộ xử lí RAM Mc
BSP
DMA Parallel Timer MHz MIPS
Data Prog

TMS3206201-200 64KB 64KB 2 4 HPI/16 2 200 1600
TMS3206202-200 128KB 256KB 3 4 Exp.Bus/32 2 200 1600
TMS3206202-250 128KB 256Kb 3 4 Exp.Bus/32 2 250 2000
TMS3206203-250 512KB 384KB 3 4 Exp.Bus/32 2 250 2000
TMS3206203-300 512KB 384Kb 3 4 Exp.Bus/32 2 300 2400
TMS3206204-200 64KB 64KB 2 4 Exp.Bus/32 2 200 1600
TMS3206205-200 64KB 64Kb 2 4 PCI/32 2 200 1600
TMS3206211-150 4KB/
4KB
64KB 2 16 HPI/16 2 150 1200
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.
8
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.
9
Đị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
Dự trữ8040 0000
Dự trữ2044M1 0000 0000
Địa chỉKiểu 0Kích thớc (byte)0000 0000
CE016M0100 0000
CE14M0140 0000
RAM chơng trình trong64K
4M
0141 0000
Dự trữ0180 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
Dự trữ8040 0000
Dự trữ2044M1 0000 0000
Bảng 1.3: Bản đồ bộ nhớ của C6x.
1.2.3. Ngoại vi
Ngoài bộ nhớ on-chip, các bộ xử lí C6x còn có các ngoại vi để truyền thông
với bộ nhớ off-chip, bộ xử lí chủ, các bộ đồng xử lí, vá các thiết bị nối tiếp. Các
ngoại vi này gồm:
-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).
10
-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:
-Vùng địa chỉ 32-bit.
-Mỗi kênh có thể cấu hình độc lập để truyền dữ liệu theo byte, nửa từ 16-bit
hoặc từ 32-bit.
-Chuyển dữ liẹu đa khung:Mỗi khối dữ liệu cần chuyển có thể gồm một số
khung dữ liệu. Kích thớc số khung là khả trình.
-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.
11
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.
12
Hai chân dữ liệu (
1HDS

2HDS
) 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.
13
Để 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:
14
-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.
15
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
16
-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ố l-
ợng sự kiện đặt trớc.
8/Bộ chọn ngắt.
Ngoại vi của C62x và C67x tạo ra 16 nguồn ngắt. CPU sử dụng 12 ngắt. Bộ
chọn ngắt cho phép chọn 12 trong số 16 ngắt cần sử dụng.
1.3. Bảng mạch đánh giá EVMC6x
EVMC6x là bảng mạch giá thành hạ, công dụng chung, cho phép phát triển,
thử nghiệm và phân tích thuật toán, đặc tính của bộ xử lí xem chúng có đáp ứng đợc
các yêu cầu của ứng dụng đề ra hay không. EVMC6x đợc sử dụng cùng với Code
Composer, các trình điều khiển thiết bị cho Windows 95 hoặc NT 4.0 và giao diện
lập trình ứng dụng API (Application programming interface) của máy chủ PC và bộ
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
17
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).
-SBSRAM 256K byte, 133MHZ.
-SDRAM 32M byte, 100MHZ.
-Mô phỏng nhúng JTAG thông qua PCI hoặc bộ Emulator XDS510.
-Truy cập toàn bộ bộ nhớ của DSP thông qua PCI.
-Bộ mã hoá 16-bit audio với tốc độ lấy mẫu từ 5.5 KHz đến 48 KHz.
-3 đèn chỉ thị LED.
-Chế độ hoạt động PCI trong.
-Chế độ hoạt động ngoài.
-Các đầu nối mở rộng bộ nhớ và ngoại vi.
18
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
19
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).
20
Địa chỉ Kiểu bộ nhớ 1 Kich thớc (byte)
0000 0000 RAM chơng trình trong 64K 4M
0001 0000 Dự trữ
0040 0000 SBSRAM 256K 16M
0044 0000 Không sử dụng
0140 0000 Bộ nhớ mở rộng không đông bộ 3M
0170 0000 Các thanh ghi PCI 64 64K
0170 0040 Không có
0171 0000 PCI FIFO 4 64K
0171 0004 Không có
0172 0000 Các thanh ghi của bộ tạo mã audio 16 64K
0172 0010 Không có
0173 0000 Dự trữ 320K
0178 0000 Các thanh ghi trạng thái và điều khiển 32 64K
0178 0020 Không có
0179 0000 Dự trữ 448K
0180 0000 Ngoại vi trong 4M
01C0 0000 Dự trữ 4M
0200 0000 SDRAM (Bank 0) 4M
0240 0000 Dự trữ 12M
0300 0000 SDRAM ( Bank 1) 4M
0340 0000 Dự trữ 12m
0400 0000 Dự trữ 1984M
8000 0000 RAM dữ liệu trong 64K 4M
8001 0000 Dự trữ

8040 0000 Dự trữ 2044M
10000 0000
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
21
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.

Phần mềm hỗ trợ máy chủ gồm:
-Code Composer Studio (CCS): Để tạo file exe. CCS tích hợp trình biên dịch,
trình hợp dịch, trình liên kết, trình mô phỏng và gỡ rối.
-Tiện ích cấu hình bảng mạch (evm6xrst.exe): Dùng để Reset và cấu hình
bảng mạch.
-Tiện ích kiểm tra (evm6xtst.exe): Để kiểm tra các hoạt động cơ bảng của
bản mạch.
22
-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 (Developers 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.
23
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:
-Chạy trên các đích khác nhau.
-Tăng tốc độ mô phỏng.
-Bảo vệ bản quyền.
Nhờ RTW, ta có thể nhanh chóng tạo mã C cho các hệ thống thời gian rời
rạc, thời gian liên tục, các hệ lai và cả các hệ có chứa hệ con. Với phần mềm RTW
Ada Coder, ta có thể tạo mã Ada, và với phần mềm Stateflow Coder, ta có thể tạo
mã cho hệ thống đợc mô hình hoá nhờ công cụ Stateflow. Cùng với các công cụ
khác của The MATH WORKS, RTW nhằm mục đích tăng tốc quá trình thiết kế,
giảm giá thành, giảm thời gian tạo sản phẩm và nâng cao chất lợng.
Real-Time Workshop cần các phần mềm sau:
1/ MATLAB 6.0
2/ Simulink 4.0
3/ Trình biên dịch
RTW hỗ trợ các trình biên dịch sau:
- Borland: 5.3 5.4 5.5.

- LCC: Đợc cài sẵn trong MATLAB.
- Microsoft Visual C/ C
++.
- Watcom: 10.6 11.0.
24
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.
25

×