Skip to main content
Topic: Web Platform v2? (Read 213665 times) previous topic - next topic

Re: Web Platform v2?

Reply #30
[quote author="ian"]
I would like any updated hardware to be 100% free of non open source code. It should highlight the uIP port, OS USB stack, and OS FAT SD card driver, all code distributable.
[/quote]

As for the FAT library I would recommend ChaN's FatFs [1].  After finding out, that the Microchip MMD library deliberately lacks LFN (long file name) support, I was looking for an alternative.  FatFs has LFN support, is actively maintained, has a clean code base and good documentation, and is usable for any media type, since it has a clean separation between the FAT code itself and a low-level driver.  Sample projects [2] are available for various processors, including PIC, with example implementations of the low-level drivers e.g. MMC/SD card.

I successfully combined the FatFs with Microchips USB stack to access a USB memory stick.  (A posting of the process can be found here [3] and the source code of this project for the curious is here [4].)

I also added a link to the FatFs web page here [5].  Maybe the link to DOSFS should be removed, since this library seems being quite out of date.

Have fun,
Markus

[1] http://elm-chan.org/fsw/ff/00index_e.html
[2] http://elm-chan.org/fsw/ff/ffsample.zip
[3] http://overtone-labs.ning.com/forum/top ... ct-for-usb
[4] http://code.google.com/p/cui32/source/b ... s_Test_MGr
[5] http://dangerousprototypes.com/docs/Com ... ributables

Re: Web Platform v2?

Reply #31
I noticed that addition and checked the link. That FS is great! Will definitely use it in the next project.
Got a question? Please ask in the forum for the fastest answers.


Re: Web Platform v2?

Reply #33
I would like to see it able to run Linux.  Many of todays "embeded" processors have more memory and faster processors than Unix systems from not that long ago.  EmDebian (the embedded version of Debian) is activly supported on Arm and Mips as well as several other architectures.  http://emdebian.org/ for info.  The main issues seem to be peripheral support and bootloader.

My other requests are more or less the usual -- cheap, low power, lots of IO, etc.  My potential application would use lead-acid batteries so input of 10-16v (yes, over 15v under equilization charge), but doing switching regulators shouldn't be hard externaly.

Re: Web Platform v2?

Reply #34
@blarson - that'[s a really interesting proposal. I've always wanted to make a DIY device that runs Linux, there is also uClinux.

The issue is, I believe, that linux requires a memory management unit (MMU):
http://en.wikipedia.org/wiki/Memory_management_unit
This does some stuff so the memory addresses don;t have to be hard-coded in the firmware. PICs and low-end uCs lack this. When I've looked at ARMs that have it, it seems they're all BGA packages I'm not equipped to work with.
Got a question? Please ask in the forum for the fastest answers.

Re: Web Platform v2?

Reply #35
[quote author="ian"]
 When I've looked at ARMs that have it, it seems they're all BGA packages I'm not equipped to work with.
[/quote]

AT91SAM9260
http://www.atmel.com/dyn/products/produ ... rt_id=3870

Re: Web Platform v2?

Reply #36
Nice! Thanks! I spent the rest of the morning reading that datasheet :) A simple setup with SRAM + PHY + Compact Flash could be simple enough for 2layers without reinventing the Beagleboard.
Got a question? Please ask in the forum for the fastest answers.

Re: Web Platform v2?

Reply #37
In case you will be looking into Linux take a look at Cyrrus Logic's EP9301/9302, too ... they have a solid uClinux port, too are  pincompatible
(EP9301 and EP9302) and the EP9302 comes with a real math coprocessor ;)

So the AT91SAM9620 and AT91SAM9260 are still in production I have heard distributor/Atmel app engineers suggest to use AT91SAM9G20
for new designs instead (half the power consumption at twice the speed and the 92G20 is going to replace the 9620 were among the
arguments they gave). As far as I know the new AT91SAM9Gxx come in BGA packages only

Re: Web Platform v2?

