1 / 13

ЦСП TMS320C67x Работа с периферией

ЦСП TMS320C67x Работа с периферией. ЦСП TMS320C67x: работа с периферией. ЦСП TMS320C67x: работа с периферией.

flo
Download Presentation

ЦСП TMS320C67x Работа с периферией

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ЦСП TMS320C67xРабота с периферией

  2. ЦСП TMS320C67x: работа с периферией

  3. ЦСП TMS320C67x: работа с периферией Периферия представляет собой специализированные аппаратные ресурсы, расположенные на кристалле ЦСП и предназначенные для организации взаимодействия микросхемы ЦСП с внешними устройствами. Состав периферийных устройств часто определяет его выбор для применения в тех или иных системах.

  4. ЦСП TMS320C67x: работа с периферией Сигнальный процессор TMS320C6701 содержит на кристалле следующие основные узлы периферии: интерфейс внешней памяти (EMIF) контроллер начальной загрузки по каналам прямого доступа в память хост-порт (HPI) многоканальные буферизированные последовательные порты (McBSP) таймеры схему фазовой автоподстройки частоты для тактового генератора (PLL) интерфейс JTAG-эмулятора

  5. ЦСП TMS320C67x: работа с периферией Рассмотрим работу с периферией на примере организации следующей системы:

  6. ЦСП TMS320C67x: работа с периферией Требуются:конфигурация кодека конфигурация McBSPконфигурация прерываний

  7. ЦСП TMS320C67x: работа с периферией Конфигурация кодека выполняется с помощью специальной типовой программы

  8. ЦСП TMS320C67x: работа с периферией Конфигурация McBSP

  9. ЦСП TMS320C67x: работа с периферией Конфигурация прерываний подразумевает: глобальное разрешение прерываний, разрешение требуемого прерывания (от McBSP), создание таблицы векторов прерываний, создание функции обработки прерывания.

  10. ЦСП TMS320C67x: работа с периферией //sine_intr.c Sine generation using sin() function #include <math.h> #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 SAMPLING_FREQ 8000 #define PI 3.14159265358979 float frequency = 1000.0; float amplitude = 10000.0; float theta_increment; float theta = 0.0;

  11. ЦСП TMS320C67x: работа с периферией interrupt void c_int11() { theta_increment = 2*PI*frequency/SAMPLING_FREQ; theta += theta_increment; if (theta > 2*PI) theta -= 2*PI; output_left_sample((short)(amplitude*sin(theta))); return;} void main() { comm_intr(); while(1);}

  12. ЦСП TMS320C67x: работа с периферией void c6713_dsk_init() //dsp-peripheral initialization{DSK6713_init(); //call BSL to init DSK-EMIF,PLL)hAIC23_handle=DSK6713_AIC23_openCodec(0,&config);//handle(pointer) to codec DSK6713_AIC23_setFreq(hAIC23_handle, fs); //set sample rateDSK6713_AIC23_rset(hAIC23_handle, 0x0004, inputsource);// choose mic or line inMCBSP_config(DSK6713_AIC23_DATAHANDLE,&AIC23CfgData);//interface 32 bits toAIC23 MCBSP_start(DSK6713_AIC23_DATAHANDLE, MCBSP_XMIT_START |MCBSP_RCV_START|MCBSP_SRGR_START | MCBSP_SRGR_FRAMESYNC, 220);//start data channel again}void output_left_sample(short out_data)//for output from leftchan{AIC_data.uint=0; //clear data structureAIC_data.channel[LEFT]=out_data; //data from Left channel –>data structure if (poll) while(!MCBSP_xrdy(DSK6713_AIC23_DATAHANDLE));//if ready to transmit MCBSP_write(DSK6713_AIC23_DATAHANDLE,AIC_data.uint);//output left channel}

  13. ЦСП TMS320C67x: работа с периферией if (poll) while(!MCBSP_xrdy(DSK6713_AIC23_DATAHANDLE));//if ready to transmitMCBSP_write(DSK6713_AIC23_DATAHANDLE,AIC_data.uint);//output left channel}

More Related