- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I am a newbie working on PSoC.
Something weird happened when I try to run PSoC 4 BLE to control a sensor. The reset pin needs to be as low as ground ordinarily, and goes up and down to send falling edge as RESET signal.I used digital output pin with Strong Drive mode to do this reset job on PSoC 4 pioneer KIT, and it works very well;
However, when I tried to use the exact same codes on PSoC 4 BLE KIT, the reset pin is not able to be as low as ground ( not 0 ).
Only High Impedance Digital/Analog mode could be written "0"; however, under those two High Impedance mode, the falling edge control does not work.
Could anyone tell me what can I do with the weird PSoC 4 BLE KIT?
Thank you!
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You did not tell which pin you are using for the sensor's reset. And: Did you try to use "open drain drives low"?
Can you post your complete project, so that we all can have a look at all of your settings? To do so, use
Creator->File->Create Workspace Bundle (minimal)
and attach the resulting file.
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You did not tell which pin you are using for the sensor's reset. And: Did you try to use "open drain drives low"?
Can you post your complete project, so that we all can have a look at all of your settings? To do so, use
Creator->File->Create Workspace Bundle (minimal)
and attach the resulting file.
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Bob,
I tried almost every pin I could use, and every mode include "open drain drives low".
"open drain drives low" mode, same with High Impedance Digital/analog, could be written successfully zero, but those High Impedance modes could not act as a falling edge to help me send reset signal. (I am not sure why)
Here attached my codes, please have a look
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Code seems to be ok. Have you got a link to the sensor's datasheet?
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Bob,
Here is the link to the datasheet of that sensor.
Actually, the exact same code could work on Arduino, SparkFun SPI shortcut, and PSoC 4 very well; I have no idea what's wrong with the GPIO on the PSoC 4 BLE KIT that, the reset pin cannot hold the two functions, to be low ordinarily and act falling edge when needed, at the time.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Are you using a different supply voltage on your BLE? Did you disable the DeepSleep functionality on BLE?
The datasheet tells: Low input voltage is 0.8V can you check the common ground for displacement.
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Bob,
I am using USB cable as power supply right now. I am not sure how to disable the DeepSleep functionality on BLE.
I will get a volts meter to test the ground and reset pin tomorrow.
BTW, I am designing a small PCB board to supply the BLE module, could you please give me some suggestion?
I am not sure 3.3V or 5V would be better for VDDD of the PSoC module power supply.
Thank you!
And
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Batt powered would use 3.3V. No need to build a PCB, there is already a module available which is very small. You will probably need a KitProg or a MiniProg3 to program that chip.
When you are using one of the BLE examples which you modified there should be a #define for allowdeepsleep or something similar.
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Bob,
My PCB is to replace the PSoC 4 pioneer baseboard, power the module and hardwire the module and the sensor easily.
I am not sure which voltage should I use to supply the module, 5V or 3.3V?
Sorry I don't understand anything about deepsleep. You got my codes, could you please tell me how should I fix the reset pin?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Would be easier to use 3.3V.
I checked your project - No deep sleep.
I think you need to make some measures preferably with a scope and logic analyzer.
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Based on the result, I am pretty sure that, the GPIO modes work for the reset functions on BLE module fail on either being as low as ground, or acting a falling edge signal.
Even if I got the scope, how could I fix it? (The same codes work perfect on the PSoC 4)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This is not a matter of code. IO-pins are a very simple thing and they usually work if not damaged. And they are quite the same throughout the PSoC4 family. So when it does not work you will have an electrical bug in your actual design/wiring. This you will have to search for and find. With a scope you will be able to verify your voltage levels and the timing and you may even compare that to the running hardware.
Bob