Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronic Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Register Log in

Proper way to route 2400bps serial data stream

Status
Not open for further replies.

CodeWarrior1241

Newbie level 3
Joined
Mar 22, 2007
Messages
4
Helped
2
Reputation
4
Reaction score
1
Trophy points
1,283
Activity points
1,314
microcontroller linear time code

Hi all,

I wanted to get some guidance on on a task I'm trying to complete with the LM3S9B92 MCU... Basically, I have a serial 80-bit data stream frame that is sent to the micro at 30Hz, i.e. 2400bps total. I need to take each frame, do some minimal processing, and send it out over USB to a PC.

My question is this - what's the best way to get the frame into the LM3S9B92? I could bit-bang it into the pin I suppose, but I was wondering if there's a better way to do it. Are there architectural/peripheral refinements that could help me out which I could use for this?

The serial data I'm dealing with is a linear time code that's bi-phased mark modulated - it's an NRZ encoding scheme, so there's no separate clock signal. That's why SPI didn't seem like a likely peripheral to use... The byte stream contains a sequence of 13 bits that are used for synchronization, but these seemed different from the start/stop bits I have seen for UART transmissions... This is why I wasn't sure what peripheral (if at all) was best.

Thanks for everyone's help!
 

Kurenai_ryu

Advanced Member level 2
Joined
Jun 10, 2006
Messages
671
Helped
159
Reputation
316
Reaction score
99
Trophy points
1,308
Location
Bolivia
Activity points
5,913
80-bit asynchronous with a 13 bits synch??? dude! unless you setup an ASIC or FPGA or something! i don't think a normal MCU will do the job right out-of-the-box... also bit-banging isn't as hard if you set up a timer and an edge interrupt...

Hope if you make it, could you post your results? It could be very interesting...
 

CodeWarrior1241

Newbie level 3
Joined
Mar 22, 2007
Messages
4
Helped
2
Reputation
4
Reaction score
1
Trophy points
1,283
Activity points
1,314
Is it really that computationally difficult? If I have an 80MHz ARM microcontroller with most instructions taking 2 cycles (~25ns), and a 2400 bps stream, is it that hard to identify a 13-bit pattern? The width of each data bit is ~400us.

I had hoped that I could avoid using programmable hardware for this for cost reasons.

Kurenai_ryu, using an edge interrupt/timer is along the lines of what I was thinking as well. Do the numbers I quote make this project seem completely unreasonable?
 

Kurenai_ryu

Advanced Member level 2
Joined
Jun 10, 2006
Messages
671
Helped
159
Reputation
316
Reaction score
99
Trophy points
1,308
Location
Bolivia
Activity points
5,913
I mean that there is no Internal peripheral on any MCU I know which can manage a 80 bit asyncronous data stream...

of course you could use this two peripheral (timer and edge interrupt) to recieve (or send) the 80 bit data stream.. it's easy, but it's a software approach... not hardware that I tought you were looking... maybe If you post a graph with the 80 bit stream (including synch bits) some one (including me) could give a clearer idea...
 

Status
Not open for further replies.
Toggle Sidebar

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top