Scicos Block
eng - fr


Charge Pump block

\epsfig{file=CHARGEPUMP_f.eps,width=90.00pt}

Contents


Palette

Description

This block realizes the function of an ideal discret charge pump.

\begin{figure}\centering
\scalebox{0.7}{%
\input{chargepump.pstex_t}}
\end{figure}
Figure : Ideal charge pump circuit

The two regular inputs are boolean (0 or 1) vectors of the command of the two current sources. The regular output computes :

$\displaystyle i_{cp}(k)\,=\,\left[up(k)+down(k)\right]*I_{o}+I_{leak}
$

where $ i_{cp}(k)$ is the charge pump output, $ up(k)$ and $ down(k)$ are the logical level of charge pump inputs, $ I_{o}$ the constant output current and $ I_{leak}$ a constant leakage current.

Dialog box

\begin{figure}\begin{center}
\epsfig{file=CHARGEPUMP_f_gui.eps,width=300pt}
\end{center}\end{figure}

Default properties

Interfacing function

CHARGEPUMP_f.sci

Computational function (type 4)


/* pompecharge Scicos Charge Pump block
 * Type 4 simulation function ver 1.0 - scilab-3.0
 * 9 octobre 2003 - IRCOM GROUP - Author : A.Layec
 * 10 janvier 2005 : passage type 4
 *                   rajout du bruit sur le courant de fuite
 */
 
/* REVISION HISTORY :
 * $Log$
 */
 
#include "machine.h"
#include "scicos_block.h"
#include <math.h>
#include <stdio.h>
#include <stdlib.h>  /*pour RAND_MAX*/

/* Cette fonction de simulation réalise l'opération d'une pompe de charge
 *
 * entrées régulières : u[0..nu-1] : Vecteur des Signaux discrets Up(t)  
 *                      u[nu..2nu-1] : Vecteur des signaux discrets Down(t)
 * sortie régulière : y[0..nu] : Vecteur des signaux discrets Icp(t)
 * 
 * entrées d'événements : nev=0 à la rigueur (Ref(t) union Div(t))
 *                       sinon néant (héritage)
 * 
 * sorties d'évènement : néant
 * paramètres  entiers : outsz[0] : taille des vecteurs (nu)
 *                       ipar[0]  : 0=pas de bruit sur le courant de fuite
 *                                  1=fuite constante 
 *                                  2=bruit normal sur le courant de fuite
 * paramètres réels   : rpar[0..nu-1]      : courant max de la pompe de charge
 *                      rpar[nu..2nu-1]    : courant de fuite moyen de la pompe de charge
 *                      rpar[2*nu..3*nu-1] : deviation du courant de fuite (si ipar[0]=1)
 */

/*prototype*/
void pompecharge(scicos_block *block,int flag)
{
 /*déclaration*/
 double *y;
 double *up,*down;
 int nu;
 int typ_leak;
 double *Io,*Ileak_d,*Ileak_m;
 /*fprintf(stderr,"flag=%d\n",flag);*/
 /*Récupération de l'adresse des ports d'entrée et de sortie*/
 y=(double *)block->outptr[0]; 
 up=(double *)block->inptr[0];
 down=(double *)block->inptr[1];
 
 /*Stock taille de la sortie dans nu*/
 nu=block->outsz[0];
 
 /*Récupération des paramètres*/
 typ_leak=block->ipar[0];
 Io=&block->rpar[0];
 Ileak_m=&block->rpar[nu];
 Ileak_d=&block->rpar[2*nu];
 
 /*Appel chargepump_c*/
 chargepump_c(&nu,&up[0],&down[0],&Io[0],&typ_leak,&Ileak_m[0],&Ileak_d[0],&y[0]);
}

See also

Authors

IRCOM Group Alan Layec

Bibliography

1
L. O. Chua and T. Lin, ''Chaos in digital filters'', IEEE Trans. Circuits And Systems, Vol. 35, N°6, pp 648-658, June 1988.