Right side embedded systemsqut semester onefigure pin map booster pack
|
Problem Based Learning Assignment |
---|
Embedded Control of Electric Vehicle Motor System EGH456 Embedded Systems
Supporting Material
Figure 2: Pin Map of Booster Pack 1, Header C, D 1-10 (Right Side)
Problem Based Learning Assignment |
---|
Figure 3: Pin Map of Booster Pack 2, Header A, B 1-10 (Left Side)
|
Problem Based Learning Assignment |
---|
2. Devices Utilised
EK-TM4C1294XL | Tiva C Launchpad | Development Board |
---|---|---|
BOOSTXL-K350QVG-S1 | Booster Pack K350QVG | Display Interface |
BOOSTXL-SENSORS | Sensors Boosterpack | Ambient Light Sensor |
DRV832x | Motor Control | |
- | ||
267121 | Motor |
3. Motor State Diagram
|
Problem Based Learning Assignment |
---|
4. Speed Control Diagram
|
Problem Based Learning Assignment |
---|
6. Using TI-RTOS Drivers
The TI-RTOS drivers provide an added layer of abstraction over the TivaWare Peripheral Driver Library. While it is difficult to set up, it works extremely well for RTOS applications and makes peripherals easier to use. Therefore, it is highly recommended that you make
Problem Based Learning Assignment |
---|
6.1 Initialisation
Before the TI-RTOS drivers can be used, various functions must be updated to complete the initialisation for the peripheral you wish to use. The initialisation function for the TI-RTOS drivers can be found in the EK_TM4C1294XL.c/h files. These files already initialise the basic peripherals used by the TI-RTOS examples and can be used as a reference on how to initialise other peripherals.
EK_TM4C1294XL_PWMCOUNT
} EK_TM4C1294XL_PWMName;To even further simplify references to the PWM pins in your project, we can add definitions to Board.h:
|
Problem Based Learning Assignment |
---|
#define Board_PWM3 #define Board_PWM4 #define Board_PWM5
Now we need to declare two arrays, one to hold information for the PWM pins, and another
to hold information for the CCP pins:
const PWMTimerTiva_HWAttrs pwmTimerTivaHWAttrs[2] = {
Problem Based Learning Assignment |
---|
const PWM_Config PWM_config[] = {
{
.fxnTablePtr = &PWMTiva_fxnTable,
.object = &pwmTivaObjects[0],
.hwAttrs = &pwmTivaHWAttrs[0]
},
{
.fxnTablePtr = &PWMTiva_fxnTable,
.object = &pwmTivaObjects[1],
.hwAttrs = &pwmTivaHWAttrs[1]
},
{
.fxnTablePtr = &PWMTiva_fxnTable,
.object = &pwmTivaObjects[2],
.hwAttrs = &pwmTivaHWAttrs[2]
},
{
.fxnTablePtr = &PWMTiva_fxnTable,
.object = &pwmTivaObjects[3],
.hwAttrs = &pwmTivaHWAttrs[3]
},
{
.fxnTablePtr = &PWMTimerTiva_fxnTable, .object = &pwmTimerTivaObjects[0], .hwAttrs = &pwmTimerTivaHWAttrs[0] },
{
.fxnTablePtr = &PWMTimerTiva_fxnTable, .object = &pwmTimerTivaObjects[1], .hwAttrs = &pwmTimerTivaHWAttrs[1]
Problem Based Learning Assignment |
---|
mode:
void EK_TM4C1294XL_initPWM(void)
{
/* Enable PWM peripherals */
SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM0); SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0);
Problem Based Learning Assignment |
---|