Moin Leute
In Altium kann man einem Pin ja mitteilen, ob er ein Ein/Ausgang,
Open-Collector, High-Impedance, usw. ist. Wie macht ihr das bei
Kondensatoren und Widerständen?
Ich habe solche Pins bisher immer als passiv gemarkert, alles andere ist
ja irgendwie auch nicht zutreffend. In der Errormatrix habe ich zu
passiven Pins auch fast alles grün.
Nun bekomme ich aber am Ende lauter Compilermeldungen "Net has no
driving pin source", was zu einer Orgie an Direktivenverteilung führt.
Wie handhabt ihr das eigentlich? Sicher, ich könnte bei Widerständen und
Kondensatoren die Pins einfach als Power Pins deklarieren...aber das
escheint mir auch nicht so richtig gerade.
Wie macht ihr das?
Power-Pins an Widerständen waere ganz schlecht bei PullUps
oder bei Adresstreibern mit 22 Ohm Dämpfungswiderständen.
Ich mache das meiste passiv, es sei denn, es ist ganz
offensichtlich schlimm. Bei den Adress-Eingängen der RAMs
gaebe es auch wieder Gemaule weil die Dämpfungs-Rs keine
Treiber sind.
Ich kann mich nicht erinnern, dass das jemals einen tat-
sächlichen Fehler angezeigt hätte, meist ist es nur Nerverei.
Das Feature füllt eine dringend benötigte Lücke.
Gruß, Gerhard
Ich verzichte auf den Check und alle meine Bauteile haben nur passive
Pins. (OK bis auf ein paar Alte, rein kopierte)
Ich bin der Meinung, dass der Errorcheck nicht richtig funktionieren
kann.
Die Pins vom Widerstand sind ja nun mal passiv. Er müsste als Pull-Up
die "driving Source" z.B. PowerPort "VCC" durchschleifen zum Input-Pin
vom Mikrokontroller. Das kann das Program nicht.
Zudem können Pins vom MC Input, HiZ oder Output sein, ist Software
abhängig, daher ist ein Check im Schaltplan unsinnig.
Einige User platzieren jede Menge "NoERCs", für mich ersetzt man so eine
Fehlerquelle durch eine Andere.
(Ich akzeptiere da jede andere Meinung)
Wenn der Schaltplan fertiggestellt ist, alles von dritter Seite
(Kollegen) reviewen lassen. Gleiches fürs PCB.
NoERCs auf keinen Fall, dann kann man auch die ganze Matrix auf Grün
setzen.
dfIas schrieb:> NoERCs auf keinen Fall, dann kann man auch die ganze Matrix auf Grün> setzen.
Das sehe ich anders: Einen NoERC setzt man ja bewusst, nachdem man die
angemeckerte Stelle als unkritisch bewertet hat. Ist die Matrix auf
grün, dann wird man erst garnicht auf die Stelle aufmerksam gemacht und
übersieht vielleicht etwas.
Markus
Taz G. schrieb:> Zudem können Pins vom MC Input, HiZ oder Output sein, ist Software> abhängig, daher ist ein Check im Schaltplan unsinnig.
Naja, unsinnig würde ich das definitiv nicht nennen. Wenn du deine
Schaltung einmal festgelegt hast, wäre eine Abweichung davon durchaus
tödlich.
Ich benutze das ganz gerne, um die Signalflußrichtung zu verdeutlichen,
zumindest einen Pin als Ein- oder Ausgang zu kennzeichnen, Inversion
benutze ich auch gelegentlich.
Aber zugegeben, ich kann mich nicht erinnern sowas wie HiZ oder Open
Collector schonmal benutzt zu haben.
Zumindest die Definition als Ein- oder Ausgang sehe ich eher als
Fehlervermeidung denn als Fehlerquelle...und dann ergeben
Compilerwarnungen wie No-driving-pin-source durchaus auch Sinn.
Aber ich baue für ein Projekt auch eigene Symbole für
Mikrocontroller...ja, ist aufwendig und ich verstehe jeden, der sich
diese Mühe nicht unbedingt machen will.
dfIas schrieb:> NoERCs auf keinen Fall, dann kann man auch die ganze Matrix auf Grün> setzen.
NoERCs benutze ich, wenn ich einen Pin offen lassen will.
Aber ansonsten hast du recht, gehört etwas Maßgeschneidertes rein.
Wühlhase schrieb:> Taz G. schrieb:>> Zudem können Pins vom MC Input, HiZ oder Output sein, ist Software>> abhängig, daher ist ein Check im Schaltplan unsinnig.>> Naja, unsinnig würde ich das definitiv nicht nennen. Wenn du deine> Schaltung einmal festgelegt hast, wäre eine Abweichung davon durchaus> tödlich.
Du hast recht eine Abweichung wäre tödlich. Aber was ich meine ist, dass
die MC Pins Eingang oder Ausgang sein können und daher als "I/O"
definiert sind. Verbinde ich zwei I/Os ist das für den Check OK. Mache
ich beide in der Software zum Ausgang wäre das doof. Das meine ich mit
unsinning.
Ich müsste für jedem MC oder FPGA Pin im Schaltplan meine geplante
Softwarekonfiguration eingeben damit der Check überhaupt funktionieren
kann.
Wühlhase schrieb:> Compilerwarnungen wie No-driving-pin-source durchaus auch Sinn.
Die macht definitiv Sinn. Nur wenn ein Input Pin über einen Pull-Up
Widerstand nach VCC gelegt wird, erkennt der Check das nicht.
Ich bin halt der Meinung, dass der Check nicht 100%tig funktioniert und
auch gar nicht funktionieren kann. Und wenn überhaupt auch nur einen
Teil der möglichen Fehler melden kann. Aufwand - Nutzen lohnt sich
nicht, ich lege mehr Wert auf ein ordentliches Review.
Ich setze in diesen Fällen, z.B bei durch PullUp-Widerstand festgelegten
Eingängen, einen "Specific No ERC", der genau nur den Fehler "Net has no
driving Source" unterdrückt. Als Symbol nehme ich kein x, die ist bei
mir bewußt unbeschalteten Pins vorbehalten, sondern die Checkbox.
Das hat den Vorteil, daß man so nicht alle Checks aushebelt, sondern
nach Prüfung nur genau den, der hier zu Warnung oder Fehler führt.
Ebenso verfahre ich bei anderen ähnlichen Konflikten, z.B. bei einem
I/O-Pin, der mit einem Output-Pin verbunden ist.
Das macht zwar etwas Arbeit, hat aber zwei große Vorteile:
Erstens ist der Check-Report clean "No Errors, no Warnings", so daß eine
neu auftretende Warning auffällt und nicht in einer Menge ignorierter
untergeht.
Zweitens, daß man andere Checks auf den betroffenen Signalen nicht
aushebelt, wie dies mit einem "generic No ERC" der Fall wäre.
Wenn man also versehentlich ein anderes Netz mit dem Pull-Up-Input Netz
verbindet, z.B. an der Kreuzung mit dem Signal zum Nachbarpin, kommt
weiterhin die Warnung "Net has multiple Names", zumindest wenn man wie
ich jedes Netz das an IC-Pins geht, mit einem Label versieht.
Thorsten S. schrieb:> Ich setze in diesen Fällen, z.B bei durch PullUp-Widerstand festgelegten> Eingängen, einen "Specific No ERC", der genau nur den Fehler "Net has no> driving Source" unterdrückt.
Wie geht das? Im Menü gibt es nur den "generic NoERC".
Markus schrieb:> Thorsten S. schrieb:>> Ich setze in diesen Fällen, z.B bei durch PullUp-Widerstand festgelegten>> Eingängen, einen "Specific No ERC", der genau nur den Fehler "Net has no>> driving Source" unterdrückt.>> Wie geht das? Im Menü gibt es nur den "generic NoERC".
Ah, ok ich habs schon: generic ERC setzen und in den Parametern
konfigurieren...
Früher(tm) (Altium 17 und davor) gab es an dieser Stelle noch einen
Auswahlpunkt mehr. U.a. ein Fenster (NICHT das Message-Panel), wo alle
benötigten Direktiven bereit lagen und man sich da einfach durchklickern
konnte.
Auch sehr komfortabel dadurch, daß das Fenster beim Setzen der Direktive
selbständig hin den Hintergrund rückte und danach wieder selbständig
hervorkam.
Thorsten S. schrieb:> Als Symbol nehme ich kein x, die ist bei> mir bewußt unbeschalteten Pins vorbehalten, sondern die Checkbox.
Oh, das kannte ich auch noch nicht. Wieder was gelernt, danke.
Thorsten S. schrieb:> Ich setze in diesen Fällen, z.B bei durch PullUp-Widerstand festgelegten> Eingängen, einen "Specific No ERC", der genau nur den Fehler "Net has no> driving Source" unterdrückt. Als Symbol nehme ich kein x, die ist bei> mir bewußt unbeschalteten Pins vorbehalten, sondern die Checkbox.
Hab das grad mal in der Praxis "erprobt". Bei offenen Eigängen (die
intern PullUp haben) ist das für mich nicht proktikabel. Ich muss hir 3
specific NoERC setzen (sh. Anhang). Ich denke. da werde ich auch
weiterhin den Pin als "passiv" setzen...
Markus
Mir erschien diese Pin Klassifizierung nie sinnvoll, es passte nie, und
zwar kam immer irgendwo power auf output, power auf input oder so. Was
praktisch waere, wenn man diese Zuweisung im Schema selbst machen
koennte, aber dann passt's ja sowieso schon.