I have poked around a bit and made a list of the BLE SOCs I could find easily. Then I tried to figure out what chip they are using.
Bluegiga
Bluegiga’s BLE112 and BLE113 – is an 8051-based TI module!
Panasonic
Panasonic’s PAN1323 is an 8051-based TI module!
Nordic
Cambridge Silicon Radio
CSR µEnergy® Product Family -Processor is TI CC2540 – 8051-based processor
Dialog Semiconductor
Just a few snippets drawn from David’s email of April 28, 2014 at 9:58 PM
DA14580 – http://support.dialog-semiconductor.com/downloads/DA14580_DS_v1.63.pdf
Memories
- 32 kB One-Time-Programmable (OTP) memory
- 42 kB System SRAM
- 84 kB ROM
- 8 kB Retention SRAM
EM
EM9601 – http://www.emmicroelectronic.com/webfiles/product/other/EM9601_FS.pdf
Well spotted David! EM – http://www.emmicroelectronic.com/Sitemap.asp They seem to be based in Sao Paulo. The web-site is a bit amateurish. They have a wide variety of products, and don’t seem particularly focused on BLE. However their BLE system is based on the STM32F051x8 32-bit CortexTM M0 which is a good feature. It’s pretty similar to the Nordic system. 200 Ohm differential antenna – does this matter? It’s a BGA.
Typical current consumption:
12mA Tx current at 0dBm output power 13mA Rx current 14µA in connected BLE Sleep Mode (including Host MCU current) 10µA in Deep-Sleep Mode (with memory retention)
64K of Flash, and 8K of SRAM (woo hoo) and a Calandar RTC!
ST
BLUENRG: Announced September 2013. And somehow I managed not to hear about it … or did I just forget.
http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/DM00092683.pdf
64K Flash and 12K
8.2 mA maximum TX current (@0 dBm, 3.0 V)
Down to 1.7 µA current consumption with active BLE stack
Accurate RSSI to allow power control. Uh huh 🙂
Cortex-M0
Demo boards the one with the rubber antenna is already available from DigiKey, but the dongle version is not. Same board is on backorder from Mouser.
EWARM Compiler 6.60 version is required for building the BlueNRG_DK_x.x.x demonstration applications. Oh joy. IAR again. $3500
User docs for kits.
Which actual ST ARM M0 system is the Bluetooth chip? 32Lx…? I still have not seen any evidence that it can be programmed.
The STEVAL-IDB002V1 is a product evaluation board based on the BlueNRG device. The BlueNRG is a Bluetooth low energy 4.0 compliant low power network coprocessor. The STEVALIDB002V1 is composed of an RF daughterboard and a microcontroller motherboard. The RF daughterboard features the BlueNRG device, an SMA connector for an antenna or measuring instruments and an SPI connector for external microcontroller. The motherboard is based on the STM32L, acting as external microcontroller driving the BlueNRG device. A JTAG connector allows development of firmware on the microcontroller.
Mik Lamming says:
I don't know the answers to any of the questions, but I assume there has to be some software loader. The test program I am futzing with at the moment actually copies itself into place before execution. I have to look to see how it does that.
I'll check it out tomorrow.
Mik Lamming says:
This comment has been removed by the author.
Mik Lamming says:
I wonder what goes into the OTP ROM. Does it have to be written 1 bit at a time, or 1 byte/ whole thing?
David Carkeek says:
This is a thread from the Dialog semi web site support area. It strongly implies that external flash can be used with the DA14580.
I saw in the SDK v3.0.2.0 that there is a Flash Programmer project. I suppose that it is provided to program an external memory through the DA14580 (I2C, SPI, UART).
document UM-B-005 on the software download page has a good description and example of external EEPROM/FLASH from . That would be a good starting point. Section 5.4.2 and 5.4.3 are the most relevant for you there.
My question is also about the way to load the code inside the external memory. I have a .hex file coming from the compiler: What am I supposed to do with that file?
I just need to know how to use the Flash Programmer project to load what I got from the compiler to the EEPROM through the DA14580.
sorry, i understand now. We just released a great update to Smart Snippets t (downloadable from the support site). On the left hand side you'll see some tabs, so you can choose the SPI Flash or EEPROM programmer tool and use that.
I am waiting admin approval of my new account so I can look at the app note mentioned above. External flash means another device on the board but there are small flash memory devices available, at least as small as 6mm x 6mm. Space for the memory can be regained because of the small number of discrete components needed. For example, no antenna matching network is shown in the application schematic.
David Carkeek says:
Here's another one: http://www.dialog-semiconductor.com/products/bluetooth-smart/smartbond-da14580. The Dialog Semi DA14580.
Who is Dialog Semiconductor? Never heard of them. Oh. They're in the UK.
Here's the data sheet: http://support.dialog-semiconductor.com/downloads/DA14580_DS_v1.63.pdf
This is unusual: A one-time programmable memory.
Memories
– 32 kB One-Time-Programmable (OTP) memory
– 42 kB System SRAM
– 84 kB ROM
– 8 kB Retention SRAM
Other than the lack of flash it is an attractive solution. The smallest package is only 2.5mm and only a few board components are needed.
Mik Lamming says:
How did you get that so fast?
12KB RAM – better.
I'm still a bit confused. Does the BLE code run in the ARM, or does it run in the Bluetooth Low Energy Processor & Memories. I assume it runs in the ARM and we have to squeeze in beside the BLE stack.
David Carkeek says:
Here's the ST BlueNRG: http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/DM00092683.pdf
"Down to 1.7uA current consumption with active BLE stack"
"High performance, ultra-low power Cortex-M0 32-bit based architecture core"
"The memory subsystem consists of 64 KB Flash, and 12 KB RAM. Flash is used for the M0 program. RAM is used for data."
Mik Lamming says:
Yeah, 64K is a bummer, especially if they fill it up with a BLE stack. But my theory is that I can't write that much code in a few months, and hopefully the pressure to produce chips with more useful amounts of memory will yield fruit. Maybe there is some way to use external flash?
I guess if we use a BGA then we have to have someone else assemble it?
David Carkeek says:
We should thank Matthias Ringwald:
https://groups.google.com/forum/#!msg/btstack-dev/CezcU-sQ6IQ/pT1FyUyPZm4J What is HCI and BCSP?
We may have similar difficulty getting samples. There's almost nothing on the web about their parts, no datasheet, only the preliminary two-page info sheet.. It seems better to work with a highly visible company with lots of technical assistance resources.
Isn't 64k of flash not very much?
Nonetheless it's an interesting part. The BGA package is more difficult to work with but then there are more pins in a smaller area. Not sure about the ramifications of the 200-ohm RF impedance. TI says the CC2540 nominal impedance is "70 + j30" ohms. I think it means fewer matching components needed. Would it make using a Balun and chip antenna more difficult?
Mik Lamming says:
I added a few notes about the EM9601 which is fascinating me.
David Carkeek says:
I talked to TI today.
Matthew in Dallas: 512-434-1560
My case number is 1-1399505934
e didn't know anything about an ARM version of the CC2540/1 but he poked around a little and found out that indeed there is one but it's "not quite released yet". He is going to have a field sales rep contact me. An NDA will be required to get more information, he said.
David Carkeek says:
There are these:
EM9301 : Single-Cell Battery Bluetooth Low Energy Controller for Single-Mode Applications
http://www.emmicroelectronic.com/Products.asp?IdProduct=289
There's no microcontroller
EM9601 : Fully-Embedded Bluetooth Low Energy System
http://www.emmicroelectronic.com/Products.asp?IdProduct=312
emBeacon : emBeacon BLE Reference Design
http://www.emmicroelectronic.com/Products.asp?IdProduct=316
Lasts 3 years on a AAA battery.