Part Number: LAUNCHXL2-TMS57012 Tool/software: Code Composer Studio Hello, I am using HALCOGEN version 04.07.01. The GUI icons are not visually proper. I have also tried to uninstall & reinstall but there is no difference. Following are the snapshots please have a look and help me through:
↧
Forum Post: CCS/LAUNCHXL2-TMS57012: HALCOGEN GUI issue
↧
Forum Post: TMS320F280049: Confusion about the relationship between message object and IFx in CAN module
Part Number: TMS320F280049 Hi team, I am currently working with my customer on CAN module on F280049. Since we are using a new architecture on F280049 CAN, I am also not quite familiar with some details. 1. We still have 32 message objects(mailbox), but we only have 3 IF to exchange data between mailbox and BUS interface. And during the initialization, we do not assign a mailbox to a IF. Does the CPU decides which IF to use automatically? 2. Since we have IF1/2 for write/read and IF3 for read, does this mean several data transfer can happen at the same time? What is the principle to allocate IFx if several data transfer happens simultaneously? 3. For IFx, do we need to know the details of this module. Or we just ignore detailed working process of this module? Thanks, Brian
↧
↧
Forum Post: RE: CCS/MSP430G2553: UART/CCS
Keith thank you very much. I tried by reading single adc value and then I tried ADC10 and it worked . So thank you very much.
↧
Forum Post: RE: TMS320F28069M: how to configure COM port for CAN instead of serial
Thanks sir. I have resolved it.
↧
Forum Post: RE: MSP430F5324:MSP430 CLI programmer write direct memory address
Hi zrno soli, OK! We have two ways to solve. In this case you can leave empty (erased) hole (segment size) in your program with initial setup on 04000h. Later only this segment will be updated (erase/write). A: Would you have example? or any document? Other solution is to read original segment contest from device, generate text file (segment size) with updated/replaced data, and write it back to device A: This way end customer does not like the reason is the time to waste the factory line. BTW, would you have any example or document?
↧
↧
Forum Post: RE: CCS/TMS320F28035: TMS320F28035
Thanks for your support. Actually we ahve two projects in our hand. On eis BLDC/PMSM Motor Controller (VFD). With your support, now we got some idea about I MCU. Second project is, Solar Grid Tie Inverter 3-Phase, 5-10KW. Can you suggest MCU from TI regarding this project. Thank You Regards Guptha
↧
Forum Post: RE: TMS320F280049: Ask for FFT example
Hi Daniel, You can start with this example C:\ti\ C2000Ware _1_00_06_00_Software\libraries\dsp\FPU\c28\examples\fft\2837x_rfft_adc_rt This example samples the PWM signal via ADC and runs the FFT in real time. This example is for F2837x, you can change the device support to F280049 as use the same example as the FPU hardware is exactly same in both devices. Regards Himanshu
↧
Forum Post: RE: TMS320F28075: F28075 Jtag connect & program issue
Dear MatthewPate, We had making a new EVM board, and it can connect to F28075, Maybe PCB internal damage. Thanks a lot for your help.
↧
Forum Post: RE: TMS320F28075: tmd320f28075
Sorry for troulbing again. Can the EPWM be set as following: EPWM1 sync EPWM2,EPWM2 sync EPWM3,EPWM3 sync EPWM4,.......EPWM11 sync EPWM12, like tms2803x series?
↧
↧
Forum Post: RE: TM4C1294NCPDT: QSSI connect to Multi Channel ADC
The master is an ADC, e.g. the AD7779 (I'm sure that was mentioned in the first post, but forgive me if it was not) The ADC output a clock and frame. If the TIVA can't be an SPI slave then we have a problem...... May have to consider a different CPU!
↧
Forum Post: RE: CCS/LAUNCHXL2-TMS57012: HALCOGEN GUI issue
Hello, Please change the font size to "Smaller-100%" is display settings. Also refer to this thread : e2e.ti.com/.../429504 Regards, Akshay
↧
Forum Post: RE: CCS/CODECOMPOSER: How to read high memory from CCS plugin
Jakub, I will reach out to another CCS expert and will come back latest next Tuesday.
↧
Forum Post: RE: MSP430FR6989: MSP430FR6989 BSL invocation with FT232R
Hi George, I'm using external hardware as the FT232 in order to invoke the Bootloader through its sequence, that's why I am not using JTAG. In order to invert both DTR and RTS, I have used FT_Prog program that allows inverting them. Then, there are no jumpers connecting the ez-FET and the microcontroller or vice-versa. This component only allows connecting wires to each pin independently. Finally, the TX and RX of the target are connected to the DIN and DOUT respectively, which will be the correct configuration. Thanks for your support. Best regards
↧
↧
Forum Post: RE: MSP430FR6989: MSP430FR6989 BSL invocation with FT232R
Hi Dietmar, Thanks for your attention. As BSL scripter is just working with dedicated HW, the link George shared previously in which a similar component to FT232 is used has been very useful. Now I'm working with it but I still haven't been able to correctly access the bootloader. Finally, all the connections have been checked and are well connected. Best regards.
↧
Forum Post: RE: TMS320F28334: FIFO MODE issue
Hello Devin, Customer is thinking that they have found the problem . The application is an accelerator where in presence of mechanical vibration, the oscillator doesn't work well and the program counter go bad. We have changed the oscillator, we have mounted the typical model for accelerometers and we are waiting a long time to say the problem has been resolved. Do you have any comments for the above customer feedback? Many Thanks, Antonio
↧
Forum Post: CCS/TMS570LS0714: UART to UART data is not comig when TMS570ls0714 is communicating to BQ76PL455A
Part Number: TMS570LS0714 Tool/software: Code Composer Studio Hi Sir, We are checking UART to UART communication in TMS570ls0714 BQ76PL455A between But we cannot able to see the cell voltages in bFrame. In TMS570ls3137 Evolution board, Data is not coming when we connected to sciLIN as UART. Than we have connected to sci only and then we got data. In TMS570ls0714 we have connected to sciLIN as UART. Do we need to remove or adding the pull up resistor? Or any other solution require to get data in TMS570ls0714 PCB. Please reply as soon as possible.
↧
Forum Post: RE: CCS: Problem to run the MSPBoot host example Host_F5529_Target_F5529_UART_MSPBoot
Hey Peter, yes of course this is my UART code in the script below : #include #define TXnotRX 0 //transmitter = 1, receiver = 0 #define loopBack char myString[] = {"hello I m Zouhir"}; char *txData = myString; char rxData[64]; char offsetTab = 0; int main(void) { WDTCTL = WDTPW | WDTHOLD; // Stop WDT P3SEL |= BIT3 | BIT4; // Assign P3.3 to UCA0TXD and... P3DIR |= BIT3; // P3.4 to UCA0RXD UCA0CTL1 |= UCSWRST; // **Put state machine in reset** UCA0CTL1 |= UCSSEL_1; // CLK = ACLK UCA0BR0 |= 0x03; // 0x0332kHz/9600=3.41 (see User's Guide) UCA0BR1 = 0x00; // UCA0MCTL = UCBRS_3|UCBRF_0; // Modulation UCBRSx=3, UCBRFx=0 UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine** UCA0IE |= UCRXIE; // Enable USCI_A0 RX interrupt _enable_interrupt(); while (1){ #if TXnotRX UCA0TXBUF = *txData++; #endif } } // UART ISR #pragma vector=USCI_A0_VECTOR __interrupt void USCI_A0_ISR(void) { switch(__even_in_range(UCA0IV, 4)) { case 0:break; // Vector 0 - no interrupt case 2: // Vector 2 - RXIFG while (!(UCA0IFG & UCTXIFG)); // USCI_A0 TX buffer ready? rxData[offsetTab++] = UCA0RXBUF; #ifdef loopBack // loop back UCA0TXBUF = UCA0RXBUF; // TX -> RXed character #endif break; case 4:break; // Vector 4 - TXIFG default: break; } } This main code is merged with the main on the App1_MSPBoot_F5529_UART found in the MSPBoot examples from TI My problem now is that the host MCU cannot erase the memory and re-Debug the code again, it was supposed to be automatically and each time i want to Debug the project it must be work but , now i have a problem with erasing the memory, when i charge a new Host example project it Debug and works for the first time but when i re-Debug it something's wrong happens , when i click play and stop the pointer stops always at the __bis_SR_register mentioned above : Thank you Peter for any help, Zouhir,
↧
↧
Forum Post: RE: LAUNCHXL-F28379D: ADC in not working properly
Hi, Did you try executing adc_soc_epwm example present under C2000Ware ? This example demonstrate ADC triggering through EPWM. Also ETPS.SOCAPRD register is write protected register. Check if EALLOW is missing before configuring this register. Thanks Vasudha
↧
Forum Post: RE: CCS/TMS570LS0714: XDS110 is not working with TMS570ls0714 PCB
Hi Sir, We resove problem. It is hardware problem. In our PCB Q2 Mosfet is not giving up requring voltage. Now with Ti 14 pin also we can able to debug in TMS50ls0714 PCB. Thanks and regards, Krunal Desai
↧
Forum Post: RE: TMS320F28379D: can_external_transmit code not working with changed (CANTXA ,CANRXA) pin to (GPIO19 and GPIO18)
Hi Harish, This is C2000ware 's example code I edited little bit and was trying with launchpad. Important edits I have done in this code are, 1) Changed CAN base as CANB since CANH and CANL of transceiver are connected to CANTXB(GPIO12) and CANRXB(GPIO17) 2) Commented all reception code 3) Changes needed for sending data on CANB instead of CANA 4) After data is being sent from code, added check to get_status //########################################################################### // // FILE: can_external_transmit.c // // TITLE: Example to demonstrate CAN external transmission // //! \addtogroup cpu01_example_list //! CAN-A to CAN-B External Transmit (can_external_transmit) //! //! This example initializes CAN module A and CAN module B for external //! communication. CAN-A module is setup to transmit incrementing data for "n" //! number of times to the CAN-B module, where "n" is the value of TXCOUNT. //! CAN-B module is setup to trigger an interrupt service routine (ISR) when //! data is received. An error flag will be set if the transmitted data doesn't //! match the received data. //! //! \note Both CAN modules on the device need to be //! connected to each other via CAN transceivers. //! //! \b Hardware \b Required \n //! - A C2000 board with two CAN transceivers //! //! \b External \b Connections \n //! - ControlCARD CANA is on GPIO31 (CANTXA) and GPIO30 (CANRXA) //! - ControlCARD CANB is on GPIO8 (CANTXB) and GPIO10 (CANRXB) //! //! \b Watch \b Variables \n //! - TXCOUNT - Adjust to set the number of messages to be transmitted //! - txMsgCount - A counter for the number of messages sent //! - rxMsgCount - A counter for the number of messages received //! - txMsgData - An array with the data being sent //! - rxMsgData - An array with the data that was received //! - errorFlag - A flag that indicates an error has occurred //! // //########################################################################### // $TI Release: F2837xD Support Library v3.05.00.00 $ // $Release Date: Thu Oct 18 15:48:42 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 "F28x_Project.h" // Device Headerfile and Examples Include File #include #include #include "inc/hw_types.h" #include "inc/hw_memmap.h" #include "inc/hw_can.h" #include "driverlib/can.h" // // Defines // #define TXCOUNT 100 #define MSG_DATA_LENGTH 4 #define TX_MSG_OBJ_ID 1 #define RX_MSG_OBJ_ID 1 // // Globals // volatile unsigned long i; volatile uint32_t txMsgCount = 0; volatile uint32_t rxMsgCount = 0; volatile uint32_t errorFlag = 0; unsigned char txMsgData[4]; unsigned char rxMsgData[4]; uint32_t status; tCANMsgObject sTXCANMessage; tCANMsgObject sRXCANMessage; // // Function Prototypes // __interrupt void canbISR(void); // // Main // void main(void) { // // Initialize System Control: // PLL, WatchDog, enable Peripheral Clocks // InitSysCtrl(); // // Initialize GPIO and configure GPIO pins for CANTX/CANRX // on module A and B // InitGpio(); // // Setup GPIO pin mux for CAN-A TX/RX and CAN-B TX/RX // GPIO_SetupPinMux(17, GPIO_MUX_CPU1, 2); //GPIO30 - CANRXA GPIO_SetupPinOptions(17, GPIO_INPUT, GPIO_ASYNC); GPIO_SetupPinMux(12, GPIO_MUX_CPU1, 2); //GPIO31 - CANTXA GPIO_SetupPinOptions(12, GPIO_OUTPUT, GPIO_PUSHPULL); /* GPIO_SetupPinMux(10, GPIO_MUX_CPU1, 2); //GPIO10 - CANRXB GPIO_SetupPinOptions(10, GPIO_INPUT, GPIO_ASYNC); GPIO_SetupPinMux(8, GPIO_MUX_CPU1, 2); //GPIO8 - CANTXB GPIO_SetupPinOptions(8, GPIO_OUTPUT, GPIO_PUSHPULL); */ // // Initialize the CAN controllers // //CANInit(CANA_BASE); CANInit(CANB_BASE); // // Setup CAN to be clocked off the PLL output clock // //CANClkSourceSelect(CANA_BASE, 0); // 500kHz CAN-Clock CANClkSourceSelect(CANB_BASE, 0); // 500kHz CAN-Clock // // Set up the CAN bus bit rate to 500kHz for each module // This function sets up the CAN bus timing for a nominal configuration. // You can achieve more control over the CAN bus timing by using the // function CANBitTimingSet() instead of this one, if needed. // Additionally, consult the device data sheet for more information about // the CAN module clocking. // //CANBitRateSet(CANA_BASE, 200000000, 500000); CANBitRateSet(CANB_BASE, 200000000, 500000); // // Enable interrupts on the CAN B peripheral. // CANIntEnable(CANB_BASE, CAN_INT_MASTER | CAN_INT_ERROR | CAN_INT_STATUS); // // Clear all interrupts and initialize PIE vector table: // Disable CPU interrupts // DINT; // // Initialize the PIE control registers to their default state. // The default state is all PIE interrupts disabled and flags // are cleared. // InitPieCtrl(); // // Disable CPU interrupts and clear all CPU interrupt flags // IER = 0x0000; IFR = 0x0000; // // Initialize the PIE vector table with pointers to the shell Interrupt // Service Routines (ISR). // This will populate the entire table, even if the interrupt // is not used in this example. This is useful for debug purposes. // InitPieVectTable(); // // Interrupts that are used in this example are re-mapped to // ISR functions found within this file. // This registers the interrupt handler in PIE vector table. // EALLOW; PieVectTable.CANB0_INT = canbISR; EDIS; // // Enable the CAN-B interrupt on the processor (PIE). // PieCtrlRegs.PIEIER9.bit.INTx7 = 1; IER |= M_INT9; EINT; // // Enable the CAN-B interrupt signal // CANGlobalIntEnable(CANB_BASE, CAN_GLB_INT_CANINT0); // // Initialize the transmit message object used for sending CAN messages. // Message Object Parameters: // Message Identifier: 0x5555 // Message ID Mask: 0x0 // Message Object Flags: None // Message Data Length: 4 Bytes // Message Transmit data: txMsgData // sTXCANMessage.ui32MsgID = 0x5555; sTXCANMessage.ui32MsgIDMask = 0; sTXCANMessage.ui32Flags = 0; sTXCANMessage.ui32MsgLen = MSG_DATA_LENGTH; sTXCANMessage.pucMsgData = txMsgData; // // Initialize the receive message object used for receiving CAN messages. // Message Object Parameters: // Message Identifier: 0x5555 // Message ID Mask: 0x0 // Message Object Flags: Receive Interrupt // Message Data Length: 4 Bytes // Message Receive data: rxMsgData // sRXCANMessage.ui32MsgID = 0x5555; sRXCANMessage.ui32MsgIDMask = 0; sRXCANMessage.ui32Flags = MSG_OBJ_RX_INT_ENABLE; sRXCANMessage.ui32MsgLen = MSG_DATA_LENGTH; sRXCANMessage.pucMsgData = rxMsgData; //CANMessageSet(CANB_BASE, RX_MSG_OBJ_ID, &sRXCANMessage, // MSG_OBJ_TYPE_RX); // // Initialize the transmit message object data buffer to be sent // txMsgData[0] = 0x12; txMsgData[1] = 0x34; txMsgData[2] = 0x56; txMsgData[3] = 0x78; // // Start CAN module A and B operations // //CANEnable(CANA_BASE); CANEnable(CANB_BASE); // // Transmit messages from CAN-A to CAN-B // for(;;) { // // Transmit Message // CANMessageSet(CANB_BASE, TX_MSG_OBJ_ID, &sTXCANMessage, MSG_OBJ_TYPE_TX); status = CANStatusGet(CANB_BASE,CAN_STS_TXREQUEST); DELAY_US(1000 * 250); } // // Stop application // asm(" ESTOP0"); } // // CAN B ISR - The interrupt service routine called when a CAN interrupt is // triggered on CAN module B. // __interrupt void canbISR(void) { uint32_t status; // // Read the CAN-B interrupt status to find the cause of the interrupt // status = CANIntStatus(CANB_BASE, CAN_INT_STS_CAUSE); // // If the cause is a controller status interrupt, then get the status // if(status == CAN_INT_INT0ID_STATUS) { // // Read the controller status. This will return a field of status // error bits that can indicate various errors. Error processing // is not done in this example for simplicity. Refer to the // API documentation for details about the error status bits. // The act of reading this status will clear the interrupt. // status = CANStatusGet(CANB_BASE, CAN_STS_CONTROL); // // Check to see if an error occurred. // if(((status & ~(CAN_ES_RXOK)) != 7) && ((status & ~(CAN_ES_RXOK)) != 0)) { // // Set a flag to indicate some errors may have occurred. // errorFlag = 1; } } // // Check if the cause is the CAN-B receive message object 1 // else if(status == RX_MSG_OBJ_ID) { // // Get the received message // CANMessageGet(CANB_BASE, RX_MSG_OBJ_ID, &sRXCANMessage, true); // // Getting to this point means that the RX interrupt occurred on // message object 1, and the message RX is complete. Clear the // message object interrupt. // CANIntClear(CANB_BASE, RX_MSG_OBJ_ID); // // Increment a counter to keep track of how many messages have been // received. In a real application this could be used to set flags to // indicate when a message is received. // rxMsgCount++; // // Since the message was received, clear any error flags. // errorFlag = 0; } // // If something unexpected caused the interrupt, this would handle it. // else { // // Spurious interrupt handling can go here. // } // // Clear the global interrupt flag for the CAN interrupt line // CANGlobalIntClear(CANB_BASE, CAN_GLB_INT_CANINT0); // // Acknowledge this interrupt located in group 9 // PieCtrlRegs.PIEACK.all = PIEACK_GROUP9; } // // End of File // Please find images of my connections and snapshot of current status in debug window in following images :
↧