Skip to content

Increase pullup resistor on RX pin #79

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Oct 30, 2019
Merged

Conversation

nseidle
Copy link
Member

@nseidle nseidle commented Oct 24, 2019

This PR makes software serial work reliably on pins connected to translation buffers such as the TXB0104 used on the SparkFun LTE cellular shield.

On some GPIO the g_AM_HAL_GPIO_INPUT_PULLUP seems to be strong enough to cause problems with translation buffers like the TXB0104. Limiting to the pullup to 24k fixes the issue.

With just g_AM_HAL_GPIO_INPUT_PULLUP the TXB0104 has a min voltage of 1.28V:

image

The Apollo3 can't interpret the 1.3V as low .

But if we use the 24k pullup g_AM_HAL_GPIO_INPUT_PULLUP_24 the signal gets much better:

image

And just for fun, here is pull up with 12k. The low voltage raises as the pull up resistance decreases we would expect:

image

This suggests the generic "g_AM_HAL_GPIO_INPUT_PULLUP" uses a strong pullup, however it's not clear in the HAL what "WEAK" means:

image

I don't believe there is a downside to using the 22k pull up value rather than the 'WEAK' value.

On some GPIO the g_AM_HAL_GPIO_INPUT_PULLUP seems to be strong enough to cause problems with translation buffers like the TXB0104. Limiting to 24k fixing issue.
@oclyke oclyke merged commit e6f0bb2 into master Oct 30, 2019
@oclyke oclyke deleted the reduceSSPullupResistor branch October 30, 2019 16:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants