Tarik resistor di UART

16

Saya akan melalui aplikasi-note AN2606 di mana saya menemukan diagram koneksi ini:

masukkan deskripsi gambar di sini

Sesuai pengetahuan saya, UART adalah tipe push-pull dan Tx menyediakan pull-up yang diperlukan dan karenanya kita tidak perlu menggunakan pull up eksternal. Apakah saya melewatkan sesuatu di sini?

Whiskeyjack
sumber
1
Saat UART menganggur, kedua garisnya tinggi. Bit mulai di UART adalah transisi Tinggi-ke-Rendah pertama di telepon. Karena itu mereka ditarik.
Swanand
@ Swanand - Itulah yang saya pikirkan. Saya bertanya-tanya mengapa catatan aplikasi ini akan merekomendasikan pull up.
Whiskeyjack
1
Mungkin untuk menjamin persyaratan tertentu, seperti itu tinggi sebelum mikro mengakhiri siklus dayanya atau waktu naiknya cukup cepat ...
zakkos
1
Saya telah menggunakan UART beberapa kali pada STM32s dan saya belum memiliki pullup, meskipun saya akui itu bukan untuk bootloader, jadi @zakkos mungkin benar. Juga lihat catatan di bawah ini skematis - itu hanya diperlukan jika hostst tidak memiliki pull-up sendiri, sehingga tampaknya bahkan lebih mungkin bahwa ada di sana untuk memastikan beberapa persyaratan untuk keadaan garis.
Jan Dorniak
2
@ Swanand - yang saya maksud adalah - pin UART ditarik sendiri. Kita tidak perlu tarik eksternal seperti yang ditunjukkan pada gambar. Pin Tx bertanggung jawab untuk mengarahkan jalur TINGGI tanpa perlu resistor eksternal. Jawaban Tony menjelaskan persyaratan dari resistor tersebut. :)
Whiskeyjack

Jawaban:

17

Ketika mikrokontroler di-reset, pin I / O-nya akan dikonfigurasikan sebagai input impedansi tinggi. Jadi pin yang digunakan untuk Data Transmit serial UART (TXD) akan mengambang selama waktu ini. Ini dapat menyebabkan kebisingan yang menyebabkan sampah ditransmisikan oleh driver garis RS232.

Beberapa IC driver lini memiliki resistor pull-up internal pada pin input sisi TTL / LVTTL untuk mencegah hal ini dan menghasilkan status siaga RS232. Jika tidak, resistor pull-up dapat ditambahkan.

Resistor pull-up pada pin input serial Terima Data (RXD) UART tidak diperlukan karena penerima saluran RS232 selalu menggerakkan pin itu.

Perhatikan bahwa periode reset biasanya waktu yang relatif lama dan bahwa pin I / O yang digunakan sebagai pin keluaran rentan terhadap masalah ini dan harus dipertimbangkan untuk resistor pull-up atau pull-down.

TonyM
sumber
1
Tentang RXD, jika sisi host tidak memiliki pull-up di pin 'TXD', pin 'RXD' di sisi slave (sisi STM32) juga mungkin perlu pull-up.
diverger