<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Embedded Components and Tools Blog Center &#187; Component Technology</title>
	<atom:link href="http://www.embeddedcomponents.com/blogs/category/component-technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.embeddedcomponents.com/blogs</link>
	<description>The Home For Smart Reusable Code &#38; Circuits</description>
	<lastBuildDate>Sat, 04 Feb 2012 05:09:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Simulating the CD4066 Quad Bilateral Switch With LTspice</title>
		<link>http://www.embeddedcomponents.com/blogs/2011/12/cd4066-ltspice-simulation/</link>
		<comments>http://www.embeddedcomponents.com/blogs/2011/12/cd4066-ltspice-simulation/#comments</comments>
		<pubDate>Mon, 12 Dec 2011 14:00:23 +0000</pubDate>
		<dc:creator>Ron Fredericks</dc:creator>
				<category><![CDATA[Component Technology]]></category>
		<category><![CDATA[Electronic Components]]></category>
		<category><![CDATA[LTspice/SwitcherCAD III]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bilateral switch]]></category>
		<category><![CDATA[cd4007]]></category>
		<category><![CDATA[CD4066]]></category>
		<category><![CDATA[Helmut Sennewald]]></category>
		<category><![CDATA[ltspice]]></category>
		<category><![CDATA[simulation]]></category>

		<guid isPermaLink="false">http://www.embeddedcomponents.com/blogs/?p=179</guid>
		<description><![CDATA[Ron Fredericks writes: Today is Robert Norton Noyce&#8217;s birthday (born 12/12/1927) &#8211; co-inventor of the integrated circuit (IC). So I thought I would take a few minutes and document my work modeling the CD4066 quad bilateral switch with the LTspice simulator. In this post I describe how flexible LTspice can be as a general SPICE [...]]]></description>
			<content:encoded><![CDATA[<p><script type="text/javascript"><!--
google_ad_client = "ca-pub-4184215318352482";
/* 468_60_v1 */
google_ad_slot = "6370068834";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><br />
Ron Fredericks writes: Today is Robert Norton Noyce&#8217;s birthday (born 12/12/1927) &#8211; co-inventor of the integrated circuit (IC). So I thought I would take a few minutes and document my work modeling the CD4066 quad bilateral switch with the LTspice simulator.</p>
<p>In this post I describe how flexible LTspice can be as a general SPICE circuit simulator, and how accurate its behavior can be in comparing LTspice test results with the physical IC&#8217;s datasheet.  In this example I use the CD4066B as the IC to model. I test the model using its characteristic  &#8220;on&#8221; resistance curves under various voltage and current operating conditions. I conclude by using a standard CD4066 datasheet to verify the accuracy of the model. </p>
<p>Meanwhile this is the last IC I need to simulate the analog section of the digital volume control circuit using LTspice I mentioned in two of my previous blog entries:
<ul>
<li>Digital volume control&#8217;s heart beat: <a href="http://www.embeddedcomponents.com/blogs/2008/03/simulating-the-555-ic-with-ltspice/">Simulating the 555 IC with LTspice</a> and </li>
<li>Digital volume control&#8217;s logic: <a href="http://www.embeddedcomponents.com/blogs/2008/04/74hc193-for-ltspice-switchercadiii/">Introducing 74HC193 Simulation to LTspice</a>.</li>
</ul>
<h3>Define one of four bilateral switches on CD4066 for LTspice</h3>
<p>&nbsp;</p>
<p>To get the CD4066 IC into my circuit simulation, I first created a symbol for one of the four bilateral switches in this package, and defined a SPICE subcircuit definition for the switch using existing SPICE CD4007 gate models as the starting point.</p>
<p><strong>Symbol for one of four bilateral switches on the CD4066 IC</strong></p>
<p>&nbsp;</p>
<div id="attachment_587" class="wp-caption alignnone" style="width: 310px"><a href="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2011/12/CD4066LRG.png"><img src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2011/12/CD4066LRG-300x280.png" alt="" title="CD4066LRG" width="300" height="280" class="size-medium wp-image-587" /></a><p class="wp-caption-text">LTspice symbol for one of four bilateral switches on cd4066 (click to enlarge)</p></div>
<p><strong>LTspice Subcircuit Definition for CD4066</strong><br />
Note the LTspice implementation of the SPICE language is highlighted (below) using my own <a href="http://qbnz.com/highlighter/" title="Jump to the official website for GeSHi">GeSHi</a> language highlighter library with key sections of the language (.model and .subcircuit)  hyper-linked into SPICE language definitions that I have created on the contributor pages of this website.  SPICE is a difficult language to highlight using GeSHi because many of the SPICE language constructs are so short that they overlap with longer language constructs.  I plan to add more language definitions in the future as my circuit models need them, and I continue to find unique look-up algorithms to match GeSHi language highlighter categories.</p>
<p>&nbsp;</p>
<div class="ch_code_container" style="font-family: monospace;height:300px;">
<div style="">Code (ltspice)</div>
<ol>
<li 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;">&nbsp;</div>
</li>
<li 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: #009900; font-style: italic;">* CD4066 Analog Switch</span></div>
</li>
<li 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: #009900; font-style: italic;">* SYM=CD4066</span></div>
</li>
<li 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: #009900; font-style: italic;">* Transistor models are from LTspice group member kcin_melnick</span></div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900; font-style: italic;">* See message number 16897, http://tech.groups.yahoo.com/group/LTspice/</span></div>
</li>
<li 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: #009900; font-style: italic;">* Analog Switch Control In Out Vdd Vss</span></div>
</li>
<li 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;"><a href="http://www.embeddedcomponents.com/blogs/scad3/dotcommands/SUBCKT/"><span style="color: #0000ff;">.SUBCKT</span></a> CD4066 <span style="color: #000000;">2</span> <span style="color: #000000;">11</span> <span style="color: #000000;">4</span> <span style="color: #000000;">10</span> <span style="color: #000000;">7</span></div>
</li>
<li 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: #999900;">X1</span> <span style="color: #000000;">2</span> <span style="color: #000000;">6</span> <span style="color: #000000;">10</span> <span style="color: #000000;">7</span> INVERT</div>
</li>
<li 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: #999900;">X2</span> <span style="color: #000000;">6</span> <span style="color: #000000;">1</span> <span style="color: #000000;">10</span> <span style="color: #000000;">7</span> INVERT</div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #999900;">M1</span> <span style="color: #000000;">14</span> <span style="color: #000000;">6</span> <span style="color: #000000;">7</span> <span style="color: #000000;">7</span> CD4007N</div>
</li>
<li 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: #999900;">M7</span> <span style="color: #000000;">11</span> <span style="color: #000000;">6</span> <span style="color: #000000;">14</span> <span style="color: #000000;">10</span> CD4007P</div>
</li>
<li 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: #999900;">M3</span> <span style="color: #000000;">11</span> <span style="color: #000000;">1</span> <span style="color: #000000;">14</span> <span style="color: #000000;">14</span> CD4007N</div>
</li>
<li 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: #999900;">M4</span> <span style="color: #000000;">11</span> <span style="color: #000000;">1</span> <span style="color: #000000;">4</span> <span style="color: #000000;">14</span> CD4007N</div>
</li>
<li 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: #999900;">M8</span> <span style="color: #000000;">11</span> <span style="color: #000000;">6</span> <span style="color: #000000;">4</span> <span style="color: #000000;">10</span> CD4007P</div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><a href="http://www.embeddedcomponents.com/blogs/scad3/dotcommands/SUBCKT/"><span style="color: #0000ff;">.SUBCKT</span></a> INVERT <span style="color: #000000;">1</span> <span style="color: #000000;">2</span> <span style="color: #000000;">3</span> <span style="color: #000000;">4</span></div>
</li>
<li 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: #009900; font-style: italic;">* Inverter In Out Vcc Vss</span></div>
</li>
<li 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: #999900;">M1</span> <span style="color: #000000;">2</span> <span style="color: #000000;">1</span> <span style="color: #000000;">3</span> <span style="color: #000000;">3</span> CD4007P</div>
</li>
<li 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: #999900;">M2</span> <span style="color: #000000;">2</span> <span style="color: #000000;">1</span> <span style="color: #000000;">4</span> <span style="color: #000000;">4</span> CD4007N</div>
</li>
<li 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;"><a href="http://www.embeddedcomponents.com/blogs/scad3/dotcommands/ENDS/"><span style="color: #0000ff;">.ENDS</span></a></div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><a href="http://www.embeddedcomponents.com/blogs/scad3/dotcommands/MODEL/"><span style="color: #0000ff;">.MODEL</span></a> CD4007N NMOS <span style="color: #66cc66;">&#40;</span></div>
</li>
<li 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: #cc0000;">LEVEL</span>=<span style="color: #000000;">1</span> <span style="color: #cc0000;">VTO</span>=<span style="color: #000000;">1.44</span> <span style="color: #cc0000;">KP</span>=320u <span style="color: #cc0000;">L</span>=10u <span style="color: #cc0000;">W</span>=30u <span style="color: #cc0000;">GAMMA</span>=<span style="color: #000000;">0</span> <span style="color: #cc0000;">PHI</span>=.<span style="color: #000000;">6</span> <span style="color: #cc0000;">LAMBDA</span>=10m</div>
</li>
<li 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: #cc0000;">RD</span>=<span style="color: #000000;">23.2</span> <span style="color: #cc0000;">RS</span>=<span style="color: #000000;">90.1</span> <span style="color: #cc0000;">IS</span>=<span style="color: #000000;">16</span>.64p <span style="color: #cc0000;">CBD</span>=<span style="color: #000000;">2</span>.0p <span style="color: #cc0000;">CBS</span>=<span style="color: #000000;">2</span>.0p <span style="color: #cc0000;">CGSO</span>=<span style="color: #000000;">0</span>.1p <span style="color: #cc0000;">CGDO</span>=<span style="color: #000000;">0</span>.1p</div>
</li>
<li 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: #cc0000;">PB</span>=.<span style="color: #000000;">8</span> <span style="color: #cc0000;">TOX</span>=1200n<span style="color: #66cc66;">&#41;</span></div>
</li>
<li 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;">&nbsp;</div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><a href="http://www.embeddedcomponents.com/blogs/scad3/dotcommands/MODEL/"><span style="color: #0000ff;">.MODEL</span></a> CD4007P PMOS <span style="color: #66cc66;">&#40;</span></div>
</li>
<li 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: #cc0000;">LEVEL</span>=<span style="color: #000000;">1</span> <span style="color: #cc0000;">VTO</span>=<span style="color: #000000;">-1.2</span> <span style="color: #cc0000;">KP</span>=110u <span style="color: #cc0000;">L</span>=10U <span style="color: #cc0000;">W</span>=60U <span style="color: #cc0000;">GAMMA</span>=<span style="color: #000000;">0</span> <span style="color: #cc0000;">PHI</span>=.<span style="color: #000000;">6</span> <span style="color: #cc0000;">LAMBDA</span>=40m</div>
</li>
<li 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: #cc0000;">RD</span>=<span style="color: #000000;">21.2</span> <span style="color: #cc0000;">RS</span>=<span style="color: #000000;">62.2</span> <span style="color: #cc0000;">IS</span>=<span style="color: #000000;">16</span>.64P <span style="color: #cc0000;">CBD</span>=<span style="color: #000000;">4</span>.0P <span style="color: #cc0000;">CBS</span>=<span style="color: #000000;">4</span>.0P <span style="color: #cc0000;">CGSO</span>=<span style="color: #000000;">0</span>.2P <span style="color: #cc0000;">CGDO</span>=<span style="color: #000000;">0</span>.2P</div>
</li>
<li 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: #cc0000;">PB</span>=.<span style="color: #000000;">8</span> <span style="color: #cc0000;">TOX</span>=1200N<span style="color: #66cc66;">&#41;</span></div>
</li>
<li 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;"><a href="http://www.embeddedcomponents.com/blogs/scad3/dotcommands/ENDS/"><span style="color: #0000ff;">.ENDS</span></a></div>
</li>
</ol>
</div>
<h3>Testing the CD4066 Circuit in LTspice</h3>
<p>Finally, I dragged the symbol with subcircuit models into my LTspice program and ran a series of tests to demonstrate the &#8220;on&#8221; resistance characteristics associated with the switch at various voltage and current values.  Note the multicolored graph showing the resistance curves at various VI levels.</p>
<p>&nbsp;</p>
<div id="attachment_591" class="wp-caption alignnone" style="width: 310px"><a href="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2011/12/VIcurvesLRG.png"><img src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2011/12/VIcurvesLRG-300x240.png" alt="" title="VIcurvesLRG" width="300" height="240" class="size-medium wp-image-591" /></a><p class="wp-caption-text">VI curves and circuit schematic for cd4066 bilateral switch under test (click to enlarge)</p></div>
<h3>Get these files from LTspice Yahoo Group</h3>
<p>The 4 main files used to create this demo circuit can be obtained from LTspice Yahoo Group. Special thanks to Helmut Sennewald</p>
<p>See the figure below&#8230;<br />
<div id="attachment_649" class="wp-caption alignnone" style="width: 310px"><a href="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2011/12/files_from_LTspice_yahoo_group.png"><img src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2011/12/files_from_LTspice_yahoo_group-300x196.png" alt="" title="files_from_LTspice_yahoo_group" width="300" height="196" class="size-medium wp-image-649" /></a><p class="wp-caption-text">LTspice Yahoo Group File List (click to enlarge)</p></div></p>
<h3>Comparison of LTspice circuit simulation with datasheet</h3>
<p>The TI datasheet compares favorably with my simulations.  The LTspice &#8220;on&#8221; resistance curves and values are nearly exactly the same as those shown in figures 2,3, and 4 of TI&#8217;s datasheet (page 6) for the range I tested. </p>
<p>At this stage of development in simulating the analog path for my automatic volume control circuit, I see that the &#8220;on&#8221; resistance curve may create an unstable signal path under normal audio conditions unless the operating voltage (Vcc ) is much higher than the original circuit&#8217;s proposed 5 VDC power supply. </p>
<h3>References</h3>
<p>Linear Technologies LTspice Landing Page</p>
<p><a href="http://www.ti.com/lit/ds/symlink/cd4066b.pdf" title="open the TI datasheet PDF file in a separate window" target="_blank">Texas Instruments datasheet for the CD4066B</a> </p>
<p>What&#8217;s All This CD4007 Stuff, Anyhow?<br />
Bob Pease  |   ED Online ID #6073  |   April 5, 1999<br />
<a href="http://electronicdesign.com/Articles/ArticleID/6073/6073.html">http://electronicdesign.com/Articles/ArticleID/6073/6073.html</a></p>
<p>Fault in CD4066 Model<br />
kcin_melnick | LTspice Yahoo Tech Group Message #16897 | June 24, 2007<br />
<a href="http://tech.groups.yahoo.com/group/LTspice/message/16897">http://tech.groups.yahoo.com/group/LTspice/message/16897</a></p>
<p>Technorati Claim Tag<br />
SH66YHJAPDBA</p>

<!-- start wp-tags-to-technorati 1.02 -->

<p class='technorati-tags'>Technorati Tags: <a class='technorati-link' href='http://technorati.com/tag/bilateral+switch' rel='tag' target='_self'>bilateral switch</a>, <a class='technorati-link' href='http://technorati.com/tag/cd4007' rel='tag' target='_self'>cd4007</a>, <a class='technorati-link' href='http://technorati.com/tag/CD4066' rel='tag' target='_self'>CD4066</a>, <a class='technorati-link' href='http://technorati.com/tag/Helmut+Sennewald' rel='tag' target='_self'>Helmut Sennewald</a>, <a class='technorati-link' href='http://technorati.com/tag/ltspice' rel='tag' target='_self'>ltspice</a>, <a class='technorati-link' href='http://technorati.com/tag/simulation' rel='tag' target='_self'>simulation</a></p>

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://www.embeddedcomponents.com/blogs/2011/12/cd4066-ltspice-simulation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introduction to Google Android</title>
		<link>http://www.embeddedcomponents.com/blogs/2010/02/introduction-to-google-android/</link>
		<comments>http://www.embeddedcomponents.com/blogs/2010/02/introduction-to-google-android/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 01:53:23 +0000</pubDate>
		<dc:creator>Ron Fredericks</dc:creator>
				<category><![CDATA[Component Marketing]]></category>
		<category><![CDATA[Component Projects]]></category>
		<category><![CDATA[Component Technology]]></category>

		<guid isPermaLink="false">http://www.embeddedcomponents.com/blogs/?p=379</guid>
		<description><![CDATA[Ron Fredericks writes: Are you new to the google android smartphone platform and developer ecosystem? If so, then this online video produced from LectureMaker&#8216;s high-tech video studio can help you get up to speed very quickly. The video includes several navigation dots along the time line so you can jump to the content you want [...]]]></description>
			<content:encoded><![CDATA[<p><script type="text/javascript"><!--
google_ad_client = "ca-pub-4184215318352482";
/* 468_60_v1 */
google_ad_slot = "6370068834";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><br />
Ron Fredericks writes: Are you new to the google android smartphone platform and developer ecosystem?  If so, then this online video produced from LectureMaker&#8216;s high-tech video studio can help you get up to speed very quickly. The video includes several navigation dots along the time line so you can jump to the content you want to watch (once it has downloaded). Expect to get an overview, some sample code demos, and an understanding of the business case behind developing apps for Android from watching this great video presented by Marko Gargenta of Marakana.</p>
<p>Enjoy&#8230;</p>
<div><strong><a href="http://www.lecturemaker.com/2009/10/android-software-platform/#video_link" title="Click link to go to the video page">Android Introduction</a> by <em>Marko Gargenta</em>, marakana</strong><br />Presented by Peter Lam, Mobile SIG Co-chair, Software Developer Forum</div>
<p><a href="http://www.lecturemaker.com/2009/10/android-software-platform/#video_link"><img src="http://www.lecturemaker.com/lectures/SDForum090917/android_introduction_450w_386h.jpg" alt="Video Link" width="450" height="386" border="0" title="Click image to go to the video page" /></a></p>
<p>Technorati Tags: <a href="http://technorati.com/tagRon+Fredericks" rel="tag">Ron Fredericks</a>, <a href="http://technorati.com/taggoogle+android" rel="tag">google android</a>, <a href="http://technorati.com/tagdeveloper+ecosystem" rel="tag">developer ecosystem</a>, <a href="http://technorati.com/tagLectureMaker" rel="tag">LectureMaker</a>, <a href="http://technorati.com/tagMarko+Gargenta" rel="tag">Marko Gargenta</a>, <a href="http://technorati.com/tagmarakana" rel="tag">marakana</a>, <a href="http://technorati.com/tagSoftware+Developer+Forum" rel="tag">Software Developer Forum</a></p>
<!-- start wp-tags-to-technorati 1.02 -->

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://www.embeddedcomponents.com/blogs/2010/02/introduction-to-google-android/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</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 below focuses [...]]]></description>
			<content:encoded><![CDATA[<p><script type="text/javascript"><!--
google_ad_client = "ca-pub-4184215318352482";
/* 468_60_v1 */
google_ad_slot = "6370068834";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<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&gt;</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&#8216;s free LTspice tool.  </p>
<table width="200" border="0" cellspacing="2" cellpadding="2">
<tr>
<td><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" /></td>
</tr>
<tr>
<td><span style="color:#999999">Figure 1 &#8211; 74HC193 Circuit and Related Components</span></td>
</tr>
<tr>
<td>View <a href="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2008/04/74hc193circuit.htm">larger image&gt;</a></td>
</tr>
</table>
<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>
<table width="200" border="0" cellspacing="2" cellpadding="2">
<tr>
<td><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" /></td>
</tr>
<tr>
<td><span style="color:#999999">Figure 2 &#8211; 74HC193 Test Circuit and Truth Table Waveforms</span></td>
</tr>
<tr>
<td>View <a 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&gt;</a></td>
</tr>
</table>
<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 &#8211; 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/tagRon+Fredericks" rel="tag">Ron Fredericks</a>, <a href="http://technorati.com/tagcomponent" rel="tag">component</a>, <a href="http://technorati.com/tagLTspice" rel="tag">LTspice</a>, <a href="http://technorati.com/tagSwitcherCAD+III" rel="tag">SwitcherCAD III</a>, <a href="http://technorati.com/tagcircuit+simulation" rel="tag">circuit simulation</a>, <a href="http://technorati.com/tagschematic+capture" rel="tag">schematic capture</a>, <a href="http://technorati.com/tag74193" rel="tag">74193</a>, <a href="http://technorati.com/tagIC" rel="tag">IC</a>, <a href="http://technorati.com/tagcircuit" rel="tag">circuit</a>, <a href="http://technorati.com/tagsimulation" rel="tag">simulation</a>, <a href="http://technorati.com/tagtiming" rel="tag">timing</a>, <a href="http://technorati.com/tagvoltage" rel="tag">voltage</a>, <a href="http://technorati.com/tagCMOS" rel="tag">CMOS</a>, <a href="http://technorati.com/tagSchottky" rel="tag">Schottky</a>, <a href="http://technorati.com/tagTTL" rel="tag">TTL</a>, <a href="http://technorati.com/tagLinear+Technology" rel="tag">Linear Technology</a></p>
<!-- start wp-tags-to-technorati 1.02 -->

<p class='technorati-tags'>Technorati Tags: <a class='technorati-link' href='http://technorati.com/tag/circuit' rel='tag' target='_self'>circuit</a>, <a class='technorati-link' href='http://technorati.com/tag/ltspice' rel='tag' target='_self'>ltspice</a>, <a class='technorati-link' href='http://technorati.com/tag/schematic' rel='tag' target='_self'>schematic</a>, <a class='technorati-link' href='http://technorati.com/tag/simulation' rel='tag' target='_self'>simulation</a></p>

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://www.embeddedcomponents.com/blogs/2008/04/74hc193-for-ltspice-switchercadiii/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</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 needed. [...]]]></description>
			<content:encoded><![CDATA[<p><script type="text/javascript"><!--
google_ad_client = "ca-pub-4184215318352482";
/* 468_60_v1 */
google_ad_slot = "6370068834";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><br />
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 &#8211; 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 &#8211; one very similar to my IC requirement &#8211; 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/tagRon+Fredericks" rel="tag">Ron Fredericks</a>, <a href="http://technorati.com/tagcomponent" rel="tag">component</a>, <a href="http://technorati.com/tagcircuit" rel="tag">circuit</a>, <a href="http://technorati.com/tagsimulation" rel="tag">simulation</a>, <a href="http://technorati.com/tagLTspice" rel="tag">LTspice</a>, <a href="http://technorati.com/tagLinear+Technologies" rel="tag">Linear Technologies</a>, <a href="http://technorati.com/tagHelmut+Sennewald" rel="tag">Helmut Sennewald</a>, <a href="http://technorati.com/tagembedded" rel="tag">embedded</a></p>
<!-- start wp-tags-to-technorati 1.02 -->

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://www.embeddedcomponents.com/blogs/2008/04/new-gate-design-using-ltspiceswitchercad-iii/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</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><script type="text/javascript"><!--
google_ad_client = "ca-pub-4184215318352482";
/* 468_60_v1 */
google_ad_slot = "6370068834";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><br />
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&#8242;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;<span style="color:green">Green Trace</span> -> Output (IC 555 pin 3)<br />
&nbsp;&nbsp;&nbsp;<span style="color:blue">Blue Trace</span> -> Trigger / Threshold (IC 555 pins 2 &#038; 6)<br />
&nbsp;&nbsp;&nbsp;<span style="color:red">Red Trace</span> -> 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://ics.nxp.com/products/interface/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/tagRon+Fredericks" rel="tag">Ron Fredericks</a>, <a href="http://technorati.com/tagschematic" rel="tag">schematic</a>, <a href="http://technorati.com/tagLTspice" rel="tag">LTspice</a>, <a href="http://technorati.com/tagSwitcherCAD+III" rel="tag">SwitcherCAD III</a>, <a href="http://technorati.com/tagsimulator" rel="tag">simulator</a>, <a href="http://technorati.com/tagSpice" rel="tag"> Spice</a>, <a href="http://technorati.com/tagCAD" rel="tag"> CAD</a></p>

<!-- start wp-tags-to-technorati 1.02 -->

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://www.embeddedcomponents.com/blogs/2008/03/simulating-the-555-ic-with-ltspice/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</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 more about [...]]]></description>
			<content:encoded><![CDATA[<p><script type="text/javascript"><!--
google_ad_client = "ca-pub-4184215318352482";
/* 468_60_v1 */
google_ad_slot = "6370068834";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><br />
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&#8217;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>
<li><span style="color:#cc6600">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&gt;</a></span>
</li>
<li><span style="color:#cc6600">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&gt;</a></span>
</li>
<li><span style="color:#cc6600">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&gt;</a></span>
</li>
<li><span style="color:#cc6600">Ron Fredericks produces an online video: <em><strong>How to Prototype a Device Driver [or BSP] in Less Than &#8211; Wow! &#8211; 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&gt;</a></span>
</li>
</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 &#8211; 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 &#8211; 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 &#8211; 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 &#8211; 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 &#8211; 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 &#8211;  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 &#8211; 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 &#8211; template serial driver<br />
    templateTimer.c &#8211; template timer driver<br />
    templateVme.c &#8211; template VMEbus driver<br />
    templateNvram.c &#8211; 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 &#8216;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 &#8216;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 &#8211; 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/tagRon+Fredericks" rel="tag">Ron Fredericks</a>, <a href="http://technorati.com/tagWind+River" rel="tag"> Wind River</a>, <a href="http://technorati.com/tagVxWorks" rel="tag"> VxWorks</a>, <a href="http://technorati.com/tagBoard+Support+Package" rel="tag"> Board Support Package</a>, <a href="http://technorati.com/tagBSP" rel="tag"> BSP</a>, <a href="http://technorati.com/tagTornado" rel="tag"> Tornado</a>, <a href="http://technorati.com/tagFTP" rel="tag"> FTP</a>, <a href="http://technorati.com/tagBootp" rel="tag"> Bootp</a>, <a href="http://technorati.com/tagTFTP" rel="tag"> TFTP</a>, <a href="http://technorati.com/tagcommand+shell" rel="tag"> command shell</a>, <a href="http://technorati.com/tagRARP" rel="tag"> RARP</a>, <a href="http://technorati.com/tagNetwork+Stack" rel="tag"> Network Stack</a>, <a href="http://technorati.com/tagJTAG" rel="tag"> JTAG</a>, <a href="http://technorati.com/tagN-wire" rel="tag"> N-wire</a>, <a href="http://technorati.com/tagEthernet" rel="tag"> Ethernet</a>, <a href="http://technorati.com/tagJTAG" rel="tag"> JTAG</a>, <a href="http://technorati.com/tagUART" rel="tag"> UART</a>, <a href="http://technorati.com/tagROM" rel="tag"> ROM</a></p>

<!-- start wp-tags-to-technorati 1.02 -->

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://www.embeddedcomponents.com/blogs/2007/11/how-to-leverage-the-valule-of-a-board-support-package/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>How to build Dean Lee&#8217;s Syntax Highlighter from latest components</title>
		<link>http://www.embeddedcomponents.com/blogs/2007/05/how-to-build-dean-lees-syntax-highlighter-from-latest-components/</link>
		<comments>http://www.embeddedcomponents.com/blogs/2007/05/how-to-build-dean-lees-syntax-highlighter-from-latest-components/#comments</comments>
		<pubDate>Tue, 29 May 2007 09:06:49 +0000</pubDate>
		<dc:creator>Ron Fredericks</dc:creator>
				<category><![CDATA[Component Projects]]></category>
		<category><![CDATA[Component Technology]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Web Components]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.embeddedcomponents.com/blogs/2007/05/how-to-build-dean-lees-syntax-highlighter-from-latest-components/</guid>
		<description><![CDATA[Ron Fredericks writes: In my last two posts: I discovered Dean Lee&#8216;s Code Highlighter plugin for WordPress as the blogging solution for my source code display needs. I fixed a word wrap problem in Dean&#8217;s plugin. During my research to solve the word wrap problem, I discovered a few more issues leading me to update [...]]]></description>
			<content:encoded><![CDATA[<p>Ron Fredericks writes: In my last two posts:</p>
<ul>
<li>I discovered <a href="http://www.embeddedcomponents.com/blogs/2007/05/test-display-of-source-code-using/">Dean Lee&#8216;s Code Highlighter</a> plugin for WordPress as the blogging solution for my source code display needs.</li>
<li>I fixed a <a href="http://www.embeddedcomponents.com/blogs/2007/05/how-to-fix-dean-lees-source-code-highlight-plugin/">word wrap problem in Dean&#8217;s plugin</a>.</li>
</ul>
<p>During my research to solve the word wrap problem, I discovered a few more issues leading me to update Dean&#8217;s plugin with the latest version of GeSHI (<em>an open-source project: Generic Syntax Highlighter for php. Highlight many languages, including PHP, CSS, HTML, SQL, Java, Assembler, and C for XHTML compliant output</em>) and removal of unused files. I thought other WordPress bloggers might like to take advantage of the latest code too, so I document the steps needed to build a clean plugin with the latest components.</p>
<p><strong>Flow Chart / Swim Lanes Widget</strong><br />
Below is a Flash widget I built to document the steps needed so you can roll your own up-to-date plugin. Follow these steps and you won&#8217;t have to be a programmer to get the benefits from the latest versions of these program components. The widget actively links to the latest PHP files and CSS classes:</p>
<p><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="450" HEIGHT="583" id="how2installplugin" ALIGN=""><param NAME=movie VALUE="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2007/05/how2installplugin.swf"></param><param NAME=quality VALUE=high></param><param NAME=bgcolor VALUE=#333399><embed src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2007/05/how2installplugin.swf" quality=high bgcolor=#333399 WIDTH="450" HEIGHT="583" NAME="how2installplugin" ALIGN="" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></embed></param></object> </p>
<p><span id="more-54"></span><br />
<strong>Why Roll Your Own Plugin?</strong><br />
I have been working with components and tools on various projects long enough to  realize a common problem. Whenever components are used from different projects, such as Dean&#8217;s plugin integrated with the GeSHi language components, each file and/or component continues to receive bug fixes and enhancements in real-time without regard to the other components and files. This is natural because each componentâ€™s project is managed by a different group.</p>
<p>So now I have an idea on how to fix this evolving problem of diverging code bases: create a flow-chart showing how to assemble the individual components into a final product. Use swim-lanes to highlight the different component resources being used. Document the whole work-flow into a Flash document so links to other web pages and/or live video&#8217;s can be included as hot-links to demonstrate the process.</p>
<p><strong>Detailed Notes on the Problems Solved Here</strong><br />
Here are the issues I solve in this blog post:</p>
<ul>
<li>The version of GeSHi included with Dean&#8217;s code-base is now obsolete. The latest version of GeSHi includes a few bug fixes and a few new supported languages for syntax highlighting. By the time you read this blog post, perhaps GeSHi will have yet an even more improved and stable code base.</li>
<li>One of the optional modules supplied by GeSHi, PHP samples found in the &#8220;contrib&#8221; directory; include a recently-identified security risk if included on a web server &#8211; such as your WordPress blog installation.  Dean&#8217;s plugin includes this GeSHi directory by default.</li>
<li>Dean&#8217;s plugin also includes a Mac temporary file called .DS_Store that is not used by WordPress either.</li>
</ul>
<p><strong>The Components and Their Versions</strong><br />
Deanâ€™s original code has the following versions:</p>
<ul>
<li>WordPress should be version 1.5 or later</li>
<li>Deanâ€™s Code Highlighter v1.1</li>
<li>Download link:<br />
<a href="http://www.deanlee.cn/wordpress/code_highlighter_plugin_for_wordpress/">www.deanlee.cn/wordpress/code_highlighter_plugin_for_wordpress/</a></li>
<li>Deanâ€™s code includes the following GeSHi components:<br />
geshi.php, contrib and geshi directories<br />
GESHI_VERSION, 1.0.7.14</li>
<li>CSS classes for WordPress template style.css file<br />
<a href="http://www.deanlee.cn/wordpress/code_highlighter_plugin_for_wordpress/#ch_css_class">www.deanlee.cn/wordpress/code_highlighter_plugin_for_wordpress/#ch_css_class</a></li>
</ul>
<p>My rebuilt version of Deanâ€™s plugin has the following components and version detail:</p>
<ul>
<li>I&#8217;m using Worpress version 2.0.4</li>
<li>Deans_code_highlighter.php<br />
Version 1.1<br />
Download link:<br />
<a href="http://www.deanlee.cn/wordpress/code_highlighter_plugin_for_wordpress/">www.deanlee.cn/wordpress/code_highlighter_plugin_for_wordpress/</a></li>
<li>geshi.php, and geshi directory<br />
GESHI_VERSION, 1.0.7.19<br />
Download link:<br />
<a href="http://sourceforge.net/projects/geshi">sourceforge.net/projects/geshi/</a></li>
<li>New CSS classes for WordPress template style.css file<br />
Version 1.0 from Embedded Components<br />
<a href="http://www.embeddedcomponents.com/blogs/2007/05/how-to-fix-dean-lees-source-code-highlight-plugin/#ch_css_class">www.embeddedcomponents.com/blogs/2007/05/how-to-fix-dean-lees-source-code-highlight-plugin/#ch_css_class</a></li>
</ul>
<p><strong>A Final Note</strong><br />
The GeSHi code base continues to go through updates. At some point the logic behind my approach &#8211; mix and match the latest code from all resources required for Deanâ€™s WordPress plugin â€“ might break down. Perhaps GeSHi will adopt a new interface thatâ€™s not suitable to Deanâ€™s WordPress plugin code, for example. In any case, if you are having trouble getting Deanâ€™s plugin to work, I suggest the following:</p>
<p>Revert back to Deanâ€™s complete code base. Install it as he suggests and try it. If Deanâ€™s original code base does not work, then maybe you are not following the install instructions correctly or perhaps WordPress itself is at an incompatible version. If the plugin works, then try replacing code one step at a time. With each new file change, try your updated WordPress plugin to see if it still can be deactivated, reactivated, and highlights code correctly in a blog post. When the offending component has been identified, let me know so we can work out a new swim-lane diagram for others to follow. </p>
<p>Technorati Tags: <a href="http://technorati.com/tagRon+Fredericks" rel="tag">Ron Fredericks</a>, <a href="http://technorati.com/tagDean+Lee" rel="tag">Dean Lee</a>, <a href="http://technorati.com/tagCode+Highlighter" rel="tag">Code Highlighter</a>, <a href="http://technorati.com/tagWordpress" rel="tag">WordPress</a>, <a href="http://technorati.com/tagplugin" rel="tag">plugin</a>, <a href="http://technorati.com/tagcomponent" rel="tag">component</a>, <a href="http://technorati.com/tagFlow+Chart" rel="tag">Flow Chart</a>, <a href="http://technorati.com/tagSwim+Lanes" rel="tag">Swim Lanes</a>, <a href="http://technorati.com/tagFlash" rel="tag">Flash</a>, <a href="http://technorati.com/tagwidget" rel="tag">widget</a>, <a href="http://technorati.com/tagPHP" rel="tag">PHP</a>, <a href="http://technorati.com/tagCSS" rel="tag">CSS</a>, <a href="http://technorati.com/tagGeSHi" rel="tag">GeSHi</a></p>
<!-- start wp-tags-to-technorati 1.02 -->

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://www.embeddedcomponents.com/blogs/2007/05/how-to-build-dean-lees-syntax-highlighter-from-latest-components/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Online Lecture: Common Internet File System</title>
		<link>http://www.embeddedcomponents.com/blogs/2006/12/online-lecture-common-internet-file-system/</link>
		<comments>http://www.embeddedcomponents.com/blogs/2006/12/online-lecture-common-internet-file-system/#comments</comments>
		<pubDate>Thu, 07 Dec 2006 06:53:59 +0000</pubDate>
		<dc:creator>Ron Fredericks</dc:creator>
				<category><![CDATA[Component Technology]]></category>

		<guid isPermaLink="false">http://www.embeddedcomponents.com/blogs/2006/12/online-lecture-common-internet-file-system/</guid>
		<description><![CDATA[Ron Fredericks writes: Recently I came across a reference to an article I wrote for ISA, sponsored by Visuality Systems, on Brian Mork&#8216;s Increa Technology Blog. The article presented the emerging use of the Common Internet File System (CIFS) for connecting industrial instruments from the plant floor to the engineering work stations and on into [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2006/12/network-neighborhood.gif"><img id="image35" height=96 alt="CIFS Embedded Device Block Diagram" src="http://www.embeddedcomponents.com/blogs/wp-content/uploads/2006/12/network-neighborhood.thumbnail.gif" /></a><br />
Ron Fredericks writes: Recently I came across a reference to an <a href="http://www.isa.org/InTechTemplate.cfm?Section=Article_Index1&#038;template=/ContentManagement/ContentDisplay.cfm&#038;ContentID=35824" title="Sharing data">article I wrote </a>for <a href="http://www.isa.org/" title="ISA officially was born as the Instrument Society of America on 28 April 1945, in Pittsburgh, Pennsylvania, USA.">ISA</a>, sponsored by <a href="http://www.visualitynq.com" title="the maker of CIFS NQ">Visuality Systems</a>, on Brian Mork&#8216;s <a href="http://increa.com/blog2/?p=79" title="Time Synchronization Between Computers">Increa Technology Blog.</a> The article presented the emerging use of the Common Internet File System (CIFS) for connecting industrial instruments from the plant floor to the engineering work stations and on into business operations.</p>
<p>Embedded Components, Inc. has a short [and free] online lecture <a href="http://www.embeddedcomponents.com/marketplace/makers/visualitynq/intro/" title="watch the streaming flash lecture or get a copy of the transcript">introducing the CIFS protocol to the embedded device manufacturing community</a>. The CIFS protocol is likely the most ubiquitous file sharing middleware used in the desktop and enterprise computer markets today. Wow! If its so common why haven&#8217;t I seen it? <em>Its embedded so it just works in the background.</em></p>
<p>What is the CIFS standard?</p>
<ul>
<li><a href="http://www.samba.org/" title="get the open-source code for your UNIX/Linux box">Samba for UNIX users sharing MS Windows files and more</a></li>
<li><a href="http://www.microsoft.com/mind/1196/cifs.asp" title="Microsoft makes CIFS ubiquitous on the desktop">Microsoft CIFS made for DOS and embedded in Windows</a></li>
<li><a href="http://www.snia.org/tech_activities/CIFS/" title="read the technical standard">SNIA: The open standard</a></li>
</ul>
<p>What is the new event presented in this online lecture?</p>
<ul>
<li>CIFS NQ is available for {many embedded and real-time operating systems such as <a href="http://www.windriver.com/vxworks/" title="by Wind River">VxWorks</a>, <a href="http://www.ghs.com/products/rtos/integrity.html" title="by Green Hills Software">Integrity</a>, and <a href="http://www.rtos.com/" title="by Express Logic">threadX</a>} now</li>
<li>Prior to CIFS NQ, there was no practical way for an embedded designer to take advantage of this very easy to use and very common desktop computer protocol</li>
</ul>
<p>References:</p>
<ul>
<li>Get the CIFS NQ source code from <a href="http://www.visualitynq.com" title="the maker of CIFS NQ middleware for embedded and real-time operating systems">Visuality Systems</a></li>
<li>Watch the lecture: <a href="http://www.embeddedcomponents.com/marketplace/makers/visualitynq/intro/" title="Leverage the Power of this Popular Network File Sharing Protocol">Introduction to the Common Internet File System (CIFS)</a></li>
<li>Wikipedia: <a href="http://en.wikipedia.org/wiki/Server_Message_Block" title="learn more about CIFS">Server message block or SMB</a></li>
</ul>
<p>Technorati Tags: <a href="http://technorati.com/tagRon+Fredericks" rel="tag">Ron Fredericks</a>, <a href="http://technorati.com/tagVisuality+Systems" rel="tag">Visuality Systems</a>, <a href="http://technorati.com/tagBrian+Mork" rel="tag">Brian Mork</a>, <a href="http://technorati.com/tagIncrea+Technology+Blog" rel="tag">Increa Technology Blog</a>, <a href="http://technorati.com/tagCommon+Internet+File+System" rel="tag">Common Internet File System</a>, <a href="http://technorati.com/tagCIFS" rel="tag">CIFS</a>, <a href="http://technorati.com/tagEmbedded+Components" rel="tag">Embedded Components</a>, <a href="http://technorati.com/tagembedded+device" rel="tag">embedded device</a>, <a href="http://technorati.com/tagmiddleware" rel="tag">middleware</a>, <a href="http://technorati.com/tagSamba" rel="tag">Samba</a>, <a href="http://technorati.com/tagMicrosoft" rel="tag">Microsoft</a>, <a href="http://technorati.com/tagDOS" rel="tag">DOS</a>, <a href="http://technorati.com/tagWindows" rel="tag">Windows</a>, <a href="http://technorati.com/tagSNIA" rel="tag">SNIA</a>, <a href="http://technorati.com/tagopen+standard" rel="tag">open standard</a>, <a href="http://technorati.com/tagCIFS+NQ" rel="tag">CIFS NQ</a>, <a href="http://technorati.com/tagVxWorks" rel="tag">VxWorks</a>, <a href="http://technorati.com/tagIntegrity" rel="tag">Integrity</a>, <a href="http://technorati.com/tagthreadX" rel="tag">threadX</a>, <a href="http://technorati.com/tagprotocol" rel="tag">protocol</a>, <a href="http://technorati.com/tagServer+message+block" rel="tag">Server message block</a>, <a href="http://technorati.com/tagSMB" rel="tag">SMB</a></p>
<!-- start wp-tags-to-technorati 1.02 -->

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://www.embeddedcomponents.com/blogs/2006/12/online-lecture-common-internet-file-system/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

