Jump to content


  • Content Count

  • Joined

  • Last visited

Everything posted by Optronik

  1. I was trying to make an accurate measurement of the internal temperature sensor (MSP430G2553). For this the ADC calibration values are stored in the Info Memory, also called TLV. To pick the right value first the tag needs to be searched and then a location based on an index array is calculated. Investigating this matter I browsed through the register definition file of CCS and found that not only the ADC calibration is stored in such a way but also the clock calibration. However, when using the clock calibration I have never seen a program going through the process of searching the info m
  2. Yes, this is what I did after I figured the problem out. There are other online calculators. They give you a numeric value that end up in the same problem I had. If one is as stupid as I was and using the value as a register content then it will not work reliably.
  3. Oh sh**!, I just realized that I used the value from the datasheet table directly. But the UCA0MCTL register is placing the value at an other position. UCA0MCTL: UCBRFx [7:4], UCBRSx [3:1], UCOS16 [0] Baud rate table: UCBRx = 208 = 0x00, 0xD0 UCBRSx = 3 = 0b011 UCBRFx = 0 UCA0MCTL: 0000,011,0 = 0x06
  4. I am currently working on a project that is transferring data to a host computer via UART. Standard baud rate is 9600bps, UART is clocked with SMCLK 8MHz (using calibrated DCO values). I am not using the launchpad, the MSP430 is connected to the computer by a Prolific serial to USB converter. So far so good. To speed up the data transfer I implemented the feature to increase the baud rate by a command send from the computer. Target idea was to change from 9600 to 38400. It did not work, the MSP430 changed the baud rate but the PC could not identify the characters (I changed the baud rate o
  5. I will try that. The fall back does probably not happen because ACLK is used with the crystal. The fall back seems only happen for MCLK.
  6. I am currently working on a project that uses the external crystal for the watchdog timer and the internal DSO clock for all other tasks. The crystal is 32kHz. The watchdog timer interrupt is taking care of controlling the state machine in the main loop. At first sight everything looks ok. However, after a while (hours later) the controller (MSP430G2553) appears to be stuck. Closer investigation show that this is due to the watchdog timer interrupt not served, means that the 32Khz clock is not present. I already tried to play with the XTAL capacitor settings to no effect. I am wonderi
  7. I updated CCS from v5.5 to v6. I thought all existing projects and settings are migrated. However, after installing v6 I found now that a) both versions are now on my computer; v6 has not took over settings from the previous version and does even not detect the existing projects. Have I missed something or is there simply no way?
  8. @@KatiePier thanks for this info. I choose the G2553 because of the compact package/pincount plus UART+SPI capability. FR2933 is a bit oversized. I will stay with DCO for now, just hoping that the UART issue is solved. Do you know at what temperature the DCO calibration values are measured?
  9. Well, it might be a TI thing but the description of controller features is rather confusing. Looking at the device specific datasheet I get a brief overview on the first page, followed by the phrase "For Complete Module Descriptions, See the MSP430x2xx Family User
  10. Does someone know if there is an overview of MSP430 controllers and their modules (e.g. ADC12, BOR, SVS, ...) available? I was surprised to find out that for example the MSPG2553 has no SVS even though this is listed in the family user guide. So it would be great to have a spreadsheet showing all controllers and the present modules of each. I did already search for it but could not find anything useful beyond the standard I/O pin, flash memory, etc. tables.
  11. Thanks for pointing me to the MSPdebug. It looks like that works also with the Launchpad as programming hardware. Need to investigate this further. MSP-FET is to expensive since in some cases I want to give a programmer to a customer.
  12. I used to work with AVR a lot and are now converting some projects to MSP430. On the AVR I used a software called AVRdude together with a simple parallel port interface. A hex file was loaded into the tool which is programmed to the controller soldered into the target application. Also fuse bit's could be set, flash memory erased and checksums verified. This worked very efficient. 50 controllers could be programmed in less than an hour, AVRdude was running from the command line and working in batch-mode. Now on the MSP430 (in particular G2553) I am wondering if a similar tool/toolchain
  13. I am using a Prolific USB to serial cable in order to communicate with the computer. However, the MSP430 will not only communicate with the computer in the final project, it will also communicate with a GPS sensor (which also transmits at 9600 baud). So since I encountered already issues with the connection to the PC it is quite likely the same problem goes on with the GPS. Bad thing here is that it may remain undetected. The issue was not like just one character was missing/wrong, the whole bit flow seemed to be shifted so that the PC/Prolific chip could not resync.
  14. Thanks for looking into this. However, I just checked what settings I used in my code. UCA0MCTL was loaded with 0x06 when the issue got present. I just took a look at table 15-2 to find the 0x4A relation to UCBRS=3. I might be blind but I can not see how this should correlate: 0x4A = 01001010 UCBRS=3 : 01010100 As a temporary fix I changed BRCLK to DSO generated clock. I will see if that improves the situation.
  15. Well, there is a nice document explaining how to calculate the correct modulator value: http://www.win.tue.nl/~johanl/educ/RTcourse/MSP430%20UART.pdf According to this (page 14, table 2) the modulator value should be 0x4A for ACLK 32768Hz and baud rate 9600. Looking into the G2553 datasheet (http://www.ti.com/lit/ug/slau144j/slau144j.pdf), chapter 15.4.5, shows the modulator register. Bit 0 is UCOS16 which should be 0 for low frequency mode (per section Low-Frequency Baud Rate Generation). Bits 4-7 are ignored if UCOS16 is 0. This leaves bits 1-3 for possible modulatio
  16. I did some more research on that topic. Apparently is the MSP430G2553 not like other MSP430 able to do the required modulation for 9600 baud. Reason is that the modulation register only allows a reduced number of modulation options. Options are so far are: - reduce to 4800 baud (modulation on G2553 seems to work here) - use 38.400kHz instead of 32.768khz crystal - use DCO which can be calibrated in system by using accurate 32.768Khz crystal as reference I am still wondering why the LFXT can not be used as an input for the DCO. This would resolve some other issues as well.
  17. I am using a MSP430G2553 and communicate with it to a PC using the UART interface. The baud rate is 9600. For accuracy reasons (sic) I selected ACLK clocked by an external 32.768kHz crystal to provide the clock for the UART module. Well, it worked until recently the PC was not recognizing the sent characters. A bit of research showed that the baud rate error in that configuration is quite significant (20%). Now the idea was to use a higher frequency to clock the UART in order to minimize the baud rate error. Well, I was all the time under the assumption that the DCO can use the external cryst
  18. Have started to play with the MSP430G2553 which also involves flash programming. According to the datasheet the segments A-D are the information memory. Segment A is reserved for the controllers calibration values. Reading the content of segment A (0x10C0-0x10FF) indeed shows some data other than blank 0xFF. So far so good. Based on this I decided to use segment D (0x1000 - 0x103F) for my purposes. To my surprise reading this address range of a new unused controller also shows some data already stored here. I am now unsure if I can use this address range without any impact to the controlle
  • Create New...