0

I'm facing a problem while working on a tracking application using the SIM7070G module for GNSS data. The application alternates between sending data and retrieving GNSS coordinates due to SIM7070G inability to handle both tasks simultaneously, unlike the SIM7000G module.

The problem is that I have long periods of time with answers in which data is missing when requesting GNSS data using AT commands. Here's an example of the issue:

    ---> ATE0
    <--- ATE0
    ---> ATE0
    <--- OK
    ---> AT+CFUN=1
    <--- OK
    ---> AT+CPMS="SM","SM","SM"
    <--- +CPMS: 0,15,0,15,0,15
    ---> AT+CMGF=1
    <--- OK
    ---> AT+CNETLIGHT=0
    <--- OK
    ---> AT+CNMP=38
    <--- OK
    ---> AT+CMNB=1
    <--- OK
    ---> AT+CBANDCFG="CAT-M",4
    <--- OK
    ---> AT+SMCONF="CLIENTID","SIM7070"
    <--- OK
    ---> AT+SMCONF="KEEPTIME",60
    <--- OK
    ---> AT+SMCONF="URL","mqtt.thingsboard.cloud","1883"
    <--- OK
    ---> AT+SMCONF="QOS",0
    <--- OK
    ---> AT+SMCONF="USERNAME","Ws5apIlLYX0s1IXTQUJ2"
    <--- OK
    ---> AT+SMCONF="CLEANSS",0
    <--- OK
    ---> AT+CGNSMOD=1,1,0,0,0
    <--- OK
    ---> AT+CPIN?
    <--- +CPIN: READY
    ---> AT+COPS?
    <--- +COPS: 0,0,"Movistar",7
    ---> AT+CSQ
    <--- +CSQ: 27,99
    ---> AT+CEREG?
    <--- +CEREG: 0,1
    ---> AT+CGATT=1
    <--- OK

    ---> AT+CNCFG=0,1,"gm2m.movistar","gm2m","gm2m",0
    <--- OK
    ---> AT+CGPIO=0,48,1,1
    <--- OK
    ---> AT+CGNSPWR?
    <--- +CGNSPWR:0 
    ---> AT+CGNSPWR=1
    <--- OK
    ---> AT+CGNSINF
    <--- +CGNSINF: 0,,,,,,,,,,,,,,,,,
    ---> AT+CGNSINF
    <--- +CGNSINF: 1,,,0.000000,0.000000,-18.000,,,1,,0.1,0.1,0.1,,,,9999000.0,6000.0
    ---> AT+CGNSINF
    <--- +CGNSINF: 1,,,0.000000,0.000000,-18.000,,,1,,0.1,0.1,0.1,,,,9999000.0,6000.0

....... (after 5 minutes, 1 hour, 2 hours...)

    ---> AT+CGNSINF
    <--- +CGNSINF: +CGNSINF:,,20230827203259.000,-31.268077,-61.503181,13.514,,,1,,500.0,500.0,500.0,,3,,10009.1,10000.0
    ---> AT+CGPIO=0,48,1,0
    <--- OK
    ---> AT+CGNSPWR=0
    <--- OK

Switching to data send... 10 %...20 %...30 %...40 %...50 %...60 %...70 %...80 %...90 %... 100 %
    ---> AT+CNACT=0,1
    <--- OK

+APP PDP: 0,ACTIVE

    ---> AT+CSQ
    <--- +CSQ: 25,99
    ---> AT+SMSTATE?
    <--- +SMSTATE: 0
    ---> AT+SMCONN
    <--- ERROR
    ---> AT+SMCONN
    <--- OK
    ---> AT+SMPUB="v1/devices/me/telemetry",31,0,0
    <--- > 
    ---> {"lat":-31.2681,"lon":-61.5032}
    <--- OK
    ---> AT+SMDISC
    <--- OK
    ---> AT+CNACT=0,0
    <--- OK

+APP PDP: 0,DEACTIVE

Switching to GNSS... 10 %...20 %...30 %...40 %...50 %...60 %...70 %...80 %...90 %... 100 %

    ---> AT+CGPIO=0,48,1,1
    <--- OK
    ---> AT+CGNSPWR?
    <--- +CGNSPWR: 0
    ---> AT+CGNSPWR?
    <--- +CGNSPWR: 0
    ---> AT+CGNSPWR=1
    <--- OK

    ---> AT+CGNSINF
    <--- +CGNSINF: 1,,,0.000000,0.000000,-18.000,,,1,,0.1,0.1,0.1,,,,9999000.0,6000.0
    ---> AT+CGNSINF

(after some minutes)...

    <--- +CGNSINF: 1,,20230827203559.000,-31.266789,-61.505134,-27.439,,,1,,500.0,500.0,500.0,,3,,10014.9,10000.0

This behavior can suddenly shift to proper communication, yielding correct data. I don't know this could be a software or hardware issue, or perhaps a combination. I have tried to go outdoors, since I am doing the tests indoors but next to a window, and the behavior is the same, at times it works fine, and at times it does not pick up a signal for several minutes, until I return without having able to establish location.

Attached below two images where you can see the circuit of the part corresponding to GNSS.

Schematic

PCB

PCB

Best regards, Santiago Mercante.

0 Answers0