>-----Original Message----- >From: Luis Moreira [mailto:Luis.Moreira@JET.EFDA.ORG] > >Hi Guys >I am starting a project where I have to transmit a signal from >a HV area down to the control unit. and the way that I have to >do it is by using the existing fibre-optics that are already >installed from an obsolete system previously removed. I do not >want to use V/F & F/V converters as that was not a very good >solution in the past, so I am looking into converting the >signal to a 16bit digital signal and then transmit it serially >which seems strait forward enough. The problems are: > > - I would like to use one fibre only if possible > - bandwidth needs to be min 100KHz, ideally 200KHz > - I need to be able to disconnect the receiver and >then connect it again and automatically synchronize transmission > - require error detection i.e. checksum, link failed. > >The fibres installed with the fibre-optics TX/RX can do 5MB/s >which should be enough, I do not think I can do it with the >PIC as for 200KHz for 16bits you need to be transmitting at >around 4MHz. I will be using an ALTERA FPGA. I can more or >less see what to do to transmit the data ( get it into >digital, feed it to the FPGA as an 16 bit number and then >shift it), but the automatic synchronization and the error >detection is a problem. By synchronization I mean if I >disconnect the receiver and connect it again and it finds it >self in the middle of a packet it will wait until it receives >the start of the next one before it considers it a full signal. > >Any ideas will be welcome >thanks You wish to transmit 16bits every 1/200KHz = 3.2MBit/second. This is possibly a little too quick for the PIC as you say. First thing you must realise, is that transmitting over fibre is much like using a wireless system, (albeit without the large noise floor for short fibre runs). You can't just squirt a bit of data down every so often, the receiver will (almost certainly) have an automatic slicing level, just like a wireless RX, that means you either need to transmit continuously, or you will need some kind of pre-amble to setup the receiver. Also, as with a radio based system, your data should be DC balanced, you could achieve this either through an encoding method that is automaticaly balanced such as Manchester encoding, or use something like an LFSR based scrambler (on both TX and RX ends) that will automaticaly limit the maximum 1's or 0's run length. (http://www.ternarylogic.com/lfsr.htm) Obviously you will need to recover the clock at the other end, for e.g. Manchester encoding this is trivial, but for NRZ data, you are going to need some form of CDR (Clock Data Recovery), basicaly a phase locked loop driven from the data. Error detection is only possible if you send extra information (i.e. your bit rate will need to increase). If error detection is mandatory, then you are porbably better of using an existing protocol that includes framing and error detection, maybe HDLC. ( http://www2.rad.com/networks/1994/hdlc/hdlc.htm ) Regards Mike ======================================================================= This e-mail is intended for the person it is addressed to only. The information contained in it may be confidential and/or protected by law. If you are not the intended recipient of this message, you must not make any use of this information, or copy or show it to any person. Please contact us immediately to tell us that you have received this e-mail, and return the original to us. Any use, forwarding, printing or copying of this message is strictly prohibited. No part of this message can be considered a request for goods or services. ======================================================================= Any questions about Bookham's E-Mail service should be directed to postmaster@bookham.com. -- http://www.piclist.com#nomail Going offline? Don't AutoReply us! email listserv@mitvma.mit.edu with SET PICList DIGEST in the body