LOGO 5G-HUB B1


WIFI MULTIMODALITÀ,
BLUETOOTH, ZIGBE


QCA4020: WiFi dual band multimodale, Bluetooth 5 e ZigBee (802.15.4)

LOGO 5G-HUB B1

Scopo del documento

Lo scopo di questo documento è spiegare il QCA4020 che è WiFi dual band multimodale, Bluetooth 5 e ZigBee (802.15.4). Questo documento contiene le caratteristiche del QCA4020 e come configurarlo.

Cronologia del documento

Versione

Autore Data Descrizione
A HUB 5G 8.16.2021

Documento iniziale

1 Introduzione

Questa è una scheda miniPCIe che supporta la connettività intelligente multimodale. Supporta Wi-Fi dual-band, Bluetooth 5 e ZigBee. Si basa su Qualcomm QCA4020 System-On-Chip (SoC). Ha un SoC a bassa potenza che integra un Cortex M4F per l'elaborazione delle applicazioni, Cortex M0 per l'elaborazione dello stack di rete e un processore separato per lo stack Wi-Fi progettato per consentire una soluzione radio multipla altamente simultanea.

L'SDK QCA4020 preintegra il supporto per funzionalità di sicurezza avanzate e più software e ecosistemi cloud.

Progettata per affrontare la frammentazione dell'IoT e il supporto per l'interoperabilità, questa soluzione è ideale per più settori IoT dal controllo domestico e automazione, networking, intrattenimento domestico e città intelligenti.

Caratteristiche principali
  • SoC multimodale che supporta contemporaneamente Wi-Fi dual band, Bluetooth 5 e IEEE 802.15.4
  • Processore dedicato per Bluetooth LE LC e 15.4 MAC
  • Processore dedicato per 802.11 a/b/g/n
  • Zigbee 3.0 e supporto OpenThread
  • Isole di alimentazione isolate per il funzionamento a bassa potenza
  • Sicurezza avanzata basata su hardware con avvio sicuro, ambiente di esecuzione affidabile, archiviazione crittografata, provisioning delle chiavi e sicurezza a livello di applicazione
  • Set completo di periferiche e interfacce: SPI, I2C, UART, HS-UART, ADC e GPIO
  • Hub sensore integrato per la post-elaborazione progettato per consentire casi d'uso di sensori a bassa potenza
  • Le dimensioni ridotte del pacchetto consentono fattori di forma ottimizzati
  • 300+KB di RAM riservata alle applicazioni
  • Dettagli radio Bluetooth: v5.0 con PA =+4dBm/+10dBm (per lungo raggio)
  • Dettagli radio 802.15.4: conforme al 2006, 15.4e, 2.4GHz DSSS +4dBm/+21dBm (per lungo raggio)
Specifiche

Wifi
Standard: 802.11a/b/g, 802.11n
Bande spettrali Wi-Fi: 2.4 GHz, 5 GHz
Velocità di picco: 150 Mbps
Configurazione MIMO: 1×1 (1 flusso)

Bluetooth
Versione specifica Bluetooth: Bluetooth 5.0
Tecnologia Bluetooth: Rete Bluetooth Qualcomm, Bluetooth Low Energy

802.15.4
Protocollo LR-WPAN: Filo, Zigbee

USB
Versione USB: USB 2.0

processore
Velocità di clock della CPU: Fino a 128 MHz
Core della CPU: CPU Arm Cortex-M4F, CPU Arm Cortex-M0, Tensilica Xtensa

Supporto alla sicurezza
Funzionalità di sicurezza: Sicurezza a livello di applicazione, Motore crittografico basato su hardware, Sicurezza del provisioning delle chiavi, Qualcomm® Trusted Execution Environment (TEE), Avvio protetto, Archiviazione sicura, Crittografia delle immagini del software, Generatore di numeri casuali reali
Sicurezza Wi-Fi: Interfaccia WPS

2 Layout miniPCIe QCA4020

La figura seguente spiega il miniPCIe QCA4020. Ha due intestazioni P1 e P2 che espongono molti dei GPIO e l'interfaccia del QCA4020. Inoltre, ha un JTAG interfaccia per il debug e l'immagine lampeggiante. Inoltre, ha un'intestazione del ponticello EDL (Emergency Download Mode).

