Quantcast
Channel: Microcontrollers
Viewing all 218336 articles
Browse latest View live

Forum Post: How to enable Tiva-c launchpad UART1 Tx/Rx interrupt ?

$
0
0
Hello , Im trying to send some data via UART1 serial from tiva-c launchpad and it seems like the data is send but the interrupt is not called. Here is my code #include #include #include #include #include #include #include #include #include "driverlib/pin_map.h" void UARTIntHandler(void); int main() { int data=1; SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHZ); //enable peripheral clock for UART0 SysCtlPeripheralEnable(SYSCTL_PERIPH_UART1); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB); GPIOPinConfigure( GPIO_PB0_U1RX ); GPIOPinConfigure( GPIO_PB1_U1TX ); GPIOPinTypeUART( GPIO_PORTB_BASE , GPIO_PIN_0 | GPIO_PIN_1 ); //disable UART0 UARTDisable(UART1_BASE); //configure divisor and format UARTConfigSetExpClk(UART1_BASE, SysCtlClockGet(), 2400, (UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE | UART_CONFIG_PAR_NONE)); //enable FIFO UARTFIFOEnable(UART1_BASE); //is enabled automatically when UARTEnable() is called //enable individual UART interrupt source UARTIntEnable(UART1_BASE, UART_INT_RX | UART_INT_RT); //enable UART0 interrupt UARTIntRegister(UART1_BASE, UARTIntHandler); //IntEnable(INT_UART0); //enable processor interrupt IntMasterEnable(); //enable UART0 UARTEnable(UART1_BASE); UARTCharPut(UART1_BASE,data) ; while(1); } void UARTIntHandler(void) { uint32_t UIstatus = UARTIntStatus(UART0_BASE, true); UARTIntClear(UART0_BASE, UIstatus); }

Forum Post: LAUNCHXL-F28377S: Unable to figure out how to give delay between pwm modules.

