久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8709|回復: 13
打印 上一主題 下一主題
收起左側

F28335 SPWM源碼分享

  [復制鏈接]
跳轉到指定樓層
樓主
ID:232960 發表于 2017-9-13 20:54 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
分享一個F28335 SPWM源碼

源程序如下:
  1. #include "DSP2833x_Device.h"
  2. #include "DSP2833x_Examples.h"

  3. interrupt void EPwm1_isr();
  4. void InitEPwm1Example();
  5. void InitSpwm();

  6. #define N 400 //N:載波比
  7. Uint16 spwmcnt=0;    //對SPWM相位的計數
  8. unsigned int f_s=50; //f_s:調制信號頻率,
  9. unsigned Period=0;              //計數器周期值計算方法
  10. long int ftime=150000000;       //CPU頻率為150M=100 *100000
  11. const   float  M_ratio=0.8;    //SPWM調制比,可修改
  12. Uint16 CMPA_data[N];

  13. void main(void)
  14. {

  15.     Period=ftime/(f_s*N*2);  //對應EPwm1 頻率為20Khz
  16.     InitSpwm();
  17.     InitSysCtrl();

  18.     DINT;

  19.     InitEPwm1Gpio();    //初始化EPwm的輸出口
  20.     IER=0X0000;
  21.     IFR=0X0000;
  22.    
  23.     InitPieVectTable();

  24.     EALLOW;
  25.     PieVectTable.EPWM1_INT=&EPwm1_isr;
  26.     EDIS;

  27.     EALLOW;
  28.     SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC=0;
  29.     EDIS;
  30.     InitEPwm1Example();           //初始化EPwm的配置
  31.     EALLOW;
  32.     SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC=1;
  33.     EDIS;

  34.     PieCtrlRegs.PIEIER3.bit.INTx1=1;    //使能EPwm1中斷

  35.     IER|=M_INT3;


  36.     EINT;
  37.     ERTM;

  38.     for(;;)
  39.     {
  40.     }
  41. }
  42. interrupt void EPwm1_isr()
  43. {
  44.     if(spwmcnt==N)
  45.     {
  46.         spwmcnt=0;
  47.     }
  48.     EPwm1Regs.CMPA.half.CMPA=CMPA_data[spwmcnt++];

  49.     EPwm1Regs.ETCLR.bit.INT=1;
  50.     PieCtrlRegs.PIEACK.all=PIEACK_GROUP3;
  51. }


  52. void InitEPwm1Example()
  53. {
  54.     EPwm1Regs.TBCTL.bit.CTRMODE=2;    //設置為向上向下計數模式
  55.     EPwm1Regs.TBPRD=Period;     //周期
  56.     EPwm1Regs.TBCTL.bit.HSPCLKDIV=0;   //高速分頻
  57.     EPwm1Regs.TBCTL.bit.CLKDIV=0;      //時基分頻
  58.     EPwm1Regs.AQCTLA.bit.ZRO=AQ_SET;   //
  59.     EPwm1Regs.AQCTLA.bit.CAU=AQ_CLEAR;
  60.     EPwm1Regs.AQCTLA.bit.CAD=AQ_SET;

  61.     EPwm1Regs.ETSEL.bit.INTSEL=ET_CTR_ZERO;
  62.     EPwm1Regs.ETSEL.bit.INTEN=1;
  63.     EPwm1Regs.ETPS.bit.INTPRD=1;
  64. }

  65. void InitSpwm()
  66. {
  67.     int i=0;
  68.     float sin_table[N]={
  69.             0.000000,0.015747,0.031489,0.047224,0.062948,0.078655,0.094343,0.110008,0.125646,0.141252,
  70.             0.156823,0.172356,0.187845,0.203288,0.218681,0.234020,0.249300,0.264519,0.279672,
  71.             0.294755,0.309766,0.324699,0.339553,0.354322,0.369003,0.383593,0.398087,0.412483,
  72.             0.426776,0.440964,0.455042,0.469008,0.482857,0.496587,0.510193,0.523673,0.537023,
  73.             0.550240,0.563320,0.576261,0.589059,0.601710,0.614213,0.626563,0.638758,0.650794,
  74.             0.662669,0.674380,0.685923,0.697297,0.708497,0.719522,0.730368,0.741034,0.751515,
  75.             0.761810,0.771917,0.781831,0.791552,0.801077,0.810403,0.819528,0.828450,0.837166,
  76.             0.845675,0.853974,0.862062,0.869935,0.877593,0.885033,0.892254,0.899254,0.906030,
  77.             0.912582,0.918908,0.925005,0.930874,0.936511,0.941917,0.947088,0.952025,0.956726,
  78.             0.961189,0.965414,0.969400,0.973146,0.976650,0.979912,0.982930,0.985706,0.988236,
  79.             0.990522,0.992562,0.994356,0.995903,0.997204,0.998257,0.999062,0.999620,0.999930,
  80.             0.999992,0.999806,0.999372,0.998691,0.997761,0.996584,0.995161,0.993490,0.991573,
  81.             0.989410,0.987002,0.984349,0.981452,0.978311,0.974928,0.971303,0.967437,0.963332,
  82.             0.958987,0.954405,0.949586,0.944532,0.939243,0.933721,0.927968,0.921985,0.915773,
  83.             0.909334,0.902670,0.895782,0.888671,0.881341,0.873791,0.866026,0.858045,0.849851,
  84.             0.841447,0.832834,0.824015,0.814991,0.805765,0.796340,0.786716,0.776898,0.766887,
  85.             0.756686,0.746298,0.735724,0.724968,0.714032,0.702919,0.691632,0.680173,0.668545,
  86.             0.656752,0.644796,0.632680,0.620407,0.607980,0.595403,0.582678,0.569808,0.556797,
  87.             0.543648,0.530365,0.516949,0.503406,0.489737,0.475947,0.462040,0.448017,0.433884,
  88.             0.419643,0.405298,0.390852,0.376310,0.361674,0.346948,0.332136,0.317242,0.302270,
  89.             0.287222,0.272104,0.256917,0.241667,0.226358,0.210991,0.195573,0.180106,0.164595,
  90.             0.149042,0.133453,0.117831,0.102179,0.086502,0.070804,0.055088,0.039358,0.023619,
  91.             0.007874,-0.007874,-0.023619,-0.039358,-0.055088,-0.070804,-0.086502,-0.102179,-0.117830,
  92.             -0.133453,-0.149042,-0.164595,-0.180106,-0.195573,-0.210991,-0.226357,-0.241667,-0.256917,
  93.             -0.272103,-0.287222,-0.302270,-0.317242,-0.332136,-0.346948,-0.361673,-0.376309,-0.390852,
  94.             -0.405297,-0.419643,-0.433884,-0.448017,-0.462040,-0.475947,-0.489737,-0.503405,-0.516949,
  95.             -0.530364,-0.543648,-0.556797,-0.569808,-0.582677,-0.595403,-0.607980,-0.620407,-0.632680,
  96.             -0.644796,-0.656752,-0.668545,-0.680173,-0.691631,-0.702919,-0.714032,-0.724968,-0.735724,
  97.             -0.746298,-0.756686,-0.766887,-0.776898,-0.786716,-0.796339,-0.805765,-0.814991,-0.824015,
  98.             -0.832834,-0.841447,-0.849851,-0.858045,-0.866025,-0.873791,-0.881341,-0.888671,-0.895782,
  99.             -0.902670,-0.909334,-0.915773,-0.921985,-0.927968,-0.933721,-0.939243,-0.944532,-0.949586,
  100.             -0.954405,-0.958987,-0.963332,-0.967437,-0.971303,-0.974928,-0.978311,-0.981451,-0.984349,
  101.             -0.987002,-0.989410,-0.991573,-0.993490,-0.995161,-0.996584,-0.997761,-0.998691,-0.999372,
  102.             -0.999806,-0.999992,-0.999930,-0.999620,-0.999062,-0.998257,-0.997204,-0.995903,-0.994356,
  103.             -0.992562,-0.990522,-0.988236,-0.985706,-0.982931,-0.979912,-0.976650,-0.973146,-0.969400,
  104.             -0.965415,-0.961189,-0.956726,-0.952025,-0.947088,-0.941916,-0.936511,-0.930874,-0.925005,
  105.             -0.918908,-0.912582,-0.906030,-0.899254,-0.892254,-0.885034,-0.877593,-0.869935,-0.862062,
  106.             -0.853974,-0.845675,-0.837166,-0.828450,-0.819528,-0.810403,-0.801077,-0.791553,-0.781832,
  107.             -0.771917,-0.761811,-0.751515,-0.741034,-0.730368,-0.719522,-0.708497,-0.697297,-0.685924,
  108.             -0.674380,-0.662669,-0.650794,-0.638758,-0.626563,-0.614213,-0.601710,-0.589059,-0.576261,
  109.             -0.563320,-0.550240,-0.537023,-0.523673,-0.510193,-0.496587,-0.482857,-0.469008,-0.455043,
  110.             -0.440964,-0.426777,-0.412483,-0.398087,-0.383593,-0.369003,-0.354322,-0.339553,-0.324700,
  111.             -0.309766,-0.294755,-0.279672,-0.264519,-0.249300,-0.234020,-0.218681,-0.203289,-0.187845,
  112.             -0.172356,-0.156823,-0.141252,-0.125646,-0.110009,-0.094344,-0.078656,-0.062948,-0.047224,
  113.             -0.031490,-0.015747,0
  114.     };   // 50hz正弦波離散化

  115.     for(i=0;i<N;i++)
  116.     {
  117.         CMPA_data[i]=(0.5+0.5*M_ratio*sin_table[i])*Period; //規則采樣計算公式 CMPA_data[i]=(0.5+0.5*M_ratio*sin_table[i])*Period

  118.     }
  119. }

復制代碼



評分

參與人數 3黑幣 +60 收起 理由
fhx9999 + 5 贊一個!
錦瑟年華722 + 5 贊一個!
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂3 踩
回復

使用道具 舉報

沙發
ID:234805 發表于 2017-9-22 09:31 | 只看該作者
樓主好人一枚
回復

使用道具 舉報

板凳
ID:234805 發表于 2017-9-22 09:32 | 只看該作者
樓主好人一枚
回復

使用道具 舉報

地板
ID:237562 發表于 2017-10-7 04:15 | 只看該作者
Looks retty good, i will try to use it on a F28379D
回復

使用道具 舉報

5#
ID:380348 發表于 2018-8-4 22:37 | 只看該作者
這個很給力,贊一個
回復

使用道具 舉報

6#
ID:430590 發表于 2018-11-21 15:32 | 只看該作者
樓主程序里的正弦表是怎么算的??
回復

使用道具 舉報

7#
ID:431166 發表于 2018-11-22 14:26 | 只看該作者
樓主一生平安~~感謝
回復

使用道具 舉報

8#
ID:325681 發表于 2019-2-18 08:36 | 只看該作者
maomao貓 發表于 2018-11-21 15:32
樓主程序里的正弦表是怎么算的??

正弦表可以用MATLAB計算啊,我是這樣用的,
回復

使用道具 舉報

9#
ID:508567 發表于 2019-4-10 10:53 | 只看該作者
maomao貓 發表于 2018-11-21 15:32
樓主程序里的正弦表是怎么算的??

這個回答好像太晚,下載一個正弦表發生器或者用matlab采樣都是可以的。
回復

使用道具 舉報

10#
ID:742944 發表于 2020-5-2 18:44 | 只看該作者
先下載下來看看
回復

使用道具 舉報

11#
ID:469861 發表于 2020-12-24 09:07 | 只看該作者
好棒,贊一個
回復

使用道具 舉報

12#
ID:575853 發表于 2021-4-19 10:10 | 只看該作者
這svpwm?
回復

使用道具 舉報

13#
ID:60645 發表于 2021-9-27 15:32 | 只看該作者
代碼寫得不太好
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩不卡一区二区三区 | 国产精品无码久久久久 | 国产高清免费 | 欧美精 | av影音资源 | 2019天天操| 日日摸天天添天天添破 | 综合久久一区 | 一级黄色网页 | 成人精品福利 | 人人干人人干人人 | 久久久91精品国产一区二区精品 | 欧美在线视频网 | 91精品国产91久久综合桃花 | 久草在线影 | 国产欧美日韩在线 | 国产精品91久久久久久 | 久久久久成人精品亚洲国产 | 欧美久久久久久 | aaa一区 | 黄色大片视频 | 免费成人在线网站 | 婷婷色婷婷 | 天堂综合网久久 | 9999视频| 国产精品久久久久久久久久久久久 | 国产成人99久久亚洲综合精品 | 九九热在线视频观看这里只有精品 | 国产成人精品免费视频大全最热 | 久久亚洲天堂 | 亚洲一区 中文字幕 | 国内精品久久久久 | 欧美a免费 | 精品一区二区三区日本 | 日韩精品一区二区三区视频播放 | 精品视频一区二区 | 日本特黄特色aaa大片免费 | 最新中文字幕久久 | 性生生活大片免费看视频 | 亚洲高清在线 | 亚洲一区免费 |