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

CCS/ADS114S08: spi communication

$
0
0

Part Number: ADS114S08

Tool/software: Code Composer Studio

I am using ADS114S08, this converter is conneted to DSP28335, but when I ues SPI to send a RREG command to ADS114S08, the return value is always 0x00(the value should be 0x80, I also use RREG command to read other registers of ADS114S08, the result is same

here is my code

spi configuration:

    SpiaRegs.SPICCR.bit.SPISWRESET = 0;    

    SpiaRegs.SPICTL.bit.CLK_PHASE = 1;   //CPHA = 1
    SpiaRegs.SPICTL.bit.MASTER_SLAVE = 1;
    SpiaRegs.SPICTL.bit.OVERRUNINTENA = 0;
    SpiaRegs.SPICTL.bit.SPIINTENA = 0;
    SpiaRegs.SPICTL.bit.TALK = 1;

    SpiaRegs.SPIBRR =0x0004;
    SpiaRegs.SPISTS.all=0x0000;        

    SpiaRegs.SPICCR.bit.CLKPOLARITY = 0; // CPOL = 0
    SpiaRegs.SPICCR.bit.SPILBK = 0;
    SpiaRegs.SPICCR.bit.SPICHAR = 7;


    SpiaRegs.SPIPRI.bit.FREE = 1;
    SpiaRegs.SPICCR.bit.SPISWRESET  = 1;

   void main(void)
{
    InitSysCtrl();
    InitSpiaGpio();
    DINT;
    InitPieCtrl();
    IER = 0x0000;
    IFR = 0x0000;
    InitPieVectTable();

    //spi_fifo_init();         // Initialize the Spi FIFO
    spi_init();              // init SPI

    adres_H = 0;
    adres_L = 0;
    adres = 0;
    rdata = 0;
    sdata = 0;

    CS_L;
    DELAY_US(1);

    rdata = spi_8bit(0x2000); // reset command
   
    DELAY_US(2000); // 4096*tclk
    CS_H;
    DELAY_US(1);
 
    CS_L;
    DELAY_US(1);
    rdata = spi_8bit(0x2100);
    DELAY_US(1);
    rdata = spi_8bit(0x0000);
    DELAY_US(1);
    rdata = spi_8bit(0x0000);
    DELAY_US(1);
    CS_H;

   Uint16 spi_8bit(Uint16 a)
   {
     Uint16 data;
     SpiaRegs.SPITXBUF=a;
  
     while(SpiaRegs.SPISTS.bit.INT_FLAG != 1)
     {
     
     }
     data = SpiaRegs.SPIRXBUF;
     return data;
   }

  


MSP430F6779A: Unable to read all data from RX and the readTimeout of UART_read is not working.

$
0
0

Part Number: MSP430F6779A

Dear Experts,

I am testing UART on MSP430F6779A with board MSP-TS430PEU128.

My problem is on reading UART and cannot get all data from RX, here is the code how I to do that,

Void echoFxn(UArg arg0, UArg arg1)
{
    BYTE buffer[10];
    char input;
    int readSize = 1;

    UART_Handle uart;
    UART_Params uartParams;

    UART_Params_init(&uartParams);
    uartParams.readMode = UART_MODE_BLOCKING;
    uartParams.writeMode = UART_MODE_BLOCKING;
    uartParams.writeDataMode = UART_DATA_BINARY;
    uartParams.readDataMode = UART_DATA_BINARY;
    uartParams.readReturnMode = UART_RETURN_FULL;
    uartParams.readEcho = UART_ECHO_OFF;
    uartParams.readTimeout = 1;
    uartParams.baudRate = 115200;
    uart = UART_open(1, &uartParams); /* P3.4,5 = USCI_A1 TXD/RXD */

    if (uart == NULL) {
        System_abort("Error opening the UART");
    }

    while (1) {
        UART_read(uart, &input, readSize);  //read 1 at once
        System_printf("%c\n", input); System_flush();
    }
}

I am using accessport tool to send data "1234567890", after run, I only got "1" and "0" which those are first and last characters. No mater what baudrate I set, only those two can be received.

Where I did wrong?

I also tried another way to read RX data which is read a block:

 

Void echoFxn(UArg arg0, UArg arg1)
{
    BYTE buffer[10];
    char input;
    int readSize = 1;

    UART_Handle uart;
    UART_Params uartParams;

    UART_Params_init(&uartParams);
    uartParams.readMode = UART_MODE_BLOCKING;
    uartParams.writeMode = UART_MODE_BLOCKING;
    uartParams.writeDataMode = UART_DATA_BINARY;
    uartParams.readDataMode = UART_DATA_BINARY;
    uartParams.readReturnMode = UART_RETURN_FULL;
    uartParams.readEcho = UART_ECHO_OFF;
    uartParams.readTimeout = 1;
    uartParams.baudRate = 115200;
    uart = UART_open(1, &uartParams); //open PM_UCA1

    if (uart == NULL) {
        System_abort("Error opening the UART");
    }

    while (1) {
        UART_read(uart, &buffer, 10);  //read 10 at once
        System_printf("%s\n", (char *)buffer); System_flush();
    }
}

I use same tool to send data "1234567890" and got all data "1234567890" without missing. But here is the problem, if I just send data less than 10, then I'll never get returned from UART_read. Seems the readTimeout setting is not working, why is that happen?

Thanks in advanced.

AWR1642: ADC bits in AWR1642

$
0
0

Part Number: AWR1642

Hello team,

In AWR1642, we have 12 bit ADC, but we can get the 16 bit output after AFE. How did the AFE process the 12 bit ADC input to 16bit? left shift ADC data at the input of the DFE? <<4?

Thanks,

Wesley

LDO replacement

$
0
0

Hi team,

Do we have a LDO pin to pin with UPD120N25T1B SO-62 package?

Thanks.

James

 (Please visit the site to view this file)

SN74AVC4T245: Voltage spike problem in level translation from 1.8V to 3.3V in SPI communication

$
0
0

Part Number: SN74AVC4T245

Hi Team,

Please help me check the voltage spike problem in SPI voltage translation, and the full part number is SN74AVC4T245PWR. The value of spike voltage is up to 3.58V, but the maximum accepted output voltage is 3.6V in customer's system. Please give us some hints that how to decrease the value of spike voltage. More information you can check below schematic diagram and tested waveform.

Below is the customer's schematic diagram:

Below two waveform are the input signal waveform (1.8V) and the output signal waveform (3.3V) respectively.

   

Best Regards,

Stanley Dai.

TMS320F28035: What is the role of “PFC_InvRmsSqr_VminOverVmax” in “PFC_InvRmsSqr”?

$
0
0

Part Number: TMS320F28035

Dear TI:

In the “PFC_InvRmsSqr.asm” file:

; Renormalize the Inverse Avg AC Line measurement to it's own max by multiplying by Vmin/Vmax
MOVL XT,ACC ; Store quotient in Multiplier Register 
QMPYL ACC,XT,@_PFC_InvRmsSqr_VminOverVmax:n: ; Multiply Inverse of In value by Vmin/Vmax, Q24*Q30 = I10Q22
LSL ACC,#8 ; ACC=I2Q30

I want to know what is the effect of multiplying “PFC_InvRmsSqr_VminOverVmax” finally?

Thanks

Best regards

CCS/66AK2H14: Issue making SPI flash read test working on custom board

$
0
0

Part Number: 66AK2H14

Tool/software: Code Composer Studio

Hi,

I am currently working on a new custom board. I want to test the SPI NOR flash on this board and for this, I am using the SPI flash read test provided for EVMK2H in the pdk_k2hk_4_0_9. I use the c66x example.


I made it work on EVMK2H. Unfortunately, I got some troubles to make it work on our custom board. We have a different DDR3 and different NOR flash. The flash used is the Micron NOR flash MT25QU02GCBB.

The things done for now are:

-configure DDR3 in $pdk_k2hk_4_0_9/packages/ti/board/src/evmK2H/evmK2H_ddr.c using the parameters previously calculated for our GEL file (DDR has been tested with our new parameters and is working).

-configure the flash parameters:

1.change device ID from 0xBB18  to 0xBB22 in Board_flash.h .

2.In pdk_k2hk_4_0_9\packages\ti\board\src\flash\nor\device\n25q128.h

  • #define NOR_SIZE                    (256U * 65536U)       to      #define NOR_SIZE                    (4096U * 65536U)      /*NOR size is 2Gb*/
  • #define NOR_DEVICE_ID               (0xBB18)  /* Device ID */   to      #define NOR_DEVICE_ID               (0xBB22)     /* Device ID */


I re-built the PDK before compiling the project. However, I always get stuck at same function, using this configuration or not.

What I can say is that NOR_open(flashIntf, portNum, params) function always returns 0. I finally get  a "Board_flashOpen failed." in my console.

Do I miss something in my new configuration? Do you have any idea about my problem?

Thank you for your help.

Best regards.

ULQ2003A: Spice model and rising time (falling time)

$
0
0

Part Number: ULQ2003A

Hi Team,

Please help me answer the follow question from my customer, thank you so much.

Please tell me about ULQ2003A rising time and falling time under the following conditions.
[Condition] Input:0-5V pulse (rising and falling time are not considered)
                 Output:load resistance (about 1kΩ)

(Please visit the site to view this file)

[background]
This transistor array is used to generate gate pulses (ON / OFF signals for driving the switching module).
I connected a photocoupler and a resistor to the output terminal to turn the 15V power supply on and off, but the photocoupler has a built-in high sensitivity IC, and IF(Photocoupler input current) is specified to be driven within 0.5uS of rising time and falling time. (Refer to the attached)
I inquiry this problem because he rising time (falling time) of IF (photocoupler input current) depends on the characteristics of this transistor array.
Also, can you provide a spice model of ULQ2003A (or the same specification) that I want to simulate here?

(Please visit the site to view this file)


Best Regards,
Tom Liu


TMS320F28377D: F28377D Internal ADC 16bit single end mode

$
0
0

Part Number: TMS320F28377D

Hi Champs,

According to following data sheet,  internal ADC doesn't have 16bit single end mode.  However, this device support 16bit differenctial ADC.

Is it possible to realize 16bit single end ADC ?

http://www.ti.com/lit/ds/symlink/tms320f28377d.pdf

Regards,

Kz777

DS90UB949-Q1: ALP software : Implementation of "Assert Hot Plug"

$
0
0

Part Number: DS90UB949-Q1

Dear Team,

I am trying to write one script file to configure Serializer(DS90UB0949) and remote deserializer(DS90UB0948) using I2C interface.  How to implement "Assert Hot Plug" functionality. I have not found any valid information from serializer data sheet.  While debugging ALP code, I found below information.

# Assert Hot Plug
def assert_hot_plug(s):
s.APB_Write(s.HDMI_SETUP_CTRL, s.HOT_PLUG_DETECT)
s.hot_plug_asserted = True

where 

s.HDMI_SETUP_CTRL = 0x0000; # HDMI Setup Ctl Reg
s.HOT_PLUG_DETECT = 0x01000001; # Assert Hot plug detect

Whether above code can be re-written just like as follows  using board.WriteI2C API?

#Assert HPD
# Select HDMI APB interface.
board.WriteI2C(UB0949, 0x48, 0x01)
board.WriteI2C(UB0949, 0x49, 0x00)
board.WriteI2C(UB0949, 0x4A, 0x00)


board.WriteI2C(UB0949, 0x4B, 0x01)
board.WriteI2C(UB0949, 0x4C, 0x00)
board.WriteI2C(UB0949, 0x4D, 0x00)
board.WriteI2C(UB0949, 0x4E, 0x01)

Could you please give the expansion or definition of APB_Write ? What is actally happenning via I2C interface when APB_Write is called?

Regards,

Chintha

CCS/TMS570LC4357: Relationship between flash ecc self test function and pinmux

$
0
0

Part Number: TMS570LC4357

Tool/software: Code Composer Studio

hello

For the BSP works, i try to change pinmux and generate pinmux code using HalCoGen.

however, this edited pinmux.c file causes Flash ECC Self test fail.

i cannot figure out why is this happened.

could you please teach me how pinmux changes can influence to flash ecc test?

thanks

Compiler/PROCESSOR-SDK-DRA7X: CPU Statistics is showing Black Data after moving to RTOS usecase

$
0
0

Part Number: PROCESSOR-SDK-DRA7X

Tool/software: TI C/C++ Compiler

Hello TI team,

After moving to RTOS usecase (M4 IPL Loading) we are unable to see the Statics logs.

Current LOGS

[HOST] [IPU1-0] 3675.543189 s: Statistics Collector,
[HOST] [IPU1-0] 3675.543341 s:
[HOST] [IPU1-0] 3675.543433 s: STATISTIC Avg Data Peak Data
[HOST] [IPU1-0] 3675.543646 s: COLLECTOR MB/s MB/s
[HOST] [IPU1-0] 3675.543982 s: --------------------------------------------------
[HOST] [IPU1-0] 3675.640669 s:

Earlier LOGS:

STATISTIC Avg Data Peak Data
COLLECTOR MB/s MB/s
--------------------------------------------------
SCI_EMIF1 RD+WR | 329.518649 1743.427429
SCI_EMIF2 RD+WR | 420.410170 1821.600959
SCI_EMIF1 RD ONLY | 216.779255 1258.683726
SCI_EMIF1 WR ONLY | 112.894059 523.150992
SCI_EMIF2 RD ONLY | 309.146965 1338.680527
SCI_EMIF2 WR ONLY | 111.498581 522.032786
SCI_MA_MPU_P1 | 31.259716 355.828868
SCI_MA_MPU_P2 | 30.727437 354.018392
SCI_DSS | 285.102305 315.540983
SCI_IPU1 | 10.323246 25.170673
SCI_VIP1_P1 | 0.000000 0.000000
SCI_VIP1_P2 | 0.000000 0.000000
SCI_VPE_P1 | 0.000000 0.000000
SCI_VPE_P2 | 0.000000 0.000000
SCI_DSP1_MDMA | 93.531804 102.299396
SCI_DSP1_EDMA | 0.000000 0.000000
SCI_DSP2_MDMA | 0.000000 0.000000
SCI_DSP2_EDMA | 0.000000 0.000000
SCI_EVE1_TC0 | 0.000000 0.000000
SCI_EVE1_TC1 | 0.000000 0.000000
SCI_EVE2_TC0 | 0.000000 0.000000
SCI_EVE2_TC1 | 0.000000 0.000000
SCI_EDMA_TC0_RD | 0.000229 0.037113
SCI_EDMA_TC0_WR | 0.000229 0.037113
SCI_EDMA_TC1_RD | 0.000000 0.000000
SCI_EDMA_TC1_WR | 0.000000 0.000000
SCI_VIP2_P1 | 0.001663 0.007337
SCI_VIP2_P2 | 21.259940 25.490230
SCI_VIP3_P1 | 0.000000 0.000000
SCI_VIP3_P2 | 0.000000 0.000000
SCI_EVE3_TC0 | 0.000000 0.000000
SCI_EVE3_TC1 | 0.000000 0.000000
SCI_EVE4_TC0 | 0.000000 0.000000
SCI_EVE4_TC1 | 0.000000 0.000000
SCI_IVA | 216.455846

STATISCS are missing

Regards,
Raghu

LM25180: Can it support 5V to 5V

$
0
0

Part Number: LM25180

Hi Team,

My customer is surveying LM25180 to replace LT3001. His application is 5V input to dual 5V output, dual 5V output are isolated to each other.

Can LM25180 achieve this requirement? If yes, can team provide reference circuit and recommended transformer.

Thanks a lot.

Vincent Chen

WEBENCH® Tools/LM25145: WEBENCH® Tools/LM25145

$
0
0

Part Number: LM25145

Tool/software: WEBENCH® Design Tools

Hello,

Designing 12V/5A converter I've tried to take advantage of WEBENCH tool.

Proposed schematic is clear apart the one input 2.1Ohm resistor. I dont fully understand what is its purpose?

Is that about stability or EMC? How to deermine its value if it is necessary part of design.

Thank you,

Adam

BOOSTXL-TLV8544PIR: BOOTSTXL-TLV8544PIR first time test is too long

$
0
0

Part Number: BOOSTXL-TLV8544PIR

Hi :

          I test BOOTSTXL-TLV8544PIR,find some problem:  When the board came on, I kept shaking my hands in front of the PIR,I use an oscilloscope to detect the signal values at 1 and 2,It takes 50 seconds to detect the shaking of human hands. The first time is too long. Customers need us to detect it in 20S. Please adjust the value of resistance and capacitance in the operational amplifier to meet the requirements. Thank you for your answer.


BEAGLEBN: dmtimer use question

$
0
0

Part Number: BEAGLEBN

kernel = linux-rt-4.14.114+git:RobertCNelson/ti-linux-kernel-dev

cross compiler = arm-linux-gnueabihf-gcc

----------------------------------------------------------------------------------------------

Hi

I want to use the dmtimer library:

header file: /include/clocksource/timer-ti-dm.h
C FIle: /drivers/clocksource/timer-ti-dm.c

in a kernel modul: https://github.com/ddrown/pps-gmtimer/blob/ti_4_9_x/pps-gmtimer.c

(this is an old version of the module to use it now, i changed the header: #include <plat/dmtimer.h> to: #include <clocksource/timer-ti-dm.h>)

the modul use a hw-timer for a pps device.

if im compiling the module i get the following compiler-warnings:

WARNING: "omap_dm_timer_get_fclk" [/pps-gmtimer/kernel/pps-gmtimer/pps-gmtimer.ko] undefined!
WARNING: "omap_dm_timer_enable" [/pps-gmtimer/kernel/pps-gmtimer/pps-gmtimer.ko] undefined!
WARNING: "omap_dm_timer_request_by_node" [/gps_cape/pps-gmtimer/kernel/pps-gmtimer/pps-gmtimer.ko] undefined!
WARNING: "omap_dm_timer_read_status" /gps_cape/pps-gmtimer/kernel/pps-gmtimer/pps-gmtimer.ko] undefined!
WARNING: "omap_dm_timer_free" [/gps_cape/pps-gmtimer/kernel/pps-gmtimer/pps-gmtimer.ko] undefined!
WARNING: "omap_dm_timer_stop" /gps_cape/pps-gmtimer/kernel/pps-gmtimer/pps-gmtimer.ko] undefined!
WARNING: "omap_dm_timer_set_int_disable" [/gps_cape/pps-gmtimer/kernel/pps-gmtimer/pps-gmtimer.ko] undefined!
WARNING: "omap_dm_timer_set_source" [/gps_cape/pps-gmtimer/kernel/pps-gmtimer/pps-gmtimer.ko] undefined!
WARNING: "omap_dm_timer_read_counter" [/gps_cape/pps-gmtimer/kernel/pps-gmtimer/pps-gmtimer.ko] undefined!

and if im trying to load the compiled module with:

sudo insmod pps-gmtimer.ko


i get the following errors:

[  228.063538] pps_gmtimer: Unknown symbol omap_dm_timer_request_by_node (err 0)
[ 3330.286407] pps_gmtimer: Unknown symbol omap_dm_timer_stop (err 0)
[ 3330.286431] pps_gmtimer: Unknown symbol omap_dm_timer_set_source (err 0)
[ 3330.286446] pps_gmtimer: Unknown symbol omap_dm_timer_get_fclk (err 0)
[ 3330.286460] pps_gmtimer: Unknown symbol omap_dm_timer_free (err 0)
[ 3330.286471] pps_gmtimer: Unknown symbol omap_dm_timer_request_by_node (err 0)
[ 3330.286517] pps_gmtimer: Unknown symbol omap_dm_timer_set_int_disable (err 0)
[ 3330.286540] pps_gmtimer: Unknown symbol omap_dm_timer_enable (err 0)
[ 3330.289645] pps_gmtimer: Unknown symbol omap_dm_timer_read_counter (err 0)
[ 3330.289676] pps_gmtimer: Unknown symbol omap_dm_timer_read_status (err 0)

In the thread: https://e2e.ti.com/support/processors/f/791/t/821652 But if i use this solution i have to manipulate and rebuild the kernel... and this a user friendly way to use the dmtimer library.

So my question: Is there way to use the dmtimer library in an kernel modul without rebuilding the kernel? or Do i have to take another way to use the timers - which one?

Regards,
Justus

CCS/CC2650MODA: CC2650moda

$
0
0

Part Number: CC2650MODA

Tool/software: Code Composer Studio

Hi,

    There is no error in the below program but output pin (DIO2) is not high. What is the reason for no output.?

(In 1st commented line) Is it possible to write values to hardware registers directly in ccs? If so, How can we do?

#include <driverlib/ioc.h>
#include<driverlib/ioc.c>
int main(void)
{
// IOCFG1 = 0x30;-----(1)

// IOCPortConfigureSet(IOID_2, IOC_PORT_GPIO, IOC_STD_OUTPUT);

IOCPinTypeGpioOutput(IOID_2);
GPIO_writeDio(2,1);

BIOS_start();

return 0;
}

LP5907: Frequency Domain

$
0
0

Part Number: LP5907

Hi E2E,

We use LP5907 to design (3.3V→3.0V) and put COUT = 10uF, we can find the 16K noise @ frequency domain.
BUT, when we modify COUT to 1uF, have no noise @ frequency domain.

We can modify COUT to 1uF, but could you let us know why have a noise when we use COUT=10uF.

(Customer want to a Explanation)

BTW, we disable others power except LP5907. And we try to change others component in LP5907 circuit, and find that had to modify COUT to 1uF can fix this issue.

LAUNCHXL-CC1310: Using OPUS codec based in CC1310

$
0
0

Part Number: LAUNCHXL-CC1310

Hi,

Sorry I just missed the latest answer from Clement! OMG.

The SDK version I'm using is Simplink CC13x0 SDK v3.20.00.23,

and I basically mixed two examples - rfEasyLinkTx and bidirectional audio example in CC26X2.

Currently I successfully implemented bidirectional voice communication application based in CC1310 and EasyLink, but it seems I need to compress voice data less than now to support more than bidirectional.

Also I'm using the I2S driver included in the above BLE bidirectional audio example.

------------------------

My final goal is relaying the voice data from one to the other between 4 devices, so I need to handle RF timing really carefully.

The compression is one of the most important factor for this project, and I used ADPCM for bidirectional communication.

But OPUS, which is you mentioned, seems like a great fit for my project, so is there any guide for applying OPUS to my project or any examples?

As far as I searched, someone tried to apply OPUS based in CC2640R2, but seemed they failed due to limited resource, so if I have to use another processor, please let me know if possible.

Any help would be really much appreciated. I will keep watching the answer this time :)

DS90UB941AS-Q1: application consult

$
0
0

Part Number: DS90UB941AS-Q1

Dear experts,

Our customer is using SerDes products, and they wonder what's the difference between UH and UB version except for UH supports HDCP applications?

Thanks for your help!

Viewing all 262198 articles
Browse latest View live


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