conversion numerique/resistance

tions

qu'est-ce que cela vient faire dans l'histoire ?

quel probl=E8me ? mon syst=E8me est fonctionnel et d=E9ploy=E9, fonctionne sans souci depuis plusieurs ann=E9es.

code,

je ne voudrais pas dire, mais heuh... pour faire varier de 2% la vitesse de l'osc interne d'un PIC, faut y aller dur. La plus grosse variation est d=FBe =E0 la fabrication, ensuite la temp=E9rature et la tension d'alim du PIC sont tr=E8s stables.=

Encore un =E9pouvantail agit=E9 alors qu'il n'y a pas d'oiseaux...

J'ai pu /mesurer/ des fr=E9quences de plus de 300KHz en sortie, soit *plus* de 600K occurences par secondes. =E7a m'int=E9resse de vous voir faire cela en IRQ avec juste 2 MIPS.

fois

le PIC16F818 est limit=E9 (selon le datasheet) =E0 20MHz (bien que dans certains cas on puisse aller facilement plus haut). Mais 20MHz donne 5 MIPS, et 5/2 =3D 2,5, ce n'est pas un rapport de 10.

rce. quel probl=E8me ? la fonction est remplie, la performance est atteinte et le budget a =E9t=E9= respect=E9.

j'ai =E9t=E9 probablement trop =E9vasif et/ou trop fatigu=E9 ce qui a con= fusionn=E9 mes propos. J'aurais d=FB =E9crire : "l=E0, avec les PIC, c'est la mis=E8re". Evidemment, un DSP par exemple, =E7a ne n=E9cessite que qqs cycles pour vider son pipeline, tout en chargeant les nouvelles instructions, et le changement de contexte est imm=E9diat. Pas besoin de le faire =E0 l= a main...

Mais s=E9rieusement, vu le prix de certains FPGA (et la disponibilit=E9 d= e

formatting link
emid=3D26 en volumes =E0 prix assez int=E9ressants) je ne vois pas pourquoi je me f= erais encore **ier =E0 faire du bitbang optimis=E9 en assembleur sur une archi bien trop limit=E9e...

_o/

yg l'=E9ternel incompris

--=20

formatting link
/
formatting link

Reply to
whygee
Loading thread data ...

Jean-Christophe se fendait de cette prose :

Il a pourtant écrit une excellente tétralogie du nom de Ring.

--
LeLapin
Reply to
LeLapin

Mathieu Chouquet-Stringer se fendait de cette prose :

Von Neuman écrivait des opéras ?

--
LeLapin
Reply to
LeLapin

On Jul 21, 2:33 pm, whygee

e.

T'as raison : c'est toi qui utilises un uC sous-dimensionne et pretend que les IT sont inutilisables, mais c'est moi qui trolle. Ca me gave, je laisse tomber.

Reply to
Jean-Christophe

fusionn=E9 mes

[...]

La phrase pouvait en fait =EAtre comprise de 2 fa=E7ons diff=E9rentes ( et oppos=E9es ).

--

-Stan

Reply to
Stan

confusionn=E9 mes

et oppos=E9es ).

"Je ne trollerai plus quand je suis trop fatigu=E9 pour me relire avant d= 'envoyer un post sur f.s.e" Ctrl+C, Ctrl+V * 100

yg, belles promesses en stock =E0 prix d=E9risoire

--=20

formatting link
/
formatting link

Reply to
whygee

uste.

faut pas non plus tout prendre personnellement non plus :-/

note : dans le cas que j'ai d=E9crit, le PIC16F818 =E9tait correctement dimensionn=E9. La preuve : il remplit la fonction demand=E9e avec juste le niveau de performance n=E9cessaire. Ensuite, si la technique de codage est gruik, j'assume, mais je l'ai fait parce que

1) je peux garantir son fonctionnement par analyse statique du code sourc= e. 2) une IRQ aurait =E9t=E9 beaucoup trop lente (nombres =E0 l'appui). utiliser un CPU au syst=E8me d'IRQ pourri avec une fr=E9quence plus= importante est peut-=EAtre une solution satisfaisante pour faire un proto rapi= dement mais si les IRQ (des PICs) sont mal foutues, pourquoi s'emb=EAter a= vec, alors que le PIC se tourne les pouces 99% du temps =E0 attendre des= ordres ? 3) l'=E9talement du spectre par impulsions espac=E9es pseudo-al=E9atoirem= ent est une propri=E9t=E9 bienvenue dans ce cas. Ensuite, c'est vrai que je me suis pris la t=EAte mais c'est pas =E7a qui a =E9t=E9 le plus difficile dans le projet. C'est ce p****n de module Rabbit aux broches allou=E9es al=E9atoirement et incompatibles avec les signaux 5V, =E7a a explos=E9 la complexit=E9 de= s protocoles. Heureusement aujourd'hui j'ai plus de cordes =E0 mon arc et je n'ai plus =E0 compter sur ma capacit=E9 =E0 r=E9soudre les probl=E8= mes de la mani=E8re brute :-)

