Xây Dựng Bộ Điều Khiển Và Nhận Dạng Tiếng Nói Bằng Xử Lý Tín Hiệu Số DSP56002

69 440 0
Xây Dựng Bộ Điều Khiển Và Nhận Dạng Tiếng Nói Bằng Xử Lý Tín Hiệu Số DSP56002

Đ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

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN-ĐIỆN TỬ BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG LUẬN VĂN TỐT NGHIỆP GVHD SVTH MSSV Khóa : Thầy LÊ TUẤN ANH : HUỲNH QUỐC TRÂM : 49701564 : Tự Động 97 14-01-2002 MỤC LỤC CHƯƠNG I: GIỚI THIỆU CHƯƠNG II: GIỚI THIỆU BỘ XỬ LÝ TÍN HIỆU SỐ VÀ KHỐI ĐÁNH GIÁ DSP56002 A MÔ TẢ TỔNG QUÁT BỘ XỬ LÝ TÍN HIỆU SỐ DSP56002 B GIỚI THIỆU DSP56002EVM C GIỚI THIỆU TỔNG QUÁT CÁC CHÂN CHƯƠNG III: MÔ TẢ CHỨC NĂNG DSP56002 11 A CẤU TRÚC DSP56002 11 B ĐƠN VỊ ALU DỮ LIỆU 13 C BỘ ĐIỀU KHIỂN CHƯƠNG TRÌNH 16 D ĐƠN VỊ CẤP PHÁT ĐỊA CHỈ 18 E CÁC CHẾ ĐỘ ĐỊNH ĐỊA CHỈ 20 F PORT A CỦA DSP56002 22 G PORT B CỦA DSP56002 26 H PORT C CỦA DSP56002 31 I THANH GHI ƯU TIÊN NGẮT (IPR) CỦA DSP56002 43 J BỘ DAO ĐỘNG XUNG VÒNG GIỮ PHA (PLL) 45 K MÔ PHỎNG TRÊN CHIP (ONCE) 48 L BỘ ĐỊNH THỜI VÀ ĐẾM SỰ KIỆN CỦA DSP56002 52 CHƯƠNG IV: TẬP LỆNH DSP56002 57 A DẠNG LỆNH 57 B CÁC THAO TÁC TRUYỀN DỮ LIỆU SONG SONG 58 C CÁC LOẠI TRUYỀN DỮ LIỆU SONG SONG 58 D TẬP LỆNH DSP56002 59 CHƯƠNG V: CODEC GIAO TIẾP ÂM THANH ĐA NĂNG 67 I GIỚITHIỆU 67 II MÔ TẢ CHỨC NĂNG CÁC CHÂN 69 III ĐẶC TÍNH TƯƠNG TỰ 70 IV CÁC ĐẶC TÍNH CHUYỂN ĐỔI 74 V.CHẾ ĐỘ ĐIỀU KHIỂN 74 VI.CHẾ ĐỘ DỮ LIỆU 79 CHƯƠNG VI: MỞ RỘNG BỘ NHỚ CHO DSP56002 83 A CÁC LINH KIỆN SỬ DỤNG 83 B SƠ ĐỒ MẠCH 86 CHƯƠNG VII: BIẾN ĐỔI FOURIER 94 A BIẾN ĐỔI FOURIER LIÊN TỤC 94 B BIẾN ĐỔI FOURIER RỜI RẠC 96 C PHÂN TÍCH BIẾN ĐỔI NHANH FOURIER 96 CHƯƠNG VIII: BIẾN ĐỔI FOURIER THỜI GIAN NGẮN 101 A CÔNG THỨC BIẾN ĐỔI 102 B TÍNH CHẤT 103 C HẠN CHẾ CỦA PHÉP BIẾN ĐỔI FOURIER THỜI GIAN NGẮN 103 CHƯƠNG IX : XỬ LÝ TÍN HIỆU TIẾNG NÓI 104 I TRÍCH ĐẶC TRƯNG TIẾNG NÓI DÙNG PHÉP PHÂN TÍCH STFT 104 II NHẬN DẠNG TIẾNG NÓI 122 III.CHƯƠNG TRÌNH NHẬN DẠNG TIẾNG NÓI .126 KẾT QUẢ 167 KẾT LUẬN 168 HƯỚNG PHÁT TRIỂN 169 PHỤ LỤC A 170 PHỤ LỤC B 176 TÀI LIỆU THAM KHẢO GIỚI THIỆU I Tổng quan: Luận văn thực việc xây dựng điều khiển nhận dạng tiếng nói xử lý tín hiệu số DSP56002 Một vài thập niên trước đây, việc nhận dạng tiếng nói máy tồn suy nghó nhà khoa học viễn tưởng, nhiên vài năm gần đây, vấn đề tìm hiểu thực hệ thống nhận dạng tiếng nói cách tự động đưa vào nghiên cứu viện nghiên cứu khắp giới Những ứng dụng thực tiễn mà hệ thống mang lại vô lớn máy tính không cần bàn phím, hệ thống điều khiển không cần bảng điều khiển phức tạp, máy điện thoại không cần đến bàn quay số xem bước đột phá tất lónh vực sống Do vấn đề nghiên cứu phương pháp nhận dạng tiếng nói vấn đề thu hút nhiều đầu tư nghiên cứu nhà khoa học khắp giới Tuy nhiên kết mang lại hạn chế phức tạp tiếng nói người Đối với nước ta, vấn đề nhận dạng tiếng nói giai đoạn đầu kết đạt khiêm tốn Luận văn nghiên cứu thử nghiệm hướng nhận dạng tiếng nói dựa đặc trưng ngữ âm quan trọng tiếng nói formant Công cụ toán học sử dụng phép phân tích Fourier thời gian ngắn STFT(Short Time Fourier Transform) Nhận dạng tiếng nói phận nòng cốt điều khiển tiếng nói cần thiết kế II Những nội dung luận văn: Các chương 2, 3, 4, 5, giới thiệu xử lý tín hiệu số DSP56002, giao tiếp âm đa Codec 4215, nhớ mở rộng, mạch giao tiếp điều khiển Chương giới thiệu tổng quát xử lý tín hiệu số DSP56002 Tiếp đến Chương mô tả cụ thể chức DSP56002 bao gồm: cấu trúc chế độ đònh đòa củûa DSP56002; ghi chế độ hoạt động PORT DSP56002 Chương mô tả tập lệnh xử lý tín hiệu số DSP56002 Chương giới thiệu CODEC giao tiếp âm đa CS4215, đồng giao tiếp nối tiếp (SSI) xử lí DSP56002 sử dụng để thích nghi với truyền liệu nối tiếp từ hai chuyển đổi A/D CS4215 đến DSP56002 từ DSP56002 đến hai chuyển đổi D/A CS4215 Chương mở rộng nhớ cho DSP56002; chương trình bày sơ đồ mạch DSP56002EVM, nhớ mở rộng, sơ đồ điều khiển động DC linh kiện sử dụng mạch Các chương sau giới thiệu công cụ toán học phương pháp nhận dạng tiếng nói Chương giới thiệu phép biến đổi Fourier với tín hiệu liên tục rời rạc, giới thiệu phương pháp biến đổi nhanh Fourier FFT thực DSP56002 sử dụng giải thuật phân chia theo thời gian DIT (decimation-intime) Tiếp theo Chương trình bày phép tổng quát biến đổi Fourier thời gian ngắn STFT Cuối Chương tập trung vào phép biến đổi Fourier thời gian ngắn để trích formant tín hiệu, Sau trích formant tín hiệu sử dụng phương pháp kết hợp mẫu để nhận dạng tiếng nói III Kết luận sơ bộ: Luận văn thực việc :mở rộng nhớ cho DSP56002, nhận liệu âm từ qua giao tiếp SSI DSP56002 CS4215, thực trích formant tín hiệu tiếng nói dùng giải thuật STFT Cuối thực việc nhận dạng tiếng nói ứng dụng để điều khiển GIỚI THIỆU BỘ XỬ LÍ TÍN HIỆU SỐ &KHỐI ĐÁNH GIÁ DSP56002 Trong chương này, giới thiệu tổng quát xử lý tín hiệu số DSP56002 chân A MÔ TẢ TỔNG QUÁT BỘ XỬ LÍ TÍN HIỆU SỐ DSP56002: DSP56002 xử lí tín hiệu đơn chip, đa dụng Khối đánh giá DSP56002EVM có giá thành thấp, sử dụng xử lí DSP56002 cho việc thiết kế hệ thống xử lí tín hiệu số thời gian thực Họ xử lí DSP56000 tạo thành từ chip vi xử lí tín hiệu số 24-bit, hiệu suất cao vùng mở rộng Trong vùng mở rộng, chip trợ giúp cấu hình cho thiết bò nhớ ngoại vi thay đổi tùy theo loại họ DSP56002 loại họ xử lí DSP56000 bao gồm phận xử lí tín hiệu số tương thích vơí họ 56000, nạp RAM chương trình chip, có RAM liệu độc lập, ROM liệu với bảng sine, µ-law va A-law DSP56002 chứa giao tiếp truyền thông nối tiếp, giao tiếp chủ song song, đếm thời gian/sự kiện, vòng khóa pha, cổng mô chip Bộ xử lí DSP56002 cung cấp đặc trưng phong phú việc xử lí tín hiệu số DSP56002 24 bit DSP56000 Family manual #DSP56KFAMUM/AD DSP56002 User’s Manual #DSP56002UM/AD DSP56002 Technical data #DSP56002/D DSP56002 Technical Literature I.KHỐI TRUNG TÂM XỬ LÍ TÍN HIỆU SỐ 1.Những phận chính: 1.1.Ba đơn vò thực thi độc lập: • Đơn vò liệu số học logic • Đơn vò cấp phát đòa chỉ(AGU) • Đơn vò điều khiển chương trình 1.2.Bốn bus liệu 24 bit độc lập: • Bus liệu X (XDB) • Bus liệu Y (YDP) • Bus liệu chương trình (PDB) • Bus liệu toàn cục (GDB) 1.3.Ba bus đòa 16 bit độc lập: • Bus đòa X (XAB) • Bus đòa Y (YAB) • Bus đòa chương trình (PAB) 1.4.Cổng mở rộng nhớ (Port A) 1.5.Mạch mô chip (OnCE) 1.6.Vòng khóa pha (PLL) 2.Đặc điểm DSP56002:  40 triệu lệnh/giây (MIPS) tần số 80Mhz  240 triệu phép xử lí /giây (MOPS) tần số 80Mhz  Thực lệnh song song với chế độ đònh đòa  Nhân tích lũy song song 24x24 bit chu kỳ lệnh (2 chu kỳ xung clock)  Đặt zero đầu dòng lặp DO  Các ngắt tự động trở nhanh  Thiết kế CMOS tiêu thụ công suất thấp  Chế độ treo(standby) tiêu thụ công suất thấp cho STOP WAIT II.VÙNG MỞ RỘNG Những phậân vùng mở rộng: • Ram chương trình 512x24 • Ram liệu 256x24 • Rom liệu 256x24 • Giao tiếp chủ độ rộng byte phương pháp DMA • Cổng giao tiếp nối tiếp đồng (SSI) • Cổng giao tiếp nối tiếp bất đồng bộ(SCI) B.GIỚI THIỆU DSP56002EVM DSP56002EVM công cụ phần cứng dành cho việc thiết kế, sữa lỗi đánh giá hệ thống DSP56002 Bao gồm ba phận quan trọng: • Mạch đánh giá DSP56002 chứa xử lí DSP56002, nhớ mở rộng off-chip, biến đổi stereo A/D D/A, mạch giao tiếp điều khiển, nhiều đường nối dành cho truy xuất • Trình biên dòch Motorola • Cửa sổ giao diện phần mềm debug EVM Phần mềm chạy MS-DOS nối liền với EVM qua port nối tiếp RS-232 Người sử dụng phải cung cấp nguồn 7→9V AC DC, 700mA cáp RS-232 với bus liệu MÁY TÍNH RS-232 MC68705 MCU OnCEPORT 32Kx24 SDRAM SSI STEREO A/D-D/A DSP56002 SCI RS-232 A / D – D / A C.GIỚI THIỆU TỔNG QUÁT CÁC CHÂN: Error: Reference source not found FLASH EEPROM D0-D23 A0-A15 PS DS X/ Y BN RD WR BR BG WT BS MODC / NMI MODB / IRQB MODA / IRQA RESET Port A Data Port B Host HO-H7/PB0-PB7 HA0-HA2/PB8-PB10 HR / W / PB11 HEN / PB12 HREQ / PB13 HACK / PB14 Port A Address Port C SSI RXD/PC0 TXD/PC1 SCLK/PC2 SC0-SC2/PC3-PC5 SCK/PC6 SRD/PC7 STD/PC8 OnCE DSCK/OS1 DSI/OS0 DSO DR Bus Control Interrupt/ Mode Control EXTAL XTAL Clock Oscillator TIO Timer/ Event Counter PLL Power Ground PCAP CKP PLOCK PINIT CKOUT VCC GND MÔ TẢ CHÂN DSP 56002 1.Các tín hiệu cổng A: Các tín hiệu cổng A chia thành ba nhóm chức năng: • Bus đòa (A0-A15) • Bus liệu (D0-D23) 23 11 10 Reference source not found Error: • Bit TE cho phép Timer: TE =1 :cho phép Timer hoạt động TE = 0(Reset) :cấm Timer • Bit cho phép ngắt Timer TIE: cho phép Timer ngắt sau đếm đạt giá trò zero xảy kiện TIE =1 :cho phép ngắt TIE = 0(Reset) :cấm ngắt • Bit chuyển đổi INV: ảnh hưởng cực tính tín hiệu bên vào TIO cực tính xung tạo chân TIO Nếu TIO ngõ vào INV = 0, việc truyền → chân vào TIO giảm đếm Nếu TIO ngõ INV = 1, xung tạo Timer đảo ngược trước đến chân TIO Nếu INV = 0, xung không bò ảnh hưởng • Các bit điều khiển Timer: TC2 – TC0 BẢNG CHỨC NĂNG TC2 0 0 1 1 TC1 0 1 0 1 TC0 1 1 TIO Xuất /Nhập Ra Ra Ra Vào Vào Vào Vào CLOCK Trong Trong Trong Trong Trong Trong Ngoài Ngoài Chế độ Timer(Mode 0) Timer pulse (Mode 1) Timer Toggle(Mode 2) Không sử dụng Độ rộng xung vào (Mode 4) Chu kỳ vào (Mode 5) Bộ đếm thời gian chuẩn(Mode 6) Bộ đếm kiện (Mode 7) • Bit GPIO :nếu GPIO =1 TC2 –TC0 = 000 chân TIO hoạt động chân xuất nhập • Bit trạng thái Timer (TS): TS = đếm giảm zero Bit TS xóa đọc TCSR xóa xảy phục vụ ngắt Timer Reset TS = • Bit trực tiếp DIR : DIR = :TIO chân DIR = :TIO chân vào • Bit liệu vào /ra DI DO III Các chế độ hoạt động đònh thời đếm kiện: 1./ Chế độ Timer ( chế độ đònh thời chuẩn, xung nhòp bên trong, không cho đầu đònh thời) Chế độ đònh nghóa bit TCSR: TC2-TC0 000 Với Timer cho phép (TE=1), đếm nạp giá trò chứa TCR Bộ đếm giảm một xung nhòp lấy từ DSP bên trong, chia cho (CLK/2) Trong suốt chu kỳ xung nhòp sau điểm mà đếm đạt giá trò không, bit TS đặt Timer cung cấp ngắt Bộ đếm nạp lại giá trò chứa TCR toàn trình lập lại Timer không cho phép (TE=0) 2./ Chế độ Timer ( chế độ Timer chuẩn, xung nhòp bên trong, cho phép xung ra): Chế độ Timer đònh nghóa TC2-TC0 001 Với Timer cho phép (TE=1), đếm nạp giá trò chứa TCR Bộ đếm giảm một xung nhòp lấy từ bên DSP chia cho hai (CLK/2) Trong suốt chu kỳ xung nhòp sau điểm mà đếm đạt giá trò không, bit TS đặt Timer cấp ngắt Một xung với độ rộng chu kỳ xung nhòp cực tính xác đònh INV, xuất chân TIO Bộ đếm nạp lại giá trò chứa TCR Toàn trình lặp lại Timer không cho phép (TE=0) 3./ Chế độ Timer 2(chế độ Timer chuẩn, xung nhòp bên trong, cho phép lật đầu ra): Chế độ Timer đònh nghóa TC2-TC0 000 Với Timer cho phép (TE=1), đếm nạp giá trò chứa TCR Bộ đếm bò giảm một xung nhòp lấy từ xung nhòp bên DSP, chia cho (CLK/2) Trong suốt chu kỳ xung nhòp sau điểm mà đếm đạt giá trò 0, bit TS TCSR đặt TIE đặt, ngắt cấp Bộ đếm nạp lại giá trò chứa TCR toàn trình lặp lại Timer không phép (TE=0) Mỗi lần Timer đạt giá trò 0, chân TIO lật Bit IVN xác đònh cực tính chân TIO 4./ Chế độ Timer (chế độ đo độ rộng xung): Chế độ Timer đònh nghóa TC2-TC0 000 Trong chế độ này, TIO hành động tín hiệu xung nhòp DSP Với Timer cho phép (TE=1), đếm điều khiển xung nhòp lấy từ xung nhòp bên DSP chia cho (CLK/2) Bộ đếm nạp giá trò chuyển tiếp chân vào TIO bắt đầu tăng Khi cạnh cực tính dương xuất TIO đếm dừng bit TS TCSR đặt TIE đặt ngắt cấp phát Nội dung đếm nạp vào TCR Chương trình người sử dụng đọc TCR mà biểu diễn độ rộng xung TIO Quá trình xử lý lặp lại Timer không cho phép (TE=0) Bit IVN xác đònh việc đếm cho phép TIO mức cao (IVN=0) TIO mức thấp (IVN=1) 5./ Chế độ Timer 5(chế độ đo chu kỳ): Chế độ Timer đònh nghóa TC2-TC0 101 Trong chế độ Timer 5, đếm điều khiển xung nhòp lấy từ xung nhòp bên DSP chia cho (CLK/2) Với Timer cho phép (TE=1), đếm nạp giá trò chứa TCR bắt đầu tăng Khi chuyển tiếp xảy cực tính xuất TIO, bit TS TCSR đặt ngắt cung cấp Nội dung đếm nạp vào TCR Chương trình người sử dụng đọc TCR trừ giá trò liên tiếp đếm để xác đònh khoảng cách cạnh TIO Bộ đếm không dừng tiếp tục tăng Bit IVN xác đònh chu kỳ đo chuyển tiếp từ lên TIO (IVN=0)hoặc xuống TIO (IVN=1) 6./ Chế độ Timer (chế độ nhớ Timer chuẩn, xung nhòp ngoài): Chế độ Timer đònh nghóa TC2-TC0 110 Với Timer cho phép (TE=1), đếm nạp giá trò bù chứa TCR Bộ đếm tăng nhờ chuyển tiếp tín hiệu vào chân TIO Sau lần tăng 1, giá trò đếm nạp vào TCR Bằng cách đó, việc đọc TCR cho giá trò đếm lúc Tại chuyển tiếp sau điểm mà đếm đạt giá trò 0, bit TS TCSR đặt TIE đặt ngắt cấp phát Bộ đếm quay vòng trình xử lý lặp lại Timer không cho phép (TE=0) Bit IVN xác đònh chuyển tiếp từ lên (IVN=0) từ xuống tăng đếm 7./ Chế độ Timer (chế độ Timer chuẩn, xung nhòp ngoài) Chế độ Timer đònh nghóa TC2-TC0 111 Với Timer cho phép (TE=1), đếm nạp giá trò chứa TCR Bộ đếm giảm nhờ chuyển đổi tín hiệu vào chân vào TIO Tại chuyển tiếp xảy sau đếm đạt giá trò 0, bit TS TCSR đặt TIE đặt, Timer cung cấp ngắt Bộ đếm nạp lại giá trò chứa TCR toàn trình lặp lại Timer không cho phép (TE=0) Bit IVN xác đònh chuyển tiếp từ lên hay từ xuống giảm đếm TẬP LỆNH DSP DSP56002 Chương mô tả tập lệnh vi xử lí DSP56002 gồm 67 lệnh Mỗi lệnh có chiều dài hay hai từ Trong số có 30 lệnh cho phép truyền hay hai liệu song song Tập lệnh đươc chia nhóm sau: nhóm truyền liệu, số học, logic, thao tác bit, vòng lặp nhóm điều khiển chương trình Tập lệnh chứa nhiều lệnh đònh hướng xử lí tín hiệu số A DẠNG LỆNH: 1./Lệnh từ: Lệnh từ tác động lên tất chế độ đònh đòa DSP56002, ngoại trừ chế độ đònh đòa tuyệt đối liệu tức thời Mã hợp ngữ nguồn cho loại lệnh từ nhận biết dựa vào bốn vùng: vùng mã nguồn, vùng toán hạng, vùng liệu tuyến tính X, vùng truyền liệu tuyến tính Y Vùng mã nguồn: vùng thường cho phép tính toán ALU thực hiện, xác đònh phép truyền, đònh đòa tổng quát, điều khiển chương trình Vùng toán hạng:xác đònh toán hạng sử dụng mã nguồn Vùng truyền liệu: vùng truyền liệu xác đònh việc lựa chọn tuyến truyền chế độ đònh đòa tương ứng Ví dụ : MAC X0,Y0,B X:R(0)+,X0 Y:(R4)+,Y0 2./ Lệnh hai từ: Đònh đòa tuyệt đối chế độ đònh đòa liệu tức thời lệnh hai từ cung cấp đòa tuyệt đối 16 bit đầy đủ hay liệu tức thời 24 bit đầy đủ Ví dụ: MOVE #$123456,A0 MOVE #$2000,A0 B CÁC THAO TÁC TRUYỀN DỮ LIỆU SONG SONG: Ba mươi lệnh DSP56002 thực phép truyền hay hai liệu chu kì lệnh đồng thời với mã nguồn lệnh Dữ liệu truyền từ ghi đến ghi, ghi đến nhớ từ nhớ đến ghi cho phép Nếu ghi tích lũy A, B ghi nguồn phép dòch hay phép giới hạn xảy truyền liệu Nếu A, B ghi đích dấu mở rộng zero tự động đẩy vào bit thấp truyền liệu Khi phép truyền hai liệu thực thi lệnh nguồn cho phép đích không cho phép Ví dụ : SUBL B , A B , X:(R0) B , Y:(R4) ; cho phép ADD B , A X1, B Y1, A ;không cho phép C CÁC LOẠI TRUYỀN DỮ LIỆU SONG SONG: Các loại truyền song song là: oTruyền liệu ngắn tức thời oCập nhật ghi đòa oTruyền nhớ X hay Y oTruyền nhớ X hay Y ghi oTruyền nhớ L oTruyền nhớ XY 1./TRUYỀN DỮ LIỆU NGẮN TỨC THỜI: Thao tác truyền song song truyền toán hạng ngắn tức thời bit đến ghi đích Toán hạng bit biểu diễn số nguyên không dấu hay số phân số có dấu phụ thuộc vào ghi đích a./ Toán hạng tức thời số nguyên không dấu: Một toán hạng ngắn tức thời biểu diễn số nguyên không dấu ghi đích A2, A1, A0, B2, B1, B0, R7…R0, N7…N0 Dữ liệu bit chứa bit có trọng số thấp ghi đích bit cao ghi đích tự động reset thành zero Ví dụ : ADD B,A #$81,B0 ;B0=$000081 b./ Toán hạng ngắn tức thời số phân số có dấu: Một toán hạng ngắn tức thời bit biểu diễn số phân số có dấu ghi đích X0, X1, Y0,Y1, A hay B Toán hạng bit chứa bit có trọng số cao ghi đích, bit thấp ghi đích tự động reset thành zero Ví dụ : ADD B,A #$81,B ;B0=$ff810000 000000 2./ Truyền liệu từ ghi đến ghi: Thao tác truyền song song truyền nội dung ghi nguồn đến ghi đích Ví dụ: ADD B,A B,X1 3./ Cập nhật ghi đòa chỉ: Thao tác truyền song song cập nhật nội dung ghi đòa Rn tùy thuộc chế độ đònh đòa ghi Ví dụ: ADD B,A (R1)+N1 4./ Truyền liệu nhớ X hay Y: Thao tác truyền liệu song song truyền toán hạng đến từ đến hay nhớ X Y Từ nhớ X hay Y đến ghi ngược lại Ví dụ: ADD A,B A,X:$100 ADD A,B Y:$100,A 5./ Truyền liệu nhớ X hay Y ghi: Thao tác truyền song song truyền toán hạng từ đến nhớ X hay Y toán hạng từ ghi đến ghi Ví dụ: ADD X,A A,X:(R3+N3) A,Y1 6./ Truyền liệu nhớ dài: Thao tác truyền song song truyền từ dài toán hạng đến từ nhớ L (X:Y) Hai ghi liệu ALU nối kết với tạo thành toán hạng từ dài Điều cho phép giá trò liệu xác gấp đôi hay giá trò phức truyền đến hay từ nhớ L 7./ Truyền liệu nh XY: Thao tác truyền song song truyền hai từ đơn toán hạng đến hay từ nhớ X Y Ví dụ: ADD X,B X:(R0) +,X1 Y0,Y:(R7)- D TẬP LỆNH DSP56002 : Tập lệnh DSP56002 chia thành nhóm sau :  Truyền liệu  Số học  Logic  Thao tác bit  Vòng lặp  Điều khiển chương trình 1./ Các lệnh truyền : Lệnh truyền liệu Bus liệu X, bus liệu Y, bus liệu chương trình bus liệu toàn cục Các lệnh xem liệu ALU NOP (không xử lí )với khả thực phép truyền song song Lệnh truyền tác động lên bit giới hạn L bit chia tỉ lệ S ghi mã điều khiển (CCR), L bit thứ S bit thứ CCR chiếm bit thấp ghi trạng thái (SR) Bit L tác động giới hạn xảy đọc ghi tích lũy liệu ALU Bit S tác động liệu tăng thêm tác động ghi tích lũy A B truyền bus Các lệnh truyền: 1.1 Lệnh LUA: Cập nhật đòa Ví dụ: LUA (R0)+N0,N1 ; Cập nhật ghi đòa R0 chứa đòa cập nhật N1 1.2 Lệnh MOVE:Truyền liệu Ví dụ : MOVE X1,B 1.3.Lệnh MOVEC (hay MOVE): Truyền liệu ghi điều khiển Ví dụ: MOVEC A,LC ; Truyền nội dung ghi tích lũy đến ghi điều khiển vòng lặp Hay MOVE A,LC 1.4.Lệnh MOVEM (hay MOVE): Truyền nội dung đến nhớ chương trình ngược lại Ví dụ :MOVE R3,P:(R2)-N2 Hay MOVEM R3,P:(R2)-N2 MOVE P:$0000,LC Hay MOVEM P:$000,LC 1.5.Lệnh MOVEP : Truyền liệu ngoại vi Ví dụ : MOVEP X:$FFFE , A 2./ Các lệnh số học Các lệnh số học dùng ALU liệu để thực thực tất loại phép xử lí số học Toán hạng nguồn cho lệnh số học chứa ghi nhập ALU liệu hay ghi tích lũy Toán hạng dành cho kết tạo thực thi lệnh số học ghi A hay B Các lệnh số học cho phép truyền song song xảy đồng thời với việc thực thi mã lệnh Thao tác truyền song song sử dụng bus liệu X Y đến ALU liệu việc dùng lệnh truyền kết tạo thực thi lệnh trước kế từ ALU liệu đến nhớ X hay Y Lệnh số học thực thi chu kì lệnh ảnh hưởng đến tất bit ghi mã lệnh điều kiện Những lệnh số học: - ABS Giá trò tuyệt đối - ADC Cộng với cờ - ADD Cộng - ADDL Dòch trái sau cộng - ADDR Dòch phải sau cộng - ASL Dòch trái - ASR Dòch phải - CLR Xóa - CMP So sánh - CMPM So sánh độ lớn - DEC Giảm - DIV Chia - INC Tăng - MAC Nhân / Tích lũy - MACR Nhân / Tích lũy làm tròn - MPY Nhân - MPYR Nhân Làm tròn - NEG Lấy phần bù - NORM Chuẩn hóa - RND Làm tròn - SBC Trừ với cờ nhớ - SUB Trừ - SUBL Dòch trái sau trừ - SUBR Dòch phải sau trừ - TCC Truyền có điều kiện - TFR Truyền - TST Kiểm tra 2.1 Các lệnh cộng trừ số học : Lệnh ADC Thao tác S+D+C→ D Cú pháp ADC S , D [pm] ADD S+D → D ADD S , D [pm] ADDL S+2D→ D ADDDL S, D [pm] ADDR S+D/2→ D ADDR S , D [pm] SBC D-S-C→ D SBC S , D [pm] SUB D-S → D SUB S , D SUBL 2D-S → D SUBL S , D [pm] [pm] Nguồn X,Y A X , X1 , X0 Y , Y1 , Y0 A B A B X,Y A B X , X1 , X0 Y , Y1 , Y0 A Đích A,B B A,B A,B B A B A A,B B A A,B A,B B SUBR D/2-S → D SUBR S , D [pm] B A B A B A C : Cờ nhớ [pm] : Truyền song song 2.2 Các lệnh nhân số học : Trong phép tính nhân, kết chứa ghi tích lũy A B Nguồn S1, S2 ghi: X1, X0 , Y1 , Y0 Lệnh MAC Thao tác D ± (S1*S2) → D D ± (S1*2 − n ) → D Cú pháp MAC ± S1 , S2 , D MAC ± S1 , #n , D MACR D ± (S1*S2)+r → D D ± (S1*2 − n )+r → D ± (S1*S2) → D ± (S1*2 − n ) → D MACR ± S1 , S2 , D MACR ± S1 , #n , D ± (S1*S2) + r → D ± (S1*2 − n ) + r → D MPYR ± S1 , S2 , D MPYR ± S1 , #n , D MPY MPYR [pm] MPY ± S1 , S2 , D MPY ± S1 , #n , D [pm] [pm] [pm] [pm] : truyền song song r : làm tròn 2.3 Các lệnh số học khác : Lệnh Cú pháp Thao tác TFR TFR S , D [pm] S→D NEG ABS CLEAR NEG D ABS D CLR D 0–D→D D → D 0→D Lệnh Cú pháp NORM NORM R n, D [pm] [pm] [pm] Thao tác Nếu E.U.Z = ASL → D R n −1 → R n Nếu E =1 ASR → D R n +1 → R n Ngược lại NOP Nguồn A B X1 , X0 Y1 , Y0 Nguồn Đích B A A,B B,A A,B A,B A,B Đích A,B R n : Đòa ghi Rn E : Bit mở rộng (Bit thứ 15 ghi trạng thái) U : Bit không bình thường (Bit thứ ghi trạng thái) Z : Bit zero (bit thứ ghi trạng thái) 3./ Các lệnh logic : Các lệnh logic sử dụng liệu ALU để thực tất loại thao tác logic Các toán hạng nguồn logic (ngoại trừ ANDI ORI) chứa ghi nhập hay ghi tích lũy liệu ALU, kết tạo lệnh logic (ngoại trừ ANDI ORI) chứa ghi tích lũy A hay B Kết tạo lệnh ANDI ORI chứa ghi MR, CCR, OMR Các lệnh logic (ngoại trừ ANDI ORI) cho hai phép truyền song song thực thi đồng thời với phép toán nguồn Phép truyền song song sử dụng XDB YDB Vì vậy, phép truyền song song truyền liệu thoát khỏi nhớ X hay Y đến liệu ALU với lệnh truyền kết tạo lệnh đến trước từ liệu ALU đến nhớ X hay Y Các lệnh logic thực thi chu kì lệnh tác động đến tất bit ghi mã điều khiển CCR 3.1 Lệnh LOGIC: Lệnh AND Cú pháp AND S , D Thao tác S*D → D OR OR S , D S+D → D EOR EOR S , D S⊕D→D NOT NOT D _ D Nguồn X1 , X0 Y1 , Y0 X1 , X0 Y1 , Y0 X1 , X0 Y1 , Y0 → D Đích A,B A,B A,B A,B A,B A,B A,B Những lệnh lệnh thao tác 24 bit, thực bit 24 →47 ghi tích lũy A B 3.2 Lệnh dòch xoay: Lệnh LSL Cú pháp LSL D ROL ROL D LSR LSR D Thao tác Dòch trái ghi tích lũy Bit 24 = C = bit 47 Xoay trái ghi tích luỹ Bit 24 = C C = bit 47 Dòch phải ghi tích lũy Bit 24 = Đích A,B A,B A,B ROR ROR D C = bit 24 Xoay phải ghi tích lũy Bit 47 = C C = bit 24 A,B 3.3 Lệnh LOGIC tức thời : Lệnh ANDI ORI Cú pháp ANDI #xx , D ORI #xx , D Thao tác #xx * D → D #xx + D → D Đích MR , CCR , OMR MR , CCR , OMR 4./ Lệnh thao tác bit : Những lệnh thao tác bit : BCLR Kểm tra xóa bit BSET Kiểm tra set bit BCHG Kiểm tra thay đổi bit BTST Kiểm tra bit nhớ ghi Lệnh BCLR Cú pháp Thao tác BCLR #n , X: D(n) → C BCLR #n , Y: → D(n) BCLR #n , D BSET BSET #n , X: D(n) → C BSET #n , Y: → D(n) BSET #n , D BCHG BCHG #n , X: D(n) → C − BCHG#n,Y: D(n) → D(n) BCHG #n , D BTST BTST #n , X: BTST #n , Y: D(n) → C BTST #n , D D(n) bit thứ n vùng toán hạng 24 bit , ≤ n ≤ 23 5./ Các lệnh vòng lặp: Các lệnh vòng lặp DO ENDDO Lệnh ngắt DO tạo để bắt đầu vòng lặp DO phần cứng Lệnh ENDDO dùng để kết thúc ngang vòng lặp DO phần cứng trước hoàn thành Nội dung ghi đếm vòng lặp (LC) xác đònh số lần vòng lặp lặp lại Nội dung ghi (LA) vò trí từ lệnh cuối vòng lặp DO LC LA nén vào hệ thống Stack (SS), cho phép vòng lặp DO phần cứng ngắt hay chèn Chúng đẩy khỏi vùng Stack lệnh RET hay ENDDO 6./ Các lệnh điều khiển chương trình: Các lệnh điều khiển chương trình bao gồm lệnh nhảy, nhảy có điều kiện lệnh tác động lên PC SS Dữ liệu truyền XDB YDB xác đònh số lệnh điểu khiển chương trình Những lệnh có tác động lên CCR * Các lệnh điều khiển chương trình : DEBUG DEBUG cc Ill Jcc JMP JCLR JSET JScc JSR JSCLR JSSET NOP REP RESET RTI RTS STOP SWI WAIT Vào chế độ sửa lỗi Vào chế độ sửa lỗi Lệnh không hợp lệ Nhảy có điều kiện Nhảy Nhảy bit clear (nhảy bit =0) Nhảy bit set (nhảy bit =1) Nhảy đến chương trình có điều kiện Nhảy đến chương trình Nhảy đến chương trình bit clear Nhảy đến chương trình bit set Không làm Lặp lại lệnh Reset thiết bò ngoại vi chip Trở từ ngắt Trở từ chương trình Ngừng xử lí Ngắt phần mềm Chờ ngắt BẢNG NHÓM CÁC LỆNH ĐIỀU KHIỂN CHƯƠNG TRÌNH Mã nguồn Phép toán TEMP,#xxx → LC Lặp lại lệnh LC=1 TEMP → LC LC → REP JSET Nếu S(n)= xxxx → PC Ngược lại PC+1 → PC JCLR Nếu S(n)= xxxx → PC Ngược lại PC+1 → PC JSSET Nếu S(n)= SP+1 → SP PC → SSH SR → SSL xxxx → PC Ngược lại PC+1 → PC Nếu S(n)= SP +1 → SP PC → SSH SR → SSL xxxx → PC Ngược lại PC+1 → PC JSCLR Cấu trúc ngữ pháp REP #xxx REP X: REP Y: REP S JSET #n,X:,xxxx JSET #n,Y:,xxxx JSET #n,S,xxxx JCLR #n,X:,xxxx JCLR #n,Y:,xxxx JCLR #n,S,xxxx JSSET #n,X:,xxxx JSSET #n,Y:,xxxx JSSET #n,S,xxxx JSCLR #n,X:,xxxx JSCLR #n,Y:,xxxx JSCLR #n,S,xxxx KẾT QUẢ Vì mô hình điều khiển động thiết lập có chức left, right, stop nên từ vựng điều khiển động left, right, stop Để xem xét độ xác của chương trình nhận dạng, từ cần nhận dạng đọc vào so sánh với từ từ vựng lấy D1 làm sở kết so sánh Lặp lại trình lần ta kết sau: Đọc Kết so sánh (D1) right stop 388 219 220 258 15 Kết left (1) right stop left 15 421 396 left (2) right stop 12 462 307 408 294 273 261 17 left right stop left (3) right stop 13 444 396 435 270 218 243 14 left right stop left right stop Qua lần thử nghiệm cho thấy kết nhận dạng chấp nhận Quá trình thử nghiệm thực môi trường nhiễu, môi trường có nhiễu độ xác giảm bớt KẾT LUẬN Luận văn thực đầy đủ nhiệm vụ đặt đề tài: Xây dựng điều khiển nhận dạng tiếng nói xử lý tín hiệu số DSP56002 Cụ thể luận văn hoàn tất phần sau: Hoàn tất board mạch mở rộng nhớ cho DSP56002 board mạch điều khiển động Đã mở rộng nhớ với 64kbytes cho vùng nhớ X Y DSP56002 Thực việc nhận tín hiệu từ ngoài(micro)lưu vào RAM thông qua giao tiếp nối tiếp SSI DSP56002 CS4215 đồng thời phát tín hiệu loa Tìm hiểu công cụ toán học để xử lý tín hiệu từ phân tích Fourier đến tính STFT Ứng dụng công cụ biến đổi Fourier thời gian ngắn STFT vào DSP56002 trích formant tín hiệu tiếng nói Sau trích formant sử dụng phương pháp kết hợp mẫu để nhận dạng tín hiệu tiếng nói nhận dạng Từ kết nhận dạng ứng dụng để điều khiển Như vậy, luận văn nghiên cứu hoàn tất nhận dạng tiếng nói dựa công cụ phân tích tín hiệu STFT (Short Time Fourier Transform ) Trong luận văn nhận dạng tiếng nói với từ vựng nhỏ Do đặc trưng tiếng nói thay đổi qua lần phát âm dù từ người nói nên độ xác việc nhận dạng chưa cao Vì vấn đề lại mở rộng kích thước từ vựng tăng thêm độ xác hệ thống Việc lấy mẫu tín hiệu chuẩn huấn luyện nhiều lần nhiều người huấn luyện để tăng độ xác cho hệ thống cho nhiều người sử dụng Đồng thời kết hợp thêm nhiều vi xử lý hoạt động song song [...]... thấp và HEN được công bố, H0-H7 là các đầu vào 4.4 Chủ yêu cầu (HREQ): Tín hiệu ra cực máng hở này được sử dụng bởi giao tiếp chủ để yêu cầu phục vụ từ bộ xử lí chủ, bộ điều khiển DMA, hoặc một bộ điều khiển bên ngoài đơn giản 4.5 Chủ chấp nhận (HACK): Đầu vào này có hai chức năng Nó cung cấp một tín hiệu bắt tay chủ chấp nhận cho việc truyền DMA và có thu một ngắt chủ chấp nhận tương thích với bộ xử. .. cho phép bộ xử lý hoạt động tại một tốc độ bộ nhớ thấp, các trạng thái chờ có thể được thêm vào truy xuất bộ nhớ ngoài để giảm năng lượng một cách có ý nghóa khi bộ xử lý truy xuất các bộ nhớ này Bus đòa chỉ 16 bit trong XA YA Chọn bus đòa chỉ ngoài Bus đòa chỉ ngoài A0 –A15 II Giao tiếp cổng A: Bộ xử lý PADSP56002 có thể truy xuất một hoặc nhiều nguồn bộ nhớ của nó (bộ nhớ xử lý X,Y và bộ nhớ chương... xuất bộ nhớ dữ liệu và chương trình ngoài D0 – D23 ở trạng thái tổng trở cao khi tín hiệu cấp bus được khẳng đònh 2 Điều khiển bus cổng A: Các tín hiệu điều khiển bus cổng A cung cấp một phương tiện để kết nối với các chủ bus phụ (có thể là DSP56002 phụ, các bộ xử lí, các bộ điều khiển truy xuất bộ nhớ trực tiếp P, …) thông qua cổng A đến DSP56002 Chúng là ba trạng thái trong suốt thời gian reset và. .. (bit được đặt bằng 0) hoặc ngỏ ra (bit được đặt bằng 1) Nếu một chân được cấu hình như một ngỏ vào GPIO và bộ xử lý đọc PBD thì bộ xử lý sẽ ghi nhận mức logic trên chân Nếu bộ xử lý ghi vào PBD thì dữ liệu được chốt ở đó nhưng không xuất hiện trên chân vì lúc này đang ở trạng thái HiZ Nếu một chân được cấu hình như một đầu ra GPIO và bộ xử lý đọc PBD thì ghi nhận nội dung của PBD thay vì mức logic trên...nhỏ: • Bus điều khiển Các tín hiệu điều khiển có thể chia thành 3 nhóm  Điều khiển ghi đọc (RD~/WR~)  Lựa chọn không gian đòa chỉ (bao gồm chọn bộ nhớ chương trình PS~, chọn bộ nhớ dữ liệu DS~, chọn X/Y~)  Điều khiển truy xuất (BN~, BR~, BG~,WT~, BS~) 2 .Điều khiển chế độ ngắt: 2.1 Chế độ A / Yêu cầu ngắt ngoài A / Lấy lại STOP: Đầu vào này có ba chức năng Nó làm việc với các chân MODB và MODC để... khối bộ đếm thời gian /sự kiện Khi chân TIO được sử dụng như đầu vào, khối có chức năng như một bộ đếm sự kiện bên ngoài hoặc nó đo độ rộng xung/chu kì tín hiệu bên ngoài Khi TIO được sử dụng như đầu ra, khối có chức năng như một bộ đinh thời và tín hiệu trên chân TIO là xung nhòp đònh thời MÔ TẢ CHỨC NĂNG DSP56002 Chương này đề cập đến các chế độ đònh đòa chỉ và cấu trúc bộ xử lí DSP56002 Cấu trúc bộ. .. một lệnh Các Bus dữ liệu 24 nguồn bộ nhớ có thể ở bên trong hay ngoài đối với DSP56002 bit bên trong XD YD Chọn bus dữ liệu ngoài Bus dữ liệu ngoài D0 –D15 PD Tín hiệu điều khiển Bus GD Logic điều khiển bus ngoài RD WR PS DS X/Y BN BR BG WT BS PORT A CỦA DSP56002 1.Bus dữ liệu &bus đòa chỉ cổng A: Các tín hiệu bus dữ liệu và đòa chỉ cổng A điều khiển việc truy xuất bộ nhớ ngoài Chúng là ba trạng thái... thực thi: DSP56002 gồm ba đơn vò thực thi ALU dữ liệu, PCU và AGU 3 Cổng mở rộng bộ nhớ: (cổng A ) Cổng mở rộng bộ nhớ bao gồm một tuyến đòa chỉ 16-bit, một tuyến dữ liệu hai chiều 24-bit và các tín hiệu điều khiển Nó được dùng để giao tiếp với bộ xử lí DSP56002 để mở rộng bộ nhớ hay thiết bò ngoại vi Những thiết bò ngoại vi này gồm RAM tónh tốc độ cao, thiết bò bộ nhớ thấp hơn, DSP khác và MPU khác... 0 II ĐƠN VỊ MAC VÀ LOGIC: Đơn vò MAC và LOGIC thực hiện tất cả các phép tính toán toán hạng của bộ xử lí DSP56002 như cộng, trừ, AND, OR, XOR và NOT Nó cho phép ba toán hạng nhập và cho kết quả 56 bit được chứa trong thanh ghi tích lũy A và B 1 Biểu diễn dữ liệu phân số bù 2: Đơn vò MAC và logic sử dụng dữ liệu phân số bù 2 trong thuật giải của DSP56002, trong đó phân số là một số bất kì mà độ lớn... đồng bộ hoá xung clock nội PLL thực hiện việc nhân tần số, loại bỏ tính bất đối xứng và chia nhỏ công suất II VÙNG MỞ RỘNG 1 Các bộ nhớ nội: Bộ xử lí DSP56002 có 6 bộ nhớ on-chip: RAM dữ liệu X, ROM dữ liệu X, RAM dữ liệu Y, ROM dữ liệu Y, RAM bộ nhớ chương trình và ROM bootstrap(tự khởi động) RAM dữ liệu X và Y là hai bộ nhớ nội 24-bit chiếm giữ 256 ô nhớ vò trí thấp nhất của khoảng đòa chỉ X và Y

Ngày đăng: 20/11/2016, 20:44

Mục lục

  • LUẬN VĂN TỐT NGHIỆP

    • GVHD : Thầy LÊ TUẤN ANH

      • SVTH : HUỲNH QUỐC TRÂM

      • MSSV : 49701564

      • A. MÔ TẢ TỔNG QUÁT BỘ XỬ LÍ TÍN HIỆU SỐ DSP56002:

      • I.KHỐI TRUNG TÂM XỬ LÍ TÍN HIỆU SỐ

      • MÔ TẢ CHỨC NĂNG DSP56002

        • XD

        • YD

        • BỘ NHỚ DỮ LIỆU

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan