Hallo,
Wenn ich mir zBsp folgenden Licht sensor anschaue: VEML7700
Dann hat dieser bereits eine I2C Schnittstelle. Das bedeutet, dass in
diesem Package der eigentliche Sensor, UND ein Mikrocontroller vorhanden
ist, der den Sensor ausliest, um dann über ein Bussystem die Daten zu
verfügung zu stellen.
Ich würde gerne mehr über die eingesetzten uC in solchen Sensorsystemen
erfahren.. gibt es einen standard uC Typ für solche Systeme?
Wo befindet sich der uC? Im Lichtsensitiven DIE?
Fragen über fragen...
Mit freundlichen Grüßen
Kev
-gb- schrieb:> Nicht für jede Kleinigkeit braucht man einen uC. Ein> Schieberegister und> ein Zustandsautomat reicht da schon.
Aber da muss doch auf jeden Fall ein ADC drin sein .. ?
Zustandsautomat ist doch nur ein Programmier konzept.
Also wie genau funktioniert das ?
Kev. schrieb:> Aber da muss doch auf jeden Fall ein ADC drin sein .. ?
Ja und? ADC sind auch keine Mikrocontroller und können unabhängig davon
arbeiten.
> Zustandsautomat ist doch nur ein Programmier konzept.
Nein, definitiv nicht.
> Also wie genau funktioniert das ?
Das wird bei jedem Sensor anders sein. Bei manchen Produkten findest du
sehr detaillierte Infos im Datenblatt, bei anderen nicht. Eine
allgemeingültige Antwort gibt es nicht.
Kev. schrieb:> Aber da muss doch auf jeden Fall ein ADC drin sein .. ?
Ja, da hab ich eine Frage zu:
Sind das Flash ADCs oder was wird da als Takt verwendet? Haben die einen
internen Taktgeber oder nehmen die den I2C Takt? Letzteres kann ich kaum
glauben weil der Frequenzbereich meist sehr groß ist.
Timingcontroller und ein I2C Buffer.
Ja ok dann ist kein uC drin. Aber trotzdem ist da eine sehr komplexe
Logik vorhanden. Denn ein I2C Modul braucht eine Kontrollogik, eine
packet-error calculation, clock control usw usw...
Und das alles kann ich mir gerade nicht vorstellen, wie das nur diskret
aufgebaut sein soll..
-gb- schrieb:> Sind das Flash ADCs oder was wird da als Takt verwendet?
Wer oder was ist "das"? Meinst du wieder allgemein ADC in beliebigen
Sensoren mit digitalem Ausgang? Kann sein, kann auch nicht sein. Je
nach Produkt.
Manche Details halten die Hersteller absichtlich geheim. Wichtig ist
nur, dass die Außenschnittstelle und die technischen Daten sauber
dokumentiert sind. Wobei selbst das von einigen chinesischen Herstellern
recht locker gesehen wird.
Kev. schrieb:> Und das alles kann ich mir gerade nicht vorstellen, wie das nur diskret> aufgebaut sein soll..
Warum denn nicht? Wer die Ablaufsteuerung eines Mikrocontrollers in
Silizium umsetzen kann, der kann auch das.
Schau dir den Sensor an, der ist noch viel komplexer und ebenfalls ohne
Mikrocontroller:
https://www.st.com/resource/en/datasheet/ais328dq.pdfhttps://www.richis-lab.de/MEMS_02.htm
Er hat nicht einmal einen Reset Eingang.
> Denn ein I2C Modul braucht eine Kontrollogik, eine> packet-error calculation, clock control
Du kannst ein I2C-Slave einfach mit ein paar Termen beschreiben
und in ein kleines CPLD pappen, da kann so ein Sensorhersteller
das auch genauso in ein ASIC machen.
Es gibt aber durchaus Sensoren mit kleinen Controllern drin.
Vor allem wenn man eigenartige Kennlinien begradigen will.
Drin sein kann da alles moegliche. Halt das worauf der Hersteller
bock hat und sicher auch abhaengig von der Stueckzahl.
Olaf
Stefan F. schrieb:> -gb- schrieb:>>> Sind das Flash ADCs oder was wird da als Takt verwendet?>> Wer oder was ist "das"? Meinst du wieder allgemein ADC in beliebigen> Sensoren mit digitalem Ausgang? Kann sein, kann auch nicht sein. Je> nach Produkt.
Ich meine ADCs in Sensoren die keinen externen Takt bekommen außer zur
Kommunikation. Irgendwie müssen die das ja wandeln.
-gb- schrieb:>>>>> Sind das Flash ADCs oder was wird da als Takt verwendet?>>>> Wer oder was ist "das"? Meinst du wieder allgemein ADC in beliebigen>> Sensoren mit digitalem Ausgang? Kann sein, kann auch nicht sein. Je>> nach Produkt.>> Ich meine ADCs in Sensoren die keinen externen Takt bekommen außer zur> Kommunikation. Irgendwie müssen die das ja wandeln.
Ja. Irgendwie. Je nachdem was der Sensor braucht. Und wenn der ADC einen
Takt braucht, dann ist da eben ein interner Taktgenerator. RC oder Quarz
oder MEMS. Je nach Anforderungen. Nicht jeder Sensor ist gleich.
Kev. schrieb:> das alles kann ich mir gerade nicht vorstellen, wie das nur diskret> aufgebaut sein soll..
Was meinst du mit "diskret"? Wenn der Sensor in hinreichend großen
Stückzahlen gebaut wird, dann ist da natürlich ein IC drin. Ein
kundenspezifisches (bzw. sensorspezifisches) halt.
Kev. schrieb:> Und das alles kann ich mir gerade nicht vorstellen, wie das nur diskret> aufgebaut sein soll..
Wenn Du die Chance hast, schnuppern Mal in vhdl rein. Damit kannst Du
viele Funktionen realisieren. Und die werden in FPGAs/CPLDs ohne uC per
standardisierter latches und Gatter umgesetzten. Oft überraschend
wenige, da wirklich nur das aktuell benötigte umgesetzt wird.
Kev. schrieb:> gibt es einen standard uC Typ für solche Systeme?
Nein. Manchmal sind das ARMs, aber die kosten Lizenzgebühren (pro
Stück), weshalb da durchaus auch eigenentwickelte MCUs benutzt werden
(dort, wo welche drin sind).
Kev. schrieb:> Denn ein I2C Modul braucht eine Kontrollogik, eine packet-error> calculation, clock control usw usw...
CRCs sind so aufgebaut, dass man sie relativ einfach in Hardware
implementieren kann. Zustandsautomaten (Ablaufsteuerung) sind ohnehin
völlig typisch für Hardware.
Das sind am Ende alles ASICs, also Standardzellen für einzelne
Funktionen, die entsprechend einer Hardwarebeschreibung (VHDL oder
Verilog) zusammen geknüppert werden. Dadurch lässt sich das preiswert
aufbauen, ohne dass man jeden Transistor einzeln anfassen muss.
Das Prototyping für sowas läuft über FPGAs.
> Oder 8051 ...
Nicht mehr lange. Irgendwann gehen die alten Knacker die dort die
Funktionalitaet eines Sensors in 300Bytes Assembler realisieren in Rente
und dann kommen junge frische Informatiker die erst mal einen
Phythoninterpreter installieren. Nach aussen wird man das kaum merken,
hoechstens das Komma am Ruhestrom des Sensors muss man um eine Stelle
verschieben. :-D
Im ernst, letztlich ist das natuerlich alles eine Frage von
Lizenzgebuehren. Ich weiss aber auch von Bauteilen wo der Hersteller
einfach einen weiteren ARM Core integriert hat ohne es dem Anwender
mitzuteilen. Einfach weil eh schon da und jeder kennt es usw...
Ist wie immer eine Frage der Stueckzahlen.
Olaf
olaf schrieb:> Nicht mehr lange. Irgendwann gehen die alten Knacker die dort die> Funktionalitaet eines Sensors in 300Bytes Assembler realisieren
Ehrlich: wenn du die Funktionalität in 300 Byte Assemblercode
realisieren kannst, dann nehmen die keinen Controller. Das bissel Logik
dahinter gießen sie in Hardware.
Stimmt, mit ASICs kann sowas aufgebaut werden.
Es hat bei mir "klick" gemacht.
Ich bedanke mich an alle für die ausführlichen Antworten, das hat mir
sehr geholfen !
Beste Grüße!
KEV
> realisieren kannst, dann nehmen die keinen Controller. Das bissel Logik> dahinter gießen sie in Hardware.
Vielleicht, vielleicht. Ich bin jetzt nicht so der extreme FPGA-crack,
aber es gibt halt Dinge die gehen einem in Verilog mehr oder leider auch
weniger leicht von der Hand. Schonmal ein Hitachi-LCD vom FPGA aus
angesteuert? Da fand ich es einfacher einen 6502 zu implementieren und
das Teil von dort aus zu programmieren.
Olaf