<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.arm.com/utility/feedstylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>1200 baud rate issue</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/35131/1200-baud-rate-issue</link><description> 
I&amp;#39;m trying to communicate with an old device that operates at 1200
baud only. The tablet I&amp;#39;m using to control the old device will only
go as low as 2400 baud. Any ideas on how to bridge this gap would be
greatly appreciated. 
 </description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: 1200 baud rate issue</title><link>https://community.arm.com/thread/151614?ContentTypeID=1</link><pubDate>Tue, 09 Feb 2016 04:59:25 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:acb7f1ab-f88b-42c5-a9bf-6def8686b380</guid><dc:creator>George Drake</dc:creator><description>&lt;p&gt;&lt;p&gt;
Thank you gentlemen. It seems clear to me now that the processor
is not the probable issue. I will now pursue a driver based solution,
with or without the vendor, to reach the necessary speed. Sorry that
I jumped ahead about 4 mental pages when initially addressing this
problem. All the help has been greatly appreciated. Thank you all
again.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1200 baud rate issue</title><link>https://community.arm.com/thread/150919?ContentTypeID=1</link><pubDate>Mon, 08 Feb 2016 12:57:49 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:5178dbd2-9d5a-4d7a-a94e-719a45d15183</guid><dc:creator>Westonsupermare Pier</dc:creator><description>&lt;p&gt;&lt;p&gt;
I&amp;#39;m aware of a couple of chips where the width of the baud rate
divider would be insufficient to get the APB clock down far enough to
get to 1200 or 600 baud. One might be able to slow the APB down to a
point it works but that would slow down a lot of other peripherals in
the process.&lt;/p&gt;

&lt;p&gt;
Supporting 30 year old equipment is a bit niche at this point.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1200 baud rate issue</title><link>https://community.arm.com/thread/145688?ContentTypeID=1</link><pubDate>Mon, 08 Feb 2016 11:13:30 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:d02af531-fbc1-464a-ab9a-8b107f4d4392</guid><dc:creator>edPer Westermark</dc:creator><description>&lt;p&gt;&lt;p&gt;
Most processors can do almost any baudrate (within reasonable
limits) - so the driver vendor might create a list of standard
baudrates instead of allowing the user to specify arbitrary
baudrates.&lt;/p&gt;

&lt;p&gt;
So you might get a driver with a parameter:&lt;br /&gt;
0: 300 baud&lt;br /&gt;
1: 600 baud&lt;br /&gt;
2: 1200 baud&lt;br /&gt;
...&lt;br /&gt;
even if the hardware could do 75 baud or 5350 baud.&lt;/p&gt;

&lt;p&gt;
Most newer processors starts from a very high clock frequency,
allowing a quite big divisor to span a large baudrate range. And lots
of newer processors also have fractional baudrate support, to allow
them to divide that input clock with 4.55 if that is what it takes to
get a perfect output baudrate.&lt;/p&gt;

&lt;p&gt;
So I&amp;#39;m pretty sure it&amp;#39;s a driver limitation and not a hardware
limitation that the tablet doesn&amp;#39;t do 1200 baud. It is normally
split-speed (different baudrate for transmit and receive), or a
specific number of data bits in combination with number of stop bits
in combination with even/odd/mark/space/none parity where there may
be actual hardware limitations because of the bit fields used to
configure the UART.&lt;/p&gt;

&lt;p&gt;
For older processors, it was common that you had to select
specific clock crystals to be able to get &amp;quot;correct&amp;quot; baudrates, but in
a world of PLL-driven hardware that is quite uncommon today.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1200 baud rate issue</title><link>https://community.arm.com/thread/143663?ContentTypeID=1</link><pubDate>Mon, 08 Feb 2016 10:24:44 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:2c3938c1-93b7-4e08-b345-3911aeec93da</guid><dc:creator>George Drake</dc:creator><description>&lt;p&gt;&lt;p&gt;
Sorry... I suppose the more appropriate question should be, would
an ARM11 have any bearing on minimum baud rate?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1200 baud rate issue</title><link>https://community.arm.com/thread/150047?ContentTypeID=1</link><pubDate>Mon, 08 Feb 2016 10:12:33 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:da15eaf2-e070-4f89-89f0-86f4d8d60513</guid><dc:creator>Westonsupermare Pier</dc:creator><description>&lt;p&gt;&lt;p&gt;
Maybe you need to be talking to the vendor of the tablet, or
writing the drivers to suit your needs? Got to presume someone
selling a WinCE device has some people with some programming
competence behind them.&lt;/p&gt;

