好文档 - 专业文书写作范文服务资料分享网站

南京理工大学DSP应用技术作业

天下 分享 时间: 加入收藏 我要投稿 点赞

DSP应用技术作业

姓名:徐延宾

学号:9171040G0633

作业三:

根据“Example_ADC”中实验内容,打开程序LAB11_main.c,DSP2833x_PieCtrl.c以及相关头文件,阅读程序段落。

1.摘录与中断设置相关的程序语句。

(1)LAB11_main.c 的void main(void)内相关设置语句: DINT; //禁止 CPU中断,禁止全局中断 InitPieCtrl(); //初始化PIE控制寄存器

IER=0x0000; //禁用所有CPU中断并清除CPU中断标志位 IFR=0x0000;

InitPieVectTable(); //初始化PIE向量里面包含了PieCtrlRegs.PIECTRL.bit.ENPIE=1 EALLOW;

PieVectTable.EPWM1_INT =&epwm1_timer_adc_isr; //第三组第一中断 EDIS;

InitAdcParameters(); InitEPwm1Parameters();

PieCtrlRegs.PIEIER3.bit.INTx1 = 1; //响应EPWM1_INT中断 PieCtrlRegs.PIECTRL.bit.ENPIE=1; //打开PIE中断,使能PIE IER |= M_INT3; //打开CPU第3组中断

EINT; //使能全局中断,允许中断响应 ERTM;

(2)LAB11_main.c 的void InitAdcParameters(void) 函数内相关设置语句: AdcRegs.ADCST.bit.INT_SEQ1_CLR=1; //清除SEQ1中断标志位

AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1=0; //INT-SEQ1对CPU的中断请求被禁用 AdcRegs.ADCTRL2.bit.INT_MOD_SEQ1=0; //每个SEQ1序列结束时,INT-SEQ1置位 (3)LAB11_main.c 的void InitEPwm1Parameters(void) 函数内相关设置语句: EPwm1Regs.ETSEL.bit.INTEN = 1; //使能ePWMx_INT产生 EPwm1Regs.ETPS.bit.INTPRD = ET_3RD; //在第三个事件产生中断

(4)LAB11_main.c 的interrupt void epwm1_timer_adc_isr(void) 函数内相关设置语句: AdcRegs.ADCTRL2.bit.RST_SEQ1 = 1; //复位SEQ1

EPwm1Regs.ETCLR.bit.INT = 1; //清除中断标志位 PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; //中断应答

(5)DSP2833x_PieCtrl.c的void InitPieCtrl(void) 函数内相关设置语句: DINT;

(6)DSP2833x_PieCtrl.c的void EnableInterrupts() 函数内相关设置语句: EINT;

(7)DSP2833x_Device.h的相关中断定义: extern cregister volatile unsigned int IFR; extern cregister volatile unsigned int IER;

1

DSP应用技术作业

#define EINT asm(\ #define DINT asm(\ 2. 函数InitPieCtrl()实现的功能。 初始化PIE控制寄存器。

3. 函数InitPieVectTable()实现的功能。 初始化PIE向量表。

4. 语句PieVectTable.EPWM1_INT =&epwm1_timer_adc_isr; 实现的功能。 将中断函数映射到中断向量表的第三组第一中断。

2

DSP应用技术作业

作业四:XINTF模块设置

1.指出存储器地址范围;

地址范围:0x00000-0x7FFFF

2.在程序Example_2833xDMA_xintf_to_ram.c指出相关的配置代码。指出XTIMING6、XINTCNF2寄存器各字段的数值及含义。

(1)程序Example_2833xDMA_xintf_to_ram.c相关的配置代码: 在函数void init_zone6(void)中配置: void init_zone6(void) { EALLOW;

// Make sure the XINTF clock is enabled SysCtrlRegs.PCLKCR3.bit.XINTFENCLK = 1; EDIS; // Configure the GPIO for XINTF with a 16-bit data bus // This function is in DSP2833x_Xintf.c InitXintf16Gpio();

// All Zones---------------------------------

// Timing for all zones based on XTIMCLK = SYSCLKOUT EALLOW;

XintfRegs.XINTCNF2.bit.XTIMCLK = 0; // Buffer up to 3 writes

XintfRegs.XINTCNF2.bit.WRBUFF = 3; // XCLKOUT is enabled

XintfRegs.XINTCNF2.bit.CLKOFF = 0; // XCLKOUT = XTIMCLK

XintfRegs.XINTCNF2.bit.CLKMODE = 0; // Zone 6------------------------------------

// When using ready, ACTIVE must be 1 or greater // Lead must always be 1 or greater // Zone write timing

XintfRegs.XTIMING6.bit.XWRLEAD = 1; XintfRegs.XTIMING6.bit.XWRACTIVE = 2; XintfRegs.XTIMING6.bit.XWRTRAIL = 1; // Zone read timing

XintfRegs.XTIMING6.bit.XRDLEAD = 1;

3

DSP应用技术作业

XintfRegs.XTIMING6.bit.XRDACTIVE = 3; XintfRegs.XTIMING6.bit.XRDTRAIL = 0;

// don't double all Zone read/write lead/active/trail timing XintfRegs.XTIMING6.bit.X2TIMING = 0; // Zone will not sample XREADY signal XintfRegs.XTIMING6.bit.USEREADY = 0; XintfRegs.XTIMING6.bit.READYMODE = 0; // 1,1 = x16 data bus // 0,1 = x32 data bus

// other values are reserved

XintfRegs.XTIMING6.bit.XSIZE = 3; EDIS;

//Force a pipeline flush to ensure that the write to //the last register configured occurs before returning. asm(\ }

(2)指出XTIMING6、XINTCNF2寄存器各字段的数值及含义:

表格 1 XTIMING6 Register

字段 XWRLEAD XWRACTIVE XWRTRAIL XRDLEAD XRDACTIVE XRDTRAIL X2TIMING USEREADY READYMODE XSIZE

数值 1 2 1 1 3 0 0 0 0 3 含义 Write Lead Period=1 XTIMCLK cycle Write Active Period Waitstates =2 XTIMCLK cycles Write Trail Period =1 XTIMCLK cycle Read Lead Period =1 XTIMCLK cycle Read Active Period Waitstates =3 XTIMCLK cycles Read Trail Period =0 The values are scaled 1:1 The XREADY signal is ignored when accesses are made to the zone. XREADY input is synchronous for the zone. In this mode the zone will only use 16 data lines. The XA0/WE1 signal will behave as XA0. 表格 2 XINTCNF2 Register

字段 XTIMCLK WRBUFF CLKOFF CLKMODE

数值 0 3 0 0 XTIMCLK = SYSCLKOUT 含义 Buffer up to 3 writes(此处不明白,用户指南未找到说明) XCLKOUT is enabled XCLKOUT = XTIMCLK 4

DSP应用技术作业

3.根据存储器的读写时序,能否优化DSP的XINTF配置?给出具体配置方案。

IS61LV51216存储器读时序图

IS61LV51216存储器读访问参数表

IS61LV51216存储器写时序图

IS61LV51216存储器写访问参数表

5

南京理工大学DSP应用技术作业

DSP应用技术作业姓名:徐延宾学号:9171040G0633作业三:根据“Example_ADC”中实验内容,打开程序LAB11_main.c,DSP28
推荐度:
点击下载文档文档为doc格式
0b4sa8qzha7px008twlp8xswm2yhdw015n0
领取福利

微信扫码领取福利

微信扫码分享