- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi everyone... I'm working with the DS18B20 temperature sensor and I'm using One-Wire Protocol, the project is working well but I have a question:
Why when I use any of the following pins: P0[2], P0[3], P0[4], P3[2], in order to read the sensor's signal, the display shows me 0.00 ºC, but when I use any other GPIO Pin the display shows a correct temperature value?
There is something I'm missing something about those pins? Any caracteristic that doesn't allow them to function in data sensor reading?
Thanks in advance...
Solved! Go to Solution.
- Labels:
-
PSOC5 LP MCU
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello.
Assuming you are using KIT-059 (missing details of your setup), the 4 port pins you identified have 1uF capacitors attached to them.
Good luck with your project.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello.
Assuming you are using KIT-059 (missing details of your setup), the 4 port pins you identified have 1uF capacitors attached to them.
Good luck with your project.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Bibi, I have one more question, if I make my own PCB using this microcontroller CY8C5888LTI-LP097 and I don't attach these capacitors to the previous pins I asked about. It's supposed I will be able to used those pin without problems? Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Julian,
BiBi is correct. Those pins have 1uF caps on them. The presence of the cap on the DQ signal line will act as a Low-pass filter. When you're driving a '0' on DQ line with a driver source resistance of about 150 ohms to GND, the fall time is about (150 * 1u) 150us. When you let DQ float to a '1' (using an open-drain output with the recommended 4.7K pullup) your rise time is about (4700 * 1u) 4.7ms.
The longer rise time limits your maximum data rate to about 1/(4.7ms * 10) = 21 Hz. Therefore if you lower your datarate to this frequency or lower, it should work on these pins.
"Engineering is an Art. The Art of Compromise."
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
JulianLBTK,
There is a DS18B20 component for PSoC4/PSoC5 available, which allows reading up to 8 DS18B20 sensors sinyltaneously.
Component to read DS18B20 digital temperature sensors
/odissey1
Figure 1. Project chematics.
Figure 2. Project annotation using the PSoC Annotation Library v1.0.
Notice bypass capacitors on the KIT-059 board.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks a lot Oddisey, Lean and Bibi, it was a really clear explanation.