[developpement] logiciel simulateur de port //, modeles hard

microcontrôleurs, protocoles et autres

Moderatoren: dj_richu, Moderator (French Zone)

Antworten
Benutzeravatar
shrad
Beiträge: 4009
Registriert: Mi 28 Feb, 2007 12:59 pm
Do you already have Laser-Equipment?: http://www.rp-photonics.com/topics.html
Wohnort: Tournai, Belgium

[developpement] logiciel simulateur de port //, modeles hard

Beitrag von shrad » Sa 25 Aug, 2007 1:00 pm

salut a tous

je vous explique la raison de ce post et ce que je veux realiser

j'ai envie de m'investir dans la creation d'un systeme avec DAC, ampli de moteurs PAP et systeme de controle par PC

pour cela, je compte realiser un programme permettant de faire des simulations et des tests reels sur port //

je m'explique...

le programme que je veux developper permettrait un acces au port // permettant de gerer differents modeles de branchement (differents pinouts) avec un gestion de modeles informatiques permettant de visualiser virtuellement le resultat sur le port //, et comprendrait un espece de meta-language de commande pour realiser des operations simples sur la valeur des pattes du port //

en gros, je vais faire une gestion de differents profils materiels de port // (noms des signaux, direction des donnees, etc... configurables par l'utilisateur)

le programme permettra d'ecrire des routines simples (boucles, conditions, comptages, etc...) qui seront operees sur les pattes du port //

il sera possible soit de visualiser le comportement du port // sur un modele virtuel (simulation visuelle dans une fenetre graphique), soit de visualiser physiquement le comportement du port // sur un adaptateur materiel, un genre de platine d'experimentation permettant l'exploitation des simulations en meta-language

peut etre par la suite meme faire une simulation de DAC avec un moyen de calculer les differentes valeurs et les differents comportements

je voudrais vous consulter avant de me lancer dans ce developpement, pour que ce soit utile a tous

donc je vous demande si vous avez des idees, des critiques a faire, sur les fonctionnalites que vous pourriez avoir envie de trouver dans un tel programme, ainsi que sur la facon dont vous concevez vos developpements eventuels sur port //

au depart, je vais faire tout simplement un programme permettant de visualiser la sortie du port // physiquement sur des leds par exemple, ou dans une fenetre dans laquelle il y aura un port // virtuel tout en images animees... il y aura un petit language tout simple au debut du genre basic qui permettra de faire sortir des valeurs de 0 a 255 sur les pattes D0 a D7 du port, ainsi que differentes valeurs sur les pattes ACK, BSY, PAPER, etc... suivant des boucles et des comptages

ce serait bien que vous m'aidiez a mettre au point ce language, en fonction de vos besoins eventuels, de maniere a ce que ce soit utile au maximum d'entre vous

Benutzeravatar
tek-man
Beiträge: 2015
Registriert: Mo 10 Jan, 2005 8:31 pm
Do you already have Laser-Equipment?: QM2000 BASIC and QM2000 INTRO
LD2000 + LIVE PRO + BEYOND ess

>500mW RGB Mini Laser / DMX / ILDA
100mW 532nm / 100mW 473nm / 300mW 640nm

3.5W Full Color Laser
1250mW 532nm / 1150mW 445nm / 1100mW 640nm
Wohnort: Paris
Kontaktdaten:

Beitrag von tek-man » Sa 25 Aug, 2007 7:44 pm

