10 Replies Latest reply on Nov 1, 2016 7:16 AM by BrCh_1185121

    CYBLE-214009-00:  I/O routing and SPI throughput issues.


      Hi Everyone,


      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...)

      1. 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[0]. 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".)
      3. 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.)
      5. 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.