&lt;p&gt;
Alternatively why not make a small board that converts/bridges
serial ports of different rates. I&amp;#39;ve seen people use 30 cent
Cortex-M0 parts to mitigate between serial rates and formats. You&amp;#39;d
probably want buffering and flow control to hold off the faster
device, but not an unduly complicated set of requirements.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1200 baud rate issue</title><link>https://community.arm.com/thread/140933?ContentTypeID=1</link><pubDate>Mon, 08 Feb 2016 08:54:11 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:d3a53fb5-4e24-490c-86ff-d3de14fa0b8c</guid><dc:creator>edPer Westermark</dc:creator><description>&lt;p&gt;&lt;p&gt;
A forum needs a critical mass of posts to be meaningful to visit.
So if filtering too hard, no one will visit the forum and care to
write answers.&lt;/p&gt;

&lt;p&gt;
Better to allow a bit of off-topic questions and if the volume
becomes too high add subforum or filtering support. 8052.com is an
example of a forum that got too low number of posts, making everyone
stop visiting the site.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1200 baud rate issue</title><link>https://community.arm.com/thread/131582?ContentTypeID=1</link><pubDate>Mon, 08 Feb 2016 08:29:38 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:31f880c1-8649-46cf-9a82-9c9b1082e909</guid><dc:creator>Kevin Pollark</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;WHAT DOES THIS HAVE TO DO WITH KEIL?&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
A very valid point.&lt;/p&gt;

&lt;p&gt;
I do sometimes wonder what the proportion of Keil related (vs
unrelated) questions is on this forum.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1200 baud rate issue</title><link>https://community.arm.com/thread/129167?ContentTypeID=1</link><pubDate>Mon, 08 Feb 2016 08:04:55 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:abfb2636-aa5b-4f52-a75d-42f1fc113035</guid><dc:creator>&amp;#178;erik malund</dc:creator><description>&lt;p&gt;&lt;p&gt;
now I realize the only one thing to say is&lt;/p&gt;

&lt;p&gt;
WHAT DOES THIS HAVE TO DO WITH KEIL?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1200 baud rate issue</title><link>https://community.arm.com/thread/117964?ContentTypeID=1</link><pubDate>Mon, 08 Feb 2016 06:34:05 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:90fff5e4-9e2d-4b4a-b994-a6035ee1a2c3</guid><dc:creator>George Drake</dc:creator><description>&lt;p&gt;&lt;p&gt;
Alright, back to it. I&amp;#39;m using an industrial tablet with a RS-232
port and running CE6. The included software only slows to 2400.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1200 baud rate issue</title><link>https://community.arm.com/thread/108666?ContentTypeID=1</link><pubDate>Sat, 06 Feb 2016 11:40:18 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:b0481af1-3b0a-48c8-a743-d6c7760ccb00</guid><dc:creator>George Drake</dc:creator><description>&lt;p&gt;&lt;p&gt;
Thank you to each of you responding to this thread. I&amp;#39;m traveling
at the moment, and don&amp;#39;t have time for much of a reply. I&amp;#39;ll read
carefully and respond when possible. Again, thank you all for giving
me your combined knowledge on this thread.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1200 baud rate issue</title><link>https://community.arm.com/thread/93670?ContentTypeID=1</link><pubDate>Sat, 06 Feb 2016 05:08:23 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:ca04e1e8-0684-4648-b16c-d31aa32b5cf3</guid><dc:creator>&amp;#178;erik malund</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;The obvious solution, and possibly the only feasible one, would
be bit-banging&lt;/i&gt;&lt;br /&gt;
to me the obvious solution would be to run whatever clock the UART is
driven by at half the speed.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1200 baud rate issue</title><link>https://community.arm.com/thread/64482?ContentTypeID=1</link><pubDate>Sat, 06 Feb 2016 00:28:31 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:873a86c0-26bf-4bb2-91f4-50e9bf6645f6</guid><dc:creator>HansBernhard Broeker</dc:creator><description>&lt;p&gt;&lt;p&gt;
You say &amp;quot;the tablet&amp;quot;. As in, a pre-fabricated device that you can
run &amp;quot;apps&amp;quot; on, but have no actual control of the hardware? Then I&amp;#39;m
afraid this cannot work.&lt;/p&gt;

