<?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>Village Telco &#187; Nanostation 2</title>
	<atom:link href="http://villagetelco.org/tag/nanostation-2/feed/" rel="self" type="application/rss+xml" />
	<link>http://villagetelco.org</link>
	<description>an easy-to-use, scalable, standards-based, wireless, local, do-it-yourself, telephone company toolkit</description>
	<lastBuildDate>Wed, 18 Jan 2012 14:08:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Kicking off Phase 2 with some hardware design</title>
		<link>http://villagetelco.org/2009/02/kicking-off-phase-2-with-some-hardware-design/</link>
		<comments>http://villagetelco.org/2009/02/kicking-off-phase-2-with-some-hardware-design/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 13:52:15 +0000</pubDate>
		<dc:creator>drowe</dc:creator>
				<category><![CDATA[Mesh Potato]]></category>
		<category><![CDATA[IP04]]></category>
		<category><![CDATA[Nanostation 2]]></category>
		<category><![CDATA[Prototype]]></category>
		<category><![CDATA[Verilog]]></category>

		<guid isPermaLink="false">http://villagetelco.org/?p=113</guid>
		<description><![CDATA[A few weeks ago Elektra and I started Phase 2 of the Mesh Potato project. In Phase 2 we are working with Atcom to build the prototype Mesh Potato hardware.&#8230;]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago Elektra and I started Phase 2 of the Mesh Potato project. In Phase 2 we are working with Atcom to build the prototype Mesh Potato hardware. The first work package is hardware design.</p><p>Elektra is working on hardening the various ports of the Mesh Potato against environmental and accidental damage. For example making sure the power port is robust to reverse DC connection, and protecting the Antenna and Ethernet ports from static. She is also taking particular care to ensure that the power supply is as efficient as possible; saving a few watts really matters in solar powered applications.</p><p>I am working on the <a title="Wikipedia entry for Foreign Exchange Station (FXS)" href="http://en.wikipedia.org/wiki/Foreign_exchange_station" target="_blank" onclick="urchinTracker('/outgoing/en.wikipedia.org/wiki/Foreign_exchange_station?referer=');">FXS</a> interface hardware. The <a title="Atheros Home Page" href="http://www.atheros.com/" target="_blank" onclick="urchinTracker('/outgoing/www.atheros.com/?referer=');">Atheros</a> <a title="What is a System on a Chip (SoC)" href="http://www.wisegeek.com/what-is-a-system-on-a-chip-soc.htm" target="_blank" onclick="urchinTracker('/outgoing/www.wisegeek.com/what-is-a-system-on-a-chip-soc.htm?referer=');">SoC</a> chips have a lot of functionality, but unfortunately don&#8217;t have a <a title="Wikipedia entry for Time Division Multiplexing" href="http://en.wikipedia.org/wiki/Time-division_multiplexing" target="_blank" onclick="urchinTracker('/outgoing/en.wikipedia.org/wiki/Time-division_multiplexing?referer=');">Time Division Multiplexed (TDM)</a> bus peripheral which is required to connect to the FXS chipset. The current plan is to make a <a title="Wikipedia entry for RS-232" href="http://en.wikipedia.org/wiki/RS-232C" target="_blank" onclick="urchinTracker('/outgoing/en.wikipedia.org/wiki/RS-232C?referer=');">RS232</a> serial to TDM adaptor, using some programmable logic. Speech samples will flow through the Atheros SoC RS232 serial port to and from the TDM bus.</p><p>The software side of the FXS interface involves modifying the serial driver (8250.c in the kernel), to store speech samples in buffers that are then uploaded to user mode for Asterisk. It is important that the interrupt service routine is really fast, so I am bypassing much of the standard serial code and writing a custom ISR.</p><p>Over the last few weeks I have written the modified driver and tested it using RS232 signals from a PC. This week I have been designing and testing the hardware side of the interface. This involves writing a bunch of <a title="Wikipedia entry for Verilog" href="http://en.wikipedia.org/wiki/Verilog" target="_blank" onclick="urchinTracker('/outgoing/en.wikipedia.org/wiki/Verilog?referer=');">Verilog</a> code, then testing it using a PC based simulator. I am using the (open source) <a href="http://www.icarus.com/eda/verilog/" onclick="urchinTracker('/outgoing/www.icarus.com/eda/verilog/?referer=');">Icarus</a> and <a href="http://www.geda.seul.org/tools/gtkwave/" onclick="urchinTracker('/outgoing/www.geda.seul.org/tools/gtkwave/?referer=');">GTKwave</a> programs to simulate and visualise the waveforms. It&#8217;s much easier to test and debug all this complex logic in simulation form before firing up any hardware.</p><p>Over the last few days I have been testing all this logic using a prototype jig:</p><p align="center"><img src="http://rowetel.com/images/mp_fxs_proto.jpg" alt="" /></p><p>Two <a title="David Rowe's IP04" href="http://www.rowetel.com/ucasterisk/ip04.html" target="_blank" onclick="urchinTracker('/outgoing/www.rowetel.com/ucasterisk/ip04.html?referer=');">IP04</a>s are used. IP04s happen to have a Xilinx <a title="Wikipedia entry for Complex Programmable Logic Device (CPLD)" href="http://en.wikipedia.org/wiki/CPLD" target="_blank" onclick="urchinTracker('/outgoing/en.wikipedia.org/wiki/CPLD?referer=');">CPLD</a> chip on board that is suitable for running the FXS Interface logic. So on the LH IP04 I reprogrammed the CPLD with the FXS Interface logic. The right hand IP04 in the picture above is used as &#8220;life support&#8221; for a FXS module. The FXS module runs as per normal on the IP04 but we tap off the various TDM bus signals we need to drive the CPLD on the IP04 on the left. So to test I can speak into a phone connected to the IP04 and the CPLD does it&#8217;s thing with the signals, converting them to and from RS232 serial.</p><p>So far I have tested both the receive and transmit side of the FXS Interface by connecting the serial signals to a PC. I managed to sample my own voice by capturing the RS232 bytes to a file and playing it back on my PC&#8217;s sound card. So far so good.</p><p>Today I have started connecting the FXS Interface to a Nanostation 2. My first tests crashed the Nanonstation! I guess due to something I changed on the serial driver. So time for some debugging&#8230;&#8230;</p><p><strong>Links</strong></p><p><a href="http://www.rowetel.com/blog/?p=13" onclick="urchinTracker('/outgoing/www.rowetel.com/blog/?p=13&amp;referer=');">Verilog Tutorial</a><br /><a href="https://villagetelco.svn.sourceforge.net/svnroot/villagetelco/david/cpld" onclick="urchinTracker('/outgoing/villagetelco.svn.sourceforge.net/svnroot/villagetelco/david/cpld?referer=');">FXS Interface Verilog source and test benches</a><br /><a href="https://villagetelco.svn.sourceforge.net/svnroot/villagetelco/david/sch/README.txt" onclick="urchinTracker('/outgoing/villagetelco.svn.sourceforge.net/svnroot/villagetelco/david/sch/README.txt?referer=');">README documenting FXS Interface design</a><br /><a href="https://villagetelco.svn.sourceforge.net/svnroot/villagetelco/david/sch/fxsinterface.sch" onclick="urchinTracker('/outgoing/villagetelco.svn.sourceforge.net/svnroot/villagetelco/david/sch/fxsinterface.sch?referer=');">FXS Interface timing diagrams in gschem format</a></p>]]></content:encoded>
			<wfw:commentRss>http://villagetelco.org/2009/02/kicking-off-phase-2-with-some-hardware-design/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: basic
Object Caching 369/383 objects using disk: basic

Served from: villagetelco.org @ 2012-02-04 10:03:41 -->
