Schlagwort-Archive: Texas Instruments

Dokumentations-Mangel beim CC2541 Lack of documentation for the CC2541

Der CC2541 wird von Texas Instruments dediziert für die Verwendung von BLE angepriesen. Man darf erwarten, dass dies entsprechende, BLE-spezifische Anpassungen in Hardware beinhaltet. Beim Blick ins Datenblatt (S.3) findet man diesbzgl. erstmal nur die Link Layer Engine (LLE), welche dem Entwickler den low-level-Funkteil im 2.4GHz-Bereich abnimmt (GFSK,FIFO,etc.) und entsprechende Konfigurations- bzw. Steuermöglichkeiten über die dedizierten RF Register bietet. Sowohl die LLE, als auch die RF Register sind aber auch in anderen SoCs der CC253x/4x-Reihe enthalten. Im Grunde ist das Block-Diagram aller dieser SoCs identisch, obwohl sie für verschiedene Funkstandards angepriesen werden, was die Frage aufwirft, worin sich die SoCs überhaupt unterscheiden. Könnte es Hardware-Teile geben, die nicht im Datenblatt dokumentiert sind ?

Die Antwort gibt der User Guide (Rev.F): Die LLE kann in verschiendenen Modi betrieben werden – proprietär, d.h. nach eigenem Gutdünken Senden und Empfangen, oder im BLE-Modus, der (bisher) nur durch die Closed Source-Bibliotheken für IAR bedient werden kann (die auch nur mit der IAR Workbench funktionieren). Wird der Modus nach dem Setzen des LLE Enable Bits geändert, hat er keinen Effekt mehr, heißt es im User Guide weiter (S.301), was unterstreicht, dass der Funkteil des SoC dann hardwareseitig anderst funktioniert. Weder im Datenblatt noch im User Guide ist dieser BLE- Hardware-Teil dokumentiert.

Am Rande bemerkt, sieht das LLE Control Register für den Modus überdies zwei Bit vor, was vier, statt der zwei dokumentiert möglichen Betriebsmodi bedeutet.

Ein Programm in den CC2541 flashen How To

Der Bluetooth 4.0-fähige 8051-Chip CC2541 von Texas Instruments, der auf dem Tinysine HM-10 Modul zu finden ist, besitzt eine Schnittstelle zum hardwarenahen Debuggen, den Debug Port, der aus den zwei Leitungen Debug Clock (DC) und Debug Data (DD) besteht. Die Besonderheit bei diesem Port im Gegensatz zu RS-232 oder SPI besteht darin, dass die Kommunikation in beide Richtungen – Daten vom PC zum Chip und umgekehrt – über denselben Pin erfolgt (und daher auch nicht gleichzeitig stattfinden kann). Takt- und Daten-Pins sind auf dem HM-10 herausgeführt, allerdings nicht auf die 2,54mm-Pins der TinySine Ausbrech-Platine. Sie lassen sich aber leicht nachrüsten (Foto wird nachgereicht). Wenn DC, DD, Reset und GND herausgeführt sind, kann man diese Pins an den CC Debugger von Texas Instruments anschließen. Der SmartRF Programmer hat im Test leider nicht funktioniert, zumindest nicht unter Windows, obwohl er es eigentlich sollte. Der CC Debugger ist sogar offiziell Open Hardware, der Schaltplan ist auf der Seite von Texas Instruments zu finden. Seine Funktionsweise ist im zugehörigen User Guide dokumentiert. Die zum Programmieren der Chips erforderliche Software lässt sich ebenfalls dort herunterladen (wenn man einen TI-Account hat). Nachbauten des SmartRF Programmer lassen sich günstig auf eBay erwerben. Zur Programmierung unter Linux steht cc-tool zur Verfügung. Links: