-
TMS320F28335资料整理包括技术手册和应用手册+CCS4.2基础实验例程工程文件.zip
2021-03-23 08:54:47TMS320F28335资料整理包括技术手册和应用手册+CCS4.2基础实验例程工程文件, 基础例程: 88matrix 8LEDS ADC_amplifier BUZZ DC_MOTOR EEPROM HyDDB_SCI_to_PC KEYS LCD12864_28335 LED_light_water RELAY STEP_... -
TMS320F28335论文资料收集 TMS320F28335论文
2011-06-30 19:41:49TMS320F28335论文资料收集 TMS320F28335论文 大量优秀论文 众多应用案例 -
TMS320F28335中文资料
2016-10-15 22:10:26TMS320F28335中文资料 -
TMS320F28335引脚资料
2012-11-11 09:40:21TMS320F28335引脚资料,很全很好,是我从TI的datashe里拿出来的 -
TMS320F28335中文资料(难得的资料)
2015-12-17 10:50:45TMS320F28335中文资料(难得的资料),对于28335初学者蛮有用的资料 -
硬汉DSP TMS320F28335开发板全套资料
2019-06-09 18:36:11硬汉DSP TMS320F28335开发板全套资料,包括所有视频教程,源码,PPT课件,原理图,安装软件 -
TMS320F28335主芯片资料全集
2017-12-18 09:43:11TMS320F28335相对比较适合DSP学习的一个芯片,比2812更强悍 -
TMS320F28335手册
2019-04-16 11:29:24TMS320F28335官方数据手册,详细资料,英文原版,有一定的参考价值 -
TMS320F28335中文数据手册.pdf
2019-10-08 21:48:54TMS320F28335中文数据手册,详细描述了dsp28335的资源,管脚定义意义,并对硬件资源进行了详细的描述,对照英文版资料翻译,加快研发进程 -
手把手教你学DSP—基于TMS320F28335.zip
2019-09-13 06:50:05手把手教你学DSP—基于TMS320F28335zip,这是由南京研旭电气科技有限公司开发的一套基于TMS320F28335套件的DSP视频教学课程的学习资料,由于内容比较多,分成了三部分来进行上传,这是第三部分 -
TMS320F28335之GPIO原理
2018-07-02 11:17:04主要从《手把手教你学DSP—基于TMS320F28335》、《TMS320F28335DSP原理与开发编程》这两本书,及网上资料汇聚而成。 DSP28335 GPIO模块分为三类IO口:PORTA(0-31),PORTB(32-63),PORTC(64-87)。对GPIO模块的设置主要...主要从《手把手教你学DSP—基于TMS320F28335》、《TMS320F28335DSP原理与开发编程》这两本书,及网上资料汇聚而成。
DSP28335 GPIO模块分为三类IO口:PORTA(0-31),PORTB(32-63),PORTC(64-87)。对GPIO模块的设置主要通过三类寄存器来完成,分别是:控制寄存器、数据寄存器、中断寄存器。1、控制寄存器
GPxCTRL; // GPIO x Control Register (GPIO0 to 31) //设置采样窗周期T=2*GPXCTRL*Tsysclk; GPxQSEL1; // GPIO x Qualifier Select 1 Register (GPIO0 to 15)(32-47) GPxQSEL2; // GPIO x Qualifier Select 2 Register (GPIO16 to 31)(48-63) //每两位控制一个引脚,确定是3周期采样还是6周期采样或者不用采样 GPxMUX1; // GPIO x Mux 1 Register (GPIO0 to 15)(32-47)(64-79) GPxMUX2; // GPIO x Mux 2 Register (GPIO16 to 31)(48-63)(80-95) //配置各个引脚的功能,0:I/O功能,1:外设功能。 GPxDIR; // GPIO x Direction Register (GPIO0 to 31)(32-63)(64-95) //配置每个引脚是输入还是输出,0:数字量输入;1:数字量输出。 GPxPUD; // GPIO x Pull Up Disable Register (GPIO0 to 31)(32-63)(64-95) //使能或禁止内部上拉 0:开启上拉,1:禁止上拉
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
2、数据寄存器
GPxDAT; // GPIO Data Register (GPIO0 to 31)(32-63)(64-95) GPxSET; // GPIO Data Set Register (GPIO0 to 31)(32-63)(64-95)——置位 GPxCLEAR; // GPIO Data Clear Register (GPIO0 to 31)(32-63)(64-95) GPxTOGGLE; // GPIO Data Toggle Register (GPIO0 to 31)(32-63)(64-95)—反转
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
3、中断寄存器
GPIOXINT1SEL; // XINT1 GPIO Input Selection GPIOXINT2SEL; // XINT2 GPIO Input Selection GPIOXNMISEL; // XNMI_Xint13 GPIO Input Selection GPIOXINT3SEL; // XINT3 GPIO Input Selection GPIOXINT4SEL; // XINT4 GPIO Input Selection GPIOXINT5SEL; // XINT5 GPIO Input Selection GPIOXINT6SEL; // XINT6 GPIO Input Selection GPIOXINT7SEL; // XINT7 GPIO Input Selection GPIOLPMSEL; // Low power modes GP I/O input select 可以对GPIO0-63进行外部中断设置;
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
IT官方的头文件DSP2833x_Gpio.h内容如下:
// TI File $Revision: /main/4 $ // Checkin $Date: November 15, 2007 09:58:53 $ //########################################################################### // // FILE: DSP2833x_Gpio.h // // TITLE: DSP2833x 一般应用 I/O 定义. // //########################################################################### // $TI Release: DSP2833x/DSP2823x C/C++ Header Files V1.31 $ // $Release Date: August 4, 2009 $ //########################################################################### #ifndef DSP2833x_GPIO_H #define DSP2833x_GPIO_H #ifdef __cplusplus extern "C" { #endif //---------------------------------------------------- // GPIO A 控制寄存器位定义 */ struct GPACTRL_BITS { // bits 描述 Uint16 QUALPRD0:8; // 7:0 采样周期 Uint16 QUALPRD1:8; // 15:8 采样周期 Uint16 QUALPRD2:8; // 23:16 采样周期 Uint16 QUALPRD3:8; // 31:24 采样周期 }; //GPIO A 控制寄存器 union GPACTRL_REG { Uint32 all; struct GPACTRL_BITS bit; //GPIO A 控制寄存器位定义 }; //---------------------------------------------------- // GPIO B 控制寄存器位定义 */ struct GPBCTRL_BITS { // bits 描述 Uint16 QUALPRD0:8; // 7:0 采样周期 Uint16 QUALPRD1:8; // 15:8 采样周期 Uint16 QUALPRD2:8; // 23:16 采样周期 Uint16 QUALPRD3:8; // 31:24 采样周期 }; //GPIO B 控制寄存器 union GPBCTRL_REG { Uint32 all; struct GPBCTRL_BITS bit; //GPIO B 控制寄存器位定义 }; //---------------------------------------------------- // GPIO A Qual/MUX 选择寄存器位定义 */ struct GPA1_BITS { // bits 描述 Uint16 GPIO0:2; // 1:0 GPIO0 Uint16 GPIO1:2; // 3:2 GPIO1 Uint16 GPIO2:2; // 5:4 GPIO2 Uint16 GPIO3:2; // 7:6 GPIO3 Uint16 GPIO4:2; // 9:8 GPIO4 Uint16 GPIO5:2; // 11:10 GPIO5 Uint16 GPIO6:2; // 13:12 GPIO6 Uint16 GPIO7:2; // 15:14 GPIO7 Uint16 GPIO8:2; // 17:16 GPIO8 Uint16 GPIO9:2; // 19:18 GPIO9 Uint16 GPIO10:2; // 21:20 GPIO10 Uint16 GPIO11:2; // 23:22 GPIO11 Uint16 GPIO12:2; // 25:24 GPIO12 Uint16 GPIO13:2; // 27:26 GPIO13 Uint16 GPIO14:2; // 29:28 GPIO14 Uint16 GPIO15:2; // 31:30 GPIO15 }; struct GPA2_BITS { // bits 描述 Uint16 GPIO16:2; // 1:0 GPIO16 Uint16 GPIO17:2; // 3:2 GPIO17 Uint16 GPIO18:2; // 5:4 GPIO18 Uint16 GPIO19:2; // 7:6 GPIO19 Uint16 GPIO20:2; // 9:8 GPIO20 Uint16 GPIO21:2; // 11:10 GPIO21 Uint16 GPIO22:2; // 13:12 GPIO22 Uint16 GPIO23:2; // 15:14 GPIO23 Uint16 GPIO24:2; // 17:16 GPIO24 Uint16 GPIO25:2; // 19:18 GPIO25 Uint16 GPIO26:2; // 21:20 GPIO26 Uint16 GPIO27:2; // 23:22 GPIO27 Uint16 GPIO28:2; // 25:24 GPIO28 Uint16 GPIO29:2; // 27:26 GPIO29 Uint16 GPIO30:2; // 29:28 GPIO30 Uint16 GPIO31:2; // 31:30 GPIO31 }; // GPIO B Qual/MUX 选择寄存器位定义 */ struct GPB1_BITS { // bits 描述 Uint16 GPIO32:2; // 1:0 GPIO32 Uint16 GPIO33:2; // 3:2 GPIO33 Uint16 GPIO34:2; // 5:4 GPIO34 Uint16 GPIO35:2; // 7:6 GPIO35 Uint16 GPIO36:2; // 9:8 GPIO36 Uint16 GPIO37:2; // 11:10 GPIO37 Uint16 GPIO38:2; // 13:12 GPIO38 Uint16 GPIO39:2; // 15:14 GPIO39 Uint16 GPIO40:2; // 17:16 GPIO40 Uint16 GPIO41:2; // 19:16 GPIO41 Uint16 GPIO42:2; // 21:20 GPIO42 Uint16 GPIO43:2; // 23:22 GPIO43 Uint16 GPIO44:2; // 25:24 GPIO44 Uint16 GPIO45:2; // 27:26 GPIO45 Uint16 GPIO46:2; // 29:28 GPIO46 Uint16 GPIO47:2; // 31:30 GPIO47 }; struct GPB2_BITS { // bits 描述 Uint16 GPIO48:2; // 1:0 GPIO48 Uint16 GPIO49:2; // 3:2 GPIO49 Uint16 GPIO50:2; // 5:4 GPIO50 Uint16 GPIO51:2; // 7:6 GPIO51 Uint16 GPIO52:2; // 9:8 GPIO52 Uint16 GPIO53:2; // 11:10 GPIO53 Uint16 GPIO54:2; // 13:12 GPIO54 Uint16 GPIO55:2; // 15:14 GPIO55 Uint16 GPIO56:2; // 17:16 GPIO56 Uint16 GPIO57:2; // 19:18 GPIO57 Uint16 GPIO58:2; // 21:20 GPIO58 Uint16 GPIO59:2; // 23:22 GPIO59 Uint16 GPIO60:2; // 25:24 GPIO60 Uint16 GPIO61:2; // 27:26 GPIO61 Uint16 GPIO62:2; // 29:28 GPIO62 Uint16 GPIO63:2; // 31:30 GPIO63 }; // GPIO C Qual/MUX 选择寄存器位定义 */ struct GPC1_BITS { // bits 描述 Uint16 GPIO64:2; // 1:0 GPIO64 Uint16 GPIO65:2; // 3:2 GPIO65 Uint16 GPIO66:2; // 5:4 GPIO66 Uint16 GPIO67:2; // 7:6 GPIO67 Uint16 GPIO68:2; // 9:8 GPIO68 Uint16 GPIO69:2; // 11:10 GPIO69 Uint16 GPIO70:2; // 13:12 GPIO70 Uint16 GPIO71:2; // 15:14 GPIO71 Uint16 GPIO72:2; // 17:16 GPIO72 Uint16 GPIO73:2; // 19:18 GPIO73 Uint16 GPIO74:2; // 21:20 GPIO74 Uint16 GPIO75:2; // 23:22 GPIO75 Uint16 GPIO76:2; // 25:24 GPIO76 Uint16 GPIO77:2; // 27:26 GPIO77 Uint16 GPIO78:2; // 29:28 GPIO78 Uint16 GPIO79:2; // 31:30 GPIO79 }; struct GPC2_BITS { // bits 描述 Uint16 GPIO80:2; // 1:0 GPIO80 Uint16 GPIO81:2; // 3:2 GPIO81 Uint16 GPIO82:2; // 5:4 GPIO82 Uint16 GPIO83:2; // 7:6 GPIO83 Uint16 GPIO84:2; // 9:8 GPIO84 Uint16 GPIO85:2; // 11:10 GPIO85 Uint16 GPIO86:2; // 13:12 GPIO86 Uint16 GPIO87:2; // 15:14 GPIO87 Uint16 rsvd:16; // 31:16 保留 }; // GPIO A Qual/MUX 选择寄存器 */ union GPA1_REG { Uint32 all; struct GPA1_BITS bit; }; union GPA2_REG { Uint32 all; struct GPA2_BITS bit; }; // GPIO B Qual/MUX 选择寄存器 */ union GPB1_REG { Uint32 all; struct GPB1_BITS bit; }; union GPB2_REG { Uint32 all; struct GPB2_BITS bit; }; // GPIO C Qual/MUX 选择寄存器 */ union GPC1_REG { Uint32 all; struct GPC1_BITS bit; }; union GPC2_REG { Uint32 all; struct GPC2_BITS bit; }; //---------------------------------------------------- // GPIO A DIR/TOGGLE/SET/CLEAR 寄存器位定义 */ struct GPADAT_BITS { // bits 描述 Uint16 GPIO0:1; // 0 GPIO0 Uint16 GPIO1:1; // 1 GPIO1 Uint16 GPIO2:1; // 2 GPIO2 Uint16 GPIO3:1; // 3 GPIO3 Uint16 GPIO4:1; // 4 GPIO4 Uint16 GPIO5:1; // 5 GPIO5 Uint16 GPIO6:1; // 6 GPIO6 Uint16 GPIO7:1; // 7 GPIO7 Uint16 GPIO8:1; // 8 GPIO8 Uint16 GPIO9:1; // 9 GPIO9 Uint16 GPIO10:1; // 10 GPIO10 Uint16 GPIO11:1; // 11 GPIO11 Uint16 GPIO12:1; // 12 GPIO12 Uint16 GPIO13:1; // 13 GPIO13 Uint16 GPIO14:1; // 14 GPIO14 Uint16 GPIO15:1; // 15 GPIO15 Uint16 GPIO16:1; // 16 GPIO16 Uint16 GPIO17:1; // 17 GPIO17 Uint16 GPIO18:1; // 18 GPIO18 Uint16 GPIO19:1; // 19 GPIO19 Uint16 GPIO20:1; // 20 GPIO20 Uint16 GPIO21:1; // 21 GPIO21 Uint16 GPIO22:1; // 22 GPIO22 Uint16 GPIO23:1; // 23 GPIO23 Uint16 GPIO24:1; // 24 GPIO24 Uint16 GPIO25:1; // 25 GPIO25 Uint16 GPIO26:1; // 26 GPIO26 Uint16 GPIO27:1; // 27 GPIO27 Uint16 GPIO28:1; // 28 GPIO28 Uint16 GPIO29:1; // 29 GPIO29 Uint16 GPIO30:1; // 30 GPIO30 Uint16 GPIO31:1; // 31 GPIO31 }; // GPIO B DIR/TOGGLE/SET/CLEAR 寄存器位定义 */ struct GPBDAT_BITS { // bits 描述 Uint16 GPIO32:1; // 0 GPIO32 Uint16 GPIO33:1; // 1 GPIO33 Uint16 GPIO34:1; // 2 GPIO34 Uint16 GPIO35:1; // 3 GPIO35 Uint16 GPIO36:1; // 4 GPIO36 Uint16 GPIO37:1; // 5 GPIO37 Uint16 GPIO38:1; // 6 GPIO38 Uint16 GPIO39:1; // 7 GPIO39 Uint16 GPIO40:1; // 8 GPIO40 Uint16 GPIO41:1; // 9 GPIO41 Uint16 GPIO42:1; // 10 GPIO42 Uint16 GPIO43:1; // 11 GPIO43 Uint16 GPIO44:1; // 12 GPIO44 Uint16 GPIO45:1; // 13 GPIO45 Uint16 GPIO46:1; // 14 GPIO46 Uint16 GPIO47:1; // 15 GPIO47 Uint16 GPIO48:1; // 16 GPIO48 Uint16 GPIO49:1; // 17 GPIO49 Uint16 GPIO50:1; // 18 GPIO50 Uint16 GPIO51:1; // 19 GPIO51 Uint16 GPIO52:1; // 20 GPIO52 Uint16 GPIO53:1; // 21 GPIO53 Uint16 GPIO54:1; // 22 GPIO54 Uint16 GPIO55:1; // 23 GPIO55 Uint16 GPIO56:1; // 24 GPIO56 Uint16 GPIO57:1; // 25 GPIO57 Uint16 GPIO58:1; // 26 GPIO58 Uint16 GPIO59:1; // 27 GPIO59 Uint16 GPIO60:1; // 28 GPIO60 Uint16 GPIO61:1; // 29 GPIO61 Uint16 GPIO62:1; // 30 GPIO62 Uint16 GPIO63:1; // 31 GPIO63 }; // GPIO C DIR/TOGGLE/SET/CLEAR 寄存器位定义 */ struct GPCDAT_BITS { // bits 描述 Uint16 GPIO64:1; // 0 GPIO64 Uint16 GPIO65:1; // 1 GPIO65 Uint16 GPIO66:1; // 2 GPIO66 Uint16 GPIO67:1; // 3 GPIO67 Uint16 GPIO68:1; // 4 GPIO68 Uint16 GPIO69:1; // 5 GPIO69 Uint16 GPIO70:1; // 6 GPIO70 Uint16 GPIO71:1; // 7 GPIO71 Uint16 GPIO72:1; // 8 GPIO72 Uint16 GPIO73:1; // 9 GPIO73 Uint16 GPIO74:1; // 10 GPIO74 Uint16 GPIO75:1; // 11 GPIO75 Uint16 GPIO76:1; // 12 GPIO76 Uint16 GPIO77:1; // 13 GPIO77 Uint16 GPIO78:1; // 14 GPIO78 Uint16 GPIO79:1; // 15 GPIO79 Uint16 GPIO80:1; // 16 GPIO80 Uint16 GPIO81:1; // 17 GPIO81 Uint16 GPIO82:1; // 18 GPIO82 Uint16 GPIO83:1; // 19 GPIO83 Uint16 GPIO84:1; // 20 GPIO84 Uint16 GPIO85:1; // 21 GPIO85 Uint16 GPIO86:1; // 22 GPIO86 Uint16 GPIO87:1; // 23 GPIO87 Uint16 rsvd1:8; // 31:24 reserved }; // GPIO A DIR/TOGGLE/SET/CLEAR 寄存器 */ union GPADAT_REG { Uint32 all; struct GPADAT_BITS bit; }; // GPIO B DIR/TOGGLE/SET/CLEAR 寄存器 */ union GPBDAT_REG { Uint32 all; struct GPBDAT_BITS bit; }; // GPIO C DIR/TOGGLE/SET/CLEAR 寄存器 */ union GPCDAT_REG { Uint32 all; struct GPCDAT_BITS bit; }; //---------------------------------------------------- // GPIO Xint1/XINT2/XNMI 选择寄存器位定义 */ struct GPIOXINT_BITS { // bits 描述 Uint16 GPIOSEL:5; // 4:0 选择GPIO中断输入源 Uint16 rsvd1:11; // 15:5 保留 }; // GPIO Xint1/XINT2/XNMI 选择寄存 */ union GPIOXINT_REG { Uint16 all; struct GPIOXINT_BITS bit; }; //GPIO控制寄存器 struct GPIO_CTRL_REGS { union GPACTRL_REG GPACTRL; // GPIO A 控制寄存器 (GPIO0 to 31) union GPA1_REG GPAQSEL1; // GPIO A 选择输入限制1 (GPIO0 to 15) union GPA2_REG GPAQSEL2; // GPIO A 选择输入限制2 (GPIO16 to 31) union GPA1_REG GPAMUX1; // GPIO A 选择寄存器1 (GPIO0 to 15) union GPA2_REG GPAMUX2; // GPIO A 选择寄存器2 (GPIO16 to 31) union GPADAT_REG GPADIR; // GPIO A 输入输出方向 (GPIO0 to 31) union GPADAT_REG GPAPUD; // GPIO A 上拉禁用寄存器 (GPIO0 to 31) Uint32 rsvd1; // 保留 union GPBCTRL_REG GPBCTRL; // GPIO B 控制寄存器 (GPIO32 to 63) union GPB1_REG GPBQSEL1; // GPIO B 选择输入限制1 (GPIO32 to 47) union GPB2_REG GPBQSEL2; // GPIO B 选择输入限制2 (GPIO48 to 63) union GPB1_REG GPBMUX1; // GPIO B 选择寄存器1 (GPIO32 to 47) union GPB2_REG GPBMUX2; // GPIO B 选择寄存器2 (GPIO48 to 63) union GPBDAT_REG GPBDIR; // GPIO B 输入输出方向 (GPIO32 to 63) union GPBDAT_REG GPBPUD; // GPIO B 上拉禁用寄存器 (GPIO32 to 63) Uint16 rsvd2[8]; union GPC1_REG GPCMUX1; // GPIO C 选择寄存器1 (GPIO64 to 79) union GPC2_REG GPCMUX2; // GPIO C 选择寄存器2 (GPIO80 to 95) union GPCDAT_REG GPCDIR; // GPIO C 输入输出方向 (GPIO64 to 95) union GPCDAT_REG GPCPUD; // GPIO C 上拉禁用寄存器 (GPIO64 to 95) }; //GPIO控制寄存器 struct GPIO_DATA_REGS { union GPADAT_REG GPADAT; // GPIO 数据寄存器 (GPIO0 to 31) union GPADAT_REG GPASET; // GPIO 置位数据寄存器 (GPIO0 to 31) union GPADAT_REG GPACLEAR; // GPIO 置零数据寄存器 (GPIO0 to 31) union GPADAT_REG GPATOGGLE; // GPIO 数据翻转寄存器 (GPIO0 to 31) union GPBDAT_REG GPBDAT; // GPIO 数据寄存器 (GPIO32 to 63) union GPBDAT_REG GPBSET; // GPIO 置位数据寄存器 (GPIO32 to 63) union GPBDAT_REG GPBCLEAR; // GPIO 置零数据寄存器 (GPIO32 to 63) union GPBDAT_REG GPBTOGGLE; // GPIO 数据翻转寄存器 (GPIO32 to 63) union GPCDAT_REG GPCDAT; // GPIO 数据寄存器 (GPIO64 to 95) union GPCDAT_REG GPCSET; // GPIO 置位数据寄存器 (GPIO64 to 95) union GPCDAT_REG GPCCLEAR; // GPIO 置零数据寄存器 (GPIO64 to 95) union GPCDAT_REG GPCTOGGLE; // GPIO 数据翻转寄存器 (GPIO64 to 95) Uint16 rsvd1[8]; }; //GPIO中断寄存器 struct GPIO_INT_REGS { union GPIOXINT_REG GPIOXINT1SEL; // XINT1 GPIO 输入选择 union GPIOXINT_REG GPIOXINT2SEL; // XINT2 GPIO 输入选择 union GPIOXINT_REG GPIOXNMISEL; // XNMI_Xint13 GPIO 输入选择 union GPIOXINT_REG GPIOXINT3SEL; // XINT3 GPIO 输入选择 union GPIOXINT_REG GPIOXINT4SEL; // XINT4 GPIO 输入选择 union GPIOXINT_REG GPIOXINT5SEL; // XINT5 GPIO 输入选择 union GPIOXINT_REG GPIOXINT6SEL; // XINT6 GPIO 输入选择 union GPIOXINT_REG GPIOXINT7SEL; // XINT7 GPIO 输入选择 union GPADAT_REG GPIOLPMSEL; // 唤醒低功耗模式源选择寄存器 }; //--------------------------------------------------------------------------- // GPI/O 外部引用和函数声明: // extern volatile struct GPIO_CTRL_REGS GpioCtrlRegs; extern volatile struct GPIO_DATA_REGS GpioDataRegs; extern volatile struct GPIO_INT_REGS GpioIntRegs; #ifdef __cplusplus } #endif /* extern "C" */ #endif // end of DSP2833x_GPIO_H definition //=========================================================================== // End of file. //===========================================================================
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370
- 371
- 372
- 373
- 374
- 375
- 376
- 377
- 378
- 379
- 380
- 381
- 382
- 383
- 384
- 385
- 386
- 387
- 388
- 389
- 390
- 391
- 392
在《手把手教你学DSP》的第六章为GPIO介绍,在配套例程配套文档例程资料\CCS4.12\lab2-GPIO_SETUP下的DSP2833x_Gpio.c程序如下:
// TI File $Revision: /main/1 $ // Checkin $Date: August 18, 2006 13:46:25 $ //########################################################################### // // FILE: DSP2833x_Gpio.c // // TITLE: DSP2833x 通用 I/O 初始化& 支持函数. // //########################################################################### // $TI Release: DSP2833x Header Files V1.01 $ // $Release Date: September 26, 2007 $ //########################################################################### #include "DSP2833x_Device.h" // DSP2833x Headerfile Include File #include "DSP2833x_Examples.h" // DSP2833x Examples Include File //--------------------------------------------------------------------------- // InitGpio: //--------------------------------------------------------------------------- // 该函数初始化到一个已知的(默认)状态. // // 更多关于配置GPIO外围功能的细节, // 请参照个人设置的外围例子/或 GPIO 设置示例. void InitGpio(void) { EALLOW; // 每个 GPIO pin 都可以: // a) a GPIO 输入/输出 // b) 外设功能 1 // c) 外设功能 2 // d) 外设功能 3 // 默认情况下, 所有的 GPIO 都为输入 GpioCtrlRegs.GPAMUX1.all = 0x0000; // GPIO 功能 GPIO0-GPIO15 GpioCtrlRegs.GPAMUX2.all = 0x0000; // GPIO 功能 GPIO16-GPIO31 GpioCtrlRegs.GPBMUX1.all = 0x0000; // GPIO 功能 GPIO32-GPIO39 GpioCtrlRegs.GPBMUX2.all = 0x0000; // GPIO 功能 GPIO48-GPIO63 GpioCtrlRegs.GPCMUX1.all = 0x0000; // GPIO 功能 GPIO64-GPIO79 GpioCtrlRegs.GPCMUX2.all = 0x0000; // GPIO 功能 GPIO80-GPIO95 GpioCtrlRegs.GPADIR.all = 0x0000; // GPIO0-GPIO31 都为输入 GpioCtrlRegs.GPBDIR.all = 0x0000; // GPIO32-GPIO63 都为输入 GpioCtrlRegs.GPCDIR.all = 0x0000; // GPI064-GPIO95 都为输入 // 每个输入都可以有不同的限制 // a) 输入信号同步 to SYSCLKOUT // b) 输入合适的采样窗口 // c) 异步输入模式 (仅外围输入有效) GpioCtrlRegs.GPAQSEL1.all = 0x0000; // GPIO0-GPIO15 同步 to SYSCLKOUT GpioCtrlRegs.GPAQSEL2.all = 0x0000; // GPIO16-GPIO31 同步 to SYSCLKOUT GpioCtrlRegs.GPBQSEL1.all = 0x0000; // GPIO32-GPIO39 同步 to SYSCLKOUT GpioCtrlRegs.GPBQSEL2.all = 0x0000; // GPIO48-GPIO63 同步 to SYSCLKOUT // 上拉可以禁止或使能. GpioCtrlRegs.GPAPUD.all = 0x0000; // 启用上拉 GPIO0-GPIO31 GpioCtrlRegs.GPBPUD.all = 0xffff;//0x0000; // 启用上拉 GPIO32-GPIO63 GpioCtrlRegs.GPCPUD.all = 0x0000; // 启用上拉 GPIO64-GPIO79 //GpioCtrlRegs.GPAPUD.all = 0xFFFF; // 禁止上拉 GPIO0-GPIO31 //GpioCtrlRegs.GPBPUD.all = 0xFFFF; // 禁止上拉 GPIO32-GPIO34 //GpioCtrlRegs.GPCPUD.all = 0xFFFF // 禁止上拉 GPIO64-GPIO79 EDIS; } //=========================================================================== // End of file. //===========================================================================
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
GPIO的控制实例在《手把手教你学DSP》配套例程CCS4.12\lab1-GPIO_LED下控制LED灯闪烁
#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File #include "DSP2833x_Examples.h" // DSP2833x Examples Include File #define LED1 GpioDataRegs.GPADAT.bit.GPIO0 //数据寄存器宏定义 #define LED2 GpioDataRegs.GPADAT.bit.GPIO1 #define LED3 GpioDataRegs.GPADAT.bit.GPIO2 #define LED4 GpioDataRegs.GPADAT.bit.GPIO3 #define LED5 GpioDataRegs.GPADAT.bit.GPIO4 #define LED6 GpioDataRegs.GPADAT.bit.GPIO5 interrupt void ISRTimer0(void); void configtestled(void); void main(void) { // 步骤 1. 初始化系统控制: // PLL, WatchDog, 使能外围时钟 // 这个函数在 DSP2833x_SysCtrl.c 文件中. InitSysCtrl(); // 步骤 2. 初始化设置 GPIO: // 这个函数例子在 DSP2833x_Gpio.c 文件中 // 说明了如何设置GPIO的默认状态. // InitGpio(); // 跳过这个函数 InitXintf16Gpio(); //zq // 步骤 3. 清除所有中断向量和初始化向量表: // 禁止CPU中断 DINT; // 初始化PIE控制寄存器的默认状态. // 默认状态是所有的中断和中断标志被清除 // 这个函数在 DSP2833x_PieCtrl.c 文件中. InitPieCtrl(); // Disable CPU interrupts and clear all CPU interrupt flags: IER = 0x0000; IFR = 0x0000; // 初始化中断向量表的地址指针 // 中断服务程序 (ISR). // 即使不使用中断也要将表格填充满, 这样的目的是用于调试. // 这个函数在 DSP2833x_DefaultIsr.c文件中 // 这个函数在 DSP2833x_PieVect.c.文件中 InitPieVectTable(); configtestled(); LED1=1; DELAY_US(10); LED2=1; DELAY_US(10); LED3=1; DELAY_US(10); LED4=0; DELAY_US(10); LED5=0; DELAY_US(10); LED6=0; DELAY_US(10); while(1){ LED1=~LED1; DELAY_US(50000); LED2=~LED2; DELAY_US(50000); LED3=~LED3; DELAY_US(50000); LED4=~LED4; DELAY_US(50000); LED5=~LED5; DELAY_US(50000); LED6=~LED6; DELAY_US(50000); } } void configtestled(void) { EALLOW; GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 0; // GPIO0 = GPIO0 GpioCtrlRegs.GPADIR.bit.GPIO0 = 1; // 输出 GpioCtrlRegs.GPAMUX1.bit.GPIO1 = 0; // GPIO1 = GPIO1 GpioCtrlRegs.GPADIR.bit.GPIO1 = 1; // 输出 GpioCtrlRegs.GPAMUX1.bit.GPIO2 = 0; // GPIO2 = GPIO2 GpioCtrlRegs.GPADIR.bit.GPIO2 = 1; // 输出 GpioCtrlRegs.GPAMUX1.bit.GPIO3 = 0; // GPIO3 = GPIO3 GpioCtrlRegs.GPADIR.bit.GPIO3 = 1; // 输出 GpioCtrlRegs.GPAMUX1.bit.GPIO4 = 0; // GPIO4 = GPIO4 GpioCtrlRegs.GPADIR.bit.GPIO4 = 1; // 输出 GpioCtrlRegs.GPAMUX1.bit.GPIO5 = 0; // GPIO5 = GPIO5 GpioCtrlRegs.GPADIR.bit.GPIO5 = 1; // 输出 EDIS; } //=========================================================================== // No more. //===========================================================================
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
参考资料
百度文库_第5章通用输入输出学习要点
电子工程世界-TMS320F28335项目开发记录8_28335之GPIO引脚 -
TMS320F28335光伏离网并网逆变器设计.zip
2020-02-26 12:06:33TMS320F28335光伏离网并网逆变器设计,资料包括代码及PCB原理图。希望对大家的学习或研究有帮助。 -
DSP复习笔记(4)——TMS320F28335中断
2019-12-19 17:29:22【注意】 1.芯片型号:TMS320F28335 2.适用于NJUSTEO李彧晟老师课程 3.参考资料:《TMS320F28335 DSP原理、开发及应用》 4.对应PPT第二章 5.本章内容较多而且较为重要,请结合PPT一起复习注意
- 芯片型号:TMS320F28335
- 适用于NJUSTEO李彧晟老师课程
- 参考资料:《TMS320F28335 DSP原理、开发及应用》
- 对应PPT第二章
- 本章内容较多而且较为重要,请结合PPT一起复习
- 为了考试复习的同学请谨慎参考,本笔记的大部分都没考到
1 中断的分类
1.1 从触发源的角度
- 分为软件中断和硬件中断
- 硬件中断又分为外部中断和内部中断
1.2 从DSP的角度
- 分为可屏蔽中断和不可屏蔽中断
1.3 中断管理过程
2 外部中断扩展模块PIE
2.1 系统框图和主要寄存器
- 如上图所示,外设的中断请求发送给PIE模块单元,每个单元负责8个外设或是引脚的中断请求
- PIEIFR是中断标志寄存器,中断到来后相应位置1.
- PIEIER是中断使能寄存器,控制是否使能某个中断
- PIEACK是中断应答寄存器,可读可写,读到的不同的值代表不同的中断应答状态。
- IFR是CPU中断标志寄存器,这个寄存器有16位,当使能PIE模式时,PIE会复用11~0位
- IER的作用是使能中断,寄存器格式和IFR相似。
- INTM是总中断,0为全部使能,1为全部关闭
/*** Global Interrupts ***/ asm(" CLRC INTM"); //enable global interrupts asm(" SETC INTM"); //disable global interrupts
2.2 PIE系统的分级
- 外设级
片内外设的各个中断信号都具有自己的中断标志寄存器和中断使能寄存器 - PIE级
将96个中断分成12组,每组负责8个中断 - CPU级
PIE将中断请求发送到CPU后,CPU中断标志寄存器IFR中对应的INTx将被置位
3 中断向量表
- 中断矢量表,又称为中断地址,表明中断发生后,若DSP响应中断,指令执行的地址。
4 PIE设置寄存器
4.1 PIE控制寄存器PIECTRL
- PIEVECT位,仅可读,用来获取中断向量的地址
- ENPIE位,0不使能,所有的PIE寄存器可更改,1使能,所有的中断向量指向PIE
其余的PIE控制寄存器都已经在第2章中讲到
例子
#include "DSP2833x_Device.h" PieCtrlRegs.PIEIFR1.bit.INTx4 = 1; //manually set IFR for XINT1 in PIE group 1 PieCtrlRegs.PIEIER3.bit.INTx5 = 1; //enable EPWM5_INT in PIE group 3 PieCtrlRegs.PIEACK.all = 0x0004; //acknowledge the PIE group 3 PieCtrlRegs.PIECTRL.bit.ENPIE = 1; //enable the PIE
5 中断服务程序ISR
- 中断服务程序是用户编写的,是对中断事件做出响应的子程序。
- CPU接收到中断请求并响应之后,就根据中断矢量内容转移到相应的中断服务程序ISR中。
- ISR在为中断所要求的任务服务之前需要保存和恢复寄存器的值,并且还要管理中断嵌套。
5.1 中断声明
interrupt void epwm1_timer_adc_isr(void);
5.2 中断函数
interrupt void epwm1_timer_adc_isr(void) { …… }
5.3 中断函数映射中断向量表
- 取出中断函数入口地址,并将入口地址赋给中断,当中断到来时就可以运行中断函数
EALLOW; PieVectTable.EPWM1_INT = &epwm1_timer_adc_isr; EDIS;
-
DSP复习笔记(2)——TMS320F28335芯片内部结构
2019-12-17 23:00:321. 芯片型号:TMS320F28335 2. 适用于NJUSTEO李彧晟老师课程 3. 参考资料:《TMS320F28335 DSP原理、开发及应用》 4. 对应PPT第二章 5. 本章内容较多而且较为重要,请结合PPT一起复习注意
- 芯片型号:TMS320F28335
- 适用于NJUSTEO李彧晟老师课程
- 参考资料:《TMS320F28335 DSP原理、开发及应用》
- 对应PPT第二章
- 本章内容较多而且较为重要,请结合PPT一起复习
- 为了考试复习的同学请谨慎参考,本笔记的大部分都没考到
1 F28335内核
- 对用PPT15页
1.1 CPU
- 分为32位定点CPU和32位浮点CPU
- 使用原子指令,汇编编程更简便、尺寸更小、速度更快、不可被中断的指令、更高效的编译
1.2 总线结构
- 程序读总线:
22位地址,32位数据; - 数据读总线:
32位地址,32位数据; - 数据写总线:
32位地址,32位数据;
- 采用哈佛总线结构
1.3 流水线机制
- 这一机制在上一章有讲到
- 流水技术是将各指令的各个步骤重叠起来执行,即使得若干条指令的不同执行阶段可以处于同一时刻并行处理,这样每一个阶段称作一个流水。
1.4 FPU流水线
- 暂不清楚这是个什么东西
2 F28335的存储单元
2.1 F28335存储介质:
1)Flash存储器;
2)单周期访问RAM;
3)OTP;
4)片外存储器;
5)Boot ROM。2.2 代码保护模块CSM
- 防止逆向工程,并保护知识产权(IP)
- Flash中的一段长度为128bit的存储空间
- 2128 = 3.4 x 1038 种可能的密码
- 在150MHz的时钟频率下,每8个时钟周期试验一组密码,则最多需要5.8 x 1023年
3 片上外设
- 增强型脉宽调制模块
- 增强型捕获模块
- 增强型正交编码脉冲模块
- 数模转换模块
- 看门狗模块
- 控制局域网络总线模块
- 集成电路总线模块
- 串行通信接口模块
- 串行外设接口模块
- 多通道缓冲串行接口模块
- 通用输入输出接口模块
- 这里仅仅是将片内外设列举一遍,后边的笔记里会有具体的讲解。
4 F28335特点
- PPT:24
4.1 高性能静态 CMOS 技术
- 主频最高达 150MHz
- 1.9V/1.8V内核,3.3V I/O设计
4.2 高性能 32 位 CPU
- IEEE-754 单精度浮点单元
- 16 x 16 和 32 x 32 介质访问控制 (MAC) 运算
- 16 x 16 双 MAC
- 哈佛 (Harvard) 总线架构
- 快速中断响应和处理
- 统一存储器编程模型和高效代码
4.3 6 通道 DMA 处理器
4.4 16 位或 32 位外部接口XINTF
4.5 片内存储器
- 256K Flash,34K×16 SARAM
- 1K×16 OTP ROM
4.6 引导ROM
- 8K×16
- 支持软件引导模式(通过 SCI,SPI,CAN,I2C,McBSP,XINTF 和并行 I/O)
4.7 时钟和系统控制
- 支持动态锁相环 (PLL) 比率变化,片载振荡器,安全装置定时器模块
4.8 GPIO
- GPIO0 到 GPIO63 引脚可以连接到八个外部内核中断其中的一个
4.9 PIE
- 可支持全部58个外设中断的外设中断扩展 (PIE) 块
4.10 128 位安全密钥/锁
- 保护闪存 / OTP/RAM 模块,防止固件逆向工程
- 上文提到过
4.11 增强型控制外设
- ePWM,eCAP,eQEP
4.12 3个32位定时器
4.13 串行端口外设
- CAN,SCI,McBSP,SPI,I2C
4.14 12位模数转换器
- 80ns转换速度,2×8通道输入复用
- 两个采样保持,单一/同步转换
- 内部或外部电压基准
4.15 低功耗模式和省电模式
- 支持IDLE(空闲)、STANDBY(待机)、HALT(暂停)模式
- 可禁用独立外设时钟
-
TMS320F28335核心板原理图V2.pdf )
2014-02-07 12:16:55这是TMS320F28335最小系统板的非常好的设计资料。 -
DSP复习笔记(7)——TMS320F28335模数转换模块
2019-12-26 21:31:31【注意】 1. 芯片型号:TMS320F28335 2. 适用于NJUSTEO李彧晟老师课程 3. 参考资料:《TMS320F28335 DSP原理、开发及应用》 4. 对应PPT第二章80页 5. 本章内容较多而且较为重要,请结合PPT一起复习注意
- 芯片型号:TMS320F28335
- 适用于NJUSTEO李彧晟老师课程
- 参考资料:《TMS320F28335 DSP原理、开发及应用》
- 对应PPT第二章98页
- 本章内容较多而且较为重要,请结合PPT一起复习
- 为了考试复习的同学请谨慎参考,本笔记的大部分都没考到
1 概述
- 具有双采样保持器的12位转换内核;
- 同步采样模式或顺序采样模式;
- 模拟输入电压范围0~3V
- 快速采样功能,最高6.25MSPS;
- 16通道输入,多路时分复用;
- 自动定序功能,在一个采样序列内支持16次“自动转换”;
- 序列发生器可配置成两个独立8通道或者一个16通道;
- 有多种触发源启动模数转换;
- 灵活的中断控制;
- 16个采样通道采用分时复用模式进行采样
- 序列发生器决定采样对象,是一个存储地址的寄存器
- S/H-A和S/H-B是两个采样保持器
2 序列发生器工作模式
- 无论是级联工作模式还是双序列工作模式,其本质都是通过设定通道的读取顺序来进行通道的读取选择。
2.1 级联序列工作模式
- 一个16通道序列发生器
2.2 双序列工作模式
- 两个8通道序列发生器
3 ADC工作模式
ADC还可以工作于同时采样模式或顺序采样模式。对于每个转换(或同时采样模式下的转换对),当前的CONVxx位字段定义要采样和转换的引脚(或一对引脚)。
在顺序采样模式下,CONVxx的所有四个位定义输入引脚。 最高位定义了输入引脚与哪个采样保持缓冲器相关联,而低3位定义了偏移量。例如,如果CONVxx=0101b,则ADCINA5是所选的输入引脚。如果它=1011b,则ADCINB3为选定的输入引脚。
在同时采样模式下,CONVxx寄存器的最高位被丢弃。每个采样和保持缓冲器都采样由CONVxx寄存器的低3位提供的偏移量给定的相关引脚。例如,如果CONVxx寄存器包含值0110b,则ADCINA6由S / H-A采样,而ADCINB6由S / H-B采样。如果值为1001b,则ADCINA1由S / H-A采样,ADCINB1由S / H-B采样。首先转换S / H-A中的电压,然后转换S / H-B电压。 S / H-A转换的结果放置在当前的ADCRESULTn寄存器中(假定定序器已复位,则为SEQ1的ADCRESULT0)。 S / H-B转换的结果放置在下一个ADCRESULTn寄存器中(假定定序器已复位,则为SEQ1的ADCRESULT1)。然后将结果寄存器指针加2(假设序列器最初已复位,则指向SEQ1的ADCRESULT2)。3.1 顺序采样模式
- 由4位CONV来决定输入通道的采样
3.2 同步采样模式
- 由4位CONV的低3位来决定输入通道的采样
4 中断控制
- 2种中断控制:
Case1:每次SEQ序列结束产生中断;
Case2:间隔一次SEQ序列结束产生中断。
忽略Case3
5 ADC采样结果的转换
- 其中Vin为输入电压,ADCLO为基准电压
- 参考电压⼀般是0V,也可以通过寄存器更改
输入电压超过[0,3]范围时如何处理?
- 例如: -1.5 V < Vin < +1.5 V
- 使用运放电路
Vadcinx = Vin + 1.5
注意ADCLO是参考电压 - 把结果减去偏移值,这里是1.5V
#include “DSP2833x_Device.h” #define offset 0x07FF void main(void) { int16 value; // signed value = AdcMirror.ADCRESULT0 – offset; }
6 ADC时钟配置
7 ADC基准电压
- 默认情况下选择片内参考电压作为ADC转换的基准电压
- 也可使用外部参考电压
- 可选2.048 V, 1.5 V,1.024 V,由ADCREFSEL寄存器控制
- 但输入引脚的电压仍不可超过0 - 3 V
8 ADC相关寄存器
8.1 ADC控制寄存器1(ADCTRL1)
Bit(s) Name value Description 14 RESET 0,1 ADC模块的复位, 0:无反应;1:复位整个ADC模块 13-12 SUSMOD 仿真挂起模式控制位
00:仿真挂起被忽略
01:当前序列结束后锁存结果
10:当前转换结束后锁存结果
11:序列发生器及回绕逻辑电路立即停止工作11-8 ACQ_PS 决定了SOC脉冲宽度,
SOC脉冲宽度=(ACQ_PS[3:0]+1)×ADCCLK周期7 CPS 0,1 ADC内核时钟预分频位
0: ADCCLK = FCLK / 1
1: ADCCLK = FCLK / 26 CONT_RUN 0,1 连续运行模式:
0:启动/停止模式
1:连续运行5 SEQ_OVRD 0,1 序列发生器覆盖功能
0:允许序列发生器在完成MAX_CONVn个转换后回绕
1:在序列发生器完成MAX_CONVn个转换后发生覆盖,只在序列发生器中的末端发生回绕4 SEQ_CASC 0,1 级联模式控制位
0:序列发生器工作在双序列发生器方式
1:序列发生器工作在级联方式,SEQ为16通道8.2 ADC控制寄存器2(ADCTRL2)
8.3 ADC控制寄存器3
8.4 最大转换通道配置寄存器(ADCMAXCONV)
- 定义每次触发之后的转换格式
- 根据序列发生器的工作方式(双序列发生器方式、级联序列发生器模式)的不同,MAX_CONVn有不同的定义:
- 对于SEQ1,MAX_CONV1[2:0]起作用;
- 对于SEQ2,MAX_CONV2[2:0]起作用;
- 对于SEQ,MAX_CONV1[3:0]起作用。
- 一个序列内所能完成的转换次数为MAX_CONVn+1次
8.5 输入通道选择寄存器(ADCCHSELSEQx)
- 这个寄存器是配置输入通道的顺序,一共有4个寄存器,每个寄存器又被分成了4段,每一段为4位。
8.6 ADC结果寄存器(ADCRESULTx)
- 这个结果寄存器有连个,分别是 0x7108-0x7117和0x0B00~0x0B0F
-
DSP复习笔记(3)——TMS320F28335系统时钟
2019-12-18 20:45:36参考资料:《TMS320F28335 DSP原理、开发及应用》 对应PPT第二章 本章内容较多而且较为重要,请结合PPT一起复习 1 内核时钟(SYSCLKOUT) PPT:29 英文表示一定要记住 1.1 产生 CLKIN 是到 CPU 的... -
DSP复习笔记(8)——TMS320F28335软件环境
2019-12-30 00:47:35参考资料:《TMS320F28335 DSP原理、开发及应用》 对应PPT第三章 1 DSP软件开发流程 下图是TI系列CCS开发环境基本框架 编译器的作用是将.c文件编译成.asm文件 汇编器是将.asm汇编到.obj 连接器是将.obj和.cmd... -
TMS320F28335 DSP光伏离网并网逆变器PROTEL99SE设计原理图PCB+CCS软件工程源码+相关技术文档资料.zip
2021-03-19 21:45:46TMS320F28335 DSP光伏离网并网逆变器PROTEL99SE设计原理图PCB+CCS软件工程源码+相关技术文档资料,可以做为你的设计参考。 -
基于stm32f405控制三相无刷电机例程_手把手教你学DSP——基于TMS320F28335
2020-12-04 08:38:38课程简介:本教程是依照南京研旭电气科技有限公司推出的TMS320F28335至尊板来进行详细讲解的。本书详细地阐述了TMS320F28335 DSP处理器内部各功能模块的硬件结构、工作原理、资源分配、功能特点以及应用等内容,同时... -
研旭TMS320F28335开发板原理图及封装库.zip
2019-12-28 15:47:47里面包含AD格式的圈套封装、开发板的原理图、原件清单和核心板尺寸图,资料属实需要的可以下载对于毕业设计或是需要封装和原理图参考设计的还是很有帮助的 -
TMS320F28335 难得的DSP串口烧写程序的资料,亲测可用
2012-03-02 13:39:50通过串口下载DSP程序,对于不想花钱买仿真器的开发者来说是一个难得的节约成本的好方法。对于一些不方便使用仿真器的场合,该方法也非常得便捷,方便。C2Prog是一款优秀的第三方软件,可以将.hex文件通过串口烧写... -
手把手教你学DSP:基于TMS320F28335 pdf电子书(464页全带书签
2018-09-19 18:57:22, 《手把手教你学DSP:基于TMS320X281x》共享相关的资料,包括:所有实例C语言程序代码、Flash烧写所需资源以及常用的一些调试工具软件,可以在HELLODSP论坛《手把手教你学DSP:基于TMS320X281x》书友会下载。... -
基于TMS320F28335的运动控制器--开发与调试记录1
2016-03-21 10:55:08实验室接到的项目,用TI的TMS320F28335做一个运动控制器。通过CAN总线接收上位机发送的信息、目标位置,DSP进行插补点的计算,通过SPI总线控制伺服电机。 之前没有接触过DSP,为了项目暴补了一下知识。就目前的感觉... -
普中28335开发攻略_TMS320F28335项目开发记录1_CCS的使用介绍
2020-12-19 03:28:44前言本系列文章记录本人实际项目开发时对ti的DSP28335,以及CCS开发环境等的学习与记录,相对于2812来说,28335的资料还是比較少的,只是原理是相通的,28335说白了就是比2812多一些外设,寄存器等东西;28335对于... -
TMS320F28335项目开发记录1_CCS的使用介绍
2017-04-29 21:41:00本系列文章记录本人实际项目开发时对ti的DSP28335,以及CCS开发环境等的学习与记录,相对于2812来说,28335的资料还是比較少的,只是原理是相通的,28335说白了就是比2812多一些外设,寄存器等东西; 28335对于...