Quantcast
Channel: Forums - Recent Threads
Viewing all 262198 articles
Browse latest View live

CCS/LAUNCHXL-F28069M: The eCap interrut is stoping when I use the external interupt

$
0
0

Part Number:LAUNCHXL-F28069M

Tool/software: Code Composer Studio

Hi everyone, this is Mike,

I have an issue with the ecap module and the gpio interrupts.

I'm currently using the ecap 1 (GPIO5 ) and the external interrupts (GPIO0 and GPIO1) when I press the button, doing the gpio interrupt, it seems the Timerstamp counter freezes and gives me errors in my measurements ( I'm measuring frequency with the ecap)

So, is there any kind of missing interrupt or something? Just this thing appears when I press the buttons.

Here it is the settings of both interrups, and, of course, its routine into the interrupt function.

void freq_settings(void)
{
    EALLOW;                                     //Emulación de registros
    SysCtrlRegs.PCLKCR1.bit.ECAP1ENCLK = 1;     // SYSCLKOUT para habilitar eCAP1
    /************ Se inicia el módulo ECAP para medir el periodo y el ancho de pulso de una señal.**********/
    ECap1Regs.ECEINT.all = 0;                   // Deshabilita todas las interrupciones del módulo eCAP
    ECap1Regs.ECCTL1.bit.CAPLDEN = 0;           // Deshabilita la carga de los resultados de captura
    ECap1Regs.ECCTL2.bit.TSCTRSTOP = 0;         // Detiene el contador
    ECap1Regs.TSCTR = 0;                        // Limpia el contador
    ECap1Regs.CTRPHS = 0;                       // Limpia el registro de contador de fase
    ECap1Regs.ECCTL2.bit.CAP_APWM = 0;          // Modo Captura
    ECap1Regs.ECCTL2.bit.SWSYNC = 0;            // Sincronización forzada Deshabilitada
    ECap1Regs.ECCTL2.bit.SYNCO_SEL = 10;        // Syncin = Syncout, requerido por SWSYNC
    ECap1Regs.ECCTL2.bit.SYNCI_EN = 0 ;          // Habilita sincronización de entrada
    ECap1Regs.ECCTL2.bit.TSCTRSTOP = 1;         // Time Stamp Counter free-running
    ECap1Regs.ECCTL2.bit.REARM = 0;             // No Re-arme (Re-arme ->arma una secuencia de captura predeterminada)
    ECap1Regs.ECCTL2.bit.STOP_WRAP = 11;        // Toma 4 capturas en modo continuo
    ECap1Regs.ECCTL2.bit.CONT_ONESHT = 0;       // Operando en modo continuo
    ECap1Regs.ECCTL1.bit.FREE_SOFT= 11;         // Time Stamp Counter no es afectado por le emulación suspendida
    ECap1Regs.ECCTL1.bit.PRESCALE = 00000;      // Dividido entre 1
    ECap1Regs.ECCTL1.bit.CAPLDEN = 1;           // Habilita los registros de carga CAP1-4 en un evento
    ECap1Regs.ECCTL1.bit.CTRRST4 = 0;           // Sin reset en la primera captura
    ECap1Regs.ECCTL1.bit.CAP4POL = 1;           // Captura en el ascenso de la señal
    ECap1Regs.ECCTL1.bit.CTRRST3 = 0;           // Sin reset en la segunda captura
    ECap1Regs.ECCTL1.bit.CAP3POL = 0;           // Captura en el descenso de la señal
    ECap1Regs.ECCTL1.bit.CTRRST2 = 0;           // Sin reset en la tercera captura
    ECap1Regs.ECCTL1.bit.CAP2POL = 1;           // Captura en el ascenso de la señal
    ECap1Regs.ECCTL1.bit.CTRRST1 = 0;           // Sin reset en la cuarta captura
    ECap1Regs.ECCTL1.bit.CAP1POL = 0;           // Captura en el descenso de la señal
    /****************************************************************************************************/

    /************ Interrupciones del ECAP ****************/
    PieVectTable.ECAP1_INT = &freq_isr;          // El contenido del subprograma de interrupción "ecap_isr" es copiado por el subprograma de interrupción "ECAP1_INT" contenido en la tabla.
    ECap1Regs.ECEINT.all = 0x0008;              // Habilita las interrupciones
    PieCtrlRegs.PIEIER4.bit.INTx1 = 1;          // Habilita la interrupción de ECAP1_INT en PIE grupo 4
    IER |= 0x0008;                              // Habilita INT4 en IER para habilitar el grupo 4 del bloque de interrupciones
    EINT;
    ERTM;
    /******************************************************/

    /*********** Configuración del pin de entrada para el ECAP *********/
     GpioCtrlRegs.GPACTRL.all  = 0x00000000;
     GpioCtrlRegs.GPAMUX1.bit.GPIO5 = 3;        // GPIO 5 Configurado para captura de pulsos
     GpioCtrlRegs.GPADIR.bit.GPIO5 = 0;         // GPIO 5 como entrada
     //GpioCtrlRegs.GPAPUD.bit.GPIO5 = 0;         // Pull-up habilitado para GPIO5 (0)
    /* GpioCtrlRegs.GPAMUX2.bit.GPIO24 = 1;        // GPIO 5 Configurado para captura de pulsos
     GpioCtrlRegs.GPADIR.bit.GPIO24 = 0;         // GPIO 5 como entrada
     GpioCtrlRegs.GPAPUD.bit.GPIO24 = 0;         // Pull-up habilitado para GPIO5 (0)*/
    /*****************************************************************/
     EDIS;                            // Deshabilita la emulación de registros
}

void reset_stop_inhibit_settings(void)
{
    EALLOW;
    PieVectTable.XINT1 = &reset_isr;    // El contenido del subprograma de interrupción "reset_isr" es copiado por el subprograma de interrupción "XINT1" contenido en la tabla.
    PieVectTable.XINT2 = &emergency_stop_isr; // El contenido del subprograma de interrupción "emergency_stop_isr" es copiado por el subprograma de interrupción "XINT2" contenido en la tabla.
    PieVectTable.XINT3 = &inhibit_isr;  // El contenido del subprograma de interrupción "inhibit_isr" es copiado por el subprograma de interrupción "XINT3" contenido en la tabla.
    PieCtrlRegs.PIECTRL.bit.ENPIE = 1;  // Habilita el bloque de Puerto Expandido de Interrupciones
    PieCtrlRegs.PIEIER1.bit.INTx4 = 1;  // Habilita el PIE grupo 1 INT 4 para XINT1, consultar spruh18g.pdf pag 176-177
    PieCtrlRegs.PIEIER1.bit.INTx5 = 1;  // Habilita el PIE grupo 1 INT 1 para XINT5, consultar spruh18g.pdf pag 176-177
    //PieCtrlRegs.PIEIER12.bit.INTx1 = 1; // Habilita el PIE grupo 12 INT 1 para XINT3, consultar spruh18g.pdf pag 176-177
    IER |= M_INT1;                      // Habilita interrupciones del CPU 1
    //IER |= M_INT12;                     // Habilita interrupciones del CPU 12
    EINT;                               // Habilita interrupciones globales
    EDIS;
    EALLOW;
    /* STOP */
    GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 0;  // GPIO0 como Digital I/O, no funciones especiales
   //GpioDataRegs.GPACLEAR.bit.GPIO0 = 1; // Limpia registro GPIO0
    GpioCtrlRegs.GPADIR.bit.GPIO0 = 0;   // GPIO0 como entrada
    GpioCtrlRegs.GPAQSEL1.bit.GPIO0 = 0; // XINT1 sincronizado al reloj del sistema solamente

    /* RESET */
    GpioCtrlRegs.GPAMUX1.bit.GPIO1 = 0;  // GPIO1 como Digital I/O, no funciones especiales
    //GpioDataRegs.GPACLEAR.bit.GPIO1 = 1; // Limpia registro GPIO01
    GpioCtrlRegs.GPADIR.bit.GPIO1 = 0;   // GPIO01 como entrada
    GpioCtrlRegs.GPAQSEL1.bit.GPIO1 = 0;        // XINT2 Qual usa 6 muestras
    //GpioCtrlRegs.GPACTRL.bit.QUALPRD0 = 0xFF;   // Cada ventana de muestreo es 510 veces el reloj del sistema (510*SYSCLKOUT)
       // INHIBIT
    //GpioCtrlRegs.GPBMUX1.bit.GPIO32 = 0;  // GPIO32 como Digital I/O, no funciones especiales
    //GpioDataRegs.GPBCLEAR.bit.GPIO32 = 1; // Limpia registro GPIO32
    //GpioCtrlRegs.GPBDIR.bit.GPIO32 = 1;   // GPIO32 como entrada
    //GpioCtrlRegs.GPAQSEL2.bit.GPIO32 = 0; // XINT1 sincronizado al reloj del sistema solamente
    EDIS;

    // GPIO0 es XINT1, GPIO1 es XINT2
    EALLOW;
    GpioIntRegs.GPIOXINT1SEL.bit.GPIOSEL = 0;   // XINT1 es GPIO0 (STOP)
    GpioIntRegs.GPIOXINT2SEL.bit.GPIOSEL = 1;   // XINT2 es GPIO1 (RESET)
    //GpioIntRegs.GPIOXINT3SEL.bit.GPIOSEL = 32;  // XINT3 is GPIO1 (INHIBIT)

    // Configuración de XINT1 y XINT2
    XIntruptRegs.XINT1CR.bit.POLARITY = 1;      // Interrupción en el flanco positivo
    XIntruptRegs.XINT2CR.bit.POLARITY = 1;      // Interrupción en el flanco negativo
    //XIntruptRegs.XINT3CR.bit.POLARITY = 1;    // Interrupción en el flanco positivo

    // Habilitar XINT1 y XINT2
    XIntruptRegs.XINT1CR.bit.ENABLE = 1;        // Habilita XINT1
    XIntruptRegs.XINT2CR.bit.ENABLE = 1;        // Habilita XINT2
    // XIntruptRegs.XINT3CR.bit.ENABLE = 1;     // Habilita XINT3
    EDIS;

}

