Forum: Mikrocontroller und Digitale Elektronik HC-05: Merkwürdige Bemerkung im Datenblatt


von Uhu U. (uhu)


Lesenswert?

Ich will einen blanken HC-05 Bluetooth-Modul verbauen - also ohne dieses 
Platinchen, auf dem das Teil in der Aruino-Welt so beliebt wurde.

Das Datenblatt des HC-05 / HC-06 enhält für den Pin 2 des Moduls - RX - 
eine für meine Begriffe etwas merkwürdige Bemerkung:
1
Note  that, the PIN2:UART_RXD of  Bluetooth  module  has  no  pull-
2
up  resistor.  If  the  MCU  TXD doesn’t have pull-up function, then
3
user should add a pull-up resistor to the UART_RXD. It may be easy
4
to be ignored.

Seit wann ist es üblich, dass digitale Eingänge sich um 
Pull-up-Widerstände scheren? Das hängt doch ausschließlich davon ab, ob 
der treibende Ausgang, also in diesem Fall TX des µC einen offenen 
Kollektor / Drain am Ausgang hat, oder nicht?

von hinz (Gast)


Lesenswert?

Uhu U. schrieb:
> Das hängt doch ausschließlich davon ab, ob
> der treibende Ausgang, also in diesem Fall TX des µC einen offenen
> Kollektor / Drain am Ausgang hat, oder nicht?

So stehts ja auch im Datenblatt.

von Einer K. (Gast)


Lesenswert?

Nöö...
Z.B. wenn der Prozessor (z.B. eine AVR) im Reset steckt ....

von Uhu U. (uhu)


Lesenswert?

hinz schrieb:
> So stehts ja auch im Datenblatt.

Wo?

von Thorsten Legat (Gast)


Lesenswert?

Uhu U. schrieb:
> hinz schrieb:
>> So stehts ja auch im Datenblatt.
>
> Wo?

Uhu U. schrieb:
> It may be easy
> to be ignored.

von Uhu U. (uhu)


Lesenswert?

Die HC-05-Breakout-Platine für den Arduino hat jedenfalls keinen Pull-up 
in der RX-Leitung - das Ganze scheint also, wie vermutet, ein Schmarren 
zu sein...

: Bearbeitet durch User
von hinz (Gast)


Lesenswert?

Uhu U. schrieb:
> hinz schrieb:
>> So stehts ja auch im Datenblatt.
>
> Wo?

"If  the  MCU  TXD doesn’t have pull-up function,"

von Einer K. (Gast)


Lesenswert?

Liegts an den Kosten?

von Uhu U. (uhu)


Lesenswert?

hinz schrieb:
> Uhu U. schrieb:
>> hinz schrieb:
>>> So stehts ja auch im Datenblatt.
>>
>> Wo?
>
> "If  the  MCU  TXD doesn’t have pull-up function,"

Vielleicht solltest du deinen Englischkenntnissen mal ein Upgrade 
gönnen...

von Uhu U. (uhu)


Lesenswert?

Arduino F. schrieb:
> Liegts an den Kosten?

Nein, am Verständnis. Bemerkungen in Datenblättern, die ich nicht 
verstehe, geben guten Grund für weitere Nachforschungen.

: Bearbeitet durch User
von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Uhu U. schrieb:
> Seit wann ist es üblich, dass digitale Eingänge sich um
> Pull-up-Widerstände scheren? Das hängt doch ausschließlich davon ab, ob
> der treibende Ausgang, also in diesem Fall TX des µC einen offenen
> Kollektor / Drain am Ausgang hat, oder nicht?

 Seit immer.
 Ausserdem hat der HC-Rx einen "weak internal pull-down", d.h. für
 HC-05 liegt bei offenem Eingang ohne Pull-up immer Startbit an,
 auch wenn der auf fallende Flanke wartet, um mit Empfang anzufangen.

 Ein Eingang mit Pull-up kann HiZ nicht von Log.1 unterscheiden, beide
 werden als Log.1 dekodiert, eine Log.0 wird aber immer erkannt.
 Ein Eingang mit Pull-down erkennt Log.1 immer, HiZ und Log. 0 werden
 aber nicht unterschieden und beide als Log.0 dekodiert.

 Auf der anderen Seite (CPU/uC) kann die Tx-Leitung aber nach Stoppbit
 genausogut nach HiZ gehen - es ist nicht verboten.
 Das würde der HC-05 aber gleich als Startbit sehen...

