Truncated match.
PICList
Thread
'Transmitting DMX-512'
1998\01\03@132813
by
tsk3000
Hello,
FYI, I am new to this list. I know how most lists feel about newbies,
so if you'd like to send me a warm welcoming message, feel free. :)
I've been working with PICs for around 6 months now, and just recently
got a programmer. I wrote a program for a 16C57 to transmit DMX-512,
but it doesn't seem to be transmitting the protocol correctly, or it's
not at the correct speed (250K bps). I'm not sure exactly what the
problem is, and I'm mailing the list in hope that maybe someone has some
experience doing this. If anyone is willing to help, or for more
information on exactly what I'm doing/using, please e-mail me privately!
Thanks very much! :)
Cheers,
--
~Keith
spam_OUTtsk3000TakeThisOuT
Prodigy.Net
http://pages.prodigy.net/tsk3000/
1998\01\03@140607
by
Harold M Hallikainen
|
Keith,
Welcome to the list!
In transmitting DMX512 with a PIC (I do it with a 16c74a), it's
kinda tricky to get the break timing right due to the double buffering of
the transmit side of the uart. What I finally did is to use a timer
interrupt instead of the uart interrupt. This way the uart transmits
immediately on loading. When the timer interrupt comes back again, the
uart has finished sending the byte. It is then safe to send the break.
By the way, how are you sending the break? The 16c74a doesn't have a
break function, so I did it in hardware. I put a resistor between the
serial transmit data pin and the driver chip. The end of the resistor
away from the chip is tied to another I/O pin that is normally tristated.
When I want to send a break, I turn that pin on with a programmed zero.
Then tristate the pin when you want to end the break.
Finally, I used a state machine to figure out where we are
(transmitting break, sending mark after break, sending start code,
sending data bytes).
Also, to see what's going on, I suggest toggling an I/O pin at
various points in the code to trigger a scope. The above discussed
"break pin" can be used for this, letting you see the break, mark after
break, start code, and first few code bytes. If you have delay
triggering, you can lootk at the whole string! Also, the Lil DMXter is a
very handy piece of equipment. It will verify the protocol and give you
various parameter values.
Good luck! It CAN be done! See the StarPort at
http://www.dovesystems.com .
Harold
1998\01\03@150223
by
Herbert Graf
> -----Original Message-----
> From: pic microcontroller discussion list
> [.....PICLISTKILLspam
@spam@MITVMA.MIT.EDU]On Behalf Of Harold M Hallikainen
> Sent: Saturday, January 03, 1998 14:02
> To: PICLIST
KILLspamMITVMA.MIT.EDU
> Subject: Re: Transmitting DMX-512
>
>
> Keith,
>
> Welcome to the list!
> In transmitting DMX512 with a PIC (I do it with a 16c74a), it's
> kinda tricky to get the break timing right due to the double buffering of
> the transmit side of the uart. What I finally did is to use a timer
> interrupt instead of the uart interrupt. This way the uart transmits
I was wondering if you could send me the info yoy have on DMX512, protoc
ol
specs, timing diagrams, schematics, hardware details, anything really.
Thanks for any info. TTYL
1998\01\04@162644
by
calls
Check out ABtech's Lighting System's technical expose on
"The Anatomy
of DMX12" I think you'll find the information there to be very helpful.
http://www.abtec.demon.co.uk/index2.htm
> I was wondering if you could send me the info yoy have on
>DMX512, protocol
>specs, timing diagrams, schematics, hardware details, anything really.
>Thanks for any info. TTYL
1998\01\05@173310
by
Harold Hallikainen
On Sat, 3 Jan 1998 14:53:44 -0500 Herbert Graf <.....hgrafKILLspam
.....GEOCITIES.COM>
writes:
> I was wondering if you could send me the info yoy have on
>DMX512, protocol
>specs, timing diagrams, schematics, hardware details, anything really.
>Thanks for any info. TTYL
>
A good source for this info is "Recommended Practice for DMX512"
by Adam Bennette. As I recall, info on ordering it is available at the
USITT web site.
Here's a quick summary...
Connector
5 pin XLR
1 - shield
2 - data complement
3 - data true
4 - spare data complement
5 - spare data true
Electrical Levels
EIA 485 (0 volts and 5 volts), 120 ohm characteristic
impedance
Data rate
250 Kbps
Byte format
1 start bit
8 data bits
no parity
2 stop bits
Frame format
break - 88uS min
mark after break - 8 uS min
Start code (generally 0x00) - 1 byte
Data bytes - 24 (min) to 512
Mark before break - 8uS min (corresponds to 2 stop bits
of last byte)
Harold
More... (looser matching)
- Last day of these posts
- In 1998
, 1999 only
- Today
- New search...