<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
</head>
<body text="#000000" bgcolor="#FFFFFF">
Hi Bill,<br>
<br>
This looks excellent! I have been working on a TangerineSDR
requirements document, which I have put up on the web page here:<br>
<br>
<a class="moz-txt-link-freetext" href="http://TangerineSDR.com/TangerineSDR_documents/TangerineSDR_Requirements_V0_3.pdf">http://TangerineSDR.com/TangerineSDR_documents/TangerineSDR_Requirements_V0_3.pdf</a><br>
<br>
What I call the "C&C Processor" is what you call "Local Host". I
like your term better, so I will change it in my next revision.<br>
<br>
Since the SBC can run several processes, it seems that "Command and
Control", "web browser", "data analysis", "ring buffer storage", as
well as optional functions "GnuRadio", "WSPR", "RBN", etc are all
just applications running under the Local Host operating system. I
am not sure how to make this more clear (maybe it is clear enough?)<br>
<br>
One other thing (maybe Tom already asked for this), can you put
section numbers on the document to make it easier to reference to
specific parts?<br>
<br>
You mentioned the Local Host's ability to program the FPGA on the
DE. While you can always plug a USB Blaster directly onto the DE
JTAG port (you will need to do this to run the SignalTap debugging
software in the Quartus tools anyway), here is how it will
eventually work. <br>
<br>
The MAX10's configuration is in stored in SRAM cells within the
part. Being volatile, it the SRAM must be loaded at every power up.
The MAX10 uses internal flash memory to store two configuration
images. On power up, the MAX10 automatically loads the main image
into SRAM and releases its internal reset, running the default
configuration. If this flash image gets corrupted, the MAX10 will
automatically load the secondary image and attempt to run that.<br>
<br>
So the idea is to use the main image as the "upgrade-able" image,
while the secondary image is the "factory" image that is never
modified. Both images contain a boot loader that implements flash
erase and write of the main image (but not the secondary one) via
the Ethernet port. Note that the MAX10 runs out of SRAM. Any changes
to the flash image only take effect at the next reset cycle (power
up or programmable reset).<br>
<br>
So the Local Host will run an "update" application that will talk to
the MAX10's boot loader code. If the main flash image gets corrupted
(e.g., power fail during update), the secondary image will
automatically provide the boot loader function. I like the Elecraft
model of being able to read the current DE firmware version and
hardware configuration and then go out to the "TangerineSDR
Repository" and offer the user clickable firmware versions that
match his hardware. Firmware versions from local storage can also be
included for those intrepid souls who want to write their own FPGA
code (or for us developers writing/updating existing code). It can
all be GUI-driven (maybe all from a web browser?) so it will be
easy. <br>
<br>
My hope is that it will be so easy that users can switch between
applications like PSWS, RBN, WSPR at any time. It is *software*
defined, after all! :-) I may be expecting too much, however, since
external connections will likely change for each application, and
they are *not* software defined. <br>
<br>
73,<br>
Scotty WA2DFI<br>
<br>
<div class="moz-cite-prefix">On 2019-05-24 12:39, Engelke, Bill
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:e9f306f3ee73484dace6c5c1705019c9@ua.edu">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<meta name="Generator" content="Microsoft Word 15 (filtered
medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div class="WordSection1">
<p class="MsoNormal">Scotty - Please see attached, updated to
include some of the things discussed at Dayton. Next I will
work on the Functional Specifications for the Central Control
& Database system.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">If anyone would like me to start posting to
the TAPR github or somewhere, please just text credentials to
my mobile number, below. I can assure everyone that I will
not make a mess of it, having done this before.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">W. D. Engelke (Bill), Asst. Research Engr.<o:p></o:p></p>
<p class="MsoNormal">Center for Advanced Public Safety<o:p></o:p></p>
<p class="MsoNormal">Cyber Hall<o:p></o:p></p>
<p class="MsoNormal">The University of Alabama<o:p></o:p></p>
<p class="MsoNormal">Tuscaloosa, AL 35487<o:p></o:p></p>
<p class="MsoNormal">Desk: (205) 348-7244<o:p></o:p></p>
<p class="MsoNormal">Mobile: (205) 764-3099<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</blockquote>
<br>
</body>
</html>