rev 0 : 17/02/2020
rev1 : 15/01/2021

Test Curiosity PIC18F47Q10
* Présentation
*
Premier Test : UART2 (via USB) et ADC (2020)


Test BASE PIC18F27Q10
* Carte Hardware BASE 18F27Q10
* Test 1 (2021)









Présentation carte CURIOSITY PIC18F47Q10:
Liens :
https://www.microchip.com/Developmenttools/ProductDetails/DM182029

achetée en péeriode promotionelle pour 13,50€ HT .. 17,60 € TTC livrée

images/t_Curiosity_18F47Q10_photo.gif images/t_PIC18F47Q10_Curiosity_Nano_Pinout.gif

Photo

Pin out carte

On utilisera VTarget = 3,3V pour les Pull UP ou autres ..

PIC18F47Q10 Curiosity Nano Schematic (pdf)

extraits schémas :

images/t_Curiosity_18F47Q10_Powe_supply_from_USB.gif images/t_Curiosity_18F47Q10_schema.gif

Tensions elaborées à partir du 5V USB

Liaisons MCU 18F47Q10



MikroC NE SUPPORTE PAS CE PIC !
ni NECTO STUDIO d'ailleurs !
donc obligation de passer par MPLABX et XC8
For Heureusement il y a MCC configurator , un excellent outil


1er TEST : UART2 et ADC

Je suis parti d'un exemple fournit par Microchip , ici
https://mplabxpress.microchip.com/mplabcloud/example/details/828

Traduction :

"Hello World " via une liaison serie ..donc via UART
Envoi et reception d'information via une liaison CDC sur la plupart des cartes curiosity avec un emulateur Terminal
Recuperer le programme " Hello World Serially.zip "
Le peripherique EUSART du PIC18F47Q10 connectés sur les Pins RD1=TX et RD0=RX
opère comme un (device) peripherique USB CDC pour transformer le message EUSART serie, en protocol USB vers un Port Virtuel PC
L'exemple montre comment faire une liaision unidirectionnelle (Half Duplex)
La carte Curiosity envoie systematiquement un message ascii sur le terminal PC


Procedure :

Lancer MPLABX
aller sur Fichier -> New Project
Selectionner Microchip Embedded -> Standalone Project
Entrer le modele de votre PIC, qui est donc PIC18F47Q10
Donner un nom au projet :
2) Ouvrir MPLABX Configurator (MCC) vers Tools -> embedded -> MPLAB Xpress Configurator
commencer par SYSTEM Module
Selectionner "Oscillator Set" choix sur "HF Internal clock " et "32 MHz"
select "clock divisor" -> 1
dans le menu "Device Ressources"
Rajouter le preipherique "EUSART" -> choix EUSART2
Modifier la config (Settings)

valider les cases EUSART,
Baud Rate -> 19200 che
Transmit
8 bits
Redirection STDIO sur USART
Configurations des Pins utilisées par EUSART2

EUSART2 -> RD1 -> to RX2 et RD0 to >TX2
Cliquez sur GENERATE (à coté du menu Project Ressources"

MPLAB genere alors les fichiers main.c et ceux dans le directory mcc.h et mcc.c
On retouve donc le fichier principal main.c
qu'on ouvre via un double click

nota : en amont du main
Systeme_Initalize() ; fait tout le boulot d'initialisation hardware et initialisation des peripheriques!
une simple procedure d'envoi d'un message se trouve dans la boucle principale du main programme
printf("\nHello from Q10 curiosity!"); delay_ms(500);

Compiler le programme
Cliquer sur l'icone Chargement
La carte comprend le Programmateur incorporé .. pas de pickit à rajouter .

à noter :
La sortie physique (pins ) EUART2 n'est pas utilisée, car passe via la liaison USB comme port virtuel
Usage de USB communications device class (or USB CDC class) is a composite Universal Serial Bus device class.
Cette classe peut etre utilisée dans un environnement industriel telle que machine C.N.C
set aussi à mettre à jour de vieux equipement basé sur une COM RS232 . Le composant USB apparait alors
comme un traditionnel PORT RS232 ..mais VIRTUEL . compatible avec les software gérant un port COM.
( Terminal, appli Visual Basic ..PIC UART ..etc ...)
Les fabricants de Puces (Devices) electroniques tel que Prolific Technology, FTDI, Microchip, Atmel
en propose ppour faciluter le developpemnt d'application USB-RS232.



1er test : Curiosity_18F47Q10_Uart_2020-01.zip
main source : main.c
chargeur : _18F47Q10_Curiosity_EUsart2_ADC.X.production.hex
Affectation des Pins via MCC
MyConfig_18F47Q10.mc3

ATTENTION à bien choisir le bon boitier MCU


Configurer un terminal PC quelconque :

Exemple avec Terminal YAT
COM 27 virtuel -> Curiosity Virtual COM Port
OK .. mais avec DTR forcé (Vert)

ou avec un outil MPLAB , sans lancer MPLABX
mplab-data-visualizer-standalone(windows).1.0.675.exe
ou via l'outil intégré dans MPLAB X_IDE
UART via USB communications device class (or USB CDC class)

pour mon test j'ai rajouté :
le clignotement de la led existante sur la carte (RE2)
Le BP sur RE0 sert à faire un RESET pour sortir de la boucle principale et recommencer!
le test en reception UART
Lecture entree ANA RA2
et le bus I2C pour y connecter plus tard ...un LCD OLED mini 128x32

SOFTWARE :

dossier de stockage du projet :
C:\MPLABX_Projects\_18F47Q10_Curiosity_EUsart2_ADC.X
enregistrement " Simple Serial Terminal "
COM35 sur cable Prolific TTL/USB , 19200,8,N,1
avec ....TX2 (fil blanc du cable prolific) sur RD0 ......et noir sur Gnd..

Fichier de capture : mchpterm-capture_2020_1114.txt

Projet MPLABX : Curiosity_18F47Q10_Uart
Compilation le Nov 14 2020 a 15:44:35 UTC
avec version XC8 : 2100
MPLABX IDE V5.30 XC8
Test sur carte Curiosity 18F47Q10
UART2 TX sur RD0 19200,8,N,1
Hello Chaps, are you fine ?
Lecture EA2:
0 ADC EAN2= 557
1 ADC EAN2= 18
2 ADC EAN2= 18
3 ADC EAN2= 18
4 ADC EAN2= 290
5 ADC EAN2= 637
6 ADC EAN2= 917
7 ADC EAN2= 991
8 ADC EAN2= 991
9 ADC EAN2= 992
10 ADC EAN2= 991
11 ADC EAN2= 992

Rappel :
Pour sauvegarder TOUT le projet,
se mettre sur l'icone du projet :
click droit
package

le deploiement du projet

La Fenetre Output montre :
Packaged project in C:\MPLABX_Projects\_18F47Q10_Curiosity_EUsart2_ADC.X\Curiosity_18F47Q10_Uart.zip
renomé en Curiosity_18F47Q10_Uart_2020_11.zip (pour la date fraicheur !)
Souce principal : main.c



2) TEST Filtrage / moyennage ADC
La gestion de l'ADC en mode Moyennage ou Glissant et via Interrupt
ou via DMA !!! est assez nébuleuse pour moi.
=> .A suivre

3) TEST NCO


4) TEST xx



Carte BASE 18F27Q10

le meme circuit imprimé que Base 18F26K22 ou 18F27K42

images/t_BASE_18F27Q10.gif


images/t_Pickit4_18F27Q10.gif


1er TEST (18F27Q10 en PDIP 28)


details à suivre..


Projet MPLABX XC8

P18F27Q10_tests_UART1_ADC_I2C_SPI_X.zip
File List : Liste_Base_18F27Q10_Tests_UART1_ADC12_I2C_SPI.X_2021.txt
chargeur: P18F27Q10_tests_UART1_ADC_I2C_SPI.X.production.hex






../common/mylogo_CI.jpg