Reply #38
Hey guys; I have developed a commercial product whose core is close to that of what I imagine would be ideal for the next web platform.  I'm new to the DP forums; but I've been a hardware hacker for years.  Key aspects of the proposed design.

- ARM Cortex M3 processor with built in Ethernet PHY (Using LM3S6965 but could easilly switch to LM3S9XXX series for more features)
- Core system based on freeRTOS; tasks setup for common system functions; general purpose timers; network handling (telnet; http) etc
- IP Stack based on lwIP
- PoE based power supply
- Industrial Temperature rated parts throughout
- 2-layer PCB

I have the OK to distribute the core system (not the motion control application which is proprietary to the company); Software; PCB and footprints; and schematic (eagle format right now; planning on moving to KiCad).

Currently its a little butchered as the motion control hardware and software has been removed; but the core digital system is ready to use.  Processor is a 100 pin lqfp; i've been building the protos at home using a diy soldermask and toaster oven.

A few key reason why I prefer this processor / sw combination.
- Open Source OS - freeRTOS currently setup with example tasks to build on
- Open Source Debugger - Bus Pirate in openOcd mode
- Open Source IP Stack - lwIP is excellent
- Open Source Compiler (using Codesourcery GCC package (easy trouble free install))
- I have used both STM32 and TI-Luminary ARM cortex M3 offerings and I much prefer the TI driver library;
- Industrial temp with PoE makes this platform ideal for remote sensing (outdoor)
- LM3S6XXX and LM3S9XXX processors have a built in well documented PHY which greatly simplifies layout and allows for a much more compact design

Planning on getting the Ethernet bootloader running on this platform soon.

Let me know if there is any interest in the design; I plan on going ahead open sourcing the platform in any case.  I can post more details if there is interest.

Scott

Re: Web Platform v2?

Reply #39
Sounds fantastic. Can you post the eagle files so we can take a look at the bom? I'm interested in the ethernet section.
Got a question? Please ask in the forum for the fastest answers.

Re: Web Platform v2?

Reply #40
Alrighty; attached are the stripped eagle files.  They're not pretty as 3/4 of the original design (not web-platform related) was deleted.  Some notes on the design decisions

- Connectors were chassis mount (IP67 - waterproof) so ethernet just goes to a header, for a web platform a RJ45 with integrated PoE magnetics would simplify things
- PoE is accomplished via AG9434 PoE module which was required for my origninal design; would be smarter to have a direct 3.3V PoE module to save the lm3575 switching regulator
- the LM3S6965 has an internal LDO for the 2.5V plane; its routed under the processor; IO is still 3.3V
- Silk font size is too small on the board;
- JTAG connector needs more clearance to fit a shrouded connector
- All parts selected for industrial temperature opperation
- I don't have an a BOM for this stripped down version; I can try to pear down my existing BOM.

Re: Web Platform v2?

Reply #41
[quote author="statik"]- I don't have an a BOM for this stripped down version[/quote]Have you used bom.ulp from Eagle?  It will create a simple text file BoM, but you might have to edit to fill in more detailed descriptions.

Re: Web Platform v2?

Reply #42
exported bom attach; all parts from mouser except from the PoE module which is from silvertel directly.  As a basic platform it would be nice to have PoE as a populate option.

Scott

Re: Web Platform v2?

Reply #43
If you click on the radio button under List type in bom.ulp, you can group the list by Value rather than Parts.  This collects all the similar resistor values together, etc.  I've attached an example from your Eagle files, but it seems like my file has lots of parts that you removed.

Re: Web Platform v2?

Reply #44
[quote author="rsdio"]
If you click on the radio button under List type in bom.ulp, you can group the list by Value rather than Parts.  This collects all the similar resistor values together, etc.  I've attached an example from your Eagle files, but it seems like my file has lots of parts that you removed.
[/quote]
will do;

What do you guys think of the processor / SW combination in general?  I have a telnet CLI to set IO and read ADC, I would like it to be more generic though (have the ability to set pin direction via CLI).