$
0
0
Part Number: LAUNCHXL-F28377S Hello! I want to give phase shift between all the modules of epwms but I am not able to do that. Suppose my reference is epmw2, then epwm 6( the next available epwm) should be shifted by 15 degrees, EPWM7 should be shifted by 30 degrees with respect to EPWM 2 and so on. Here is the code I am using: //############################################################################# // // FILE: empty_driverlib_main.c // // TITLE: Empty Project // // Empty Project Example // // This example is an empty project setup for Driverlib development. // //############################################################################# // // Included Files // #include "driverlib.h" #include "device.h" #define delay 0U #define time_base 500U //EQUIVALENT TO 50khz FCLK=50MHZ void EPWM_init(int epwm_group); void EPWM_setupCommon(uint32_t base, bool phase_enable, uint16_t phase_shift, int count_mode); void initgpio(void); // // Main // void main(void) { // // Initialize device clock and peripherals // Device_init(); // // Disable pin locks and enable internal pull ups. // Device_initGPIO(); // // Initialize PIE and clear PIE registers. Disables CPU interrupts. // Interrupt_initModule(); // // Initialize the PIE vector table with pointers to the shell Interrupt // Service Routines (ISR). // Interrupt_initVectorTable(); // Interrupt_register(INT_EPWM1, &epwm1ISR); // Interrupt_register(INT_EPWM1, &epwm2ISR); // Interrupt_register(INT_EPWM3, &epwm3ISR); initgpio(); SysCtl_disablePeripheral(SYSCTL_PERIPH_CLK_TBCLKSYNC); EPWM_init(1); EPWM_init(2); EPWM_init(3); EPWM_init(4); // // Enable sync and clock to PWM // SysCtl_enablePeripheral(SYSCTL_PERIPH_CLK_TBCLKSYNC); //Interrupt_enable(INT_EPWM1); // Interrupt_enable(INT_EPWM1); //Interrupt_enable(INT_EPWM3); EINT; ERTM; for(;;) { } } void EPWM_init(int epwm_group) { uint32_t phase_a_base; uint32_t phase_b_base; uint32_t phase_c_base; //EPwm1Regs.TBPHS.half.TBPHS = 0x0010 // EPwm1Regs.TBCTL.bit.PHSDIR = TB_UP; uint16_t phase_shift_count = 14U; EPWM_SyncCountMode sync_count_mode = EPWM_COUNT_MODE_UP_AFTER_SYNC; // PLAY WITH THIS bool phase_enable = false; switch(epwm_group) { case 1: phase_a_base = EPWM1_BASE; phase_b_base = EPWM2_BASE; phase_c_base = EPWM3_BASE; phase_shift_count = 0U; phase_enable = false; sync_count_mode = EPWM_COUNT_MODE_UP_AFTER_SYNC; break; case 2: phase_a_base = EPWM4_BASE; phase_b_base = EPWM5_BASE; phase_c_base = EPWM6_BASE; phase_shift_count = 10U; phase_enable = true; sync_count_mode = EPWM_COUNT_MODE_UP_AFTER_SYNC; break; case 3: phase_a_base = EPWM7_BASE; phase_b_base = EPWM8_BASE; phase_c_base = EPWM9_BASE; phase_shift_count = 14; phase_enable = true; sync_count_mode = EPWM_COUNT_MODE_UP_AFTER_SYNC; break; case 4: phase_a_base = EPWM10_BASE; phase_b_base = EPWM11_BASE; phase_c_base = EPWM12_BASE; phase_shift_count = 14U; phase_enable = true; sync_count_mode = EPWM_COUNT_MODE_UP_AFTER_SYNC; break; default: break; } EPWM_setupCommon(phase_a_base, phase_enable, 0, sync_count_mode); EPWM_setupCommon(phase_b_base, true, 14U, sync_count_mode); EPWM_setupCommon(phase_c_base, true, 14U, sync_count_mode); if(epwm_group == 1) { // Select INT on Time base counter zero event, // Enable INT, generate INT on 1st event EPWM_setInterruptSource(phase_a_base, EPWM_INT_TBCTR_ZERO); EPWM_enableInterrupt(phase_a_base); EPWM_setInterruptEventCount(phase_a_base, 1U); } } void EPWM_setupCommon(uint32_t base, bool phase_enable, uint16_t phase_shift, int count_mode) { uint32_t q=base; int i=200; // Set-up TBCLK EPWM_setTimeBasePeriod(base, time_base); // EPWM_setCountModeAfterSync(base, count_mode); EPWM_setPhaseShift(base, 14U); //phase_shift); EPWM_setTimeBaseCounter(base, 0U); // Set Compare values EPWM_setCounterCompareValue(base, EPWM_COUNTER_COMPARE_A, i); // Set up counter mode EPWM_setTimeBaseCounterMode(base, EPWM_COUNTER_MODE_UP_DOWN); if(phase_enable == true) { EPWM_enablePhaseShiftLoad(base); EPWM_setSyncOutPulseMode(base, EPWM_SYNC_OUT_PULSE_ON_EPWMxSYNCIN); } else { EPWM_disablePhaseShiftLoad(base); // was disable EPWM_setSyncOutPulseMode(base, EPWM_SYNC_OUT_PULSE_ON_COUNTER_ZERO); } EPWM_setClockPrescaler(q, EPWM_CLOCK_DIVIDER_1, EPWM_HSCLOCK_DIVIDER_1); // // Set up shadowing // EPWM_setCounterCompareShadowLoadMode(q, EPWM_COUNTER_COMPARE_A, EPWM_COMP_LOAD_ON_CNTR_ZERO); // // Set actions // Note : EPWM_B is not set as its the complimentary of A EPWM_setActionQualifierAction(q, EPWM_AQ_OUTPUT_A, EPWM_AQ_OUTPUT_HIGH, EPWM_AQ_OUTPUT_ON_TIMEBASE_UP_CMPA); EPWM_setActionQualifierAction(q, EPWM_AQ_OUTPUT_A, EPWM_AQ_OUTPUT_LOW, EPWM_AQ_OUTPUT_ON_TIMEBASE_DOWN_CMPA); EPWM_setDeadBandOutputSwapMode(q, EPWM_DB_OUTPUT_A, false); EPWM_setDeadBandOutputSwapMode(q, EPWM_DB_OUTPUT_B, false); //We don't have to swap EPWM_setDeadBandDelayMode(q, EPWM_DB_RED, true); EPWM_setDeadBandDelayMode(q, EPWM_DB_FED, true); //Configuration set for inverter leg EPWM_setDeadBandDelayPolarity(q, EPWM_DB_RED, EPWM_DB_POLARITY_ACTIVE_HIGH); EPWM_setDeadBandDelayPolarity(q, EPWM_DB_FED, EPWM_DB_POLARITY_ACTIVE_LOW); EPWM_setRisingEdgeDeadBandDelayInput(q, EPWM_DB_INPUT_EPWMA); EPWM_setFallingEdgeDeadBandDelayInput(q, EPWM_DB_INPUT_EPWMA); //I think these will work only if we are changing db during run time EPWM_setDeadBandControlShadowLoadMode(q, EPWM_DB_LOAD_FREEZE); EPWM_disableDeadBandControlShadowLoadMode(q); //self explanatory EPWM_setDeadBandCounterClock(q, EPWM_DB_COUNTER_CLOCK_FULL_CYCLE); EPWM_setRisingEdgeDelayCount(q, delay); EPWM_setFallingEdgeDelayCount(q, delay); } void initgpio(void) { GPIO_setPadConfig(18, GPIO_PIN_TYPE_STD); GPIO_setPinConfig(GPIO_18_EPWM10A); GPIO_setPadConfig(19, GPIO_PIN_TYPE_STD); GPIO_setPinConfig(GPIO_19_EPWM10B); GPIO_setPadConfig(2, GPIO_PIN_TYPE_STD); GPIO_setPinConfig(GPIO_2_EPWM2A); GPIO_setPadConfig(3, GPIO_PIN_TYPE_STD); GPIO_setPinConfig(GPIO_3_EPWM2B); GPIO_setPadConfig(10, GPIO_PIN_TYPE_STD); GPIO_setPinConfig(GPIO_10_EPWM6A); GPIO_setPadConfig(11, GPIO_PIN_TYPE_STD); GPIO_setPinConfig(GPIO_11_EPWM6B); GPIO_setPadConfig(12, GPIO_PIN_TYPE_STD); GPIO_setPinConfig(GPIO_12_EPWM7A); GPIO_setPadConfig(13, GPIO_PIN_TYPE_STD); GPIO_setPinConfig(GPIO_13_EPWM7B); GPIO_setPadConfig(14, GPIO_PIN_TYPE_STD); GPIO_setPinConfig(GPIO_14_EPWM8A); GPIO_setPadConfig(15, GPIO_PIN_TYPE_STD); GPIO_setPinConfig(GPIO_15_EPWM8B); GPIO_setPadConfig(4, GPIO_PIN_TYPE_STD); GPIO_setPinConfig(GPIO_4_EPWM3A); GPIO_setPadConfig(16, GPIO_PIN_TYPE_STD); GPIO_setPinConfig(GPIO_16_EPWM9A); GPIO_setPadConfig(17, GPIO_PIN_TYPE_STD); GPIO_setPinConfig(GPIO_17_EPWM9B); GPIO_setPadConfig(20, GPIO_PIN_TYPE_STD); GPIO_setPinConfig(GPIO_20_EPWM11A); GPIO_setPadConfig(21, GPIO_PIN_TYPE_STD); GPIO_setPinConfig(GPIO_21_EPWM11B); } // // End of File //

