MÜT SD-Weichendecoder & SX-Bus

Moba-Zentrale am NotebookMÜT SD-Weichendecoder Einstellung via SX-Bus

Ein (für mich) nicht unwichtiges Vorwort:

Vor einigen Jahren habe ich diesen Artikel zum Thema „MÜT-Weichendecoder“ hier im Blog geschrieben und zu den entsprechenden Anleitungen bei „mobatoday“ verlinkt.

Seither bekomme ich immer wieder Anfragen zum Thema, wenn bestimmte Dinge bei Lesern im Rahmen dieser Einstellarbeiten nicht so recht funktionieren wollen.

Trauriges

Nun, leider kann ich mit dem einstigen Wissen von meinem Freund Reinhard nicht mithalten und bin auch schon seit 2018 aus dem Modellbaubusiness ausgestiegen. Viele der Fragen kann ich schlicht nicht mehr beantworten, weil ich nicht im Thema bin und auch final die Technik seither nicht mehr existent ist.

Jetzt kommen wir zu dem traurigen Aspekt der ganzen Sache:

 

Der gute Reinhard ist bereits im Jahre 2017 verstorben!

Seine Erfahrungen erhalten

Da niemand wissen kann, wie lange seine Seite dem Web noch erhalten bleibt, habe ich mich entschlossen, zwei seiner Beiträge hier zu archivieren, mehr kann ich leider nicht machen.

Eigentlich ist es nicht meine Art mich mit fremden Federn zu schmücken, aber ich möchte auch nicht, dass die Mühe und das Wissen im digitalen Nirwana verschwinden. Nebenbei, der Kollege, den er da einst erwähnt hat, der bin ich ;-)

Weiterlesen

Windows 7 auf dem HP Pavilion 17-f258ng Notebook

HP_17f258ng-geraetIm Moment gibt es ja einige Geräte auf dem Markt, die offiziell nur noch Windows 8 (+) bzw. Treiber für dieses Betriebssystem nutzen wollen oder sollen oder können.

 

Wie auch immer, ich finde es ist ziemlich sinnfrei ein Notebook oder ähnliches ohne Betriebssystem zu verkaufen, wenn man noch nicht einmal Treiber für die komplett mögliche Auswahl an Betriebssystemen anbietet, vor allem wenn die Software im eigenen Datenbestand vorhanden ist. Das nur mal am Rande ;-)

So ist es im Moment mit dem HP Pavilion 17-f258ng Notebook. Es steht hier bei mir auf dem Tisch und hat Windows 7 Home Premium in der 64 Bit Version bekommen. Die Treibersituation erforderte etwas Fummelei… Nicht die Verfügbarkeit, eher das ‚Was braucht das Gerät denn?‘ Spielchen.

HP_17-f258ng-legacyDie Installation von Windows 7 an sich lief problemlos, vor Beginn sollte allerdings im BIOS (F10 beim Systemstart -> System Configuration -> Boot Options, siehe Foto) der Modus auf ‚Legacy‘ eingestellt werden, was im genutzten Modell aber ab Werk schon der Fall war.

DVD einlegen, von dieser booten und die Routinen laufen lassen bis Windows auf dem Rechner installiert ist, alles ohne nennenswerte Probleme und ohne Tricks zu erledigen. Einige Hardware wird direkt erkannt, einige nicht. Ich hinterlege hier eine kleine Beschreibung mit den Treibern, welche ich nachinstallieren musste. Wo möglich mit Downloadlink, jedenfalls solange dieser lebendig ist, was bei HP zum Glück meist länger der Fall ist. Wo dieser nicht mehr funktionieren sollte am besten nach der Bezeichnung googlen (SPXXX), hat bisher eigentlich fast immer zum Erfolg geführt.

 

Chipsatztreiber

Notwendig für die Grundfunktionen. Diesen Treiber habe ich allerdings nicht von der HP Seite genutzt, ein Download bei AMD erschien mir sinnvoller. Leider klappt es nicht (immer) mit einem direkten Link, außerdem sollte hier gelegentlich ohnehin nach den aktuellsten Treiber geschaut werden.

Gegebenenfalls ist auf der AMD-Seite ein wenig Recherche nach den folgenden Treibern notwendig, sollten meine Links nicht funktionieren:

Chipset Catalyst Omega

Radeon Catalyst Omega

Bei Bedarf in der erscheinenden Downloadseite den optionalen Download auswählen, dort finden sich im Moment die Chipsatztreiber. Vielleicht genügt auch der Radeon Treiber, habe ich so nicht getestet da ich mir direkt die Chipsatztreiber einzeln geladen und installiert habe.