J'ai aussi appris que pour des applications de luminaires =E0 LED de puissance, quand la constante de temps du filtre de sortie de l'alim est inf=E9rieure =E0 50ms, il faut une r=E9solution de PWM d'au moins 12 bits et changer de pas tous les 5ms, sinon l'oeil voit des sauts. Libre =E0 qui veut de croire que c'est un bug dans mon "saupoudrage de macros", je peux brancher un oscillo pour montrer que =E7a fonctionne correctement.

En tout cas, ce qui est fait est fait et chacun en tire ses conclusion. Je voulais juste partager mon exp=E9rience et raconter ce qui peut fonctionner et ce qui se passe mal en pratique. _o/ yg

--=20

formatting link
/
formatting link

Reply to
whygee

whygee se fendait de cette prose :

Il est vrai que le polling est très efficace quand on n'a que peu d'évènements à surveiller et que le code qui les traite est assez court pour qu'on soit certain d'être ressorti du code de l'évènement 1 avant que l'évènement 2 ne disparaisse.

Mais quand une grande quantité d'évènements, au code assez long mais priorisables, est l'environnement d'une machine l'interruption redevient la bonne solution.

--
LeLapin
Reply to
LeLapin

=============== C'est la misére pour ceux qui ne les ont jamais utilisés (sérieusement) ou même qui n'ont jamais maitrisé "aucun" µC

Reply to
Pierre_Edouard

On Jul 21, 8:07 pm, "Pierre_Edouard"

Alors que toi, tu est un pro ?

Reply to
Jean-Christophe

court=20

avant=20

effectivement, dans le cas que je d=E9cris, le PIC ne fait qu'attendre des ordres et la fin de comptage du timer.

ais=20

t=20

effectivement. J'ai d=E9j=E0 =E9crit un d=E9but de RTOS pour PIC16F mais par contre, on ne tourne plus vraiment =E0 500000 =E9v=E9nements/sec= onde plut=F4t environ 20000 =E0 18MHz, et =E7a d=E9pend du nombre de t=E2ches.= =2E. c'est un autre domaine.

Et vive les banques de registres multiples, qui =E9vitent de passer 50 ou 100 instructions pour changer de contexte !

yg

--=20

formatting link
/
formatting link

Reply to
whygee

je ne pense pas que cela contribue au SNR du groupe. On pourrait y aller plus doucement en d=E9battant de qu'est-ce qu'un uC, qu'est-ce que "maitriser", au bout de combien de temps/projets/programmes on "maitrise", si cela doit =EAtre sanctionn=E9 par un dipl=F4me, etc.

Ceci dit, je dois au moins reconnaitre que si l'archi des PIC est quasiment h=E9rit=E9e des limitations de cout/production/silicium des ann=E9es 80 (et encore), =E7a force =E0 r=E9soudre les probl=E8mes simples de mani=E8re plus originale et cr=E9ative. C'est une incitation ostensible au m=E9chant hack...

yg, carresseur de trolls dans le sens du poil

--=20

formatting link
/
formatting link

Reply to
whygee

whygee se fendait de cette prose :

Ca existe sur des PICs ça ?

--
LeLapin
Reply to
LeLapin

whygee se fendait de cette prose :

Fais-toi faire un custom ;)

--
LeLapin
Reply to
LeLapin

justement non... =============== Mais si cela existe bien évidemment (pic 18 xxx ... et plus )

Reply to
maioré

Il ne faut pas exagérer. On savait faire largement mieux. Voir par exemple le fabuleux 6809 (toujours en fabrication chez NTE). Ça, c'était un vrai µP 8/16 bits (même avec des vrais morceaux d'Unix dedans si on voulait s'en donner la peine).

JKB, qui marche dedans (avec les deux pieds)

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Reply to
JKB

ait

n

Je ne comprends pas tr=E8s bien cette histoire de morceaux d'Unix...

--

-Stan

Reply to
Stan

Le 22-07-2009, ? propos de Re: les terribles IRQ du PIC16F (was Re: conversion numerique/resistance), Stan ?crivait dans fr.sci.electronique :

J'ai fait des maquettes, il y a longtemps avec un 6809 qui tournait sous Unix (voir TSC UniFLEX) avec 2 Mo de mémoire. OS en ROM. C'était surtout pratique parce que ça me permettait de coder en Fortran directement, pour les virgules flottantes, c'était plus sympa ;-)

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Reply to
JKB

...

Bonjour,

J'utiliserais deux photor=E9sistances de m=EAmes carat=E9ristiques =E9clair= =E9es par la m=EAme led. Une photo r=E9sistance (A) cabl=E9e au luminaire, l'autr= e (B) mont=E9e en s=E9rie avec une r=E9sistance fixe R. Dans le principe, un montage =E0 ampli op permetrait de controler le courant =E0 envoyer dans la led avec comme contre r=E9action la tension aux bornes de R. Je n'ai pas fait le d=E9tail du calcul mais je suppose qu'on doit trouver que l'AO contr=F4le la valeur de B. Pour ce qui est de la conversion num=E9rique analogique de la tension =E0 la borne + de l'AO, c'est du classique, r=E9seau r=E9sistif, PWM filtr=E9e etc ... ce qu'il vous plaira. Voil=E0 pour l'id=E9e g=E9n=E9rale, je ne vais pas poster un message trop l= ong en d=E9taillant le reste, sauf si vous avez des questions.

Olivier

Reply to
Oleave

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.