Forum Post: TM4C129ENCPDT: SDRAM compatibility

$
0
0
Part Number: TM4C129ENCPDT In a new production batch we have seen the SDRAM AS4C32M16SB-7TIN from Alliance Memory fails with the TM4C129 processor. Previously we have been using the MT48LC32M16A2TG from Micron but that device is now obsolete and the direct replacement should be the above device from Alliance according to Digikey. The device only fails in heavy SDRAM access, so a simple test does not show failures. We have been running the PCB layout for a long time without problems. Processor speed is 120MHz and running with the standard Tivaware setup. We found some old Micron SDRAMs and the boards worked again. We will now try the IS42S16320D as mentioned in the tidu893a.pdf and tidres6.pdf BOM. As it requires a lot of work to identify the root course for the differences, have anyone seen similar behavior or give a good explanation ?

Forum Post: MSP430FR2111: PWM wave is abnormal at the moment of comparator interrupt

$
0
0
Part Number: MSP430FR2111 Hi 1. Disable comparator interrupt, PWM wave is fine. 2. Once enable comparator interrupt, as above picture, PWM is pulled down from 3.3V to 2.6V at the moment when rising and falling edge trigger comparator to interrupt. Add key code as attached. How to resolve the abnormal voltage level? Thanks a lot. (Please visit the site to view this file)

Forum Post: CCS/TMS320F28069: The default ADCINT1_ISR is triggered by no reason