&lt;p&gt;
The obvious solution, and possibly the only feasible one, would be
bit-banging. 1200 Baud is slow enough to do entirely in software if
you have direct control of port pins and a timer or two. But that
won&amp;#39;t be possible when all you can do is write an app in some
high-level language, that talks to existing lower-level drivers via a
nice API.&lt;/p&gt;

&lt;p&gt;
In that case you&amp;#39;ll need a gateway device between the two existing
ones, which talks 1200 baud to one side, and some other, possibly
much higher baudrate to the other. It may need some buffering of fast
messages going to the slow side.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1200 baud rate issue</title><link>https://community.arm.com/thread/108659?ContentTypeID=1</link><pubDate>Fri, 05 Feb 2016 22:59:37 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:f23a7bba-0800-4ea8-aa7b-2c60ec4f2346</guid><dc:creator>edPer Westermark</dc:creator><description>&lt;p&gt;&lt;p&gt;
Well, 1200 baud 8N1 can trig reception of characters for a
listener that runs at 2400 baud, so you can still send 3
bits/byte.&lt;/p&gt;

&lt;p&gt;
But since each bit will take twice as long, the last data bits
must be given the same polarity as the stop bit. So it will basically
emit an extreme number of stop bits - but additional stop bits on
transmission isn&amp;#39;t a problem since that&amp;#39;s just additional idle
state.&lt;/p&gt;

&lt;p&gt;
The thing to remember is that the device running at 2400 baud
can&amp;#39;t send a burst of characters - it can manage to send 3 bits of
data in a single transmitted byte. Then it needs to wait a full
additional character length with zero transmissions just to produce
the required stop bit of the 1200 baud device. Then it may emit the
next 3-bit character and a new delay.&lt;/p&gt;

&lt;p&gt;
So pack 8-bit data into many more &amp;quot;3-bit characters&amp;quot;. Send
character. Wait. Send character. Wait.&lt;/p&gt;

&lt;p&gt;
And when receiving extract from each received byte 3 bits of data
and convert back into a full message.&lt;/p&gt;

&lt;p&gt;
Very messy and no fun for bigger data blocks. But can be a way to
transfer commands between two devices - the serial channel would
manage 20-50 usable bytes/second depending on how well it&amp;#39;s possible
to generate an optimal delay between each single-byte transfer from
the &amp;quot;fast&amp;quot; device, and how much stuffing you might need to make the
receiving side detect the start of an encoded message. If that is
usable or not will then just depend on what you need the link
for.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1200 baud rate issue</title><link>https://community.arm.com/thread/83031?ContentTypeID=1</link><pubDate>Fri, 05 Feb 2016 22:41:15 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:e330cff9-a830-4aa0-9623-5d1b340c463c</guid><dc:creator>George Drake</dc:creator><description>&lt;p&gt;&lt;p&gt;
Here&amp;#39;s more information on the old device. It operates at
1200.8.N.1. Sadly, this is set in stone.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1200 baud rate issue</title><link>https://community.arm.com/thread/69493?ContentTypeID=1</link><pubDate>Fri, 05 Feb 2016 22:11:47 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:b285c984-58d2-43cd-b561-80bde7ad8794</guid><dc:creator>edPer Westermark</dc:creator><description>&lt;p&gt;&lt;p&gt;
I can&amp;#39;t see how you can get normal UART communication with a 2:1
baudrate error, since that is totally outside of what the
asynchronous format and the hardware implementations are designed
for.&lt;/p&gt;

&lt;p&gt;
But if you control the software on both sides, then I would think
you could potentially run the link with the 1200 baud device running
7N1 and the 2400 baud device runnigng 7N2 - and with an actual
transfer of 3 bits of actual data used to tunnel more complex
messages.&lt;/p&gt;

&lt;p&gt;
So the start bit of the slow device is twice as long consuming the
time slot of the first data bit directly following the start bit.
Then 6 more data bits that may only encode 3 bits because each bit
takes two bit slots. Then the single stop bit ends up looking like
two stop bits.&lt;/p&gt;

&lt;p&gt;
I have obviously never tested the above concept, but just as wrong
baudrates in a number of situations does result in the receiver
seeing &amp;quot;random&amp;quot; characters, there are situations where transmitted
bytes with the wrong baudrate will end up as something the other side
can decode repeatable.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>