Forum: Mikrocontroller und Digitale Elektronik Programiren eines Nicht-Atmel-MCU, SP300-7


von Lukas (Gast)


Lesenswert?

Moin moin,

ich habe gerade ein kleines Problem, bzw eine allgemeine Frage. Ich war 
auf der Suche nach Drucksensoren und bin dabei auf diese Kombination 
gestoßen.

SP300 Series Compensated Pressure Sensors With Embedded Microcontroller
http://www.sensonor.com/media/52749/user%20manual%20sp300.pdf
http://de.farnell.com/sensonor-technologies-as/83628/drucksensor-uncomp-sp50-13/dp/1845339

Ein Drucksensor zusammen mit einem MCU, sodass man gleich AD-Wandeln 
kann und den Wert auch interpretieren. Sieht soweit eigentlich nach 
einer sinnvollen Einheit aus. Klar, bei dem Preis (2,50€/Farnell) nicht 
das genaueste, muss aber in dem Fall auch nicht.

Das Problem: Wie Programmiert man die Dinger ???
Da steckt ein RISC-Processor drinnen (laut Datenblatt) und im ROM (?) 
sollen einige Routinen (auslesen der Sensoren) hinterlegt sein ...

Nun bin ich dummerweise nur Atmel-Chips gewöhnt (programmiert in C), nen 
ARM-Cortex-M0 von NXP war auch schon mal dran ... aber was soll ich denn 
bei diesen Chips beim Programmer einstellen (Prozessor?), und was für 
einen Programmer (ISP?) braucht man, um da ne Firmware drauf zu 
bekommen. Und was für eine Programmierumgebung ...

Lauter Fragezeichen, und ich bekomme immer mehr das Gefühl, dass ich von 
Atmelstudio und ähnlichen Umgebungen zu sehr verwöhnt bin.

Hat jemand, der nur C programmieren kann hier überhaupt eine Chance ?
Und falls nein, was müsste ich mir den alles aneignen, um solche ganz 
allgemeinen MCUs programmieren zu können ?

von Problem Löser (Gast)


Lesenswert?

Soll dir jemand das user manual vorkauen?
Der Preis von dem Ding ist interessant, doch
wirst du eine lib dazu wohl selber schreiben
müssen.
Nimm was traditionelles, z.B. einen Sensor
mit Analogausgang von Freescale.

von Lukas (Gast)


Lesenswert?

>> Soll dir jemand das user manual vorkauen?
Nein, natürlich nicht. Ist eher eine allgemeine Frage. Ich hab das 
Manual selber bereits komplett überflogen.

Die Frage ist eher allgemein, wie man so was überhaupt angeht:

in Assembler, damit man den Funktionen im ROM auch die richtigen 
Parameter aus den richtigen Registern mitgeben kann (ich meine mich zu 
erinnern, dass das die "R" Register waren).

Dann meine ich zu wissen, dass die "benutzerfreundlichen" 
Programmierumgebungen die ganzen Datein im Hintergrund für den Benutzer 
erstellen (Linke + Maker ??). Das müsste man in dem Fall ja alles selber 
machen ?!?!

Und zuletzt die ganzen Hardwareadressen ... wenn ich beim Atmel-Studio 
den Atmega-8 einstelle wird ja in einer der Libs die ganzen 
Zugehörigkeiten von Addressmap und Hardwarebezeichnung hinterlegt. Auch 
das müsste man dann ja alles erst mal erstellen, bevor man da überhaupt 
an's benutzen des Sensors denken kann ...

Das klingt dermaßen aufwendig, dass ich mir vorstellen könnte, dass 
schlicht niemand die Sensoren anwenden kann und der Preis daher so 
günstig ist (Restposten endlich los werden).

von asd (Gast)


Lesenswert?

Die Programmierumgebung für diesen im Drucksensor verbauten Controller 
ist vermutlich genau so komfortabel wie du es vom Atmel AVR gewohnt 
bist, programmieren kann man den in Assembler und sicher auch in C.
Allerdings musst du dir erst mal die Programmierumegbung besorgen, also 
den passenden C-Compiler oder Assembler. Dann ein Programmiergerät, 
vermutlich ISP (in-system-programmier) wie beim Atmel, aber eben ein 
anderes. Dann musst dui die Anleitung zum Controller lesen, denn das 
ganze SPI, I2C, Timer oder UART hat andere Register und Registernamen.
Alles in allem ziemlich viel Einarbeitungsaufwand für ein Einzelstück 
oder eine Kleinserie, deswegen tendieren die meisten Bastler dazu ihren 
gewohnten Controller weiter zu benutzen und einen Sensor mit Analog- 
oder I2C-Ausgang zu benutzen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.