<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Embedded Components and Tools Blog Center</title>
	<atom:link href="http://www.embeddedcomponents.com/blogs/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.embeddedcomponents.com/blogs</link>
	<description>The Home For Smart Reusable Code &#38; Circuits</description>
	<pubDate>Thu, 04 Dec 2008 01:55:11 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>The Marketing Bubble</title>
		<link>http://www.embeddedcomponents.com/blogs/2008/10/the-marketing-bubble/</link>
		<comments>http://www.embeddedcomponents.com/blogs/2008/10/the-marketing-bubble/#comments</comments>
		<pubDate>Thu, 09 Oct 2008 17:56:27 +0000</pubDate>
		<dc:creator>Ron Fredericks</dc:creator>
		
		<category><![CDATA[Component Marketing]]></category>

		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[Marketing]]></category>

		<category><![CDATA[Marketing Bubble]]></category>

		<category><![CDATA[Social Media]]></category>

		<category><![CDATA[Word-of-Mouth]]></category>

		<guid isPermaLink="false">http://www.embeddedcomponents.com/blogs/?p=191</guid>
		<description><![CDATA[


The marketing bubble&#8217;s effect on embedded device software developers 
Introduction
Ron Fredericks writes: In yesterday&#8217;s  marketing webinar: Beyond Monitoring: Managing Social Media Engagement by SocialRep&#8217;s CEO, Chris Kenton, viewers were riveted by his inside knowledge on social media&#8217;s  word-of-mouth marketing. Chris is well known for his combination of social media marketing knowledge as well [...]]]></description>
			<content:encoded><![CDATA[<style type="text/css">
<!--
.style2 {color: #808080}
.style4 {color: #808000}
.style5 {color: #804000}
-->
</style>
<p>The marketing bubble&#8217;s effect on embedded device software developers </p>
<h2>Introduction</h2>
<p>Ron Fredericks writes: In yesterday&#8217;s  marketing webinar: <a href="http://www.brighttalk.com/dcemail_redirect/webcast/778" title="Chris Kenton on Brighttalk.com" target="_blank">Beyond Monitoring: Managing Social Media Engagement</a> by<a href="http://www.socialrep.com/about.html" target="_blank"> SocialRep</a>&#8217;s CEO, <a href="http://www.chriskenton.com/" title="Chris's blog" target="_blank">Chris Kenton</a>, viewers were riveted by his inside knowledge on social media&#8217;s  word-of-mouth marketing. Chris is well known for his combination of social media marketing knowledge as well as his ability to strip away the <a href="http://www.tradepub.com/free/w_moti01/?p=w_moti01" title="Chris was the author of these useful tips" target="_blank">facts</a> from the <a href="http://www.sinotechblog.com.cn/en/2008/08/going-beyond-the-hype-of-social-media-marketing/" title="Chris is a good reference is this reference too" target="_blank">hype</a>. To set the stage, my own readers have found my marketing FAQ to be a very popular read for the embedded device software industry: <span class=black9><a href="http://www.embeddedcomponents.com/FAQ/FAQ_sales_performance_through_marketing.php" title="Improving Sales Performance Through Marketing  " target="_blank">Assessing marketing&rsquo;s critical role in organizational performance</a>. Read on to see if it will blend! </span><span class=black9><br /> <br />
 </span><br />
<a href="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2008/10/bubbles.jpg"><img src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2008/10/bubbles.jpg" alt="" title="My vision on social media microsites' affect on the marketing bubble" width="450" height="450" class="aligncenter size-full wp-image-224" /></a>
</p>
<p><span id="more-191"></span></p>
<h2><span class=black9>The Marking Bubble Defined</span></h2>
<p>Chris introduced us to the &ldquo;marketing bubble&rdquo;, a marketing event in progress now. Chris may be the first to realize and share the underlying problem so clearly. Marketing has always been a word-of-mouth vehicle since the beginning of human conversations - we&#8217;re just not old enough to know it! Check out the Word Of Mouth Marketing Association&#8217;s definition of <a href="http://womma.org/wom101/02" title="I've come to realize there is a professional association for nearly everthing in life" target="_blank">word of mouth marketing</a>. Chris made the case that professional marketers&#8217; tools over the past 130 years have managed to bypass the value of word of mouth by blasting their messages into public and commercial communities to literally overpower the word-of-mouth model using Print, Radio, TV, Mass Markets, and the Internet. Yet the marketing bubble is now bursting as the Internet continues to host an exploding number of social media tools: - tools that extend word of mouth conversation through online social media platforms, popular content management sites, and even  a new form of  in-person meet up tool that can quickly assemble like-minded individuals into localized events.  </p>
<p>Here is a short list of some of the more common word-of-mouth social media platforms that can be leveraged as microsites: </p>
<ul>
<li>LinkedIn: <a href="http://www.linkedintelligence.com/smart-ways-to-use-linkedin/" title="Here is a power user link to using linkedin - what, you thought this would be a dumb link to LinkedIn itself?" target="_blank">A how-to example</a></li>
<li>Squidoo: <a href="http://www.allbusiness.com/specialty-businesses/home-based-businesses/4353822-1.html" title="A short but effective blog post on how to use Squidoo" target="_blank">A how-to example</a></li>
<li>Facebook: <a href="http://www.clickz.com/showPage.html?page=3626825" title="Just a start, but I'm sure not going to stuff the facebook link itself here" target="_blank">A how-to example</a></li>
<li>YouTube: <a href="http://www.searchenginejournal.com/guide-to-video-marketing-on-youtube/6381/" target="a blog post on how to...">A how-to example</a> [<a href="http://www.blendtec.com/" title="Some say this works..." target="_blank">will it blend</a>]</li>
<li>Ning: <a href="http://www.ning.com/" target="_blank">A how-to example</a></li>
<li>Twitter: <a href="http://www.beingpeterkim.com/2008/10/thinking-throug.html" title="It's a big topic, here's one idea to get you started..." target="_blank">A how-to example</a></li>
<li>Meetup: <a href="http://writeideasmarketing.wordpress.com/2007/06/05/ideas-on-using-meetupcom-for-marketing/" title="I did not know this but social networks are as much about meeting people as it is about online conversaitons - maybe even more so" target="_blank">A how-to example</a></li>
</ul>
<p>These platforms are also some of the leading causes for the marketing bubble. Check out <a href="http://www.alexa.com/">http://www.alexa.com</a> for further research into tools that specialize by industry and/or region.</p>
<p>These microsites often include application programmable interfaces (API&#8217;s), news feeds, user profiles, links to friends, groups, photos/videos, chat, and their own markup languages to build relationships and quickly share short conversations. These features are a little different than the more traditional social media platforms such as blogs, forums, wikis, chat, and idea managers.</p>
<h2>Word-of-Mouth Customer Relationship Lifecycle</h2>
<p>Chris presents an integrated marketing plan that starts with  several forms of monitoring to measure influential conversations followed by use of a wide selection of social media tools. </p>
<h3>Monitoring Social Networks: Metrics </h3>
<p>Monitoring social media activity is one of the basic requirements to managing social media engagements. A company starting up with a social media marketing program nearly always intends to find and engage with their most influential online customers. But Chris goes on to point out that companies  often fail in their use of social media marketing tools. The problem boils down to the fine art of adapting to the trends their team discovers after their initial engagements with social media. I call this the <a href="http://www.webanalyticsassociation.org/education/certification/knowledge/analyticalculture/" title="Try this link to avoid watching the train wreck..." target="_blank">company&#8217;s analytics culture</a>. There are thee areas that a company can monitor:</p>
<ul>
<li>Media: The web pages and web sites that customers use or visit [<span class="style4">commonly monitored</span>] </li>
<li>Technology: The technology behind a company&rsquo;s products [<span class="style4">often ignored</span>], and </li>
<li>Finance: The financial goals surrounding a company&rsquo;s sales activity [<span class="style4">often ignored</span>].</li>
</ul>
<p>The problem stems from a company&#8217;s tendency to focus too much on web page tools that <a href="http://www.emergence-media.com/2008/04/social-media-monitoring-broken-conversations-broken-tools/" title="This link touches on a neat subject - cross platform monitoring tools" target="_blank">monitor media</a>, and in so doing, fails to develop an adaptable action plan that includes the other two key domains of marketing operations: technology and finance. After Chris pointed this out in his webinar, it seems very clear to me that a company needs more than trends in page clicks or page visitors to build the business case for change within a company&#8217;s executive team decision-makers. Two solutions that have become popular by social marketers in bridging the gap between initial engagement, and adapting their business activities towards the needs of the community, are in the reuse of these two popular tools already in use by most companies:</p>
<ul>
<li> Integration of the company&#8217;s Goggle <a href="https://adwords.google.com/support/bin/answer.py?answer=64886&#038;hl=en_US" title="A little how-to on using adwords..." target="_blank">AdWords</a> data, and the </li>
<li>Integration of the company&rsquo;s CRM &ndash; SalesForce.com in particular. </li>
</ul>
<h3>Using Monitored Results: Analytics </h3>
<p>Chris and <a href="http://www.kaushik.net/avinash/2007/12/web-metrics-demystified.html" target="I thought this would  serve for a little background...">others</a> point out that although the use of CRM tools are well intentioned &ndash; a large percentage of marketers do not get the needed monitoring data to successfully adapt to changes or to meet the changing  needs within the company&rsquo;s community. Chris describes how a company can use their CRM as part of an integrated analytics strategy:</p>
<ul>
<li>Use reports and analytics stored within the CRM</li>
<li>Integration of a word-of-mouth program integrated with the CRM</li>
<li>Creation of an advisory board from the most influential customers identified from CRM </li>
</ul>
<h3>Building a Program  </h3>
<p>Chris then presented a Word-of-Mouth program built around a Customer Relationship Lifecycle. He goes over some details, shows some steps to be taken, and highlights a case study. I summarize his program from a B2C perspective here: </p>
<ol>
<li><strong>Awareness:</strong>
<ul>
<li><span class="style2">Value: Branding</span></li>
<li class="style4">Tools: Web ads, Search engine optimization or marketing, Viral video, Targeted community sponsorship</li>
<li class="style5">Marketing framework: Conversation + Content</li>
</ul>
</li>
<li><strong>Knowledge:</strong>
<ul>
<li><span class="style2">Value: Branding and Marketing</span> </li>
<li class="style4">Tools: Landing pages, Microsites, and Webinars</li>
<li class="style5"> Marketing framework: Conversation + Content + Community</li>
</ul>
</li>
<li><strong>Consideration:</strong>
<ul>
<li><span class="style2">Value: Branding, Marketing, and Sales</span></li>
<li class="style4">Tools: Reviews &amp; comparisons, Hosted chat, and Webinars</li>
<li class="style5">Marketing framework: Conversation + Content + Community</li>
</ul>
</li>
<li><strong>Selection</strong> (or when a customer takes the desired action like buys the product):
<ul>
<li class="style2">Value: Branding, Marketing, and Sales</li>
<li class="style4">Tools: Online discount offers, and Hosted chat</li>
<li class="style5">Marketing framework: Conversation + Content + Community + Customer advisory council</li>
</ul>
</li>
<li><strong>Satisfaction:</strong>
<ul>
<li class="style2">Value: Branding, Marketing, and Sales</li>
<li class="style4">Tools: Surveys, Support forum, Support chat, and Customer communities</li>
<li class="style5">Marketing framework: Conversation + Content + Community + Customer advisory council</li>
</ul>
</li>
<li><strong>Advocacy:</strong>
<ul>
<li class="style2">Value: Branding and Marketing</li>
<li class="style4">Tools: Referral offers, Peer forums, Product networks, and Consumer communities</li>
<li class="style5">Marketing framework: Conversation + Content + Community + Customer advisory council</li>
</ul>
</li>
<li><strong>Loyalty:</strong>
<ul>
<li class="style2">Value: Branding</li>
<li class="style4">Tools: Discounts, Insider forums, Product networks, and Customer communities</li>
<li class="style5">Marketing framework: Conversation + Content + Community + Customer advisory council</li>
</ul>
</li>
</ol>
<p>Some steps along the way in the execution of a word-of-mouth  customer relationship lifecycle program:</p>
<ul>
<li>Engage in useful conversations:
<ul>
<li>Targeted monitoring and metrics, </li>
<li>Managed engagement, </li>
<li>Trend tracking, </li>
<li>Media, pundit, and influencer profiling.</li>
</ul>
</li>
<li>Create a cross-functional Social Media A-Team:
    </li>
</ul>
<ul>
<li>Marketing,</li>
<li>PR,</li>
<li>Product marketing,</li>
<li>Sales, </li>
<li>Customer service,</li>
<li>Engineering, and </li>
<li>Legal.</li>
</ul>
<li>Assign a domain to each member:
<ul>
<li> Where are people talking about your domain,</li>
<li>What are people saying, topics, trends,</li>
<li>What opportunities are there to get involved,</li>
<li>What do we want to spend energy talking about.</li>
</ul>
</li>
<li>Create a place were you can profile these domains, aggregate, and share information:
<ul>
<li>Meet weekly</li>
</ul>
</li>
<li>Assign at least one &ldquo;SocialRep&rdquo; to manage the engagement process</li>
<li>Buy a solution only when the process is well defined and in place</li>
<li>Test and continually question monitoring metrics</li>
<li>Hire a Marketing Engineer, to address data integration</li>
<h2>Some Final Thoughts For Embedded Device  Software Developers</h2>
<p>Most of what I summarize above is focused on B2C relationships and comes out of my review of Chris Kenton&#8217;s great webinar:  <a href="http://www.brighttalk.com/dcemail_redirect/webcast/778" title="Chris Kenton on Brighttalk.com" target="_blank">Beyond Monitoring: Managing Social Media Engagement</a>. Of course I added my own knowledge and some additional references to help my readers get a fast overview of the landscape. </p>
<p>Building a social media marketing program would have some  differences when it comes to software developers focused on embedded devices including:</p>
<ul>
<li> A smaller volume of activity</li>
<li>A scarcity of good marketers and public communicators with a working knowledge of the deeply technical subject matter and its assocated value chain</li>
<li>A larger barrier between the engineers who make and use software:
<ul>
<li>Those that  build the software tools targeting a wide variety of programmers, engineers, and architects, </li>
<li>Those that create the run-time device optimized software platforms targeting embedded software engineers, and </li>
<li>Those that build the differentiating applications targeting the end user.</li>
</ul>
</li>
<li> A different marketing framework focused on the collective business and not the individual:
<ul>
<li>See <a href="http://www.embeddedcomponents.com/FAQ/How_to_approach_a_gorilla_partnership.pdf" title="My FAQ on building businesses with word of mouth from business to business" target="_blank">Four Steps to Creating a Gorilla Partnership</a> for some insight on building business-to-business frameworks</li>
<li>Perhaps the framework will have unique features for open-source vs. OEM software license models </li>
</ul>
</li>
<li>Look for social media marketing tools that integrate with software developer frameworks, perhaps as plugins
<ul>
<li>Basic collaboration for developers looks like code check-in and check-out for global teams, not like a tweet.</li>
<li>Maybe the next tweet will be a twitter plugin that adds another Eclipse perspective, for example. </li>
</ul>
</li>
</ul>
<p>Yet there can be no doubt that the short word-of-mouth conversations on microsites will burst the marketing bubble. This would be true for any marketer planning there next engagement, for businesses focused on building software for embedded devices, or for the device manufacturer trying to leverage software developers. Chris Kenton&#8217;s marketing webinar: <a href="http://www.brighttalk.com/dcemail_redirect/webcast/778" title="Chris Kenton on Brighttalk.com" target="_blank">Beyond Monitoring: Managing Social Media Engagement</a> is a good place to start building a word-of-mouth marketing plan. His offering demonstrates the most integrated set of tools I&#8217;ve seen - to build a substantial word-of-mouth marketing program. </p>
<p>Thanks to Chis for making it very clear that social media word-of-mouth marketing is not a program to be considered independently of other marketing activities. Instead it&#8217;s just a mater of time before the bubble bursts in your market sector. The real question is more of when, than if, a company should add word-of-mouth social media tools to their integrated marketing strategy. </p>
<p>&nbsp; </p>
<p>Technorati Tags: <a href="http://technorati.com/tag/marketing+bubble" rel="tag">marketing bubble</a>, <a href="http://technorati.com/tag/software+developer" rel="tag">software developer</a>, <a href="http://technorati.com/tag/Ron+Fredericks" rel="tag">Ron Fredericks</a>, <a href="http://technorati.com/tag/SocialRep" rel="tag">SocialRep</a>, <a href="http://technorati.com/tag/Chris+Kenton" rel="tag">Chris Kenton</a>, <a href="http://technorati.com/tag/social+media" rel="tag">social media</a>, <a href="http://technorati.com/tag/marketing" rel="tag">marketing</a>, <a href="http://technorati.com/tag/embedded+device" rel="tag">embedded device</a>, <a href="http://technorati.com/tag/software" rel="tag">software</a>, <a href="http://technorati.com/tag/word-of-mouth" rel="tag">word-of-mouth</a>, <a href="http://technorati.com/tag/Print" rel="tag">Print</a>, <a href="http://technorati.com/tag/Radio" rel="tag">Radio</a>, <a href="http://technorati.com/tag/TV" rel="tag">TV</a>, <a href="http://technorati.com/tag/Mass+Markets" rel="tag">Mass Markets</a>, <a href="http://technorati.com/tag/Internet" rel="tag">Internet</a>, <a href="http://technorati.com/tag/social+media" rel="tag">social media</a>, <a href="http://technorati.com/tag/LinkedIn" rel="tag">LinkedIn</a>, <a href="http://technorati.com/tag/Squidoo" rel="tag">Squidoo</a>, <a href="http://technorati.com/tag/Facebook" rel="tag">Facebook</a>, <a href="http://technorati.com/tag/YouTube" rel="tag">YouTube</a>, <a href="http://technorati.com/tag/Ning" rel="tag">Ning</a>, <a href="http://technorati.com/tag/Twitter" rel="tag">Twitter</a>, <a href="http://technorati.com/tag/Meetup" rel="tag">Meetup</a>, <a href="http://technorati.com/tag/microsites" rel="tag">microsites</a>, <a href="http://technorati.com/tag/blogs" rel="tag">blogs</a>, <a href="http://technorati.com/tag/forums" rel="tag">forums</a>, <a href="http://technorati.com/tag/wikis" rel="tag">wikis</a>, <a href="http://technorati.com/tag/chat" rel="tag">chat</a>, <a href="http://technorati.com/tag/idea+managers" rel="tag">idea managers</a>, <a href="http://technorati.com/tag/Customer+Relationship+Lifecycle" rel="tag">Customer Relationship Lifecycle</a>, <a href="http://technorati.com/tag/conversations" rel="tag">conversations</a>, <a href="http://technorati.com/tag/analytics" rel="tag">analytics</a>, <a href="http://technorati.com/tag/Media" rel="tag">Media</a>, <a href="http://technorati.com/tag/Technology" rel="tag">Technology</a>, <a href="http://technorati.com/tag/Finance" rel="tag">Finance</a>, <a href="http://technorati.com/tag/Goggle" rel="tag">Goggle</a>, <a href="http://technorati.com/tag/AdWords" rel="tag">AdWords</a>, <a href="http://technorati.com/tag/CRM" rel="tag">CRM</a>, <a href="http://technorati.com/tag/SalesForce.com" rel="tag">SalesForce.com</a>, <a href="http://technorati.com/tag/Awareness" rel="tag">Awareness</a>, <a href="http://technorati.com/tag/Knowledge" rel="tag">Knowledge</a>, <a href="http://technorati.com/tag/Consideration" rel="tag">Consideration</a>, <a href="http://technorati.com/tag/Selection" rel="tag">Selection</a>, <a href="http://technorati.com/tag/Satisfaction" rel="tag">Satisfaction</a>, <a href="http://technorati.com/tag/Advocacy" rel="tag">Advocacy</a>, <a href="http://technorati.com/tag/Loyalty" rel="tag">Loyalty</a>, <a href="http://technorati.com/tag/Social+Media+A-Team" rel="tag">Social Media A-Team</a>, <a href="http://technorati.com/tag/Marketing+Engineer" rel="tag">Marketing Engineer</a>, <a href="http://technorati.com/tag/collaboration" rel="tag">collaboration</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.embeddedcomponents.com/blogs/2008/10/the-marketing-bubble/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Setting up Drupal 6.4 as a multi-user blog site</title>
		<link>http://www.embeddedcomponents.com/blogs/2008/09/setting-up-drupal-64-as-a-multi-user-blog-site/</link>
		<comments>http://www.embeddedcomponents.com/blogs/2008/09/setting-up-drupal-64-as-a-multi-user-blog-site/#comments</comments>
		<pubDate>Fri, 19 Sep 2008 19:05:20 +0000</pubDate>
		<dc:creator>Ron Fredericks</dc:creator>
		
		<category><![CDATA[Drupal]]></category>

		<category><![CDATA[Web Components]]></category>

		<category><![CDATA[Akismet]]></category>

		<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.embeddedcomponents.com/blogs/?p=186</guid>
		<description><![CDATA[Ron Fredericks writes: I finally got around to cleaning up my old Drupal 5 site. The solution was to simply start over with Drupal 6.4 - the current stable release.  The clean-up was necessary because too many spammers had flooded my old Drupal 5 site.  Although there are many core modules bundled with [...]]]></description>
			<content:encoded><![CDATA[<p>Ron Fredericks writes: I finally got around to cleaning up my old Drupal 5 site. The solution was to simply start over with Drupal 6.4 - the current stable release.  The clean-up was necessary because too many spammers had flooded my old Drupal 5 site.  Although there are many core modules bundled with a new Drupal installation, I discovered the hard way that some very important extra modules must be added from the excellent community of Drupal contributors.  A good anti-spam module is a case in point.</p>
<p>My WordPress blog on this site is well protected thanks to Akismet.  They also have a Drupal project too: <a href="http://drupal.org/project/akismet">drupal.org/project/akismet</a></p>
<p>You can follow my Drupal site blog - as a work in progress - from here:<br />
<a href="http://www.ronfredericks.net/drupal-6.4/?q=blog/1">www.ronfredericks.net/drupal-6.4</a></p>
<p>Technorati Tags: <a href="http://technorati.com/tag/Ron+Fredericks" rel="tag">Ron Fredericks</a>, <a href="http://technorati.com/tag/Drupal" rel="tag">Drupal</a>, <a href="http://technorati.com/tag/Akismet" rel="tag">Akismet</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.embeddedcomponents.com/blogs/2008/09/setting-up-drupal-64-as-a-multi-user-blog-site/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Introducing 74HC193 Simulation to LTspice</title>
		<link>http://www.embeddedcomponents.com/blogs/2008/04/74hc193-for-ltspice-switchercadiii/</link>
		<comments>http://www.embeddedcomponents.com/blogs/2008/04/74hc193-for-ltspice-switchercadiii/#comments</comments>
		<pubDate>Mon, 21 Apr 2008 20:52:45 +0000</pubDate>
		<dc:creator>Ron Fredericks</dc:creator>
		
		<category><![CDATA[Component Projects]]></category>

		<category><![CDATA[Component Technology]]></category>

		<category><![CDATA[Electronic Components]]></category>

		<category><![CDATA[LTspice/SwitcherCAD III]]></category>

		<category><![CDATA[circuit]]></category>

		<category><![CDATA[ltspice]]></category>

		<category><![CDATA[schematic]]></category>

		<category><![CDATA[simulation]]></category>

		<guid isPermaLink="false">http://www.embeddedcomponents.com/blogs/2008/04/74hc193-for-ltspice-switchercadiii/</guid>
		<description><![CDATA[Ron Fredericks writes: I have completed the design and test of a new component for LTspice/SwitcherCAD III circuit simulation and schematic capture.  In a previous post I discussed my interest in the 74193 presettable synchronous 4-bit binary up/down counter IC for a digital volume control circuit I am building.  The circuit simulation described [...]]]></description>
			<content:encoded><![CDATA[<p>Ron Fredericks writes: I have completed the design and test of a new component for LTspice/SwitcherCAD III circuit simulation and schematic capture.  In a <a href="http://www.embeddedcomponents.com/blogs/2008/04/new-gate-design-using-ltspiceswitchercad-iii/" title="Simulating the 555 IC with LTspice">previous post</a> I discussed my interest in the 74193 presettable synchronous 4-bit binary up/down counter IC for a digital volume control circuit I am building.  The circuit simulation described below focuses on how to simulate the 74HC193 IC, but timing and voltage parameters built into this design allow a designer to easily simulate other variants of this IC from high speed Si-gate CMOS HC and HCT devices to low power Schottky TTL devices. </p>
<p>All circuits related to this 74HC193 simulation are available <a href="http://www.embeddedcomponents.com/blogs/2008/04/74hc193-for-ltspice-switchercadiii/#download">here></a></p>
<h3>The 74HC193 Component</h3>
<p>See figure 1 below for a screen shot of the completed design. The circuit was built from the digital gates in the component library supplied with the original Linear Technology&#8217;s free LTspice tool.  </p>
<p><img id="image167" height="360" alt="74HC193 Circuit and Related Components" border="2" src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2008/04/74hc193.png" /><br />
<font color ="#999999">Figure 1 - 74HC193 Circuit and Related Components</font></p>
<p>View <a id=p169 href="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2008/04/74hc193circuit.htm">larger image></a></p>
<p>To keep the design looking like the original data sheet logic diagram, as published by companies that include NXP Semiconductors and Texas Instruments, a custom &#8220;T notS-R FlipFlop&#8221; subcomponent and corresponding assembly file was first created. This subcomponent was reused 4 times in the main IC logic diagram. An assembly file called 74hc193.asy was also created. It includes all pins used on the commercial IC except ground and Vcc. The ICâ€™s internal power supply is not simulated by the Linear Technologies&#8217; gates, and so they are not used or required in this design either.  </p>
<p>Each gate within the design has a few variables assigned to them so that the IC remains flexible and easy to reuse in new projects:</p>
<ul>
<li><strong>tdgate</strong> <img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_994.5_17fb99174b442102b6a6847dc6665fb4.png" style="vertical-align:-5.5px; display: inline-block ;" alt="right" title="right"/> td (propagation time delay assigned to each gate)</li>
<li><strong>tdgate2</strong> <img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_994.5_17fb99174b442102b6a6847dc6665fb4.png" style="vertical-align:-5.5px; display: inline-block ;" alt="right" title="right"/> td (propagation time delay assigned to the D FlipFlop)</li>
<li><strong>tripdtgate</strong> <img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_994.5_17fb99174b442102b6a6847dc6665fb4.png" style="vertical-align:-5.5px; display: inline-block ;" alt="right" title="right"/> tripdt (td&#8217;s accuracy band assigned to each gate including the D FlipFlop)</li>
<li><strong>vhighgate</strong> <img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_994.5_17fb99174b442102b6a6847dc6665fb4.png" style="vertical-align:-5.5px; display: inline-block ;" alt="right" title="right"/> logical high value for each gate and D FlipFlop</li>
<li><strong>vlowgate</strong> <img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_994.5_17fb99174b442102b6a6847dc6665fb4.png" style="vertical-align:-5.5px; display: inline-block ;" alt="right" title="right"/> logical low value for each gate and D FlipFlop</li>
</ul>
<p>These variables can be assigned their corresponding time and voltage values using a .param statement placed in the main circuit. These values are then within scope for automatic reuse by the 74HC193 component and flipflop subcomponent simulations. Below is an example of how parameter assignment can be made (as used in the test circuit described next):</p>
<p><strong>.param tdgate=10n tdgate2=3*tdgate tripdtgate=1n vhighgate=5v vlowgate=0v</strong></p>
<p><span id="more-166"></span></p>
<h3>The Test Circuit</h3>
<p>See figure 2 below for a screen shot of the completed simulation test circuit. </p>
<p><img id="image170" height="360" alt="74HC193 Simulation Test Circuit and Truth Table Waveform Analysis" border="2" src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2008/04/74hc193_test.png" /><br />
<font color ="#999999">Figure 2 - 74HC193 Test Circuit and Truth Table Waveforms</font></p>
<p>View <a id="p172" title="74HC193 Simulation Test Circuit and Annotated Waveform Analysis (larger view)" href="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2008/04/74hc193test.htm">larger image></a></p>
<p>The test circuit demonstrates the use of the 74HC193 component assembly.  </p>
<p>Individual pulse voltages are applied to the component&#8217;s input pins to validate the new device:</p>
<ul>
<li><img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_995.5_6d82183393711c9b1ab6b0e3102185b9.png" style="vertical-align:-4.5px; display: inline-block ;" alt="MR" title="MR"/> (asynchronous master reset) <img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_995.5_f91752b3b400fe4c1d1c2bdc0dceb0e1.png" style="vertical-align:-4.5px; display: inline-block ;" alt="right" title="right"/> pulsed high at the beginning and end of simulation. Unlike the waveform often shown in the 74xx193 IC&#8217;s datasheet <a href="http://www.nxp.com/acrobat_download/datasheets/74HC_HCT193_3.pdf">sequence diagram</a> (see page 7 of 29 in this version published by NXP), the second reset pulse was added to insure that Q0 to Q3 output values really do reset. </li>
<li><img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_995.5_45326aefb78d2502a16491dc449562a7.png" style="vertical-align:-4.5px; display: inline-block ;" alt="overline{PL}" title="overline{PL}"/> (asynchronous parallel load) <img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_995.5_f91752b3b400fe4c1d1c2bdc0dceb0e1.png" style="vertical-align:-4.5px; display: inline-block ;" alt="right" title="right"/> pulsed low near beginning of simulation to set flip-flop outputs (Q0 to Q3) to the data input values (D0 to D3).</li>
<li><img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_995_d9e52d1c6acb120f13bdf78a0b5d6ac3.png" style="vertical-align:-5px; display: inline-block ;" alt="CPU" title="CPU"/> (rising edge triggered count up clock) <img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_995.5_f91752b3b400fe4c1d1c2bdc0dceb0e1.png" style="vertical-align:-4.5px; display: inline-block ;" alt="right" title="right"/> pulsed low several times to demonstrate both the count up behavior of the flip-flop outputs and the terminal count up, or carry, (<img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_995_af0e9973b5aa0259b7b56820755e15c2.png" style="vertical-align:-5px; display: inline-block ;" alt="overline{TCU}" title="overline{TCU}"/>) output.</li>
<li><img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_995_7499df48f6355f9e9c3882c5a1944355.png" style="vertical-align:-5px; display: inline-block ;" alt="CPD" title="CPD"/> (rising edge triggered count down clock) <img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_995.5_f91752b3b400fe4c1d1c2bdc0dceb0e1.png" style="vertical-align:-4.5px; display: inline-block ;" alt="right" title="right"/> pulsed low several times to demonstrate both the count down behavior of the flip-flop outputs and the terminal count down, or borrow, (<img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_995_5475adbefa3d9f7708302e8b715ef6f4.png" style="vertical-align:-5px; display: inline-block ;" alt="overline{TCD}" title="overline{TCD}"/>) output.</li>
<li><img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_995.5_0f9d76428568fcad70cb130b20f4638e.png" style="vertical-align:-4.5px; display: inline-block ;" alt="D0" title="D0"/> to <img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_995.5_17df00d6eeb8028d6540e0edf03d02c4.png" style="vertical-align:-4.5px; display: inline-block ;" alt="D3" title="D3"/> (data input pins) <img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_995.5_f91752b3b400fe4c1d1c2bdc0dceb0e1.png" style="vertical-align:-4.5px; display: inline-block ;" alt="right" title="right"/> tied to either logic-high or logic-low for this simulation. The logic-low is constructed from a zero voltage component instead of simply being tied to the LTspice global circuit common node (ground). This is because of the LTspice gate component&#8217;s special behavior in removing the simulation of individual gate pins tied to the common node ground.</li>
</ul>
<p>All voltage sources are referenced using the same high and low voltages described in the previous section: <strong>vhighgate</strong> and <strong>vlowgate</strong>. These values can be reassigned to all gates, all at once, using the .param statement discussed above. </p>
<p><a name="download"> </a></p>
<h3>Download the Circuits</h3>
<p>The 74HC193 component, subcomponent, assemblies, test circuits, and plot control files can all be downloaded without restriction in their use. The datasheet supplied does have some licensed use restrictions, as defined in its last page. The reference to the 74HC193 data sheet from NXP Semiconductors is in no way an endorsement of the company or its products, but it is the most recent and best documented behavior for this device that I have found.</p>
<ol>
<li>74hc193.74hct193.pdf 74HC193 data sheet published by NXP Semiconductors in Adobe Acrobat PDF format</li>
<li>74HC193_test.asc test circuit as shown in figure above</li>
<li>74HC193_test.plt plot control file used by the test circuit above</li>
<li>74HC103_test2.asc debug circuit used to debug errors in original design</li>
<li>74HC103_test2.plt plot control file used by the test2 circuit above</li>
<li>74HC193.asc circuit component</li>
<li>74HC193.asy circuit component assembly used in the test circuit above</li>
<li>TnotSRFlipFlopFromD.asc circuit subcomponent used by 74HC193.asc file above</li>
<li>TnotSRFlipFlopFromD.asy circuit subcomponent used by 74HC193.asc file above</li>
<li>The screenshots saved as png files - as shown in this blog post</li>
<li>readme.txt text file granting a license to use the 74HC193 simulation files listed above without restriction and without warranty</li>
</ol>
<p>Download the files listed above for your LTspice designs <a id=p173 href="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2008/04/74hc193_5v.zip">all in one zipped directory.</a></p>
<p>Technorati Tags: <a href="http://technorati.com/tag/Ron+Fredericks" rel="tag">Ron Fredericks</a>, <a href="http://technorati.com/tag/component" rel="tag">component</a>, <a href="http://technorati.com/tag/LTspice" rel="tag">LTspice</a>, <a href="http://technorati.com/tag/SwitcherCAD+III" rel="tag">SwitcherCAD III</a>, <a href="http://technorati.com/tag/circuit+simulation" rel="tag">circuit simulation</a>, <a href="http://technorati.com/tag/schematic+capture" rel="tag">schematic capture</a>, <a href="http://technorati.com/tag/74193" rel="tag">74193</a>, <a href="http://technorati.com/tag/IC" rel="tag">IC</a>, <a href="http://technorati.com/tag/circuit" rel="tag">circuit</a>, <a href="http://technorati.com/tag/simulation" rel="tag">simulation</a>, <a href="http://technorati.com/tag/timing" rel="tag">timing</a>, <a href="http://technorati.com/tag/voltage" rel="tag">voltage</a>, <a href="http://technorati.com/tag/CMOS" rel="tag">CMOS</a>, <a href="http://technorati.com/tag/Schottky" rel="tag">Schottky</a>, <a href="http://technorati.com/tag/TTL" rel="tag">TTL</a>, <a href="http://technorati.com/tag/Linear+Technology" rel="tag">Linear Technology</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.embeddedcomponents.com/blogs/2008/04/74hc193-for-ltspice-switchercadiii/feed/</wfw:commentRss>
		</item>
		<item>
		<title>New Gate Design Using LTspice/SwitcherCAD III</title>
		<link>http://www.embeddedcomponents.com/blogs/2008/04/new-gate-design-using-ltspiceswitchercad-iii/</link>
		<comments>http://www.embeddedcomponents.com/blogs/2008/04/new-gate-design-using-ltspiceswitchercad-iii/#comments</comments>
		<pubDate>Tue, 15 Apr 2008 08:24:05 +0000</pubDate>
		<dc:creator>Ron Fredericks</dc:creator>
		
		<category><![CDATA[Component Projects]]></category>

		<category><![CDATA[Component Technology]]></category>

		<category><![CDATA[Electronic Components]]></category>

		<category><![CDATA[LTspice/SwitcherCAD III]]></category>

		<guid isPermaLink="false">http://www.embeddedcomponents.com/blogs/2008/04/new-gate-design-using-ltspiceswitchercad-iii/</guid>
		<description><![CDATA[Ron Fredericks writes: recently I discovered that I was going to have to create my own IC component and symbol for my on-going digital volume control circuit simulation.  My first step was to check in with the LTspice forum on yahoo groups. On the forum I requested any previous design for the IC I [...]]]></description>
			<content:encoded><![CDATA[<p>Ron Fredericks writes: recently I discovered that I was going to have to create my own IC component and symbol for my on-going digital volume control circuit simulation.  My first step was to check in with the LTspice <a href="http://tech.groups.yahoo.com/group/LTspice/">forum on yahoo groups</a>. On the forum I requested any previous design for the IC I needed. I also asked the group&#8217;s readership if they thought it was correct to build a new IC from existing low level digital gates - gates that are already supplied with the LTspice distribution by Linear Technologies.</p>
<p>Well, I did not find a previous inventor for my IC simulation, but I did get confirmation that the gate build-up was a common strategy. And, this same forum engineer supplied me with a copy of an IC simulation of his own - one very similar to my IC requirement - he supplied a symbol and sample test bed to accelerate my learning curve.  Here is a <a href="http://tech.groups.yahoo.com/group/LTspice/message/21510">link</a> to my support dialog.</p>
<blockquote><p>I would like to thank Helmut Sennewald for his time and excellent service to the LTspice yahoo forum. It is his effort and many others who make this forum such a valuable community resource. This forum in turn, has made the LTspice/SwitcherCAD III circuit capture and spice tool a viable design tool for many embedded component users and EE designers.</p></blockquote>
<h3>Introducing the T S-R Flip-Flop</h3>
<p>To build my new IC, I had to build a new digital logic block. This component is a Toggle Flip-Flop with Set and Reset functions added. In this blog post I introduce my readers to this new component and share the simulation circuit for others to use and learn from.  </p>
<p>See the figure below for an initial design of the T S-R Flip-Flop, including a truth table in the form of a waveform diagram, the circuit, a pulse detector sub-circuit and their related assemblies.  This circuit is just an initial design because it uses an S-R Flip-Flop and a simple pulse detector sub-circuit for its clock.</p>
<p><img id="image154" height=360 alt="T S-R Flip-Flop and releated sub-circuits and assemblies" src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2008/04/tsrflipflop_test.png" /></p>
<p>View <a href="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2008/04/t-s-r_circuit.htm">larger image></a></p>
<h3>Final Design for the T S-R Flip-Flop</h3>
<p>This section of my post is an update, thanks to a review by Helmut Sennewald. See figure below for my final design of the Toggle S-R Flip-Flop. This design overcomes two problems in my initial design, both resolved by starting with the D Flip-Flop with its built-in clock. The reuse of this more full-featured LT supplied component in my design eliminated the home-brew pulse maker sub-circuit. And in so doing, the slower S-R Flip-Flop. Slower because I had to set the SpiceLine time delay to a minimum of 20 nanoseconds (or td >= 2x the gate time delay) to support the simulation of my simple pulse maker sub-circuit. The D Flip-Flop has an internal clock so I could eliminate the pulse maker sub-circuit. End result: one less sub-circuit and faster Flip-Flop simulation using a time delay set to a minimum of 10 nanoseconds (or td >= 1x the gate time delay). </p>
<p><img id="image163" height=360 alt="T S-R Flip-Flop (final design)" src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2008/04/tsrflipflopfromd_test.png" /></p>
<p>View <a href="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2008/04/t-s-r_circuitfromd.htm">larger image></a></p>
<h3>Download</h3>
<p>To test my knowledge of digital design using the LTspice tool, I created a number of similar flip-flop components which are included in the download:</p>
<ol>
<li>S-R Flip-Flop test circuit</li>
<li>S-R Flip-Flop with Enable gate and test circuit</li>
<li>S-R Flip-Flop with rising edge clock and test circuit</li>
<li>J-K Flip-Flop with rising edge clock and test circuit</li>
<li>D Flip-Flop with Enable gate and test circuit</li>
<li>T S-R Flip-Flop from S-R Flip-Flop and test circuit (initial design)</li>
<li>Rising Edge Pulse Detector (not high performance design)</li>
<li>T S-R Flip-Flop from D Flip-Flop and test circuit (final design)</li>
</ol>
<p>Download the components listed above for your LTspice designs all in <a id="p155" title="LTspice circuits and assemblies" href="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2008/04/tflipflop.zip">one zipped directory.</a></p>
<p>Technorati Tags: <a href="http://technorati.com/tag/Ron+Fredericks" rel="tag">Ron Fredericks</a>, <a href="http://technorati.com/tag/component" rel="tag">component</a>, <a href="http://technorati.com/tag/circuit" rel="tag">circuit</a>, <a href="http://technorati.com/tag/simulation" rel="tag">simulation</a>, <a href="http://technorati.com/tag/LTspice" rel="tag">LTspice</a>, <a href="http://technorati.com/tag/Linear+Technologies" rel="tag">Linear Technologies</a>, <a href="http://technorati.com/tag/Helmut+Sennewald" rel="tag">Helmut Sennewald</a>, <a href="http://technorati.com/tag/embedded" rel="tag">embedded</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.embeddedcomponents.com/blogs/2008/04/new-gate-design-using-ltspiceswitchercad-iii/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Simulating the 555 IC with LTspice</title>
		<link>http://www.embeddedcomponents.com/blogs/2008/03/simulating-the-555-ic-with-ltspice/</link>
		<comments>http://www.embeddedcomponents.com/blogs/2008/03/simulating-the-555-ic-with-ltspice/#comments</comments>
		<pubDate>Thu, 27 Mar 2008 06:53:30 +0000</pubDate>
		<dc:creator>Ron Fredericks</dc:creator>
		
		<category><![CDATA[Component Projects]]></category>

		<category><![CDATA[Component Technology]]></category>

		<category><![CDATA[Electronic Components]]></category>

		<category><![CDATA[LTspice/SwitcherCAD III]]></category>

		<guid isPermaLink="false">http://www.embeddedcomponents.com/blogs/2008/03/simulating-the-555-ic-with-ltspice/</guid>
		<description><![CDATA[Ron Fredericks writes: I was designing a simple CMOS timer circuit around a 555 chip this evening. It might be the heart beat for a new digital volume control I have been thinking about. Normally I look for my breadboard and parts box but this time I thought I would try out Linear Technologies LTspice/SwitcherCAD [...]]]></description>
			<content:encoded><![CDATA[<p>Ron Fredericks writes: I was designing a simple CMOS timer circuit around a 555 chip this evening. It might be the heart beat for a new digital volume control I have been thinking about. Normally I look for my breadboard and parts box but this time I thought I would try out Linear Technologies <a href="http://www.linear.com/designtools/software/index.jsp#Spice">LTspice/SwitcherCAD III </a>workbench instead.</p>
<h3>SwCAD III First Time Use</h3>
<p>The tool is free and comes with a lot of <a href="http://tech.groups.yahoo.com/group/LTspice/">support</a>. I downloaded the software and installed it very easily on my Windows XP PC. It includes a graphical schematic design tool with lots of ready made simulated components, including an NE555 for my initial project.  Designing the circuit with the built-in CAD tool works very intuitively.  While the LTspice simulation took a bit of head scratching before it worked for me.  </p>
<p>I was able to configure and run the simulation using the drop down tools menu and the little &#8220;running person&#8221; icon on the tool bar. But all I could get out of the simulation was a black screen with voltage and timing ticks along the left and bottom edges. So my first problem was in realizing that the visual display would remain black and traceless until I put the mouse cursor over a wire then click. When the little instrument probe showed up as my mouse icon, I realized what was going on here. With the mouse click, waveform tracings would appear in the black panel. </p>
<p>My second problem was that the circuit would not oscillate. Not good for an oscillator design.  First, I forgot to connect the 555&#8217;s threshold + trigger pins to the R2-C2 node using the wire tool. But still no oscillation, just flat line traces were observed. Now I already know that getting circuits to oscillate follows Murphy&#8217;s Laws: <em>Oscillators remain stable, Amplifies and Buffers oscillate, whenever possible</em>.  I found a note on the <a href="http://www.oldschoolhacker.com/" title="Simulating Oscillators">Old School Hacker</a> blog with a fine solution. You must simulate the circuit with a power supply starting from 0 volts rather than just have an instant on  Vcc power supply.  </p>
<blockquote><p>In hind sight dah, its the initial transient response from the circuit&#8217;s components that kicks the oscillator into oscillating.</p></blockquote>
<p>After a little practice I improved the schematic diagram with the use of named nodes and seperation of the temporary load resistors R3 and R load from the more permanent circuit components. The load resistors are just place holders for a real load to be added to the circuit schematic next.  Look for my next blog post on this subject.</p>
<p>Finally, I used the cursor measurement facility built into the LTspice window (trace window). With this feature, I was able to make &#8220;real&#8221; measurements on the waveform for frequency and duty cycle.</p>
<h3>Circuit</h3>
<p>Here is what I was able to generate using the LTspice/SwitcherCAD III tool:</p>
<p><img id="image144" height=360 border=2 alt="LTspice/SwitcherCAD III circuit diagram and waveforms" src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2008/04/ltspice_555_astable-flipflo.png" /></p>
<p>View <a id=p147 href="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2008/03/555_circuit.htm">larger image></a><br />
<a id=p148 href="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2008/04/555astableflipflop.zip" title="Download file for reuse in your LTspice/switcherCAD III workbench">Download 555 Astable Flip-Flop Schematic Circuit Diagram></a></p>
<p>Referring to the figure above:<br />
&nbsp;&nbsp;&nbsp;<font color='green'>Green Trace</font> -> Output (IC 555 pin 3)<br />
&nbsp;&nbsp;&nbsp;<font color='blue'>Blue Trace</font> -> Trigger / Threshold (IC 555 pins 2 &#038; 6)<br />
&nbsp;&nbsp;&nbsp;<font color='red'>Red Trace</font> -> Discharge (IC 555 pin 7)</p>
<h3>The Astable Multivibrator</h3>
<p>The circuit shown above will trigger itself and free run as a multivibrator. The capacitor C<sub>2</sub> charges through resistors R<sub>1</sub> and R<sub>2</sub> yet discharges through R<sub>2</sub> only. Thus, the duty cycle (D) may be precisely set by the ratio of these two resistors. The capacitor charges and discharges between 1/3 Vcc and 2/3 Vcc. But the initial pulse charges C<sub>2</sub> starting from 0 Vcc and so this first pulse duty cycle is unique. Since the charge rate and the threshold levels are directly proportional to the supply voltage Vcc, the frequency of oscillation (f) is independent of the supply voltage.</p>
<table width="450" border="0" cellspacing="7" cellpadding="1">
<tr>
<th scope="col">Frequency Calculation</th>
<th scope="col">Duty Cycle Calculation</th>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td><img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_937_0a4fc1759fafb7a7634b3fc77ceeb31b.png" style="vertical-align:-63px; display: inline-block ;" alt="f = 1.38/{(R_1 + 2R_2)C_2}" title="f = 1.38/{(R_1 + 2R_2)C_2}"/></td>
<td><img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_975_ed669965d82f3bbcb24fbc9463a9a5ae.png" style="vertical-align:-25px; display: inline-block ;" alt="D = {tau}/T = {R_1 + R_2}/{R_1 + 2R_2}" title="D = {tau}/T = {R_1 + R_2}/{R_1 + 2R_2}"/></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td><img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_968_44b46a0eca31826e1f16b281718e56c1.png" style="vertical-align:-32px; display: inline-block ;" alt="1.7 hertz=1.38*10^3/{(150 + 2*332) ohm farads}" title="1.7 hertz=1.38*10^3/{(150 + 2*332) ohm farads}"/></td>
<td><img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_986_8b408382389e657bb36d9d66ca8d11d1.png" style="vertical-align:-14px; display: inline-block ;" alt="0.59~={150 + 332}/{150 + 2*332}" title="0.59~={150 + 332}/{150 + 2*332}"/></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>Measured = 1.8 hertz</td>
<td>Measured = 0.60</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>Where:<br />
&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_994.5_8039b4e0e6fe78bee7d3e5cfbfa343f0.png" style="vertical-align:-5.5px; display: inline-block ;" alt="f" title="f"/> is frequency in hertz<br />
&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_994.5_e7ad657626a39bcafcc8ce7c53d3901b.png" style="vertical-align:-5.5px; display: inline-block ;" alt="C" title="C"/> is capacitance in farads<br />
&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_994.5_1688316d15ac9218146e0f4ba5fc8d4f.png" style="vertical-align:-5.5px; display: inline-block ;" alt="R" title="R"/> is resistance in ohms</td>
<td>Where:<br />
&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_994.5_75b573a2a80f7d1f54f711b89d1a80fa.png" style="vertical-align:-5.5px; display: inline-block ;" alt="D" title="D"/> is duty cycle<br />
&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_994.5_fd5d70b980ec9c9c74f509da54de7e95.png" style="vertical-align:-5.5px; display: inline-block ;" alt="tau" title="tau"/> is non-zero output duration<br />
&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_994.5_72963b0e4d3e9a1c0e511dfb1ec25aab.png" style="vertical-align:-5.5px; display: inline-block ;" alt="T" title="T"/> is the period of the output<br />
&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_994.5_1688316d15ac9218146e0f4ba5fc8d4f.png" style="vertical-align:-5.5px; display: inline-block ;" alt="R" title="R"/> is resistance</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
<h3>Reference</h3>
<ul>
<li>555 Datasheet <a href="http://www.standardics.nxp.com/products/analog/datasheet/icm7555.pdf" title="General purpose CMOS timer">icm7555.pdf</a></li>
<li>Linear Technology&#8217;s SwitcherCADâ„¢ III <a href="http://www.linear.com/designtools/software/index.jsp#Spice" title="a free Spice III simulator, schematic capture and waveform viewer">Landing Page</a></li>
</ul>
<p>Technorati Tags: <a href="http://technorati.com/tag/Ron+Fredericks" rel="tag">Ron Fredericks</a>, <a href="http://technorati.com/tag/schematic" rel="tag">schematic</a>, <a href="http://technorati.com/tag/LTspice" rel="tag">LTspice</a>, <a href="http://technorati.com/tag/SwitcherCAD+III" rel="tag">SwitcherCAD III</a>, <a href="http://technorati.com/tag/simulator" rel="tag">simulator</a>, <a href="http://technorati.com/tag/Spice" rel="tag"> Spice</a>, <a href="http://technorati.com/tag/CAD" rel="tag"> CAD</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.embeddedcomponents.com/blogs/2008/03/simulating-the-555-ic-with-ltspice/feed/</wfw:commentRss>
		</item>
		<item>
		<title>WordPress Math Publisher Plugin Support</title>
		<link>http://www.embeddedcomponents.com/blogs/2008/03/wpmathpubsupport/</link>
		<comments>http://www.embeddedcomponents.com/blogs/2008/03/wpmathpubsupport/#comments</comments>
		<pubDate>Tue, 25 Mar 2008 05:57:25 +0000</pubDate>
		<dc:creator>Ron Fredericks</dc:creator>
		
		<category><![CDATA[Web Components]]></category>

		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.embeddedcomponents.com/blogs/2008/03/wpmathpubsupport/</guid>
		<description><![CDATA[Ron Fredericks writes: This is just a short post to point my readers to a new mathematics publishing plugin available from ECIâ€™s Blog Center. This plugin offers a simple alternative to the more standard approaches: XML&#8217;s MathML and Math into LaTeX.
WordPress Math Publisher plugin home page
www.embeddedcomponents.com/blogs/wordpress/wpmathpub/
Usage
An example of how it can be used is your [...]]]></description>
			<content:encoded><![CDATA[<p>Ron Fredericks writes: This is just a short post to point my readers to a new mathematics publishing plugin available from ECIâ€™s Blog Center. This plugin offers a simple alternative to the more standard approaches: XML&#8217;s MathML and Math into LaTeX.</p>
<p><strong>WordPress Math Publisher plugin home page</strong><br />
<a href="http://www.embeddedcomponents.com/blogs/wordpress/wpmathpub/">www.embeddedcomponents.com/blogs/wordpress/wpmathpub/</a></p>
<p><strong>Usage</strong></p>
<p>An example of how it can be used is your blog posts:</p>
<div class="ch_code_container" style="font-family: monospace;height:100%;">
<div style="">WordPress code&#8230;</div>
<style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">[</span>pmath size=<span style="color: #ff0000;">16</span><span style="color: #66cc66;">]</span><span style="color: #66cc66;">(</span>a^<span style="color: #ff0000;">2</span>+b^<span style="color: #ff0000;">2</span><span style="color: #66cc66;">)</span>=a^<span style="color: #ff0000;">2</span><span style="color: #ff0000;">+2</span>ab+b^<span style="color: #ff0000;">2</span><span style="color: #66cc66;">[</span>/pmath<span style="color: #66cc66;">]</span>     </div>
<style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">where: </div>
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">[</span>pmath size=<span style="color: #ff0000;">12</span><span style="color: #66cc66;">]</span>~a<span style="color: #66cc66;">[</span>/pmath<span style="color: #66cc66;">]</span> <span style="color: #00007f;">is</span> defined as a </div>
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">[</span>pmath size=<span style="color: #ff0000;">12</span><span style="color: #66cc66;">]</span>~b<span style="color: #66cc66;">[</span>/pmath<span style="color: #66cc66;">]</span> <span style="color: #00007f;">is</span> defined as b</div>
<style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
</div>
<p>Results in:</p>
<p><img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_971_faa83f9092391f02bcaf1275b43cb0ac.png" style="vertical-align:-29px; display: inline-block ;" alt="(a^2+b^2)=a^2+2ab+b^2" title="(a^2+b^2)=a^2+2ab+b^2"/> </p>
<p>where:<br />
<img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_994.5_78e46856d3aeb4c8b82c56ac5de87882.png" style="vertical-align:-5.5px; display: inline-block ;" alt="~a" title="~a"/> is defined as a<br />
<img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_994.5_c08f1be0410ab8f91a410454023f78be.png" style="vertical-align:-5.5px; display: inline-block ;" alt="~b" title="~b"/> is defined as b</p>
<p><strong>References:</strong><br />
&nbsp;&nbsp;Pascal Brachet&#8217;s phpmathpublisher<br />
&nbsp;&nbsp;&nbsp;&nbsp;Home: <a href="http://www.xm1math.net/phpmathpublisher/">www.xm1math.net/phpmathpublisher/</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;Usage: <a href="http://www.xm1math.net/phpmathpublisher/doc/help.html">www.xm1math.net/phpmathpublisher/doc/help.html</a><br />
&nbsp;&nbsp;Matteo Bertini&#8217;s WordPress plugin called PHP Math Publisher<br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.slug.it/naufraghi/programmazione-web/wpmathpublisher">www.slug.it/naufraghi/programmazione-web/wpmathpublisher</a><br />
&nbsp;&nbsp;Randy Morrow&#8217;s WordPress plugin called Axiom<br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://wordpress.org/extend/plugins/axiom/#post-2794">wordpress.org/extend/plugins/axiom/#post-2794</a></p>
<p>Technorati Tags: <a href="http://technorati.com/tag/Ron+Fredericks" rel="tag">Ron Fredericks</a>, <a href="http://technorati.com/tag/Embedded+Components" rel="tag"> Embedded Components</a>, <a href="http://technorati.com/tag/WP+Math+Pub" rel="tag"> WP Math Pub</a>, <a href="http://technorati.com/tag/wpmathpub" rel="tag"> wpmathpub</a>, <a href="http://technorati.com/tag/math" rel="tag"> math</a>, <a href="http://technorati.com/tag/mathematics" rel="tag"> mathematics</a>, <a href="http://technorati.com/tag/publish" rel="tag"> publish</a>, <a href="http://technorati.com/tag/plugin" rel="tag"> plugin</a>, <a href="http://technorati.com/tag/phpmathpublisher" rel="tag"> phpmathpublisher</a>, <a href="http://technorati.com/tag/axiom" rel="tag"> axiom</a>, <a href="http://technorati.com/tag/MathML" rel="tag"> MathML</a>, <a href="http://technorati.com/tag/LaTeX" rel="tag"> LaTeX</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.embeddedcomponents.com/blogs/2008/03/wpmathpubsupport/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How to Leverage the Value of a Board Support Package</title>
		<link>http://www.embeddedcomponents.com/blogs/2007/11/how-to-leverage-the-valule-of-a-board-support-package/</link>
		<comments>http://www.embeddedcomponents.com/blogs/2007/11/how-to-leverage-the-valule-of-a-board-support-package/#comments</comments>
		<pubDate>Wed, 21 Nov 2007 10:41:09 +0000</pubDate>
		<dc:creator>Ron Fredericks</dc:creator>
		
		<category><![CDATA[Component Technology]]></category>

		<category><![CDATA[Embedded C/C++]]></category>

		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.embeddedcomponents.com/blogs/2007/11/how-to-leverage-the-valule-of-a-board-support-package/</guid>
		<description><![CDATA[Ron Fredericks writes: There are three separate views to what defines an effective Board Support Package (BSP).  I believe each of these views is correct as independent descriptions of a BSP. But together these views provide insight into the embedded target from equally important perspectives or engineering disciplines.  Read this post to learn [...]]]></description>
			<content:encoded><![CDATA[<p>Ron Fredericks writes: There are three separate views to what defines an effective Board Support Package (BSP).  I believe each of these views is correct as independent descriptions of a BSP. But together these views provide insight into the embedded target from equally important perspectives or engineering disciplines.  Read this post to learn more about the essence of embedded systems and how Wind Riverâ€™s VxWorks BSP architecture has been a critical success factor in comparison to many other real-time embedded operating system executives and kernels available today. </p>
<p>I chose to discuss Wind River&#8217;s VxWorks BSP because of my familiarity with their product line, my understanding of their BSP as a competitive product compared to other real-time kernels, and because of my industry accomplishments working with Wind River&#8217;s BSPs:  </p>
<ul><FONT COLOR="#cc6600"></p>
<li>
Ron Fredericks wins Wind River&#8217;s prestigious <em><strong>Navigation Award</strong></em> for designing, launching, and marketing the first online interactive social network for BSP&#8217;s. <a href="http://www.embeddedcomponents.com/awards/publishing_awards_01.php#BSPWeb">more></a>
</li>
<li>
Ron Fredericks wins Aiysis&#8217; <em><strong>Million Dollar Club Award</strong></em> for nurturing a Wind River partnership between VxWorks and Aiysis DriveWay BSP tool kit that generated over one million in annual sales. <a href="http://www.embeddedcomponents.com/awards/sales_awards_01.php#BSP_Award">more></a>
</li>
<li>
Ron Fredericks co-author&#8217;s an article with Xilinx on <em><strong>How to Design Field Upgradable Systems</strong></em> based on FPGA Internet connectivity with VxWorks BSP&#8217;s. <a href="http://www.embeddedcomponents.com/awards/published_articles_01.php#Upgradable_Systems">more></a>
</li>
<li>
Ron Fredericks produces an online video: <em><strong>How to Prototype a Device Driver [or BSP] in Less Than - Wow! - 5 Minutes</strong></em> for a Freescale application processor / communications co-processor System on Chip (SoC). <a href="http://www.embeddedcomponents.com/technical/device_driver_immr/video_demo.php">more></a>
</li>
<p></font></ul>
<p>A similar high level discussion can not be made for most embedded Windows or embedded Linux BSP&#8217;s today. This is because the BSP for these monolithic kernels are not as modular as a real-time executive kernel such as VxWorks.  Indeed other real-time kernel vendors can and do take advantage of the BSP too. But, the VxWorks BSP just took more advantage of this natural separation between board support and kernel tasks earlier in the marketplace and has been an advantage for its customers as a result ever since.</p>
<p><img id="image97" height=163 alt="Target Board with BSP connected to a host workstation" src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2007/11/bsp_overview.gif" /><br />
Figure 1 - Embedded device with BSP connected to a host workstation</p>
<p>As shown in Figure 1, most BSP&#8217;s today, even those for embedded Windows and embedded Linux, do have a robust set of boot options. In many cases a BSP can be used on its own to network attach to a shared file system where the full operating system and application can be loaded. In this way, a device under development need not be the device where development takes place. The BSP in this case forms the basis for a cross-platform development environment - a big plus for developers of embedded systems. Developers often expect cross-platform development to include a BSP with a limited network stack to load new code onto the target hardware during a cold reset. The BSP might use JTAG on-chip run-time control, RS232 serial port, FTP, Bootp, TFTP and RARP, or even a command shell with a full network stack, as the boot loading protocol. But what ever host to target connectivity is used, cross-development allows a high end workstation to be used for time-saving development along with an easy way to download the resulting compiled relocatable object code or a linked and located image onto an embedded target. </p>
<p>For hardware vendors, the BSP is a very useful partner tool. If a hardware vendor makes a set of boards along with a bus pre-assembled as a subsystem or just a single board computer, the BSP allows its clients to leverage this hardware for software development right away. So a hardware vendor can select major operating systems that meet the needs of its target client base and offer a BSP suitable for these operating systems.  Usually the BSP is not a licensed product from the operating system vendor and can be bundled royalty free or under very libral license fee conditions. In this way, the operating system vendor or the open-source community, can partner with this hardware platform as a known reference for direct end products or for development of custom products. The horrible alternative is a slow hardware bring-up using new hardware for the first time to build a unique BSP - a very slow and expensive procedure where few software debug tools are available. JTAG or other N-wire run-control devices can be used with an operating system vendor&#8217;s debugger in some cases when a robust BSP is not already available. Silicon vendors and I/O device vendors can leverage this technical marketing strategy too.</p>
<p>I encourage Microsoft and embedded Linux communities to consider improving their BSP strategy to deliver more value from a separate BSP structure too.  I also encourage my readers to go ahead and submit comments to this blog post if you know of other vendors with good BSP designs as the marketplace is always changing.</p>
<p><span id="more-94"></span></p>
<h3>View #1: A BSP is the kernelâ€™s interface to device drivers</h3>
<p>A VxWorks Board Support Package provides a standardized interface between hardware and the operating system. A BSP does not directly access hardware.  Although a BSP does provide an interface to device drivers which in turn allows the kernel to communicate with the hardware&#8217;s assets such as device controllers, the microprocessor (CPU), memory, internal and external busses. </p>
<p><img id="image93" height=359 alt="Figure 1 - BSP is an interface between kernel and hardware " src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2007/10/bsp-line-drawing.gif" /><br />
Figure 2 - BSP is an interface between kernel and hardware </p>
<p>Figure 2 demonstrates how VxWorks and the developer&#8217;s application software remain hardware independent while the BSP provides an interface to the embedded system&#8217;s architecture and hardware assets. Wind River BSPs conform to a standard, introduced with VxWorks BSP Version 1.1. The standard is fully described in the Tornado BSP Developer&#8217;s Kit for VxWorks. The BSP provides a common application programming interface (API) and a stable environment for the real-time operating system. The standard interface defines both BSP conventions and BSP validation procedures.  </p>
<p>Wind River provides a standardized BSP validation procedure for engineers who are developing their own BSP&#8217;s. Validation is very efficient with a BSP designed for VxWorks because the BSP testing can be performed without having to test the operating system at the same time.  Unlike Wind River&#8217;s real-time operating systems, most operating systems can not separate the testing of the BSP from the testing of the operating system itself making code coverage during testing a much larger and more inaccurate process. The BSP validation test suite provided by Wind River is repeatable and as such can be performed by the company developing a BSP as well as by others because of this standard.  When I supported Wind River&#8217;s partners back in 2002, a partner could request that the WindLink partner program grant &#8220;Tornado Certified&#8221; status to a new BSP after passing the validation procedure as part of an overall certification process.</p>
<p>The validation procedure include tests for:<br />
â€¢	Package validation<br />
â€¢	Installation tests<br />
â€¢	Functional tests<br />
â€¢	Code review process including certification from the WindLink partner program</p>
<p>The Tornado BSP standard included conventions to be used by developers that fall into four main categories:<br />
â€¢	Coding Conventions<br />
â€¢	Documentation guidelines<br />
â€¢	BSP Packaging<br />
â€¢	Driver guidelines</p>
<p>Another strength of VxWorks is that it provides a high degree of architectural and hardware independence for application code because of this API. Application code and VxWorks can both more easily migrate from one architecture to an other because the BSP and related device drivers offer a consistent interface and modular design.  </p>
<blockquote><p>To further illustrate the BSP&#8217;s ability to interface hardware to software: Consider the process of laying carpet on your homeâ€™s floor.  The carpet layer uses two-sided sticky tape to quickly attach just about any style carpet to any architectural floor plan beneath it.  The BSP acts like this two-sided sticky tape attaching the embedded hardware to the operating system that uses it.</p></blockquote>
<h3>View #2: A BSP is a set of libraries offering a hardware abstraction layer to the kernel</h3>
<p>The BSP enforces a modular design by isolating hardware-specific functionally into a set of libraries that provide an identical software interface to the hardware functions available on an embedded system. See detailed description of some of the common libraries and related files later in this blog post. </p>
<p><img id="image95" height=367 alt="Figure 2 - Location of BSP files" src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2007/10/bsp-file-drawing.gif" /><br />
Figure 3 - Location of BSP files</p>
<p>Figure 3 shows an example of the typical files supporting a PowerPC target&#8217;s BSP and their location in a Tornado installation on a host computer such as Windows XP.</p>
<p>The BSP includes facilities for hardware initialization when power is first applied or when a hardware reset has been initiated.  The BSP also includes support for interrupt handling and generation, hardware clock and timer management, and mapping of available local and bus memory. These basic services provide the real-time kernel with multi-tasking services and memory space for the designerâ€™s application code. </p>
<p>Other device drivers and related support services can be included in this set of libraries extending the hardware abstraction to support the embedded system&#8217;s custom hardware services. These services would include networking, security, storage, graphics, and input/output to the outside world -  for example. The devices referenced by the BSP can be located on a single board computer, a system on a chip (SoC), or on peripheral devices located across a wireless boundary or on a backplane using a hardware bus. </p>
<h3>View #3: A BSP supports a host/target cross development environment</h3>
<p>The BSP provides support for developers using Tornado tools on a host computer for engineering development such as an editor, compiler, linker, and debugger through a client/server communications protocol between the developer&#8217;s host computer and the embedded targetâ€™s CPU, hardware devices and on-board memory. For VxWorks developers, the BSP offers an interface to the WDB agent that provides an open standard for cross-hosted programming on a specific targetâ€™s architecture. The host computer supports these services using the Tornado tool suite through a target server acting as the communications agent.  The target BSP can support a networked development environment using one or more of the following devices: Ethernet, JTAG, serial UART, ROM socket, or custom driver, to communicate with the hostâ€™s target server.  When an application is complete and the embedded device is ready for production, the WDB agent can be removed from the target&#8217;s BSP.</p>
<p><img id="image135" height=240 alt="BSP Cross-Host View" src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2007/12/bsp-crosshost-drawing.gif" /><br />
Figure 4 - BSP supports host/target cross development</p>
<p>Figure 4 demonstrates a typical cross development embedded programming model. The WDB client on the target BSP communicates with the host&#8217;s target server. This host/target pair supports connecting other software and hardware tools that lower the cost of a typical engineering cycle: design, edit, compile, link, download, debug, test, and deploy.</p>
<h3>There are advantages to having a BSP that is separated from the kernelâ€¦.</h3>
<p>A BSP allows target applications to be ported to many architectures.</p>
<p>The three views of a BSP described above are all consistent with todayâ€™s engineering needs for a common interface to development tools residing on a robust host computer in support of an embedded application requiring operating system support and services that is modular and portable across many different architectures. </p>
<p>Wind River and its board and silicon partners offer a wide variety of BSPâ€™s for custom off the shelf (COTS) single board computers, and time saving reference designs on more than 12 different architectures.  See the BSP web site I designed for Wind River back in 2002:</p>
<p><a href="http://www.windriver.com/products/bsp_web/bsp_architecture.html ">www.windriver.com/products/bsp_web/bsp_architecture.html </a></p>
<h3>Description of BSP technical features</h3>
<p>There usually is a file named target.nr defined in the BSP documentation standards for each BSP. The file contains a list of technical features supported and unsupported for a particular COTS or reference board.  The list of features describes what a BSP is expected to do during hardware initialization when the CPU executes its first instructions as well as what hardware assets should be presented to the operating system.  This information is summarized here.</p>
<p><strong>Boot Monitor</strong><br />
â€¢	Describe the methods and devices available for booting RTOS on this board. (sm, SCSI, Ethernet, vendor-bug  ROMs, open firmware, visionWARE, etc).<br />
â€¢	Describe the network support available for booting; bootp, proxy-arp, etcâ€¦</p>
<p><strong>Default Ram size</strong><br />
Additional supported memory options<br />
Cache support<br />
Flash and ROM memory<br />
â€¢	How are ROMs made and installed? (How do they split?)  Can FLASH ROMs be burned on board? If so, how?</p>
<p><strong>Timer support in addition to system clock</strong><br />
â€¢	Describe routines that are associated with speed of CPU and Timers</p>
<p><strong>Devices supported:</strong><br />
â€¢	The chip drivers included are:<br />
    templateSio.c - template serial driver<br />
    templateTimer.c - template timer driver<br />
    templateVme.c - template VMEbus driver<br />
    templateNvram.c - template non-volatile RAM driver<br />
â€¢	Describe the device drivers for this board.  Are there special driver ptions that must be used with this board such as CompactPCI hot swap support?  Read the specific driver documentation and describe any special options used with this board.<br />
Memory Map<br />
â€¢	Provide a detailed memory map of the local bus, and all additional busses from a bus master point of view.  Identify only slave devices actually on each bus, not their apparent address on some other bus.  (i.e. if a serial device is a PCI device, do not list it on the local bus memory map, just the PCI memory map).  Identify all addresses that the user can adjust by changing config.h, as being software controllable.  Identify all bus master devices (DMA) on each bus.<br />
â€¢	If VME is present, describe the default parameters for the master windows and how to change them, if possible. (master access means accessing some other board from this board). Describe the default parameters for the slave access windows, and how to change them, if possible. (Slave access means an access from another bus master). The normal VxWorks default is to enable the slave access window(s) only on CPU 0, as part of the routine sysProcNumSet().  Otherwise, slave accesses are not normally permitted.<br />
â€¢	If PCI is present, describe the configuration access methods used to access PCI configuration space.  Describe any address mapping from local addresses to PCI addresses and vice versa.  Describe how the user can alter this, if appropriate.<br />
Shared Memory<br />
â€¢	If appropriate, identify the main bus and the type of shared memory support provided, if any.   Identify the type of mailbox support and Test-And-Set support used.  Identify any special support, or consideration, necessary from other boards in a multi-board system.<br />
Interrupts<br />
â€¢	Provide a list of interrupts/exceptions by priority and/or vector number.  Describe any special interrupt connection routines or considerations used with this BSP.<br />
Serial Ports<br />
â€¢	Identify the default configuration for all serial ports.  Document any special considerations: i.e. hardware flow control cannot be disabled thus requiring a  jumper to be installed when no terminal device is connected.<br />
SCSI Support<br />
â€¢	Are there any known SCSI configuration limitations?  Does the BSP support SCSI-1 or SCSI-2?  Describe any special connectors or adapters.  Does the board include terminators on-board?  Is there a jumper to activate the termination network?<br />
Ethernet Support<br />
â€¢	Describe the Ethernet ports on the board. Identify how the MAC address is obtained or specified for each port.<br />
Delivered Objects<br />
â€¢	Which pre-compiled objects are delivered with the BSP?</p>
<p><strong>Make Targets</strong><br />
â€¢	If there is any special information about a specific make target, then it should be explained. Identify any standard targets that do not build or run correctly. (bootrom, bootrom_uncmp, bootrom.res_rom, examples on VxWorks also  include: vxWorks, vxWorks.st, vxWorks.res_rom, vxWorks.res_rom_nosym, vxWorks_rom).<br />
Special routines<br />
â€¢	Are there any unique BSP routines available to the user?<br />
Divide by zero exception<br />
â€¢	Describe exception handling of divide by zero event.<br />
Host-Target Communications Support<br />
â€¢	Name of client server agent such as WDB for VxWorks<br />
â€¢	Describe additional WDB agents supported for debug support with host if any.</p>
<h3>Some details on the collection of BSP libraries</h3>
<p>BSP Source and Include Files reside in the following two subdirectories of a Tornado installation:<br />
â€¢	TornadoBaseDirectory/target/config/all<br />
â€¢	TornadoBaseDirectory/target/config/BSPname</p>
<p>See figure 2 for a view of these subdirectories and files.  The subdirectory TornadoBaseDirectory /target/config/bspname contains the hardware dependent Board Support Package (BSP), which consists of files for the particular hardware used to run VxWorks, such as a CompactPCI board with specific semiconductor silicon assets for serial lines, timers, and other devices. The files include: </p>
<p>â€¢	Makefile<br />
â€¢	sysLib.c<br />
â€¢	sysSerial.c<br />
â€¢	sysALib.s<br />
â€¢	romInit.s<br />
â€¢	bspname.h<br />
â€¢	config.h</p>
<p>Two target-specific libraries, sysLib and sysALib, are included with each port of VxWorks. These libraries are the heart of VxWorks portability; they provide an identical software interface to the hardware functions of all boards. They include facilities for hardware initialization, interrupt handling and generation, hardware clock and timer management, mapping of local and bus memory spaces, memory sizing, and so on.</p>
<p><strong>The System Library</strong><br />
The file sysLib.c provides the board-level interface on which VxWorks and application code can be built in a hardware-independent manner. The functions that should be addressed include:</p>
<p><strong>â€¢	Initialization functions</strong><br />
1.	Initialize the hardware to a known state<br />
2.	Identify the system</p>
<p><strong>â€¢	Initialize drivers, such as SCSI or custom drivers</strong></p>
<p><strong>â€¢	Memory/address space functions</strong><br />
1.	Get the on-board memory size<br />
2.	Make on-board memory accessible to external bus (optional)<br />
3.	Map local and bus address spaces<br />
4.	Enable/disable cache memory<br />
5.	Set/get nonvolatile RAM (NVRAM)<br />
6.	Define the board&#8217;s memory map (optional)<br />
7.	virtual-to-physical memory map declarations for processors with MMUs</p>
<p><strong>â€¢	Bus interrupt functions</strong><br />
1.	Enable/disable bus interrupt levels<br />
2.	Generate bus interrupts</p>
<p><strong>â€¢	Clock/timer functions</strong><br />
1.	enable/disable timer interrupts<br />
2.	set the periodic rate of the timer</p>
<p><strong>â€¢	Mailbox/location monitor functions (optional) </strong><br />
1.	Enable mailbox/location monitor interrupts</p>
<p>The sysLib library does not support every feature of every board: some boards may have additional features, others may have fewer, others still may have the same features with a different interface. For example, some boards provide some sysLib functions by means of hardware switches, jumpers, or PALs, instead of by software-controllable registers.</p>
<p>The configuration modules usrConfig.c and bootConfig.c in TornadoBaseDirectory/target/config/all subdirectory are responsible for invoking this library&#8217;s routines at the appropriate time. Device drivers can use some of the memory mapping routines and bus functions.</p>
<p>Each BSP also includes a boot ROM or other boot mechanism. Many of these import the run-time image from the development host. For information on boot ROMs and other booting mechanisms see Tornado Getting Started manual and VxWorks User &#8217;s Guide section 8.9 Creating Bootable Applications. For information on target-specific libraries, see 8.2 The Board Support Package (BSP) in the VxWorks User&#8217;s Guide and the target-specific reference entries for your board type starting with the file target.nr on the BSP distribution.</p>
<p><strong>Virtual Memory Mapping</strong><br />
For boards with MMU support, the data structure sysPhysMemDesc defines the virtual-to-physical memory map. This table is typically defined in sysLib.c, although some BSPs place it in a separate file, memDesc.c. It is declared as an array of the data structure PHYS_MEM_DESC. No two entries in  this descriptor can overlap; each entry must be a unique memory space. </p>
<p>The sysPhysMemDesc array should reflect your system configuration, and you may encounter a  number of reasons for changing the MMU memory map, for example: the need to change the size of local memory or the size of the VME master access space, or because the address of the VME master access space has been moved. For information on virtual memory mapping, as well as an example of how to modify sysPhysMemDesc, see VxWorks User&#8217;s Guide section 7.3 Virtual Memory Configuration.</p>
<p><strong>The Serial Driver </strong><br />
The file sysSerial.c provides board-specific initialization for the on-board serial ports. The actual serial I/O driver is located in the TornadoBaseDirectory /target/src/drv/sio directory. The library ttyDrv uses the serial I/O driver to provide terminal operations for VxWorks.</p>
<p><strong>BSP Initialization Modules</strong><br />
The following files initialize the BSP:</p>
<p>          The file romInit.s contains assembly-level initialization routines. </p>
<p>          The file sysALib.s contains initialization and system-specific assembly-level routines. </p>
<p><strong>BSP Documentation</strong><br />
The target.nr file located in the TornadoBaseDirectory /target/config/bspname directory is the source of the online reference entries for target-specific information in our new BSP web site. For a description on how to view the target.nr reference files supplied with our product distributions,  see the Tornado Getting Started manual. The target.nr file describes the supported board variations, the relevant jumpering, and supported devices. It also includes an ASCII representation of the board layout with an indication of board jumpers (if applicable) and the location of the ROM sockets.</p>
<p><strong>References</strong></p>
<p>â€¢	<a href="http://www.windriver.com/products/OCD/legacy/tornado/index.html">Tornado Getting Started Manual </a><br />
â€¢	VxWorks User &#8217;s Guide<br />
â€¢	Tornado BSP Developer&#8217;s Kit for VxWorks: User&#8217;s Guide (some times referred to as a porting guide)<br />
â€¢	Tornado BSP Training Workshop - book 1 (see Wind River training web site for BSP class times)<br />
â€¢	<a href="http://www.windriver.com/products/bsp_web/index.html">Wind River&#8217;s BSP web site </a></p>
<p>The Wind River logo is a trademark of Wind River Systems, Inc., and Wind River is a registered trademark of Wind River Systems. Other marks used herein are the property of the respective owners. </p>
<p>Technorati Tags: <a href="http://technorati.com/tag/Ron+Fredericks" rel="tag">Ron Fredericks</a>, <a href="http://technorati.com/tag/Wind+River" rel="tag"> Wind River</a>, <a href="http://technorati.com/tag/VxWorks" rel="tag"> VxWorks</a>, <a href="http://technorati.com/tag/Board+Support+Package" rel="tag"> Board Support Package</a>, <a href="http://technorati.com/tag/BSP" rel="tag"> BSP</a>, <a href="http://technorati.com/tag/Tornado" rel="tag"> Tornado</a>, <a href="http://technorati.com/tag/FTP" rel="tag"> FTP</a>, <a href="http://technorati.com/tag/Bootp" rel="tag"> Bootp</a>, <a href="http://technorati.com/tag/TFTP" rel="tag"> TFTP</a>, <a href="http://technorati.com/tag/command+shell" rel="tag"> command shell</a>, <a href="http://technorati.com/tag/RARP" rel="tag"> RARP</a>, <a href="http://technorati.com/tag/Network+Stack" rel="tag"> Network Stack</a>, <a href="http://technorati.com/tag/JTAG" rel="tag"> JTAG</a>, <a href="http://technorati.com/tag/N-wire" rel="tag"> N-wire</a>, <a href="http://technorati.com/tag/Ethernet" rel="tag"> Ethernet</a>, <a href="http://technorati.com/tag/JTAG" rel="tag"> JTAG</a>, <a href="http://technorati.com/tag/UART" rel="tag"> UART</a>, <a href="http://technorati.com/tag/ROM" rel="tag"> ROM</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.embeddedcomponents.com/blogs/2007/11/how-to-leverage-the-valule-of-a-board-support-package/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ROI as an Effective Communications Tool for Engineers</title>
		<link>http://www.embeddedcomponents.com/blogs/2007/09/roi-as-an-effective-communications-tool-for-engineers/</link>
		<comments>http://www.embeddedcomponents.com/blogs/2007/09/roi-as-an-effective-communications-tool-for-engineers/#comments</comments>
		<pubDate>Wed, 26 Sep 2007 11:15:24 +0000</pubDate>
		<dc:creator>Ron Fredericks</dc:creator>
		
		<category><![CDATA[Component Marketing]]></category>

		<category><![CDATA[Component Projects]]></category>

		<guid isPermaLink="false">http://www.embeddedcomponents.com/blogs/2007/09/roi-as-an-effective-communications-tool-for-engineers/</guid>
		<description><![CDATA[Abstract
Ron Fredericks writes: Engineers want to build compelling products that meet their project requirements. Corporate executives want to invest in innovative people that build products that, in turn, meet their market&#8217;s window; while, both want to stay within budget. Yet both groups may feel overwhelmed with the prospect of expressing the very heart of their [...]]]></description>
			<content:encoded><![CDATA[<h2>Abstract</h2>
<p>Ron Fredericks writes: Engineers want to build compelling products that meet their project requirements. Corporate executives want to invest in innovative people that build products that, in turn, meet their market&#8217;s window; while, both want to stay within budget. Yet both groups may feel overwhelmed with the prospect of expressing the very heart of their inspiration at some critical times during the life of these projects. In today&#8217;s post, I try to address this issue from the engineer&#8217;s perspective reaching out to the financial decision makers that ultimately control the purse strings of every project.</p>
<h3>Table of Contents</h3>
<p><a href="http://www.embeddedcomponents.com/blogs/2007/09/roi-as-an-effective-communications-tool-for-engineers/#INTRO">Introducing <em>Financial-Speak</em> to Engineers</a><br />
<a href="http://www.embeddedcomponents.com/blogs/2007/09/roi-as-an-effective-communications-tool-for-engineers/#EL">ROI Example: Embedded Linux</a><br />
<a href="http://www.embeddedcomponents.com/blogs/2007/09/roi-as-an-effective-communications-tool-for-engineers/#ICF">Evaluating Incremental Cash Flows</a><br />
<a href="http://www.embeddedcomponents.com/blogs/2007/09/roi-as-an-effective-communications-tool-for-engineers/#NPV">ROI Example: <em>Simple Project Comparisons Using Net Present Value</em></a><br />
<a href="http://www.embeddedcomponents.com/blogs/2007/09/roi-as-an-effective-communications-tool-for-engineers/#EIP">ROI Example: <em>Evaluating an Infrastructure Project</em></a><br />
<a href="http://www.embeddedcomponents.com/blogs/2007/09/roi-as-an-effective-communications-tool-for-engineers/#ODM">ROI Example: <em>The Original Design Manufacturer</em></a><br />
<a href="http://www.embeddedcomponents.com/blogs/2007/09/roi-as-an-effective-communications-tool-for-engineers/#REFE">References</a><br />
<a href="http://www.embeddedcomponents.com/blogs/2007/09/roi-as-an-effective-communications-tool-for-engineers/#comment-9940">Errors and Changes Planned for this Blog Post</a></p>
<p><a name=INTRO><br />
<h2>Introducing <em>Financial-Speak</em> to Engineers</h2>
<p>In a <a href="http://www.embeddedcomponents.com/blogs/2006/11/engineers-and-business-development/">previous post</a> I introduced the idea that ethics might be the common framework between this dichotomy in communication between engineers, marketers, and executives. In this post, I suggest that engineers might apply this ethical approach by taking some time out to learn the language of business development from a financial management perspective - a conversational framework suitable for an interdisciplinary team concerned with engineering risk and strategic business value,  but expressed using financial definitions.  </p>
<p>The term <em>Return On Investment</em> (ROI) can be used for all three disciplines: engineering, marketing, and finance. ROI is just vague enough to cover most any discussion an engineer may encounter through-out the life of a project: from the initial decision to fund your project, to evaluating change requests during the design, build, test, and deployment cycle of an ongoing project. Evaluating ROI from a financial perspective is an ethical approach to decision-making because the financial terms I promote for this ethical framework have very precise meanings.  So precise in fact, that I too have had to go back and rewrite several sections of this blog post thanks to <a href="http://one-nomads-blog.blogspot.com/" target="_blank">One Nomad&#8217;s Blog</a> comments received in this blog&#8217;s first posting. </p>
<p>It was the lack of financial precision embedded within my first draft for this blog post which my guest reader used to convince me of my own mistakes.  Yet to be clear, identifying my mistake is also my gain. Effective communication is a process of two or more people sharing ideas&#8230;</p>
<blockquote><p>Learning to converse and plan using financial terms for ROI decision-making can level the playing field between engineers, marketers, and business executives since ROI itself is not a common financial term. Engineers practicing <em>Financial-Speak</em> centered around ROI as the goal, can help reduce many of the common problems related to individuals trying their best to participate in team decision making. This leveling of the playing field - between team members - can also enhance the power of their conversation, leading the way for the much sought after innovations that are in popular demand today.</p></blockquote>
<p>Consider building a financial model around ROI before presenting your most important technical needs to executives, marketers, and other decision makers. Read on to learn how. Of course ROI from a financial perspective is not the only way to build effective interdisciplinary teams with engineers involved. In a future post I may suggest a corollary to this ethical approach for executives and marketers who would like to reach out to engineers â€“ using Six Sigma, CMMI, and emerging techniques developed by Dr. Thomas J. Buckholtz as useful processes seeped in ROI terminology.</p>
<h3>Figure 1: <em>Net Present Value Equation</em></h3>
<p><img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_930.5_bfeb240f8e08138085d65c76df21909d.png" style="vertical-align:-69.5px; display: inline-block ;" alt="NPV(CF_k, R, IV) := IV+delim{[}{sum{k=1}{N}{CF_k/(1+R/100)^k}}{]}" title="NPV(CF_k, R, IV) := IV+delim{[}{sum{k=1}{N}{CF_k/(1+R/100)^k}}{]}"/></p>
<p>Where:<br />
    <img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_995.5_751922b8fbb496179e10e6bda0b94b02.png" style="vertical-align:-4.5px; display: inline-block ;" alt="NPV" title="NPV"/> is the Net Present Value function, in dollars<br />
    <img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_995_9012fb47705e171ad224d168ea215983.png" style="vertical-align:-5px; display: inline-block ;" alt="CF" title="CF"/> is a projectâ€™s Cash Flow, in dollars<br />
    <img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_995.5_33df7d5541bc0941336b1513815da7a5.png" style="vertical-align:-4.5px; display: inline-block ;" alt="R" title="R"/> is the hurdle Rate, in percent per period<br />
    <img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_995.5_18721d278471e4ecee4905551d365c45.png" style="vertical-align:-4.5px; display: inline-block ;" alt="IV" title="IV"/> is the Initial Investment (a negative number), in dollars<br />
And:<br />
    <img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_995.5_e2586f3a475714f9959f74986e64ee13.png" style="vertical-align:-4.5px; display: inline-block ;" alt="k" title="k"/> is the cash flow&#8217;s time increment, or period<br />
    <img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_995.5_12f557cb8e77c5d99048795b2eb57e27.png" style="vertical-align:-4.5px; display: inline-block ;" alt="N" title="N"/> is the total number of cash flow periods for <img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_995.5_e2586f3a475714f9959f74986e64ee13.png" style="vertical-align:-4.5px; display: inline-block ;" alt="k" title="k"/><br />
    Time increment for <img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_995_9012fb47705e171ad224d168ea215983.png" style="vertical-align:-5px; display: inline-block ;" alt="CF" title="CF"/> and <img src="http://www.embeddedcomponents.com/blogs/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_995.5_33df7d5541bc0941336b1513815da7a5.png" style="vertical-align:-4.5px; display: inline-block ;" alt="R" title="R"/> might be in years, quarters, or months, for example</p>
<p><a name=EL></a><br />
<h2>ROI Example: <em>NPV&#8217;s Effect on Embedded Linux</em></h2>
<p>The equation in Figure 1 forms the heart of my â€œethics in engineeringâ€ proposal. Namely, the sooner a new device gets to market, the sooner a firm can realize new income. New income realized sooner, is much better than income realized later. A finance discussion around NPV would call this <em>time&#8217;s negative impact on the value of money</em>.  I&#8217;m talking about the exponential effect that the prevailing interest rate, R, has in the NPV equation shown in figure 1.</p>
<p>A few years ago several of the leading embedded operating system suppliers used this equation to show that embedded Linux was a poor choice for new embedded device development projects. One such paper published by Dr. Jerry Krasner in 2003, <a href="http://www.embeddedforecast.com/EMFTCD2003v3.pdf" target="_blank">Total Cost of Development</a>, presents the typical argument pretty well. At that time Dr. Krasner and many others may have been right. Now in 2007, times have changed significantly. A recent blog entry on CNET shows the missing element from Dr. Krasner&#8217;s report and is a <em>Harold</em> for the embedded industry going forward: <a href="http://www.news.com/8301-10784_3-6172060-7.html">Oracle touts Linux deals</a>. </p>
<p>How times have changed&#8230;</p>
<blockquote><p>Because of the significant adoption of Linux in enterprise projects, the total project cost of using embedded Linux has gone down too. Indeed, the migration and reuse of enterprise Windows operating system application programming interfaces (API&#8217;s), kernel components, and development tools into embedded device projects was a key part of Dr. Krasner&#8217;s report, see link above.  Dr. Krasner concluded at the time that embedded Windows CE made the best choice for new projects from a total cost of ownership perspective - just another way of looking at NPV!</p></blockquote>
<p>Now the ROI benefits behind projects that select embedded Linux follows Dr. Krasner&#8217;s logic perfectly. Embedded Linux is now experiencing the same reduced total cost of ownership that only embedded Windows CE enjoyed just a few years ago. The reduced total cost of ownership comes from new and improved tools, components, and API&#8217;s that cross over from enterprise projects to the embedded marketplace. There is a significant overlap in Linux kernel updates, components, and tools driven by enterprise projects that are also suitable for use in embedded projects.  </p>
<p>The available pool of engineers that know how to work with Linux can now support embedded development projects that use embedded Linux too. The marketing movement around the value and excitement of using Linux may also reduce the cost of taking an embedded device to market. In short: lower upfront costs, more options, more solutions, and faster time to market.  Even Dr. Krasner has decided to post an update to his old white paper showing total cost of development to be favorable for embedded Linux projects. <a href="http://www.embeddedforecast.com/WhitePapers.htm">Download his updated paper</a>.</p>
<p>None of these enterprise driven benefits exist with respect to the traditional embedded real-time operating system (RTOS).  To be clear, there are other benefits to using an RTOS. I discuss one significant benefit to using an RTOS in another post: <a href="http://www.embeddedcomponents.com/blogs/2007/11/how-to-leverage-the-valule-of-a-board-support-package/">How to Leverage the Value of a Board Support Package</a>.</p>
<p><a name=ICF></a><br />
<h2>Evaluating a Project&#8217;s Incremental Cash Flow</h2>
<p>NPV is just one example of applying the principle of ROI to making project decisions. NPV falls into the general category of capital budgeting, a process of evaluating proposed investments into new projects. The capital budgeting process is concerned only with incremental cash flows. So the vague concept of <em>ethics</em> can be transformed into a specific financial discussion. </p>
<p><strong>Two financial functions can measure time&#8217;s effect on money:</strong></p>
<p>(1) Net Present Value (NPV) expressed as a monetary value,<br />
      and </p>
<p>(2) Internal Rate of Return (IRR) expressed as a percentage. </p>
<p>Where:</p>
<p><strong>Net Present Value (NPV)</strong> of a capital budgeting project is the <em>dollar amount of change in the value of the firm as a result of undertaking the project</em> [Ref: <a href="http://www.embeddedcomponents.com/blogs/2007/09/roi-as-an-effective-communications-tool-for-engineers/#FiMan">Financial Management: Principles and Practice</a> P.234]. The mathmatic definition for NPV is:</p>
<p>NPV = IV + Sum[ CF(k) / (1+R)^k ], k ranges from 1 to N</p>
<p>Where:</p>
<p>IV = Initial Investment (a negative number)<br />
CF(k) = cash flow value (project outputs - project inputs) for period k<br />
R = hurdle rate per period<br />
period = a unit of time, typically year, quarter, or month<br />
N =  total number of periods for the project</p>
<p><strong>Present Value (PV)</strong> is the value today of a future, or expected, cash flow. The mathematic definition for PV is: </p>
<p>PV = Sum[ CF(k) / (1+R)^k ], k ranges from 1 to N</p>
<p>NPV can be expressed in termis of its present value (PV):</p>
<p>NPV = IV + PV</p>
<p><strong>Hurdle Rate</strong> is the required rate of return before launching a new project.  The hurdle rate must be carefully chosen.  It can be expressed as a percent per period. The period is commonly defined as one year, but other convenient time period could be selected such as one quarter, or one month.  The same unit of time will need to be associated with cash flow.  Other rate terms can be used in addition to, or instead of, hurdle rate: discount rate, cost of capital, or interest rate.</p>
<p><strong>Internal Rate of Return (IRR)</strong> is the <em>discount rate at which the<br />
NPV of the project is zero</em>. [Ref: <a href="http://www.embeddedcomponents.com/blogs/2007/09/roi-as-an-effective-communications-tool-for-engineers/#FiMan">Financial Management: Principles and Practice</a> P.240]. The mathematic definition for IRR is related to NPV:</p>
<p>0 = IV + Sum[ CF(k) / (1+IRR)^k ], k ranges from 1 to N</p>
<p><strong>NPV and IRR are related to each other:</strong><br />
What follows is a list of relationships between NPV and IRR. Use these relationships after calculating the NPV and IRR for each of the proposed project alternatives.</p>
<p>(1) If NPV(CF,R, IV) = 0,<br />
      then the hurdle rate, R = IRR</p>
<p>(2) For any set of cash flows estimated for a prospective project,<br />
      there is only one value for NPV.<br />
      But, the same project model can result in several IRR values,<br />
      where NPV = 0.</p>
<p>(3) If IRR > Hurdle Rate,<br />
      then a prospective project may make an acceptable<br />
      investment.</p>
<p>(4) If IRR >> Hurdle Rate (i.e. significantly greater than),<br />
      then a prospective project may carry too much risk.</p>
<p>(5) The hurdle rate includes both a minimum desired rate<br />
      of return for a project, and a threshold representing risk.<br />
      (5-a) A typical hurdle rate for an E-Business project<br />
              might be 15%.<br />
      (5-b) A typical hurdle rate for an embedded systems project<br />
              might be 18%.<br />
      (5-c) Embedded Components, Inc. is focused on lowering risk<br />
              for its members by promoting the re-use of pre-existing<br />
              components through its <a href="http://www.embeddedcomponents.com/marketplace/">online marketplace</a><br />
              for embedded device manufacturers and their<br />
              communities.</p>
<p>(6) In general seek to maximize NPV, not IRR.</p>
<p>(7) Yet, if two projects have NPV curves that cross over each<br />
      other,<br />
      then the interest R where the curves cross is called<br />
      the Crossover Point.<br />
      (7-a) If the Crossover Point > IRR,<br />
              then accept the project with higher NPV.<br />
      (7-b) If the Crossover Point < IRR,<br />
              then accept the project with higher IRR.</p>
<p>(8) An NPV value of zero also means the investment into that<br />
      project would neither gain nor loose value for the company.</p>
<p><span id="more-24"></span></p>
<p><strong>Define a project&#8217;s return on investment (ROI):</strong></p>
<p>1a) Profitability Index (PI), measured in % percent</p>
<p>1b) Open Source Profitability Index (PI<sub>FOSS</sub>)</p>
<p>2a) Payback Period (PP), measured in time such as years, quarters or months</p>
<p>2b) Open Source Payback Period (PP<sub>FOSS</sub>)</p>
<p>3) Sensitivity Analysis, a plot of NPV verses Interest Rate</p>
<p><strong>Return on Investment (ROI)</strong> is a business case analysis concerned with the net financial impact associated with a set of costs and benefits. Most research around capital budgeting does not define a specific calculation associated with ROI. Unlike NPV and IRR, which use formulas generally agreed to by industry, ROI calculations can be industry specific. I found an excellent overview of ROI in a paper by Dr. Jeffery [Ref: <a href="http://www.embeddedcomponents.com/blogs/2007/09/roi-as-an-effective-communications-tool-for-engineers/#ROIebus">Return on Investment Analysis for E-Business Projects</a> equation 6, page 6].  In his paper Dr. Jeffery presents a definition for ROI as:</p>
<p>ROI = 100% x (Project Outputs - Project Inputs) / (Project Inputs)</p>
<p>Where:</p>
<p>Project Outputs represent the value created by a project such as new income generated, efficiency gains, cost savings from improved internal processes, new intellectual property created, and strategic benefits (such as increased marketshare, brand name recognition, incremental gains in product mix, and improved vendor relationships).</p>
<p>Project Inputs represent expenses related to a project such as the initial investment in software and tools, development costs (such as professional employee salaries), facilities expenses (including building depreciation, grounds maintenance, service level agreements, and equipment depreciation,) deployment costs (such as sales commissions, marketing, shipping, and 3&#8242;rd party software run-time fees), goernment fees (such as sales taxes, patent filings, and corporate governance), and legal fees.</p>
<p><font color="red">The sections below are under re-construction as of 3/3/08</font></p>
<p><strong>Profitability Index (PI):</strong></p>
<p><strong>PI adjusted for Free and Open Source Software (PI<sub>FOSS</sub>):</strong></p>
<p>So one of several projects under consideration to fund, may be the most acceptable if its NPV is a large enough positive number. In other words, a project is acceptable if the IRR is greater than or equal to the <em>hurdle rate</em>. Where the hurdle rate is defined as the expected rate of return on a potential investment that a manager demands before investing his or her money into a project. I have seen hurdle rates in the range of 8% to 18%, for example.</p>
<p>Measuring the risk of a capital budgeting project can be done by calculating the coefficient of variation (CV) on the expected returns from a firmâ€™s asset portfolio with and without the new project being undertaken. Since the CV is defined as the ratio of the standard deviation to the mean, it can be used to determine how much volatility (risk) will be assumed in comparison to the amount of return expected from the proposed project.</p>
<p>There are several wrinkles in the capital budgeting decision process to consider:<br />
(1) Non-simple projects,<br />
(2) Projects that have multiple IRRs,<br />
(3) Comparison of projects with unequal project lives, and<br />
(4) Strategic benefits.</p>
<p>Read on to learn how to manage the financial data behind project proposals with all 4 of these complicating factors taken into account.</p>
<p><a name=NPV></a><br />
<h2>ROI Example: <em>Project Comparisons Using Financial Terms</em></h2>
<p>I developed a MathCad program to compare and plot two projects based on several financial terms.  The MathCad equations can be used if you already have this math package. Download the MathCad template [tbd]</p>
<p>If you prefer to use Microsoft&#8217;s Excel, an open source office package, or google&#8217;s hosted office suite, then you can use the equations I develop here to handle the calculations. </p>
<p>In this Mathcad example, two projects with the same basic financial data are compared. Project A is a typical project with estimated sales (as a result of project completion) that builds up over time. Project B is not typical, but is a good test case. Project B uses equal payback amounts over time - similar to an annuity.  </p>
<h3>Define Initial Data for Two Projects</h3>
<p>Time, N (in years)<br />
<img id="image122" height=45 alt="Time, N, In Years" src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2007/12/18_initializen_45x450.gif" /></p>
<p>Initial Investment, IV, in $ dollars<br />
<img id="image123" height=45 alt="Initial Investment, IV, in $ dollars" src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2007/12/17_initializeinitialexpense_45x450.gif" /></p>
<p>Interest Rate, Rate, in % percent<br />
<img id="image124" height=45 alt="Interest Rate, Rate, in % percent" src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2007/12/16_initializerate_45x450.gif" /></p>
<p>Cash Flow, CF, in $ dollars<br />
<img id="image117" height=48 alt="Project A Cash Flow, CF, in $ dollars" src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2007/12/15_initializecfproja_48x450.gif" /><br />
<img id="image118" height=48 alt="Project B Cash Flow, CF, in $ dollars" src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2007/12/14_initializecfprojb_48x450.gif" /></p>
<h3>Define Equations</h3>
<p>Net Present Value, NPV, in $ dollars<br />
<img id="image116" height=110 alt="Net Present Value, NPV, in $ dollars" src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2007/12/13_definenpv_110x450.gif" /></p>
<p>Present Value, PV, in $ dollars<br />
<img id="image119" height=45 alt="Net Present Value, NPV, in $ dollars" src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2007/12/12_definepv_45x450.gif" /></p>
<p>Coefficient of Variation, CV<br />
<img id="image120" height=72 alt="Coefficient of Variation, CV" src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2007/12/11_definecv_72x450.gif" /></p>
<p>Return On Investment, ROI<br />
<img id="image121" height=72 alt="Return On Investment, ROI" src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2007/12/10_defineroi_72x450.gif" /></p>
<h3>Compare Results for the Two Projects</h3>
<p>Results for project A<br />
<img id="image125" height=45 alt="Results for project A, NPV" src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2007/12/09_projanpv_45x450.gif" /><br />
<img id="image133" height=45 alt="Results for project A, PV" src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2007/12/08_projapv_45x450.gif" /><br />
<img id="image127" height=45 alt="Results for project A, CV" src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2007/12/07_projacv_45x450.gif" /><br />
<img id="image128" height=45 alt="Results for project A, ROI" src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2007/12/06_projaroi_45x450.gif" /></p>
<p>Results for project B<br />
<img id="image129" height=45 alt="Results for project B, NPV" src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2007/12/05_projbnpv_45x450.gif" /><br />
<img id="image130" height=45 alt="Results for project B, PV" src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2007/12/04_projbpv_45x450.gif" /><br />
<img id="image131" height=45 alt="Results for project B, CV" src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2007/12/03_projbcv_45x450.gif" /><br />
<img id="image132" height=45 alt="Results for project B, ROI" src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2007/12/02_projbroi_45x450.gif" /></p>
<h3>Plot of Projects Over a Span of Rates</h3>
<p><img id="image115" height=275 alt="NPV verses Rate" src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2007/12/01_plot_257x450.gif" /></p>
<h3>Discussion</h3>
<p>The plot of NPV vs. Rate shows that if the Rate is zero, the NPV for both projects are the same. The plot also shows that the hurdle rate must be set much lower for Project A to be approved by a firm&#8217;s finance team in comparison to project B (looking at NPV equal to zero in the graph).  Yet project B is not a likely outcome either because the sales forecasts aren&#8217;t realistic. Therefore the features and benefits of project A could be re-evaluated such that estimated sales over time increases enough to outweigh the initial lag in projected sales - to make up for the time-cost of money burden.</p>
<p><a name=EIP></a><br />
<h2>ROI Example: <em>Evaluating an Infrastructure Project</em></h2>
<p>I like this example even though it is far from embedded device projects. It provides a solution to the comparison between project choices that go beyond just simple cash flow. It points out that the process of getting to an ROI number can be more important to the success of some projects than the number itself.<br />
<a href="http://www.dmreview.com/article_sub.cfm?articleId=7921" target="_blank">Beyond ROI &#8230; Justifying a Business Intelligence Initiative</a>, Digital Review Magazine, January 2004, Thomas Groh</p>
<p><a name=ODM></a><br />
<h2>ROI Example: <em>The Original Design Manufacturer</em></h2>
<p>An ODM is a good reference point for engineers and executives alike in the embedded systems industry. An ODM is a design to manufacture house, often located in Taiwan, People&#8217;s Republic of China (PRC), or Singapore. These companies work with their local silicon vendors and other regional suppliers to keep themselves informed of what tools, application frameworks, middleware, and silicon that may work together for various projects they are considering. To be clear, these local component vendors are integral partners for the ODM - right where the parts are often made. The ODM then has many advantages with respect to cash flow and its associate time-cost of money: lowest possible cost for parts, improved supply chain advantage without the need to pre-purchase in bulk, lower cost of knowledge, and cheaper labor costs. The ODM also focuses on the engineering effort rather than the marketing, brand recognition, and product sales efforts that their OEM (original equipment manufacturer) clients face. The goal of the ODM is to design cool stuff and manufacture all or part of the final product for its OEM client.</p>
<h3>Figure 2: <em>Sample Financial Spreadsheet</em></h3>
<p><img id="image85" height=651 alt="An ODM's Cash Flow Analysis Spreadsheet" src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2007/09/cashflowodm.gif" /></p>
<p>In Figure 2 above, I show a sample spreadsheet that would be a typical tool used by an ODM and its OEM client. How much should an ODM project cost?  Take a look at the bottom line. For this project, the ODM figures on a shared IRR of 43% over an 8 year time line (only 5 of the 8 years are shown in Figure 2) using this set of numbers. A rate of return higher than most any hurdle rate.  As a result, the OEM client may find funding this project to be attractive (remember that the OEM will have to factor in brand, marketing, and sales costs).  The 8-year time line in this example may be too long for some projects. You can download a working copy of this cash-flow spreadsheet or their task-based budget spreadsheet from <a href="http://www.birdf.com/Index.asp?ArticleID=57&#038;CategoryID=77&#038;Page=1" target="_blank">Bird Foundation&#8217;s web site</a> and use any time-line you like for your next project.</p>
<blockquote><p>Take a look at lines D, for development expenses, and C, for capital expenses. These two lines are where the operating system, development tool, and component vendors live.  The cost of engineering and project management charged by the ODM lives here too.</p></blockquote>
<p><strong>The Bird Foundation</strong><br />
It is interesting to take note of the software tools and operating system choices available to the ODM. These are some of the only components that are not designed and built in or near the ODM&#8217;s location. Does Microsoft Windows CE make a better choice, or Wind River&#8217;s VxWorks, or should an embedded Linux version be the bases for development tools on this project? Well it all depends. Flexing the financial estimates for these two lines D and C are often a point of significant debate for a sales team or a roll-your-own internal engineering team. In this case, startup and recurring costs are important. Time to market is another point of consideration - here again the time-cost of your firm&#8217;s monetary assets will come into play. I invite sales and engineering teams to study the other numbers on this sample spreadsheet and envision how their product or service value might affect the final calculation of IRR. There can be further discussion on the effect of each financial component with respect to your position - there is likely no single right or wrong answer. One ROI strategy for embedded components and tools software vendors is to consider building more relationships with an ODM&#8217;s trusted local hardware component suppliers. </p>
<p>So where can you get more information on this spreadsheet? The answer can be found with the Bird Foundation. A grant giving organization that focuses on building engineering relationships between Israeli companies and OEM companies in United States - who in-turn may include an ODM partner.  The spreadsheet example in Figure 2 comes right out of their guidelines for financial and project management (<a href="http://www.birdf.com/_Uploads/145_ProposalPreparation.pdf" target="_blank">see Proposal Preparation Guidelines page 28</a>). I invite you to learn more about this foundation, how it may work in developing technical partnerships with international companies you can leverage; and their great <a href="http://www.birdf.com/Index.asp?CategoryID=77" target="_blank">guidelines offered on the Bird foundation web site</a>. Indeed this is a great example of using ROI as an ethical framework between partner companies from a global perspective.</p>
<p><a name=REFE></a><br />
<h2>References</h2>
<p><font color="red">This section under construction as of 12/8/07</font></p>
<h3>Internal Rate of Return</h3>
<p>Perils of the Internal Rate of Return<br />
http://hspm.sph.sc.edu/COURSES/ECON/invest/invest.html</p>
<h3>Text Books</h3>
<p><a name=FiMan>Financial Management: Principles and Practice<br />
by Timothy J. Gallagher and Joseph D. Andrew, Jr.<br />
Copyright 1997 by prentice-Hall, Inc.</p>
<h3>Research Papers</h3>
<p><a name=ROIebus><a href="http://www.kellogg.northwestern.edu/faculty/jeffery/htm/publication/ROIforITProjects.pdf">Return on Investment Analysis for E-business Projects</a><br />
by Dr. Mark Jeffery, Northwestern University</p>
<p><font color="red">The old reference section below</font></p>
<p>An overview of ROI from a sales and marketing perspective - a rich alternative perspective from the financial content on this blog post:<br />
<a href="http://www.embeddedcomponents.com/marketing/roi/" target="_blank">Customer Centric Thinking and ROI (turn your speakers on)</a></p>
<p>The Bird Foundation project guidelines, and project spreadsheets, can be reviewed and downloaded from here:<br />
<a href="http://www.birdf.com/Index.asp?ArticleID=57&#038;CategoryID=77&#038;Page=1">www.birdf.com/Index.asp?ArticleID=57&#038;CategoryID=77&#038;Page=1</a></p>
<p>A great Windows calculator (see Figure 3 below) for most of your engineering and financial needs can be downloaded from here:<br />
<a href="http://www.hp41.org/LibView.cfm?Command=View&#038;ItemID=458" target="_blank">www.hp41.org/LibView.cfm?Command=View&#038;ItemID=458</a></p>
<p>The original HP financial support software module works within this simulated HP41 programmable calculator and can also be downloaded from the same site, here:<br />
<a href="http://www.hp41.org/LibView.cfm?Command=View&#038;ItemID=3" target="_blank">www.hp41.org/LibView.cfm?Command=View&#038;ItemID=3</a></p>
<p>The original HP <em>How To</em> manual for financial decision making can be downloaded or read from this the site as well, from here:<br />
<a href="http://www.hp41.org/LibView.cfm?Command=View&#038;ItemID=445" target="_blank">www.hp41.org/LibView.cfm?Command=View&#038;ItemID=445</a></p>
<h3>Figure 3: <em>The HP41 Calculator Emulated on a Windows Desktop</em></h3>
<p><img id="image86" height=649 alt="The HP-41CX scientific calculator with Financial Pac added - 1 of many software solutions for this great computing device" src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2007/09/hp41withfinancepack.jpg" /> </p>
<h2>Next steps&#8230;</h2>
<p>I invite you to use this blog post&#8217;s comment facility to share your experience as an engineer, innovator, sales manager, marketer, or executive.  Do you think a financial vocabulary can be used to build an effective (and ethical) balance for your team between consensus and innovation?</p>
<p>Technorati Tags: <a href="http://technorati.com/tag/Ron+Fredericks" rel="tag">Ron Fredericks</a>, <a href="http://technorati.com/tag/Engineer" rel="tag">Engineer</a>, <a href="http://technorati.com/tag/project" rel="tag">project</a>, <a href="http://technorati.com/tag/requirements" rel="tag">requirements</a>, <a href="http://technorati.com/tag/executive" rel="tag">executive</a>, <a href="http://technorati.com/tag/invest" rel="tag">invest</a>, <a href="http://technorati.com/tag/budget" rel="tag">budget</a>, <a href="http://technorati.com/tag/financial+management" rel="tag">financial management</a>, <a href="http://technorati.com/tag/Return+On+Investment" rel="tag">Return On Investment</a>, <a href="http://technorati.com/tag/Six+Sigma" rel="tag">Six Sigma</a>, <a href="http://technorati.com/tag/CMMI" rel="tag">CMMI</a>, <a href="http://technorati.com/tag/Dr.+Thomas+J.+Buckholtz" rel="tag">Dr. Thomas J. Buckholtz</a>, <a href="http://technorati.com/tag/cash+flow" rel="tag">cash flow</a>, <a href="http://technorati.com/tag/Net+Present+Value" rel="tag">Net Present Value</a>, <a href="http://technorati.com/tag/Internal+Rate+of+Return" rel="tag">Internal Rate of Return</a>, <a href="http://technorati.com/tag/Hurdle+Rate" rel="tag">Hurdle Rate</a>, <a href="http://technorati.com/tag/NPV" rel="tag">NPV</a>, <a href="http://technorati.com/tag/coefficient+of+variation" rel="tag">coefficient of variation</a>, <a href="http://technorati.com/tag/standard+deviation" rel="tag">standard deviation</a>, <a href="http://technorati.com/tag/mean" rel="tag">mean</a>, <a href="http://technorati.com/tag/embedded+device" rel="tag">embedded device</a>, <a href="http://technorati.com/tag/Thomas+Groh" rel="tag">Thomas Groh</a>, <a href="http://technorati.com/tag/Original+Design+Manufacturer" rel="tag">Original Design Manufacturer</a>, <a href="http://technorati.com/tag/ODM" rel="tag">ODM</a>, <a href="http://technorati.com/tag/embedded+systems" rel="tag">embedded systems</a>, <a href="http://technorati.com/tag/tools" rel="tag">tools</a>, <a href="http://technorati.com/tag/application+framework" rel="tag">application framework</a>, <a href="http://technorati.com/tag/middleware" rel="tag">middleware</a>, <a href="http://technorati.com/tag/silicon" rel="tag">silicon</a>, <a href="http://technorati.com/tag/OEM" rel="tag">OEM</a>, <a href="http://technorati.com/tag/original+equipment+manufacturer" rel="tag">original equipment manufacturer</a>, <a href="http://technorati.com/tag/IRR" rel="tag">IRR</a>, <a href="http://technorati.com/tag/hurdle+rate" rel="tag">hurdle rate</a>, <a href="http://technorati.com/tag/Windows+CE" rel="tag">Windows CE</a>, <a href="http://technorati.com/tag/VxWorks" rel="tag">VxWorks</a>, <a href="http://technorati.com/tag/embedded+Linux" rel="tag">embedded Linux</a>, <a href="http://technorati.com/tag/development+tools" rel="tag">development tools</a>, <a href="http://technorati.com/tag/Bird+Foundation" rel="tag">Bird Foundation</a>, <a href="http://technorati.com/tag/project+management" rel="tag">project management</a>, <a href="http://technorati.com/tag/ROI" rel="tag">ROI</a>, <a href="http://technorati.com/tag/marketing" rel="tag">marketing</a>, <a href="http://technorati.com/tag/team" rel="tag">team</a>, <a href="http://technorati.com/tag/consensus" rel="tag">consensus</a>, <a href="http://technorati.com/tag/innovation" rel="tag">innovation</a>, <a href="http://technorati.com/tag/Ethics" rel="tag">Ethics</a>, <a href="http://technorati.com/tag/Business" rel="tag"> Business</a>, <a href="http://technorati.com/tag/United+States" rel="tag"> United States</a>, <a href="http://technorati.com/tag/Israel" rel="tag"> Israel</a>, <a href="http://technorati.com/tag/China" rel="tag"> China</a>, <a href="http://technorati.com/tag/Singapore" rel="tag"> Singapore</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.embeddedcomponents.com/blogs/2007/09/roi-as-an-effective-communications-tool-for-engineers/feed/</wfw:commentRss>
		</item>
		<item>
		<title>An Introduction to the HHP-16K EPROM Emulator</title>
		<link>http://www.embeddedcomponents.com/blogs/2007/09/introduction-to-hhp-16k-eprom-emulator/</link>
		<comments>http://www.embeddedcomponents.com/blogs/2007/09/introduction-to-hhp-16k-eprom-emulator/#comments</comments>
		<pubDate>Mon, 10 Sep 2007 07:23:58 +0000</pubDate>
		<dc:creator>Ron Fredericks</dc:creator>
		
		<category><![CDATA[Component Projects]]></category>

		<category><![CDATA[HP-41 Personal Portable Computing]]></category>

		<guid isPermaLink="false">http://www.embeddedcomponents.com/blogs/2007/09/introduction-to-hhp-16k-eprom-emulator/</guid>
		<description><![CDATA[Ron Fredericks writes: The HHP-16K EPROM Emulator allows application code to be read by Hewlett-Packard&#8217;s (HP&#8217;s) HP-41 calculator. Instead of inserting a small pre-built module into one of the four module bays of the calculator, such as the PPC ROM module discussed in one of my previous blog posts, this unit allows a person to [...]]]></description>
			<content:encoded><![CDATA[<p>Ron Fredericks writes: The HHP-16K EPROM Emulator allows application code to be read by Hewlett-Packard&#8217;s (HP&#8217;s) <a href="http://www.hpcc.org/calculators/hp41.html" target="_blank">HP-41 calcul