<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
	<link rel="self" type="application/atom+xml" href="https://forums.obdev.at/app.php/feed/topic/8829" />

	<title>Objective Development Forums</title>
	
	<link href="https://forums.obdev.at/index.php" />
	<updated>2014-01-29T09:39:17+02:00</updated>

	<author><name><![CDATA[Objective Development Forums]]></name></author>
	<id>https://forums.obdev.at/app.php/feed/topic/8829</id>

		<entry>
		<author><name><![CDATA[cpldcpu]]></name></author>
		<updated>2014-01-29T09:39:17+02:00</updated>

		<published>2014-01-29T09:39:17+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=8829&amp;p=26521#p26521</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=8829&amp;p=26521#p26521"/>
		<title type="html"><![CDATA[Offline V-USB data processing]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=8829&amp;p=26521#p26521"><![CDATA[
A lot of the complexity of V-USB comes from the requirement to do de-stuffing and xoring of the USB datalines in real time. I have been wondering - is this really necessary?<br />V-USB does not process most of the packet contents in realtime, so why not move some more processing off-line? Basically only the PID, address and endpoint number is used in the interrupt routine.<br /><br />- The PID is never bit-stuffed due to it's encoding<br />- The address may see one stuffed bit, but it is 7 bit only, so it will only expand to 8 bits in the worst case. The correct addressee can still be identified by a simple byte comparison.<br />- The endpoint number may be shifted by one bit.<br /><br />That means, that if we are limiting ourselves to a single endpoint, it is easily possible to perform all the necessary &quot;link-layer&quot; data processing on xored and bitstuffed data.<br />This would allow reducing the receiver routine to a simple loop and would also enable 8 MHz V-USB.<br /><br />Any thoughts?<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=20062">cpldcpu</a> — Wed Jan 29, 2014 9:39 am</p><hr />
]]></content>
	</entry>
	</feed>
