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

Forum Post: TMS320F28069: MATLAB : How to configure peripherals

$
0
0
Part Number: TMS320F28069 Other Parts Discussed in Thread: TEST Hi team, I'm trying to help my customer to do first steps in model based design with MATLAB/Simulink and C2000. The customer made some basic operations like LEDs, ADCs, PWMs. There are 2 questions: 1) How to configure C2000 peripherals? 1.a) For example we need to set pull-up for some GPIO. If we need to do this with MATLAB/Simulink, show me where to do this? 2.b) If we need to do it in CCS Project, where to add this init function? 2) How to combine MATLAB/Simulink model based design with existing codebase. For example, communication stacks written in C. We need to add some code functions to CCS project generated by MATLAB and test together. How to add code in this project and not broke MATLAB logic?

Forum Post: RE: TMS320F28377D: Version history checking on MCU

$
0
0
Hi Jenny, The chip revision is Rev C only. You can use Errata doc as guidance. https://www.ti.com/lit/pdf/sprz412 The datasheet revision is Revision O. https://www.ti.com/lit/gpn/tms320f28377d Thanks & Regards, Santosh

Forum Post: RE: TMS320F28379D: How to embed driver library code when use MATLAB/Simulink for code generation

$
0
0
Hi Liyan, Please take a look at MathWorks FAQ at this link below: https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/484814/faq-sticky-mathworks-solutions-for-c2000-mcu-s If you have further questions, please post the question at MathWorks support forum. That forum is monitored by lot of Simulink engineers and they get answered faster. The main link for MathWorks Support is: http://www.mathworks.com/support/ There is C2000 info in Documentation , Examples , and MATLAB Answers. Thanks & Regards, Santosh

Forum Post: RE: TMS320F28388D: Ethernet only works in 10Mbps mode using NDK

$
0
0
Alex, I will let you know if I manage to figure it out. Best Regards Siddharth

Forum Post: RE: TMS570LC4357: CAN receive/send messages using interrupt/notification instead of polling

$
0
0
The compiler option did not "fix" the conflict in my project. I'll take a look at what's used for the CAN1_CAN2 project... error #10056: symbol "canMessageNotification" redefined: first defined in "./canMsgLib/CAN_msg_lib.obj"; redefined in "./source/HL_sys_main.obj" error #10010: errors encountered during linking; "DCAN_RX.out" not built Thanks.

Forum Post: RE: TMDSHVMTRINSPIN: TMDSHVMTRINSPIN: Universal Motor Control Lab motorVars_M1.speed_Hz is not following the motorVars_M1.speedRef_Hz

$
0
0
can we get est.c file for reference?

Forum Post: RE: TMS570LC4357: CAN receive/send messages using interrupt/notification instead of polling

$
0
0
The CAN1_CAN2 project did not have that compiler option either. The answer is fairly simple. My project is using the canMessageNotification() in CAN_msg_lib.obj (which doesn't have WEAK) while yours is using the one in HL_notification.c (which has WEAK). === My linker command... Building target: "DCAN_RX.out" Invoking: ARM Linker "C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-arm_20.2.0.LTS/bin/armcl" -mv7R5 --code_state=32 --float_support=VFPv3D16 -g --diag_warning=225 --diag_wrap=off --display_error_number --enum_type=packed --abi=eabi -z -m"DCAN_RX.map" --heap_size=0x800 --stack_size=0x800 -i"C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-arm_20.2.0.LTS/lib" --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info="DCAN_RX_linkInfo.xml" --rom_model --be32 -o "DCAN_RX.out" "./app/source/APP_CONSOLE.obj" "./app/source/APP_RCV_CONTROL.obj" "./app/source/APP_RCV_VEHICLE.obj" "./canMsgLib/CAN_msg_lib.obj" "./core/time/source/DCS_TIME.obj" "./database/source/DB.obj" "./database/source/ID.obj" "./source/HL_can.obj" "./source/HL_epc.obj" "./source/HL_errata.obj" "./source/HL_errata_SSWF021_45.obj" "./source/HL_esm.obj" "./source/HL_gio.obj" "./source/HL_het.obj" "./source/HL_nmpu.obj" "./source/HL_notification.obj" "./source/HL_pinmux.obj" "./source/HL_sci.obj" "./source/HL_sys_core.obj" "./source/HL_sys_dma.obj" "./source/HL_sys_intvecs.obj" "./source/HL_sys_main.obj" "./source/HL_sys_mpu.obj" "./source/HL_sys_pcr.obj" "./source/HL_sys_phantom.obj" "./source/HL_sys_pmm.obj" "./source/HL_sys_pmu.obj" "./source/HL_sys_startup.obj" "./source/HL_sys_vim.obj" "./source/HL_system.obj" "./stdio/dbuf.obj" "./stdio/input.obj" "./stdio/output.obj" "./stdio/printf.obj" "./stdio/scidma.obj" "./stdio/vsscanf.obj" "./utility/protocols/source/SAFE_STRING.obj" "./utility/protocols/source/TRANSCODE.obj" "./utils/ibuf.obj" "./utils/timer.obj" "./utils/umm_info.obj" "./utils/umm_integrity.obj" "./utils/umm_malloc.obj" "./utils/umm_poison.obj" "../source/HL_sys_link.cmd" -llibc.a === Your linker command... Building target: "TMS570LC43x_CAN1_CAN2.out" Invoking: ARM Linker "C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-arm_20.2.0.LTS/bin/armcl" -mv7R5 --code_state=32 --float_support=VFPv3D16 -O1 --opt_for_speed=5 -g --diag_warning=225 --diag_wrap=off --display_error_number --enum_type=packed --abi=eabi -z -m"TMS570LC43x_CAN1_CAN2.map" --heap_size=0x800 --stack_size=0x800 -i"C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-arm_20.2.0.LTS/lib" -i"C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-arm_20.2.0.LTS/include" --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info="TMS570LC43x_CAN1_CAN2_linkInfo.xml" --rom_model --be32 -o "TMS570LC43x_CAN1_CAN2.out" "./source/HL_can.obj" "./source/HL_epc.obj" "./source/HL_errata.obj" "./source/HL_errata_SSWF021_45.obj" "./source/HL_esm.obj" "./source/HL_gio.obj" "./source/HL_nmpu.obj" "./source/HL_notification.obj" "./source/HL_pinmux.obj" "./source/HL_rti.obj" "./source/HL_sci.obj" "./source/HL_spi.obj" "./source/HL_sys_core.obj" "./source/HL_sys_dma.obj" "./source/HL_sys_intvecs.obj" "./source/HL_sys_main.obj" "./source/HL_sys_mpu.obj" "./source/HL_sys_pcr.obj" "./source/HL_sys_phantom.obj" "./source/HL_sys_pmm.obj" "./source/HL_sys_pmu.obj" "./source/HL_sys_startup.obj" "./source/HL_sys_vim.obj" "./source/HL_system.obj" "../source/HL_sys_link.cmd" -lrtsv7R4_T_be_v3D16_eabi.lib

Forum Post: RE: LAUNCHXL-F280049C: Can't import Launchxl demo project in CCS

$
0
0
Here is an archive containing the launchxl folder. I don't really know which is the projectspec file. e2e.ti.com/.../launchxl.zip

Forum Post: RE: TMS570LC4357: CAN receive/send messages using interrupt/notification instead of polling

$
0
0
Just a little clarification. The canMessageNotification() in CAN_msg_lib.obj does end up calling the one in HL_notification.c (since I added USER code there that does dispatch to my canMessageNotificationX() in HL_sys_main.c).

Forum Post: TMS320F28062F-Q1: Motor speed

$
0
0
Part Number: TMS320F28062F-Q1 We use TMS320F28062F-Q1 control board to control a new delta connected permanent magnet synchronous motor. The motor parameters are : Stator Resistance ( phase to phase ):5.6 m Ω; Stator Inductance (phase to phase )20 uH Maxspeed :70 000rpm ; Number of Pole Pairs :1; Rated current :260 A ; The open circuit back EMF@70000rpm :11.625 V , DC Bus Voltage : 24V; USER_ADC_FULL_SCALE_VOLTAGE_V:27.3V, USER_VOLTAGE_FILTER_POLE_Hz: (1167) PWM FREQ:25kHz The problem now is that when the motor starts with load, the actual speed of the motor is 0, but the speed estimated by FAST is 4000rpm (the given reference speed is 4000rpm), the motor phase current frequency is 43Hz. Why does this happen? What is the estimation principle of motor speed? What adjustments should I make/

Forum Post: RE: TMS320F28062F-Q1: Motor speed

$
0
0
SORRY:The open circuit back EMF@30000rpm :11.625 V

Forum Post: TMS320F28379S: #10099-D error memory doesn't fit, failed to allocate.

$
0
0
Part Number: TMS320F28379S Hi, Please look at the following problem. I'm getting the following errors: in the .map file I found this, Please help me to solve this issue. Thanks.

Forum Post: RE: MSP430FR6043: Ultrasonic Transducer Selection

$
0
0
Hi Kuldeep, For gas metering the range of frequencies supported on this device are 133kHz to 2.5MHz. Please refer to slaa837a 'FAQ on ultrasonic sensing technology and water and gas metering with MSP430FR604x MCUs', Question 14. Also, for ultrasonic for oxygen metering, refer to slaa976 , "Oxygen concentration sensing".

Forum Post: RE: MSP430FR6047: Device stopped working after performing measurements with some hot water

$
0
0
Hi Jack, Sorry for delayed response. [quote userid="521819" url="~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1102125/msp430fr6047-device-stopped-working-after-performing-measurements-with-some-hot-water/4085418#4085418"]I poured the water approx. after 10min coming out of the boiler.[/quote] Remind me again, what is the actual temperature of the water when applied to the sensors? If you don't know, please measure.

Forum Post: RE: MSP430FR6047: Device stopped working after performing measurements with some hot water

$
0
0
Hi Dennis, The temperature was approx. 90 degrees Celsius.

Forum Post: RE: TMS320F28388D: TMS320F28388D

$
0
0
Hi Santosh, I installed latest version of C200Ware and I am able to import an compile now. Thanks for your help! Felix

Forum Post: RE: TMS320F28388D: TMS320F28388D

$
0
0
Great. Thanks for confirming that.

Forum Post: RE: TMS320F28388D: C2000 TCP/IP Stack Issues, Support, and Roadmap plans

$
0
0
Hi Siddharth, We have spent some engineering time looking at your LWIP code base and examples: There are two examples that we could find in C2000ware: a webserver and a UDP example, but no TCP/IP examples We’ve attempted (for lack of an example) to implement a LWIP TCP/IP application fitted to our architecture This initial attempt had achieved limited BW (it is slow) and its stability is lacking We believe we are groping in the dark due to lack of a basic example that demonstrates how to properly hand off to/from LWIP to achieve relatively high BW (duty cycle) use of a 100Mb/s ethernet channel while maintaining the CM in a stable state that allows other processes to continue to be serviced. For reference, our architecture (what we implemented using your RTOS/NDK) We have a fairly classic asymmetric TCP-IP based client/server architecture. The Delfino is the server with a listener. The client PC (using WinSock and .NET socket library) opens a socket to the Delfino Most PC->Delfino packets are low bandwidth command/response packets for Commands, Settings, Status, etc Upon receiving a command to stream data, the Delfino will begin streaming ~64Kbyte data sets broken into roughly 64 packets each This is a continuous streaming that lasts for 5minutes at a time and whose BW requirements are >> 24Mb/s 1Kbyte or larger packet size Average (not fixed) 32-64 packets per data set 32 to 64 data sets per second. (16Mb/s to 32 Mb/s) Can LWIP support this architecture And if so, can you point us to (and/or provide us with) an example that we can build on. And if NOT, describe how we can use LWIP to achieve our requirements in an architecture better suited to LWIP. TI stated that LWIP is used in a lot of places but we only have two very basic examples that we can find in C2000ware. Are there other examples that TI has that are not in the C2000ware? Or, does there exist any good non-TI examples of implementing raw data communication with LWIP, particularly high throughput bidirectional TCP/IP applications? How much direct experience and expertise with LWIP does the TI engineering team have? Can we expect technical support (for our implementation) from TI with questions and concerns specific to LWIP and its source code? In regard to our RTOS/NDK implementation We are experiencing throughput rates that vary from session-to-session with a session being defined as a physically stable board/connection environment. For example, we can apply power to the board and send data achieving 30Mbps across multiple data link connect and disconnect cycles. That is plug-it-up, turn-it-on, and look at that: it works and it works well…… This involves many socket connect/disconnect cycles. But, physically unplug the cat-5, or power cycle the Delfino (leave the PC alone) and start again….and now we may only get 10Mbps (or less) throughput across multiple data connections/transfers. We have found no culprit for this unknown drop in data transfer rate. Is this consistent with your experience in this configuration? We haven’t seen (in any documentation) and don’t know if our code is intended to manage the PHY registers. Is there any configuration or monitoring of these registers that the user code is intended/required to perform? We have dumped the PHY registers and do not see any configuration changes having occurred between an acceptable BW transfer vs one that is operating slowly? Below is a pseudo code block to illustrate how our system works. Some comments have been added to highlight that things coming and going from CPU1/CPU2 are independent of things coming and going from the CM. We think this distinction really can’t be emphasized enough, because it’s what sets our application’s needs apart from the web server architecture that seems to be implied in the TI examples/comments of Ethernet connectivity. Thank you for your help. We have a large investment in delfino based HW and FW design at this point over many years and so we need to get to the bottom of this. Mike // connection handler that gets hooked up to the NDK stack handleNetworkConnection(SOCKET s, Uint32 unused) { // the client has just connected--do some initial setup // once connected, we'll be sending data back and forth for quite a while while(true) { // NOTE: the clients are using industry-standard Berkeley socket implementations (Winsock and .NET) inDataLength = recv(s, inDataBuf, MAX_SIZE, 0); //configured with a short timeout if the connection is still active but not sending data if(connectionClosed) break; if(inDataLength != 0) processIncomingMessage(); // not tied to a particular response // CM's outbound traffic--may or may not be messages waiting to send outDataLength = getOutgoingMessagesCm(); if(outDataLength != 0) send(s, outDataBuf, outDataLength, 0); // CPU1's outbound traffic--may or may not be messages waiting to send outDataLength = getOutgoingMessagesCpu1(); if(outDataLength != 0) send(s, outDataBuf, outDataLength, 0); // CPU2's outbound traffic--may or may not be messages waiting to send outDataLength = getOutgoingMessagesCpu2(); if(outDataLength != 0) send(s, outDataBuf, outDataLength, 0); } // the client has disconnected--do some final cleanup }

Forum Post: RE: AM2432: Using MCU_GPIO interrupt from main domain

$
0
0
Hi Ming Wei Please see updated comments below

Forum Post: RE: TMS320F28379D: Time delay from ADC EOC to ADC interrupt execution

$
0
0
Somenath, Thanks for doing this, exactly what I wanted to see. As you have noted we are now seeing a larger time delay than before and what is expected, which is a bit surprising to be honest. After you hit the BP in the ADC ISR, can you open a dis-assembly window to see/confirm that we haven't executed any additional instructions? For the code placement, can you confirm the RAM addresses the code is executing from? I need to check to make sure all the RAM is 0WS on this device(I think it is), but this will help me narrow down if there are any concerns with that. Best, Matthew
Viewing all 232801 articles
Browse latest View live


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