$
0
0
Part Number: TMS320F28069 Tool/software: Code Composer Studio Hi there, I came across a problem when using F28069. I connected this mcu to an external ADC chip ADS131A04 through spia. ADS131A04 indicates the ADC is done and triggers XINT2 in F28069 to retrieve data. However, during usage, sometimes the default isr ADCINT1_ISR was triggered, and I cannot find any reason. The register PieCtrlRegs.PIEIER1.bit.INTx1 = 0 and PieCtrlRegs.PIEIER10.bit.INTx1 = 0. Does anyone come across similar problem? Thanks in advance! Dan

Forum Post: BOOSTXL-BUCKCONV: Will kit with LAUNCHXL-F280049C still use assembly code?

$
0
0
Part Number: BOOSTXL-BUCKCONV Hello, I'm interested in using the Buck Converter control code with the newer processor F280049C. I understand TI will release the code for the kit later in 2019, is that correct? Will that code still use assembly code in the ISR, or anywhere in the control code? Our goal is to have code that is easily maintained, so strongly prefer C. Thank you.

Forum Post: CCS/TMS320F28379D: sd_card_cpu01 example code not working

$
0
0
Part Number: TMS320F28379D Tool/software: Code Composer Studio I am trying to use the sd_card_cpu01 for f28379d control card. I can see the "SD Card Example Program" message on the UART console but when I type "help" on the uart, nothing is displayed on the screen. When I went in debug mode, the code is stuck at UARTCharGet function. It is waiting for character in the UART buffer. When I press a key on the UART console, I can see LED light on the control card which confirms that the character is being sent to the DSP. Please let me know how can I make this code running. Thanks, Prateek

Forum Post: CCS/TM4C123GH6PM: All interrupts doesn't work while debugging

$
0
0
Part Number: TM4C123GH6PM Tool/software: Code Composer Studio Hello. I have a custom board with TM4C123GH6PM MCU. I use segger for debuging. Then i start debug my code no one interrupts doesn't happend(periodic timer). But if i repower contorller it work correctly. I checked it by toggling led in different interrupt handelrs. I am sure about added IntMasterEnable(); line in my code after initialization. Before using my custom board i used ek-tm4c1294xl for practice and similar code work great(i just changed pinmux). How to fix it?

Forum Post: RTOS/MSP432P4111: ADC doesn't work with multiple channels and DMA..

