Tìm hiểu dsp starter kit tms320c6713

76 391 2
Tìm hiểu dsp starter kit tms320c6713

Đ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

Tìm hiểu dsp starter kit tms320c6713

ĐӖ ÁN TӔT NGIӊP CHƯƠNG I : TӘNG QUAN Vӄ KIT TMS320C6713 I GIӞI THIӊU CHUNG Vӄ KIT TMS320C6713 Tәng quan DSP Starter Kit TMS320C6713 kit phát triӇn cho phép ngưӡi sӱ dөng thiӃt kӃ thӱ nghiӋm ӭng dөng cho chip xӱ lý tín hiӋu sӕ TMS320C6713 cӫa Texas Instruments DSK có thӇ đưӧc sӱ dөng mӝt thiӃt kӃ tham khҧo cho giao tiӃp giӳa DSP vӟi thành phҫn phә biӃn SDRAM, FLASH bӝ mã hóa/giҧi mã codec Trên Kit có bӝ JTAG emulator cho phép gӥ rӕi chương trình tӯ Code Composer Studio thông qua cәng USB cӫa máy tính DSK có chӭa thành phҫn cҫn thiӃt đӇ làm viӋc vӟi DSP cӫa TI DSK có thӇ sӱ dөng vӟi phiên bҧn đҫy đӫ cӫa Code Composer Studio mӝt bӝ JTAG emulator GVHD: ĐҺNG PHƯӞC HҦI TRANG SVTH: NGUYӈN ĐÌNH SƠN ĐӚ ĐÌNH CƯ Trang ĐӖ ÁN TӔT NGIӊP Hình 1.1 Các thành ph̯n kèm vͣi DSK TMS320C6713 Hình 1.2: KIT TMS 320C6713 1.1 Sơ đӗ khӕi đһc trưng cӫa DSK TMS320C6713 GVHD: ĐҺNG PHƯӞC HҦI TRANG SVTH: NGUYӈN ĐÌNH SƠN ĐӚ ĐÌNH CƯ Trang ĐӖ ÁN TӔT NGIӊP          Hình 1.3 Sơ đ͛ kh͙i DSK C6713 C6713 DSK có 264kB bӝ nhӟ trong, bҳt đҫu tҥi 0x00000000 16MB bӝ nhӟ SDRAM ngoài, đưӧc ánh xҥ qua CE0 bҳt đҫu tҥi 0x80000000 DSK bao gӗm 512kB bӝ nhӟ FLash (256kB sҹn sàng cho ngưӡi sӱ dөng), đưӧc ánh xҥ qua CE1 bҳt đҫu tҥi 0x90000000 Mӝt sӕ đһc trưng: DSP TMS320C6713 hoҥt đӝng ӣ tҫn sӕ 225MHz Mӝt bӝ codec stereo AIC23 16 Mbytes DRAM đӗng bӝ 512 Kbytes bӝ nhӟ Flash (cҩu hình mһc đӏnh 256 Kbytes) LED DIP switches Cҩu hình board bҵng lӋnh thông qua ghi cӫa CPLD Khe cҳm mӣ rӝng JTAG emulation Nguӗn cҩp +5V Chip DSP DSK giao tiӃp vӟi ngoҥi vi kit thông qua bӝ giao tiӃp bӝ nhӟ EMIF (Extrenal Memory InterFace) có đӝ rӝng 32 bit SDRAM, Flash CPLD đưӧc kӃt nӕi vӟi bus Các tín hiӋu EMIF đưӧc kӃt nӕi vӟi card mӣ rӝng thông qua connector đӇ kӃt nӕi vӟi card cӫa hãng thӭ ba DSP giao tiӃp vӟi tín hiӋu audio tương tӵ thông qua bӝ codec AIC23 bӕn jack audio 3.5mm (microphone input, line input, line output, headphone output) Tҥi mӝt thӡi điӇm, bӝ codec có thӇ lӵa chӑn microphone hoһc line input đҫu vào Lӕi tương tӵ đưӧc điӅu khiӇn cho cҧ line output ( khuӃch đҥi cӕ đӏnh) headphone (khuӃch đҥi có GVHD: ĐҺNG PHƯӞC HҦI TRANG SVTH: NGUYӈN ĐÌNH SƠN ĐӚ ĐÌNH CƯ Trang ĐӖ ÁN TӔT NGIӊP thӇ điӅu chӍnh) McBSP0 đưӧc sӱ dөng đӇ gӱi lӋnh tӟi bӝ giao tiӃp điӅu khiӇn codec McBSP1 đưӧc sӱ dөng cho dӳ liӋu audio sӕ CPLD (Programmable logic device) đưӧc sӱ dөng kӃt nӕi logic thành phҫn kit CPLD giao tiӃp ngưӡi dùng thông qua viӋc cho phép cҩu hình kit bҵng cách đӑc ghi tӟi ghi cӫa DSK có LED DIP switch cung cҩp cho ngưӡi sӱ dөng tương tác, phҧn hӗi đơn giҧn Code Composer giao tiӃp vӟi DSK thông qua mӝt bӝ JTAG emulator nhúng sҹn sӱ dөng cәng USB DSK có thӇ đưӧc sӱ dөng vӟi mӝt bӝ emulator qua kӃt nӕi JTAG 1.2 Hoҥt đӝng bҧn DSK đưӧc thiӃt kӃ đӇ làm viӋc vӟi phҫn mӅm phát triӇn Code Composer Studio (CCStudio) Code Composer giao tiӃp vӟi Kit thông qua bӝ JTAG emulator on-board Sau cài đһt phҫn mӅm CCStudio, làm theo bưӟc sau đӇ kӃt nӕi DSK vӟi máy tính KӃt nӕi DSK vӟi máy tính thông qua cable USB chuҭn Nӕi nguӗn vӟi DSK Khӣi đӝng CCStudio máy tính 1.3 Bҧn đӗ nhӟ Hӑ C67xx có không gian đӏa chӍ lӟn Chương trình dӳ liӋu có thӇ đһt ӣ vӏ trí bҩt kǤ không gian nhӟ Các đӏa chӍ có đӝ rӝng 32 bit Bҧn đӗ nhӟ chӍ không gian đӏa chӍ chung cӫa DSP 6713 bên trái mөc đích sӱ dөng cө thӇ cӫa DSK ӣ bên phҧi Mһc đӏnh, bӝ nhӟ nҵm ӣ đӏa chӍ đҫu cӫa không gian đӏa chӍ Các phҫn cӫa bӝ nhӟ có thӇ cҩu hình lҥi bҵng phҫn mӅm EMIF có vùng đӏa chӍ riêng rӁ đưӧc gӑi CE0-CE3 SDRAM chiӃm CE0 bӝ nhӟ Flash CPLD chia sҿ CE1 CE2 CE3 dành cho kӃt nӕi mӣ rӝng GVHD: ĐҺNG PHƯӞC HҦI TRANG SVTH: NGUYӈN ĐÌNH SƠN ĐӚ ĐÌNH CƯ Trang ĐӖ ÁN TӔT NGIӊP Hình 1.4 B̫n đ͛ nhͣ t͝ chͱc b͡ nhͣ cͯa DSK C6713 1.4 Switch thiӃt lұp cҩu hình DSK có switch cho phép ngưӡi sӱ dөng điӅu khiӇn trҥng thái hoҥt đӝng cӫa DSK bҳt thӵc hiӋn Bҧng Xác lұp switch cҩu hình hoҥt đӝng cho DSK GVHD: ĐҺNG PHƯӞC HҦI TRANG SVTH: NGUYӈN ĐÌNH SƠN ĐӚ ĐÌNH CƯ Trang ĐӖ ÁN TӔT NGIӊP Switch điӅu khiӇn endianness cӫa DSP switch cҩu hình chӃ đӝ khӣi đӝng đưӧc sӱ dөng DSP bҳt đҫu thӵc hiӋn Switch điӅu khiӇn bӝ phân kênh on-chip lӵa chӑn tín hiӋu HPI McASP mang tӟi connector mӣ rӝng HPI Mһc đӏnh, tҩt cҧ swich ӣ trҥng thái off tương ӭng vӟi EMIF khӣi đӝng chӃ đӝ little endian tín hiӋu HPI đưa tӟi connector mӣ rӝng HPI Các thành phҫn cӫa DSK 2.1 CPLD (Programmable Logic) CPLD đưӧc sӱ dөng đӇ thӵc thi chӭc cө thӇ cӫa DSK ViӋc thiӃt kӃ phҫn cӭng thưӡng sӱ dөng tұp hӧp khӕi chӭc khác tұn dөng khҧ tích hӧp cao cӫa DSP, tránh sӱ dөng thành phҫn logic bên CPLD thӵc thi chӭc logic khác đӇ loҥi bӓ thiӃt bӏ thêm vào hӋ thӕng Ví dө, CPLD kӃt nӕi nhiӅu tín hiӋu reset khác đӃn tӯ nút reset theo dõi nguӗn tҥo mӝt tín hiӋu reset chung C6713 DSK sӱ dөng mӝt CPLD Altera EPM3128TC100-10 EPM3128TC100-10 hoҥt đӝng ӣ điӋn áp 3.3V, 100 chân dҥng đóng vӣ QFP, chӭa 128 macrocells, 80 chân vào/ra, thӡi gian trӉ 10 ns tӯ chân đӃn chân ThiӃt bӏ dӵa EEPROM có thӇ cҩu hình hӋ thӕng thông qua giao tiӃp JTAG File mã nguӗn cӫa CPLD đưӧc viӃt theo chuҭn công nghiӋp VHDL kèm vӟi DSK 2.2 AIC23 Codec DSK sӱ dөng mӝt bӝ codec stereo AIC23 cӫa Texas Instruments cho tín hiӋu audio vào/ra Bӝ codec lҩy mүu tín hiӋu tương tӵ microphone hoһc line input chuyӇn đәi chúng tín hiӋu sӕ đӇ DSP có thӇ xӱ lý đưӧc Khi DSP hoàn thành viӋc xӱ lý, sӱ dөng bӝ codec đӇ chuyӇn mүu thành tín hiӋu tương tӵ đưӡng line output headphone đӇ ngưӡi sӱ dөng có thӇ nghe đưӧc ĐiӋn áp lӟn nhҩt cӫa tín hiӋu lӕi vào đưӧc xác đӏnh bӣi mҥch ADC codec, giá trӏ Vpp vӟi codec Kit Hình 1.5 H͏ th͙ng DSP vͣi tín hi͏u vào/ra tương t͹ GVHD: ĐҺNG PHƯӞC HҦI TRANG SVTH: NGUYӈN ĐÌNH SƠN ĐӚ ĐÌNH CƯ Trang ĐӖ ÁN TӔT NGIӊP Bӝ codec giao tiӃp vӟi DSP sӱ dөng hai kênh nӕi tiӃp, mӝt đӇ điӅu khiӇn ghi cҩu hình bên codec mӝt đӇ gӱi nhұn mүu audio sӕ McBSP0 đưӧc sӱ dөng kênh điӅu khiӇn mӝt hưӟng Nó đưӧc lұp trình đӇ gӱi tӯ điӅu khiӇn có đӝ rӝng 16 bit tӟi AIC23 dưӟi đӏnh dҥng SPI bit cao cӫa tӯ điӅu khiӇn xác đӏnh ghi đưӧc điӅu chӍnh biӃt thҩp chӭa giá trӏ ghi Kênh điӅu khiӇn chӍ đưӧc sӱ dөng cҩu hình codec, ӣ trҥng thái nghӍ dӳ liӋu audio đưӧc truyӅn Hình 1.6 Giao ti͇p cͯa Codec DSK McBSP1 đưӧc sӱ dөng kênh dӳ liӋu hai hưӟng Tҩt cҧ dӳ liӋu audio qua kӋnh Rҩt nhiӅu đӏnh đҥng dӳ liӋu đưӧc hӛ trӧ dӵa sӵ thay đәi đӝ rӝng mүu, nguӗn tín hiӋu clock đӏnh dҥng dӳ liӋu nӕi tiӃp Các ví dө DSK nói chung sӱ dөng đӝ rӝng mүu 16 bit vӟi codec ӣ chӃ đӝ chӫ, tҥo tín hiӋu đӗng bӝ khung ӣ tӕc đӝ lҩy mүu mà không cҫn sӵ can thiӋp cӫa DSP Codec có tҫn sӕ xung nhӏp hӋ thӕng 12MHz Bӝ chia bên codec tҥo tҫn sӕ lҩy mүu phә biӃn 48KHz, 44.1KHz 8KHz Tӕc đӝ lҩy mүu đưӧc đһt bӣi ghi SAMPLERATE cӫa codec AIC23 bӝ code stereo audio, thӵc hiӋn tҩt cҧ chӭc đòi hӓi cӫa ADC, DAC, bӝ lӑc thông thҩp, oversampling GVHD: ĐҺNG PHƯӞC HҦI TRANG SVTH: NGUYӈN ĐÌNH SƠN ĐӚ ĐÌNH CƯ Trang ĐӖ ÁN TӔT NGIӊP Hình 1.7 Sơ đ͛ kh͙i TLV320AIC23 codec 2.3 SDRAM DSK sӱ dөng 128 megabit bӝ (16 megabytes) nhӟ SDRAM giao tiӃp qua EMIF 32 bit SDRAM đưӧc đánh đӏa chӍ tҥi đӏa chӍ bҳt đҫu CE0 (có đӏa chӍ 0x8000 0000) Bӝ GVHD: ĐҺNG PHƯӞC HҦI TRANG SVTH: NGUYӈN ĐÌNH SƠN ĐӚ ĐÌNH CƯ Trang ĐӖ ÁN TӔT NGIӊP điӅu khiӇn SDRAM đưӧc tích hӧp mӝt phҫn cӫa EMIF phҧi đưӧc cҩu hình bҵng phҫn mӅm đӇ hoҥt đӝng thích hӧp Xung nhӏp EMIF đưӧc tính tӯ xác lұp PLL nên đưӧc cҩu hình bҵng phҫn mӅm ӣ tҫn sӕ 90MHz Con sӕ dӵa trên mӝt xung nhӏp nӝi cӫa PLL 450MHz đӇ thu đưӧc tҫn sӕ hoҥt đӝng 225MHz nhӡ bӝ chia 90MHz nhӡ bӝ chia Khi sӱ dөng SDRAM, bӝ điӅu khiӇn phҧi đưӧc xác lұp đӇ làm tươi mӛi hàng cӫa mҧng nhӟ mӛi 15.6 micro giây đӇ trì dӳ liӋu Vӟi tҫn sӕ xung nhӏp 90Mhz cӫa EMIF, thӡi gian tương ӭng vӟi 1400 chu kǤ bus 2.4 Bӝ nhӟ FLASH Flash loҥi bӝ nhӟ không mҩt nӝi dung mҩt nguӗn Khi đӑc giӕng mӝt bӝ nhӟ ROM Flash có thӇ đưӧc xóa theo khӕi lӟn đưӧc đưӧc gӑi sector hoһc trang Mӝt mӝt khӕi đưӧc xóa mӛi tӯ có thӇ đưӧc lұp trình thông qua mӝt chuӛi lӋnh đһc biӋt Sau toàn bӝ khӕi phҧi đưӧc xóa lҥi lҫn nӳa đӇ thay đәi nӝi dung DSK sӱ dөng 512Kbyte bӝ nhӟ Flash làm tùy chӑn khӣi đӝng Nó có đӏa chӍ bҳt đҫu cӫa CE1 (đӏa chӍ 0x9000 0000) Flash đưӧc nӕi tҥo bӝ nhӟ 256K 16 bit hӛ trӧ tùy chӑn khӣi đӝng 16-bit cӫa DSK Tuy nhiên, phҫn mӅm kèm vӟi DSK coi bӝ nhӟ Flash bӝ nhӟ bit (bӓ qua bit cao) đӇ phù hӧp vӟi chӃ đӝ khӣi đӝng mһc đӏnh cӫa 6713 Trong cҩu hình này, chӍ có 256 Kbytes có thӇ sӱ dөng không thay đәi phҫn mӅm 2.5 Leds switch DSK có led truy nhұp đưӧc bҵng phҫn mӅm (D7-D10) DIP switch cung cҩp cho ngưӡi sӱ dөng cách vào/ra đơn giҧn Cҧ Leds switch đưӧc truy nhұp thông qua ghi USER_REG cӫa CPLD II CÁC VҨN Đӄ Vӄ NGҲT Gӟi thiӋu vӅ ngҳt Phҫn mô tҧ ngҳt CPU, bao gӗm reset ngҳt không che đưӧc (NMI) Các ghi điӅu khiӇn CPU chӭc cӫa điӅu khiӇn ngҳt đưӧc mô tҧ Quá trình xӱ lý ngҳt, phương pháp mà CPU sӱ dөng đӇ tӵ đӝng phát hiӋn sӵ xuҩt hiӋn cӫa ngҳt chuyӇn viӋc thӵc hiӋn cӫa chương trình tӟi chương trình phөc vө ngҳt đưӧc trình bày Phҫn cuӕi mô tҧ trình thӵc thi cӫa ngҳt GVHD: ĐҺNG PHƯӞC HҦI TRANG SVTH: NGUYӈN ĐÌNH SƠN ĐӚ ĐÌNH CƯ Trang ĐӖ ÁN TӔT NGIӊP Thông thưӡng, DSP làm viӋc môi trưӡng có chӭa nhiӅu sӵ kiӋn bҩt đӗng bӝ Các sӵ kiӋn đòi hӓi chip DSP phөc vө chúng xҧy Mӝt ngҳt mӝt sӵ kiӋn thӵc hiӋn dӯng trình hiӋn tҥi CPU đӇ CPU có thӇ giҧi quyӃt nhiӋm vө cҫn thiӃt tương ӭng vӟi sӵ kiӋn Các nguӗn ngҳt có thӇ on chip hoһc off chip bӝ timers, bӝ chuyӇn đәi ADC hoһc thiӃt bӏ ngoҥi vi khác Mӝt ngҳt thӵc hiӋn cҩt giӳ trҥng thái hiӋn tҥi, hoàn thành nhiӋm vө cӫa chương trình phөc vө ngҳt, lҩy lҥi nӝi dung ghi bӕi cҧnh cӫa trình tҥi thӡi điӇm bӏ ngҳt tiӃp tөc công viӋc tҥi vӏ trí bӏ gián đoҥn Có tám ghi điӅu khiӇn dӏch vө ngҳt Mӝt sӵ chuyӇn đәi tương đӕi cӫa mӝt chân ngҳt đһt trҥng thái chӡ ngҳt bên ghi cӡ ngҳt (IFR) NӃu ngҳt tương ӭng đưӧc cho phép, CPU bҳt đҫu trình phөc vө ngҳt chuyӇn hưӟng chương trình tӟi chương trình phөc vө ngҳt tương ӭng Các loҥi ngҳt tín hiӋu đưӧc sӱ dөng Có ba loҥi ngҳt CPU TMS320C6000 bao gӗm:  Reset  Ngҳt không che đưӧc NMI  Ngҳt che đưӧc Ba loҥi ngҳt khác bӣi mӭc đӝ ưu tiên cӫa chúng Ngҳt reset có mӭc ưu tiên cao nhҩt tương ӭng vӟi tín hiӋu RESET Ngҳt không che đưӧc có mӭc đӝ ưu tiên cao thӭ hai tương ӭng vӟi tín hiӋu NMI Các ngҳt có mӭc ưu tiên thҩp nhҩt ngҳt 4-15 tương ӭng vӟi tín hiӋu ngҳt INT4-INT15 RESET, NMI mӝt sӕ tín hiӋu INT4-INT15 đưӧc ánh xҥ đӃn chân C6000 Mӝt sӕ ngҳt INT4-INT15 đưӧc sӱ dөng bӣi ngoҥi vi bên mӝt sӕ có thӇ điӅu khiӇn bҵng phҫn mӅm GVHD: ĐҺNG PHƯӞC HҦI TRANG SVTH: NGUYӈN ĐÌNH SƠN ĐӚ ĐÌNH CƯ Trang 10 ĐӖ ÁN TӔT NGIӊP Diagnostics Utility: vӟi biӇu tưӧng TiӃp theo hӝp thoҥi 6713 DSK Diagnostics xuҩt hiӋn: e) 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 tҩt cҧ đèn xanh hӝp thoҥi sáng KIT đưӧc chuҭn bӏ sҷn sàng cho phҫn thí nghiӋm Chҥy chương trình tҥo mӟi mӝt project: a) 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 sau: GVHD: ĐҺNG PHƯӞC HҦI TRANG SVTH: NGUYӈN ĐÌNH SƠN ĐӚ ĐÌNH CƯ Trang 61 ĐӖ ÁN TӔT NGIӊP b) Khi chương trình chҥy xuҩt hiӋn vӟi hình dҥng ngҳn gӑn sau: c) Ta tҥo mӟi Project vӟi bưӟc sau (ӣ ta không tҥo mӟi mà ta mӣ chương trình mҭu vӟi cҩu trúc đơn giҧn nhҩt sau nӃu cҫn thiӃt tӯ chương trình đơn giҧn ta chӍnh sӱa lҥi ): Vào Tab Project Open« Ә đӍa C (đưӡng dүn đӃn file mҭu Ta có đưӡng dүn ta cài đһt chương trình) CCStudio Examples dsk 6713 bsl tone Khi ta mӣ file tone Thì ta có đoҥn chương trình mҭu sau: a) Chương trình tín hiӋu sóng sin: #include "dsk6713.h" #include "dsk6713_aic23.h" G͕i thư vi͏n chương trình cho KIT thí nghi͏m Khai báo bi͇n toàn cͭc #include "dsk6713_led.h" #include "dsk6713_dip.h" short loop = ; short gain = 10 ; Int16 outbuffer[256] ; // Khai báo ki͋u s͙ nguy͋n s͙ 16, bít Int16 out_buffer ; const short BUFFERLENGTH = 256 ; //khai báo h̹ng int i = ; GVHD: ĐҺNG PHƯӞC HҦI TRANG SVTH: NGUYӈN ĐÌNH SƠN ĐӚ ĐÌNH CƯ Trang 62 ĐӖ ÁN TӔT NGIӊP DSK6713_AIC23_Config config = { 0x0017, 0x0017, 0x00d8, 0x00d8, Gán 10 giá tr͓ cho bi͇n config 0x0011, 0x0000, 0x0000, 0x0043, Gán 48 giá tr͓ cho m̫ng sinetable 0x0001, 0x0001 }; Int16 sinetable[48] = G͕i hàm { 0x0000 , 0x10b4 , 0x2120 , 0x30fb , 0x3fff , 0x4dea , 0x5a81 , 0x658b , 0x6ed8 , 0x763f , 0x7ba1 , 0x7ee5 , 0x7ffd , 0x7ee5 , 0x7ba1 , 0x76ef , 0x6ed8 , 0x658b , 0x5a81 , 0x4dea , 0x3fff , 0x30fb , 0x2120 , 0x10b4 , 0x0000 , 0xef4c , 0xdee0 , 0xcf06 , 0xc002 , 0xb216 , 0xa57f , 0x9a75 , DSK6713_LED_init ( ) ; DSK6713_DIP_init ( ) ; GVHD: ĐҺNG PHƯӞC HҦI TRANG SVTH: NGUYӈN ĐÌNH SƠN ĐӚ ĐÌNH CƯ Trang 63 ĐӖ ÁN TӔT NGIӊP hCodec = DSK6713_AIC23_openCodec ( , &config ) ; while ( ) // Các 0x9128 , 0x89c1 , 0x845f , 0x811b , 0x8002 , 0x811b , 0x845f , 0x89c1 , 0x9128 , 0x9a76 , 0xa57f , 0xb216 , 0xc002 , 0xcf06 , 0xdee0 , 0xef4c }; Uint32 fs = DSK6713_AIC23_FREQ_48KHZ ; // g͕i chương trình thư vi͏n void main ( ) // chương trình { DSK6713_AIC23_CodecHandle hCodec ; DSK6713_init ( ) ; c̭u trúc vòng l̿p đi͉u ki͏n, g͕i hàm, gán bi͇n { if (DSK6713_DIP_get ( ) == 0) { DSK6713_LED_on ( ) ; outbuffer [ i ] = sinetable [ loop ] ; out_buffer = outbuffer [ i ] ; while ( !DSK6713_AIC23_write (hCodec , sinetable [ loop ] - gain )) ; while ( !DSK6713_AIC23_write (hCodec , sinetable [ loop ] - gain )) ; i++; if ( i==BUFFERLENGTH) i = 0; if (++loop > 47) loop = ; } else DSK6713_LED_off ( ) ; GVHD: ĐҺNG PHƯӞC HҦI TRANG SVTH: NGUYӈN ĐÌNH SƠN ĐӚ ĐÌNH CƯ Trang 64 ĐӖ ÁN TӔT NGIӊP } } DSK6713 openCodec ( ) hCodec = DSK6713 AIC23 openCodec ( , &c o n f i g ) ; hCodec = DSK6713 AIC23 closeCodec ( , &c o n f i g ) ; Trên chương trình mã hóa tӯ chương trình tín hiӋu Sin vӟi tҩn sӕ 1KHz, chӑn KIT 16 bit code, code đưӧc cҩu hình đӇ chҩp nhұn dӱ liӋu 48000 mүu dӱ liӋu stereo 1s có bҧng giá trӏ 48 mҭu chu kǤ Tín hiӋu đưӧc chuyӇn sang tín hiӋu tương tӵ phát ngõ Line Output đӃn loa công suҩt nhӓ b) Khi ta viӃt chương trình xong, ta kӃt nӕi KIT vӟi máy tính bҵng phím nóng Alt + C (hoһc ta vào tab Debug hoһc biӇu tương ӣ góc trái dưӟi cӫa chương trình) c) TiӃp theo vào Tab Option: Ta thiӃt lұp thông sӕ cho KIT cung giá trӏ, tҫn sӕ cho chương trình thӵc hiӋn d) ĐӇ Build Load project ta nhҩn phím F7 có thӇ Project Build hoһc biӇu tưӧng e) ĐӇ chҥy chương trinh nhҩn phím F5 hoһc Debug Run Và ngưng Shift + F5 f) KӃt quҧ hình ҧnh dҥng sóng sin thu đưӧc ta vào: View Graph Ta đưӧc hình sau: GVHD: ĐҺNG PHƯӞC HҦI TRANG SVTH: NGUYӈN ĐÌNH SƠN ĐӚ ĐÌNH CƯ Trang 65 ĐӖ ÁN TӔT NGIӊP g) Chương trình tín hiӋu sóng TAM GIÁC: Tӯ chương trình sóng sin ӣ ta chӍ thay đәi 48 mүu giá trӏ gán cho biӃn sinetable [48], thành 48 mҭu mӟi ӭng vӟi dҥng sóng tam giác đӇ hiӇu rӓ chương trình ta có thӇ thay đәi tên biӃn sinetble [48] cho phù hӧp Vӟi cách tính toán sau Ta có 48 mүu cho toàn chu kǤ T vұy ½ T 24 mүu dҥng sóng có tính chҩt đӕi xӭng nên ta có thӇ tính ¼ T, có 12 mүu đҫu tiên ĐӇ tính khoҧng mҭu cho xung tam giác ta tính sau:(ĐӇ dӇ tính toán ta đәi vӅ sӕ thұp phân) Ta tính cho nӳa chu kǤ đҫu (dương) ¢ 7ffd h = 7x163 + 15x162 + 15x161 + 13x160 = 32765 ¢ 0000 h = 0.Tӯ giá trӏ cӵc đҥi tính đӃn giá trӏ cӵc tiӇu 12 khoҧng nên chia cho 12 ¢ Khoҧng giá trӏ giӳa cách mүu: ! STT Sӕ thұp 273 32765  ! 2730 12 ¢ Vì sóng dҥng tam giác hàm tuyӃn tính nên ta tính đưӧc 12 giá trӏ ¼ T sau: 10 11 5460 8190 1092 1365 GVHD: ĐҺNG PHƯӞC HҦI TRANG SVTH: NGUYӈN ĐÌNH SƠN ĐӚ ĐÌNH CƯ 1638 1911 21840 2457 2730 3003 12 3276 Trang 66 ĐӖ ÁN TӔT NGIӊP phân Sӕ Hex 0 0 0 0 0aaa h 1554 h 1ffe h 2aa8 h 3552 h 3ffc h 4aa6 h 5550 h 5ffa h 6aa4 h 754e h 7ffd h ¢ Giá trӏ mүu 12 32760 } 32765 =7ffd h ¢ ¼ T tiӃp theo ta lҩy đӕi xӭng qua tӯ giá thӏ cӵc đҥi Ta tính cho nӳa chu kǤ sau (âm) ¢ 8002 h = 8x163 + 0x162 + 0x161 + 2x160 = 32770 Là giá trӏ cӵc tiӇu nhӓ nhҩt ¢ ef4c h = 14x163 + 15x162 + 4x161 +12x160 = 61260 Tӯ giá trӏ cӵc tiӇu tính đӃn giá trӏ 11 khoҧng nên chia cho 11 khoҧng ¢ Khoҧng giá trӏ giӳa cách mүu: ! ¢ Vì sóng dҥng tam giác hàm tuyӃn tính nên ta tính đưӧc 12 giá trӏ ¼ T lҩy giá trӏ cӵc tiӇu cҩp sӕ cӝng vӟi sӕ gia 2730 đưӧc sau: 10 11 STT Sӕ thұp phân 3277 Sӕ Hex 32770  } 2730 12 3550 3823 4096 4369 4642 4915 5188 5461 5734 12 6007 6280 8002 h 8aac h 9556 h a000 h aaaa h b554 h bffe h caa8 h d552 h dffc h eaa6 h f550 h ¢ Giá trӏ mүu 12 62800 ta lҩy giá trӏ = 0000 h ¢ ¼ T tiӃp theo ta lҩy đӕi xӭng qua tӯ giá thӏ cӵc đҥi ¢ Đoҥn chương chình viӃt lҥi cho sóng Tam Giác là: #include "dsk6713.h" #include "dsk6713_aic23.h" G͕i thư vi͏n chương trình cho KIT thí nghi͏m Khai báo bi͇n toàn cͭc #include "dsk6713_led.h" #include "dsk6713_dip.h" short loop = ; short gain = 10 ; Int16 outbuffer[256] ; GVHD: ĐҺNG PHƯӞC HҦI TRANG SVTH: NGUYӈN ĐÌNH SƠN ĐӚ ĐÌNH CƯ // Khai báo ki͋u s͙ nguy͋n s͙ 16, bít Trang 67 ĐӖ ÁN TӔT NGIӊP Int16 out_buffer ; const short BUFFERLENGTH = 256 ; //khai báo h̹ng int i = ; DSK6713_AIC23_Config config = { 0x0017, 0x0017, 0x00d8, 0x00d8, Gán 10 giá tr͓ cho bi͇n config 0x0011, 0x0000, 0x0000, 0x0043, 0x0001, 0x0001 }; Int16 tamgiactable[48] = { 0x0000 , 0x0aaa , 0x1554 , 0x1ffe , 0x2aa8 , 0x3552 , 0x3ffc , 0x4aa6 , 0x5550 , 0x5ffa , 0x6aa4 , 0x754e , 0x7ffd , 0x754e , 0x6aa4 , 0x5ffa , 0x5550 , 0x4aa6 , 0x3ffc , 0x3552 , 0x2aa8 , 0x1ffe , 0x1554 , 0x0aaa , 0x0000 , 0xf550 , 0xeaa6 , 0xdffc , 0xd552 , 0xcaa8 , GVHD: ĐҺNG PHƯӞC HҦI TRANG SVTH: NGUYӈN ĐÌNH SƠN ĐӚ ĐÌNH CƯ Gán 48 giá tr͓ cho bi͇n sinetable Trang 68 ĐӖ ÁN TӔT NGIӊP 0xbffe , 0xb554 , 0xaaaa , 0xa000 , 0x9556 , 0x8aac , 0x8002 , 0x8aac , 0x9556 , 0xa000 , 0xaaaa , 0xb554 , 0xbffe , 0xcaa8 , 0xd552 , 0xdffc , 0xeaa6 , 0xf550 }; Uint32 fs = DSK6713_AIC23_FREQ_48KHZ ; // g͕i chương trình thư vi͏n void main ( ) // chương trình { DSK6713_AIC23_CodecHandle hCodec ; DSK6713_init ( ) ; G͕i hàm DSK6713_LED_init ( ) ; DSK6713_DIP_init ( ) ; hCodec = DSK6713_AIC23_openCodec ( , &config ) ; while ( ) // Các c̭u trúc vòng l̿p đi͉u ki͏n, g͕i hàm, gán bi͇n { if (DSK6713_DIP_get ( ) == 0) { DSK6713_LED_on ( ) ; outbuffer [ i ] = tamgiactable [ loop ] ; out_buffer = outbuffer [ i ] ; while ( !DSK6713_AIC23_write (hCodec , tamgiactable [ loop ] - gain )) ; while ( !DSK6713_AIC23_write (hCodec , tamgiactable [ loop ] - gain )) ; i++; if ( i==BUFFERLENGTH) i = 0; if (++loop > 47) loop = ; GVHD: ĐҺNG PHƯӞC HҦI TRANG SVTH: NGUYӈN ĐÌNH SƠN ĐӚ ĐÌNH CƯ Trang 69 ĐӖ ÁN TӔT NGIӊP } else DSK6713_LED_off ( ) ; } } DSK6713 openCodec ( ) hCodec = DSK6713 AIC23 openCodec ( , &c o n f i g ) ; hCodec = DSK6713 AIC23 closeCodec ( , &c o n f i g ) ; h) Chương trình tín hiӋu sóng VUÔNG: Trong ¼T đҫu tiên ta chon giá trӏ 0000 h 1/4T tiӃp theo ta có thӇ chӑn cӵc đҥi hay cӵc tiӇu lұp lҥi đӫ tҫn sӕ lҩy mүu Và có thӇ chӑn 1/2T đҫu giá trӏ cӵc đҥi hay cӵc tiӇu đӅu đưӧc 1/2T tiӃp theo ngưӧc lҥi Giá trӏ cӵc tiӇu ¢ Đoҥn chương trình khai báo gán giá trӏ lҩy mүu cho mҧng vuongtable [48] ³sinetable [48]´, sau: Int16 sinetable[48] = { GVHD: ĐҺNG PHƯӞC HҦI TRANG SVTH: NGUYӈN ĐÌNH SƠN ĐӚ ĐÌNH CƯ Trang 70 ĐӖ ÁN TӔT NGIӊP 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x7ffd , 0x7ffd , 0x7ffd , 0x7ffd , 0x7ffd , 0x7ffd , 0x7ffd , 0x7ffd , 0x7ffd , 0x7ffd , 0x7ffd , 0x7ffd , Gán 48 giá tr͓ cho m̫ng sinetable 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x7ffd , 0x7ffd , 0x7ffd , 0x7ffd , 0x7ffd , 0x7ffd , 0x7ffd , 0x7ffd , 0x7ffd , 0x7ffd , 0x7ffd , 0x7ffd , }; => Sau chҥy chương trình Load dҥng sóng ta đưӧc sau: vӟi hình sau ta lҩy 1/8T chu kǤ Là giá trӏ đҫu mӭc thҩp chӭ không phҧi 12 giá trӏ ӣ GVHD: ĐҺNG PHƯӞC HҦI TRANG SVTH: NGUYӈN ĐÌNH SƠN ĐӚ ĐÌNH CƯ Trang 71 ĐӖ ÁN TӔT NGIӊP Int16 randomtable[SINE_TABLE_SIZE] = { 0x0000 , 0x0ba2 , 0x1745 , 0x22e7 , 0x2e8a , 0x3a2d , 0x45cf , 0x5172 , 0x5d15 , 0x68b7 , 0x745a , 0x7ffd , 0x8002 , 0x8aac , 0x9556 , 0xa000 , 0xaaaa , 0xb554 , 0xbffe , 0xcaa8 , 0xd552 , 0xdffc , 0xeaa6 , 0xf550 , 0x0000 , 0x0ba2 , 0x1745 , 0x22e7 , 0x2e8a , 0x3a2d , 0x45cf , 0x5172 , 0x5d15 , 0x68b7 , 0x745a , 0x7ffd , 0x8002 , 0x8aac , 0x9556 , 0xa000 , 0xaaaa , 0xb554 , 0xbffe , 0xcaa8 , 0xd552 , 0xdffc , 0xeaa6 , 0xf550 Gán 48 giá tr͓ cho bi͇n sinetable }; => Sau chҥy chương trình Load dҥng sóng ta đưӧc sau: i) Chương trình tín hiӋu sóng Hình Tháp: Tương tӵ phҫn tính dҥng sóng Tam Giác, ta tính đưӧc 1/4T, lҩy mүu đưӧc 13 mүu vӟi 12 khoҧng GVHD: ĐҺNG PHƯӞC HҦI TRANG SVTH: NGUYӈN ĐÌNH SƠN ĐӚ ĐÌNH CƯ Trang 72 ĐӖ ÁN TӔT NGIӊP Tӯ dҥng sóng Tam Giác bҧng giá trӏ gán cho 48 mүu cӫa sóng Tam Giác: Ta tính cho nӳa chu kǤ đҫu (dương) cӫa dҥng sóng Tam Giác, vӟi khoҧng giá trӏ giӱa mүu vүn 2730 10 11 12 Mүu Sӕ thұp phân 2730 5460 8190 10920 13650 16380 19110 21840 24570 27300 30030 32760 Sӕ Hex 0000 0aaa h 1554 h 1ffe h 2aa8 h 3552 h 3ffc h 4aa6 h 5550 h 5ffa h 6aa4 h 754e h 7ffd h h ¢ Vӟi hình dҥng sóng Hình Tháp vӟi ¼ T 12 mүu => 11 khoҧng cách cӫa mүu Và dҥng sóng có đoҥn riêng biӋt: k Đoҥn đҫu tiên chӑn khoҧng có mүu Mүu Sӕ thұp phân GVHD: ĐҺNG PHƯӞC HҦI TRANG SVTH: NGUYӈN ĐÌNH SƠN ĐӚ ĐÌNH CƯ 2730 5460 8190 10920 Trang 73 13 ĐӖ ÁN TӔT NGIӊP Sӕ Hex 0000 h 0aaa h 1554 h 1ffe h 2aa8 h k Đoҥn chӑn khoҧng có mүu tiӃp tiӃp theo đưӡng ngan nên mүu = giá trӏ mүu cuӕi cӫa đoҥn Mүu Sӕ thұp phân Sӕ Hex 10920 10920 10920 10920 2aa8 h 2aa8 h 2aa8 h 2aa8 h k Đoҥn chӑn khoҧng tiӃp theo vұy có mүu tiӃp theo lҩy giá trӏ 10920 +2730 Mүu 10 11 12 13 Sӕ thұp phân Sӕ Hex STT Sӕ thұp phân 3277 Sӕ Hex 13650 16380 19110 21840 3552 h 3ffc h 4aa6 h 5550 h ¢ Giá trӏ mүu 13 21840 = 5550 h ¢ ¼ T tiӃp theo ta lҩy đӕi xӭng qua tӯ giá thӏ cӵc đҥi Ta tính cho nӳa chu kǤ sau (âm) cӫa dҥng sóng Tam Giác, vӟi khoҧng giá trӏ giӱa mүu vүn 2730 10 11 3550 3823 4096 4369 4642 4915 5188 5461 5734 12 6007 6280 8002 h 8aac h 9556 h a000 h aaaa h b554 h bffe h caa8 h d552 h dffc h eaa6 h f550 h ¢ Ta nhұn thҩy ӣ ½ T thӭ cӫa dҥng sóng có giá trӏ cӵc đҥi mүu thӭ cӫa sóng Tam Giác, vұy ӣ ½ T thӭ lҩy tương đương mүu thӭ GVHD: ĐҺNG PHƯӞC HҦI TRANG SVTH: NGUYӈN ĐÌNH SƠN ĐӚ ĐÌNH CƯ Trang 74 ĐӖ ÁN TӔT NGIӊP cӫa ½ T thӭ 1, mүu thӭ 5: (43690 = aaaa h) cӫa ½ T thӭ làm giá trӏ cӵc tiӇu ta tính đưӧc sau: k Đoҥn đҫu tiên chӑn khoҧng có mүu Mүu Sӕ thұp phân Sӕ Hex 0000 h 62800 60070 57340 54610 f550 h eaa6 h dffc h d552 h k Đoҥn chӑn khoҧng có mүu tiӃp tiӃp theo đưӡng ngan nên mүu = giá trӏ mүu cuӕi cӫa đoҥn Mүu Sӕ thұp phân Sӕ Hex 54610 54610 54610 54610 d552 h d552 h d552 h d552 h k Đoҥn chӑn khoҧng tiӃp theo vұy có mүu tiӃp theo lҩy giá trӏ 43690 + 2730 Mүu 10 11 12 13 Sӕ thұp phân Sӕ Hex 51880 49150 46420 43690 caa8 h bffe h b554 h aaaa h ¢ Giá trӏ mүu 13 43690 ta lҩy giá trӏ = aaaa h ¢ ¼ T tiӃp theo ta lҩy đӕi xӭng qua tӯ giá thӏ cӵc tiӇu ¢ Đoҥn chương chình viӃt lҥi cho sóng Hình Tháp là: Int16 randomtable[SINE_TABLE_SIZE] = { GVHD: ĐҺNG PHƯӞC HҦI TRANG SVTH: NGUYӈN ĐÌNH SƠN ĐӚ ĐÌNH CƯ Gán 48 giá tr͓ cho bi͇n sinetable Trang 75 [...]... thnh mó di dng mó gi nh hoc dng i s cho DSP c th m ta la chn (uụi asm) Bc tip theo l dch mó assembly thnh mó i tng di dng nh phõn (hoc ngụn ng mỏy) c th i vi DSP la chn (uụi obj) Trỡnh liờn kt thc hin liờn kt cỏc file i tng to to thnh mt file i tng duy nht bng cỏch gỏn cỏc a ch tuyt i trong b nh cho DSP c th (uụi out) File thc hin ny cú th ti v chy trc tip trờn b DSP Sau khi ó to ra file thc hin, chỳng... NGIP CHNG II : TRèNH BIấN DCH CCS v3.1(Code composer studio IDE (v3.1)) Gii thiu v Code Composer Studio Code Composer Studio l mụi trng phỏt trin tớch hp (IDE) xõy dng ng dng cho cỏc b x lý tớn hiu s DSP, cỏc vi iu khin v cỏc vi x lý ca hóng Texas Instruments (TI) Code Composer Studio bao gm b cỏc cụng c s dng phỏt trin v g ri cỏc ng dng Nú bao gm cỏc b biờn dch cho mi h ca TI, trỡnh son tho mó ngun,... NMI khỏc xy ra trong quỏ trỡnh mt ngt NMI ang thc hin Khụng th xúa NMIE bng phn mm, nhng cú th t NMIE Trong khi NMIE b xúa, cỏc ngt che c INT4-INT15 b cm 2.3 Cỏc ngt che c (INT4-INT15) Cỏc CPU ca cỏc DSP C6000 cú 12 ngt cú th che c Cỏc ngt ny cú mc u tiờn thp hn so vi cỏc ngt NMI v reset Cỏc ngt ny cú th c gỏn cho cỏc thit b ngoi, ngoi vi on-chip, iu khin phn mm hoc khụng s dng Gi thit rng mt ngt che... ca mt d ỏn Mt d ỏn bao gm cỏc file th vin, cỏc file cu hỡnh v mó ngun GVHD: NG PHC HI TRANG SVTH: NGUYN èNH SN èNH C Trang 22 N TT NGIP Cỏc file cu hỡnh bao gm bng vector ngt, xỏc lp ch hot ng cho kit, cho phộp hoc cm ngt, v trớ cỏc file v cỏc phn trong b nh 2.1 Section Section l n v nh nht ca mt file i tng (object file) Mt section l mt khi mó hoc d liu chim khụng gian nh cnh cỏc section khỏc trong... Project Creation: - Phn Project Name: nhp tờn d ỏn - Location: tr n v trớ lu d ỏn GVHD: NG PHC HI TRANG SVTH: NGUYN èNH SN èNH C Trang 27 N TT NGIP - Project Type: chn Executable (.out) - Target: chn chip DSP tng ng Hỡnh 2.4 Xỏc lp cỏc thụng tin v d ỏn Sau ú nhn Finish CCS to ra d ỏn Bc 2: Thờm file vo d ỏn Nu cỏc file mó ngun cha cú sn, to ra mt file chng trỡnh mi, vo File/New/Source File Nu file mó

Ngày đăng: 19/05/2016, 15:39

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

Tài liệu liên quan