5 Replies Latest reply on Jan 22, 2015 10:52 AM by AdolfoS

    Initialisation of eBMU PMB 8753/2 module

    Chris599 Community Member

      Hi everyone,

       

      New to this community specifically to learn about problems I've come across at a new job.

      I've been given the task of cleaning up a very poorly designed code to run a system that includes Bluetooth functionality.

       

      All test boards I had were to the point of working beautifully and I was ready to hand over release code and dust my hands of it.

      However a huge portion of brand new, never programmed, boards show no Bluetooth chatter over the UART connection to main processor.

      They all start up correctly; assign name, pin, become discoverable. But can't hand data to the main processor so literally useless.

       

      Everything operates at the default 115200 bps/baud and using an oscilloscope I've confirmed pulses are 8.4~ micro-seconds long.

      The problem seems to be that a lot of the Bluetooth modules accept all the commands but never respond, at least the UART data line from the Bluetooth Tx shows nothing (constantly at 3v High).

       

      Thanks to previous development for years before I arrived I have no idea whether something else was needed with these chips, and I haven't found anything in the documentation I've been looking at.

      (for reference: http://na.industrial.panasonic.com/sites/default/pidsa/files/panasonic_pan1321_datasheet_0.pdf)

      I could easily have missed something, but I put it to more experienced minds in the hopes someone will laugh at how easy it should have been.

       

      And am I correct in thinking that if the data line is high that means whoever owns the output for that line is actually setting high?

       

      Thanks for any help in advance.

      -Chris

        • Re: Initialisation of eBMU PMB 8753/2 module
          gabriel.thomas Brown Belt

          Hello Chris.

           

          Welcome to the Intel Embedded Community.

          We are working in your case and will be getting back to you soon.

          In the meanwhile I have send you the Intel's eBMU datasheet for your reference.

           


          Best Regards.

          Gabriel Thomas

            • Re: Initialisation of eBMU PMB 8753/2 module
              gabriel.thomas Brown Belt

               

              Hello Chris.

              There is another good document to review, it is the eBMU SSP-AT Application from Infineon; AT commands are described in detail here.

              The UART interface is the main communication interface and it has four UART signals and two LPM control signals.

               

              These are:

               

              -UARTTXD and UARTRXD: are used for commands, responses and data.

               

              -UARTRTS and UARTCTS: are used for hardware flow control. These signals are used together with two GPIOs to tell the other device (could be a host or a controller)  when it may enter low power mode, when it should wake up and when it cannot transmit because the first device is in low power mode.

               

              I recommend you to check if devices are in low power mode, this could be the reason of the communication failure.

               

              The low power mode can be used when the device is in any of the following states:

              1. Page-/inquiry-scan mode.
              2. Connected with link in sniff.
              3. Disconnected.

                 These are some cases were the low power mode shall not be used: 

              1. During connection set-up
              2. During device discovery.
              3. ACL link without sniff.

                

              In order to allow the eBMU to enter low power mode, the host sets PIN P0.14 low, when eBMU is ready, it will also allow the host to enter LPM by setting P0.0 low. Before entering LPM, the host shall set UART CTS of eBMU high. Before entering LPM, eBMU will set its own UART RTS high. The host can wake up eBMU by setting UART CTS of eBMU low gain and stting P0.14 high again. eBMU can wake up the host by setting its own UART RTS low again and setting P0.0 high again.    

               

                   low power.png

               

               

              low power2.png

               

              Please review and let us know if this was the cause of the issue.

               

              Best regards

               

              Gabriel Thomas.

                • Re: Initialisation of eBMU PMB 8753/2 module
                  Chris599 Community Member

                  Hi Gabriel,

                   

                  Thank you for your assistance.

                   

                  I've been probing the board as best I can to look for bad power levels, and so far between a working setup and an unresponsive one I haven't found a difference.

                  I have to assume the P0.14 is being held high and therefore the device is not in Low power. The closest point I can get on the p0.14 line does show that the VDDUART ref voltage is there, but i suppose there is always the chance that the bga solder point under the bluetooth has a bad connection.

                   

                  I was wondering, having looked at the documents it is capable of low power mode and still being discoverable, is it actually capable of receiving commands over UART whilst in LPM?

                  And under what conditions can it wake up to then initiate the host wakeup?

                   

                  Again thanks for the help.

                  -Chris

                  • Re: Initialisation of eBMU PMB 8753/2 module
                    Chris599 Community Member

                    Hi again,

                     

                    Spent some time trying to find ways of seeing if the BT chip was indeed in LPM as you suggest and decided to ground the p0.14 pin as close to the chip as i could.

                     

                    The p0.14 is held high using VDDUART through a 10k resistor.

                    If i put an ammeter between the 10k and p0.14 I find that on a working device the pull down current is ~185 microAmps, but on an unresponsive one it is ~201 microAmps.

                    Having looked at the documentation i can see that the device can output typically 20 microAmps from p0.14.

                     

                    So is there a chance that the p0.14 is set as an output (panasonic pan1321 docs state p0.14 as I/O but intel docs only show it as a reserved O).

                    If the pin cannot be an output is it then safe to come to the conclusion that because of the higher pull down current that the pin is not connected therefore not splitting the current?

                     

                    Whilst I cannot yet take apart and prove this, it would be nice to have a possible diagnosis of the problem...

                     

                    Thanks

                    -Chris

                      • Re: Initialisation of eBMU PMB 8753/2 module
                        AdolfoS Brown Belt

                        Hello Chris599

                         

                        Effectively GPIO0.14 should be an output from the host controller and an input to the ePBM module

                         

                        Are you using hardware flow control? If not you have to implement it since is mandatory.

                         

                        Have you checked the level of the host’s UART RTS? if the level is high, the module will never respond to the host.

                         

                        I have being checking the datasheet, and I have noticed some inconsistencies. If you check the block diagram on page 15 the host signals “WAKEUP_BT” is connected to P0.14 but if you check at the Reference Design on page 29 “WAKEUP_BT” is connected to P1.7 so that might  be worth checking.

                         

                        Our recommendation would be to contact with Panasonic line of Support since they might have more information regarding the programming of the PAN1321.

                        Also Panasonic Support might have access to the reference documentation on Section 12, which might be useful to troubleshooting your issue.

                         

                        You can contact Panasonic Support in the following link: Panasonic Support

                         

                        Hope this is useful to you.

                         

                        Best Regards,

                        Adolfo.