5G-HUB QCA4020 - Figura 1

1- Modulo QCA402 M20
2- Interfaccia miniPCle
3-J3 (EDL)
4- J2 (configurare JTAG interfaccia)
5- J1 (Forza JTAG) 5- presa miniPCIe
6- Intestazione P2
7- Intestazione P1
8-JTAG Interfaccia

Figura 1: Layout miniPCIe QCA4020.

La figura seguente mostra le dimensioni e le dimensioni del miniPCIe QCA4020.

5G-HUB QCA4020 - Figura 2

Figura 2: Dimensione fisica miniPCIe QCA4020.

3 Pinout miniPCIe QCA4020

La QCA4020 è una scheda e un'interfaccia miniPCIe. La figura seguente mostra il pin out del miniPCIe:

5G-HUB QCA4020 - Figura 3

Figura 3: Pin out QCA4020 miniPCIe.

Per utilizzare il modulo miniPCIe, puoi utilizzare l'adattatore USB (noto anche come Raspberry PI HAT). La mappatura dei pin miniPCIe come nella tabella seguente. Se il miniPCIe viene utilizzato con il Raspberry PI HAT, i pin miniPCIe vengono mappati su Raspberry PI per funzionalità aggiuntive e interfaccia a Raspberry PI.

Tabella 1: Interfaccia miniPCIe QCA4020.

SPILLO #

QCA4020 QCA4020 PIN GPIO# PIN Raspberry PI#
1 SVEGLIATI GPIO29_BE

2

VCC_3V3
3

4

5

6

7

8

9

10

11 M0&M4_UART0_RX GPIO8_BE

GPIO14 (8)

12

13 M0&M4_UART0_TX GPIO9_BE

GPIO15 (10)

14

15

16

17

18

19

20

21

22

CHIP_PWD_L_BE T4
23

24

25

26

27

28

29

30

I2C0_MASTER_SCL GPIO10_BE GPIO19 (35)
31 DTR

33

32

I2C0_MASTER_SDA GPIO11_BE GPIO18 (12)
33

34

35

36

USB20_DM_BE USB20_DM_BE

37

38

USB20_DP_BE USB20_DP_BE
39

40

41

42

LED_ZIGBEE GPIO13_BE
43

44

45 SPI_SLAVE_CLK GPIO18_BE

GPIO11 (23)

46

LED_BLE GPIO60_BE
47 SPI_SLAVE_MOSI GPIO23_BE

GPIO9 (21)

48

LED_WLAN GPIO12_BE
49 SPI_SLAVE_MISO GPIO20_BE

GPIO10 (19)

50

51 SPI_SLAVE_CS_N GPIO19_BE

GPIO8 (24)

52

4 Come eseguire il flashing dell'immagine su QCA4020 miniPCIe

È possibile eseguire il flashing dell'immagine del miniPCIe QCA4020 utilizzando uno dei due metodi seguenti:

4.1 Metodo 1: tramite la modalità di download di emergenza (EDL)

In questo passaggio, l'utente può eseguire le seguenti operazioni:

1- Collegare J3 (PIN 1 e PIN 2). Questo è il GPIO22_BE utilizzato per EDL.
2- Collegare il cavo USB tra il PC e la porta USB di M20.

4.2 Metodo 2: Attraverso JTAG

In questo passaggio, l'utente può eseguire le seguenti operazioni:

1- Collegare J1 (PIN 1 e PIN 2). Questo è il GPIO20_BE che ha usato per forzare JTAG modalità
2- Collega JTAG cavo al JTAG Intestazione a 10 PIN che include i segnali TCK, TDI, TDO, TMS

Seguire la normale procedura per eseguire il flashing di *.elf file sopra il JTAG interfaccia.

QCA4020JTAG pin utilizzati come nella tabella seguente:

Tabella 2: JTAG Interfaccia.

Codice PIN QCA4020

JTAG Segnale
GPIO_50

JTAG3_BE_TCK

GPIO_51

JTAG3_BE_TDO
GPIO_52

JTAG3_BE_TMS

GPIO_53

JTAG3_BE_TDI

J2 sul QCA4020 viene utilizzato per configurare JTAG. Collegando J2 (PIN 1 e PIN2), forzare quanto segue JTAG configurazione:

