DSP2803x_EPwm.h 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576
  1. //###########################################################################
  2. //
  3. // FILE: DSP2803x_EPWM.h
  4. //
  5. // TITLE: DSP2803x Enhanced PWM Module Register Bit Definitions.
  6. //
  7. //###########################################################################
  8. // $TI Release: F2803x C/C++ Header Files and Peripheral Examples V130 $
  9. // $Release Date: May 8, 2015 $
  10. // $Copyright: Copyright (C) 2009-2015 Texas Instruments Incorporated -
  11. // http://www.ti.com/ ALL RIGHTS RESERVED $
  12. //###########################################################################
  13. #ifndef DSP2803x_EPWM_H
  14. #define DSP2803x_EPWM_H
  15. #ifdef __cplusplus
  16. extern "C" {
  17. #endif
  18. //----------------------------------------------------
  19. // Time base control register bit definitions */
  20. struct TBCTL_BITS { // bits description
  21. Uint16 CTRMODE:2; // 1:0 Counter Mode
  22. Uint16 PHSEN:1; // 2 Phase load enable
  23. Uint16 PRDLD:1; // 3 Active period load
  24. Uint16 SYNCOSEL:2; // 5:4 Sync output select
  25. Uint16 SWFSYNC:1; // 6 Software force sync pulse
  26. Uint16 HSPCLKDIV:3; // 9:7 High speed time pre-scale
  27. Uint16 CLKDIV:3; // 12:10 Timebase clock pre-scale
  28. Uint16 PHSDIR:1; // 13 Phase Direction
  29. Uint16 FREE_SOFT:2; // 15:14 Emulation mode
  30. };
  31. union TBCTL_REG {
  32. Uint16 all;
  33. struct TBCTL_BITS bit;
  34. };
  35. //----------------------------------------------------
  36. // Time base status register bit definitions */
  37. struct TBSTS_BITS { // bits description
  38. Uint16 CTRDIR:1; // 0 Counter direction status
  39. Uint16 SYNCI:1; // 1 External input sync status
  40. Uint16 CTRMAX:1; // 2 Counter max latched status
  41. Uint16 rsvd1:13; // 15:3 reserved
  42. };
  43. union TBSTS_REG {
  44. Uint16 all;
  45. struct TBSTS_BITS bit;
  46. };
  47. //----------------------------------------------------
  48. // Compare control register bit definitions */
  49. struct CMPCTL_BITS { // bits description
  50. Uint16 LOADAMODE:2; // 0:1 Active compare A
  51. Uint16 LOADBMODE:2; // 3:2 Active compare B
  52. Uint16 SHDWAMODE:1; // 4 Compare A block operating mode
  53. Uint16 rsvd1:1; // 5 reserved
  54. Uint16 SHDWBMODE:1; // 6 Compare B block operating mode
  55. Uint16 rsvd2:1; // 7 reserved
  56. Uint16 SHDWAFULL:1; // 8 Compare A Shadow registers full Status
  57. Uint16 SHDWBFULL:1; // 9 Compare B Shadow registers full Status
  58. Uint16 rsvd3:6; // 15:10 reserved
  59. };
  60. union CMPCTL_REG {
  61. Uint16 all;
  62. struct CMPCTL_BITS bit;
  63. };
  64. //----------------------------------------------------
  65. // Action qualifier register bit definitions */
  66. struct AQCTL_BITS { // bits description
  67. Uint16 ZRO:2; // 1:0 Action Counter = Zero
  68. Uint16 PRD:2; // 3:2 Action Counter = Period
  69. Uint16 CAU:2; // 5:4 Action Counter = Compare A up
  70. Uint16 CAD:2; // 7:6 Action Counter = Compare A down
  71. Uint16 CBU:2; // 9:8 Action Counter = Compare B up
  72. Uint16 CBD:2; // 11:10 Action Counter = Compare B down
  73. Uint16 rsvd:4; // 15:12 reserved
  74. };
  75. union AQCTL_REG {
  76. Uint16 all;
  77. struct AQCTL_BITS bit;
  78. };
  79. //----------------------------------------------------
  80. // Action qualifier SW force register bit definitions */
  81. struct AQSFRC_BITS { // bits description
  82. Uint16 ACTSFA:2; // 1:0 Action when One-time SW Force A invoked
  83. Uint16 OTSFA:1; // 2 One-time SW Force A output
  84. Uint16 ACTSFB:2; // 4:3 Action when One-time SW Force B invoked
  85. Uint16 OTSFB:1; // 5 One-time SW Force A output
  86. Uint16 RLDCSF:2; // 7:6 Reload from Shadow options
  87. Uint16 rsvd1:8; // 15:8 reserved
  88. };
  89. union AQSFRC_REG {
  90. Uint16 all;
  91. struct AQSFRC_BITS bit;
  92. };
  93. //----------------------------------------------------
  94. // Action qualifier continuous SW force register bit definitions */
  95. struct AQCSFRC_BITS { // bits description
  96. Uint16 CSFA:2; // 1:0 Continuous Software Force on output A
  97. Uint16 CSFB:2; // 3:2 Continuous Software Force on output B
  98. Uint16 rsvd1:12; // 15:4 reserved
  99. };
  100. union AQCSFRC_REG {
  101. Uint16 all;
  102. struct AQCSFRC_BITS bit;
  103. };
  104. //----------------------------------------------------
  105. // Dead-band generator control register bit definitions
  106. struct DBCTL_BITS { // bits description
  107. Uint16 OUT_MODE:2; // 1:0 Dead Band Output Mode Control
  108. Uint16 POLSEL:2; // 3:2 Polarity Select Control
  109. Uint16 IN_MODE:2; // 5:4 Dead Band Input Select Mode Control
  110. Uint16 rsvd1:9; // 14:4 reserved
  111. Uint16 HALFCYCLE:1; // 15 Half Cycle Clocking Enable
  112. };
  113. union DBCTL_REG {
  114. Uint16 all;
  115. struct DBCTL_BITS bit;
  116. };
  117. //----------------------------------------------------
  118. // Trip zone select register bit definitions
  119. struct TZSEL_BITS { // bits description
  120. Uint16 CBC1:1; // 0 TZ1 CBC select
  121. Uint16 CBC2:1; // 1 TZ2 CBC select
  122. Uint16 CBC3:1; // 2 TZ3 CBC select
  123. Uint16 CBC4:1; // 3 TZ4 CBC select
  124. Uint16 CBC5:1; // 4 TZ5 CBC select
  125. Uint16 CBC6:1; // 5 TZ6 CBC select
  126. Uint16 DCAEVT2:1; // 6 DCAEVT2
  127. Uint16 DCBEVT2:1; // 7 DCBEVT2
  128. Uint16 OSHT1:1; // 8 One-shot TZ1 select
  129. Uint16 OSHT2:1; // 9 One-shot TZ2 select
  130. Uint16 OSHT3:1; // 10 One-shot TZ3 select
  131. Uint16 OSHT4:1; // 11 One-shot TZ4 select
  132. Uint16 OSHT5:1; // 12 One-shot TZ5 select
  133. Uint16 OSHT6:1; // 13 One-shot TZ6 select
  134. Uint16 DCAEVT1:1; // 14 DCAEVT1
  135. Uint16 DCBEVT1:1; // 15 DCBEVT1
  136. };
  137. union TZSEL_REG {
  138. Uint16 all;
  139. struct TZSEL_BITS bit;
  140. };
  141. //----------------------------------------------------
  142. // Trip zone digital compare event select register
  143. struct TZDCSEL_BITS { // bits description
  144. Uint16 DCAEVT1:3; // 2:0 Digital Compare Output A Event 1
  145. Uint16 DCAEVT2:3; // 5:3 Digital Compare Output A Event 2
  146. Uint16 DCBEVT1:3; // 8:6 Digital Compare Output B Event 1
  147. Uint16 DCBEVT2:3; // 11:9 Digital Compare Output B Event 2
  148. Uint16 rsvd1:4; // 15:12 reserved
  149. };
  150. union TZDCSEL_REG {
  151. Uint16 all;
  152. struct TZDCSEL_BITS bit;
  153. };
  154. //----------------------------------------------------
  155. // Trip zone control register bit definitions */
  156. struct TZCTL_BITS { // bits description
  157. Uint16 TZA:2; // 1:0 TZ1 to TZ6 Trip Action On EPWMxA
  158. Uint16 TZB:2; // 3:2 TZ1 to TZ6 Trip Action On EPWMxB
  159. Uint16 DCAEVT1:2; // 5:4 EPWMxA action on DCAEVT1
  160. Uint16 DCAEVT2:2; // 7:6 EPWMxA action on DCAEVT2
  161. Uint16 DCBEVT1:2; // 9:8 EPWMxB action on DCBEVT1
  162. Uint16 DCBEVT2:2; // 11:10 EPWMxB action on DCBEVT2
  163. Uint16 rsvd:4; // 15:12 reserved
  164. };
  165. union TZCTL_REG {
  166. Uint16 all;
  167. struct TZCTL_BITS bit;
  168. };
  169. //----------------------------------------------------
  170. // Trip zone control register bit definitions */
  171. struct TZEINT_BITS { // bits description
  172. Uint16 rsvd1:1; // 0 reserved
  173. Uint16 CBC:1; // 1 Trip Zones Cycle By Cycle Int Enable
  174. Uint16 OST:1; // 2 Trip Zones One Shot Int Enable
  175. Uint16 DCAEVT1:1; // 3 Force DCAEVT1 event
  176. Uint16 DCAEVT2:1; // 4 Force DCAEVT2 event
  177. Uint16 DCBEVT1:1; // 5 Force DCBEVT1 event
  178. Uint16 DCBEVT2:1; // 6 Force DCBEVT2 event
  179. Uint16 rsvd2:9; // 15:7 reserved
  180. };
  181. union TZEINT_REG {
  182. Uint16 all;
  183. struct TZEINT_BITS bit;
  184. };
  185. //----------------------------------------------------
  186. // Trip zone flag register bit definitions */
  187. struct TZFLG_BITS { // bits description
  188. Uint16 INT:1; // 0 Global status
  189. Uint16 CBC:1; // 1 Trip Zones Cycle By Cycle Int
  190. Uint16 OST:1; // 2 Trip Zones One Shot Int
  191. Uint16 DCAEVT1:1; // 3 Force DCAEVT1 event
  192. Uint16 DCAEVT2:1; // 4 Force DCAEVT2 event
  193. Uint16 DCBEVT1:1; // 5 Force DCBEVT1 event
  194. Uint16 DCBEVT2:1; // 6 Force DCBEVT2 event
  195. Uint16 rsvd2:9; // 15:7 reserved
  196. };
  197. union TZFLG_REG {
  198. Uint16 all;
  199. struct TZFLG_BITS bit;
  200. };
  201. //----------------------------------------------------
  202. // Trip zone flag clear register bit definitions */
  203. struct TZCLR_BITS { // bits description
  204. Uint16 INT:1; // 0 Global status
  205. Uint16 CBC:1; // 1 Trip Zones Cycle By Cycle Int
  206. Uint16 OST:1; // 2 Trip Zones One Shot Int
  207. Uint16 DCAEVT1:1; // 3 Force DCAEVT1 event
  208. Uint16 DCAEVT2:1; // 4 Force DCAEVT2 event
  209. Uint16 DCBEVT1:1; // 5 Force DCBEVT1 event
  210. Uint16 DCBEVT2:1; // 6 Force DCBEVT2 event
  211. Uint16 rsvd2:9; // 15:7 reserved
  212. };
  213. union TZCLR_REG {
  214. Uint16 all;
  215. struct TZCLR_BITS bit;
  216. };
  217. //----------------------------------------------------
  218. // Trip zone flag force register bit definitions */
  219. struct TZFRC_BITS { // bits description
  220. Uint16 rsvd1:1; // 0 reserved
  221. Uint16 CBC:1; // 1 Trip Zones Cycle By Cycle Int
  222. Uint16 OST:1; // 2 Trip Zones One Shot Int
  223. Uint16 DCAEVT1:1; // 3 Force DCAEVT1 event
  224. Uint16 DCAEVT2:1; // 4 Force DCAEVT2 event
  225. Uint16 DCBEVT1:1; // 5 Force DCBEVT1 event
  226. Uint16 DCBEVT2:1; // 6 Force DCBEVT2 event
  227. Uint16 rsvd2:9; // 15:7 reserved
  228. };
  229. union TZFRC_REG {
  230. Uint16 all;
  231. struct TZFRC_BITS bit;
  232. };
  233. //----------------------------------------------------
  234. // Event trigger select register bit definitions */
  235. struct ETSEL_BITS { // bits description
  236. Uint16 INTSEL:3; // 2:0 EPWMxINTn Select
  237. Uint16 INTEN:1; // 3 EPWMxINTn Enable
  238. Uint16 rsvd1:4; // 7:4 reserved
  239. Uint16 SOCASEL:3; // 10:8 Start of conversion A Select
  240. Uint16 SOCAEN:1; // 11 Start of conversion A Enable
  241. Uint16 SOCBSEL:3; // 14:12 Start of conversion B Select
  242. Uint16 SOCBEN:1; // 15 Start of conversion B Enable
  243. };
  244. union ETSEL_REG {
  245. Uint16 all;
  246. struct ETSEL_BITS bit;
  247. };
  248. //----------------------------------------------------
  249. // Event trigger pre-scale register bit definitions */
  250. struct ETPS_BITS { // bits description
  251. Uint16 INTPRD:2; // 1:0 EPWMxINTn Period Select
  252. Uint16 INTCNT:2; // 3:2 EPWMxINTn Counter Register
  253. Uint16 rsvd1:4; // 7:4 reserved
  254. Uint16 SOCAPRD:2; // 9:8 EPWMxSOCA Period Select
  255. Uint16 SOCACNT:2; // 11:10 EPWMxSOCA Counter Register
  256. Uint16 SOCBPRD:2; // 13:12 EPWMxSOCB Period Select
  257. Uint16 SOCBCNT:2; // 15:14 EPWMxSOCB Counter Register
  258. };
  259. union ETPS_REG {
  260. Uint16 all;
  261. struct ETPS_BITS bit;
  262. };
  263. //----------------------------------------------------
  264. // Event trigger Flag register bit definitions */
  265. struct ETFLG_BITS { // bits description
  266. Uint16 INT:1; // 0 EPWMxINTn Flag
  267. Uint16 rsvd1:1; // 1 reserved
  268. Uint16 SOCA:1; // 2 EPWMxSOCA Flag
  269. Uint16 SOCB:1; // 3 EPWMxSOCB Flag
  270. Uint16 rsvd2:12; // 15:4 reserved
  271. };
  272. union ETFLG_REG {
  273. Uint16 all;
  274. struct ETFLG_BITS bit;
  275. };
  276. //----------------------------------------------------
  277. // Event trigger Clear register bit definitions */
  278. struct ETCLR_BITS { // bits description
  279. Uint16 INT:1; // 0 EPWMxINTn Clear
  280. Uint16 rsvd1:1; // 1 reserved
  281. Uint16 SOCA:1; // 2 EPWMxSOCA Clear
  282. Uint16 SOCB:1; // 3 EPWMxSOCB Clear
  283. Uint16 rsvd2:12; // 15:4 reserved
  284. };
  285. union ETCLR_REG {
  286. Uint16 all;
  287. struct ETCLR_BITS bit;
  288. };
  289. //----------------------------------------------------
  290. // Event trigger Force register bit definitions */
  291. struct ETFRC_BITS { // bits description
  292. Uint16 INT:1; // 0 EPWMxINTn Force
  293. Uint16 rsvd1:1; // 1 reserved
  294. Uint16 SOCA:1; // 2 EPWMxSOCA Force
  295. Uint16 SOCB:1; // 3 EPWMxSOCB Force
  296. Uint16 rsvd2:12; // 15:4 reserved
  297. };
  298. union ETFRC_REG {
  299. Uint16 all;
  300. struct ETFRC_BITS bit;
  301. };
  302. //----------------------------------------------------
  303. // PWM chopper control register bit definitions */
  304. struct PCCTL_BITS { // bits description
  305. Uint16 CHPEN:1; // 0 PWM chopping enable
  306. Uint16 OSHTWTH:4; // 4:1 One-shot pulse width
  307. Uint16 CHPFREQ:3; // 7:5 Chopping clock frequency
  308. Uint16 CHPDUTY:3; // 10:8 Chopping clock Duty cycle
  309. Uint16 rsvd1:5; // 15:11 reserved
  310. };
  311. union PCCTL_REG {
  312. Uint16 all;
  313. struct PCCTL_BITS bit;
  314. };
  315. //----------------------------------------------------
  316. // Enhanced Trip register bit definitions */
  317. struct DCTRIPSEL_BITS { // bits description
  318. Uint16 DCAHCOMPSEL:4; // 3:0 Digital Compare A High, COMP Input Select
  319. Uint16 DCALCOMPSEL:4; // 7:4 Digital Compare A Low, COMP Input Select
  320. Uint16 DCBHCOMPSEL:4; // 11:8 Digital Compare B High, COMP Input Select
  321. Uint16 DCBLCOMPSEL:4; // 15:12 Digital Compare B Low, COMP Input Select
  322. };
  323. union DCTRIPSEL_REG {
  324. Uint16 all;
  325. struct DCTRIPSEL_BITS bit;
  326. };
  327. struct DCCTL_BITS { // bits description
  328. Uint16 EVT1SRCSEL:1; // 0 DCBEVT1 Source Signal Select
  329. Uint16 EVT1FRCSYNCSEL:1; // 1 DCBEVT1 Force Cynchronization Signal Select
  330. Uint16 EVT1SOCE:1; // 2 DCEVT1 SOC, Enable/Disable
  331. Uint16 EVT1SYNCE:1; // 3 DCEVT1 Sync, Enable/Disable
  332. Uint16 rsvd1:4; // 7:4 reserved
  333. Uint16 EVT2SRCSEL:1; // 8 DCEVT2 Source Signal Select
  334. Uint16 EVT2FRCSYNCSEL:1; // 9 DCEVT2 Force Synchronization Signal Select
  335. Uint16 rsvd2:6; // 15:10 reserved
  336. };
  337. union DCCTL_REG {
  338. Uint16 all;
  339. struct DCCTL_BITS bit;
  340. };
  341. struct DCCAPCTL_BITS { // bits description
  342. Uint16 CAPE:1; // 0 Counter Capture Enable/Disable
  343. Uint16 SHDWMODE:1; // 1 Counter Capture Mode
  344. Uint16 rsvd:14; // 15:2 reserved
  345. };
  346. union DCCAPCTL_REG {
  347. Uint16 all;
  348. struct DCCAPCTL_BITS bit;
  349. };
  350. struct DCFCTL_BITS { // bits description
  351. Uint16 SRCSEL:2; // 1:0 Filter Block Signal Source Select
  352. Uint16 BLANKE:1; // 2 Blanking Enable/Disable
  353. Uint16 BLANKINV:1; // 3 Blanking Window Inversion
  354. Uint16 PULSESEL:2; // 5:4 Pulse Select for Blanking & Capture Alignment
  355. Uint16 rsvd:10; // 15:6 reserved
  356. };
  357. union DCFCTL_REG {
  358. Uint16 all;
  359. struct DCFCTL_BITS bit;
  360. };
  361. //----------------------------------------------------
  362. // High resolution period control register bit definitions */
  363. struct HRPCTL_BITS { // bits description
  364. Uint16 HRPE:1; // 0 High resolution period enable
  365. Uint16 PWMSYNCSEL:1; // 1 PWMSYNC Source Select Bit
  366. Uint16 TBPHSHRLOADE:1; // 2 TBPHSHR Load Enable Bit
  367. Uint16 rsvd1:13; // 15:3 reserved
  368. };
  369. union HRPCTL_REG {
  370. Uint16 all;
  371. struct HRPCTL_BITS bit;
  372. };
  373. //----------------------------------------------------
  374. // High Resolution Register bit definitions */
  375. struct HRCNFG_BITS { // bits description
  376. Uint16 EDGMODE:2; // 1:0 Edge Mode select Bits
  377. Uint16 CTLMODE:1; // 2 Control mode Select Bit
  378. Uint16 HRLOAD:2; // 4:3 Shadow mode Select Bit
  379. Uint16 SELOUTB:1; // 5 EPWMB Output Select Bit
  380. Uint16 AUTOCONV:1; // 6 Autoconversion Bit
  381. Uint16 SWAPAB:1; // 7 Swap EPWMA & EPWMB Outputs Bit
  382. Uint16 rsvd1:8; // 15:8 reserved
  383. };
  384. union HRCNFG_REG {
  385. Uint16 all;
  386. struct HRCNFG_BITS bit;
  387. };
  388. struct HRPWR_BITS { // bits description
  389. Uint16 rsvd1:6; // 5:0 reserved
  390. Uint16 MEPOFF:4; // 9:6 MEP Calibration Off Bits
  391. Uint16 rsvd2:6; // 15:10 reserved
  392. };
  393. union HRPWR_REG {
  394. Uint16 all;
  395. struct HRPWR_BITS bit;
  396. };
  397. struct TBPHS_HRPWM_REG { // bits description
  398. Uint16 TBPHSHR; // 15:0 Extension register for HRPWM Phase (8 bits)
  399. Uint16 TBPHS; // 31:16 Phase offset register
  400. };
  401. union TBPHS_HRPWM_GROUP {
  402. Uint32 all;
  403. struct TBPHS_HRPWM_REG half;
  404. };
  405. struct CMPA_HRPWM_REG { // bits description
  406. Uint16 CMPAHR; // 15:0 Extension register for HRPWM compare (8 bits)
  407. Uint16 CMPA; // 31:16 Compare A reg
  408. };
  409. union CMPA_HRPWM_GROUP {
  410. Uint32 all;
  411. struct CMPA_HRPWM_REG half;
  412. };
  413. struct TBPRD_HRPWM_REG { // bits description
  414. Uint16 TBPRDHR; // 15:0 Extension register for HRPWM Period (8 bits)
  415. Uint16 TBPRD; // 31:16 Timebase Period Register
  416. };
  417. union TBPRD_HRPWM_GROUP {
  418. Uint32 all;
  419. struct TBPRD_HRPWM_REG half;
  420. };
  421. struct EPWM_REGS {
  422. union TBCTL_REG TBCTL; // Time Base Control Register
  423. union TBSTS_REG TBSTS; // Time Base Status Register
  424. union TBPHS_HRPWM_GROUP TBPHS; // Union of TBPHS:TBPHSHR
  425. Uint16 TBCTR; // Time Base Counter
  426. Uint16 TBPRD; // Time Base Period register set
  427. Uint16 TBPRDHR; // Time Base Period High Res Register
  428. union CMPCTL_REG CMPCTL; // Compare control
  429. union CMPA_HRPWM_GROUP CMPA; // Union of CMPA:CMPAHR
  430. Uint16 CMPB; // Compare B reg
  431. union AQCTL_REG AQCTLA; // Action qual output A
  432. union AQCTL_REG AQCTLB; // Action qual output B
  433. union AQSFRC_REG AQSFRC; // Action qual SW force
  434. union AQCSFRC_REG AQCSFRC; // Action qualifier continuous SW force
  435. union DBCTL_REG DBCTL; // Dead-band control
  436. Uint16 DBRED; // Dead-band rising edge delay
  437. Uint16 DBFED; // Dead-band falling edge delay
  438. union TZSEL_REG TZSEL; // Trip zone select
  439. union TZDCSEL_REG TZDCSEL; // Trip zone digital comparator select
  440. union TZCTL_REG TZCTL; // Trip zone control
  441. union TZEINT_REG TZEINT; // Trip zone interrupt enable
  442. union TZFLG_REG TZFLG; // Trip zone interrupt flags
  443. union TZCLR_REG TZCLR; // Trip zone clear
  444. union TZFRC_REG TZFRC; // Trip zone force interrupt
  445. union ETSEL_REG ETSEL; // Event trigger selection
  446. union ETPS_REG ETPS; // Event trigger pre-scaler
  447. union ETFLG_REG ETFLG; // Event trigger flags
  448. union ETCLR_REG ETCLR; // Event trigger clear
  449. union ETFRC_REG ETFRC; // Event trigger force
  450. union PCCTL_REG PCCTL; // PWM chopper control
  451. Uint16 rsvd3;
  452. union HRCNFG_REG HRCNFG; // HRPWM Config Reg
  453. union HRPWR_REG HRPWR; // HRPWM Power Register
  454. Uint16 rsvd4[4];
  455. Uint16 HRMSTEP; // HRPWM MEP Step Register
  456. Uint16 rsvd5;
  457. union HRPCTL_REG HRPCTL; // High Resolution Period Control
  458. Uint16 rsvd6;
  459. union TBPRD_HRPWM_GROUP TBPRDM; // Union of TBPRD:TBPRDHR mirror registers
  460. union CMPA_HRPWM_GROUP CMPAM; // Union of CMPA:CMPAHR mirror registers
  461. Uint16 rsvd7[2];
  462. union DCTRIPSEL_REG DCTRIPSEL; // Digital Compare Trip Select
  463. union DCCTL_REG DCACTL; // Digital Compare A Control
  464. union DCCTL_REG DCBCTL; // Digital Compare B Control
  465. union DCFCTL_REG DCFCTL; // Digital Compare Filter Control
  466. union DCCAPCTL_REG DCCAPCTL; // Digital Compare Capture Control
  467. Uint16 DCFOFFSET; // Digital Compare Filter Offset
  468. Uint16 DCFOFFSETCNT;// Digital Compare Filter Offset Counter
  469. Uint16 DCFWINDOW; // Digital Compare Filter Window
  470. Uint16 DCFWINDOWCNT;// Digital Compare Filter Window Counter
  471. Uint16 DCCAP; // Digital Compare Filter Counter Capture
  472. Uint16 rsvd8[6];
  473. };
  474. //---------------------------------------------------------------------------
  475. // External References & Function Declarations:
  476. //
  477. extern volatile struct EPWM_REGS EPwm1Regs;
  478. extern volatile struct EPWM_REGS EPwm2Regs;
  479. extern volatile struct EPWM_REGS EPwm3Regs;
  480. extern volatile struct EPWM_REGS EPwm4Regs;
  481. extern volatile struct EPWM_REGS EPwm5Regs;
  482. extern volatile struct EPWM_REGS EPwm6Regs;
  483. extern volatile struct EPWM_REGS EPwm7Regs;
  484. #ifdef __cplusplus
  485. }
  486. #endif /* extern "C" */
  487. #endif // end of DSP2803x_EPWM_H definition
  488. //===========================================================================
  489. // End of file.
  490. //===========================================================================