This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS/MSP430F5529: MSP430F5229, LMX2595

Part Number: MSP430F5529
Other Parts Discussed in Thread: LMX2595, USB2ANY

Tool/software: Code Composer Studio

Hi sir

1) In my application I am using LMX2595 IC to generate a frequency of 17Ghz over a bandwidth of 200Mhz. Now in order to achieve this we need to program the fractional divider which is in feedback path of VCO and phase detector. I had found that in the evaluation board of LMX2595 the TI had used MSP430F5529 controller. The data which we obtain from the TICS pro software is 24 bit long but the registers available in MSP430F5529 are 16 bit. Can I use two 16 bit controllers to load this data. If yes please let me know how do we interface these two controllers to work it as 32 bit.    

  • Short answer: The CPU in the MSP430 is 16-bit, but has no particular trouble working with 32-bit quantities. In C, one would declare the variable "uint32_t" or "unsigned long" (constants should be declared with a "UL" suffix) and the compiler takes care of the rest. 

    Since the LMX2595 is controlled using SPI (8-bit), you'll have to serialize longer values. (This would be true of any MCU with an 8-bit SPI.) The byte ordering would be specified by the slave -- for the LMX2595 it appears that the high-order byte is sent first [Ref data sheet (SNAS736C) Fig 1].

    That said: I don't see any 24-bit registers in Table 24. The first paragraph of Sec. 7.5 describes the transaction, which is 24 bits -- 1-bit R/W, 7-bit register, 16-bit value. Is this what the PC software is giving you? If so, just serialize the values according to Fig 1 (or Fig 2 if appropriate).

    I also don't see an MSP430, in the EVM user guide (SNAU219), either in the photos  or the (fragmentary) schematics. Is it on the Reference Pro board? The USB2Any? It would be useful to know where it fits in the overall system.

  • thanks for the reply sir,

    1) The values which we obtain from the TICS pro software are to be loaded in the controller. Now to achieve this we need to program the controller with different set of values to perform the desired operation. I haven't found any dedicated memory space allotted to the registers and are not defined such as VCO2X_EN,OUTx_PWR etc. where do I find these registers. Do these registers available in LMX2595 IC. 

    2) To perform the LMX2595 for desired operation as per the design we need to load the register values in the controller. So, can I get any help over there how to perform this kind of operations with respect to programming point of view.

    3) TEXAS INSTRUMENTS suggested me to use MSP430F5529 controller for the specified application. I don't know what they have used in the evaluation board.   

    Thanks in advance

  • [Disclaimer: I don't have an LMX2595. I only know what I read in the data sheet.]

    1) What I imagine is software in the MSP430 which contains an array of 79x 24-bit "magic" constants, which you populate using the output from TICS Pro. You haven't told me what those look like, but it may be possible to automate this. The MSP430's sole job might be to load each item (register) in the array over the SPI, then sleep until someone Resets the board. (One can imagine embellishments.)

    The interpretation of these constants can be found in data sheet (SNAS736C) Table 24. VCO2X_EN, e.g. is bit 0 of register R27. Per Table 23, you need to load all of R0-R78.

    If you need to actually manipulate specific bits, I suspect (I haven't found any sample code) you'll need to define e.g. "R27=27" and "VCO2X_EN=(1 << 0)" yourself.

    2) The form of Table 24 (and I suspect the output from TICS Pro) is the actual bit-sequence you need to set each register. Each would be a 3-byte SPI transaction. I can't write the code for you, but SPI examples are available in Resource Explorer and on the msp430F5529 Product page.

    3) I expect the msp430f5529 is quite adequate for this task. In the absence of sample code (a bit of a gap there if you ask me) you'll probably have to write the code yourself. On the other hand, what I've described is maybe 30 lines of code + the constant table.

  • Sir,

    1) With respect to programming point of view we need to include the header file of msp430 and stop the watch dog timer. later on do I need to just load the register values by just forcing the 24 bit which has 1 bit r/w, 7 bit address and 16 bit data which I get from TICS pro software. Does it works or else do  need to use the msp430f5529 in master mode. as far as my knowledge I think that just of forcing the values in the registers, but the problem is that there are no set of registers available named as R0,R1.........R78. Do I need to make use of the ports available in the msp430f5529 for this purpose?

    Do in need to run an infinite while loop, enabling the chip select and forcing the values in that loop and the do I need to use the command of spi.write(data) for loading the data and how do I specify the address in programming.

    2) Is there any software to check the code in keil,proteus other than ccs and iar workbench wherein they are used to evaluate only in the presence of hardware check the output

     

    Actually I am new to programming and msp430f5529 and have very less time to complete this project. So, any help will be greatly appreciated.

    Thanks in advance.

     

  • Hello singam,

    Here is an example project for SPI communication using MSP430F5529 as a SPI master and this should help you to get started as a reference.

    Thanks,

    Yiding

**Attention** This is a public forum