[sdiy] ARM Cortex M4F chips with CODEC interfaces & DIY-friendly packages
Robin Whittle
rw at firstpr.com.au
Tue Sep 16 13:31:33 CEST 2014
>From the thread: "Freescale Kinetis K2 Arm Cortex M4: 120MHz, FPU & I2S
DAC/ADC interface".
Hi Terry,
I don't have great expertise in this field, or the time to collaborate
on a project, but here is a summary of my current understanding, based
partly on what I wrote and read in this thread so far.
You wrote:
> I see that Freescale have Kinetis “K” Series in various flavors up to
> 150 MHz. and mention on their web page 180 MHz parts.
The August 2014 selector guide I link to below mentions some K60, K61
and K70 150MHz parts which run to 150MHz, but those which are LQFP are
144 pins. The guide doesn't mention FPU for these, but looking up for
instance the MK60FX512VLQ15, the K60s do have FPU, according to page 5 of:
http://cache.freescale.com/files/microcontrollers/doc/data_sheet/K60P144M150SF3.pdf
which states that the 'F' in "MK60F" indicates it has DSP and FPU.
Since these packages for 150MHz are rather large and since ST chips go
to 180 MHz (in LQFP-100), I didn't consider these Freescale 150MHz
devices further.
> These devices ave SSi ports which are I2S and have Network/TDM and
> single ended I2S support.
I understand that many these Kinetis chips have an I2S port, according
to the selector guide. I don't really understand what you wrote.
I am only looking at ARM Cortex M4F (with Floating Point Unit) chips
which are in DIY-compatible packages (I guess 0.5mm pitch TQFP is - BGA
is not) and which have one or more interfaces to link to CODECs, or to
indvidual ADC and DAC chips.
(My impression of the TI DSP chips with 32 bit FPUs is that they don't
have the CODEC interface or a DIY-friendly package.) The Microchip
PIC32MX chips have no FPU.
So far, I know of chips of interest from Freescale, Infineon and ST.
The desirable aspects I (and I guess others) may be interested in are:
Large RAM - for reverb of fancy algorithms.
Large FLASH memory space.
Cache for higher clock speeds so the CPU can run faster than the
FLASH memory.
DSP pipelining of (I guess) integer multiply-accumulate operations.
Based in my dsPIC experience, I think this broadly means the ability
to get two operands from RAM, multiply them and store the result in
a long accumulator, all in a single clock-cycle when a sequence of
such operations are required.
Maybe interface to external RAM - some ST chips with suitably large
pin counts can apparently connect to SDRAM chips.
High clock speed.
Low power.
Small number of pins, such as 48 or 64, rather than 80, 100, 120 or
144.
Maybe two CODEC interfaces, as is the case with the ST chips.
Ideally, for some applications, EEPROM on chip, but I think this is
rare, and probably doesn't matter for many applications.
Interfaces: USB, Ethernet, Compact Flash . . .
Free or ideally open-source IDE, compiler and debugger. If free and
closed source, then with a code size limitation which is big enough
not to worry about. I don't like the idea of "web based" compilers
which might not exist tomorrow. It must be a self-contained
development system.
Library of examples.
Lively support forums, mailing lists or whatever.
One or more development boards. I don't mind paying several hundred
dollars for one.
Ideally, a chip for which someone already makes (or will in the
future) a smallish board with ADCs, DACs, CODECs etc. suitable for
Synth-DIY explorations, without having to wire up said chips to a
general purpose dev-board. (See the links on DAC and ADC boards
at Noah's page: http://diydsp.com/livesite/pages/stm32f4 .)
The fastest Freescale chips of interest I could find are 120MHz (other
than the abovementioned 150MHz chips):
http://www.freescale.com/webapp/sps/site/overview.jsp?code=KINETIS_K_SERIES
The August 2014 selector guide PDF:
http://cache.freescale.com/files/microcontrollers/doc/selector_guide/KINETISKMCUSELGD.pdf
may be confusing, since the columns don't always list FPU when the chips
do have it. There's only a few chips which have the I2S interface and
FPU. Notable examples include (page 15, sub-family K64):
MK64FN1M0VLL12 LQFP-11
120MHz, 256kB RAM, 1M FLASH
There are some other chips with more pins, but no more RAM or FLASH. I
wrote to the list about dev boards and compilers etc. on 11th September.
Infineon chips of interest also go to 120MHz:
http://www.infineon.com/cms/en/product/parametricSearch.html?channel=db3a30433580b3710135a03abaf9385e
including some in LQFP-64, such as the XMC4400-F64K512 AB with 80kB RAM
and 512kB FLASH. These chips have cache for program memory, as do at
least some of the ST chips.
The ST devices look particularly interesting:
http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1577
They have dual I2S interfaces and some run to 180MHz, with the smallest
package at this speed being LQFP-100, with 256kB RAM and 1M or 2M FLASH.
To get to an LQFP-64 package, the maximum clock speed drops 6.6% to
168MHz and maximum RAM drops 25% to 192kB, with 1MB FLASH (STM32F405RG):
http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1577/LN1035/PF252144
There's no LQFP-48 chips in this series but there is the
STM32F411CE, which is UFQFPN48, also with 0.5mm pad spacing:
http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1577/LN1877/PF260148
100MHz, 128kB RAM and 512kB FLASH.
- Robin
More information about the Synth-diy
mailing list