<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="bbPress/1.0.2" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>LeafLabs Garden &#187; User Favorites: fkatzenb</title>
		<link><a href='http://forums.leaflabs.com/profile.php?id=3799'>3799</a></link>
		<description>A place to share, learn, and grow...</description>
		<language>en-US</language>
		<pubDate>Fri, 22 Jan 2016 00:15:03 +0000</pubDate>
		<generator>http://bbpress.org/?v=1.0.2</generator>
		<textInput>
			<title><![CDATA[Search]]></title>
			<description><![CDATA[Search all topics from these forums.]]></description>
			<name>q</name>
			<link>http://forums.leaflabs.com/search.php</link>
		</textInput>
		<atom:link href="http://forums.leaflabs.com/rss.php?profile=3799" rel="self" type="application/rss+xml" />

		<item>
			<title>gbulmer on "Abnormal Baud Rates"</title>
			<link>http://forums.leaflabs.com/topic.php?id=1179#post-7225</link>
			<pubDate>Wed, 23 Nov 2011 20:32:28 +0000</pubDate>
			<dc:creator>gbulmer</dc:creator>
			<guid isPermaLink="false">7225@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;fkatzenb - I agree with tdc218 and becker, just use one of the USARTs.&#60;/p&#62;
&#60;p&#62;Get yourself a copy of RM0008 from ST.com to see how very flexible the USARTs are.&#60;/p&#62;
&#60;p&#62;At such a slow data rate (less than one character/millisecond), it isn't likely the extra complexity of using DMA will save much work. Further the protocol you describe appears to be only a few bytes at a time in either direction before it needs processor involvement. So you might burn more cycles setting up the DMA for a short (e.g. 2 or 3 byte) transfer, as just dealing with the USART directly.&#60;/p&#62;
&#60;p&#62;Using an interrupt service routine to allow the program to do other work might be worth investigating if other processing is asynchronous and can't be done using DMA or interrupts.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>becker on "Abnormal Baud Rates"</title>
			<link>http://forums.leaflabs.com/topic.php?id=1179#post-7218</link>
			<pubDate>Tue, 22 Nov 2011 14:51:25 +0000</pubDate>
			<dc:creator>becker</dc:creator>
			<guid isPermaLink="false">7218@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;Further, the underlying hardware uses a &#34;fractional baud rate generator&#34;.  This increases the transmit accuracy over a simple integer division of the high speed clock by having a correction fraction.&#60;/p&#62;
&#60;p&#62;Not that it should matter for an async serial link, which resynchronizes with each start bit.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>tdc218 on "Abnormal Baud Rates"</title>
			<link>http://forums.leaflabs.com/topic.php?id=1179#post-7210</link>
			<pubDate>Mon, 21 Nov 2011 22:21:13 +0000</pubDate>
			<dc:creator>tdc218</dc:creator>
			<guid isPermaLink="false">7210@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;As the &#34;baud&#34; rate divisor that gets programmed into the usarts is computed on the fly and not pulled from a look up table, you are not locked in to standard &#34;baud&#34; rates.  You ought to be able to do Serial.begin(976); and/or Serial.begin(7812); and use the standard serial functions and it should have a good chance of working fine.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>HDS on "Abnormal Baud Rates"</title>
			<link>http://forums.leaflabs.com/topic.php?id=1179#post-7207</link>
			<pubDate>Mon, 21 Nov 2011 03:05:12 +0000</pubDate>
			<dc:creator>HDS</dc:creator>
			<guid isPermaLink="false">7207@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;Nonblocking SoftSerial is throughoutly without problem on the Maple / Maple IDE:&#60;br /&#62;
You only have to use one or two of the four built-in hardware timers.&#60;/p&#62;
&#60;p&#62;The timer is connected to an interrupt routine, which you do use for sending the bytes in the desired baud rate.&#60;br /&#62;
The baud rate could be configured up to 36.000.000   ;-)&#60;/p&#62;
&#60;p&#62;here is an example for a SoftSerial.send(), with a non-blocking output ring buffer:&#60;/p&#62;
&#60;p&#62;&#60;a href=&#34;http://pastebin.com/pRajtwAj&#34; rel=&#34;nofollow&#34;&#62;http://pastebin.com/pRajtwAj&#60;/a&#62;&#60;/p&#62;
&#60;p&#62;The same way, you could connect an interrupt to some receive pin to start your data receiving timer to generate the baud rate and fill your recieve buffer - independantly from the main.loop.&#60;/p&#62;
&#60;p&#62;But: you could use also one of the 3 USART's. Ask them in the loop, if they've got a char for you, if so, store it in your buffer (fastest with DMA.)&#60;/p&#62;
&#60;p&#62;At both baud rates, you will have definitely very, very many Processor cycles to do other stuff - as long as you arn't waiting with Delay() or While(!Serial1.Available()) do wait...
&#60;/p&#62;</description>
		</item>
		<item>
			<title>fkatzenb on "Abnormal Baud Rates"</title>
			<link>http://forums.leaflabs.com/topic.php?id=1179#post-7205</link>
			<pubDate>Sun, 20 Nov 2011 19:14:41 +0000</pubDate>
			<dc:creator>fkatzenb</dc:creator>
			<guid isPermaLink="false">7205@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;Its for an old Motorola ECU and those are the baud rates it uses.  It is rather dumb.&#60;/p&#62;
&#60;p&#62;The protocal is rather simple.&#60;br /&#62;
&#34;You send code 0x12 at 976 baud until the ECU replies with 0x12.  You then switch to 7812 baud and send 0x12 to confirm hi-speed logging, ECU replies with 0x12 if confirmed.  You then send single byte memory addresses to retrieve data; ECU replies with data at the location sent.&#34;&#60;/p&#62;
&#60;p&#62;My goal is to make a black box recorder for particular parameters instead of using a laptop.  Coupled with a selector knob and SD card, I could have several different profiles of which they each log a different combination of parameters.  &#60;/p&#62;
&#60;p&#62;I have done several microcontroller projects, but I make bad assumptions.  My concern is that I am going to waste a lot of clock cycles waiting to receive data.  Is there some kind of hardware buffer I could use?  My ultimate goal is to combine with this a display with some smoothing algorithms.&#60;/p&#62;
&#60;p&#62;Thanks,&#60;br /&#62;
Frank
&#60;/p&#62;</description>
		</item>
		<item>
			<title>HDS on "Abnormal Baud Rates"</title>
			<link>http://forums.leaflabs.com/topic.php?id=1179#post-7203</link>
			<pubDate>Sun, 20 Nov 2011 15:30:05 +0000</pubDate>
			<dc:creator>HDS</dc:creator>
			<guid isPermaLink="false">7203@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;Think about Software Serial.&#60;br /&#62;
Just using a pin.&#60;br /&#62;
And a Hardware Timer controlling the baud rate.&#60;br /&#62;
No, you are using really horrible Baud rates...:&#60;br /&#62;
976 BAUD&#60;br /&#62;
7812 BAUD&#60;br /&#62;
Sounds like Frequencies to receive some RTTY on a demodulated SSB receiver.&#60;br /&#62;
Since the Baud rates are very low:&#60;br /&#62;
Definitely, the Maple will handle those.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>fkatzenb on "Abnormal Baud Rates"</title>
			<link>http://forums.leaflabs.com/topic.php?id=1179#post-7199</link>
			<pubDate>Sat, 19 Nov 2011 22:00:28 +0000</pubDate>
			<dc:creator>fkatzenb</dc:creator>
			<guid isPermaLink="false">7199@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;I am thinking about getting a Maple for black box recording to an SD card.  I am looking at it because it has a lot of memory and head room as the serial data that I need, I have to first request and then wait to receive at horrible baud rates - 976 and 7812.  Will the Maple be able to handle these?&#60;/p&#62;
&#60;p&#62;Thanks,&#60;br /&#62;
Frank
&#60;/p&#62;</description>
		</item>
		<item>
			<title>gbulmer on "New Project Guidance &#38; How the Maple Will Work Better"</title>
			<link>http://forums.leaflabs.com/topic.php?id=857&amp;page=2#post-5962</link>
			<pubDate>Wed, 10 Aug 2011 15:35:59 +0000</pubDate>
			<dc:creator>gbulmer</dc:creator>
			<guid isPermaLink="false">5962@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;galindro - would you give a bit more detail please?&#60;/p&#62;
&#60;p&#62;Which public key algorithm do you need?&#60;br /&#62;
How would you do the public key exchange? Would this all be on a private network? What role has the Maple?&#60;/p&#62;
&#60;p&#62;There are a bunch of Open Source Public Key projects, listed by Google. Some are quite old, and so won't likely require huge machine resources.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>galindro on "New Project Guidance &#38; How the Maple Will Work Better"</title>
			<link>http://forums.leaflabs.com/topic.php?id=857&amp;page=2#post-5953</link>
			<pubDate>Tue, 09 Aug 2011 14:48:27 +0000</pubDate>
			<dc:creator>galindro</dc:creator>
			<guid isPermaLink="false">5953@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;robodude666 says:&#60;br /&#62;
&#34;However, with that said.. There is an official Encryption 128-bit AES/TDES library available from STM/Keil/IAR.&#34;&#60;/p&#62;
&#60;p&#62;AES and TDES are symmetric key algorithm. Are there an implementation of Public Key algorithm for Maple / ARM Cortex?
&#60;/p&#62;</description>
		</item>
		<item>
			<title>gbulmer on "New Project Guidance &#38; How the Maple Will Work Better"</title>
			<link>http://forums.leaflabs.com/topic.php?id=857&amp;page=2#post-5286</link>
			<pubDate>Thu, 16 Jun 2011 19:38:15 +0000</pubDate>
			<dc:creator>gbulmer</dc:creator>
			<guid isPermaLink="false">5286@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;becker - an STM32F103RB contains 2 12bit ADC's. &#60;/p&#62;
&#60;p&#62;Further, the DMA controller can offload the processor from storing the ADC converted values into memory. So two signals can be sampled and converted simultaneously. &#60;/p&#62;
&#60;p&#62;Also, the ADC+DMA supports an interleave mode, where the same signal can be sampled alternately by two ADC's, giving 2M samples/second at 12 bits. I vaguely remember that the ADC can produce right-aligned samples, and the DMA can read 16 bits, but store only 8 bits.&#60;/p&#62;
&#60;p&#62;My reading of Section 5.3.18 &#34;12-bit ADC characteristics&#34; of RM0008, specifies an ADC clock frequency is a maximum of 14MHz. &#60;/p&#62;
&#60;p&#62;I haven't found any mention of higher clock rates and reduced precision conversion, but I haven't attempted to memorise every section :-)&#60;/p&#62;
&#60;p&#62;The STM32F103RET has three ADC's, but it doesn't support interleaving all the ADC's to get 3M samples/second.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>fkatzenb on "New Project Guidance &#38; How the Maple Will Work Better"</title>
			<link>http://forums.leaflabs.com/topic.php?id=857&amp;page=2#post-5285</link>
			<pubDate>Thu, 16 Jun 2011 19:29:00 +0000</pubDate>
			<dc:creator>fkatzenb</dc:creator>
			<guid isPermaLink="false">5285@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;The engine knock was a different application than above.  I started it and a friend took it over to code the Arduino with AVR.  He is now using a TPIC8101 over SPI since it is designed for detecting engine knock.  We are using them to keep from detonating our engines in carnage under heavy boost.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>becker on "New Project Guidance &#38; How the Maple Will Work Better"</title>
			<link>http://forums.leaflabs.com/topic.php?id=857#post-5279</link>
			<pubDate>Thu, 16 Jun 2011 17:52:30 +0000</pubDate>
			<dc:creator>becker</dc:creator>
			<guid isPermaLink="false">5279@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;The DSOnano device uses a 1Msps rate with the STM32.  There is even a hack that does 2M per second, albeit only claiming 8 bit effective resolution.  I'm guessing that they base their clock tree around running a single ADC at 14MHz (or 28MHz for the &#34;8 bit&#34;, rather than using a chip with 2 ADCs and interleaving).&#60;/p&#62;
&#60;p&#62;The second generation DSOnano switched to using a high speed external ADC and a gate array.  Because no matter what tweaks or slightly improved chip, you won't get a 10x bandwidth improvement.&#60;/p&#62;
&#60;p&#62;The AVR doesn't need to use much processor time for A/D conversion.  But it is awfully slow.  And you have to slow it down even more because if the widely spaced clock divisors.  Note that you can usually double the speed by looking at the resolution you are actually getting/need, and running the A/D clock faster than the &#34;for maximum resolution&#34; speed.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>poslathian on "New Project Guidance &#38; How the Maple Will Work Better"</title>
			<link>http://forums.leaflabs.com/topic.php?id=857#post-5278</link>
			<pubDate>Thu, 16 Jun 2011 17:45:08 +0000</pubDate>
			<dc:creator>poslathian</dc:creator>
			<guid isPermaLink="false">5278@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;Interesting project, can you say more about the end application? Last time I heard anyone talk about detecting engine knocks was on a submarine!
&#60;/p&#62;</description>
		</item>
		<item>
			<title>fkatzenb on "New Project Guidance &#38; How the Maple Will Work Better"</title>
			<link>http://forums.leaflabs.com/topic.php?id=857#post-5277</link>
			<pubDate>Thu, 16 Jun 2011 17:26:59 +0000</pubDate>
			<dc:creator>fkatzenb</dc:creator>
			<guid isPermaLink="false">5277@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;LOL.  Thanks guys.  I was mostly curious because of how sucky the Arduino was when trying to do enough engine knock samples to actually get a representative sample to call something knock.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>robodude666 on "New Project Guidance &#38; How the Maple Will Work Better"</title>
			<link>http://forums.leaflabs.com/topic.php?id=857#post-5273</link>
			<pubDate>Thu, 16 Jun 2011 16:34:44 +0000</pubDate>
			<dc:creator>robodude666</dc:creator>
			<guid isPermaLink="false">5273@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;And from what I gathered on the forums so far... &#34;and if you STILL need improvement get an Oak.&#34; Imagine implementing AES encryption, ethernet/Wifi, and SD/FAT on a FPGA with VHDL.
&#60;/p&#62;</description>
		</item>

	</channel>
</rss>
