Jump to content
43oh

zeke

Members
  • Content Count

    1,782
  • Joined

  • Last visited

  • Days Won

    102

Reputation Activity

  1. Like
    zeke reacted to Sterny in Questions on SFP transceivers in hobbyist projects.   
    @@spirilis,
     
    Heh - yeah, SFP Boosterpack's - for when you need to talk to a MCU 300 meters away!  
     
    I guess though, maybe one practical application would be a SFP tester, or maybe even a cable tester.  But of course there are many products already out there that do that.
     
    For me though, it's the journey I'm interested in, and as this technology is related to what I do for living, dipping my toe in a bit deeper couldn't hurt.  Plus, this type of media is where everything is at when it comes to device to device connectivity.  Copper throughput and distance limitations are pretty prohibitive unless you're attaching to the top of the rack.  
     
    v2 will support QSFP's.  
     
    Thanks again for all the response.
     
    -Sterny
  2. Like
    zeke got a reaction from spirilis in Questions on SFP transceivers in hobbyist projects.   
    @@Sterny,
     
     
     
    I did a lot of work with SFPs from COTSworks. They take SFPs from other vendors and ruggedize them for aeronautics, military and industrial applications. There's no one else that I know of that does this.  That said, I chose to use their SFF-2G-SX-DPLX-LC-R-A SFP module. The datasheet is right there on the page.
     
    Additionally, I studied everything I could on LVDS, PECL, and other differential signalling standards. Here's a couple of links:
    LVDS Fundementals - Fairchild AN-5017 Interface Guide - Texas Instruments Board Design Guidelines for LVDS Systems - Altera I bring up the above links because you will soon discover that the differential interface is not the same between all SFPs. Some are LVDS, others are PECL and others something else weird.  It's a small detail that is only discovered after you bought a few samples that you can't use >:-(
     
    I faced the above challenge because I ended up using SFF modules which are not exactly the same as SFP modules. An SFF has pins and solders into a pcb.
     
    Here's an excellent summary of SFP characteristics.
     
    The SFP manufacturer that I turn to first is always Finisar. In my world, they are the largest manufacturer of SFPs. I would bet money that Cisco and JDSU get theirs made by Finisar.  I know that COTSworks sometimes ruggedizes a particular Finisar module when their customer requests it.
     
    Here's how I classify SFP modules:
    - Glass:  Singlemode or Multimode?
    - Colour:  1310/1550 nm vs 850/1300 nm?
    - Data rate: OC1/3/12/24/48/192/768 ?
    - Distance: practically infinite (SM) vs 2000/550/220m (MM)
    - Cost: SM is usually two to four times the cost of MM electronics
     
     
    For fun, here are a couple of videos on fiber optics that I think are fantastic:
    The Engineer Guy - Fiber optic cables: How they work The Discovery Channel - How's It's Made: Fiber Optics  
    Back to circuitry...
     
    Here is the Finisar FTLX1371D3BCL transceiver datasheet.  It is stuffed with plenty of details that will help you design an interface for it. Look on page 10. There's your basic interface. There are two sections: Signalling and Control.
     
    The Control interface is power, I/O and I2C. All low speed stuff.
     
    The Signalling interface is filtered power, RX and TX. 
     
    You have to translate your single ended signal into an LVDS differential signal. You could make use of an SN65LVDS050-Q1 since it contains two RX/TX pairs. 
     
    Keep this app note from TI on LVDS Interface circuits.
     
    I hope this helps to get the ball rolling.
  3. Like
    zeke got a reaction from yyrkoon in Questions on SFP transceivers in hobbyist projects.   
    Hi @@Sterny,
     
    In my opinion, this is not a fool's errand. Just keep this in mind. You can use SFP modules wherever you might use an optocoupler.
     
     
    I personally have integrated SFPs into a large scale data recorder system for the seismic industry. I had to attached them to large FPGAs.  The interface between the SFP module and the FPGA was a high speed LVDS bus that operated in the 3V range. 
     
    Additionally, there is an I2C interface on every SFP module. It's the Digital Diagnostic Interface and programming port. You can get a ton of data out of it. Check out a document called SFF-8472 for more details.
     
    I have no doubt that you could get them to run between two MSP430s using a low speed data link. You would have to design an LVDS interface circuit but that shouldn't be too hard. 
     
    There is a typical application schematic on page 5 of that datasheet you referenced. You can implement most of that and it ought to work.
      The protocol between the two SFP modules would take some thought. Typically, there is a heartbeat signal transmitted on the fiber to tell both ends that the link is still up.
     
    Also, the protocol is usually 8B10B encoded. This prevents too many 1s or 0s from being transmitted in a row. The receiving end can lose sync if a large number of 1s or 0s are transmitted. I would be inclined to try out the hardware with no concern for 8B10B encoding because the data rate of an MSP430 will never get close enough to cause problems. If, after the tests, data is dropped then I would implement the encoding protocol.
     
     
    I really want to design and to create a full duplex fiber optic talk set using SFP modules. I'm working on this idea in my spare time so that isn't a lot of time typically. These days, I do more teaching about SFPs than I do using them. My company teaches people how to work with fiber optics and I am the chief instructor.
     
    Whatever you do, just remember that you're doing it for fun! :-)
     
     
  4. Like
    zeke got a reaction from tripwire in Questions on SFP transceivers in hobbyist projects.   
    Hi @@Sterny,
     
    In my opinion, this is not a fool's errand. Just keep this in mind. You can use SFP modules wherever you might use an optocoupler.
     
     
    I personally have integrated SFPs into a large scale data recorder system for the seismic industry. I had to attached them to large FPGAs.  The interface between the SFP module and the FPGA was a high speed LVDS bus that operated in the 3V range. 
     
    Additionally, there is an I2C interface on every SFP module. It's the Digital Diagnostic Interface and programming port. You can get a ton of data out of it. Check out a document called SFF-8472 for more details.
     
    I have no doubt that you could get them to run between two MSP430s using a low speed data link. You would have to design an LVDS interface circuit but that shouldn't be too hard. 
     
    There is a typical application schematic on page 5 of that datasheet you referenced. You can implement most of that and it ought to work.
      The protocol between the two SFP modules would take some thought. Typically, there is a heartbeat signal transmitted on the fiber to tell both ends that the link is still up.
     
    Also, the protocol is usually 8B10B encoded. This prevents too many 1s or 0s from being transmitted in a row. The receiving end can lose sync if a large number of 1s or 0s are transmitted. I would be inclined to try out the hardware with no concern for 8B10B encoding because the data rate of an MSP430 will never get close enough to cause problems. If, after the tests, data is dropped then I would implement the encoding protocol.
     
     
    I really want to design and to create a full duplex fiber optic talk set using SFP modules. I'm working on this idea in my spare time so that isn't a lot of time typically. These days, I do more teaching about SFPs than I do using them. My company teaches people how to work with fiber optics and I am the chief instructor.
     
    Whatever you do, just remember that you're doing it for fun! :-)
     
     
  5. Like
    zeke got a reaction from PTB in One Wire Controller booster   
    I made some time tonight to put together two boards for my One Wire datalogger system.
     
    They are the data sources for the Hydra datalogger board so I figured that I should come up with silly names for them. 
     
    Since the Hydra has eight ports, I decided that it needed some tentacles to complete the metaphor.
     
    I present to you The Tentacle TH and DS.
     
    The Tentacle TH uses the MAX31850K to read K type thermocouples.
    The Tentacle DS uses the DS18B20 in SOIC8 and TO92 flavours. It also has a three pin terminal block for off board sensors.
     



         
  6. Like
    zeke reacted to Antscran in Code composer Studion Graphing Tool Tutorial   
    Hi all,
     
    Just made a tutorial both written and video on how to use the graphing tool built into Code Composer Studio.  I meant to do this awhile back just not had the time until now, hope it proves of some use.
     
    http://coder-tronics.com/code-composer-studio-graphing-tool-tutorial/
     
    https://youtu.be/-iGnh0_9YxE
     
    Cheers,
    Ant
  7. Like
    zeke got a reaction from tripwire in How to solder HTSSOP heatsink without reflowing the board?   
    I have resurrected over 75 boards at work by carefully using a 1200 Watt hot air paint stripper to remove and re-install 288 ball BGA packages. 
     
    The key is to heat and cool the board evenly over a controlled amount of time.
     
    Burnt FR4 is a nasty smell.
  8. Like
    zeke got a reaction from abecedarian in How to solder HTSSOP heatsink without reflowing the board?   
    I have resurrected over 75 boards at work by carefully using a 1200 Watt hot air paint stripper to remove and re-install 288 ball BGA packages. 
     
    The key is to heat and cool the board evenly over a controlled amount of time.
     
    Burnt FR4 is a nasty smell.
  9. Like
    zeke got a reaction from spirilis in How to solder HTSSOP heatsink without reflowing the board?   
    I have resurrected over 75 boards at work by carefully using a 1200 Watt hot air paint stripper to remove and re-install 288 ball BGA packages. 
     
    The key is to heat and cool the board evenly over a controlled amount of time.
     
    Burnt FR4 is a nasty smell.
  10. Like
    zeke got a reaction from bluehash in MSP-EXP430FR6989   
    I bet there will be some sort of discount when they officially announce this new LP. 
     
    I have noticed that TI does this regularly.
  11. Like
    zeke got a reaction from Rickta59 in "Your Ideas are Worthless"   
    Hi Guys,
     
    I watched this Sean McCabe video today
     
    Your ideas are Worthless
      I thought it would be encouraging to all you Idea People out there.
     
    So, what are you making today?
     
     
  12. Like
    zeke got a reaction from bluehash in The Marquee Clock   
    As far as the processor goes, I was thinking of using this module for fun.
     

     
     
  13. Like
    zeke got a reaction from abecedarian in The Marquee Clock   
    As far as the processor goes, I was thinking of using this module for fun.
     

     
     
  14. Like
    zeke got a reaction from abecedarian in The Marquee Clock   
    @@abecedarian
     
    Yes, Good idea.  I pondered that as well over the weekend. 
     
    But then I realized that I could buy a 144 per meter APA102 LED strip, cut them apart, then solder them back together with the spacing that I desire (9.7mm between LEDs).
     
    I'll probably do this for prototyping.
     
     
     
     
     
     
     
     
  15. Like
    zeke reacted to jazz in MSP430F550x based logic analyzer   
    Firmware is done for MSP430F5510, but it should work with any MSP430 USB device. First byte in firmware txt file is XT2 frequency (default 24 MHz, 18h), and it can be changed manually before flashing to requested XT2 value. Supported XT2 values are 4, 6, 8, 12, 16, 18, 24, 25, 26.
     
    At start, it will be checked is it everything OK with setup, and after enumeration, LED on P4.7 (5529 LP LED2) will turn on. Blinking LED is related to setup error. Device will be enumerated as CDC with name 'LA', VID 2047h and PID 099Fh.
     
    PC side is done in Lazarus 1.4.0 (http://www.lazarus-ide.org), under Win32, but it should work also on Linux. By scroll bar on left down side can be selected port.
     

     
    After port is open, right down side will be enabled, together with "Measure" button. Blinking LED is indication for data exchange (2 bytes ping pong, every second) between micro and PC.
     

     
    P1 is used as logic analyzer input. Measurement is triggered by PC side, pressing "Measure" button. It also can be triggered by P2 on micro side, P2.0 with high level, and P2.1 (S1 button on 5529 LP) with low level.
     

     
    Chart used for result presentation have zoom possibly. "Reset" button will zoom out to start up screen. Here is example of measured 1 MHz signal on P1.2.
     

     
    Firmware: la_frm.zip
    CDC Win driver: la_cdc.zip
    PC source: la_source.zip
    PC Win Exe:la_win_exe.zip
  16. Like
    zeke reacted to yyrkoon in Debian / Linux tip: use netcat.   
    Recently I was faced with a problem where I had to create a logfile with lots of output, but did not want to touch flash media in order to do so. Normally I run NFS root, but for this I was testing a prebuilt image, and I did not want to setup an NFS share just for a one-off logfile dump. To be sure there are a few way to go about this, and I've already written off a one-ff share so. . . .
     
    sshfs is really nifty. In a pinch it it great for mounting a file system over an ssh tunnel. The only real problem with this is that I only had regular user permissions. Quite honestly though, even if I have root, or am in the sudoers file, I try to stay off root as much as possible.
     
    Enter netcat. WIthout getting too deep into the "guts" of netcat. netcat can be used ( preferably ) on a local network to "stream data" over ethernet  a network from one system to another. For transfers over a WAN ( e.g. the internet ) one would probably be best off using socat. Anyway . . . The gist is as follows . . .
     
    remote host to store the output:
    william@eee-pc:~$ nc -l -p 5000 > /home/william/test/test-kernel-4.1.x.log
     
    on the "local" system from which to get data from:
    debian@beaglebone:~$ candump -L -n 2000 can0,0:0,#FFFFFFFF | nc 192.168.XXX.XXX 5000
     
    So what we're doing here is - On the host we're listening on port 5000 for data, and redirecting it to a file we have permissions to. Then on the beagelbone we're "logging" 2000 "packets" from candump, and piping this "log file" to netcat. giving netcat the IP address, and port of the host. Although, you could replace candump with just about anything ( within reason of course ). Such as . . .
     
    cat /some/dir/file | nc $IP_ADDR $PORT
     
    And have it saved on the remote system . . . Anyway, I though this might come in handy for a few of you out there in the field. It's definately worked well for me.
  17. Like
    zeke reacted to abecedarian in The Marquee Clock   
    What if instead of having the LED's facing 'forward', they were wrapped around a tube of sufficient diameter, and faced 'outward' or perpendicular to the center of the clock, and had a ring of Lucite or other acrylic that directed the light towards the face of the clock?
     Something like:

    c |\ l f | \ o a | \ c c | \ k e | \ ^^^^^^ LED ------ tubeSeems it'd be easier / cheaper to make the Lucite / plexiglass ring than to do multi-segment PCB's.
  18. Like
    zeke reacted to Rei Vilo in Embedded Systems: Shape The World   
    Learning by doing doesn't provide the basics in a structured way and doesn't teach how to deal with a project and model it. More important, I don't even know what I don't know and what I know. 

    So I've enrolled for the UT.6.02x Embedded Systems - Shape the World.

    Even if it is based on C and uses Keil
  19. Like
    zeke got a reaction from RobG in MSP430 Nixie Clock   
    Yup. The thin vertical line is an absence of copper.
     
    I used red because I was just doing a quick fix.  
     
    The plan is to scrap off the solder mask and solder down a bridge across the gap and then cover it with something.
  20. Like
    zeke got a reaction from spirilis in MSP-EXP430FR6989   
    I bet there will be some sort of discount when they officially announce this new LP. 
     
    I have noticed that TI does this regularly.
  21. Like
    zeke got a reaction from spirilis in MSP-EXP430FR6989   
    Yeah, you're right. This one snuck up on us.
     
    It looks like the software examples for the FR6989 arrived on April 17th and the Quickstart guide arrived on April 20th.
     
    Sneaky TI'ers.
  22. Like
    zeke got a reaction from tripwire in Register to be eligible for a FREE FRAM MCU Dev Kit bundles courtesy of Avnet and TI   
    Yeah, this sounds like listening to shortwave radio from a foreign country.
     
    Sadly, there is no passion exhibited by the presenter. At least the radio preachers on shortwave slam the pulpit occasionally.
     
    I am playing dubstep and trance music for accompaniment.
  23. Like
    zeke got a reaction from oPossum in Easiest way to connect Launchpad to an Arduino?   
    I have helped out a client to connect an msp430g2553 to his arduino. He uses a 3 to 5 volt translator on the I2C bus. He's got it talking to the msp430 just fine. He's using Processing on the arduino side. He's using my code on the msp430.
     
    I echo the sentiment that working with the I2C master on the MSP is challenging. So much so that I wrote my own bit banged I2C master routines. 
     
    I have had a lot of success using the I2C peripheral in interrupt driven slave mode though. That's a relief.
     
    That being said, is it really a voltage mismatch that is causing the problems?
    What does the logic analyzer show when you are having problems?
    Is the slave in polled mode or interrupt I2C mode?
    Do you have a schematic that you can share?
    Are the grounds connected between the two boards?
     
    I agree with @@spirilis that a common voltage on the I2C bus would be best.
     
  24. Like
    zeke got a reaction from bluehash in Vibration causing chip reset?   
    It's completely possible that the design is just not robust enough to get a sandbag in the face for 12 hours.
     
    I do know know why the system needs to survive that kind of abuse. Can you tell us a story about that so we can understand?   In the meantime, how thick is that PCB?  I bet it's 0.062" thick and made out of FR4 material.     If I were designing that PCB then I would make it 0.125" thick with five mounting holes strategically placed at each corner and one in the middle. That way, the circuit would not flex due to resonant vibrations after each sandbag to the face. That's the way we did it when designing seismic recording electronics. Those products had to survive a 250 foot drop onto granite from a helicopter net.   Epic destruction.
  25. Like
    zeke got a reaction from spirilis in Vibration causing chip reset?   
    It's completely possible that the design is just not robust enough to get a sandbag in the face for 12 hours.
     
    I do know know why the system needs to survive that kind of abuse. Can you tell us a story about that so we can understand?   In the meantime, how thick is that PCB?  I bet it's 0.062" thick and made out of FR4 material.     If I were designing that PCB then I would make it 0.125" thick with five mounting holes strategically placed at each corner and one in the middle. That way, the circuit would not flex due to resonant vibrations after each sandbag to the face. That's the way we did it when designing seismic recording electronics. Those products had to survive a 250 foot drop onto granite from a helicopter net.   Epic destruction.
×
×
  • Create New...