CYBLE-214009-00: I/O routing and SPI throughput issues. | Cypress Semiconductor
CYBLE-214009-00: I/O routing and SPI throughput issues.
I am having multiple issues implementing a project on the CYBLE-214009-00 module. I had my project up and running on the BLE Pioneer Kit using the PSoC 4200BLE board. But when I went to transfer the project to the CYBLE-214009-00 module, I ran into numerous problems. As a last resort before asking the gurus here to help me, I tried setting up a blank project and implemented only the external I/O in an attempt to see if I have some goofy code or file corruption in my project. Unfortunately, I get the same results with a new blank project.
Here are three issues I have run into so far. (More may be lurking behind these...)
- Can't assign "\CapSense: CMod" to P4.0.
According to the CYBLE214009-00 module datasheet, it looks as if there is a "CMod" cap inside of the BLE module connected to P4.0. The pin P4.0 is shown in the drop down box of the pin assignment editor, but it has a gray box next to it. If I select it, I receive the message "Pin Error: (Invalid pin assignment P4. This pin does not support ANALOG.)". (This is a very interesting result as the datasheet says "Any GPIO pin can be CapSense, LCD, analog, or digital".)
- Can't set the SPI and I2C data rates to maximum.
When I had originally prototyped this project on the BLE Pioneer Kit, I was able to set the SPI to it's maximum throughput of 8Mbps by manually setting the Oversampling option to "6". However, on the CYBLE-214009-00 module, it tells me the throughput will be 4.785Mbps...that's kind of a far cry from 8. I am not sure why this works differently on this module vs the Pioneer board. Also, I get a similar issue with the I2C, but that speed is close enough to be tolerable. (Assigned speed 400kpbs, calculated 380kbps. Although I got 400kbps on the Pioneer board.)
- Can't disable the SPI Slave Select functionality.
The SPI devices I am using are kind of goofy. They require the Slave Select lines to be held sometimes and cycled others. I accomplished this on the Pioneer board by setting the "Number of SS" option to "0" and controlling the lines with software GPIO. On the BLE module I can't disable the SPI's automatic Slave Select option, nor can I change how may slave selects I can assign. Again, this is not an issue on the Pioneer board.
I apologize if I'm just being dumb and missing the obvious. I am new to the PSoC components and this is my first complete project using these components. Any assistance will be greatly appreciated.