EmbeddedRelated.com
Forums
Memfault Beyond the Launch

I2C Interface for MSP430

Started by sundar_1984 December 7, 2006
Hi all,

I am using MSP430F1121A on my board and its is connected on the I2C bus. I
need to validate the I2C on board on CCS platform without any drivers. I am
able to test the I2C for a Video Decoder, aslo on board by sending the
addresses of the device as well as the registers that i want to read.
However i dont get anything like this for MSP430. all i know is the MSP430
is programmed its address as 0x58 but i dont get any clue as to which
register to read and validate my I2C. 

Folks please help me out....

On Thu, 07 Dec 2006 09:47:03 -0600, "sundar_1984"
<sunder.svit@gmail.com> wrote:

>Hi all, > >I am using MSP430F1121A on my board and its is connected on the I2C bus. I >need to validate the I2C on board on CCS platform
What is a CCS platform? I do know that CCS is one of the PIC C compilers available, but the notion of a compiler platform in this context doesn't seem appropriate.
>without any drivers.
Drivers? Again, an odd context. Device drivers? Physical layer I/O (hardware) drivers?
>I am >able to test the I2C for a Video Decoder, aslo on board by sending the >addresses of the device as well as the registers that i want to read.
Addresses of the device? What device, the Video Decoder device?
>However i dont get anything like this for MSP430.
The MSP430 is a microcontroller, not a Video Decoder. If you are expecting it to act like one, you must program it with firmware to be so.
>all i know is the MSP430 >is programmed its address as 0x58 but i dont get any clue as to which >register to read and validate my I2C.
The MSP430 is a microcontroller. It has master and slave I2C capabilities. As a slave, it does not automatically take on the personality of some slave device that might be familiar to you. You must program it with firmware to add its slave personality and whatever 'register' abstraction you like. -- Dan Henry
>On Thu, 07 Dec 2006 09:47:03 -0600, "sundar_1984" ><sunder.svit@gmail.com> wrote: > >>Hi all, >> >>I am using MSP430F1121A on my board and its is connected on the I2C bus.
I
>>need to validate the I2C on board on CCS platform > >What is a CCS platform? I do know that CCS is one of the PIC C >compilers available, but the notion of a compiler platform in this >context doesn't seem appropriate. > >>without any drivers. > >Drivers? Again, an odd context. Device drivers? Physical layer I/O >(hardware) drivers? > >>I am >>able to test the I2C for a Video Decoder, aslo on board by sending the >>addresses of the device as well as the registers that i want to read. > >Addresses of the device? What device, the Video Decoder device? > >>However i dont get anything like this for MSP430. > >The MSP430 is a microcontroller, not a Video Decoder. If you are >expecting it to act like one, you must program it with firmware to be >so. > >>all i know is the MSP430 >>is programmed its address as 0x58 but i dont get any clue as to which >>register to read and validate my I2C. > >The MSP430 is a microcontroller. It has master and slave I2C >capabilities. As a slave, it does not automatically take on the >personality of some slave device that might be familiar to you. You >must program it with firmware to add its slave personality and >whatever 'register' abstraction you like. > >-- >Dan Henry >
>What is a CCS platform?
CCS is an IDE for working on a host of TI DSPs and SoCs and other related CPUs. The CCS works on a small real-time kernel called the DSP-BIOS.
>Drivers?
U have an I2C driver available for TI DSP DM642. Now that driver is structured according to the framework specified according to DSP-BIOS. But i dont want to use a driver for its going to add a lot of bytes to my already burgeoned outfile/executable. I want to use a small application that accesses the registers and gets the things done. DSP-BIOS does not have an abstraction like kernel space and user space. SO my application can easily access the registers and get going. Addresses of the device? The address of the MSP430 is programmed to be 0x58. Now the Video Decoder has a set of read only registers that i can read thru the I2C bus and get the values checked; and that allows me to validate the I2C for the Video Decoder. I want to emulate the same for MSP430 and AIC23(which is a read only device). I hope i make things clearer
On Fri, 08 Dec 2006 00:38:27 -0600, "sundar_1984"
<sunder.svit@gmail.com> wrote:

>>On Thu, 07 Dec 2006 09:47:03 -0600, "sundar_1984" >><sunder.svit@gmail.com> wrote: >> >>>Hi all, >>> >>>I am using MSP430F1121A on my board and its is connected on the I2C bus. >I >>>need to validate the I2C on board on CCS platform > >>What is a CCS platform? >CCS is an IDE for working on a host of TI DSPs and SoCs and other related >CPUs. The CCS works on a small real-time kernel called the DSP-BIOS.
The MSP430F1121A datasheet does not show the device having I2C, so I can only assume that you're bit-banging I2C.
>>>without any drivers. >> >>Drivers? >U have an I2C driver available for TI DSP DM642. Now that driver is >structured according to the framework specified according to DSP-BIOS. But >i dont want to use a driver for its going to add a lot of bytes to my >already burgeoned outfile/executable. I want to use a small application >that accesses the registers and gets the things done. DSP-BIOS does not >have an abstraction like kernel space and user space. SO my application >can easily access the registers and get going.
Since you're bit-banging I2C, you can implement whatever kind of API you want. It doesn't have to be a 'formal' open/close/read/write driver.
>>>I am >>>able to test the I2C for a Video Decoder, aslo on board by sending the >>>addresses of the device as well as the registers that i want to read. >> >>Addresses of the device? What device, the Video Decoder device? >> >Addresses of the device? >The address of the MSP430 is programmed to be 0x58. Now the Video Decoder >has a set of read only registers that i can read thru the I2C bus and get >the values checked; and that allows me to validate the I2C for the Video >Decoder. I want to emulate the same for MSP430 and AIC23(which is a read >only device).
Your software can implement whatever kind of 'register' abstraction you need. It's all up to you. -- Dan Henry
>On Fri, 08 Dec 2006 00:38:27 -0600, "sundar_1984" ><sunder.svit@gmail.com> wrote: > >>>On Thu, 07 Dec 2006 09:47:03 -0600, "sundar_1984" >>><sunder.svit@gmail.com> wrote: >>> >>>>Hi all, >>>> >>>>I am using MSP430F1121A on my board and its is connected on the I2C
bus.
>>I >>>>need to validate the I2C on board on CCS platform >> >>>What is a CCS platform? >>CCS is an IDE for working on a host of TI DSPs and SoCs and other
related
>>CPUs. The CCS works on a small real-time kernel called the DSP-BIOS. > >The MSP430F1121A datasheet does not show the device having I2C, so I >can only assume that you're bit-banging I2C. > >>>>without any drivers. >>> >>>Drivers? >>U have an I2C driver available for TI DSP DM642. Now that driver is >>structured according to the framework specified according to DSP-BIOS.
But
>>i dont want to use a driver for its going to add a lot of bytes to my >>already burgeoned outfile/executable. I want to use a small application >>that accesses the registers and gets the things done. DSP-BIOS does not >>have an abstraction like kernel space and user space. SO my application >>can easily access the registers and get going. > >Since you're bit-banging I2C, you can implement whatever kind of API >you want. It doesn't have to be a 'formal' open/close/read/write >driver. > >>>>I am >>>>able to test the I2C for a Video Decoder, aslo on board by sending
the
>>>>addresses of the device as well as the registers that i want to read. >>> >>>Addresses of the device? What device, the Video Decoder device? >>> >>Addresses of the device? >>The address of the MSP430 is programmed to be 0x58. Now the Video
Decoder
>>has a set of read only registers that i can read thru the I2C bus and
get
>>the values checked; and that allows me to validate the I2C for the
Video
>>Decoder. I want to emulate the same for MSP430 and AIC23(which is a
read
>>only device). > >Your software can implement whatever kind of 'register' abstraction >you need. It's all up to you. > >-- >Dan Henry >
Very Correct. And tis what i m saying.. that i would like to get my MSP430 device also goin the Video Decoder way. So is there any means as to help me add a read only register in the MSP430 device and assign it a default value that will enable me to only read the register value and validate the I2C for the MSP430 also??
On Tue, 12 Dec 2006 14:20:48 -0600, "sundar_1984"
<sunder.svit@gmail.com> wrote:

>>On Fri, 08 Dec 2006 00:38:27 -0600, "sundar_1984" >><sunder.svit@gmail.com> wrote: >> >>>>On Thu, 07 Dec 2006 09:47:03 -0600, "sundar_1984" >>>><sunder.svit@gmail.com> wrote: >>>> >>>>>Hi all, >>>>> >>>>>I am using MSP430F1121A on my board and its is connected on the I2C >bus. >>>I >>>>>need to validate the I2C on board on CCS platform >>> >>The MSP430F1121A datasheet does not show the device having I2C, so I >>can only assume that you're bit-banging I2C. >> >>Since you're bit-banging I2C, you can implement whatever kind of API >>you want. It doesn't have to be a 'formal' open/close/read/write >>driver. >> >>Your software can implement whatever kind of 'register' abstraction >>you need. It's all up to you. >> >Very Correct. And tis what i m saying.. that i would like to get my MSP430 >device also goin the Video Decoder way. So is there any means as to help me >add a read only register in the MSP430 device and assign it a default value >that will enable me to only read the register value and validate the I2C >for the MSP430 also??
Implementing a slave entirely in software is challenging enough that I think you could skip the read-only register abstraction altogether. If you can get a slave implementation that merely reads, recognizes, and ACKs its address, then you'd be quite far along toward your goal. -- Dan Henry
>On Tue, 12 Dec 2006 14:20:48 -0600, "sundar_1984" ><sunder.svit@gmail.com> wrote: > >>>On Fri, 08 Dec 2006 00:38:27 -0600, "sundar_1984" >>><sunder.svit@gmail.com> wrote: >>> >>>>>On Thu, 07 Dec 2006 09:47:03 -0600, "sundar_1984" >>>>><sunder.svit@gmail.com> wrote: >>>>> >>>>>>Hi all, >>>>>> >>>>>>I am using MSP430F1121A on my board and its is connected on the I2C >>bus. >>>>I >>>>>>need to validate the I2C on board on CCS platform >>>> >>>The MSP430F1121A datasheet does not show the device having I2C, so I >>>can only assume that you're bit-banging I2C. >>> >>>Since you're bit-banging I2C, you can implement whatever kind of API >>>you want. It doesn't have to be a 'formal' open/close/read/write >>>driver. >>> >>>Your software can implement whatever kind of 'register' abstraction >>>you need. It's all up to you. >>> >>Very Correct. And tis what i m saying.. that i would like to get my
MSP430
>>device also goin the Video Decoder way. So is there any means as to help
me
>>add a read only register in the MSP430 device and assign it a default
value
>>that will enable me to only read the register value and validate the
I2C
>>for the MSP430 also?? > >Implementing a slave entirely in software is challenging enough that I >think you could skip the read-only register abstraction altogether. If >you can get a slave implementation that merely reads, recognizes, and >ACKs its address, then you'd be quite far along toward your goal. > >-- >Dan Henry >
why is that so??
On Fri, 15 Dec 2006 12:06:48 -0600, "sundar_1984"
<sunder.svit@gmail.com> wrote:

>>On Tue, 12 Dec 2006 14:20:48 -0600, "sundar_1984" >><sunder.svit@gmail.com> wrote: >> >>>>On Fri, 08 Dec 2006 00:38:27 -0600, "sundar_1984" >>>><sunder.svit@gmail.com> wrote: >>>> >>>>>>On Thu, 07 Dec 2006 09:47:03 -0600, "sundar_1984" >>>>>><sunder.svit@gmail.com> wrote: >>>>>> >>>>>>>I am using MSP430F1121A on my board and its is connected on the I2C >>>bus. >>>>>I >>>>>>>need to validate the I2C on board on CCS platform
... snip ...
>>>Very Correct. And tis what i m saying.. that i would like to get my >MSP430 >>>device also goin the Video Decoder way. So is there any means as to help >me >>>add a read only register in the MSP430 device and assign it a default >value >>>that will enable me to only read the register value and validate the >I2C >>>for the MSP430 also?? >> >>Implementing a slave entirely in software is challenging enough that I >>think you could skip the read-only register abstraction altogether. If >>you can get a slave implementation that merely reads, recognizes, and >>ACKs its address, then you'd be quite far along toward your goal.
>why is that so??
You have said that you have a requirement to validate the I2C (bus). Which "that"; why software slave implementations are challenging or why you could skip register abstractions for the purpose of bus validation? -- Dan Henry

Memfault Beyond the Launch