123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436 |
- //###########################################################################
- //
- // FILE: F2837xD_EPwm.c
- //
- // TITLE: F2837xD EPwm Initialization & Support Functions.
- //
- //###########################################################################
- // $TI Release: F2837xD Support Library v3.05.00.00 $
- // $Release Date: Tue Jun 26 03:15:23 CDT 2018 $
- // $Copyright:
- // Copyright (C) 2013-2018 Texas Instruments Incorporated - http://www.ti.com/
- //
- // Redistribution and use in source and binary forms, with or without
- // modification, are permitted provided that the following conditions
- // are met:
- //
- // Redistributions of source code must retain the above copyright
- // notice, this list of conditions and the following disclaimer.
- //
- // Redistributions in binary form must reproduce the above copyright
- // notice, this list of conditions and the following disclaimer in the
- // documentation and/or other materials provided with the
- // distribution.
- //
- // Neither the name of Texas Instruments Incorporated nor the names of
- // its contributors may be used to endorse or promote products derived
- // from this software without specific prior written permission.
- //
- // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- // $
- //###########################################################################
- //
- // Included Files
- //
- #include "F2837xD_device.h"
- #include "F2837xD_Examples.h"
- //
- // InitEPwmGpio - Initialize all EPWM modules' GPIOs
- //
- void InitEPwmGpio(void)
- {
- InitEPwm1Gpio();
- InitEPwm2Gpio();
- InitEPwm3Gpio();
- InitEPwm4Gpio();
- InitEPwm5Gpio();
- InitEPwm6Gpio();
- InitEPwm7Gpio();
- InitEPwm8Gpio();
- InitEPwm9Gpio();
- InitEPwm10Gpio();
- InitEPwm11Gpio();
- InitEPwm12Gpio();
- }
- //
- // InitEPwm1Gpio - Initialize EPWM1 GPIOs
- //
- void InitEPwm1Gpio(void)
- {
- EALLOW;
- //
- // Disable internal pull-up for the selected output pins
- // for reduced power consumption
- // Pull-ups can be enabled or disabled by the user.
- // Comment out other unwanted lines.
- //
- GpioCtrlRegs.GPAPUD.bit.GPIO0 = 1; // Disable pull-up on GPIO0 (EPWM1A)
- GpioCtrlRegs.GPAPUD.bit.GPIO1 = 1; // Disable pull-up on GPIO1 (EPWM1B)
- // GpioCtrlRegs.GPEPUD.bit.GPIO145 = 1; // Disable pull-up on GPIO145 (EPWM1A)
- // GpioCtrlRegs.GPEPUD.bit.GPIO146 = 1; // Disable pull-up on GPIO146 (EPWM1B)
- //
- // Configure EPWM-1 pins using GPIO regs
- // This specifies which of the possible GPIO pins will be EPWM1 functional
- // pins.
- // Comment out other unwanted lines.
- //
- GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 1; // Configure GPIO0 as EPWM1A
- GpioCtrlRegs.GPAMUX1.bit.GPIO1 = 1; // Configure GPIO1 as EPWM1B
- // GpioCtrlRegs.GPEMUX2.bit.GPIO145 = 1; // Configure GPIO145 as EPWM1A
- // GpioCtrlRegs.GPEMUX2.bit.GPIO146 = 1; // Configure GPIO0146 as EPWM1B
- EDIS;
- }
- //
- // InitEPwm2Gpio - Initialize EPWM2 GPIOs
- //
- void InitEPwm2Gpio(void)
- {
- EALLOW;
- //
- // Disable internal pull-up for the selected output pins
- // for reduced power consumption
- // Pull-ups can be enabled or disabled by the user.
- // This will enable the pullups for the specified pins.
- // Comment out other unwanted lines.
- //
- GpioCtrlRegs.GPAPUD.bit.GPIO2 = 1; // Disable pull-up on GPIO2 (EPWM2A)
- GpioCtrlRegs.GPAPUD.bit.GPIO3 = 1; // Disable pull-up on GPIO3 (EPWM2B)
- // GpioCtrlRegs.GPEPUD.bit.GPIO147 = 1; // Disable pull-up on GPIO147 (EPWM2A)
- // GpioCtrlRegs.GPEPUD.bit.GPIO148 = 1; // Disable pull-up on GPIO148 (EPWM2B)
- //
- // Configure EPwm-2 pins using GPIO regs
- // This specifies which of the possible GPIO pins will be EPWM2 functional pins.
- // Comment out other unwanted lines.
- //
- GpioCtrlRegs.GPAMUX1.bit.GPIO2 = 1; // Configure GPIO2 as EPWM2A
- GpioCtrlRegs.GPAMUX1.bit.GPIO3 = 1; // Configure GPIO3 as EPWM2B
- // GpioCtrlRegs.GPEMUX2.bit.GPIO147 = 1; // Configure GPIO147 as EPWM2A
- // GpioCtrlRegs.GPEMUX2.bit.GPIO148 = 1; // Configure GPIO148 as EPWM2B
- EDIS;
- }
- //
- // InitEPwm3Gpio - Initialize EPWM3 GPIOs
- //
- void InitEPwm3Gpio(void)
- {
- EALLOW;
- //
- // Disable internal pull-up for the selected output pins
- // for reduced power consumption
- // Pull-ups can be enabled or disabled by the user.
- // This will enable the pullups for the specified pins.
- // Comment out other unwanted lines.
- //
- GpioCtrlRegs.GPAPUD.bit.GPIO4 = 1; // Disable pull-up on GPIO4 (EPWM3A)
- GpioCtrlRegs.GPAPUD.bit.GPIO5 = 1; // Disable pull-up on GPIO5 (EPWM3B)
- // GpioCtrlRegs.GPEPUD.bit.GPIO149 = 1; // Disable pull-up on GPIO149 (EPWM3A)
- // GpioCtrlRegs.GPEPUD.bit.GPIO150 = 1; // Disable pull-up on GPIO150 (EPWM3B)
- //
- // Configure EPwm-3 pins using GPIO regs
- // This specifies which of the possible GPIO pins will be EPWM3 functional pins.
- // Comment out other unwanted lines.
- //
- GpioCtrlRegs.GPAMUX1.bit.GPIO4 = 1; // Configure GPIO4 as EPWM3A
- GpioCtrlRegs.GPAMUX1.bit.GPIO5 = 1; // Configure GPIO5 as EPWM3B
- // GpioCtrlRegs.GPEMUX2.bit.GPIO149 = 1; // Configure GPIO149 as EPWM3A
- // GpioCtrlRegs.GPEMUX2.bit.GPIO150 = 1; // Configure GPIO150 as EPWM3B
- EDIS;
- }
- //
- // InitEPwm4Gpio - Initialize EPWM4 GPIOs
- //
- void InitEPwm4Gpio(void)
- {
- EALLOW;
- //
- // Disable internal pull-up for the selected output pins
- // for reduced power consumption
- // Pull-ups can be enabled or disabled by the user.
- // This will enable the pullups for the specified pins.
- // Comment out other unwanted lines.
- //
- GpioCtrlRegs.GPAPUD.bit.GPIO6 = 1; // Disable pull-up on GPIO6 (EPWM4A)
- GpioCtrlRegs.GPAPUD.bit.GPIO7 = 1; // Disable pull-up on GPIO7 (EPWM4B)
- // GpioCtrlRegs.GPEPUD.bit.GPIO151 = 1; // Disable pull-up on GPIO151 (EPWM4A)
- // GpioCtrlRegs.GPEPUD.bit.GPIO152 = 1; // Disable pull-up on GPIO152 (EPWM4B)
- //
- // Configure EPWM-4 pins using GPIO regs
- // This specifies which of the possible GPIO pins will be EPWM4 functional
- // pins.
- // Comment out other unwanted lines.
- //
- GpioCtrlRegs.GPAMUX1.bit.GPIO6 = 1; // Configure GPIO6 as EPWM4A
- GpioCtrlRegs.GPAMUX1.bit.GPIO7 = 1; // Configure GPIO7 as EPWM4B
- // GpioCtrlRegs.GPEMUX2.bit.GPIO151 = 1; // Configure GPIO151 as EPWM4A
- // GpioCtrlRegs.GPEMUX2.bit.GPIO152 = 1; // Configure GPIO152 as EPWM4B
- EDIS;
- }
- //
- // InitEPwm5Gpio - Initialize EPWM5 GPIOs
- //
- void InitEPwm5Gpio(void)
- {
- EALLOW;
- //
- // Disable internal pull-up for the selected output pins
- // for reduced power consumption
- // Pull-ups can be enabled or disabled by the user.
- // This will enable the pullups for the specified pins.
- // Comment out other unwanted lines.
- //
- GpioCtrlRegs.GPAPUD.bit.GPIO8 = 1; // Disable pull-up on GPIO8 (EPWM5A)
- GpioCtrlRegs.GPAPUD.bit.GPIO9 = 1; // Disable pull-up on GPIO9 (EPWM5B)
- // GpioCtrlRegs.GPEPUD.bit.GPIO153 = 1; // Disable pull-up on GPIO153 (EPWM5A)
- // GpioCtrlRegs.GPEPUD.bit.GPIO154 = 1; // Disable pull-up on GPIO154 (EPWM5B)
- //
- // Configure EPWM-5 pins using GPIO regs
- // This specifies which of the possible GPIO pins will be EPWM5 functional
- // pins.
- // Comment out other unwanted lines.
- //
- GpioCtrlRegs.GPAMUX1.bit.GPIO8 = 1; // Configure GPIO8 as EPWM5A
- GpioCtrlRegs.GPAMUX1.bit.GPIO9 = 1; // Configure GPIO9 as EPWM5B
- // GpioCtrlRegs.GPEMUX2.bit.GPIO153 = 1; // Configure GPIO153 as EPWM5A
- // GpioCtrlRegs.GPEMUX2.bit.GPIO154 = 1; // Configure GPIO0154 as EPWM5B
- EDIS;
- }
- //
- // InitEPwm6Gpio - Initialize EPWM6 GPIOs
- //
- void InitEPwm6Gpio(void)
- {
- EALLOW;
- //
- // Disable internal pull-up for the selected output pins
- // for reduced power consumption
- // Pull-ups can be enabled or disabled by the user.
- // This will enable the pullups for the specified pins.
- // Comment out other unwanted lines.
- //
- GpioCtrlRegs.GPAPUD.bit.GPIO10 = 1; // Disable pull-up on GPIO10 (EPWM6A)
- GpioCtrlRegs.GPAPUD.bit.GPIO11 = 1; // Disable pull-up on GPIO11 (EPWM6B)
- // GpioCtrlRegs.GPEPUD.bit.GPIO155 = 1; // Disable pull-up on GPIO155 (EPWM6A)
- // GpioCtrlRegs.GPEPUD.bit.GPIO156 = 1; // Disable pull-up on GPIO156 (EPWM6B)
- //
- // Configure EPWM-6 pins using GPIO regs
- // This specifies which of the possible GPIO pins will be EPWM6 functional
- // pins.
- // Comment out other unwanted lines.
- //
- GpioCtrlRegs.GPAMUX1.bit.GPIO10 = 1; // Configure GPIO10 as EPWM6A
- GpioCtrlRegs.GPAMUX1.bit.GPIO11 = 1; // Configure GPIO11 as EPWM6B
- // GpioCtrlRegs.GPEMUX2.bit.GPIO155 = 1; // Configure GPIO155 as EPWM6A
- // GpioCtrlRegs.GPEMUX2.bit.GPIO156 = 1; // Configure GPIO156 as EPWM6B
- EDIS;
- }
- //
- // InitEPwm7Gpio - Initialize EPWM7 GPIOs
- //
- void InitEPwm7Gpio(void)
- {
- EALLOW;
- //
- // Disable internal pull-up for the selected output pins
- // for reduced power consumption
- // Pull-ups can be enabled or disabled by the user.
- // This will enable the pullups for the specified pins.
- // Comment out other unwanted lines.
- //
- GpioCtrlRegs.GPAPUD.bit.GPIO12 = 1; // Disable pull-up on GPIO12 (EPWM7A)
- GpioCtrlRegs.GPAPUD.bit.GPIO13 = 1; // Disable pull-up on GPIO13 (EPWM7B)
- // GpioCtrlRegs.GPEPUD.bit.GPIO157 = 1; // Disable pull-up on GPIO157 (EPWM7A)
- // GpioCtrlRegs.GPEPUD.bit.GPIO158 = 1; // Disable pull-up on GPIO158 (EPWM7B)
- //
- // Configure EPWM-6 pins using GPIO regs
- // This specifies which of the possible GPIO pins will be EPWM6 functional
- // pins.
- // Comment out other unwanted lines.
- //
- GpioCtrlRegs.GPAMUX1.bit.GPIO12 = 1; // Configure GPIO12 as EPWM7A
- GpioCtrlRegs.GPAMUX1.bit.GPIO13 = 1; // Configure GPIO13 as EPWM7B
- // GpioCtrlRegs.GPEMUX2.bit.GPIO157 = 1; // Configure GPIO157 as EPWM7A
- // GpioCtrlRegs.GPEMUX2.bit.GPIO158 = 1; // Configure GPIO158 as EPWM7B
- EDIS;
- }
- //
- // InitEPwm8Gpio - Initialize EPWM8 GPIOs
- //
- void InitEPwm8Gpio(void)
- {
- EALLOW;
- //
- // Disable internal pull-up for the selected output pins
- // for reduced power consumption
- // Pull-ups can be enabled or disabled by the user.
- // This will enable the pullups for the specified pins.
- // Comment out other unwanted lines.
- //
- GpioCtrlRegs.GPAPUD.bit.GPIO14 = 1; // Disable pull-up on GPIO14 (EPWM8A)
- GpioCtrlRegs.GPAPUD.bit.GPIO15 = 1; // Disable pull-up on GPIO15 (EPWM8B)
- // GpioCtrlRegs.GPEPUD.bit.GPIO159 = 1; // Disable pull-up on GPIO159 (EPWM8A)
- // GpioCtrlRegs.GPFPUD.bit.GPIO160 = 1; // Disable pull-up on GPIO160 (EPWM8B)
- //
- // Configure EPWM-6 pins using GPIO regs
- // This specifies which of the possible GPIO pins will be EPWM6 functional
- // pins.
- // Comment out other unwanted lines.
- //
- GpioCtrlRegs.GPAMUX1.bit.GPIO14 = 1; // Configure GPIO14 as EPWM8A
- GpioCtrlRegs.GPAMUX1.bit.GPIO15 = 1; // Configure GPIO15 as EPWM8B
- // GpioCtrlRegs.GPEMUX2.bit.GPIO159 = 1; // Configure GPIO159 as EPWM8A
- // GpioCtrlRegs.GPFMUX1.bit.GPIO160 = 1; // Configure GPIO160 as EPWM8B
- EDIS;
- }
- //
- // InitEPwm9Gpio - Initialize EPWM9 GPIOs
- //
- void InitEPwm9Gpio(void)
- {
- EALLOW;
- //
- // Disable internal pull-up for the selected output pins
- // for reduced power consumption
- // Pull-ups can be enabled or disabled by the user.
- // This will enable the pullups for the specified pins.
- // Comment out other unwanted lines.
- //
- GpioCtrlRegs.GPFPUD.bit.GPIO161 = 1; // Disable pull-up on GPIO161 (EPWM9A)
- GpioCtrlRegs.GPFPUD.bit.GPIO162 = 1; // Disable pull-up on GPIO162 (EPWM9B)
- //
- // Configure EPWM-6 pins using GPIO regs
- // This specifies which of the possible GPIO pins will be EPWM6 functional
- // pins.
- // Comment out other unwanted lines.
- //
- GpioCtrlRegs.GPFMUX1.bit.GPIO161 = 1; // Configure GPIO161 as EPWM9A
- GpioCtrlRegs.GPFMUX1.bit.GPIO162 = 1; // Configure GPIO162 as EPWM9B
- EDIS;
- }
- //
- // InitEPwm10Gpio - Initialize EPWM10 GPIOs
- //
- void InitEPwm10Gpio(void)
- {
- EALLOW;
- //
- // Disable internal pull-up for the selected output pins
- // for reduced power consumption
- // Pull-ups can be enabled or disabled by the user.
- // This will enable the pullups for the specified pins.
- // Comment out other unwanted lines.
- //
- GpioCtrlRegs.GPFPUD.bit.GPIO163 = 1; // Disable pull-up on GPIO163 (EPWM10A)
- GpioCtrlRegs.GPFPUD.bit.GPIO164 = 1; // Disable pull-up on GPIO164 (EPWM10B)
- //
- // Configure EPWM-6 pins using GPIO regs
- // This specifies which of the possible GPIO pins will be EPWM6 functional
- // pins.
- // Comment out other unwanted lines.
- //
- GpioCtrlRegs.GPFMUX1.bit.GPIO163 = 1; // Configure GPIO163 as EPWM10A
- GpioCtrlRegs.GPFMUX1.bit.GPIO164 = 1; // Configure GPIO164 as EPWM10B
- EDIS;
- }
- //
- // InitEPwm11Gpio - Initialize EPWM11 GPIOs
- //
- void InitEPwm11Gpio(void)
- {
- EALLOW;
- //
- // Disable internal pull-up for the selected output pins
- // for reduced power consumption
- // Pull-ups can be enabled or disabled by the user.
- // This will enable the pullups for the specified pins.
- // Comment out other unwanted lines.
- //
- GpioCtrlRegs.GPFPUD.bit.GPIO165 = 1; // Disable pull-up on GPIO165 (EPWM11A)
- GpioCtrlRegs.GPFPUD.bit.GPIO166 = 1; // Disable pull-up on GPIO166 (EPWM11B)
- //
- // Configure EPWM-6 pins using GPIO regs
- // This specifies which of the possible GPIO pins will be EPWM6 functional
- // pins.
- // Comment out other unwanted lines.
- //
- GpioCtrlRegs.GPFMUX1.bit.GPIO165 = 1; // Configure GPIO165 as EPWM11A
- GpioCtrlRegs.GPFMUX1.bit.GPIO166 = 1; // Configure GPIO166 as EPWM11B
- EDIS;
- }
- //
- // InitEPwm12Gpio - Initialize EPWM12 GPIOs
- //
- void InitEPwm12Gpio(void)
- {
- EALLOW;
- //
- // Disable internal pull-up for the selected output pins
- // for reduced power consumption
- // Pull-ups can be enabled or disabled by the user.
- // This will enable the pullups for the specified pins.
- // Comment out other unwanted lines.
- //
- GpioCtrlRegs.GPFPUD.bit.GPIO167 = 1; // Disable pull-up on GPIO167 (EPWM12A)
- GpioCtrlRegs.GPFPUD.bit.GPIO168 = 1; // Disable pull-up on GPIO168 (EPWM12B)
- //
- // Configure EPWM-6 pins using GPIO regs
- // This specifies which of the possible GPIO pins will be EPWM6 functional
- // pins.
- // Comment out other unwanted lines.
- //
- GpioCtrlRegs.GPFMUX1.bit.GPIO167 = 1; // Configure GPIO167 as EPWM12A
- GpioCtrlRegs.GPFMUX1.bit.GPIO168 = 1; // Configure GPIO168 as EPWM12B
- EDIS;
- }
|