Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Modérateur : Jérémy
SPI Hardware sur PIC18F27K42
- paulfjujo

Maître- Messages : 3279
- Âge : 75
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
merci..
au final
je vais peut etre me remettre à l'Asm ...comme Jadis , au bon vieux Temps (X=1980)
... et avant l'ASM il y avait l'hexadecimal, au clés calculateur T2000 ou Boot sur SOLAR16 65 , ou en Hexadecimal sur KIM 6502
et meme sur Apollo 6 ! APOLLO GUIDANCE COMPUTER
Le code source : https://github.com/chrislgarry/Apollo-11 1700pages en pdf
au final
je vais peut etre me remettre à l'Asm ...comme Jadis , au bon vieux Temps (X=1980)
... et avant l'ASM il y avait l'hexadecimal, au clés calculateur T2000 ou Boot sur SOLAR16 65 , ou en Hexadecimal sur KIM 6502
et meme sur Apollo 6 ! APOLLO GUIDANCE COMPUTER
Le code source : https://github.com/chrislgarry/Apollo-11 1700pages en pdf
SPI Hardware sur PIC18F27K42
Bonjour paulfjujo, et tout le forum,
J'ai fait une vidéo sur l'envoi de 3 images par l'usart, pour que tu voies la rapidité que je peux avoir ICI
Actuellement, il est inutile de dépasser 500000 Bauds tant que la vitesse SPI n'augmentera pas. Il serait préférable de faire appel à un Pic18F27K42.
qui je crois a un SPI beaucoup plus rapide que mon Pic
Dans les années 1980, je croyais tout savoir. Maintenant, je sais que je ne sais rien..
A+
J'ai fait une vidéo sur l'envoi de 3 images par l'usart, pour que tu voies la rapidité que je peux avoir ICI
Actuellement, il est inutile de dépasser 500000 Bauds tant que la vitesse SPI n'augmentera pas. Il serait préférable de faire appel à un Pic18F27K42.
qui je crois a un SPI beaucoup plus rapide que mon Pic
paulfjujo a écrit :Source du message je vais peut etre me remettre à l'Asm ...comme Jadis , au bon vieux Temps (X=1980)
Dans les années 1980, je croyais tout savoir. Maintenant, je sais que je ne sais rien..
SPI Hardware sur PIC18F27K42
- paulfjujo