__interrupt void
freq_isr(void)
{

    // Calcula el ciclo de trabajo (flanco ascendente a flanco descendente)
    //   PwmDuty = (int32)ECap1Regs.CAP2 - (int32)ECap1Regs.CAP1;
    // Calcula el periodo  (flanco ascendente a flanco ascendente)
    PwmPeriod = (int32)ECap1Regs.CAP3 - (int32)ECap1Regs.CAP1;
    Periodo = (PwmPeriod/90401640.0);
    Frecuencia = 1/Periodo;
    ECap1Regs.ECCLR.bit.CEVT3 = 1;              // Limpia la bandera de CEVT3
    ECap1Regs.ECCLR.bit.INT = 1;                // Limpia l bandera de interrupción de ECAP1
    PieCtrlRegs.PIEACK.all = PIEACK_GROUP4;     // Debe reconocer el grupo PIE
}


__interrupt void reset_isr(void)
{
    
     if(flag_emergency_break_on == TRUE)
    {
        flag_emergency_break_on = FALSE;
    }

    PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
    }

__interrupt void emergency_stop_isr(void)
{
    flag_emergency_break_on = TRUE;
    PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
 }


MEMS

$
0
0

         Hello, I'm writing a term paper on MEMS and would need a few questions answered to include in my paper. Could anyone help answering these please -> 

H    1.  What are your thoughts on Micro-electro mechanical systems (MEMS) -are they useful or will they eventually be submerged by other technologies?

  1.    2.   What are the biggest challenges TI face while designing/manufacturing MEMS devices?
  2.      3.  How long does it usually take a business/industry to accept a new technology?

      Thanks kindly.

 

CC2531: Use Sniffer with TIMAC-Stack

$
0
0

Part Number:CC2531

Hi,

im using two cc2531, one with the packetsniffer i downloaded here

and one with the timac-project from

.

I flashed both with a hex.

With an TIMAC-CoP-Api compatible interface iam able to send commands and receive responses. But allthough every response ends in success the sniffer don't detects any packets (not even from other sources) and if i used both dongles with the mac-hex they are not able to connect. (Thats not exactly correct: A Scan-message is answered correctly but association never gets indicated).

I allready used the fix with activating callbacks.

So now my settings with the sniffer (this the thing im new with):

I started the sniffer-tool and selected "Zigbee/802.15.4".

Inside the tool i choosed "Zigbee 2006"

Than i sad the channel to "0C"

Than i pressed the "Play" (symbol) button

The button changed to ghost and it seemed the mode switched to "recording" or so.

-

To Firmware i sent this:

written: fe 01 22 08 e1 ca (get logical channel)

read:     fe 10 62 08 00 0c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 76

written: fe 1b 22 05 02 ff ff ff ff 02 01 00 0c 00 00 00 00 00 00 00 00 00 00 00 00 05 48 61 6c 6c 6f 72 (data req)

| fe | 1b | 22 | 05 | 02  |  ff ff | ff ff | 02 | 01 |  00 |  0c | 00  | 00 00 00 00 00 00 00 00 | 00 | 00 | 00 | 05 | 48 61 6c 6c 6f | 72 |

| sop | len | cmd0 | cmd1 | destMode | destAddr | destPan | srcMode | handle | txOption | channel | power | keySource | security | keyIdMode | KeyIndex | msdulen | msdu | fcs |

and got the answer:

read: fe 01 62 05 00 66 ( => SUCCESS)

but the tool didnt get anything.

Is there something i forgot? What additional informations can help to fix this?

CC1110EM433_REFDES: Optimizing FHSS for UART Bridge example on SIMPLICITI 1.2.0

$
0
0

Part Number: CC1110EM433_REFDES

Hi forum!
I have been using SIMPLICITI 1.2.0 example UART Bridge on my CC1110 and compiled the program as it is and enable FHSS in the macros. The example runs fine without changing any part of the code. Now my application is a little different than the example, I don't need a full duplex UART link rather I only need to transmit fast UART data from one device to the other.But the only difference is that I am getting non-stop data without any inter packet delay @ 9600 baud rate at one terminal, the other end just has to receive the data and display it on UART.I tried to change the code and removed SMPL_RECEIVE routine from the Tx end and removed SMPL_TRANSMIT routine from the Rx end. I end up in a an awkward situation since the data is getting missed and I am not getting complete packets at the Rx end. My current MRFI_HOP_TIME_MS is 1000 MS  but I intend to reduce it to as low as 10ms.The document suggests to not reduce this time beyond 20ms but since I have reduced code and processing from the application layer, can I expect lower than 20ms hop time in my end application?.

There are a lot of other points where I can reduce my network and application overhead and give more time to the hopping background routine. For example I don't need 4 byte source and destination address, all I need is 1 byte addressing so it reduced 6 bytes from my network header. Where else can I maneuver settings in my favour If all I need is a unidirectional half duplex link ?. I don't need acknowledgements, I can live with MRFI_TYPE_FORCED instead of CCA.

Please help me optimize the available example as per my requirement. I know its a very old example and most of the users have shifted to CC13x0 but I am stuck with CC1110 in one of my application and hence need help.

Best Regards

Ali

TPS22922: Device Failures

$
0
0

Part Number:TPS22922

I am currently using the TPS22922 load switch in a very simple application where it controls the power to a small altimeter. The input voltage to the load switch is between 2-3V (Coin cell). Input capacitance is >> than the output capacitance. The on signal is controlled by a micro.

I have observed a failure on multiple devices where there is a residual voltage (~1V) at the output when the load switch is off (ON is low). This is causing a significant amount of current to be drawn across the 65ohm resistor in the active discharge circuit. The output voltage appears to be leaking through the device through VIN. When I reduce the voltage at VIN, VOUT follows lower. So the delta is typically around 2V.

Any thoughts on what would be causing this leakage? Is it the body diode getting damage?

Note that I have confirmed there is no leakage happening through the altimeter itself. 

CCS/TMS320F28027: C2000 launchpad

$
0
0

Part Number:TMS320F28027

Tool/software: Code Composer Studio

Hi guys, 

So I'm new to c2000's series. I've worked more with the MSP430 series. I recently purchased a C2000 launchpad featuring a TMS320F28027 mcu. My problem is the following : I'm not able to launch a simple program to my C2000 launchpad. Actually code composer does not even connect to the board. It tells my that my configuration is not ok. I tried the config in the picture and nothing worked. I tried to run project with c2000 family and TMS320F28027 family but still nothing. 

Does anyone have a solution for that? Thank's a lot !!

CCS/TMS320F28069M: Interrupt Problem

CCS/CC1352P: Importing the project zero app project from resource explorer returns the following error {"code":"ECONNRESET","errno":"ECONNRESET","syscall":"read"}

$
0
0

Part Number:CC1352P

Tool/software: Code Composer Studio

Hello,

Downloading and importing the project in to CCS V8.1 running Windows 7

I was following a link somewhere but lost it when IE crashed.


LDC0851: Coil Design Questions.

$
0
0

Part Number:LDC0851

Hi Everyone,

I have been working on a flow meter application. I used LDC0851 for count the number of times the target pass by the coil. The distance between the coil and the target must be 5mm, on minimum.  The target is composed of a thin metal piece. This piece has the shape of 1/3 of the circumference (See image below), with the radius of 7mm. The target cannot be modified (Application restriction).

So, my question is:
What is the ideal diameter and fill ratio of the sensor coil such that the minimum switch ON distance is 5mm, using LDC0851.

If anyone has any theoretical document to help me with this problem, I will be very grateful.

Thanks!

ADC12DJ3200EVM: Data capture using TSW14J57

$
0
0

Part Number:ADC12DJ3200EVM

Hello,

I want to capture data on both channels of ADC12DJ3200 ADC (I have the EVM) using TSW14J57. In the High Speed Data Capture SW gui, I use "save Raw ADC codes as bin file" option to export data. How do I get data for both channels. In the CSV option it saves it as 2 columns but how do I do that for the bin file? I tried selecting "Channel 2" in the GUI but this didnt seem to make any difference. It looks like it always exports data from one channel only?

Regards,

Sai.

MSP430F5528: MSP430F5528 - USB issue

$
0
0

Part Number:MSP430F5528

Dear Sirs,

Let me introduce myself. I'm Samuel Ignacio Ramirez Gutierrez, Engineering manager of Identix RFiD Inc.

We have a couple of products based on the MCU MSP430F5528IRGCR. Some days ago, we received the feedback of a customer explaining that the PCs (running Windows 7) loss the communication with our device. Our device is connected to the PC via USB port, after the issue, they can't open the port on a logically way. The only way to solve it is to disable and enable the device at the PC.

We want to know if you received any related issues regarding this behavior.

Thanks in advance for your support.

Best Regards,


Samuel Ignacio Ramirez Gutierrez

IDENTIX - CTO

CCS/CC2640R2F: project zero appl

$
0
0

Part Number:CC2640R2F

Tool/software: Code Composer Studio

can't get cc to launch correctly, basic stuff, need interactive support, thanks

CCS/CCSTUDIO-C2000: XDS560v2

$
0
0

Part Number:CCSTUDIO-C2000

Tool/software: Code Composer Studio

I have TMS320F28335(Experimental Kit) and XDS560v2-STM.

I can trace my variables in Graph screen at low frequency about 10Hz. But I want to trance my variables with about 10kHz. 

Is it possible? How can?

Linux/PROCESSOR-SDK-AM437X: AM437X

$
0
0

Part Number:PROCESSOR-SDK-AM437X

Tool/software: Linux

Hi,

I accidentally erased the EEPROM on my AM437x Start kit board and now it won't boot into U-Boot: 

CCCCCCCC

U-Boot SPL 2014.07-gfb6ab76 (Jul 06 2015 - 16:10:49)
Incorrect magic number (0xffffffff) in EEPROM
Could not get board ID.
 Board '\' not supported

What's the best way for me to restore the EEPROM contents?

Thanks,

Andy

CC8520: + CC2592: Susceptible to out-of-band interference?

$
0
0

Part Number:CC8520

Hi,

We have noticed reduced range performance for our wireless audio system when testing it near real world cell tower sites.

To debug, we created a setup in our lab where the Master and Slave were wirelessly linked, and some attenuation was added so the RSSI would report around -55dBm.  We confirmed functionality of the audio link, and then the Slave was exposed to a radiated CW signal over a frequency sweep at levels of around 3V/m.  

We found that the link worked well when the interfering frequency was between 100MHz-1.6GHz.  Generally anything in the 1.6GHz to 2.7GHz range caused the link to drop out, though there were a few frequencies in that band which didn't cause dropouts.  Between 2.7GHz and 6GHz our connection again remained solid.

We also noted that the RSSI reported by the slave never decreased due to the added interference.  It either remained at -55dBm while the link was functional, or the link was fully lost and thus RSSI was not reported. 

Does this seem like a de-sense issue that we could fix by adding a bandpass filter somewhere in the RF path?  Has TI ever seen reports of an issue like this and are there any suggested workarounds?

Thanks,

Arthur


AWR1642BOOST: SDK VERSION FOR THE AWR1642 PASSED AND THE DEMO VISUALIZER DEMO DOESNT WORK

$
0
0

Part Number:AWR1642BOOST

Hi,

I have an AWR1642 boost and its version of SDK 1.0 doesnt work since october 5. I actualized the version to the lastest, version 2.1 for the SDK, and it doesnt work. The visualizer demo doesnt let me to choose the version 1.0 anymore.

I dont know how to actualize the AWR1642 to let it read the new VERSION 2.1. I have talked through the chat and the technical service doesnt help me because they dont know, I guess. I just need to read the AWR1642 through the visualizer demo.

Also, we have reset the device and it doesnt work neaither. I attach the screenshot of the demo's message:

At least, The device has been actualized twice with the lastest versions after the reset.

Thanks

LMP91000: No difference when biasing voltage at different values

$
0
0

Part Number:LMP91000

I am trying to perform cyclic voltammetry using the LMP91000 and an Arduino Uno. How I want to do this is to use the voltage bias and sweep through all the different voltage bias settings. I am using the internal ref, 5V for Vdd and 50% voltage division. While the program is sweeping through the different biases, I measure a constant and equal voltage over both the Re and We pins. 

This is the schematic for the circuit.

ADS8568: Using 4-Active SDO's

$
0
0

Part Number:ADS8568

Hello, I need some help understanding the order in which the inputs are sent out on the 4-Active SDO's. Here is my understanding

SDO_A: CHA0, CHA1, CHA0, CHA1, etc.

SDO_B: CHB0, CHB1,CHB0, CHB1, etc.

SDO_C: CHC0, CHC1,CHC0, CHC1, etc.

SDO_D: CHD0, CHD1,CHD0, CHD1, etc.

Thank you,

Joe

CC2564: Firmware for STMicro Cortex M3

$
0
0

Part Number:CC2564

Our design partners are developing a Bluetooth solution on CC2564. They would need to run BT stack on STM32F103 micro.

This is Cortex M3 part, not M4. I know that TI is offering dual-mode certified stack for STM32F4 series, but is there software for STM32F103?

THS4131: ~13Hz Oscillation on differential output when 2 THS4131 have the same negative input separated by resistor 2*Rg

$
0
0

Part Number:THS4131

When configuring the THS4131 as depicted in Figure 30 in the THS4131 datasheet, we are able to see an amplified differential signal output with a gain of ~23, using resistor values Rg = 390 Ohms, Rf = 9 KOhms. When we place a second THS4131 in parallel with the first one, where the negative inputs to both THS4131's are shared (separated by resistors Rg), and the positive inputs are two independent sources, we consistently see ~13Hz noise plus harmonics on the outputs of both amplifiers, even when there is no input signal for either THS4131. When the negative inputs are not connected to each other, we do not see this ~13Hz noise on either amplifier. Both amplifiers are powered by two 9V batteries with -VCC and +VCC capactively coupled to ground with a 10 uF capacitor. Vocm is connected directly to ground. What is the origin of this noise? How can we remove this noise from our outputs?

Thank you,

Richie

Viewing all 262198 articles
Browse latest View live