Moi je ne peux que te conseiller de le faire sous linux (si tu connais le shell, je peux toujours t'aider) ou bien sous win95/98.
Car sous xp tu dois gerer une librairie dynamique DLL, mais tu auras aussi le risque d'interuption par l'OS, qui risque de modifier la reponse du programme sur le port //.
Avec Linux, une écriture dans le port se retrouve dans l'electronique, c'est tres rapide et fiable

Code: Alles auswählen

echo 255 > port//
Et voila toutes les pins sur 1, ainsi tu peux plancher plus sur le programme en lui même que sur le driver...[/code]
Bild

Benutzeravatar
fredza
Beiträge: 201
Registriert: Do 26 Jul, 2007 10:12 pm
Wohnort: Belgique, Liège

Beitrag von fredza » Sa 25 Aug, 2007 8:16 pm

Tek-Man hat geschrieben:Moi je ne peux que te conseiller de le faire sous linux (si tu connais le shell, je peux toujours t'aider) ou bien sous win95/98.
Car sous xp tu dois gerer une librairie dynamique DLL, mais tu auras aussi le risque d'interuption par l'OS, qui risque de modifier la reponse du programme sur le port //.
Avec Linux, une écriture dans le port se retrouve dans l'electronique, c'est tres rapide et fiable

Code: Alles auswählen

echo 255 > port//
Et voila toutes les pins sur 1, ainsi tu peux plancher plus sur le programme en lui même que sur le driver...[/code]
à partir de WinXP c'est la galère avec les ordinateurs peu puissant (même les plus puissants) car le risque d'interuption par l'OS est très grande.
Si tu veux développer sous Windows, quel language utiliseras tu ?

Frédéric

Benutzeravatar
tek-man
Beiträge: 2015
Registriert: Mo 10 Jan, 2005 8:31 pm
Do you already have Laser-Equipment?: QM2000 BASIC and QM2000 INTRO
LD2000 + LIVE PRO + BEYOND ess

>500mW RGB Mini Laser / DMX / ILDA
100mW 532nm / 100mW 473nm / 300mW 640nm

3.5W Full Color Laser
1250mW 532nm / 1150mW 445nm / 1100mW 640nm
Wohnort: Paris
Kontaktdaten:

Beitrag von tek-man » Sa 25 Aug, 2007 10:07 pm

désolé je dvpt pas sous windows, ou alors j'utilise des µp, donc en assembleur... Je ne peux pas t'aider la dessus.
Bild

hololab
Beiträge: 105
Registriert: Sa 04 Mär, 2006 6:01 pm
Wohnort: Oise (60)
Kontaktdaten:

Beitrag von hololab » Sa 25 Aug, 2007 11:58 pm

Petite expérience avec le port // sour win :
Il y a quelques années j'ai développé un soft de copie d'écran pour mon oscilloscope Tektronix à mémoire. Cet oscillo est vieux et ne dispose que d'une sortie Parallèle, par contre il peut être paramétré pour envoyer directement un fichier BMP sur son port imprimante.

J'ai fait un petit module à bascule RS pour ne pas rater d'info et j'ai connecté les deux ports parallèles ensemble.

Pour le soft sous Win XP, j'ai développé un bout de code (Delphi) qui charge la table d'autorisation I/O du kernel, mets à jour les données concernant le port parallèle et renvoie cette table modifiée. Ca évite d'avoir le message "Illegal I/O access" ou un autre message de ce genre dès qu'on essaie de lire ou d'écrire sur ce port.

Pour ne pas être géné par l'OS, j'ai longtemps cherché et j'ai trouvé sur le net une clé de registre à mettre à 0 et win ne cherche plus à se servir du port parallèle pour savoir si une vieille imprimante Epson ne serait pas connectée. De mémoire c'est une clé du genre DisableAutoPollPRN=1.

Reste que même en créant un thread prioritaire, on repasse toujours régulièrement dans le kernel, qu'on le veuille ou non (c'est pour ça que ma bascule RS garde en mémoire si une donnée n'aurait pas été placée par l'oscillo pendant que le kernel reprend la main). Je connais pas Linux, mais ça m'étonnerait qu'il n'y ait pas la même limitation. Je me souviens avoir eu les même pb sous unix avec un ordi qui s'appelait NeXT à l'époque quand j'avais développé une carte réseau pour bus de terrain FIP.

Donc faisable, mais pas pour du temps réel, pour cela il faut un OS réputé temps réel comme RTOS9 par exemple.

@+

Benutzeravatar
shrad
Beiträge: 4009
Registriert: Mi 28 Feb, 2007 12:59 pm
Do you already have Laser-Equipment?: http://www.rp-photonics.com/topics.html
Wohnort: Tournai, Belgium

Beitrag von shrad » So 26 Aug, 2007 11:48 am

pour ce qui est du controle du port // sous win95/98/nt/2000/XP pas de probleme j'ai un API qui permet de passer outre la couche d'abstraction materielle et de travailler directement en "physique"

sinon je peux developper moi meme un API en C qui permette de manipuler le port // en assembleur ou autres et d'utiliser les fonctions que j'aurai mises au point dans un language de plus haut niveau

sinon, je travaille en C# .NET 2.0 donc la seule limitation c'est win XP et framework 2.0 installe sur la machine

l'avantage c'est que ca peut etre porte sous linux assez facilement avec mono, mais on est toujours bloque par les specificites de windows XP qui ne se retrouvent pas sous linux

pour moi le principal avantage de developper sous .NET 2.0 et XP c'est la rapidite et la facilite de developpement, surtout que je commence a avoir une certaine experience professionnelle la dedans

donc ce dont j'ai besoin, c'est surtout d'idees pour que les fonctions proposees soient coherentes et utiles a tous, c-a-d comment utilisez vous le port // dans vos applications et quels sont les tests que vous voulez realiser dessus

Antworten

Zurück zu „Microcontrôleurs et autres“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste