Forums

Uart through an audio transformer

Started by Martin Griffith October 4, 2008
Any rules of thumb about sending a 9600 baud UARTsignal ,from an 8051
through a telecom type V90 audio transformer, (LT spice K L1 L2 1 @
4mH Rs = 10R)
I only need about 8 bytes of data, and  LTspice seems to need a square
wave for about a millisecond before it settles down.
So a long sync word of 010101 etc then a start byte?
I'll pad the sig down to 100mV or so

martin
"Martin Griffith" <mart_in_medina@yah00.es> wrote in message 
news:j8jfe4d1mv1qgb3bhmf10fqr8ltnuotrhm@4ax.com...
> Any rules of thumb about sending a 9600 baud UARTsignal ,from an 8051 > through a telecom type V90 audio transformer, (LT spice K L1 L2 1 @ > 4mH Rs = 10R) > I only need about 8 bytes of data, and LTspice seems to need a square > wave for about a millisecond before it settles down. > So a long sync word of 010101 etc then a start byte? > I'll pad the sig down to 100mV or so > > martin
Are you trying to send a signal that has a DC level associated with it, like straight binary data? Capacitive coupling won't help either. You need to encode the signal so that there is net 0 DC on it. Tam
"Martin Griffith" <mart_in_medina@yah00.es> wrote in message
news:j8jfe4d1mv1qgb3bhmf10fqr8ltnuotrhm@4ax.com...
> Any rules of thumb about sending a 9600 baud UARTsignal ,from an 8051 > through a telecom type V90 audio transformer, (LT spice K L1 L2 1 @ > 4mH Rs = 10R) > I only need about 8 bytes of data, and LTspice seems to need a square > wave for about a millisecond before it settles down. > So a long sync word of 010101 etc then a start byte? > I'll pad the sig down to 100mV or so
You can run the UART through the AC coupled channel. For the reasonable error immunity, the bandwidth of the channel should be at the least from 0.05 to 0.5 of the UART bit rate. You have to convert your data so it will be no DC in it. The simplest way is to transmit every byte twice: as it is and inverted. There are smarter ways to avoid DC such as encoding every six bits into eight bits or RLL coding; however quick and dirty repetition of every byte is good enough. Make sure the transformer is disconnected when the UART is in idle. Vladimir Vassilevsky DSP and Mixed Signal Consultant www.abvolt.com
Tam wrote:

> Are you trying to send a signal that has a DC level associated with it, like > straight binary data? Capacitive coupling won't help either. You need to > encode the signal so that there is net 0 DC on it.
And one solution would be to use biphase encoding: http://en.wikipedia.org/wiki/Biphase_mark_code Or Manchester code, like used for Ethernet. -- Frank Buss, fb@frank-buss.de http://www.frank-buss.de, http://www.it4-systems.de
On Sat, 4 Oct 2008 16:50:35 -0400, in sci.electronics.design "Tam"
<t-tammaru@comcast.net> wrote:

> >"Martin Griffith" <mart_in_medina@yah00.es> wrote in message >news:j8jfe4d1mv1qgb3bhmf10fqr8ltnuotrhm@4ax.com... >> Any rules of thumb about sending a 9600 baud UARTsignal ,from an 8051 >> through a telecom type V90 audio transformer, (LT spice K L1 L2 1 @ >> 4mH Rs = 10R) >> I only need about 8 bytes of data, and LTspice seems to need a square >> wave for about a millisecond before it settles down. >> So a long sync word of 010101 etc then a start byte? >> I'll pad the sig down to 100mV or so >> >> martin >Are you trying to send a signal that has a DC level associated with it, like >straight binary data? Capacitive coupling won't help either. You need to >encode the signal so that there is net 0 DC on it. > >Tam
9600 baud is not exactly DC No it's the standard non inverted uart o/p, and a longish sq wave syncword, seems to be ok (in LTspice). I've want to insert some bytes of data into an audio feed, only 8 bytes I'll solder it up tomorrow, but the audio transformers I've got at hand are much better than the V90 type, so I was just wondering..... Let's see what I can get away with. I've even used the long forgotten 74hc4066 for switching all the signals around! martin
On Sat, 4 Oct 2008 23:01:00 +0200, in sci.electronics.design Frank
Buss <fb@frank-buss.de> wrote:

>Tam wrote: > >> Are you trying to send a signal that has a DC level associated with it, like >> straight binary data? Capacitive coupling won't help either. You need to >> encode the signal so that there is net 0 DC on it. > >And one solution would be to use biphase encoding: > >http://en.wikipedia.org/wiki/Biphase_mark_code > >Or Manchester code, like used for Ethernet.
I'm already using Biphase in another part of the project, and this is converting it to uart speak, quite silly martin
On Sat, 4 Oct 2008 15:59:19 -0500, in sci.electronics.design "Vladimir
Vassilevsky" <antispam_bogus@hotmail.com> wrote:

> >"Martin Griffith" <mart_in_medina@yah00.es> wrote in message >news:j8jfe4d1mv1qgb3bhmf10fqr8ltnuotrhm@4ax.com... >> Any rules of thumb about sending a 9600 baud UARTsignal ,from an 8051 >> through a telecom type V90 audio transformer, (LT spice K L1 L2 1 @ >> 4mH Rs = 10R) >> I only need about 8 bytes of data, and LTspice seems to need a square >> wave for about a millisecond before it settles down. >> So a long sync word of 010101 etc then a start byte? >> I'll pad the sig down to 100mV or so > >You can run the UART through the AC coupled channel. For the reasonable >error immunity, the bandwidth of the channel should be at the least from >0.05 to 0.5 of the UART bit rate. You have to convert your data so it will >be no DC in it. The simplest way is to transmit every byte twice: as it is >and inverted. There are smarter ways to avoid DC such as encoding every six >bits into eight bits or RLL coding; however quick and dirty repetition of >every byte is good enough. Make sure the transformer is disconnected when >the UART is in idle. > >Vladimir Vassilevsky >DSP and Mixed Signal Consultant >www.abvolt.com > > > >
Thanks for the BW tip, I'll try 4800 as well I had a small piece of the pcb that was unpopulated, so it was time for a couple of extra features, like this martin
On a sunny day (Sat, 04 Oct 2008 23:07:31 +0200) it happened Martin Griffith
<mart_in_medina@yah00.es> wrote in
<71mfe4pcl1j698tclpav840kcc9he06im2@4ax.com>:

>>Tam >9600 baud is not exactly DC >No it's the standard non inverted uart o/p, and a longish sq wave >syncword, seems to be ok (in LTspice). > >I've want to insert some bytes of data into an audio feed, only 8 >bytes
The normal way is called 'modem', so in the simplest application you modulate some tone in the audio range (frequency shift). Can be anything, like connecting the UART output to a VCO, 74HC4046 will do, there are others that have sine output.
On Sat, 04 Oct 2008 21:38:18 GMT, in sci.electronics.design Jan
Panteltje <pNaonStpealmtje@yahoo.com> wrote:

>On a sunny day (Sat, 04 Oct 2008 23:07:31 +0200) it happened Martin Griffith ><mart_in_medina@yah00.es> wrote in ><71mfe4pcl1j698tclpav840kcc9he06im2@4ax.com>: > >>>Tam >>9600 baud is not exactly DC >>No it's the standard non inverted uart o/p, and a longish sq wave >>syncword, seems to be ok (in LTspice). >> >>I've want to insert some bytes of data into an audio feed, only 8 >>bytes > >The normal way is called 'modem', so in the simplest application >you modulate some tone in the audio range (frequency shift). >Can be anything, like connecting the UART output to a VCO, >74HC4046 will do, there are others that have sine output.
I'd thought of that, but "I'm doing a Joerg", very little PCB space left, basically a SO14 footprint for the 4066 and a few 0805's Basically a KISS job. If it doesn't work, I'll not put it in the spec, but it would be really great if it does work. It's really nice writing my own specs :) martin
"Martin Griffith" <mart_in_medina@yah00.es> wrote in message 
news:71mfe4pcl1j698tclpav840kcc9he06im2@4ax.com...
> On Sat, 4 Oct 2008 16:50:35 -0400, in sci.electronics.design "Tam" > <t-tammaru@comcast.net> wrote: > >> >>"Martin Griffith" <mart_in_medina@yah00.es> wrote in message >>news:j8jfe4d1mv1qgb3bhmf10fqr8ltnuotrhm@4ax.com... >>> Any rules of thumb about sending a 9600 baud UARTsignal ,from an 8051 >>> through a telecom type V90 audio transformer, (LT spice K L1 L2 1 @ >>> 4mH Rs = 10R) >>> I only need about 8 bytes of data, and LTspice seems to need a square >>> wave for about a millisecond before it settles down. >>> So a long sync word of 010101 etc then a start byte? >>> I'll pad the sig down to 100mV or so >>> >>> martin >>Are you trying to send a signal that has a DC level associated with it, >>like >>straight binary data? Capacitive coupling won't help either. You need to >>encode the signal so that there is net 0 DC on it. >> >>Tam > 9600 baud is not exactly DC > No it's the standard non inverted uart o/p, and a longish sq wave > syncword, seems to be ok (in LTspice). >
Huh? If a 0 is 0V, and a 1 is 3V, you have 1.5V of DC regardless of the Baud rate , assuming an equal number of 1, and 0. Tam
> I've want to insert some bytes of data into an audio feed, only 8 > bytes > I'll solder it up tomorrow, but the audio transformers I've got at > hand are much better than the V90 type, so I was just wondering..... > > Let's see what I can get away with. I've even used the long forgotten > 74hc4066 for switching all the signals around! > > martin