Maître- Messages : 3279
- Âge : 75
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonsoir,
J'ai quelques test qui montre que sur mon appli XC8
la vitesse SPI n'a pas beaucoup de poids ,par rapport au reste ..
avec BAUD=15 2MHz
UART 460200
image en zone flash
DrawImageRGB(60,60,Image_128x160,120,160);
Affichage Image 128x160 en 299586 uS soit 0.300 sec.
envoi YAT
Fin de lecture Image_128x160_16b.bmp (41Ko)
Recu 20480 pixels RGB565
Test chargement BMP: 8666458 uS soit 8.666 sec.
avec BAUD=3
---------------------
avec BAUD=3 8MHz
image en zone flash
DrawImageRGB(60,60,Image_128x160,120,160);
Affichage Image 128x160 en 176668 uS soit 0.177 sec.
envoi YAT
Fin de lecture Image_128x160_16b.bmp
Recu 20480 pixels RGB565
Test chargement BMP: 8889950 uS soit 8.890 sec.
---------------------------------
avec BAUD=1 16MHz
DrawImageRGB(60,60,Image_128x160,120,160);
Affichage Image 128x160 en 156184 uS soit 0.156 sec.
envoi YAT
Fin de lecture Image_128x160_16b.bmp
Recu 20480 pixels RGB565
Test chargement BMP: 8895424 uS soit 8.895 sec.
la boucle do while, vide , uniquement avec k++;
prend 230µS
A quoi sert un SPI à 16 ou 32 MHz et un UART à 460200 bds !
du fait que YAT affiche le contenu des datas envoyées .
.quid du debit moyen reel ?
voir post #28 et 29
mon analyser SQA a 50MHz n'est pas assez rapide pour SPI 32MHz ...
J'ai quelques test qui montre que sur mon appli XC8
la vitesse SPI n'a pas beaucoup de poids ,par rapport au reste ..
avec BAUD=15 2MHz
UART 460200
image en zone flash
DrawImageRGB(60,60,Image_128x160,120,160);
Affichage Image 128x160 en 299586 uS soit 0.300 sec.
envoi YAT
Fin de lecture Image_128x160_16b.bmp (41Ko)
Recu 20480 pixels RGB565
Test chargement BMP: 8666458 uS soit 8.666 sec.
avec BAUD=3
---------------------
avec BAUD=3 8MHz
image en zone flash
DrawImageRGB(60,60,Image_128x160,120,160);
Affichage Image 128x160 en 176668 uS soit 0.177 sec.
envoi YAT
Fin de lecture Image_128x160_16b.bmp
Recu 20480 pixels RGB565
Test chargement BMP: 8889950 uS soit 8.890 sec.
---------------------------------
avec BAUD=1 16MHz
DrawImageRGB(60,60,Image_128x160,120,160);
Affichage Image 128x160 en 156184 uS soit 0.156 sec.
envoi YAT
Fin de lecture Image_128x160_16b.bmp
Recu 20480 pixels RGB565
Test chargement BMP: 8895424 uS soit 8.895 sec.
Code : Tout sélectionner
uint32_t Traite_lecture_fichier(void)
{
uint8_t cc;
uint16_t i,j,k,m;
uint32_t Lx;
CPrint(" envoi datas : Image_128x160_16b.bmp 41Ko\r\n");
// Image_120x160_16b.bmp
// Lx=(128*160)<<1; //40960
//Lx=40960;
m=40960;
SetWindow(40,40,168,200); // image de 128x160
INTCON0bits.GIE = 0;
PIE3bits.U1RXIE = 1;
START_SMT1 // lance chrono
DC_Oled = 1; //1= Donnee 0=Cde
k=0;
RTS_UART= 0; // autorise envoi
do
{
if(PIR3bits.U1RXIF==1)
{ cc= U1RXB;
SPI1TXB = cc;
__asm("NOP");
while (!PIR2bits.SPI1RXIF) { };
cc = SPI1RXB;
k++;
}
} while(k < m) ;
STOP_SMT1 // Stop chrono
CPrint(" Fin de lecture Image_128x160_16b.bmp\r\n");
Lx=m>>1;
return Lx;
}
la boucle do while, vide , uniquement avec k++;
prend 230µS
A quoi sert un SPI à 16 ou 32 MHz et un UART à 460200 bds !
du fait que YAT affiche le contenu des datas envoyées .
.quid du debit moyen reel ?
voir post #28 et 29
mon analyser SQA a 50MHz n'est pas assez rapide pour SPI 32MHz ...
SPI Hardware sur PIC18F27K42
Bonsoir,
Fait un essai avec le logiciel COM Port Toolkit 4.0 téléchargeable ICI malheureusement
il est en version trial.
Tu as des fichiers qui sont prêts à mettre dans ce terminal ICI (19 au total)
Tu régles ton Pic à une vitesse de 500000 bauds, tu fait de même avec le logiciel COM Port Toolkit 4.0 et tu envoies, et la tu vas voir la différence avec Yat
Si yat est lent c'est qu'il est mal conçu, mais bon il est gratuit et dépanne bien, dans mon programme fait en RapidQ je n'ai pas ce problème de rapidité. sur l'usart
Dans la vidéo qui est ICI, la première image que tu vois n'est pas envoyée par l'usart, elle est lue en mémoire programme puis affichée, les autres sont envoyés par l'usat, regarde bien il n’y a pas de différence.
A+
paulfjujo a écrit :Source du message A quoi sert un SPI à 16 ou 32 MHz et un UART à 460200 bds !
du fait que YAT affiche le contenu des datas envoyées .
.quid du debit moyen reel ?
voir post #28 et 29
Fait un essai avec le logiciel COM Port Toolkit 4.0 téléchargeable ICI malheureusement
Tu as des fichiers qui sont prêts à mettre dans ce terminal ICI (19 au total)
Tu régles ton Pic à une vitesse de 500000 bauds, tu fait de même avec le logiciel COM Port Toolkit 4.0 et tu envoies, et la tu vas voir la différence avec Yat
Si yat est lent c'est qu'il est mal conçu, mais bon il est gratuit et dépanne bien, dans mon programme fait en RapidQ je n'ai pas ce problème de rapidité. sur l'usart
Dans la vidéo qui est ICI, la première image que tu vois n'est pas envoyée par l'usart, elle est lue en mémoire programme puis affichée, les autres sont envoyés par l'usat, regarde bien il n’y a pas de différence.
SPI Hardware sur PIC18F27K42
- paulfjujo

