当前位置:   article > 正文

【综述】DSP处理器芯片

【综述】DSP处理器芯片

文章目录

TI DSP

C2000系列

TMS320F28003X

典型应用

开发工具链

参考资料


TI DSP

        TI C2000系列 控制领域

        TI C5000系列 通信领域

        TI C6000系列 图像领域

C2000系列

        第三代集成了C28浮点DSP内核,采用了65nm工艺上一代180nm

        第四代正在规划中,将内置C29 DSP内核,性能提高2至3倍

TMS320F28003X

        C2000F28003X包括一个120MHz主频的32C28 浮点DSP,以及一个120MHz主频的CLA。CLA (Control Law Accelerator,控制率加速器)独立于C28x CPU工作,时钟频率与CPU相同,可执行算法以及周期性的计算工作。通过增加平行的处理单元CLA,拓展了C28x CPU的性能。

典型应用

        电机控制示例如下:

  1. void PWMA_config(void)
  2. {
  3. P_SW2 |= 0x80; //SFR enable
  4. PWM1 = 0;
  5. PWM1_L = 0;
  6. PWM2 = 0;
  7. PWM2_L = 0;
  8. PWM3 = 0;
  9. PWM3_L = 0;
  10. P1n_push_pull(0x3f);
  11. PWMA_PSCR = 3; // 预分频寄存器, 分频 Fck_cnt = Fck_psc/(PSCR[15:0}+1), 边沿对齐PWM频率 = SYSclk/((PSCR+1)*(AAR+1)), 中央对齐PWM频率 = SYSclk/((PSCR+1)*(AAR+1)*2).
  12. PWMA_DTR = 24; // 死区时间配置, n=0~127: DTR= n T, 0x80 ~(0x80+n), n=0~63: DTR=(64+n)*2T,
  13. // 0xc0 ~(0xc0+n), n=0~31: DTR=(32+n)*8T, 0xE0 ~(0xE0+n), n=0~31: DTR=(32+n)*16T,
  14. PWMA_ARR = 255; // 自动重装载寄存器, 控制PWM周期
  15. PWMA_CCER1 = 0;
  16. PWMA_CCER2 = 0;
  17. PWMA_SR1 = 0;
  18. PWMA_SR2 = 0;
  19. PWMA_ENO = 0;
  20. PWMA_PS = 0;
  21. PWMA_IER = 0;
  22. PWMA_CCMR1 = 0x68; // 通道模式配置, PWM模式1, 预装载允许
  23. PWMA_CCR1 = 0; // 比较值, 控制占空比(高电平时钟数)
  24. PWMA_CCER1 |= 0x05; // 开启比较输出, 高电平有效
  25. PWMA_PS |= 0; // 选择IO, 0:选择P1.0 P1.1, 1:选择P2.0 P2.1, 2:选择P6.0 P6.1,
  26. bit4: ENO3P, bit3: ENO2N, bit2: ENO2P, bit1: ENO1N, bit0: ENO1P
  27. PWMA_CCMR2 = 0x68; // 通道模式配置, PWM模式1, 预装载允许
  28. PWMA_CCR2 = 0; // 比较值, 控制占空比(高电平时钟数)
  29. PWMA_CCER1 |= 0x50; // 开启比较输出, 高电平有效
  30. PWMA_PS |= (0<<2); // 选择IO, 0:选择P1.2 P1.3, 1:选择P2.2 P2.3, 2:选择P6.2 P6.3,
  31. bit4: ENO3P, bit3: ENO2N, bit2: ENO2P, bit1: ENO1N, bit0: ENO1P
  32. PWMA_CCMR3 = 0x68; // 通道模式配置, PWM模式1, 预装载允许
  33. PWMA_CCR3 = 0; // 比较值, 控制占空比(高电平时钟数)
  34. PWMA_CCER2 |= 0x05; // 开启比较输出, 高电平有效
  35. PWMA_PS |= (0<<4); // 选择IO, 0:选择P1.4 P1.5, 1:选择P2.4 P2.5, 2:选择P6.4 P6.5,
  36. PWMA_BKR = 0x80; // 主输出使能 相当于总开关
  37. PWMA_CR1 = 0x81; // 使能计数器, 允许自动重装载寄存器缓冲, 边沿对齐模式, 向上计数, bit7=1:写自动重装载寄存器缓冲(本周期不会被打扰), =0:直接写自动重装载寄存器本(周期可能会乱掉)
  38. PWMA_EGR = 0x01; //产生一次更新事件, 清除计数器和与分频计数器, 装载预分频寄存器的值
  39. }
  40. void StepMotor(void)
  41. {
  42. switch(step)
  43. {
  44. case 0: // AB PWM1, PWM2_L=1
  45. PWMA_ENO = 0x00; PWM1_L=0; PWM3_L=0;
  46. Delay_500ns();
  47. PWMA_ENO = 0x01; // 打开A相的高端PWM
  48. PWM2_L = 1; // 打开B相的低端
  49. ADC_CONTR = 0x80+10; // 选择P0.2作为ADC输入 即C相电压
  50. CMPCR1 = 0x8c + 0x10; //比较器下降沿中断
  51. break;
  52. case 1: // AC PWM1, PWM3_L=1
  53. PWMA_ENO = 0x01; PWM1_L=0; PWM2_L=0; // 打开A相的高端PWM
  54. Delay_500ns();
  55. PWM3_L = 1; // 打开C相的低端
  56. ADC_CONTR = 0x80+9; // 选择P0.1作为ADC输入 即B相电压
  57. CMPCR1 = 0x8c + 0x20; //比较器上升沿中断
  58. break;
  59. case 2: // BC PWM2, PWM3_L=1
  60. PWMA_ENO = 0x00; PWM1_L=0; PWM2_L=0;
  61. Delay_500ns();
  62. PWMA_ENO = 0x04; // 打开B相的高端PWM
  63. PWM3_L = 1; // 打开C相的低端
  64. ADC_CONTR = 0x80+8; // 选择P0.0作为ADC输入 即A相电压
  65. CMPCR1 = 0x8c + 0x10; //比较器下降沿中断
  66. break;
  67. case 3: // BA PWM2, PWM1_L=1
  68. PWMA_ENO = 0x04; PWM2_L=0; PWM3_L=0; // 打开B相的高端PWM
  69. Delay_500ns();
  70. PWM1_L = 1; // 打开C相的低端
  71. ADC_CONTR = 0x80+10; // 选择P0.2作为ADC输入 即C相电压
  72. CMPCR1 = 0x8c + 0x20; //比较器上升沿中断
  73. break;
  74. case 4: // CA PWM3, PWM1_L=1
  75. PWMA_ENO = 0x00; PWM2_L=0; PWM3_L=0;
  76. Delay_500ns();
  77. PWMA_ENO = 0x10; // 打开C相的高端PWM
  78. PWM1_L = 1; // 打开A相的低端
  79. adc11 = ((adc11 *7)>>3) + Get_ADC10bitResult(11);
  80. ADC_CONTR = 0x80+9; // 选择P0.1作为ADC输入 即B相电压
  81. CMPCR1 = 0x8c + 0x10; //比较器下降沿中断
  82. break;
  83. case 5: // CB PWM3, PWM2_L=1
  84. PWMA_ENO = 0x10; PWM1_L=0; PWM3_L=0; // 打开C相的高端PWM
  85. Delay_500ns();
  86. PWM2_L = 1; // 打开B相的低端
  87. ADC_CONTR = 0x80+8; // 选择P0.0作为ADC输入 即A相电压
  88. CMPCR1 = 0x8c + 0x20; //比较器上升沿中断
  89. break;
  90. default:
  91. break;
  92. }
  93. if(B_start) CMPCR1 = 0x8C; // 启动时禁止下降沿和上升沿中断
  94. }

开发工具链

        底层软件库、软件demo、工具链,示例如下:

参考资料

        TMS320F28003x Real-Time Microcontrollers datasheet.pdf

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/581461
推荐阅读
相关标签
  

闽ICP备14008679号