<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Hack a Day &#187; cpld</title>
	<atom:link href="http://hackaday.com/tag/cpld/feed/" rel="self" type="application/rss+xml" />
	<link>http://hackaday.com</link>
	<description>Fresh hacks every day</description>
	<lastBuildDate>Fri, 10 Feb 2012 06:18:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='hackaday.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/5560f98f805877b0e332f191cb9e0af3?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Hack a Day &#187; cpld</title>
		<link>http://hackaday.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://hackaday.com/osd.xml" title="Hack a Day" />
	<atom:link rel='hub' href='http://hackaday.com/?pushpress=hub'/>
		<item>
		<title>Want 2 megabytes of SRAM for your Arduino?</title>
		<link>http://hackaday.com/2011/09/07/want-2-megabytes-of-sram-for-your-arduino/</link>
		<comments>http://hackaday.com/2011/09/07/want-2-megabytes-of-sram-for-your-arduino/#comments</comments>
		<pubDate>Wed, 07 Sep 2011 23:01:18 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[arduino hacks]]></category>
		<category><![CDATA[cpld]]></category>
		<category><![CDATA[memory]]></category>
		<category><![CDATA[spi]]></category>
		<category><![CDATA[sram]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=55031</guid>
		<description><![CDATA[How much memory do you really need? We suppose it&#8217;s not really our place to judge how you misuse use memory in your projects. But we do appreciate the clean and orderly technique that [Eric Rogers] uses to add multiple SPI SRAM chips to an Arduino. The heavy lifting is done with a CPLD shield [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=55031&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-55032" title="cpld-adds-sram-to-arduino" src="http://hackadaycom.files.wordpress.com/2011/09/cpld-adds-sram-to-arduino-e1315407840747.jpg" alt="" width="470" height="353" /></p>
<p>How much memory do you really need? We suppose it&#8217;s not really our place to judge how you <del>misuse</del> use memory in your projects. But we do appreciate the clean and orderly technique that [Eric Rogers] uses to <a href="http://majolsurf.net/wordpress/?page_id=1001">add multiple SPI SRAM chips to an Arduino</a>.</p>
<p>The heavy lifting is done with a CPLD shield called the <a href="http://majolsurf.net/wordpress/?page_id=368">Amani 64</a>. It intercepts the SPI calls from the Arduino to an SRAM chip, and translates the address information to find the appropriate data on a collection of 23K256 devices. These chips are inexpensive, and using several of them provides a savings over choosing a single SPI addressable chip with a larger memory size.</p>
<p>The best part is that the flexibility of the CPLD allowed [Eric] to devise an addressing system that takes advantage of unused bits in the Arduino&#8217;s SPI data transfer functions. When using a single 23K256 chip, there are four write functions that waste a total of six bits. He devised a method to inject addressing data into these unused bits, allowing him to address up to 64 different memory chips for a potential of 2 MB of storage. The CPLD pulls out this injected address and subsequently writes or reads the bank of SRAM chips.</p>
<p>Looking for other SRAM upgrade options? Here&#8217;s another one that uses <a href="http://hackaday.com/2011/09/05/upgrading-ram-in-an-arduino-mega/">multiplexing to decrease the address lines necessary to add memory</a>.</p>
<br />Filed under: <a href='http://hackaday.com/category/arduino-hacks/'>arduino hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/55031/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/55031/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/55031/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/55031/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/55031/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/55031/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/55031/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/55031/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/55031/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/55031/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/55031/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/55031/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/55031/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/55031/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=55031&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/09/07/want-2-megabytes-of-sram-for-your-arduino/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Mike Szczys</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/09/cpld-adds-sram-to-arduino-e1315407840747.jpg" medium="image">
			<media:title type="html">cpld-adds-sram-to-arduino</media:title>
		</media:content>
	</item>
		<item>
		<title>Disco isn&#8217;t dead: diy dance floor spotted at student parties</title>
		<link>http://hackaday.com/2011/06/18/disco-isnt-dead-diy-dance-floor-spotted-at-student-parties/</link>
		<comments>http://hackaday.com/2011/06/18/disco-isnt-dead-diy-dance-floor-spotted-at-student-parties/#comments</comments>
		<pubDate>Sat, 18 Jun 2011 13:00:54 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[home entertainment hacks]]></category>
		<category><![CDATA[led hacks]]></category>
		<category><![CDATA[AVR]]></category>
		<category><![CDATA[cpld]]></category>
		<category><![CDATA[dance floor]]></category>
		<category><![CDATA[disco]]></category>
		<category><![CDATA[embedded]]></category>
		<category><![CDATA[fpga]]></category>
		<category><![CDATA[led]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=46320</guid>
		<description><![CDATA[Your party is lame if it doesn&#8217;t include interactive blinking lights on the dance floor. [Mario] and [Lukas] didn&#8217;t want to have lame parties, so they enlisted some fellow students to build an interactive dance floor (translated). The finished party-piece is 4 meters by 2.5 meters (that&#8217;s about 13&#8242;x8&#8242; for us yanks) and includes 160 lighted [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=46320&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-46321" title="diy-dance-floor" src="http://hackadaycom.files.wordpress.com/2011/06/diy-dance-floor-e1308348092211.jpg" alt="" width="470" height="353" /></p>
<p>Your party is lame if it doesn&#8217;t include interactive blinking lights on the dance floor. [Mario] and [Lukas] didn&#8217;t want to have lame parties, so they enlisted some fellow students to <a href="http://www.bastli.ethz.ch/index.php?page=BIRD">build an interactive dance floor</a> (<a href="http://translate.google.com/translate?js=n&amp;prev=_t&amp;hl=en&amp;ie=UTF-8&amp;layout=2&amp;eotf=1&amp;sl=auto&amp;tl=en&amp;u=http%3A%2F%2Fwww.bastli.ethz.ch%2Findex.php%3Fpage%3DBIRD">translated</a>). The finished party-piece is 4 meters by 2.5 meters (that&#8217;s about 13&#8242;x8&#8242; for us yanks) and includes 160 lighted squares. But it&#8217;s the electronics that really make this a heavy project.</p>
<p>Milled into the underside of the pressboard base are a series of pockets and channels to hold various components. If you look hard enough, you&#8217;re going to find eight AVR microcontrollers which control the LEDs, 8 CPLDs to manage the weight sensors which make the floor interactive, and an FPGA and embedded computer to tie everything together. It&#8217;s movable, a hit at parties, and so far it seems to hold up to the occasional spilled beverage.</p>
<p>You can&#8217;t share a project like this without some video. See it after the break.</p>
<p><span id="more-46320"></span><span style="text-align:center; display: block;"><a href="http://hackaday.com/2011/06/18/disco-isnt-dead-diy-dance-floor-spotted-at-student-parties/"><img src="http://img.youtube.com/vi/um1bMXSOXw8/2.jpg" alt="" /></a></span></p>
<br />Filed under: <a href='http://hackaday.com/category/home-entertainment-hacks/'>home entertainment hacks</a>, <a href='http://hackaday.com/category/led-hacks/'>led hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/46320/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/46320/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/46320/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/46320/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/46320/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/46320/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/46320/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/46320/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/46320/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/46320/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/46320/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/46320/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/46320/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/46320/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=46320&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/06/18/disco-isnt-dead-diy-dance-floor-spotted-at-student-parties/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Mike Szczys</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/06/diy-dance-floor-e1308348092211.jpg" medium="image">
			<media:title type="html">diy-dance-floor</media:title>
		</media:content>
	</item>
		<item>
		<title>Dabbling with CPLD generated VGA signals</title>
		<link>http://hackaday.com/2011/05/05/dabbling-with-cpld-generated-vga-signals/</link>
		<comments>http://hackaday.com/2011/05/05/dabbling-with-cpld-generated-vga-signals/#comments</comments>
		<pubDate>Thu, 05 May 2011 20:01:06 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[Microcontrollers]]></category>
		<category><![CDATA[Altera]]></category>
		<category><![CDATA[cpld]]></category>
		<category><![CDATA[dac]]></category>
		<category><![CDATA[EPM7128SLC84-7N]]></category>
		<category><![CDATA[resistor]]></category>
		<category><![CDATA[vga]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=42268</guid>
		<description><![CDATA[It seems like all the cool kids are leaving the 8-bit hobby microcontrollers in the parts bin and playing with more advanced parts like Complex Programmable Logic Devices. [Chris] is no exception to the trend, and set out to generate his own VGA signal using one of the beefy semiconductors. It seems that he&#8217;s using [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=42268&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-42269" title="vga-output-from-a-cpld" src="http://hackadaycom.files.wordpress.com/2011/05/vga-output-from-a-cpld.jpg" alt="" width="470" height="400" /></p>
<p>It seems like all the cool kids are leaving the 8-bit hobby microcontrollers in the parts bin and playing with more advanced parts like Complex Programmable Logic Devices. [Chris] is no exception to the trend, and <a href="http://www.pyroelectro.com/tutorials/fpga_vga_resistor_dac">set out to generate his own VGA signal using one of the beefy semiconductors</a>.</p>
<p>It seems that he&#8217;s using the acronyms CPDL and FPGA interchangeable in his post but according to the parts list this setup uses an Altera EPM7128SLC84-7N CPLD. In order to generate the VGA signal he needed a way to convert the digital signals from the chip into the analog values called for in the video standard. He chose to build a Digital Analog Converter for the RGB color values using a resistor network which he calculated using <a href="http://en.wikipedia.org/wiki/PSpice">PSpice</a>. The other piece in the puzzle is a 25.175 MHz oscillator to clock the CPLD. As you can see after the break, his wire-wrapped prototype works exactly as designed. The example code generates the rainbow bars seen above, or a bouncing box demo reminiscent of a DVD player screen saver.</p>
<p>Want to know more about programming CPLDs? <a href="http://hackaday.com/2008/12/11/how-to-programmable-logic-devices-cpld/">We did a tutorial on the subject</a> a while back.</p>
<p><span id="more-42268"></span><span style="text-align:center; display: block;"><a href="http://hackaday.com/2011/05/05/dabbling-with-cpld-generated-vga-signals/"><img src="http://img.youtube.com/vi/Tc572ygU70o/2.jpg" alt="" /></a></span></p>
<br />Filed under: <a href='http://hackaday.com/category/microcontrollers/'>Microcontrollers</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/42268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/42268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/42268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/42268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/42268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/42268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/42268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/42268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/42268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/42268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/42268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/42268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/42268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/42268/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=42268&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/05/05/dabbling-with-cpld-generated-vga-signals/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Mike Szczys</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/05/vga-output-from-a-cpld.jpg" medium="image">
			<media:title type="html">vga-output-from-a-cpld</media:title>
		</media:content>
	</item>
		<item>
		<title>Emulating Oric-1 floppy disk hardware</title>
		<link>http://hackaday.com/2011/02/19/emulating-oric-1-floppy-disk-hardware/</link>
		<comments>http://hackaday.com/2011/02/19/emulating-oric-1-floppy-disk-hardware/#comments</comments>
		<pubDate>Sat, 19 Feb 2011 16:37:02 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[classic hacks]]></category>
		<category><![CDATA[pcs hacks]]></category>
		<category><![CDATA[cpld]]></category>
		<category><![CDATA[emulation]]></category>
		<category><![CDATA[floppy]]></category>
		<category><![CDATA[oric atmos]]></category>
		<category><![CDATA[oric-1]]></category>
		<category><![CDATA[pic]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=35352</guid>
		<description><![CDATA[This device is called the Cumulus and it&#8217;s used to emulate the floppy disk hardware for Oric-1 and Oric Atmos computers. These 1980&#8242;s era computers included an expansion slot to which you could connect a floppy drive. That module, called a Microdisc system, also included the driver circuit which means you can&#8217;t just use a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=35352&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-35353" title="emulating-oric-computer-floppy-disc-module" src="http://hackadaycom.files.wordpress.com/2011/02/emulating-oric-computer-floppy-disc-module-e1298045841328.jpg" alt="" width="470" height="313" /></p>
<p>This device is called the <a href="http://retromaster.wordpress.com/cumulus/">Cumulus and it&#8217;s used to emulate the floppy disk</a> hardware for <a href="http://en.wikipedia.org/wiki/Oric#Oric-1">Oric-1 and Oric Atmos</a> computers. These 1980&#8242;s era computers included an expansion slot to which you could connect a floppy drive. That module, called a Microdisc system, also included the driver circuit which means you can&#8217;t just use a modern-day floppy drive as a replacement. [Retromaster] sidestepped the need for magnetic media all together by building an SD card interface which emulates the original module. We can tell by the use of a color screen and clean board layout that a lot of love went into the project. A CPLD implements the communications protocol used by the Microdisc system and creates all of the registers that would have been found on the original hardware. A PIC takes care of the SD card communications and the user interface.</p>
<p>With the exception of <a href="http://hackaday.com/2011/02/17/classicals-creates-hits-on-hardwares-greatest-flops/">comforting noises</a>, we&#8217;d bet there are few who have fond memories of using floppy disks. No wonder we&#8217;ve been seeing <a href="http://hackaday.com/2010/12/06/knitting-machine-hack-by-keypad-emulation/">hacks to replace them</a> quite a bit lately.</p>
<br />Filed under: <a href='http://hackaday.com/category/classic-hacks/'>classic hacks</a>, <a href='http://hackaday.com/category/pcs-hacks/'>pcs hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/35352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/35352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/35352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/35352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/35352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/35352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/35352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/35352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/35352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/35352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/35352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/35352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/35352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/35352/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=35352&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/02/19/emulating-oric-1-floppy-disk-hardware/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Mike Szczys</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/02/emulating-oric-computer-floppy-disc-module-e1298045841328.jpg" medium="image">
			<media:title type="html">emulating-oric-computer-floppy-disc-module</media:title>
		</media:content>
	</item>
		<item>
		<title>What Development Board to Use? (Part Two)</title>
		<link>http://hackaday.com/2011/02/14/what-development-board-to-use-part-two/</link>
		<comments>http://hackaday.com/2011/02/14/what-development-board-to-use-part-two/#comments</comments>
		<pubDate>Mon, 14 Feb 2011 22:03:28 +0000</pubDate>
		<dc:creator>James Munns</dc:creator>
				<category><![CDATA[parts]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[arm]]></category>
		<category><![CDATA[board]]></category>
		<category><![CDATA[cpld]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[fpga]]></category>
		<category><![CDATA[Leaf]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[maple]]></category>
		<category><![CDATA[mbed]]></category>
		<category><![CDATA[microchip]]></category>
		<category><![CDATA[nxp]]></category>
		<category><![CDATA[parallax]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[propeller]]></category>
		<category><![CDATA[Renesas]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[RXN]]></category>
		<category><![CDATA[Teensy]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=34682</guid>
		<description><![CDATA[We asked for responses to our last Development Board post, and you all followed through. We got comments, forum posts, and emails filled with your opinions. Like last time, there is no way we could cover every board, so here are a few more that seemed to be popular crowd choices. Feel free to keep [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=34682&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-34940" title="Prime2" src="http://hackadaycom.files.wordpress.com/2011/02/prime2.png" alt="" width="470" height="245" /></p>
<p>We asked for responses to our last Development Board post, and you all followed through. We got comments, forum posts, and emails filled with your opinions. Like <a href="http://hackaday.com/2011/02/01/what-development-board-to-use/">last time</a>, there is no way we could cover every board, so here are a few more that seemed to be popular crowd choices. Feel free to keep sending us your favorite boards, we may end up featuring them at a later date!</p>
<p><span id="more-34682"></span><strong>The Popular:</strong></p>
<p><img class="alignnone size-full wp-image-34941" title="Propeller Platform USB_01" src="http://hackadaycom.files.wordpress.com/2011/02/propeller-platform-usb_01.jpg" alt="" width="470" height="100" /></p>
<p><em><strong>Parallax Propeller: </strong></em>We heard the loudest cries from the Parallax fans out there. The Propeller is a unique chip, in that it contains 8 cores called cogs which each take turns executing separate code. This design allows for disregarding of interrupt style programming in favor of assigning each core a specific task. There are a number of boards available, including <a href="http://hackaday.com/2010/10/19/propeller-platform-prototyping-board-gets-an-upgrade/">Gadget Gangster&#8217;s platform</a> as well as boards from <a href="http://www.parallax.com/Store/Microcontrollers/PropellerAccessories/tabid/786/ProductID/423/List/0/Default.aspx?SortField=ProductName,ProductName">Parallax</a>. Thinking in terms of 8 cores rather than one may present a learning curve to some embedded programmers, though there are a number of code examples to pull from online to get beginners on their feet.</p>
<p><img class="alignnone size-full wp-image-34942" title="teensypp_pins" src="http://hackadaycom.files.wordpress.com/2011/02/teensypp_pins.jpg" alt="" width="470" height="100" /></p>
<p><em><strong>Atmel&#8217;s AT90USB and AT32U4 based boards: </strong></em>Atmel&#8217;s AT90USB and ATmega32U4 chips are common on low part count boards like the <a href="http://www.pjrc.com/teensy/">Teensy/Teensy++</a> because of their built-in hardware USB support, which means no FTDI or equivalent chip required. These development boards tend to be low-cost, easy to implement on a breadboard, and in cases such as the Teensy, are Arduino IDE <a href="http://www.pjrc.com/teensy/teensyduino.html">compatible</a>. The chips these boards are based on are also an excellent place for those trying their hand out at microcontroller circuit design for the first time because of their simplicity and low hardware requirements.</p>
<p><img class="alignnone size-full wp-image-34943" title="PIC32MX460512L" src="http://hackadaycom.files.wordpress.com/2011/02/pic32mx460512l.jpg" alt="" width="470" height="100" /></p>
<p><strong><em>Microchip&#8217;s PIC line: </em></strong>Somehow, we managed to leave the entire Microchip crowd in the cold last time. A popular set of microcontrollers with a similar market segment to Atmel&#8217;s chips, these chips vary from the low-end and low-cost 8-bit series to the higher end 16 and 32-bit models. We received a <a href="http://www.microchipdirect.com/productsearch.aspx?Keywords=DM164127">go﻿﻿od</a> <a href="http://www.mikroe.com/eng/products/view/318/pic32mx4-multimedia-board/#mmb_onboard">number</a> <a href="http://www.etteam.com/product2009/ET-PIC/ET-PIC32MX460F512L.html">of</a> <a href="http://www.mikroe.com/">development</a> <a href="http://www.sparkfun.com/products/9645">board</a> <a href="http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;nodeId=1406&amp;dDocName=en538340">recommendations</a>, all ranging in price, features, and ease of use. We&#8217;ll rely on comments and forum posts to help convince you what specific model to try.</p>
<p>[edit: Added the PicKit3 as per popular request]</p>
<p><strong></strong><strong>The Powerful:</strong></p>
<p><strong><img class="alignnone size-full wp-image-34944" title="mbed_1" src="http://hackadaycom.files.wordpress.com/2011/02/mbed_1.jpg" alt="" width="470" height="100" /><br />
</strong></p>
<p><em><strong>mbed: </strong></em>Possibly one of the most popular hobby development boards for ARM&#8217;s Cortex-M3 chip, the mbed features a similar footprint to the Teensy, but with a huge jump forward in power. The mbed includes hardware for a number of peripherals, including support for ethernet with the addition of an RJ-45 port. The major difference between the mbed and other similar boards is the entirely web-based IDE. We have <a href="http://hackaday.com/2009/11/21/review-mbed-nxp-lpc1768-microcontroller/">previously reviewed</a> the <a href="http://en.wikipedia.org/wiki/Mbed_microcontroller">mbed</a>, so for more details be sure to check it out.</p>
<p><img class="alignnone size-full wp-image-34945" title="61436_fig1" src="http://hackadaycom.files.wordpress.com/2011/02/61436_fig1.jpg" alt="" width="470" height="100" /></p>
<p><strong></strong><strong><em>Renesas&#8217; RX62N RDK: </em></strong>Whenever a company <a href="http://hackaday.com/2010/11/14/renesas-rx-design-contest-110k-of-cash-and-prizes/">gives away</a> development boards for free, the community often jumps on the offer. Rather than the normal free barebones boards though, the RDK has a good number of on board peripherals, including an Ethernet port as well as a 3 axis accelerometer. Unfortunately you can&#8217;t get one for free anymore (at least not this contest), but from all we have heard from our readers, it may be worth <a href="http://am.renesas.com/products/tools/introductory_evaluation_tools/renesas_demo_kits/yrdkrx62n/yrdkrx62n.jsp">investing in</a> anyway.</p>
<p><img class="alignnone size-full wp-image-34946" title="4613181199_33a31ca4ab_b" src="http://hackadaycom.files.wordpress.com/2011/02/4613181199_33a31ca4ab_b.jpg" alt="" width="470" height="100" /></p>
<p><em><strong>The Maple: </strong></em>The <a href="http://hackaday.com/2010/05/24/maple-r3-now-shipping/">Maple</a> from LeafLabs is an excellent example of the effect open hardware tools such as the Arduino have had on the hobbyist environment. Featuring an ARM Cortex-M3, the Maple has plenty of processing power and also can brag that it has the same header layout as the Arduino. This means that almost all commercially available Arduino shields will work on the Maple, a major selling point for anyone who has invested into a well stocked Arduino setup but needs an injection of performance.</p>
<p><strong>Bonus Points:</strong></p>
<p><strong><img class="alignnone size-full wp-image-34947" title="wrt54ghr5" src="http://hackadaycom.files.wordpress.com/2011/02/wrt54ghr5.png" alt="" width="470" height="100" /><br />
</strong></p>
<p><strong></strong><em><strong>OpenWRT based routers: </strong></em>Often, projects need to be networked either by wire or wirelessly to operate as desired. Rather than buying a high-end development board with ethernet or Wi-Fi built-in, many readers suggested buying (or salvaging) any one of a number of low-cost wireless routers, and installing a custom linux based firmware on them. These boards often tend to have UARTs or USB ports originally meant for debugging available for expansion with sensors or other low-end microcontrollers. A hack in the true sense of the word, we applaud this sort of creativity. Some popular firmwares to check out would include <a href="http://www.dd-wrt.com/site/index">DD-WRT</a>, <a href="http://openwrt.org/">OpenWRT</a>, and the <a href="http://www.polarcloud.com/tomato">Tomato firmware</a>. Be sure to make sure support exists for your device before you go buying anything though.</p>
<p><img class="alignnone size-full wp-image-34948" title="DE2_1280" src="http://hackadaycom.files.wordpress.com/2011/02/de2_1280.jpg" alt="" width="470" height="100" /></p>
<p><em><strong>FPGA boards: </strong></em>When we set out to cover development boards, we had microcontrollers in mind. However when it comes to signal processing, custom high-speed logic, or flexibility, FPGAs are an excellent choice. The two major players for hobbyists these days are Xilinx with their <a href="http://www.xilinx.com/onlinestore/s6_boards.htm">Spartan</a> line, and Altera with their <a href="http://www.altera.com/education/univ/materials/boards/de2/unv-de2-board.html">Cyclone</a> line. Both companies offer their IDE for free<strong>, </strong>and it comes down to personal preference when choosing which way to go. Both companies also support SoC designs to implement virtual microcontrollers on the FPGA, which adds an additional layer of flexibility for any hobbyist or engineer. Chances are, most hobbyists will not need the performance of cutting edge FPGAs (or <a href="http://en.wikipedia.org/wiki/Complex_programmable_logic_device">CPLD</a>s), so keep an eye out for older development boards on sale, or development boards made by third parties.</p>
<p><img class="alignnone size-full wp-image-34949" title="breadboard_atmel_attiny13.preview" src="http://hackadaycom.files.wordpress.com/2011/02/breadboard_atmel_attiny13-preview.jpg" alt="" width="470" height="100" /></p>
<p><em><strong>Build your own: </strong></em>Although it may appear as a sort of &#8220;Get off my lawn&#8221; answer to our question, there is a lot to be said about building a development board from scratch. These days, many 8-bit or 32-bit microcontrollers require few if any external components to run in a basic mode, and can be combined with a JTAG or FTDI cable for programming and communication. There are countless tutorials on using perf-board or <a href="http://hackaday.com/2008/07/28/how-to-etch-a-single-sided-pcb/">etching a board</a> to make a custom circuit, and the experience is invaluable for breaking away from high cost development boards in simple projects<strong>.</strong></p>
<br />Filed under: <a href='http://hackaday.com/category/parts/'>parts</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/34682/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/34682/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/34682/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/34682/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/34682/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/34682/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/34682/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/34682/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/34682/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/34682/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/34682/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/34682/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/34682/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/34682/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=34682&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/02/14/what-development-board-to-use-part-two/feed/</wfw:commentRss>
		<slash:comments>42</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">jahmez</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/02/prime2.png" medium="image">
			<media:title type="html">Prime2</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/02/propeller-platform-usb_01.jpg" medium="image">
			<media:title type="html">Propeller Platform USB_01</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/02/teensypp_pins.jpg" medium="image">
			<media:title type="html">teensypp_pins</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/02/pic32mx460512l.jpg" medium="image">
			<media:title type="html">PIC32MX460512L</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/02/mbed_1.jpg" medium="image">
			<media:title type="html">mbed_1</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/02/61436_fig1.jpg" medium="image">
			<media:title type="html">61436_fig1</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/02/4613181199_33a31ca4ab_b.jpg" medium="image">
			<media:title type="html">4613181199_33a31ca4ab_b</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/02/wrt54ghr5.png" medium="image">
			<media:title type="html">wrt54ghr5</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/02/de2_1280.jpg" medium="image">
			<media:title type="html">DE2_1280</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/02/breadboard_atmel_attiny13-preview.jpg" medium="image">
			<media:title type="html">breadboard_atmel_attiny13.preview</media:title>
		</media:content>
	</item>
		<item>
		<title>V4Z80P: The 8-bit laptop</title>
		<link>http://hackaday.com/2010/11/08/the-v4z80p-the-8-bit-laptop/</link>
		<comments>http://hackaday.com/2010/11/08/the-v4z80p-the-8-bit-laptop/#comments</comments>
		<pubDate>Mon, 08 Nov 2010 20:00:08 +0000</pubDate>
		<dc:creator>James Munns</dc:creator>
				<category><![CDATA[laptops hacks]]></category>
		<category><![CDATA[cpld]]></category>
		<category><![CDATA[fpga]]></category>
		<category><![CDATA[laptop]]></category>
		<category><![CDATA[Spartan]]></category>
		<category><![CDATA[xilinx]]></category>
		<category><![CDATA[z80]]></category>
		<category><![CDATA[zilog]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=30322</guid>
		<description><![CDATA[[Phil] over at Retroleum has cobbled together a clean, well put together laptop based entirely around a Zilog Z80 microprocessor and a pair of Spartan II FPGAs. These FPGAs allow him to reduce the number of devices on his board, and therefore cut his production cost as well as device size. He even managed to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=30322&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-30323" title="title" src="http://hackadaycom.files.wordpress.com/2010/11/title.png" alt="" width="470" height="245" /></p>
<p>[Phil] over at Retroleum has cobbled together a clean, well put together <a href="http://www.retroleum.co.uk/electronics-articles/previous/the-v4z80p-a-z80-based-laptop/">laptop</a> based entirely around a <a href="http://en.wikipedia.org/wiki/Zilog_Z80">Zilog Z80</a> microprocessor and a pair of Spartan II FPGAs. These FPGAs allow him to reduce the number of devices on his board, and therefore cut his production cost as well as device size. He even managed to integrate a salvaged PSOne screen. The laptop comes complete with [Phil]&#8216;s own Homebrew OS as well as a great graphical vector based demo.</p>
<p>Sure he&#8217;s updated the project in recent years to shrink the board, speeding up the Z80, and increasing the peripheral speed and functionality, but we&#8217;re suckers here for a <a href="http://hackaday.com/2010/11/07/project-enclosures-the-right-way/">total package</a> hack. Seriously though, check out the <a href="http://www.retroleum.co.uk/v6z80p/">newest version</a> of the device as well as the backlog that shows the project growing over time.</p>
<p>Thanks to [Steth] for the heads up.</p>
<br />Filed under: <a href='http://hackaday.com/category/laptops-hacks/'>laptops hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/30322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/30322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/30322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/30322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/30322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/30322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/30322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/30322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/30322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/30322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/30322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/30322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/30322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/30322/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=30322&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2010/11/08/the-v4z80p-the-8-bit-laptop/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">jahmez</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/11/title.png" medium="image">
			<media:title type="html">title</media:title>
		</media:content>
	</item>
		<item>
		<title>40 MSPS Digital oscilloscope</title>
		<link>http://hackaday.com/2010/04/27/40-msps-digital-oscilloscope/</link>
		<comments>http://hackaday.com/2010/04/27/40-msps-digital-oscilloscope/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 18:05:00 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[tool hacks]]></category>
		<category><![CDATA[atmega162]]></category>
		<category><![CDATA[cpld]]></category>
		<category><![CDATA[oscilloscope]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=23515</guid>
		<description><![CDATA[If you can fabricate single-sided circuit boards at home you can build this digital oscilloscope. It uses mostly through-hole components with just a couple of surface mount chips to contend with. An ATmega162 handles the hardware end of things with a CPLD used to manage the sampling rate. Data is displayed on a 240&#215;128 LCD [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=23515&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-23516" title="diy-digital-oscilloscope" src="http://hackadaycom.files.wordpress.com/2010/04/diy-digital-oscilloscope-e1272383618449.jpg" alt="" width="470" height="353" /></p>
<p>If you can fabricate single-sided circuit boards at home <a href="http://www.eosystems.ro/eoscope/eoscope_en.htm">you can build this digital oscilloscope</a>. It uses mostly through-hole components with just a couple of surface mount chips to contend with. An ATmega162 handles the hardware end of things with a CPLD used to manage the sampling rate. Data is displayed on a 240&#215;128 LCD display which will be the most expensive component to acquire. It&#8217;s still a lot cheaper than buying a commercially available oscilloscope, even if you <a href="http://hackaday.com/2010/03/31/update-50mhz-to-100mhz-scope-conversion/">get a base model and hack it to unlock all the features</a>.</p>
<p>[Thanks Juan]</p>
<br />Filed under: <a href='http://hackaday.com/category/tool-hacks/'>tool hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/23515/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/23515/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/23515/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/23515/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/23515/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/23515/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/23515/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/23515/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/23515/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/23515/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/23515/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/23515/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/23515/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/23515/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=23515&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2010/04/27/40-msps-digital-oscilloscope/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Mike Szczys</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/04/diy-digital-oscilloscope-e1272383618449.jpg" medium="image">
			<media:title type="html">diy-digital-oscilloscope</media:title>
		</media:content>
	</item>
		<item>
		<title>NES processor cloned on a FPGA</title>
		<link>http://hackaday.com/2009/10/17/nes-processor-cloned-on-a-fpga/</link>
		<comments>http://hackaday.com/2009/10/17/nes-processor-cloned-on-a-fpga/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 23:09:55 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[nintendo hacks]]></category>
		<category><![CDATA[cpld]]></category>
		<category><![CDATA[fpga]]></category>
		<category><![CDATA[nes]]></category>
		<category><![CDATA[nintendo]]></category>
		<category><![CDATA[processor]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=17424</guid>
		<description><![CDATA[[Bradley] decided to tackle the challenge to recreate the original Nintendo Entertainment System&#8217;s processor in a Field Programmable Gate Array. Say what? The original NES is a Legacy System, still used but no longer manufactured. If a system breaks, it becomes more and more difficult to repair or find replacements parts as time passes. By [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=17424&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-17425" title="nes-on-an-fpga" src="http://hackadaycom.files.wordpress.com/2009/10/nes-on-an-fpga.jpg" alt="nes-on-an-fpga" width="470" height="364" /></p>
<p>[Bradley] decided to tackle the challenge to <a href="http://cegt201.bradley.edu/projgrad/proj2006/fpganes/">recreate the original Nintendo Entertainment System&#8217;s processor</a> in a Field Programmable Gate Array. Say what? The original NES is a <a href="http://en.wikipedia.org/wiki/Legacy_system">Legacy System</a>, still used but no longer manufactured. If a system breaks, it becomes more and more difficult to repair or find replacements parts as time passes. By using a <a href="http://hackaday.com/2008/12/11/how-to-programmable-logic-devices-cpld/">programmable integrated circuit such as a CPLD</a> or a FPGA to clone the functionality of the original hardware, legacy systems can live on long after the original hardware has given up the ghost.</p>
<p>It took [Bradley] about a year to fully implement the NES processor as part of his Master&#8217;s project at <a href="http://www.bradley.edu/">Bradley University</a>. He used what was known about the processor combined with some detective work with logic probes along the way. The programming was done in <a href="http://en.wikipedia.org/wiki/VHDL">VHDL</a> and those files are available for download (<a href="http://cegt201.bradley.edu/projgrad/proj2006/fpganes/">click on Documentation</a>).</p>
<p>With the ubiquity of <a href="http://hackaday.com/2009/09/03/nes-on-zipit/">NES emulators on every device</a> known to man you probably won&#8217;t be replicating this unless you want a reason to play with a FPGA. What interests us is the hardware solution this type of work provides for obsolete hardware that still serves a useful purpose. If you&#8217;ve used a FPGA or similar device to keep an old system running, let us know about it in the comments.</p>
<br />Posted in nintendo hacks  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/17424/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/17424/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/17424/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/17424/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/17424/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/17424/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/17424/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/17424/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/17424/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/17424/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/17424/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/17424/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/17424/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/17424/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=17424&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/10/17/nes-processor-cloned-on-a-fpga/feed/</wfw:commentRss>
		<slash:comments>52</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Mike Szczys</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/10/nes-on-an-fpga.jpg" medium="image">
			<media:title type="html">nes-on-an-fpga</media:title>
		</media:content>
	</item>
		<item>
		<title>T-Mobile G1 teardown</title>
		<link>http://hackaday.com/2008/12/19/t-mobile-g1-teardown/</link>
		<comments>http://hackaday.com/2008/12/19/t-mobile-g1-teardown/#comments</comments>
		<pubDate>Sat, 20 Dec 2008 00:11:13 +0000</pubDate>
		<dc:creator>Eliot</dc:creator>
				<category><![CDATA[android hacks]]></category>
		<category><![CDATA[cellphones hacks]]></category>
		<category><![CDATA[g1 hacks]]></category>
		<category><![CDATA[google hacks]]></category>
		<category><![CDATA[adp1]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[cellphone]]></category>
		<category><![CDATA[compass]]></category>
		<category><![CDATA[cpld]]></category>
		<category><![CDATA[dev phone 1]]></category>
		<category><![CDATA[G1]]></category>
		<category><![CDATA[htc]]></category>
		<category><![CDATA[phonewreck]]></category>
		<category><![CDATA[sim]]></category>
		<category><![CDATA[t-mobile]]></category>
		<category><![CDATA[t-mobile g1]]></category>
		<category><![CDATA[teardown]]></category>
		<category><![CDATA[vibration]]></category>
		<category><![CDATA[xilinx]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=7062</guid>
		<description><![CDATA[In our Dev Phone 1 excitement last week, we somehow overlooked phoneWreck&#8217;s teardown of the T-Mobile G1. The complex slider mechanism is certainly worth looking out. One of the major oddities they point out is the inclusion of two vibration motors. One is mounted next to the SIM on the mainboard. While the other is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=7062&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-7063" title="g1teardown" src="http://hackadaycom.files.wordpress.com/2008/12/g1teardown.jpg" alt="g1teardown" width="450" height="253" /></p>
<p>In our <a title="Hardware-unlocked Android G1 for sale  - Hack a Day" href="http://hackaday.com/2008/12/08/hardware-unlocked-android-g1-for-sale/">Dev Phone 1</a> excitement last week, we somehow overlooked phoneWreck&#8217;s <a title="phoneWreck  » T-Mobile G1 - Review and Teardown" href="http://www.phonewreck.com/2008/12/09/t-mobile-g1-review-and-teardown/">teardown of the T-Mobile G1</a>. The complex slider mechanism is certainly worth looking out. One of the major oddities they point out is the inclusion of two vibration motors. One is mounted next to the SIM on the mainboard. While the other is mounted in the frame next to the earpiece. We wonder what was gained/solved by using two. The phone also includes a digital compass module. We&#8217;d like a more detailed explanation of how the Xilinx CPLD is used. From this <a title="TechOnline | Smart phone has bells, whistles" href="http://www.techonline.com/product/underthehood/193100827">article in 2006</a>, it seems HTC uses them to generate custom clock signals and switching off devices for power management.</p>
<br />Posted in android hacks, cellphones hacks, g1 hacks, google hacks  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/7062/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/7062/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/7062/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/7062/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/7062/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/7062/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/7062/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/7062/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/7062/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/7062/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/7062/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/7062/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/7062/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/7062/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=7062&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2008/12/19/t-mobile-g1-teardown/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">RobotSkirts</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/12/g1teardown.jpg" medium="image">
			<media:title type="html">g1teardown</media:title>
		</media:content>
	</item>
		<item>
		<title>How-to: Programmable logic devices (CPLD)</title>
		<link>http://hackaday.com/2008/12/11/how-to-programmable-logic-devices-cpld/</link>
		<comments>http://hackaday.com/2008/12/11/how-to-programmable-logic-devices-cpld/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 02:41:20 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[how-to]]></category>
		<category><![CDATA[misc hacks]]></category>
		<category><![CDATA[tool hacks]]></category>
		<category><![CDATA[complex programmable logic device]]></category>
		<category><![CDATA[cpld]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[fpga]]></category>
		<category><![CDATA[logic]]></category>
		<category><![CDATA[programmable logic]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=6790</guid>
		<description><![CDATA[Complex programmable logic devices (CPLDs) contain the building blocks for hundreds of 7400-serries logic ICs. Complete circuits can be designed on a PC and then uploaded to a CPLD for instant implementation. A microcontroller connected to a CPLD is like a microcontroller paired with a reprogrammable circuit board and a fully stocked electronics store. At [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=6790&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-6845" title="cover-450" src="http://hackadaycom.files.wordpress.com/2008/12/cover-450.jpg" alt="cover-450" width="450" height="257" /></p>
<p><a href="http://en.wikipedia.org/wiki/CPLD">Complex programmable logic devices</a> (CPLDs) contain the building blocks for hundreds of <a href="http://en.wikipedia.org/wiki/7400_series">7400-serries logic ICs</a>. Complete circuits can be designed on a PC and then uploaded to a CPLD for instant implementation. A microcontroller connected to a CPLD is like a microcontroller paired with a reprogrammable circuit board and a fully stocked electronics store.</p>
<p>At first we weren&#8217;t sure of the wide appeal and application of CPLDs in hobbyist projects, but we&#8217;ve been convinced. A custom logic device can eliminate days of reading datasheets, finding the <a href="http://en.wikipedia.org/wiki/7400_series#7400_series_subfamilies">ideal logic IC combination</a>, and then waiting for chips to arrive. Circuit boards are simpler with CPLDs because a single chip with programmable pin placement can replace <a href="http://en.wikipedia.org/wiki/List_of_7400_series_integrated_circuits">100s of individual logic ICs</a>. Circuit mistakes can be corrected by uploading a new design, rather than etching and stuffing a new circuit board. CPLDs are fast, with reaction times starting at 100MHz. Despite their extreme versatility, CPLDs are a mature technology with chips starting at $1.</p>
<p>We&#8217;ve got a home-etchable, self programming development board to get you started. Don&#8217;t worry, this board has a serial port interface for working with the CPLD, and doesn&#8217;t require a separate (usually parallel port) JTAG programmer.</p>
<p><span id="more-6790"></span><strong>Intro to CPLDs</strong></p>
<p><strong><img class="alignnone size-full wp-image-6840" title="bitclone-24fv1final" src="http://hackadaycom.files.wordpress.com/2008/12/bitclone-24fv1final.jpg" alt="bitclone-24fv1final" width="450" height="191" /><br />
</strong></p>
<p><em>When to use a CPLD</em><strong><br />
</strong></p>
<p>Consider using a CPLD when a design calls for more than one 7400 series logic ICs. A CPLD will be cheaper, faster, and can be programmed with your ideal pin-out configuration for simpler PCBs.</p>
<p>Use a CPLD in tricky designs that might require several iterations. It&#8217;s easier to design a new circuit in software and upload it to the CPLD than it is to design, etch, and stuff a new circuit board.</p>
<p>For maximum speed and instant response, choose a CPLD. The difference in speed is amazing; CPLDs start at a 100MHz, while microcontrollers respond to interrupts at a few MHz. CPLD designs form circuits that react to external stimulus, reactions occur almost instantaneously. A microcontroller executes code to react to events, even interrupt routines have comparatively high latency.</p>
<p><em>CPLD vs FPGA</em></p>
<p><a href="http://en.wikipedia.org/wiki/Field-programmable_gate_array">FPGA</a>s are better known than CPLDs, but they share many characteristics. This analogy isn&#8217;t perfect, but we like it: where FPGAs are a reprogrammable processor core, a CPLD is a reprogrammable circuit board or breadboard. FPGAs replace microcontrollers, memory, and other components. CPLDs absorb logic ICs, and work well with a microcontroller.</p>
<p><em>Manufacturers</em></p>
<p><a href="http://www.altera.com/">Altera</a> and <a href="http://www.xilinx.com/">Xilinx</a>, the biggest CPLD manufacturers, are better known for their FPGAs. <a href="http://www.latticesemi.com/">Lattice Semiconductor</a> is another large CPLD manufacturer with less community following. <a href="http://www.atmel.com">Atmel</a> makes <a href="http://www.atmel.com/dyn/products/devices.asp?family_id=653">pin-compatible versions</a> of old industry-standard CPLDs.</p>
<p>If you plan to work at 5volts, your options are limited. Xilinx XC9500 CPLDs are still available as new old stock, but cost four times more than newer 3.3volt equivalents. Atmel&#8217;s <a href="http://www.atmel.com/dyn/products/product_card.asp?part_id=2123">ATF1502 series</a> works at 5volts, but they don&#8217;t offer a free development environment.</p>
<p>At 3.3volts there&#8217;s more options, but new CPLDs increasingly have a core that runs at 2.5volts, 1.8volts, or lower. The Altera <a href="http://www.altera.com/products/devices/cpld/max2/mx2-index.jsp">MAXII</a> and the Xilinx <a href="http://www.xilinx.com/products/xc9500xl/index.htm">XC9500XL</a> series are probably the most popular 3.3volt CPLDs. Xilinx also makes the <a href="http://www.xilinx.com/products/coolrunner2/">CoolrunnerII</a> CPLD, but it only comes in a TQFP package and requires a separate 1.8volt supply for the core.</p>
<p><em>Packages</em></p>
<p>Most manufacturers offer one or two CPLDs in a hobbyist friendly<a href="http://en.wikipedia.org/wiki/Plastic_leaded_chip_carrier"> PLCC 44 package</a>, though this is starting to disappear. PLCC is an SOIC-sized surface mount chip with pins on all four sides. PLCC44 sockets are commonly available in through-hole and SMD versions. Unfortunately, newer CPLD families are starting to eliminate the PLCC package and offer only 44 pin and larger TQFP chips, such as Xilinx&#8217;s CoolrunnerII.</p>
<p><em>Development environments</em></p>
<p>Most manufacturers offer a free development environment that supports design entry using simple schematics, as well as <a href="http://en.wikipedia.org/wiki/Verilog">Verilog</a> or <a href="http://en.wikipedia.org/wiki/VHDL">VHDL</a>. Many won&#8217;t support the latest FPGAs in the free version, but we only need the CPLD parts anyway. Altera has <a href="https://www.altera.com/support/software/download/sof-download_center.html">Quartus</a>, Xilinx has <a href="http://www.xilinx.com/products/design_resources/design_tool/index.htm">ISE</a>, and Lattice has <a href="http://www.latticesemi.com/dynamic/index.cfm?fuseaction=view_category&amp;document_type=65&amp;source=topnav">ispLever</a>. Atmel has <a href="http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2756">ProChip Designer</a> for the ATF15xx series, but they only offer a 6month trial license &#8212; which they wouldn&#8217;t actually give us.</p>
<p><em>Programmers</em></p>
<p>The development board we present doesn&#8217;t need a separate JTAG programmer because the PIC microcontroller already programs the CPLD.  If you want an external programmer, the cheapest are the parallel port programmers: <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8460">Parallel Cable III for Xilinx</a> and <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8705">BytleBlaster for Altera</a>. Inexpensive clones, and schematics, are available at SparkFun.  The<a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8278"> OpenOCD</a> is a generic USB JTAG programmer that will work with many CPLDs, FPGAs, and ARMs.</p>
<p><em>Our choice</em></p>
<p>We eventually settled on the Xilinx XC9500XL series because it had a cheap development kit we could use to <a href="http://hackaday.com/2008/12/01/bus-pirate-firmware-update-v0c-jtag-and-more/">test our JTAG programmer</a> prior to implementing an entire design.</p>
<p>The <a href="http://www.xilinx.com/products/devkits/DO-CPLD-DK-G.htm">DO-CPLD-DK</a> from <a href="http://www.digilentinc.com/Products/Detail.cfm?Prod=XC2XL&amp;Nav1=Products&amp;Nav2=Programmable">Digilent</a> includes a XC9572XL, a CoolrunnerII, and parallel port programmer. Nu Horizons has some <a href="https://webapps.nuhorizons.com/storefront/PartSearch.do;jsessionid=916F131647DF384D1C7D5D21956D5A63?PostAction=GO&amp;ItemsPerPage=25&amp;PartNumberHolder=&amp;Mode=initSearch&amp;Commodity=ALL&amp;InStockOnly=FALSE&amp;I6.y=0&amp;Manufacturer=ALLMFG&amp;InStockOnly1=N&amp;PartNumberSearch=DO-CPLD-DK&amp;pSearchType=CompanyPart&amp;PageNum=1&amp;PbFreeOnly1=N&amp;NextPage=1&amp;I6=go&amp;ResultsPerPage=10&amp;PbFreeOnly=FALSE&amp;I6.x=0&amp;prevSearchType=">old non-ROHS models for $40</a>, but due to sloppy variable type handling in their credit card processing scripts, we couldn&#8217;t complete an order online. We tried to do it over the phone but they refused to take such a small order on the phone, even during a website malfunction. In the end, it was cheaper to pay full price at Digikey (#<a href="http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=122-1512-ND">122-1512-ND</a>) after including New Horizon&#8217;s exorbitant shipping charges. We wouldn&#8217;t normally mention this, but with only two places to buy the board it&#8217;s probably worth noting our experience.</p>
<p><strong>CPLD development board</strong></p>
<p><strong><img class="alignnone size-full wp-image-6844" title="cct-crop-450" src="http://hackadaycom.files.wordpress.com/2008/12/cct-crop-450.jpg" alt="cct-crop-450" width="450" height="202" /></strong></p>
<p><a href="http://hackadaycom.files.wordpress.com/2008/12/cct.png">Click here for a full size schematic image</a> (PNG). The circuit and PCB are designed using the freeware version of <a href="http://www.cadsoft.de">Cadsoft Eagle</a>. All the files for this project are included in the project archive linked at the end of the article.</p>
<p><em>Circuit</em></p>
<p>A PIC <a href="http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;nodeId=1335&amp;dDocName=en026374">24FJ64GA002</a> microcontroller (IC1) provides the user and programming interface to the CPLD. We use this $4 PIC in a lot of projects because the peripheral pin select feature makes board routing really easy. Check out our <a href="http://hackaday.com/2008/09/18/web-server-on-a-business-card-part-1/">introduction to the PIC24F</a> for more details. The PIC needs to communicate with a PC serial port, so we added an inexpensive MAX3232 RS232 transceiver. The serial interface should work with a USB-&gt;serial adapter.</p>
<p>Our choice of CPLD (IC3), a Xilinx <a href="http://www.xilinx.com/support/documentation/data_sheets/ds057.pdf">XC9572XL</a> (PDF), is connected between the PIC and several other components. We can create an endless variety of circuitry between the PIC and other chips using the reprogrammable logic inside the CPLD.<em> </em>The PIC will program the CPLD with code sent from a PC serial port, but we still brought the JTAG pins to a header for easy external debugging.</p>
<p>A <a href="http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3491">DS1085 digital programmable oscillator</a> (IC4) generates clock frequencies between 8KHz and 133MHz, at 10KHz increments. This is very similar to the <a href="http://hackaday.com/2008/11/28/parts-133mhz-162khz-programmable-oscillator-ds1077/">DS1077 we covered earlier,</a> but it has even steps between all frequencies. The DS1085 requires a 5volt supply (VR2). The I2C interface also runs at 5volts, so we connected it to 5volt tolerant PIC pins. It&#8217;s possible to use the 3.3volt 66MHz 1085L instead, and remove the 5volt supply.</p>
<p>We used a cheap 3.3volt SOT223 voltage regulator (VR1) to power most of the circuit.  The 5volt supply (VR2) can be excluded if you use a slower 1085L 3.3volt oscillator.</p>
<p>CPLDs are commonly used as a memory controller, so we included 32K of SRAM (IC5) on the development board. A 3.3volt latch with 5volt tolerant inputs interface the memory inputs to a wide range of external voltages (IC6). The latch inputs are held low with a 1Mohm resistor network (RN1). We&#8217;ll discuss this section extensively in an upcoming article.</p>
<p><em>PCB</em></p>
<p>The board is a quasi one-sided design. We made several compromises so we could prototype this highly experimental PCB ourselves. We present the board &#8216;as is&#8217; for other die-hards that might want to etch this board at home. If you send the PCB to a board house, try to correct these issues prior to producing a &#8216;real&#8217; double-sided board.</p>
<p>One power pin of the CPLD is missing a decoupling capacitor entirely; there was no way to put a capacitor in that area. One CPLD decoupling capacitor, and the SRAM decoupling capacitor, are through-hole parts. Using these through-hole parts eliminated a few jumper wires.</p>
<p><img class="alignnone size-full wp-image-6839" title="backside-450" src="http://hackadaycom.files.wordpress.com/2008/12/backside-450.jpg" alt="backside-450" width="450" height="257" /></p>
<p>The jumper wires on the back of the board are optimized for single-sided production, rather than good design practices. We faked a double-sided board by soldering the power bus on the back. A real double-sided board design should route the power bus to avoid crossing signal paths, and include the missing decoupling capacitors.</p>
<p>We used an surface mount PLCC chip socket, but a through-hole version is definitely a better idea. We though the SMD version would be easy to solder, but it turned out to be a nightmare. We really wanted the CPLD to be on the front of the board for the coolest possible presentation. A proper two-sided board with plated through-holes can have a through-hole socket on the front, but this wasn&#8217;t possible with our 1-sided prototype board.</p>
<p><em>Parts list</em></p>
<p><em><img class="alignnone size-full wp-image-6841" title="brd-450" src="http://hackadaycom.files.wordpress.com/2008/12/brd-450.png" alt="brd-450" width="450" height="256" /></em></p>
<p><a href="http://hackadaycom.files.wordpress.com/2008/12/brd.png">Click here for a full size placement diagram</a> (PNG).<em><br />
</em></p>
<table border="0">
<tbody>
<tr>
<td><strong>Part</strong></td>
<td><strong>Value</strong></td>
</tr>
<tr>
<td>IC1</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=V%2fyyTCAHA4D%2fh5r3CRQDtA%3d%3d">PIC25FJ64GA002</a> (SOIC)</td>
</tr>
<tr>
<td>IC2</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?R=SN75C3232EDvirtualkey59500000virtualkey595-SN75C3232ED">MAX3232CSE</a> (SOIC-N)</td>
</tr>
<tr>
<td>IC3</td>
<td><a href="XC9572XL-10PCG44C">XC9572XL-10PCG44C</a> (PLCC)</td>
</tr>
<tr>
<td>&#8211;</td>
<td><a href="https://www.mouser.com/Search/ProductDetail.aspx?R=PLCC-44-AT-SMTvirtualkey64610000virtualkey737-PLCC-44-AT-SMT">PLCC44 socket</a>, SMD</td>
</tr>
<tr>
<td>IC4</td>
<td><a href="http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3491">DS1085</a> or <a href="http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=DS1085LZ-25%2B-ND">DS1085L</a> (SOIC)</td>
</tr>
<tr>
<td>IC5</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=AI63Xxb%2f5RSO5sZcRck%2fyw%3d%3d">32Kx8, 3.3v, SRAM</a> (SOJ)</td>
</tr>
<tr>
<td>IC6</td>
<td><a href="https://www.mouser.com/Search/ProductDetail.aspx?R=74LVT573WMvirtualkey51210000virtualkey512-74LVT573WM">74LVT573D</a> (SOIC)</td>
</tr>
<tr>
<td>VR1</td>
<td>3.3v regulator, <a href="https://www.mouser.com/Search/ProductDetail.aspx?R=LD1117S33CTRvirtualkey51120000virtualkey511-LD1117S33C">LD1117S33</a> (SOT223)</td>
</tr>
<tr>
<td>VR2</td>
<td>5v regulator, <a href="https://www.mouser.com/Search/ProductDetail.aspx?R=LD1117S50TRvirtualkey51120000virtualkey511-LD1117S50">LD1117S50</a> (SOT223)</td>
</tr>
<tr>
<td>C1-11,13-17</td>
<td><a href="https://www.mouser.com/Search/ProductDetail.aspx?R=C0805C104M5RACTUvirtualkey64600000virtualkey80-C0805C104M5R">0.1uF decoupling capacitors</a> (0805)</td>
</tr>
<tr>
<td>C12</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=6ARB0lp6jlXWqZF4lhG52w%3d%3d">0.01uF capacitor</a> (0805)</td>
</tr>
<tr>
<td>C15,16</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=9AX3phJxokWIpR5WRGtIJw%3d%3d">0.1uF decoupling capacitors</a> (through-hole)</td>
</tr>
<tr>
<td>C18</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?R=293D106X96R3A2TE3virtualkey61320000virtualkey74-293D106X96R3A2TE3">10uF tantalum capacitor</a> (A)</td>
</tr>
<tr>
<td>R1,2</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=2BMLUTrrT4P7Xm58YbKmPg%3d%3d">390ohm resistor</a> (0805)</td>
</tr>
<tr>
<td>R3-5</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=jBethxrBxZb5NLDetw123g%3d%3d">2000ohm resistor</a> (0805)</td>
</tr>
<tr>
<td>RN1</td>
<td><a href="https://www.mouser.com/Search/ProductDetail.aspx?R=4609X-101-105LFvirtualkey65210000virtualkey652-4609X-1LF-1M">1Mohm resistor network</a> (9 pin)</td>
</tr>
<tr>
<td>LED1,2</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=7JStj%2fjQ2SElGv%2fp7IzKlg%3d%3d">LED</a> (0805)</td>
</tr>
<tr>
<td>X1</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=nAEW9fCjKd%2fyLNwP2ItddQ%3d%3d">db9 female serial port connector</a> *untested</td>
</tr>
<tr>
<td>J1</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=8xMK%2bwDsXhcfMNb/YnnwLQ==">2.1mm power jack</a></td>
</tr>
<tr>
<td>ICSP, JTAG, SV1</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?R=4-103329-0virtualkey57100000virtualkey571-41033290">0.1&#8243; pin header, right angle</a></td>
</tr>
<tr>
<td>S1</td>
<td><a href="https://www.mouser.com/Search/ProductDetail.aspx?R=101-0164-EVvirtualkey12040000virtualkey101-0164-EV">Tactile switch</a> (DTSM-6)</td>
</tr>
</tbody>
</table>
<p><em>Firmware</em></p>
<p>The firmware is written in C using the free demonstration version of the <a href="http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;nodeId=1406&amp;dDocName=en010065">PIC C30 compiler</a>. Learn all about working with this PIC in our <a href="http://hackaday.com/2008/09/18/web-server-on-a-business-card-part-1/">introduction to the PIC 24F series</a>. The firmware is included in the project archive at the end of the article.</p>
<p>We wanted a super easy way to interact with the hardware on the board without endless compile-program-test cycles. We made a custom version of the <a href="http://hackaday.com/2008/11/19/how-to-the-bus-pirate-universal-serial-interface/">Bus Pirate firmware</a> that  provides a simple ASCII terminal interface to the DS1085 clock chip (I2C), the CPLD programing interface (JTAG), and a 3 wire (SPI) interface to the CPLD. Check out the Bus Pirate tutorial for background on the simple syntax used with the firmware.</p>
<p>The original Bus Pirate firmware handles several protocols that share the same pins. For the CPLD version, we changed the pin assignments to fit the connections on the development board. We also removed unused modules and options.</p>
<p><strong>CPLD blinky LED examples</strong></p>
<p>We prepared several designs in Xilinx&#8217;s ISE development environment. The schematics, pin placement files, and compiled designs (XSVF) are included in the project archive linked at the end of the article.  A full explanation of ISE is beyond the scope of this article; we found the help files sufficiently useful to make these examples.</p>
<p><em><img class="alignnone size-full wp-image-6855" title="ex1" src="http://hackadaycom.files.wordpress.com/2008/12/ex1.png" alt="ex1" width="450" height="222" /><br />
</em></p>
<p>The first design simply lights the LED connected to pin 8 of the CPLD.</p>
<p><em>Prepare the XSVF file</em></p>
<p>XSVF is a compressed JTAG programming format, as described by Xilinx in <a href="http://www.xilinx.com/support/documentation/application_notes/xapp058.pdf">this application note</a> (PDF). XSVF isn&#8217;t limited to programming Xilinx devices, and can be prepared for any chip that provides a common <a href="http://en.wikipedia.org/wiki/Boundary_scan_description_language">BSDL</a> JTAG definition file.</p>
<p>Open the iMPACT programming tool from the ISE Design Suite project panel under <em>Configure target device-&gt;iMPACT</em>.</p>
<ul>
<li> Choose the option to <em>create a boundary scan file</em>,  and set the type to XSVF.</li>
<li>Give the XSVF output a file name and then add a compiled CPLD image (ex1.jed) when prompted to add a device.</li>
<li>You should see a JTAG chain that contains a single device.</li>
</ul>
<p><img class="alignnone size-full wp-image-6856" title="boundaryscan" src="http://hackadaycom.files.wordpress.com/2008/12/boundaryscan.png" alt="boundaryscan" width="365" height="174" /></p>
<p>Click on the device and choose program; iMPACT will record the programming sequences to an XSVF file.</p>
<p>With XSVF file in hand, it&#8217;s time to open up a terminal and program the CPLD. We like <a href="http://www.ayera.com/teraterm/">Tera Term</a> and <a href="http://www.hw-group.com/products/hercules/index_en.html">Hercules</a> on Windows. You <em>must</em> enable XON/XOFF flow control in the client to use the JTAG interface. The default PC side setting for the development board terminal is 115200bps, 8N1.</p>
<blockquote><p>HiZ&gt;m <strong>&lt;&#8211;select mode</strong><br />
1. HiZ<br />
2. I2C<br />
3. JTAG<br />
4. RAW3WIRE<br />
MODE&gt;3 <strong>&lt;&#8211;JTAG</strong><br />
900 MODE SET<br />
602 JTAG READY<br />
JTAG&gt;(2) <strong>&lt;&#8211;probe JTAG chain macro<br />
</strong> xxx JTAG INIT CHAIN<br />
xxx JTAGSM: RESET<br />
xxx JTAGSM: RESET-&gt;IDLE<br />
xxx JTAGSM: IDLE-&gt;Instruction Register (DELAYED ONE BIT FOR TMS)<br />
xxx JTAGSM: IR-&gt;IDLE<br />
xxx JTAGSM: IDLE-&gt;Data Register<br />
xxx JTAGSM: DR-&gt;IDLE<br />
xxx JTAGSM: RESET<br />
xxx JTAGSM: RESET-&gt;IDLE<br />
xxx JTAGSM: IDLE-&gt;Data Register<br />
xxx JTAG CHAIN REPORT:<br />
0&#215;01 DEVICE(S)<br />
#0&#215;01 : 0xC9 0&#215;02 0&#215;06 0x9A <strong>&lt;&#8211;XC9572XL responds</strong><br />
xxx JTAGSM: DR-&gt;IDLE<br />
JTAG&gt;</p></blockquote>
<p>In the terminal we enter the mode menu (m), and choose JTAG (3). Macro 2 probes the JTAG chain, in our case this is just the CPLD.  The chain report tells us that the chip is connected and responding. <a href="http://hackaday.com/2008/12/01/bus-pirate-firmware-update-v0c-jtag-and-more/">Read more about the JTAG interface</a>.</p>
<p><img class="alignnone size-full wp-image-6857" title="up" src="http://hackadaycom.files.wordpress.com/2008/12/up.png" alt="up" width="451" height="265" /></p>
<p>Now we can run the XSVF programmer, macro (3), and upload the XSVF file from the terminal <em>in binary mode</em>. The first example just lights the LED on pin 8. If the LED lights, we can verify that programming was successful. If your LED doesn&#8217;t light, don&#8217;t despair; sometimes the JTAG programmer sticks and a reset macro (1) will get the chip going.</p>
<p><img class="alignnone size-full wp-image-6867" title="ex1a" src="http://hackadaycom.files.wordpress.com/2008/12/ex1a.jpg" alt="ex1a" width="450" height="285" /></p>
<p>LED at full brightness.</p>
<p><em>74LS32/4071 OR gate, blink at half rate (/2)<br />
</em></p>
<p><img class="alignnone size-full wp-image-6862" title="ex21" src="http://hackadaycom.files.wordpress.com/2008/12/ex21.png" alt="ex21" width="450" height="128" /></p>
<p>A major component of the CPLD development board is the 1085(L) frequency synthesizer connected to pin 7 of the CPLD. The next example uses a <a href="http://en.wikipedia.org/wiki/OR_gate">logic OR gate</a>, like a <a href="http://en.wikipedia.org/wiki/OR_gate#Hardware_description_and_pinout">74LS32 or 4071</a> IC, to blink the LED whenever the clock signal is high. At even the slowest clock rate the blinking will be too fast to see, but we should get a nice PWM dimming effect compared to the first example.</p>
<blockquote><p>JTAG&gt;m <strong>&lt;&#8211;select mode</strong><br />
1. HiZ<br />
2. I2C<br />
3. JTAG<br />
4. RAW3WIRE<br />
MODE&gt;2 <strong>&lt;&#8211;I2C interface to DS1085</strong><br />
900 MODE SET<br />
202 I2C READY<br />
I2C&gt;(1) <strong>&lt;&#8211;address search macro</strong><br />
xxx Searching 7bit I2C address space.<br />
Found devices at:<br />
0xB0 0xB1<strong> &lt;&#8211;found the DS1085 address</strong><br />
I2C&gt;</p></blockquote>
<p>Program the CPLD as before, and then switch to I2C mode to access the DS1085 clock. We could look up the device address in the datasheet, but we save a few seconds by running the address search macro; the report tells us the chip answers to 0xb0 (write) and 0xb1 (read).</p>
<blockquote><p>I2C&gt;{0xb0 0&#215;02 0b00011111 0b10000000}<strong>&lt;&#8211;max prescaler</strong><br />
210 I2C START CONDITION<br />
220 I2C WRITE: 0xB0 GOT ACK: YES<br />
220 I2C WRITE: 0&#215;02 GOT ACK: YES<br />
220 I2C WRITE: 0x1F GOT ACK: YES<br />
220 I2C WRITE: 0&#215;80 GOT ACK: YES<br />
240 I2C STOP CONDITION<br />
I2C&gt;{0xb0 1 0b11111111 0b11000000}<strong>&lt;&#8211;max divider</strong><br />
210 I2C START CONDITION<br />
220 I2C WRITE: 0xB0 GOT ACK: YES<br />
220 I2C WRITE: 0&#215;01 GOT ACK: YES<br />
220 I2C WRITE: 0xFF GOT ACK: YES<br />
220 I2C WRITE: 0xC0 GOT ACK: YES<br />
240 I2C STOP CONDITION<br />
I2C&gt;</p></blockquote>
<p>The DS1085 is almost exactly like the <a href="http://hackaday.com/2008/11/28/parts-133mhz-162khz-programmable-oscillator-ds1077/">DS1077 we covered earlier</a>, but has a DAC controlled oscillator for even steps between all frequencies. We programmed the clock to the slowest frequency using the commands shown above. The LED is dimmed by the pulse-width modulation effect of the clock signal.</p>
<p><img class="alignnone size-full wp-image-6868" title="ex2a" src="http://hackadaycom.files.wordpress.com/2008/12/ex2a.jpg" alt="ex2a" width="450" height="285" /></p>
<p>LED at half brightness.</p>
<p><em>74F269 16bit synchronous counter, blink slowly (/</em>65535<em>)</em></p>
<p><img class="alignnone size-full wp-image-6865" title="ex3" src="http://hackadaycom.files.wordpress.com/2008/12/ex3.png" alt="ex3" width="449" height="282" /></p>
<p>We just programmed the CPLD with a logic OR gate similar to a 74LS32. Now, we&#8217;re going to reprogram the chip with a 16bit counter like two cascaded <a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=lp01TYqEl4mFnzVVG95LCg%3d%3d">74F269s</a>.  At $1.15 each, two 74F269 Ics are more expensive than the XC9572XL CPLD. A 16bit counter rolls over once per 65535 ticks, so a LED attached to the last bit will toggle once every 65535/2 ticks.</p>
<p>Now we can see the cool part of CPLDs. The CPLD is like a programmable breadboard; we just popped out the 74LS32 and put in a 74F269, without buying parts, reading datasheets, etching, wiring, etc. A microcontroller connected to a CPLD can reconfigure its own circuit board to fix errors, add features, or re-purpose it for entirely different applications.</p>
<p>We upload the new design as before, but now the clock is divided by 65535 and the LED toggles about once per second.</p>
<span style="text-align:center; display: block;"><a href="http://hackaday.com/2008/12/11/how-to-programmable-logic-devices-cpld/"><img src="http://img.youtube.com/vi/wNfJKHV0ylg/2.jpg" alt="" /></a></span>
<p><strong>Taking it further</strong><br />
Next time we&#8217;ll look at discrete 7400-series logic chips, and implement a ton of them in the CPLD to make a high-speed bus sniffer and logic analyzer.</p>
<p><strong>Download:</strong> <a href="http://blog.mahalo.com/hackaday/howto/bitclone.v1.zip">bitclone.v1.zip</a></p>
<br />Posted in how-to, misc hacks, tool hacks  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/6790/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/6790/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/6790/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/6790/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/6790/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/6790/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/6790/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/6790/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/6790/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/6790/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/6790/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/6790/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/6790/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/6790/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=6790&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2008/12/11/how-to-programmable-logic-devices-cpld/feed/</wfw:commentRss>
		<slash:comments>43</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Ian</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/12/cover-450.jpg" medium="image">
			<media:title type="html">cover-450</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/12/bitclone-24fv1final.jpg" medium="image">
			<media:title type="html">bitclone-24fv1final</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/12/cct-crop-450.jpg" medium="image">
			<media:title type="html">cct-crop-450</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/12/backside-450.jpg" medium="image">
			<media:title type="html">backside-450</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/12/brd-450.png" medium="image">
			<media:title type="html">brd-450</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/12/ex1.png" medium="image">
			<media:title type="html">ex1</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/12/boundaryscan.png" medium="image">
			<media:title type="html">boundaryscan</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/12/up.png" medium="image">
			<media:title type="html">up</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/12/ex1a.jpg" medium="image">
			<media:title type="html">ex1a</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/12/ex21.png" medium="image">
			<media:title type="html">ex21</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/12/ex2a.jpg" medium="image">
			<media:title type="html">ex2a</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/12/ex3.png" medium="image">
			<media:title type="html">ex3</media:title>
		</media:content>
	</item>
	</channel>
</rss>