Maître- Messages : 3279
- Âge : 75
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonjour à tous,
Effectivement YAT ne suit pas le debit proposé par la vitesse en baud ...
je pense surement à cause de l'affichage simultané de l'envoi de TOUTES les datas (40960 cars) sur l'ecran (et en ascii ..)
verifié avec COMPORT toolkit que tu as proposé
Installation ComPort Toolkit
https://com-port-toolkit.software.infor ... /download/
COM Port Toolkit download
Operate a terminal with logging and monitoring options
Version: 4.0.1.535 (x86/x64)
Date update: Mar 22, 2013
File name: compt40_setup.exe
Size: 1.4 MB
For windows 10, 11 32/64 bit Get Fast!
about:
COM PORT TOOLKIT
Michael Golikov 2001-2012
http://www.cmpt.ru
exception au lancement
Plantage WIN10
reboot
il faut le lancer en mode administrateur ..OK !
remarques :
pas de vitesse bauds intermediare, ni superieure à 250 000 bds.
pas de copy/paste possible de l'ecran
Test à 115200 bds
10:47:20.187 Demande d'envoi Fichier Image BMP.... Stop envoi YAT..Buffer :
10:47:22.183 .. Partie Entete BMP de 64 bytes..0> 0x00 0x42 0x4D 0x8A 0xA0 0x
10:47:22.189 00 0x00 ..1> 0x00 0x00 0x00 0x8A 0x00 0x00 0x00 ..2> 0x00 0x49 0
10:47:22.195 x6D 0x61 0x67 0x65 0x5F ..3> 0x32 0x38 0x78 0x31 0x36 0x30 0x5F
10:47:22.200 ..4> 0x00 0x00 0x00 0x00 0xA0 0x00 0x00 ..5> 0x1C 0x00 0x00 0x20
10:47:22.206 0x1C 0x00 0x00 ..6> 0x00 0x00 0x00 0x00 0x00 0x00 0x00 .. envoi
10:47:22.211 datas : Image_128x160_16b.bmp 41Ko.. Fin de lecture Image_12
10:47:25.823 8x160_16b.bmp.. Recu 20480 pixels RGB565.. Test chargement BMP:
10:47:25.836 3623450 uS soit 3.623 sec
modif vitesse UART pour 250000bds
11:31:05.003 ge_128x160,120,160);.. Affichage Image 128x160 en 299584 uS soi
11:31:05.308 t 0.300 sec....... Demande d'envoi Fichier Image BMP.... Stop en
11:31:10.872 voi YAT..Buffer : BMŠ .. Partie Entete BMP de 64 bytes..0> 0x42
11:31:10.875 0x4D 0x8A 0xA0 0x00 0x00 0x00 ..1> 0x00 0x00 0x8A 0x00 0x00 0x00
11:31:10.878 0x7C ..2> 0x49 0x6D 0x61 0x67 0x65 0x5F 0x31 ..3> 0x38 0x78 0x3
11:31:10.882 1 0x36 0x30 0x5F 0x03 ..4> 0x00 0x00 0x00 0xA0 0x00 0x00 0x20 ..
11:31:10.886 5> 0x00 0x00 0x20 0x1C 0x00 0x00 0x00 ..6> 0x00 0x00 0x00 0x00 0
11:31:10.890 x00 0x00 0x00 .. envoi datas : Image_128x160_16b.bmp 41Ko.. Des
11:31:10.893 activer la Requete BMP RA3 pour envoi des datas.. Fin de lectur
11:31:32.052 e Image_128x160_16b.bmp.. Recu 20480 pixels RGB565.. Test charg
11:31:32.062 ement BMP: 1649842 uS soit 1.650 sec..... ....
avec 100% en C , mais XC8 bridé !
je pense qu'avec MikroC on peut descendre en dessous de la seconde, mais
je vais en rester là ...
d'autant que ma finalité est d'utiliser une SD CARD...
Le SPI hardware ne doit pas aller plus vite que le bit bang
vu le temps MCU gaspillé pour simplement faire une boucle VIDE de 40960 increment => mesurée 230µS
combien en 100% ASM ?
Effectivement YAT ne suit pas le debit proposé par la vitesse en baud ...
je pense surement à cause de l'affichage simultané de l'envoi de TOUTES les datas (40960 cars) sur l'ecran (et en ascii ..)
verifié avec COMPORT toolkit que tu as proposé
Installation ComPort Toolkit
https://com-port-toolkit.software.infor ... /download/
COM Port Toolkit download
Operate a terminal with logging and monitoring options
Version: 4.0.1.535 (x86/x64)
Date update: Mar 22, 2013
File name: compt40_setup.exe
Size: 1.4 MB
For windows 10, 11 32/64 bit Get Fast!
about:
COM PORT TOOLKIT
Michael Golikov 2001-2012
http://www.cmpt.ru
exception au lancement
Plantage WIN10
reboot
il faut le lancer en mode administrateur ..OK !
remarques :
pas de vitesse bauds intermediare, ni superieure à 250 000 bds.
pas de copy/paste possible de l'ecran
Test à 115200 bds
10:47:20.187 Demande d'envoi Fichier Image BMP.... Stop envoi YAT..Buffer :
10:47:22.183 .. Partie Entete BMP de 64 bytes..0> 0x00 0x42 0x4D 0x8A 0xA0 0x
10:47:22.189 00 0x00 ..1> 0x00 0x00 0x00 0x8A 0x00 0x00 0x00 ..2> 0x00 0x49 0
10:47:22.195 x6D 0x61 0x67 0x65 0x5F ..3> 0x32 0x38 0x78 0x31 0x36 0x30 0x5F
10:47:22.200 ..4> 0x00 0x00 0x00 0x00 0xA0 0x00 0x00 ..5> 0x1C 0x00 0x00 0x20
10:47:22.206 0x1C 0x00 0x00 ..6> 0x00 0x00 0x00 0x00 0x00 0x00 0x00 .. envoi
10:47:22.211 datas : Image_128x160_16b.bmp 41Ko.. Fin de lecture Image_12
10:47:25.823 8x160_16b.bmp.. Recu 20480 pixels RGB565.. Test chargement BMP:
10:47:25.836 3623450 uS soit 3.623 sec
modif vitesse UART pour 250000bds
11:31:05.003 ge_128x160,120,160);.. Affichage Image 128x160 en 299584 uS soi
11:31:05.308 t 0.300 sec....... Demande d'envoi Fichier Image BMP.... Stop en
11:31:10.872 voi YAT..Buffer : BMŠ .. Partie Entete BMP de 64 bytes..0> 0x42
11:31:10.875 0x4D 0x8A 0xA0 0x00 0x00 0x00 ..1> 0x00 0x00 0x8A 0x00 0x00 0x00
11:31:10.878 0x7C ..2> 0x49 0x6D 0x61 0x67 0x65 0x5F 0x31 ..3> 0x38 0x78 0x3
11:31:10.882 1 0x36 0x30 0x5F 0x03 ..4> 0x00 0x00 0x00 0xA0 0x00 0x00 0x20 ..
11:31:10.886 5> 0x00 0x00 0x20 0x1C 0x00 0x00 0x00 ..6> 0x00 0x00 0x00 0x00 0
11:31:10.890 x00 0x00 0x00 .. envoi datas : Image_128x160_16b.bmp 41Ko.. Des
11:31:10.893 activer la Requete BMP RA3 pour envoi des datas.. Fin de lectur
11:31:32.052 e Image_128x160_16b.bmp.. Recu 20480 pixels RGB565.. Test charg
11:31:32.062 ement BMP: 1649842 uS soit 1.650 sec..... ....
avec 100% en C , mais XC8 bridé !
je pense qu'avec MikroC on peut descendre en dessous de la seconde, mais
je vais en rester là ...
Le SPI hardware ne doit pas aller plus vite que le bit bang
vu le temps MCU gaspillé pour simplement faire une boucle VIDE de 40960 increment => mesurée 230µS
combien en 100% ASM ?
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
SPI Hardware sur PIC18F27K42
Bonjour paulfjujo, et tout le forum,
Chez moi tout est possible, je suis magicien, tu peux la paramétrer manuellement, voir la capture d'écran qui est paramétrée à 500000 Bauds
Bien sûr que oui on peut descendre en dessous de la seconde, l'édute faite sur l'envoie d'un fichier image par l'usart ce n'est pas en vin.
et peut rendre service, pour celui qui ne peut pas stocker une image en mémoire programme par manque de place.
Je vais aussi me mettre sur le sujet, mais pour l'instant je finis mon programme RapidQ
A+
paulfjujo a écrit :Source du message emarques :
pas de vitesse bauds intermediare, ni superieure à 250 000 bds.
pas de copy/paste possible de l'ecran
paulfjujo a écrit :Source du message e pense qu'avec MikroC on peut descendre en dessous de la seconde, mais
je vais en rester là ...
Bien sûr que oui on peut descendre en dessous de la seconde, l'édute faite sur l'envoie d'un fichier image par l'usart ce n'est pas en vin.
et peut rendre service, pour celui qui ne peut pas stocker une image en mémoire programme par manque de place.
paulfjujo a écrit :Source du messaged'autant que ma finalité est d'utiliser une SD CARD...
Je vais aussi me mettre sur le sujet, mais pour l'instant je finis mon programme RapidQ
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
SPI Hardware sur PIC18F27K42
- paulfjujo

