Chuyên đề thực tập tốt nghiệp DSP

1. Tín hiệu và hệ thống xử lý tín hiệu, làm quen với Code Composer Studio 3.1. và cấu trúc phần cứng của DSP TMS320C6713. 2. Viết chương trình tạo sóng sin với tần số bất kỳ. 3. Viết chương trình sử dụng nút DIP SWITCH để điều khiển đèn LED. 4. Biên dịch theo thời gian thực từ Matlab Simulink sang CCS 3.1. Ứng dụng trong thiết kế bộ lọc FIR và IIR.

doc33 trang | Chia sẻ: tranhoai21 | Lượt xem: 1915 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Chuyên đề thực tập tốt nghiệp DSP, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CHUYÊN ĐỀ THỰC TẬP TỐT NGHIỆP DSP I. Mục đích, yêu cầu: - Sinh viên nắm được cấu trúc phần cứng của DSP TMS320C6713. - Sinh viên nắm được các bước để xây dựng một project bằng phần mềm CCS. - Sinh viên viết được chương trình trên CCS 3.1 với các hàm có sẵn để điều khiển các nút và đèn có trên board mạch. - Sinh viên xây dựng được các ứng dụng về hệ thống điều khiển tự động trên PLC. II. Nội dung: 1. Tín hiệu và hệ thống xử lý tín hiệu, làm quen với Code Composer Studio 3.1. và cấu trúc phần cứng của DSP TMS320C6713. 2. Viết chương trình tạo sóng sin với tần số bất kỳ. 3. Viết chương trình sử dụng nút DIP SWITCH để điều khiển đèn LED. 4. Biên dịch theo thời gian thực từ Matlab Simulink sang CCS 3.1. Ứng dụng trong thiết kế bộ lọc FIR và IIR. III. Tài liệu tham khảo: [1] Hướng dẫn thực tập chuyên đề DSP. [2] Digital Signal Processing and Applications with the TMS320C6713 and TMS320C6416 DSK. [3] Nguyễn Ngọc Bích, Cơ sở xử lý số tín hiệu và điều khiển số, Nhà xuất bản quân đội nhân dân, 2001 [4] Dương Tử Cường, Xử lý tín hiệu số, Nhà xuất bản quân đội nhân dân, 2003. NỘI DUNG THỰC TẬP TỐT NGHIỆP GIỚI THIỆU VỀ XỬ LÝ TÍN HIỆU SỐ • Tín hiệu (t/h) – Âm thanh – Nhiệt độ – Ánh sáng • 5 giác quan của con người: thính/xúc/vị/khứu/thị giác → cần thiết phải chuyển sang dạng năng lượng điện để được xử lý bởi não • Các cảm biến điện tử được dùng để biến đổi t/h sang dạng số, có thể được xử lý bởi máy tính số (biến đổi AD)→ xử lý t/h số (DSP) • T/h sau khi được xử lý có thể được biến đổi sang dạng ban đầu trước khi gởi cho các bộ chấp hành (biến đổi DA) DSP LÀ GÌ? – Digital • Hoạt động dùng các t/h rời rạc để biểu diễn dữ liệu dưới dạng số – Signal • Tham số biến nhờ đó thông tin được trung chuyển trên các mạch điện tử – Processing • Thực hiện các tác vụ trên dữ liệu theo những lệnh được lập trình trước DSP = thay đổi hoặc phân tích thông tin được biểu diễn dưới dạng các chuỗi số rời rạc TẠI SAO PHẢI XỬ LÝ TÍN HIỆU SỐ • Khả năng lập trình được (programmability) • Khả năng ổn định (stability) • Khả năng lặp lại(repeatability) • Hiện thực dễ dàng các giải thuật thích nghi • Khả năng hiện thực các mã sửa sai • Khả năng truyền dẫn và lưu trữ dữ liệu • Khả năng nén dữ liệu • Khả năng thực hiện các chức năng đặc biệt. ỨNG DỤNG GIỚI THIỆU VỀ KIT TMS320C6713 VÀ CHƯƠNG TRÌNH CCS3.1 1. Cấu trúc phần cứng của KIT TMS320C6713 C6713 DSK Physical Layout ! C6713 DSK Functional Block Diagram! C6713 DSK Overview! ž  225 MHz TMS320C6713 floating pointDSP! ž  AIC23 stereo codec (ADC and DAC)! —  Ideal for audio applications! —  8-96 kHz sample rates! ž  Memory! —  16 MB dynamic RAM! —  512 kB nonvolatile FLASH memory! ž  General purpose I/O! —  4 LEDs! —  4 DIP switches! ž  USB interface to PC 2. Chương trình Code Composer Studio 3.1 (CCS3.1) Giao diện chương trình Code Composer Studio V3.1 Thành phần của một dự án: DSP/BIOS configuration: Cấu hình của DSP “Include” folder – header files: Thư mục chứa các file tiêu đề. “Libraries” folder: Chứa các file thư viện. Linker command files: Liên kết các file. Source folder – source files: Thư mục chứa các file nguồn. Cấu trúc của một dự án ban đầu. Lưu đồ phát triển phần mềm tạo ra mã đối tượng từ ngôn ngữ C. Lưu đồ phát triển phần mềm tạo ra mã đối tượng từ ngôn ngữ C. Các bước xây dựng thuật toán trên nền tảng DSP bao gồm 4 bước được mô tả bởi lưu đồ dưới đây: Thiết kế thuật toán Lập trình thuật toán Thực thi thuật toán trên Kit Phân tích, sửa lỗi, tối ưu Các bước cơ bản thực hiện trên CCStudio bao gồm biên dịch C, hợp dịch, liên kết, gỡ rối, mô phỏng và emulator. Đầu tiên CCStudio dịch mã C thành mã dưới dạng mã gợi nhớ hoặc dạng đại số cho DSP cụ thể mà ta lựa chọn (đuôi .asm). Bước tiếp theo là dịch mã assembly thành mã đối tượng dưới dạng nhị phân (hoặc ngôn ngữ máy) cụ thể đối với DSP lựa chọn (đuôi .obj). Trình liên kết thực hiện liên kết các file đối tượng để tạo tạo thành một file đối tượng duy nhất bằng cách gán các địa chỉ tuyệt đối trong bộ nhớ cho DSP cụ thể (đuôi .out). File thực hiện này có thể tải và chạy trực tiếp trên bộ DSP. Sau khi đã tạo ra file thực hiện, chúng ta phải kiểm tra và gỡ rối bằng cách sử dụng phần mềm mô phỏng và emulator. Để tạo một project người dùng có thể thêm vào các file phù hợp. Các tùy chọn về compiler/linker có thể xác định dễ dàng. Một số tính năng debug có sẵn, như đặt các breakpoint và xem các biến, xem bộ nhớ, các thanh ghi và trộn C với assembly code. Chúng ta sẽ làm việc với một vài kiểu tập tin khác nhau, bao gồm: File.pjt: Để tạo và xây dựng một project có tên là “file”. File.c: Chương trình nguồn viết bằng C. File.asm: Chương trình nguồn viết bằng ngôn ngữ assembly, được tạo bởi người dùng hoặc bởi bộ dịch C. File.h: Tập tin header. File.lib: Tập tin thư viện. File.cmd: Tập tin lệnh của linker, ánh xạ các section vào bộ nhớ. File.obj: Tập tin đối tượng được tạo ra bởi assembler. File.out: Tập tin thực thi được tạo ra bởi linker để nạp và chạy trên bộ xử lý C6713. Các tập tin hỗ trợ. Các tập tin hỗ trợ sau được chứa trong folder C:\CCStudio_v3.1\myproject\source\support (trừ các tập tin thư viện) được sử dụng trong hầu hết các project. C6713dskinit.c: Chứa các hàm khởi động DSK, code, các cổng nối tiếp và để xuất nhập. Tập tin này không được bao gồm với CCS. C6713dskinit.h: Tập tin header chứa các prototype của các hàm. C6713dsk.cmd: Tập tin lệnh linker. Tập tin này có thể được sửa đổi khi sử dụng bộ nhớ ngoài thay cho bộ nhớ trong. Vectors_intr.asm: Một tập tin vector bao gồm trong CCS đã được sửa đổi để quản lý ngắt. Có 12 ngắt, từ INT4 đến INT15, và ngắt 11 được chọn trong tập tin này. Chúng được dùng cho các chương trình có sử dụng ngắt. Vectors_poll.asm: Tập tin vector cho các chương trình hỏi vòng (polling). Rts6700.lib, dsk6713bsl.lib, csl6713.lib: Tập tin thư viện hỗ trợ run – time, board và chip. Các tập tin này được cung cấp với CCS và được chứa trong các folder C6000\cgtools\lib, C6000\dsk6713\lib và C6000\csl\lib một cách tương ứng. ( Thư mục C6000 nằm trong thư mục cài đặt của CCS, mặc định là C:\CCStudio_v3.1\). BÀI 1: XÂY DỰNG CHƯƠNG TRÌNH TẠO TÍN HIỆU SIN VỚI TẦN SỐ BẤT KỲ Mục đích: tạo ra một tín hiệu tương tự sin sử dụng bảng giá trị mẫu có sẵn. Yêu cầu: Xây dựng project tạo tín hiệu tương tự sin . Thay đổi các giá trị lẫy mẫu ở bảng để có thể tạo ra các tín hiệu khác nhau. 1.1. Cài đặt KIT thí nghiệm vào máy tính: Đặt KIT thí nghiệm ở vị trí an toàn. Ta kết nối Port USB từ KIT đến cổng USB của máy tính. Và kết nối ngõ ra của tính hiệu từ KIT (LINE OUTPUT) đến loa có công suất nhỏ hoặc oscilloscope. Kết nối nguồn cho KIT thí nghiệm qua Adapter của KIT. Hình 1.1: Sơ đồ các chân kết nối board TMS320C6713 với máy tính. Test KIT thí nghiệm từ máy tính: Ta mở chương trình Test KIT với tên là 6713 DSK Diagnostics Utility: Với biểu tượng là. Hình 1.2 : Biểu tượng chương trình 6713 DSK Diagnostics Utility. Tiếp theo hộp thoại 6713 DSK Diagnostics xuất hiện: Hình 1.3 : Giao diện chương trình kiểm tra board TMS320C6713 trước khi kiểm tra. Khi chọn nút Start chương trình sẽ tự động kiểm tra phần cứng của KIT thí nghiệm. khi tất cả các đèn xanh trên hộp thoại sáng là KIT đã được chuẩn bị sẳn sàng cho phần thí nghiệm. Hình 1.4 : Giao diện chương trình kiểm tra board TMS320C6713 sau khi kiểm tra hoàn tất. 1.2. Chạy chương trình và tạo mới một dự án: Mở chương trình ứng dụng cho KIT thí nghiệm với tên là: 6713 DSK CCStudio v3.1, biểu tượng như sau: Hình 1.5 : Biều tượng chương trình CCS V3.1. Khi chương trình chạy thì xuất hiện với hình dạng ngắn gọn như sau: Hình 1.6: Hộp thoại ban đầu khi khởi tạo một dự án. Tạo một dự án với CCStudio Phần này minh họa làm thế nào để tạo nên một dự án, bổ sung thêm các file cần thiết để tạo ra một tập tin thực thi : Sine_8LED_HOANG.out. Phần này ta sẽ minh họa làm thế nào để tạo ra một tập tin dự án từ đầu để làm quen với CCS Bước 1: Tạo một dự án mới file Sine_8LED_HOANG.pjt bằng cách chọn Project → New và đặt tên của dự án là Sine_8LED_HOANG, như thể hiện dưới hình 3.7. Thiết lập Target to TMS320C67XX trước khi chọn Finish. Một file dự án mới sẽ được lưu lại trong thư mục C:\CCStudio_v3.1 \MyProjects\ Sine_8LED_HOANG . File .pjt là file chứa các thông tin của dự án về các tùy chọn, các file nguồn và các file liên kết. Tên của những file sử dụng trong dự án, được hiển thị trong cửa sổ Project View, ở chế độ mặc định thì nó nằm ở bên tay trái của cửa sổ chương trình Code Composer. Trong cửa sổ Project Creation: - Phần Project Name: Nhập tên dự án - Location: Trỏ đến vị trí lưu dự án - Project Type: Chọn Executable (.out) - Target: Chọn chip DSP tương ứng là TMS320C67XX Hình 1.7: Thiết lập các thông tin về dự án. Bước 2 : Nếu các file mã nguồn chưa có sẵn, để tạo ra một file chương trình mới, vào File/New/Source File. Nếu file mã nguồn đã có sẵn, vào Project/Add files to project rồi trỏ đến vị trí của các file cần thêm vào dự án. Các file thêm vào dự án bao gồm file mã nguồn, file thư viện, file ánh xạ bộ nhớ. Các file nguồn là : Sine_8LED_HOANG.c ta copy vào trong thư mục C:\CCStudio_v 3.1\MyProjects\ Sine_8LED_HOANG. C6713dskinit.c (trong thư mục C:\CCStudio_v3.1\myprojects\ Support) Vectors_poll.asm (trong thư mục C:\CCStudio_v3.1\myprojects\ Support) File ánh xạ bộ nhớ .cmd: C6713dsk.cmd Sau khi đã thêm các file, cần tiến hành quét các file phụ thuộc Chọn Project→ Scan All File Dependencies Cửa sổ Project View trong CCS phải như trong hình 1.8. Tập tin GEL dsk6713.gel tự động có khi tạo ra dự án. Bất kỳ một tập tin nào (trừ các tập tin thư viện) trong danh sách cửa sổ Project View đều có thể hiển thị và sửa đổi bằng cách ấn chuột 2 lần vào tên của chúng trong cửa sổ Project View. Bạn không cần bổ sung các tập tin tiêu đề hoặc tệp tin bổ sung vào trong dự án. Chúng sẽ được thêm vào dự án một cách tự động khi ta chọn Scan All File Dependencies. Hình 1.8 : Cửa sổ Project View sau khi đã bổ sung tất cả các tập tin cần thiết. Bước 3 : Thiết lập các tùy chọn Để thiết lập các tùy chọn cho dự án, vào Project\Build OptionsMột cửa sổ cho phép xác lập các tùy chọn sẽ hiện ra bao gồm các tab General, Compiler, Linker, Linker Order. Trong mỗi tab sẽ các loại tùy chọn khác nhau. Tùy chọn trong Tab Compiler . Các tùy chọn trong Tab compiler như trong hình 1.9, 1.10 và 1.11 Hình 1.9: Cửa sổ thiết lập các tùy chọn trong Tab Complier\Basic Hình 1.10: Cửa sổ thiết lập các tùy chọn trong Tab Complier\Advance Hình 1.11: Cửa sổ thiết lập các tùy chọn trong Tab Complier\Preprocessor. Tùy chọn trong Tab Linker như trong hình 1.12 Hình 1.12: Cửa sổ thiết lập các tùy chọn trong Tab linker\Basic Bước 4: Dịch chương trình bằng cách vào Project → Build. Chương trình sẽ khởi chạy và tạo ra file Sine_8LED_HOANG.out trong thư mục C:\CCStudio_v3.1\MyProjects\ Sine_8LED_HOANG \Debug Hình 1.13: Thông báo của chương trình sau khi biên dich xong. Tải chương trình vào DSK Trước tiên cần kết nối giữa phần mềm CCStudio với DSK. Để làm được việc này, vào menu Debug → Connect Sau khi chương trình được dịch tạo ra file .out, để tải chương trình vào DSK thực hiện các bước sau: Vào File/Load Program Chọn file .out vừa tạo ra trong thư mục chứa dự án (thường nằm trong thư mục con debug) Vào Debug/Run để chạy chương trình Thực hiện vẽ trong miền tần số và miền thời gian đe quan sát đồ thị thu được. Vào tab View => Graph => Time/Frequency Thiết đặt các tùy chọn ta thu được sóng sine như hình 1.14 và 1.15. Hình 1.14: Đồ thị thu được khi vẽ trong miền tần số Hình 1.15: Sóng sine thực tế thu được khi vẽ trong miền thời gian. 1.3. Kết luận: Trong bài này đã trình bày được quá trình xây dựng một chương trình thực tế trên CCS V3.1 đã giúp chúng ta hiểu kỹ hơn và tổng quát hơn cách xây dựng một chương trình và chạy chương trình kết hợp với bản mạch TMS320C6713. Từ chường trình hoàn chỉnh trên giúp chúng ta thực hiện được nhiều chương trình khác vào các ứng dụng khác nhau trong các thiết bị vốn đang rất phổ biến trong xã hội hiện nay. Chương trình tạo tín hiệu lấy mẫu từ các giá trị trong một chu kỳ. Giá trị của các mẫu đó được lấy như sau : 1000sin(2πi/8) cho i=1,2,3,...7; Chương trình chính main() gọi các hàm comm_poll(), DSK6713_LED_init() và DSK6713_DIP_init() để khởi chạy cho DSK, bộ giải mã AIC23 trên board DSK, cùng với 2 kênh đa năng trên vi xử lý của 6713 giúp điều khiển LED và nút nhấn DIP SWITCH. Chương trình tạo tín hiệu tương tự hình Sin và dùng nút DIP để điều khiển. //sine8_LED.c sine generation with DIP switch control #include "dsk6713_aic23.h" //codec support Uint32 fs = DSK6713_AIC23_FREQ_8KHZ; //set sampling rate #define DSK6713_AIC23_INPUT_MIC 0x0015 #define DSK6713_AIC23_INPUT_LINE 0x0011 Uint16 inputsource=DSK6713_AIC23_INPUT_MIC; //select input #define LOOPLENGTH 8 short loopindex = 0; //table index short gain = 10; //gain factor short sine_table[LOOPLENGTH]= {0,707,1000,707,0,-707,-1000,-707}; //sine values void main() { comm_poll(); //init DSK,codec,McBSP DSK6713_LED_init(); //init LED from BSL DSK6713_DIP_init(); //init DIP from BSL while(1) //infinite loop { if(DSK6713_DIP_get(0)==0) //if DIP #0 pressed { DSK6713_LED_on(); //turn LED #0 ON output_left_sample(sine_table[loopindex++]*gain); //output if (loopindex >= LOOPLENGTH) loopindex = 0; //reset index } else DSK6713_LED_off(0); //else turn LED #0 OFF } //end of while(1) } //end of main BÀI 3. ĐIỀU CHẾ VÀ GIẢI ĐIỀU CHẾ TÍN HIỆU QUA MATLAB. 3.1 Sơ đồ nguyên lí. Để nhận biết rõ bằng trực quan về phổ của tín hiệu điều biên và tín hiệu điều chế ban đầu, ta thể hiện đồng thời chúng trên cùng một cửa sổ đồ thị Virtual Scope trong Matlab. Hình 3-1: Sơ đồ mô phỏng trên Matlab. 3.1.1. Sơ đồ nguyên lý phương pháp điều biên. Như trong phần điều biên trong chương 1 ta đã biết tín hiệu điều biên có dạng Trong đó : : tín hiệu sóng mang. m : chỉ số điều chế. Hình 3-2: Nguyên lí khối điều chế biên độ. Tín hiệu vào đi qua khối điều chế biên độ, sau đó được qua bộ giải điều chế để thu lại được tín hiệu thông tin ban đầu. Để thực hiện giải điều chế tín hiệu, ta có 2 phương pháp : phương pháp bình phương và phương pháp Coherent. 3.1.2. Phương pháp giải điều chế bình phương. Hình 3-3 : Nguyên lí phương pháp bình phương. Tín hiệu điều biên được bình phương lên rồi đi qua bộ lọc thông thấp LPF để lọc lấy tín hiệu tần số thấp (có tín hiệu điều chế ban đầu) rồi tiếp tục được khai căn để xử lí thu được tín hiệu thông tin ban đầu. 3.1.3. Phương pháp giải điều chế Coherent : Hình 3-4 : Nguyên lí phương pháp Coherent. Tín hiệu điều chế được nhân với sóng rồi đi qua bộ lọc thông thấp để xử lí thu lấy tín hiệu thông tin ban đầu (có tần số thấp) . 3.2. Mô phỏng trong Matlab. 3.2.1. Quá trình điều chế. Để thực hiện trên Simulink ta tạo ra model DSK6713 và các khối cộng, nhân, khuyếch đại, sóng sin thông tin, sóng sin cao tần v.v sau đó ghép nối để được mô hình như sau: Hình 3-5 : Điều chế tín hiệu trên Mathlab. Ở đây tín hiệu điều chế ta lấy là tín hiệu hình sin tần số thấp 1000Hz . Sóng mang là sóng hình sin tần số cao 15000Hz. Ta có kết quả tín hiệu điều biên : Hình 3-6 : Phổ tín hiệu điều biên trên Mathlab. Tín hiệu điều biên được giải điều chế bằng hai phương pháp : 3.2.2. Quá trình giải điều chế bằng phương pháp bình phương. Hình 3-7 : Phương pháp giải điều chế bình phương trên Matlab. Trong đó bộ lọc thông thấp LPF là dạng bộ lọc FIR được thiết kế phù hợp với tần số của sóng mang (15000hz) và sóng thông tin (1000hz) : cho phép tín hiệu có tần số dưới 5Khz và chặn các tín hiệu có tần số trên 10Khz. Hình 3-8 : Thông số thiết kế bộ lọc LPF. Ta có kết quả phương pháp bình phương thể hiện trên Matlab : Hình 3-9 : Phổ của 2 tín hiệu trên của sổ quan sát. Đường màu xanh : tín hiệu điều chế. Đường màu đỏ : tín hiệu giải điều chế. 3.2.3. Quá trình giải điều chế bằng phương pháp Coherent. Hình 3-10 : Phương pháp giải điều chế Coherent trên Matlab. Hình 3-11 : Phổ tín hiệu qua Matlab qua cửa sổ quan sát. Đường màu xanh : tín hiệu điều biên. Đường màu đỏ : tín hiệu giải điều chế(phương pháp Coherent). 3.3. Quá trình điều biên và giải điều biên trên board DSK TMS320C6713. Để thực hiện quá trình điều biên và giải điều biên trên DSK TMS320C6713 ta sửdụng phần mềm Code Composer Studio v3.1 đểgiao tiếp với board. Code và chương trình trong phần mềm Code Composer Studio được tự động biên dịch từMatlab. 3.3.1. Nguyên lý thực hiện trên DSK 6713. Tín hiệu điều chế được đưa vào KIT qua cổng Line in hoặc microphone từ đó được bộ codec stereo AIC23 lấy mẫu các tín hiệu tương tự và chuyển đổi chúng thành tín hiệu số để đưa vào khối điều biên. Tín hiệu điều biên sau đó được qua khối giải điều biên và cuối cùng bộcodec lại chuyển các mẫu thành tín hiệu tương tựtrên đường line output và headphone. Hình 3-12: Nguyên lý điều chế tín hiệu trên DSK 6713. Trong đó, tín hiệu đưa vào Line in ở đây là từmáy tạo tín hiệu Signal Generator, với tín hiệu là sóng sin tần sốthấp 1000Hz. 3.3.2. Xây dựng từ Matlab. a. Theo phương pháp bình phương. Hình 3-13: Giải điều chế theo thời gian thực bằng pp bình phương. b. Theo phương pháp Coherent. Hình 3-14: Giải điều chế theo thời gian thực bằng pp Coherent. Yêu cầu : Xây dựng chương trình mô phỏng trong Matlab và quan sát quá trình điều chế + giải điểu chế. Xây dựng chương trình để giải điều chế trong thời gian thực với KIT TMS320C6713. Nhận xét tín hiệu thu được khi cho tần số sóng mang thay đổi. 6. Bài tập ứng dụng 1. Làm bài tập thực hành 1 và 2 trong Tài liệu Thí nghiệm PLC S7 – 200 trên PLC S7 – 200 và S7 – 300. 2. Điều khiển băng tải: - Cho hệ thống điều khiển băng tải gồm có encoder gắn trên trục động cơ băng tải. - Các đầu vào/ra số. - Động cơ quay được một vòng thì băng tải chuyển động được 5cm. - Khí ấn nút Start thì băng tải bắt đầu chuyển động tiến 1500cm thì dừng 30s, sau đó băng tải tiếp tục chuyển động tiến 800cm thì dừng 30s rồi chuyển động lùi 1000cm thì kết thúc chu trình. - Chu trình mới được bắt đầu khi ấn nút Reset rồi ấn nút Start. - Bất cứ khi nào ấn nút Stop thì băng tải dừng. - Yêu cầu: Sử dụng PLC S7 – 200. 3. Sử dụng biến tần điều khiển động cơ xoay chiều.
Tài liệu liên quan