Aktuell ist das die Version 14.12, Stand März 2015.

Grafiktreiber

Notwendig für volle Grafikpower. Sollte man sich mit auseinandersetzen! Durch die ‚Dual Graphics‘-Funktion kann/muss man einigen Programmen mitteilen, dass sie ggf, die dedizierte Karte nutzen können.

Link zum Treiber Radeon M260

Audio Treiber

sp69164 bzw. FTP Verzeichnis

Der Link zeigt auf ein komplettes FTP-Verzeichnis bei HP, hier die sp69164.exe suchen und downloaden. Sorry das ich keinen Direktlink anbiete, dies ist aber oft vom Anbieter unerwünscht. Nebenbei ist es bisher gar nicht schlecht gewesen, wenn man sich in dem Verzeichnis mal weiter umsieht ;-) Zu den eigentlichen Treiber ist meist eine .html-Datei angelegt, die den Download beschreibt.

WLAN und Bluetooth

gm-wlanHier sind in diesem Notebookmodell anscheinend verschiedene Module verbaut worden. In meinem Falle steckt für das WLAN eine Realtek RTL 8723BE im Gerät, was auch unter dem Akku per Aufkleber vermerkt ist.

HP_17-f258ng-wlanmodell

Scheinbar ist für Bluetooth und WLAN das gleiche Steckmodul verantwortlich.

 

 

 

Der Treiberlink für die Bluetoothfunktion verweist wieder auf einen FTP-Server, hier die benötigte .exe heraussuchen und herunterladen.

Bluetooth sp69896

WLAN sp68381, dieser Download über die HP-Downloadseite.

Noch ein Tipp am Rande:

Mit aktiviertem Bluetooth ist der Datendurchsatz beim WLAN geringer. Bei normalen Aktivitäten fällt dies nicht sehr ins Gewicht, beim Übertragen großer Files merkt man dies aber schon. Hier hilft nur das Deaktivieren vom Bluetooth, z. B. über den Treiber im Gerätemanager.

 

Cardreader

Wieder über FTP, sp69163.exe suchen. 

Touchpad

Touchpad sp67290, FTP.

LAN

Link zur Downloadseite bei HP.

Onscreen

Ermöglicht die Anzeige vom Pegel der Lautstärke, Helligkeit etc. auf dem Display.

Link zur HP Downloadseite.

Driveguard

Kann über den intern verbauten Beschleunigungssensor übermäßige Stöße feststellen und ggf. die Festplattenköpfe parken, um das Risiko eines Datenverlustes zu reduzieren.

sp62131.exe, per FTP

Coolsense

CoolSense sp67743, ein Tool um die Abwärme des Gerätes zu kontrollieren.  Die Hardware kann dies ohnehin, eher was für’s Finetuning ;-) Habe leichte Leistungseinbußen festgestellt, wenn Coolsense aktiv ist.

Download von HP-Seite.

Das ist im Moment alles, was ich so im Web zum Thema 17-f258ng, Treiber und Windows 7 64 Bit gefunden habe.

Man verzeihe mir die teilweise etwas ungelenken Downloadlinks, vielleicht finde ich später noch die Zeit, das alles etwas besser zu organisieren. Ich denke aber wer ein Notebook ohne Betriebssystem kauft weiß was er da macht und wird problemlos zurechtkommen, vielleicht spart es dem einen oder anderen etwas Sucherei :-)

Noch ein Hinweis zu den F-Tasten und der FN-Funktion:

HP_17-f258ng-syscakeysAb Werk waren bei dem Notebook hier die F-Tasten nur über die FN-Taste zu erreichen, ohne weiteres Zutun liegen die Sonderfunktionen wie Bildschirmhelligkeit oder Lautstärke im direkten Zugriff. Im BIOS lässt sich dieses Verhalten mit ‚Action Keys Mode‘ anpassen.

Dann folgen wie üblich über 200 Windowsupdates die, je nach Internetgeschwindigkeit, gut einen Tag lang ein produktives arbeiten mit dem Gerät eher erschweren, danach steht dem Vergnügen nichts mehr im Wege :mrgreen:

Soviel für jetzt. Ich werde noch ein paar Experimente mit dem ‚HP Pavilion 17-f258ng‘ machen, vielleicht sind auch einige Benchmarkwerte noch ganz interessant. Im Vergleich zu meinem Kabinirechner rechne ich ja doch mit einigen Gemeinsamkeiten :-)

 

 

 