: Bearbeitet durch User
von Uhu U. (uhu)


Lesenswert?

Marc V. schrieb:
> Ein Eingang mit Pull-up kann HiZ nicht von Log.1 unterscheiden, beide
>  werden als Log.1 dekodiert, eine Log.0 wird aber immer erkannt.
>  Ein Eingang mit Pull-down erkennt Log.1 immer, HiZ und Log. 0 werden
>  aber nicht unterschieden und beide als Log.0 dekodiert.

Das heißt aber, dass man auch Sicht des HC-05 nicht sagen kann, ob ein 
Pull-up notwendig ist, oder nicht - das hängt vom treibenden Ausgang ab 
und sonst von gar nichts.

> Das würde der HC-05 aber gleich als Startbit sehen...

Dann müsste ich auf einem Terminal am anderen Ende der BT-Verbindung 
immer 0xFF empfangen - das passiert aber nicht.

Wenn ich RX und TX des HC-05 verbinde, kommt jede Eingabe am Terminal 
als Echo zurück - wie erwartet. Und das ohne Pull-up.

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Uhu U. schrieb:
> Dann müsste ich auf einem Terminal am anderen Ende der BT-Verbindung
> immer 0xFF empfangen - das passiert aber nicht.

 Natürlich nicht, der Empfänger (HC-05) wartet auf fallende Flanke.
 Und nicht 0xFF, wenn schon, dann 0x00 (mit Frame Error, weil ohne
 Stoppbit), aber wie gesagt, der Empfang startet nicht bei Low level,
 sondern bei der fallenden Flanke.

> Das heißt aber, dass man auch Sicht des HC-05 nicht sagen kann, ob ein
> Pull-up notwendig ist, oder nicht - das hängt vom treibenden Ausgang ab
> und sonst von gar nichts.

 Was genau verstehst du nicht bei dem Satz unten ?
Marc V. schrieb:
> Auf der anderen Seite (CPU/uC) kann die Tx-Leitung aber nach Stoppbit
>  genausogut nach HiZ gehen - es ist nicht verboten.
>  Das würde der HC-05 aber gleich als Startbit sehen...

Uhu U. schrieb:
> Wenn ich RX und TX des HC-05 verbinde, kommt jede Eingabe am Terminal
> als Echo zurück - wie erwartet. Und das ohne Pull-up.

 Schon mal darüber nachgedacht, dass Tx beim HC-05 einen Pull-up hat
 und ausserdem nach Stoppbit auf Log.1 bleibt und nicht nach HiZ geht ?

: Bearbeitet durch User
von hinz (Gast)


Lesenswert?

Uhu U. schrieb:
> Arduino F. schrieb:
>> Liegts an den Kosten?
>
> Nein, am Verständnis. Bemerkungen in Datenblättern, die ich nicht
> verstehe, geben guten Grund für weitere Nachforschungen.

Vielleicht solltest du deinen Englischkenntnissen mal ein Upgrade
gönnen...

von Uhu U. (uhu)


Lesenswert?

Marc V. schrieb:
> Schon mal darüber nachgedacht, dass Tx beim HC-05 einen Pull-up hat
>  und ausserdem nach Stoppbit auf Log.1 bleibt und nicht nach HiZ geht ?

Daraus folgt: es hängt vom treibenden Ausgang ab, ob ein Pull-up
an RX gebraucht wird, oder nicht. In der Beschreibung des Eingangs
RX hat also der Pull-up schlicht nichts zu suchen. Das habe ich oben 
aber schon zweimal geschrieben...

