Hi,
I am Ashutosh from finisar malaysia. We are in optical communication.
We are using MOD5282 Netburner for our project. In that we are communicating our system via Ethernet to I2C communication.
Net burner has only one I2C channel. Now we want to speed up our system. can we communicate our system parallel via I2C media.
Can we use General purpose I/O of net burner? means can we communicate general purpose I/Os as a I2C channel?
What will be the hardware & software configuration for it?
Thanks,
Ashutosh
MOD 5282
Re: MOD 5282
Depending on your layout and resources used the MOD54415 is a great substitution with 5-6 I2C channels. It's also cheaper than the MOD5282.
Re: MOD 5282
You can definitely bit bang the i2c port. Here is a link to a wiki page on how to do it, and there are some external links to some source for other platforms that you might be able to use as an example: http://en.wikipedia.org/wiki/Bit_banging
Re: MOD 5282
Hi all,
Thanks for reply.
Please go through the attach ckt. I had connected GPIO to i2c bus by disconnecting i2c port of net-burner. but my code is not communicating to the board.
As my board is working on 3.3V. there is a pullup of 5k on i2c lines. i measure the voltage on both line is 1.54V. by disconnecting the GPIO then i found 3.3V.
so i found that the voltage on GPIO is 1.54V. is there any requirement of hardware changes or i have to configure my port in software?
Thanks for reply.
Please go through the attach ckt. I had connected GPIO to i2c bus by disconnecting i2c port of net-burner. but my code is not communicating to the board.
As my board is working on 3.3V. there is a pullup of 5k on i2c lines. i measure the voltage on both line is 1.54V. by disconnecting the GPIO then i found 3.3V.
so i found that the voltage on GPIO is 1.54V. is there any requirement of hardware changes or i have to configure my port in software?
- Attachments
-
- ckt
- BD.png (26.25 KiB) Viewed 6050 times
Re: MOD 5282
Hi All,
One more thing which we need to take in our concern..........we want to implement I2C clock stretching at some perticular conditions thats why we have to use our MOD 5282's GPIO for I2C communication
Our problem very simple as mentioned in above circuit posted by Ashitosh........If we connect our local I2C to MOD5282's GPIO then NBEclipse is not able to detect the netburner even computer LAN is connected!!!
Is we need any hardware change please advice?
One more thing which we need to take in our concern..........we want to implement I2C clock stretching at some perticular conditions thats why we have to use our MOD 5282's GPIO for I2C communication
Our problem very simple as mentioned in above circuit posted by Ashitosh........If we connect our local I2C to MOD5282's GPIO then NBEclipse is not able to detect the netburner even computer LAN is connected!!!
Is we need any hardware change please advice?
Re: MOD 5282
Your shorting something out, and maybe the module 3.3V is being pulled down which is why you don't see it any more. Which pins are you using for gpio? Where are the pull-ups? Is there anything else driving the lines?
Re: MOD 5282
Hi,
Now we have got the 3.3V on ports no other issue. Ports are free only pull up is there & very near to pin. we are tried for different ports like D28 & D30 / A2 & A5 for SDA & SCL lines resp.
We had taken out the i2c bus from main lines & connect the GPIO still board is not detecting.
We had taken a fresh MOD5282 board & used only TCP/IP program still its not communicate.
Whether we have to configure the GPIO ports for I2C lines? Or we need extra hardware to communicate with it.
As i explained in above diagram our system is there. Please advise us.
Thanks.
Ashutosh
Now we have got the 3.3V on ports no other issue. Ports are free only pull up is there & very near to pin. we are tried for different ports like D28 & D30 / A2 & A5 for SDA & SCL lines resp.
We had taken out the i2c bus from main lines & connect the GPIO still board is not detecting.
We had taken a fresh MOD5282 board & used only TCP/IP program still its not communicate.
Whether we have to configure the GPIO ports for I2C lines? Or we need extra hardware to communicate with it.
As i explained in above diagram our system is there. Please advise us.
Thanks.
Ashutosh
Re: MOD 5282
I don't quite understand your last post, but here is one thing you might try. It seems that you have having voltage/short/gpio problems of various kinds.
Pick any 2 pins that can be used as GPIO and are not connected to anything.
Write a small program that does nothing else other than configure these 2 pins as GPIO and toggle them. The application wizard in nbeclipse is a good way to create such a program.
Connect a scope and verify they are toggling at the frequency you programmed them for, and that the voltages go from 0 to 3.3V. You can do something simple like write them high, call OSTimeDly( 1 ), write them low, call OSTimeDly(1) in a while (1) loop.
Once that works, write your bit bang I2C code and verify it works on those same 2 gpio pins. You verify it works first by looking at the signals on a scope and making sure they match the I2C spec.
Now you can either connect a I2C device to those same 2 gpio, or modify the program you just wrote to use 2 other gpio signals. But only connect to one I2C device to keep things simple at first.
Pick any 2 pins that can be used as GPIO and are not connected to anything.
Write a small program that does nothing else other than configure these 2 pins as GPIO and toggle them. The application wizard in nbeclipse is a good way to create such a program.
Connect a scope and verify they are toggling at the frequency you programmed them for, and that the voltages go from 0 to 3.3V. You can do something simple like write them high, call OSTimeDly( 1 ), write them low, call OSTimeDly(1) in a while (1) loop.
Once that works, write your bit bang I2C code and verify it works on those same 2 gpio pins. You verify it works first by looking at the signals on a scope and making sure they match the I2C spec.
Now you can either connect a I2C device to those same 2 gpio, or modify the program you just wrote to use 2 other gpio signals. But only connect to one I2C device to keep things simple at first.