Chrome 37 als 64-Bit-Version für Windows verfügbar – ComputerBase

Was aktuelles für die Chromenutzer:

Chrome 37 als 64-Bit-Version für Windows verfügbar – ComputerBase.

Werde ich mir dann auch gleich mal ansehen! Der einzige 64 Bit Browser den ich mir bisher näher angesehen habe, ist Waterfox. Ein wirklicher Unterschied ist mir aber eigentlich denn doch nicht aufgefallen…

 
 

 

 

Der PIC 12F675 Teil 5 – PIE1 Register

PIC © 12F675 Mit den Einstellungen vom ‚PIE1‘-Register werden weitere Funktionen (bzw. Unterfunktionen) der Interruptmöglichkeiten des Controllers eingestellt.

Man muss beachten, dass die generelle Funktion der Interrupts in ‚INTCON‚ eingeschaltet werden muss, sonst geht nix :-) Also dort Bit 7 und ggf. Bit 6 auf „1“ setzen.

 

 

Bit 7:

1 = Interrupt bei Ende eines EEPROM-Schreibvorganges aktiv.

0 = Interrupt bei Ende EEPROM schreiben inaktiv.

Bit 6:

1 = Interrupt bei Ende eines A/D-Wandler Vorganges

0 = Kein Interrupt nach A/D Wandlung.

Bit 5:

Nicht genutzt, zu lesen als „0“

Bit 4:

Nicht genutzt, zu lesen als „0“.

Bit 3:

1 = Interrupt durch Comparator ein.

0 = Interrupt durch Comparator aus.

Bit 2:

Nicht genutzt, zu lesen als „0“.

Bit 1:

Nicht genutzt, zu lesen als „0“.

Bit 0:

1 = Interrupt durch Timer 1 möglich.

0 = Interrupt durch Timer 1 inaktiv.

 
 

Der PIC 12F675 Teil 3 – OPTION Register

PIC © 12F675 Weiter geht es mit der Beschreibung der PIC12F675. Ich kann übrigens nicht versprechen, dass die Blogbeiträge alle zeitnah und direkt nacheinander erscheinen, also nutze ich mal aus, dass heute gerade Zeit übrig ist :-)
 

 

OK, das nächste Register:

OPTION_REG:

In diesem Register werden Einstellungen zum Timer, dem Watchdog und auch möglichen Pull-Up Funktionen festgesetzt. OPTION liegt in Bank 1!

Bit 7:

0 = Pull Up’s aktiv

1 = Pull Up’s deaktiviert.

Pull-Up Widerstände dienen dazu, einen definierten Pegel an einen Port-Pin zu legen. Ist ein Pin beispielsweise als digitaler Eingang definiert, muss er einen festen Pegel aufweisen, ‚L‘ oder ‚H‘. Der Pull-Up Widerstand ist so in der Lage, einen festen ‚High‘-Pegel zu erzeugen, bis aus der Schaltung eine Änderung eintritt, welche einen sicheren ‚Low‘-Pegel liefert. So ist sichergestellt, dass kein undefinierter Zustand eintreten kann. Ich persönlich realisiere aber solche Lösungen immer mit externen Widerständen, so kann ich den Widerstandswert selber bestimmen.

Bit 6:

1 = Interrupt bei steigender Flanke an Pin GP2

0 = Interrupt bei fallender Flanke an Pin GP2

Interrupts dienen dazu, das laufende Programm bei auftreten einer bestimmten Situation zu unterbrechen und eine Aktion auszuführen. Der PIC hat mehrer Möglichkeiten dies zu vollziehen, in diesem Fall durch eine Pegeländerung an Pin GP2

Bit 5:

Hier wird festgelegt, aus welcher Quelle der Timer0 seinen Takt bezieht. Dies kann entweder durch ein externes Signal an GP2 geschehen oder durch einen internen Taktgeber. Auf die Timer komme ich auch noch gesondert zu sprechen.

1 = Takt an GP2

0 = Interner Takt

Bit 4:

Auslösen des nächsten Timerschrittes, wenn Takt an GP2 anliegend.

1 = Pegelwechsel von ‚H‘ nach ‚L‘

0 = Pegelwechsel von ‚L‘ nach ‚H‘

Bit 3:

Festlegen, ob der Vorteiler dem Timer0 oder dem Watchdog zugeordnet ist, siehe auch Beschreibung Bit 0-2

Bit 0,1,2:

Der PIC arbeitet mit einem Arbeitstakt von einigen Hz bis zu etlichen Mhz. Der Vorteiler kann eingesetzt werden, um die Zählgeschwindigkeit zu reduzieren. Je nach Einsatz, kann der Muttertakt bis zum Verhältnis 1:256 (1:128 beim Watchdog) geteilt werden. Hier muss wieder mal das Datenblatt her, wenn man die Funktionen detailliert betrachten möchte. Setzt man die Bits 0,1,2 auf 111, arbeitet in diesem Falle der Timer0 mit einem Teilungsverhältnis von 1:256, bei 000 auf 1:2.

Der PIC 12F675 Teil 2 – STATUS Register

PIC © 12F675 Eines der größten Probleme beim Programmieren von PIC’s ist der Umstand, dass man die Funktionen des Innenlebens zumindest grob kennen muss. Immer öfter bekomme ich Anfragen zu Problemen, die ursächlich nicht aus dem eigentlichen Programm, sondern der Einstellung des Controllers an sich kommen. Bei genauerer Überlegung logisch, wie soll z. B. der A/D Wandler arbeiten, wenn er gar nicht aktiviert wurde? Ich versuche in diesem (und dem ersten Teil und vielleicht folgenden) Beitrag mal, das Ganze anhand des 12F675 ein wenig zu entwirren. Vorweg sei gesagt, dass man um das Datenblatt trotzdem nicht herumkommt, zu vieles ist sehr tief verschachtelt oder setzt weitere Kenntnisse voraus, die ich in einem Beitrag hier einfach nicht komplett erfassen kann. Oftmals muss man aber so tief gar nicht graben, vielleicht fehlte beim letzten Versuchsaufbau ja nur ein einziges Bit, damit das Programm läuft oder eben der PIC einfach macht, was er soll.

Ich nehme als Beispiel den 12F675, er ist günstig und für die allermeisten Kleinprojekte ausreichend. Darüber hinaus, kann man die Kenntnisse auf sehr viele weitere Controller anwenden, Unterschiede liegen hier eher in den Details -> Datenblatt! ;-) Ich werde in diesem Teil die wichtigsten Register ein wenig beschreiben, mal sehen, wie umfangreich dieser und die wahrscheinlich folgenden Beiträge werden. Bestimmte Parameter kann man nicht wirklich gut erklären, wenn der Leser die elektronischen Funktionen nicht kennt, welche dahinter stehen. Oft hilft einfach experimentieren Glücklicherweise sind diese Möglichkeiten des Mikrocontrollers für die meisten Funktionen nicht unbedingt notwendig, in Standardschaltungen jedenfalls. Auf solch spezielle Funktionen werde ich also nur eingehen, wenn es unumgänglich ist. Will sagen: wenn jemand diese Funktionen benötigt, dann weiß er mesit auch, um was es geht :mrgreen: Nebenbei wird es sicher wieder Mails geben, in denen typische Dinge wie ‚Es geht aber auch anders…‘ und ‚… ganz korrekt wäre aber…‘ stehen, das ist sicher alles richtig, kenne ich aber so nicht, habe ich noch nicht getestet oder erscheint mir aus irgendeinem Grund für den Artikel unpassend, akzeptiert das bitte. Meine Beiträge sind keine Doktorarbeiten, sie sollen dem Interessierten bei einem kleinen Schritt auf einem langen Weg einfach etwas helfen, schreib ich andauernd, ist mir klar ;-)

Link: -> 12F675 Teil 1

Ich starte in den nächsten Beiträgen mit den Registern in der Reihenfolge, in der sie auch im Datenblatt aufgeführt sind.

Sei noch darauf hingewiesen, dass es i. d. R. 8 Bit pro Register gibt, welche von RECHTS NACH LINKS beginnend mit ‚0‘ bezeichnet sind! 

Geschrieben sieht dies also so aus:

Bit 7 – Bit 6 – Bit 5 – Bit 4 – Bit 3 – Bit 2 – Bit 0

Möchte man z. B. das erste Bit in einem Register bearbeiten, dann ist dies im Assembler Bit ‚0‘. Mit

bsf ADCON,0

würde zum Beispiel das 1. Bit im Register ADCON auf ‚1‘ oder ‚HIGH‘ setzen,

00000001

wäre also der Inhalt, wenn alle anderen Bits vorher auf ‚0‘ standen.


 

STATUS 

Im STATUS Register des Controllers kann man hauptsächlich feststellen, was der PIC gerade erledigt hat bzw. welches Ereignis gerade eingetreten ist. STATUS befindet sich in Bank 0 und Bank 1!

 Bit 7

In diesem PIC nicht relevant

Bit 6

In diesem PIC nicht relevant

Bit 5

Bankauswahl, dazu kommt noch ein eigener Artikel. Dient dazu, Register in Bank 0 oder Bank 1 auszuwählen. In welcher Bank welches Register zu finden ist, steht im Datenblatt. Beim 12F675 gibt es Bank 0 und 1, in anderen PIC’s noch weitere. Setzen von Bit 5 (bsf STATUS,5) schaltet in Bank 1. Befindet man sich im Programm in der falschen Bank, kann man auf Register die eben in der anderen liegen nicht zugreifen.

Bit 4

Feststellen oder beeinflussen des SLEEP Modus bzw. des Watchdog, muss ich auch in einem eigenen Beitrag bearbeiten.

Bit 3

Siehe Bit 4 :-)

Bit 2

Zeigt an, ob das Ergebnis der letzten Operation ‚0‘ war. Hat der Controller also z. B. 10 – 10 = 0 gerechnet, wird dieses Bit  auf ‚1‘ gesetzt.

Bit 1

Wird ‚1‘, wenn ein Überlauf der unteren 4 Bit der letzten Operation stattgefunden hat. Ich weiß, das klingt jetzt völlig Ballaballa, ich drösel’s später noch auf ;-)

Bit 0

Wird ebenfalls ‚1‘, wenn ein Überlauf stattgefunden hat, hier aber auf die kompletten 8 Bit bezogen. Durch seine 8 Bit, kann der 12F675 von 0-255 zählen. Addiert man nun zu 255 +1, ergibt das nicht 256, der Zähler „springt um“, er steht auf ‚0‘, mehr als 255 gehen eben nicht. Um festzustellen, ob dies geschehen ist, kann man STATUS,0 abfragen. Das gleiche gilt für oben genanntes Bit 1, nur eben auf die unteren 4 Bit bezogen. In der Praxis kann man beispielsweise ein Register immer um +1 erhöhen, wenn eine Ereignis eingetreten ist und abfragen, ob es einen Überlauf gab. Dieser Überlauf könnte dann eine Signal-LED einschalten oder einen anderen Programmteil starten. Lädt man dieses Register schon vorher mit einem bestimmten Wert, können auch weniger als 255 Schritte gewählt werden, der Überlauf erfolgt dann eben eher. Alternativ oder ergänzend rechnet man nicht +1 sondern +2 oder +11 oder was auch immer, die Möglichkeiten sind zahlreich.

Etwas unübersichtlicher wird es bei Subtraktionen, da verläuft das Spiel umgekehrt. Wird also beim Minusrechnen die 0 unterschritten (Beispiel:1-2 dann = 255), ist das Bit NICHT gesetzt, in allen anderen Fällen ja.

Vereinfacht betrachtet ist dies der Sinn bzw. die Aufgabe des STATUS-Registers mit den Funktionen, die für einfachere Anwendungen benötigt werden.

Tipp zu ersten Programmierübungen:

4 LEDs an GP 0 – 3 des PIC anschließen und die unteren 4 Bit des STATUS-Registers nach Operationen in GPIO kopieren und (mit Pause) anzeigen lassen. So kann man gut prüfen, was wirklich im Register erschienen ist. Für reine „Trockenübungen“ eignet sich hier auch der MPLAB eigene Simulator gut.

 
 

Quad-A/D • 12 bit • USB – ELEKTOR.de | Elektronik

Viele Elektroniker kennen den Umstand, dass analoge Werte irgendwie für den PC bzw. die digitale Welt umgesetzt werden müssen. Man kann natürlich mit Mikrocontroller und Co selber etwas zusammenbauen, einfacher geht es aber vielleicht mit der bei ‚Elektor‘ vorgestellten Lösung:

Quad-A/D • 12 bit • USB – ELEKTOR.de | Elektronik

Kurz zusammengefasst:

  • 4 analoge Spannungen messbar
  • 0-3,3V
  • Auflösung 0,8mV
  • 12 Bit
  • Preis ca. 90€
  • Software im Lieferumfang

Weitere Informationen zum ‚CEBO-Stick‘ hier beim Hersteller CESYS

Unter anderem soll das Gerät auch bei Reichelt zu bekommen sein, ich habe aber bisher noch nichts finden können.

 



reichelt elektronik – Elektronik und PC-Technik