: Bearbeitet durch User
von Einer K. (Gast)


Lesenswert?

Uhu U. schrieb:
> Daraus folgt: es hängt vom treibenden Ausgang ab, ob ein Pull-up
> gebraucht wird, oder nicht.

Der typische AVR Ausgang hängt in der Luft, bzw. ist kein Ausgang, bis 
nach dem Reset das DDR gesetzt wird. Das heißt, der Pullup an RX des 
HC-05 macht in der Zeit Sinn.
Auch während der AVR beschrieben wird, während er vom BOD im Reset 
gehalten wird, usw.

von Uhu U. (uhu)


Lesenswert?

Arduino F. schrieb:
> Der typische AVR Ausgang hängt in der Luft, bzw. ist kein Ausgang, bis
> nach dem Reset das DDR gesetzt wird. Das heißt, der Pullup an RX des
> HC-05 macht in der Zeit Sinn.

Das leuchtet ein, fällt aber ins Kapitel "treibender Ausgang" und beim 
AVR auch noch in den gerne vergessenen Zusammenhang "definierte 
Startbedingungen".

Um die mit einem AVR herzustellen, würde ein ziemlich hochohmiger 
Pull-up - so 10 - 50 k - ausreichen, oder liege ich falsch?

Und wenn ein MAX232 o.Ä. treibt, kann der Pull-up entfallen.

: Bearbeitet durch User
von il Conte (Gast)


Lesenswert?

Uhu U. schrieb:
> Daraus folgt: es hängt vom treibenden Ausgang ab, ob ein Pull-up
> an RX gebraucht wird, oder nicht.

Und desalb wird der am Sender platziert.
Und sollte man sich nicht sicher sein wie der 'TX' aufgebaut ist,
wird eben ein Platzhalter vorgesehen.
Wobei man sowas sehr selten antrifft (wegen der Anstiegsflanken).
Nicht umsonst gibt es für i2C aktive Pullups.

Deine HW-Probleme möchte ich haben!

Ich möchte dir nicht zu nahe treten,
aber es klingt fast so als ob man vor grossen Problemen steht,
die man scheut und die einen Angst bereiten
und man sich deshalb an Kleinikeiten hochzieht.
Ich nehme dich hier meistens aber anders wahr! (als Pragmatiker)

von Uhu U. (uhu)


Lesenswert?

il Conte schrieb:
> Und desalb wird der am Sender platziert.

Sage ich doch...

> Ich möchte dir nicht zu nahe treten,
> aber es klingt fast so als ob man vor grossen Problemen steht,
> die man scheut und die einen Angst bereiten
> und man sich deshalb an Kleinikeiten hochzieht.

Nein, ich habe das Datenblatt gelesen und mich gefragt, was diese 
Bemerkung soll. Und nicht nur einmal...

Vorher bin ich in demselben Chaosblatt allerdings schon mehrfach auf 
Formulierungen gestoßen, die erst mal mehr Fragen als Klarheit 
hinterließen. Die dann einfach zu ignorieren, ist die schlechteste 
Lösung, denn der Autor hat sich beim niederschreiben ja irgendwas 
gedacht -- nur was...

Z.B. die Geschichte mit den beiden AT-Modi und wie man sie aktiviert - 
für eine Schaltung, die die Umschaltung in den Konfigurationsmodus 
dynamisch hinbekommen soll, kommt mir das Verfahren etwas holprig vor: 
Pin 34 muß bereits vor dem Einschalten auf 3.3 V liegen.

Ich habs noch nicht probiert, aber ich vermute mal, dass man den 
Konfigurationsmodus auch im laufenden Betrieb erreichen kann, indem man 
Pin 34 auf high legt und dann den Reset des HC-05 ausreichend lange auf 
0 zieht.

Dieses Datenblatt ist eine Fundgrube, wenn man es schafft, das 
Chenglisch zu dechiffrieren...

: Bearbeitet durch User
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.