$
0
0
Part Number: MSP432P4111 Tool/software: TI-RTOS Hi Team SimpleLink, Reference ( http://e2e.ti.com/support/microcontrollers/msp430/f/166/t/692127 ) . Has this issue been fixed? Thanks, Merril

Forum Post: CCS/MSP432E411Y: ROV does not interprete %f

$
0
0
Part Number: MSP432E411Y Tool/software: Code Composer Studio Dear TI-Experts, I'm using the following code for logging float data: Log_print2(Diags_USER4, "ADC_Sensitive: Offset to high: %d lsb = %f uV", self->ADC_PeriodicHandlerOffset, floatToArg(ofs*1.0e6)); ofs is a float variable. Logger is LoggerStopMode. When using RTOS Analyzer -> Printf and Error Logs I see the right value for ofs displayed after stopping the µC. But in ROV -> LoggerStopMode I only see "f", but no value. When using integers and %d everything is fine. I assume, that %f is currently not implemented in ROV? Could you add this feature? Thank you in advance!

Forum Post: Compiler/TMS320F28069: 28069 "Caution While Using Nested Interrupts" SPRZ342N errata explanation

$
0
0
Part Number: TMS320F28069 Tool/software: TI C/C++ Compiler Hello, We are using nested interrupt mechanism on different C2000 microcontrollers to implement interrupt prioritization. Scheme look like this LowPriority interrupt (every 10 ms based on timer 0) { /* Acknowledge interrupt group to receive more interrupts for this group */ s_DrvIT_CorePieCtrlRegs.PIEACK.all = DRV_IT_CORE_PIEACK_GROUP1 ; /* Enable MedPriority and HighPriority interrupts */ IER = DRV_IT_M_INT3 | DRV_IT_M_INT13 EINT; /* perform low priority operations */ . /* and nothing more */ } MedPriority interrupt (every ms based on timer 1) { /* Enable MedPriority and HighPriority interrupts */ IER = DRV_IT_M_INT3 EINT; /* perform Medium priority operations */ . /* and nothing more */ } HighPriority interrupt (XINT based) { /* Acknowledge interrupt group to receive more interrupts for this group */ s_DrvIT_CorePieCtrlRegs.PIEACK.all = DRV_IT_CORE_PIEACK_GROUP1 ; /* high priority operations */ . . /* and nothing more */ } This scheme is used in 2812, 28335 and 28069 without issue, until the errata SPRZ342N (for x28069) mentioning: " If the user is enabling interrupts using the EINT instruction inside an interrupt service routine (ISR) in order to use the nesting feature, then the user must disable the interrupts before exiting the ISR. Failing to do so may cause undefined behavior of CPU execution. " So in our code, it means adding DINT at the end of Medium and low Priority interrupts ? Is it normal in an architectural point of view or rather a workaround ? What's an "undefined behavior" of CPU execution ? Have you an idea of the occurrence frequency ? Thanks and regards, David

Forum Post: JTAG programmer on a product

$
0
0
Hi. I was wondering if it is possible/legal to have a JTAG programmer on a commercial product. My intention was to have one XDS100V2 (or other supported daisy chain programmer) with several MCUs on a product and be able to remotely change the firmware of each MCU. Am i supposed to have a jtag programmer designed on my board or can i buy one and integrate? If i need to have it onboard how can i flash de FDTI and the CPLD with the right codes? BTW the XDS100V2 only programs TI devices or am i able to program other ARM MCUs (ST for example)? Thanks, André

Forum Post: TMS320F28069: QEPSTS.FIMF (First index marker flag) not working as expected

$
0
0
Part Number: TMS320F28069 The FIMF flag, once set by index pulse, then cleared by software request (by writing a 1 to the field), does not trigger again until after a full device reset (power down in our case). Please see the related post. Can someone confirm this issue also occurs on the TMS320F28069 (F/M)? I seem to have this issue, but cannot find it documented in the Errata. Also, is there a workaround on this MCU, like the DevCfgRegs.SOFTPRES4.bit.EQEP1 suggested in another post? Best regards, Rob.

Forum Post: MSP432E401Y: Is there a way to tweak the clock rate?

$
0
0
Part Number: MSP432E401Y I would like to vary the clock rate, perhaps as much as +/- 2%, so that its rate can track an NTP server. I'm also using TI-RTOS. Is there a way to tweak the rate by small increments to track an NTP server?

Forum Post: CCS/F28M35H52C: Can we flash F28M35H52C1 over JTAG connector (J2) on the Dock Station using Spectrum Digital XDS100 probe?

$
0
0
Part Number: F28M35H52C Tool/software: Code Composer Studio Hi, Can we flash F28M35H52C1 over JTAG connector (J2) on the Dock Station using Spectrum Digital XDS100 probe? How do we create TargetConfiguration file with correct JTAG "connection settings" ? (We could try using UniFlash v4.6 to write/read out files....) Thanks, Tim

Forum Post: RE: TM4C123GH6PM: USBBufferRead( returns only all zeroes in the buffer

$
0
0
Hello uint32_t EchoNewDataToHost(tUSBDBulkDevice *psDevice, uint8_t *pui8Data,uint32_t ui32NumBytes) { char ch; uint32_t ui32Loop, ui32Space, ui32Count; uint32_t ui32ReadIndex; uint32_t ui32WriteIndex; tUSBRingBufObject sTxRing; tUSBRingBufObject sRxRing; UARTprintf("\033[34m\n-------------------------------------EchoNewDataToHost\n{pui8Data=%p;%u}\n--------------------------------------------------------\n",psDevice,pui8Data,*pui8Data); // // Get the current buffer information to allow us to write directly to // the transmit buffer (we already have enough information from the // parameters to access the receive buffer directly). // USBBufferInfoGet(&g_sTxBuffer, &sTxRing); USBBufferInfoGet(&g_sRxBuffer, &sRxRing); // // How much space is there in the transmit buffer? // ui32Space = USBBufferSpaceAvailable(&g_sTxBuffer); // // How many characters can we process this time round? // ui32Loop = (ui32Space = 'a') && (ch = 'A') && (ch <= 'Z')) { // // Convert to lower case and write to the transmit buffer. // g_pui8USBTxBuffer[ui32WriteIndex] = (ch - 'Z') + 'z'; } else { // // Copy the received character to the transmit buffer. // g_pui8USBTxBuffer[ui32WriteIndex] = ch; }; }; UARTprintf("\n****************************************************************************\n"); // // Move to the next character taking care to adjust the pointer for // the buffer wrap if necessary. // ui32WriteIndex++; ui32WriteIndex = (ui32WriteIndex == BULK_BUFFER_SIZE) ? 0 : ui32WriteIndex; ui32ReadIndex++; ui32ReadIndex = (ui32ReadIndex == BULK_BUFFER_SIZE) ? 0 : ui32ReadIndex; ui32Loop--; } // // We've processed the data in place so now send the processed data // back to the host. // USBBufferDataWritten(&g_sTxBuffer, ui32Count); UARTprintf("Wrote %d bytes\n", ui32Count); // // We processed as much data as we can directly from the receive buffer so // we need to return the number of bytes to allow the lower layer to // update its read pointer appropriately. // return(ui32Count); }//endof EchoNewDataToHost() Ralph, thank you so much that you find a time to look into my issue. the code I monitored here is original usb_dev_bulk.c, I just add one line printf to echo subrouitine. As a eresult I also have only zeroes displayed(Ihighlighted it by red font below). Please help me find a solution within bulk example,since migrating to cdc model, will drive me completely out of babdwith. Thanks a lot, Alex. Rsult as displayed on terminal: Tiva C Series USB bulk device example -------------------------------- =======================================================mmmmmmmmmmmmmmmmmmmmmmm -------------------------Configuring USB --------------------------------------------------- -------------------------------------USB initialization completed 536871028==536871028 -------------------------------------------------------- aiting for host... ........ USB_EVENT_SUSPEND,USB_EVENT_RESUME ............................................................ ........ Host______connected ............................................................ ........ USB_EVENT_RX_AVAILABLE ............................................................ [34m -------------------------------------EchoNewDataToHost {pui8Data=�;536872672} -------------------------------------------------------- eceived 4 bytes **************************************************************************** [34m -yo-yo[0 of 4to 0] =0('') **************************************************************************** [34m -yo-yo[1 of 3to 1 ]=0('') **************************************************************************** [34m -yo-yo[2 of 2to 2] =0('') **************************************************************************** [34m -yo-yo[3 of 1to 3] =0('') **************************************************************************** rote 4 bytes ---------------------------------------------TX complete 4 bytes --------------------------------------------- Tx: 0 Rx: 4

Forum Post: RE: CCS/TMS320F28027: Programming flash memory

$
0
0
Anton, Can you check to see if the codestartbranch asm file is include in the project workspace? I'm wondering if the boot mode of the device is configured correctly for a flash application. Can you confirm this? Are you able to run this C2000Ware example on a controlCARD or similar device? Regards, Ozino

Forum Post: RE: LAUNCHXL-F28069M: UART communication with Simulink

$
0
0
I made a very simple software to send a constant value over serial bus to my laptop using a serial to USB converter as below: And here is the setting for my SCI_B: On my laptop, I'm using Tera Term and set the baud rate to 115200 bits/sec. But what I see in the terminals are weird shapes and symbols as if the baud rate is not set correctly. I also checked the Device Manager and made sure the COM port setting matches the Matlab settings. Any idea why is this happening? Thanks,

Forum Post: RE: C2000WARE: C2000

$
0
0
There are some getting started guides/tutorials. PSIM has some here: https://powersimtech.com/products/psim/f2833x-target/ CCS has a getting started video here: https://www.youtube.com/watch?v=11lsNYW7zkw There are many others, any guide CCS5- CCS9 based should be quite similar. It's good to hear that you can see things toggling. That means that your hardware is at least OK. To be honest I am not experienced in PSIM, and would maybe suggest https://powersimtech.com/support/ . You can also try https://powersimtech.com/applications/ for example applicaitons which may help show you what you were doing wrong in your PSIM model. Regards, Cody

Forum Post: RE: MSP430FR6047: What is the reason to have an additional delay between UPS & DNS pulses

$
0
0
HI Jadhav, The timing diagram in the GUI and documentation isn't exactly right. The timer that is used to determine when the next measurement cycle should begin is started at the end of the previous measurement cycle(not at the beginning). The additional delay you are seeing is the time used for the previous measurement and processing. BR, Leo
Viewing all 218336 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>