It's been a long time I was searching for a TQFP chip that has some computing power. I found very, very few stuff in this category as anything with some power has its i/o number exploding and resulting of some BGA package, unusable for easy prototyping and with huge waste of I/O.
So, after hours of searching, I found a very few FPGAs (like MAX10 from Altera) or some ARM stuff with cortex cores. Lately, I found this DSP series which is exactly what I was searching for.
So, as soon I found this, I tried to dig into the documentation to get a precise overall picture of this chip and the interaction with outside hardware, booting possibilities, programming methods, available OS and so on.
To my disappointment, exactly like any other manufacturers I studied, it is near impossible to do so. The documentation is close to useless in this context, except if one takes a very long time to read the hardware reference documents (thousands of pages), datasheets and so on to try to assemble all the dispersed (basic) information. In fact, manufacturer does not seem to know that, at the beginning, when somebody has to choose some chips from several manufacturers, only some specific information are relevant. And Analog Devices is no exception.
After hours reading, I don't have a precise understanding of the ecosystem of these chips. Mainly because the documents heavily use of acronyms that I have to learn without defining them directly on datasheets. It seems that manufacturers suppose that readers already know all of these as a prerequisite. But when somebody searches for chips, it is absolutely not the case.
And this is the main problem : there is no synthetic stand alone document that describes correctly a product. The only way to find simple answers is to cross check between reference documents and datasheets (or, even worse, forum questions). How a manufacturer can expect to sell products if people have to do this in order to understand the overall logic of the products ?
By the way, I could reduce everything to these questions I couldn't find precise and accurate answers. It is because this product seems really interesting that I did all this work, else I would have gave up a long time ago.
Here they are :
- When SC57x TQFP176 series will be available ?
- Will it be a dedicated evaluation board for this very chip which is much more constrained as hardware implementation. The SC573 evaluation board is not very as an example of hardware implementation. For example, BGA400 and TQFP176 is very different for power line decoupling.
- What are the possible OS for this chip (I would guess only for the ARM core) ?
- Where are they stored ? Where is stored the specific code for DSPs (I guess without the need of a specific OS) ? How all the different codes /OS are differentiated in the ROM storage ? How each DSP (and ARM core by the way) knows where is the code they have to execute (at runtime, configuration,... ?)
- How they are programmed ? Can it be done without the development tools (I.E. using a micro-controller for example) when the hardware is on field and the firmware has to be updated ? What are the bootloaders and where are they stored ?
- I seems that (and it is only a interpretation) the firmware (or OS) is in the flash memory accessed by the SPI2 interface. Is it the case ? Is the linux plugin provided is a kernel stored here and booted here when this interface is configured has memory mapped ? Or is the SD card interface (if I understood right) can be used as a boot drive ?
- What serial flash chips can be used ? NOR, NAND , SLC, any SQI memory ? How can I have the full 512MB available ? What reference of chip can be used ?
- Is there a serious documentation about the multiple core coexistence (Sharc and ARM), possibilities and programming tools. There are documentation about DSP, others about ARM and very few about the link between them. How it is presented in the IDE ? How are they synchronized ? How functions in DSP are called from the Arm core ? Is there an multi-core API ? I couldn't have a real idea of how it looks like in real life from a programming point of view : nothing is explicitly said (or it is in a document I didn't have already read).
- About IDE, which are available ? Obviously CrossCore is the one (but 995$ a license where other manufacturers have a free version of their development tools), but it is written that SigmaDSP is usable. But nothing is said about this in the SigmaDSP page and the support of this line of DSP. On the other hand, I couldn't know if SigmaDSP allows to add custom code.
- Why on earth the SC571 documentation explains how DDR2 SDRAM interface works where this no such controller in the chip ? Why this datasheet is full of stuff about the 400BGA version which is irrelevant ? Why this documentation waste dozens of pages about the pinout (for a non existent package) where all the previous questions should have been answered there ? All I can see here is the SC58X documentation with title changed.
- I couldn't find anything really solid about interrupt latency (or, more important, stability of this latency) and output jitter performance.
- I couldn't even find in the documentation the actual differences between the SC57X and SC58X series (except a few of them). I had to search in the forum to get the answers ! How this is possible ?
- When I do a parametric search, everything is mixed up. The SC571 is given with 92 GPIO pins, the 21571 has no package but only 64 GPIO pins. But the SC573 has only 64 GPIO pins for a 400BGA. I don't understand.
- Is some people has already do something to allow multiple DSP to communicate ? Tor example, this range has a Ethernet interface. Is there a way to put several DSPs in a Ethernet network without all the PHY within the same PCB ?
I know that some of these questions seems naive or stupid for people that are used to use the Sharc (by the way, is there a document with all the differences between Sharc and Sharc+ ?) or similar cores. But, there are on earth some people who don't and have to start somewhere.