Maître- Messages : 3279
- Âge : 75
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
pour mes tests : image_128x160_16b.bmp
avec SPI HW à 2MHz
Chargement et Affichage image 128x160x stockée en FLASH ... 0.300 sec.
Delay de chargement et affichage simultané BMP 128x160x2
à 115 200bds .. soit 1.650 sec.
à 460 800 bds ....... 0 .919 sec.
à 500 000 bds. .. 0.850 sec
modif : SPI HW passé de 2 à 16 Mhz
Affichage Image stockée en Flash 128x160 en 0.156 sec.
Image_128x160_16b.bmp.. Recu 20480 pixels RGB565..Chargementet Affichage BMP en 0.851 sec....
SPI HWde 2MHz --> à SPI1BAUD=15 => 16Mhz
Chargement et Affichage image 128x160x stockée en FLASH ... 0.146 sec.
Delay de chargement et affichage simultané BMP 128x160x2
à 921 600 bauds ... 0.473 sec
record Battu même en C !
question : tu affiches directement ton BMP ou tu isoles l'entete prealablement ?
j'ai choisi de separer l'entete pour retrouver les infos dimensions et autres
.. en cours decodage et affichage entete fichier ...
ça va servir aussi pour l'option avec SDCARD.
avec SPI HW à 2MHz
Chargement et Affichage image 128x160x stockée en FLASH ... 0.300 sec.
Delay de chargement et affichage simultané BMP 128x160x2
à 115 200bds .. soit 1.650 sec.
à 460 800 bds ....... 0 .919 sec.
à 500 000 bds. .. 0.850 sec
modif : SPI HW passé de 2 à 16 Mhz
Affichage Image stockée en Flash 128x160 en 0.156 sec.
Image_128x160_16b.bmp.. Recu 20480 pixels RGB565..Chargementet Affichage BMP en 0.851 sec....
SPI HWde 2MHz --> à SPI1BAUD=15 => 16Mhz
Chargement et Affichage image 128x160x stockée en FLASH ... 0.146 sec.
Delay de chargement et affichage simultané BMP 128x160x2
à 921 600 bauds ... 0.473 sec
question : tu affiches directement ton BMP ou tu isoles l'entete prealablement ?
j'ai choisi de separer l'entete pour retrouver les infos dimensions et autres
.. en cours decodage et affichage entete fichier ...
ça va servir aussi pour l'option avec SDCARD.
SPI Hardware sur PIC18F27K42
paulfjujo a écrit :Source du message question : tu affiches directement ton BMP ou tu isoles l'entete prealablement ?
Excellente remarque que j'ai également prise en compte !! j'envoie pour l'instant juste les données, pour un écran de 128x160 qui est déjà préréglé dans le programme du Pic. Pas besoin de l'entête, car c'est le programme RapidQ qui gère n'importe quelle fichier image : Bmp, Dib, Jpg, Gif, Wmf, Emf, Tif, Tiff et qui les redimentionne selon les paramètres sélectionnés
Exemple pour un pixel : Le programme RapidQ examine le premier pixel, qui est en 24 bits, puis il le convertit en RGB666, RGB565, RGB444 selon demande, après cela Il est converti en format de notre choix hexadécimal, décimal, chaîne.....
Après, il reste plus qu'à créer un fichier hexadécimal, ou l'envoyer directement sur RS232
On se qui conserne la carte SD
Pour un dépôt de fichier BMP sur carte SD on sera obligé de savoir lire le BMP, et de plus de le convertir en RGB666, RGB565, RGB444 selon le choix.
Je vais voir si je peux écrire un programme ASM pour lecture et conversion RGB666, RGB565, RGB444 d'un fichier BMP
Sa sera plus facile à faire quand RapidQ, car dans ASM le AND logique est plus simple pour une conversion
Mon pic est paramétré pour cet écran 128 x 160, mais je vais prévoir dans mon programme RapidQ d'envoyer la taille sur 2 octets , la largeur sur 2 octets, La longueur sur 2 octets, la position largeur d'écriture sur 2 octets, la position longeur d'écriture sur 2 octets, au total 10 octets, ça me permettra d'afficher même une petite image où je veux sur l'écran.
Je ferai de même dans le fichier hexadécimal si option demandée.
paulfjujo a écrit :Source du message Delay de chargement et affichage simultané BMP 128x160x2
à 921 600 bauds ... 0.473 secrecord Battu même en C !
Je me vengerais en ASM !!
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités

