CC3220MOD: Using different UART
RTOS/TMS320C6670: Setting interrupts through cfg
Part Number:TMS320C6670
Tool/software:TI-RTOS
Hello!
Most of questions about interrupts settings are routed to wiki page, but I could not solve my difficulty with its only help, thus asking for community advice.
I have C6670. I want receive secondary interrupts through event combiner. Two particular events of interest are EDMA3CC0 EDMACC_GINT and PCIEXpress_ERR_INT. In Table 7-39 CIC0 Event Inputs — C66x CorePac Secondary Interrupts of device data manual events are listed as
Input Event# on CIC System Interrupt Description 36 EDMA3CC0 EDMACC_GINT EDMA3CC0 GINT 48 PCIEXpress_ERR_INT Protocol error interrupt
Both events belongs to CIC0 events. As I understand, CIC function is to map system event to channels, which known as host interrupts as well. It seems, that SYSBIOS module responsible for this is ti.sysbios.family.c66.tci66xx.CpIntc. As I understand, there is CpIntc.sysInts array with number of elements matching system events number. Each element of that array configures particular input of CIC, thus I have to tweak CpIntc.sysInts[36] and CpIntc.sysInts[48]. Is that right?
Suppose that is correct and proceed to event combiner. In the data manual in the Table 7-38 System Event Mapping — C66x CorePac Primary Interrupts we see:
Event Number Interrupt Event Description 56 CIC0_OUT0 Interrupt Controller output 57 CIC0_OUT1 Interrupt Controller output
CIC0 has about 80 outputs, but only 18 of them get routed to Core0. I wish to use 2 of them. As I understand, CIC outputs are nicknames for host interrupts. Then CIC0_OUT0 - is that host interrupt 0, CIC0_OUT1 - host interrupt 1? Is that right?
Suppose yes, then I have to route these two events to event combiner, and their numbers there should be 56, 57. Thus I code like this:
/* System event 36 EDMACC0 */ CpIntc.sysInts[36].fxn = '&edma_isr'; /* My ISR */ CpIntc.sysInts[36].arg = 36; /* Is this correct? */ CpIntc.sysInts[36].hostInt = 0; /* Channel/host interrupt 0, matching CIC0_OUT0 - is this right?*/ CpIntc.sysInts[36].enable = true; /* Map host interrupt to event combiner */ CpIntc.mapHostIntToEventCombinerMeta( CpIntc.sysInts[36].hostInt ); /* System event 48 PCIe Error */ CpIntc.sysInts[48].fxn = '&pcie_err_isr'; /* My ISR */ CpIntc.sysInts[48].arg = 48; /* Is this correct? */ CpIntc.sysInts[48].hostInt = 1; /* Channel/host interrupt 1, matching CIC0_OUT1 - is this right?*/ CpIntc.sysInts[48].enable = true; /* Map host interrupt to event combiner */ CpIntc.mapHostIntToEventCombinerMeta( CpIntc.sysInts[48].hostInt ); /* ISR for CIC0_OUT0 event 56 */ EventCombiner.events[56].fxn = CpIntc.dispatch; EventCombiner.events[56].arg = 56; EventCombiner.events[56].unmask = true; /* ISR for CIC0_OUT1 event 57 */ EventCombiner.events[57].fxn = CpIntc.dispatch; EventCombiner.events[57].arg = 57; EventCombiner.events[57].unmask = true; /**/ EventCombiner.eventGroupHwiNum[0] = 7; EventCombiner.eventGroupHwiNum[1] = 8; EventCombiner.eventGroupHwiNum[2] = 9; EventCombiner.eventGroupHwiNum[3] = 10;
Please comment, whether my understanding is correct.
Thanks in advance.
TMS570LC4357: I2C Timings
Part Number:TMS570LC4357
Hello,
We are using the I2C module.
pg 192 §7.11 (I2C module part) in the datasheet of the TMS570LC4357 component, could you give us more precision about the following sentence:
"A device must internally provide a hold time of at least 300 ns for the SDA signal (referred to the VIHmin of the SCL signal) to bridge the undefined region of the falling edge of SCL. "
-> the term "device" stands for an external device (i.e. in front of the TMS570) ?
-> is this sentence a contraint for an external device?
-> something else ?
Best regards,
Christopher
TMDSICE3359: PRU ICSS Profinet Slave 01.00.02.02 - example project issue
Part Number:TMDSICE3359
Hello,
I was able to run the example profinet_slave_RT_MRP_AM335x_arm (version 01.00.01.00) and use it as a basis for my application. I would like to transfer to newly released version 01.00.02.02 however I encountered some issues. The project (completely unmodified in any way, just the example generated using projectCreate.bat) compiles properly with some warnings (I had the same warnings in version 01 so I was not worried about them) but it fails to run on the target (PROFINET diode is not blinking, no network traffic is visible in wireshark etc.) - it seems that the code execution never reaches the main function.
As you can see above, only A8 is running (PRU never starts). If I pause execution, all I can see is 'no source available for 0x804', there are no other error messages or anything that would might give me some clue. I have tried both release and debug builds, with different compiler settings - the effect is always the same, as desribed above.
I am connecting to the target through XDS100v2 USB debug probe, embedded into the board.
I would be grateful for any suggestions.
66AK2H14: Performing On-Chip Byte-Error Rate (BER) Testing
Part Number:66AK2H14
We are using the PRBS Generator and Checker referring to the following but do not understand why the BER can be tested.
Serializer/Deserializer (SerDes) for KeyStone II Devices User Guide (Rev. A)
http://www.ti.com/lit/ug/spruho3a/spruho3a.pdf
19.1.5 Performing On-Chip Byte-Error Rate (BER) Testing (Page 151)
C:\ti\pdk_k2hk_4_0_7\packages\ti\diag\serdes_diag\test\k2h\c66\serdes_diag_test.c
In step 10, BIST_CHK_SYNCH is used to check successfully detected the PRBS data. I want to know more about the conditions when BIST_CHK_SYNCH is asserted.
Does BIST_CHK_SYNCH continue to be asserted while the PRBS pattern transmitted from the PRBS generator matches the correct polynomial?
Does BIST_CHK_SYNCH continue to be de-asserted while the pattern does not match?
In step 15, verifying that BIST_CHK_ERRORS is 0 verifies that no bit errors were measured during the testing sequence.
If BIST_CHK_ERRORS is nonzero, how can the BER be calculated?
Best regards,
Daisuke
CCS/TMS320F28035: C2000 Gang Programmer "DSP CLK frequency error"
Part Number:TMS320F28035
Tool/software: Code Composer Studio
Hi. I have a problem with the C2000 Gang Programmer.
When I try to erase the device (TMS320F28035), I always receive this answer:
ERROR 70: DSP CLK frequency error
I check at least 10 times all the connection.
The PCB is external powered.
I'm quite in trouble because I can connect via CCS (using a XDS100v2) without any problem and the target device is not locked by any password.
Any suggestion will be aprreciated.
Giovanni
LAUNCHXL-CC2640R2: Touch Sensor Programming
Part Number:LAUNCHXL-CC2640R2
Hello,
I try to program an analog Touch Sensor which consumes just one single ADC pin per touch channel. In a first step I don't want to use the integrated Sensor Controller to do this.
The basic idea is to charge the internal capacitance Chold of the ADC to VDD and measure the voltage drop over the voltage divider from Chold to Csense against GND in the next step. There are no external components beside the sensor electrode.
The code is:
//Step 1: touchchnl -> GND => CSense Discharge touchPinHandle = PIN_open(&touchPinState, touchPinTable); PIN_setConfig(touchPinHandle, PIN_BM_OUTPUT_MODE, TOUCHCHNL|PIN_GPIO_OUTPUT_EN|PIN_GPIO_LOW|PIN_PUSHPULL|PIN_DRVSTR_MAX); //Step 2: CHold -> VDD adc = ADC_open(CC2640R2_LAUNCHXL_ADCVDDS, ¶ms); res = ADC_convert(adc, &u16adcValue); ADC_close (adc); //Step 3: touchchnl -> ADC => Voltage Divider CSense, CHold PIN_close(touchPinHandle); adc = ADC_open(CC2640R2_LAUNCHXL_ADC6, ¶ms); //ADC Portzuordung -> CC2640R2_LAUNCHXL.c/adcCC26xxHWAttrs res = ADC_convert(adc, &u16adcValue); ADC_close (adc);
Basically the code works - I can see a small voltage drop when the sensor is touched, but... instead of the expected 3V3 I only see about 400mV at the touchchannel in Step 3 without touch.
Can You tell me the value of CHold and do you have an idea why the voltage I can see at the touch pin is just 400mV?
Thank You for Your support!
LAUNCHXL-F28379D: Matlab Simulink External Mode
Part Number:LAUNCHXL-F28379D
#matlab #simulink#R2017b#externalmode#launchpad#F28379D
Hello LaunchPad-Fans,
right now I have a challenging problem and I wonder if someone can support me with this tricky issue.
I want to run my F28379D LaunchPad with Matlab/Simulink but I receive the error message below:
Error: Error occurred while executing External Mode MEX-file 'ext_comm':
Failed to connect to the target. A time-out occurred while waiting for the connection response from the target. Possible reasons for the time-out:
a) The target is not switched on.
b) The target is not connected to your host machine.
c) The application for the model is not running on the target. You might have clicked the Stop button. If the Run button is not dimmed, click it. Otherwise, click the Build button, which downloads and runs your application on the target.
Error:Unable to connect to the 'TI Delfino F2837xD' target for 'test_led'.
I have already set the required configurations in Simulink Hardware Configuration:
- Code Generation: Toolchain = Texas Instruments Code Composer Studio
- Hardware Board: F28379D
- Target hardware resources:
- Build options: Device Name = F28379D; don't boot from flash; CPU1; don't use custom linker
- External mode: Serial; COM10
Can you please help me with that issue so I can use the LaunchPad to scope signals in real time and tune parameters online.
Thank you for your valuable time and advice.
Johannes
UCC2800-EP: Thermal dissipation versus product life expectancy calculations
Part Number:UCC2800-EP
Colleagues, I have recently required clarification on thermal analysis for the UCC2800-EP package, so as to be able to predict operational conditions versus lifetime. This was posted here but there were no updates to the thread.
As per the original query:
The –EP datasheet doesn’t quote any thermal characteristics.
Are the same as given for the standard SOIC-D plastic package ? How do the Q and M parts differ in construction ?
Usually there is a power rating graph versus ambient temperature and a maximum junction temperature stated on a datasheet.
Example:
From the datasheet at 125C (zero power dissipation) the part has a limited life of around 30 years so with a more typical power dissipation say around 0.2W (based on thetaJA= 107.5C/W) the life at 125C could be as little as 3 years, therefore, to keep life above a target 30 years TJ must be kept below 125C so with 0.2W the ambient temperature must be below 103.5C.
Can I please have some clarification regarding the correctness of the above?
CC3220: Looking for the .bxl file
BQ4050: help with configuring the gas gauge
Part Number:BQ4050
Hello,
I am configuring a SBS design. The designer of the product has left the company and I am here to configure the BQ4050 while discovering everything.
The product uses 4 cells of Li-Ion, connected in 2 pairs of 2, i.e. the Gas Gauge sees 2 cells.
After reading the docs (datasheet, sluuaq3.pdf, etc) I have a few questions:
- For the design parameters,(Design Capacity, Design Voltage), I suppose that I take the data directly from the battery spec ? If so, do those parameters refer to the overall pack or to a single cell ?
- I read here: https://e2e.ti.com/support/power_management/battery_management/f/180/t/584060?tisearch=e2e-sitesearch&keymatch=bq4050
about default OCV table. Where do I get this from ? Is this the parameter defaults according to sluua3.pdf ?
- Do I have to go through all the 500 parameters manually ? If I understand right, the GPC report will give me all the gas gauging parameters ? The calibration parameters are filled in during the calibration process ?
- To charge my batteries, the BQ4050 pulls the FET drives automatically depending on SOC, or do I always need to send the FET commands via SMBus ?
I add in my design :
(Please visit the site to view this file)
(Please visit the site to view this file)
Thanks in advance.
Frank
DLPDLCR2000EVM: Optical design data
Part Number:DLPDLCR2000EVM
Hi,
for our solution, wie need to simulate light conditions and other things, so an optical designer ask me for a optical design data for DLPDLCR2000EVM lense. So i didnt found any files on TI Web-page. Can you please help me to get this data for our designer.
Thanks for your answers.
CCS: Function profiling based only on selected timeframe
Tool/software: Code Composer Studio
Hi,
There is a necessity to do Function Profiling of only selected time frame from the whole captured trace. It is not possible to determine this time frame at trace capturing time, so everything needs to be done in post processing phase.
I found out that I can export only selected/filtered (by time range) part of tdf but only to csv file, which, unfortunately, cannot be used later to generate Function Profiling view.
On the other hand I could not find any way to split the ".tdf" file or even save selected part of trace as *.tdf.
Is there any way (i.e. by means of scripting) to split tdf file with given time/clocks ranges or run Function Profiling with time/cycle range as an input argument?
I am using CCS Version: 7.4.0.00015
BR,
Piotr
TINA/Spice/CSD17318Q2: CSD17318Q2 - TINA Model
Part Number:CSD17318Q2
Tool/software:TINA-TI or Spice Models
Hello,
I found for the CSD17318Q2 only a transient PSpice Model but I cannot open this file in TINA-TI. Can you help me?
Thanks!
DLPLCR4500EVM: Maximum numbers of LUT entries
Part Number:DLPLCR4500EVM
Hello,
I have a few questions regarding the Lookup Table (LUT) in the EMV:
According to the EMV User Guide, there are limits when saving a solution on how many entries any given LUT can have at most
(max. 64 DEFAULT.SPLASHLUT [image index LUT] entries, max. 128 DEFAULT.SEQPATLUT [Pattern Definition] entries).
Is it possible to have more LUT entries (for example 300 entries in the SEQPATLUT) then the ones mentioned above?
And in the Programmers User Guide, what is the 'Number of patterns to display', and why can it range from 1 to 256?
Also, the GUI will let me add entries to the SEQPATLUT (Add Pattern to Sequence) even if it exceeds 128, but when trying to save the solution, it gives me the error message 'Error validating LUT data', but not when applying it. And the GUI stops working when trying to send the sequence.
Thank you.
HD3SS3220: HD3SS3220
Part Number:HD3SS3220
Hi
I'm designing a DFP for which I'm using the HD3SS3220.
Can you send schematics of eval board?
The one in the HD3SS3220 UFP Dongle Evaluation Module User's Guide is not very clear.
For DFP use, do I connect the SS_TX from the type-C connector to the Tx lines and SS_RX to Rx lines or vice versa?
Rgds
Ehud Licht
SN65HVD251: SN65HVD251
Part Number:SN65HVD251
SN65HVD251 isolated CANBUS
I have 3 nodes A, B and C communicating via canbus. Node A (Main controller) interfaces physically to both B and C via 2 dedicated connectors.
Node B is powered from Node A and is referenced to the same ground as Node A (cannot be changed).
Node C must however be galvanic isolated from the Node A (and B) ground reference.
I have used 2 pcs SN65HVD251 transceivers for this purpose. One is interfacing to the Node B connector CANH/CANL lines (SN65HVD251 is referenced to Node A ground).
The other transceiver, interfacing to the Node C connector CANH/CANL lines, is powered from an isolated 5V supply and in addition D(CAN Transmit) and R(CAN Receive) lines are isolated from the power supply via a dual channel digital isolator (Si8621).
Both the D(CAN Transmit) signals are tied together and connected to my micro-controller CANTX port, the two R(CAN Receive) signals are gated to the micro-controller CANRX port via a 2-port AND-gate.
The main controller is continuously broadcasting can telegrams which are received correctly at the both Node B and Node C, as expected.
However, when I try to send a telegram from Node B I get a lot of “STUFF Error” messages and when trying to send a telegram from Node C I get a lot of “BIT Error” messages. Can anybody help out and maybe propose a better solution?
CCS/CC2640R2F: Program not executing when sprintf is used.
Part Number:CC2640R2F
Tool/software: Code Composer Studio
Hi Everyone,
I'm facing some problems while executing the below code.
1.Shifting is not working
2.when i use sprintf my program is not running.
Please let me know the reason why it's not working. snippet of code is written below.
Thanking You,
Vijay Rakesh
Code..
char test[20];
uint32_t bleAddressl = *((uint32_t *)(FCFG1_BASE + FCFG1_O_MAC_BLE_0)) & 0xFFFFFFFF;
uint32_t bleAddressm = *((uint32_t *)(FCFG1_BASE + FCFG1_O_MAC_BLE_1)) & 0x0000FFFF;
uint64_t bleAddress = (bleAddressl<<32)+bleAddressm; // WARNING : #64-D shift count is too large
Log_info1("MAC ID : %x",bleAddress);
Log_info1(" After Alogorithm MAC ID : %x",bleAddress);
sprintf(test,"%d",bleAddress); // WARNING : #183-D argument is incompatible with corresponding format string conversion
Log_info1("TEST : %s",test);
CC2650STK: Pdm2pcm16k() source code?
DRV8816: Is it possible to use two half-bridge in parallel?
Part Number:DRV8816
Hi,
There are two half-bridge in DRV8816 chip, I want to tie the EN1 and EN2 together (also tie IN1 and IN2, OUT1 and OUT2) so that it can provide double drive current, is it possible to use the chip in this way? I worry if there is difference in the propagation delay or internal dead time between two half bridge.
Thanks.