Tabella 3: Impostazione J2 per JTAG Interfaccia.

Boot_Configure_B E_0GPIO_9_BE

Boot_Configure_B E_1GPIO_25_BE Boot_Configure_B E_2GPIO_18_BE JTAG Interfaccia per M4
0 0 1

JTAG nel GPIO[53:50]

5 Pin out QCA4020

Il QCA4020 ha un numero abbondante di pin e GPIO e funzionalità che sono esposte attraverso le intestazioni dei ponticelli P1 e P2. La tabella seguente riassume tutti i pin esposti tramite le intestazioni dei ponticelli P1 e P2 e le relative funzionalità hardware.

Tabella 4: Mappatura PIN P1 e P2.

Intestazione e PIN

GPIO n. SPI o I2C o QSPI UART PWMADC/ SensoADC Genitori-insegnanti
P2 – PERNO 1 3.3V

P2 – PERNO 2

GPIO4_BE
P2 – PERNO 3 GPIO5_BE

BT_ ATTIVO

P2 – PERNO 4

GPIO6_BE WLAN_ATTIVO
P2 – PERNO 5 GPIO7_BE

BT_ PRIORITÀ

P2 – PERNO 6

GPIO14_BE HS_UART0_DM_CTS
P2 – PERNO 7 GPIO15_BE HS_UART0_DM_TXD

P2 – PERNO 8

GPIO16_BE I2C1_Master_SCL HS_UART0_DM_RFR BT_ ATTIVO
P2 – PERNO 9 GPIO17_BE I2C1_Master_SDA HS_UART0_DM_RXD

WLAN_ATTIVO

P2 – PERNO 10

GPIO24_BE
P2 – PERNO 11

GPIO26_BE

P2 – PERNO 12

GPIO27_BE
P2 – PERNO 13

GPIO28_BE

P2 – PERNO 14

GPIO30_BE

P2 – PERNO 15

GPIO31_BE
P2 – PERNO 16

GPIO32_BE

P2 – PERNO 17

GPIO33_BE
P2 – PERNO 18

Terra

P1 – PERNO 10

A0 (SENSEADC_1_BE)
P1 – PERNO 9

A1 (SENSEADC_0_BE)

P1 – PERNO 8

GPIO_41_BE
P1 – PERNO 7

GPIO48_BE

P1 – PERNO 6

GPIO49_BE
P1 – PERNO 5 GPIO54_BE

SENSEDC2

P1 – PERNO 4

GPIO55_BE SENSEDC3
P1 – PERNO 3 GPIO56_BE

SENSEDC4

P1 – PERNO 2

GPIO57_BE SENSEDC5
P1 – PERNO 1 GPIO58_BE

SENSEDC6

6 Strumenti software da installare

Si prega di installare i seguenti strumenti

Python 2.7.X (Scarica Python | Python.org)
Eclipse IDE per C/C++ (Eclipse IDE per sviluppatori C/C++ | Pacchetti Eclipse)
Questo è un ambiente di sviluppo integrato basato su GUI
Versione supportata: versione Oxygen – Release 4.7.2
Giava:
Eclipse IDE ha dipendenza da Java, JDK 8 o versioni successive
ApriOCD (Scarica OpenOCD per Windows (gnutoolchains.com))
versione 0.10.0 [2017-06-09] – Toolchain incorporato di GNU Arm (Toolchain GNU ARM)
versione 6.x
Qualcomm SDK per QCA4020: L'SDK contiene sample applicazioni demo con codice sorgente per dimostrare diverse funzionalità e tecnologie supportate da QCA4020.

7 Configurazione dell'ambiente di sviluppo software

7.1 Pitone

Dopo aver installato Python, aggiungi il percorso a python.

Exampon:
Se python.exe è nella cartella

C:\CRMApps\App\Python276-64

impostare il percorso come segue:

%PERCORSO%=%PERCORSO%:C:\CRMApps\Apps\Python276-64
7.2 Giava

Dopo aver installato Java, aggiungi il percorso a Java.

Exampon:
Se Java.exe è nella cartella

C:\ProgramData\Oracle\Java\javapath

impostare il percorso come segue:

%PERCORSO%=%PERCORSO%: C:\Programma Files\Java\jdk1.8.0_161\bin
7.3 ApriOCD

Il plug-in OpenOCD è necessario per stabilire la connessione tra Eclipse IDE e FTDI J integratoTAG debugger. Dopo l'installazione, aggiungi il percorso a OpenOCD.

Exampon:
Se openocd.exe è nella cartella

C:\Program Files\OpenOCD-20170609\bin

impostare il percorso come segue:

imposta %PERCORSO%=%PERCORSO%:C:\Programma Files\OpenOCD-20170609\bin
7.4 Toolchain GNU ARM

Installa la toolchain ARM eseguendo ".exe" file e assicurati di selezionare l'opzione "Aggiungi percorso alle variabili di ambiente" durante il passaggio finale.

7.5 Configurazione dell'utilizzo del plug-in OpenOCD con Eclipse

Procedere come segue:

1- Vai a Aiuto > Installa nuovo software in EclipseIDE e assicurati che i seguenti plugin siano installati e abilitati per impostazione predefinita.

5G-HUB QCA4020 - Configurazione 1

5G-HUB QCA4020 - Configurazione 2

2- Imposta il percorso su openOCD. Riavvia l'IDE Eclipse e sotto Finestra -> preferenze. Imposta il percorso su openOCD come mostrato di seguito:

5G-HUB QCA4020 - Configurazione 3

3- Dopo aver installato l'SDK di Qualcomm, SDK OEM QCA4020+CDB, Demo sampi le si trovano nella seguente cartella:

obiettivo\quarto\demo\

4- Installa il jar del plug-in QCA file disponibile presso

/target/quarzo/demo/EclipseSupportFiles

– Copia il barattolo file (QCA402x_plugin.jar) nella cartella "dropin" nella cartella installata di Eclipse IDE.
– Riavvia l'IDE Eclipse se in esecuzione. Per riavviare Eclipse, fai clic su File-> Riavvia dopo aver installato il plug-in.

5- Assicurati che tutte le variabili di ambiente siano impostate correttamente

5G-HUB QCA4020 - Configurazione 4

8 Importazione dell'applicazione “Hello World”.

1- Installa il progetto Eclipse files per sample applicazioni demo.
Per installare c'è eclipseSupport.bat per Windows e eclipseSupport.sh per Linux nella seguente cartella:

/obbiettivo

2- Apri una finestra del terminale e vai a

/obbiettivo

3- Esegui il seguente comando

sh eclipseSupport.sh

Or

eclipseSupport.bat

Dopo aver eseguito lo script, il progetto Eclipse files .cprogetto, .progetto E .impostazioni cartella vengono aggiornati nelle rispettive cartelle dell'applicazione demo.

4- Apri l'applicazione Eclipse e vai a File-> Apri progetto e scegli la cartella dell'applicazione "Hello World" e seleziona la casella accanto all'applicazione. Clic Fine

5G-HUB QCA4020 - Configurazione 5

5- Per eseguire il debug del progetto, impostare Debug Config. Vai a Esegui->Configurazione debug->GDB OpenOCD. Imposta le opzioni Applicazione e OpenOCD come mostrato nelle immagini sottostanti. Seleziona Quartz.elf come applicazione C/C++. Se hai già creato l'immagine, seleziona Disattiva build automatica. Se l'immagine non è stata creata, seleziona Usa impostazioni spazio di lavoro.

5G-HUB QCA4020 - Configurazione 6

6- Nella finestra Debugger, fornire il percorso eseguibile di openocd con l'opzione config

-f ${progetto_loc}\build\gcc\qca402x_openocd.cfg

7- Fornire il percorso eseguibile arm-none-eabi-dgb per il client GDB come mostrato di seguito.

5G-HUB QCA4020 - Configurazione 7

9 Creazione dell'applicazione "Hello World".

Per creare l'applicazione, procedere come segue:

1. Vai al progetto proprietà->Configura build. Fai clic con il pulsante destro del mouse sul nome del progetto in Esplora progetti e vai a Proprietà
2. Verificare il comando build e la directory build nella scheda Impostazioni Builder.
3. Vai a build C/C++ e imposta il comando build su "build.bat" e la directory build su "path to source" come nelle schermate seguenti.
4. Fare clic Applica e chiudi

5G-HUB QCA4020 - Configurazione 8

5G-HUB QCA4020 - Configurazione 9

5. Compila l'applicazione e vedrai il seguente messaggio nella finestra della console

5G-HUB QCA4020 - Configurazione 10

L'uscita e *.elfo files sono generati e disponibili sotto il produzione cartella:

5G-HUB QCA4020 - Configurazione 11

10 Eseguire il flashing dell'applicazione sul miniPCIe QCA4020 tramite USB

È possibile eseguire il flashing di un'applicazione sul miniPCIe QCA4020 tramite la porta USB. Per fare ciò, attenersi alla seguente procedura:

1- Collegare un ponticello su J3 per cortocircuitarlo. Questo pone il QCA4020 in EDL (Emergency Download Mode) che consente di scaricare un'immagine nel flash QCA4020.
2- Collegare un cavo Micro USB tra la porta USB dell'adattatore USB (HAT) e una porta USB su un PC Windows.

Apri Gestione dispositivi e vedrai Qualcomm DLoader enumerato su una porta seriale (ad esempio, COM40 in questo caso).

5G-HUB QCA4020 - Configurazione 12

3- Usa lo strumento basato su Python chiamato qflash.py (che è incluso nell'SDK QCA4020). Lo strumento consente di eseguire il flashing di immagini tramite USB. Lo strumento è disponibile nella seguente cartella:

destinazione\build\strumenti\flash

Se lo strumento viene richiamato senza parametri opzionali, esegue le seguenti operazioni:

a) Genera una tabella dei descrittori del firmware predefinita.
b) Genera una tabella delle partizioni predefinita.
c) Flash il default sampl'applicazione *.elfo files al flash qca4020.

Quando esegui questo strumento con -h parametro, ottieni quanto segue come in questo screenshot:

5G-HUB QCA4020 - Configurazione 13

4- Eseguire il comando seguente per eseguire il flashing dell'applicazione sul QCA4020

python qflash.py –comm_port 40 –app C:\QCA4020\SDK\qca4020-or-3-4_qca_oem_sdk-cdb-master-2e23b7b0933311a33dc090ed0f647de9b31d7954\target\quartz\demo\Helloworld_demo\build\g cc\output\Quartz_HASHED.elf

Noe l'immagine da flashare è la Quartz_HASHED.elfo.

Vedrai l'output come nella schermata seguente che indica che l'immagine è stata flashata correttamente su QCA4020.

5G-HUB QCA4020 - Configurazione 14

11 Eseguire il flashing dell'applicazione sul miniPCIe QCA4020 utilizzando JTAG

Puoi usare JTAG interfaccia sul miniPCIe QCA4020 per eseguire il flashing dell'immagine. Viene utilizzato un hardware SEGGER J-link per la connessione e l'interfaccia con JTAG.

Sul miniPCIe QCA4020, effettuare le seguenti operazioni

– Collegare J1 (PIN1 e PIN2). Questa forza JTAG modalità
– Collegare J3 (PIN1 e PIN2). Ciò consente a JTAG interfaccia

Nelle variabili di ambiente di Windows, aggiungi la seguente variabile di ambiente:

JLINK_PATH impostalo su J-link GDB server eseguibile file (per esempio, C:\Program Files (x86)\SEGGER\JLink)
PERCORSO_CLIENTE impostalo su strumenti ARM GNU (ad es. C:\Program Files (x86)\GNU Arm Embedded Toolchain\10 2020-q4-major\bin)

Usando Eclipse IDE, vai a Esegui->Strumenti esterni->Configurazioni strumenti esterni e aggiungi una nuova configurazione. Indica il flash.bat file nell'SDK che viene utilizzato per configurare e avviare il server GDB. Clic Fare domanda a poi Correre.

5G-HUB QCA4020 - Configurazione 15

Vedrai lo screenshot seguente e ti verrà chiesto di selezionare il dispositivo o il core. Scegliere Corteccia-M4. Fare clic OK.

5G-HUB QCA4020 - Configurazione 16

Eclipse inizierà a eseguire il flashing dell'immagine sul miniPCIe QCA4020 su JTAG. Vedrai lo screenshot seguente.

5G-HUB QCA4020 - Configurazione 17

Quando il lampeggio è completato. Vedrai la seguente schermata con l'output:

Operazione Flash completata con successo...
Arresto del server GDB….
SUCCESSO: il processo con PID 23756 è stato terminato.

5G-HUB QCA4020 - Configurazione 18

Dopo aver terminato il flashing dell'immagine, assicurati di rimuovere J1 e J3 su QCA4020 miniPCIe per uscire da JTAG modalità.

12 Collegamento del QCA4020 al terminale seriale tramite UART

È possibile utilizzare il miniPCIe QCA4020 quando montato su adattatore USB (HAT) con qualsiasi dispositivo dotato di interfaccia UART (Tx/Rx) come una scheda Raspberry PI, una scheda Arduino o qualsiasi altra scheda hardware, con interfaccia UART.

È inoltre possibile utilizzare e collegare l'adattatore miniPCIe/USB (HAT) QCA4020 a una porta USB del computer tramite un cavo da USB a UART. Puoi usare un cavo come questo:
Cavo seriale USB TO UART TTL (fili) (PL2303HX) Programmatore MCP00102W Arduino compatibile nel bazar di Elecrow!

Tale cavo ha quattro fili colorati come segue:

Rosso: +5V
HUB 5G QCA4020 - Bianco: Tx
Verde: Rx
Nero: GND

Collegare il Bianco cavo a UART_TX E Verde cavo a UART_RX. Collegare anche il Nero cavo al Terra).

Come nell'immagine qui sotto, connetti UART_TX su SJ2 (PIN2) E UART_RX su SJ1 (PIN2).

5G-HUB QCA4020 - collegare 1

Assicurati che quando colleghi il cavo da USB a UART, venga visualizzato correttamente in Gestione dispositivi di Windows e tutto il suo driver sia installato come in questa schermata.

5G-HUB QCA4020 - Configurazione 19

13 Utilizzo del terminale seriale

Si consiglia di utilizzare lo strumento Tera Term come terminale seriale. Puoi scaricarlo da qui:

https://osdn.net/projects/ttssh2/downloads/54081/teraterm-4.72.exe/

Avvia Tera Terminal e seleziona il Seriale opzione e selezionare da USB a porta seriale.

5G-HUB QCA4020 - Configurazione 20

In Tera Termine, scegli Configurazione->Porta seriale e configurare le porte seriali in base a quanto segue:

5G-HUB QCA4020 - Configurazione 21

E ora sei pronto per vedere l'output dell'applicazione "hello World" sul monitor seriale.

5G-HUB QCA4020 - Configurazione 22

Se stai usando JTAG per flashare l'immagine sul miniPCIe QCA4020, vedrai il seguente output sul terminale Tera

5G-HUB QCA4020 - Configurazione 23

14 Applicazione demo QCLI

L'applicazione demo CLI è una demo completa che fornisce un meccanismo per dimostrare tutte le caratteristiche e le tecnologie supportate da QCA4020 miniPCIe. Fornisce inoltre l'implementazione di riferimento e l'utilizzo delle QAPI rivolte ai clienti.

L'applicazione QCLI-demo è disponibile con l'SDK QCA4020 ed è possibile seguire gli stessi passaggi descritti in precedenza in Eclipse per compilarla e eseguirne il flashing su QCA4020 miniPCIe. Una volta eseguito il flashing, puoi vedere l'output sul terminale seriale come nello screenshot qui sotto. Inoltre, puoi esercitarti connettendoti alla rete WLAN di casa/ufficio

5G-HUB QCA4020 - Configurazione 24

La schermata seguente mostra come connettersi a un punto di accesso WLAN.

5G-HUB QCA4020 - Configurazione 25

MiniPCIe QCA4020                      Copyright © 5GHUB.IT

Documenti / Risorse

5G-HUB QCA4020 Wi-Fi multimodale dual band Bluetooth Zigbee [pdf] Istruzioni
QCA4020, Zigbee Bluetooth Wi-Fi Dual Band multimodale, Zigbee Bluetooth Wi-Fi Dual Band, Zigbee Bluetooth Wi-Fi, QCA4020, Zigbee Bluetooth

Riferimenti

Lascia un commento

Il tuo indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *