Rabbit Semiconductor RCM3200

Choix de conception

Rabbit Semiconductor RCM3200. Lorsque vous êtes prêt à commencer à concevoir un système embarqué pour le réseau, vous aurez besoin pour prendre des décisions au sujet du matériel périphérique et le code de programmation qui contrôle le matériel. À un extrême, vous pouvez tout faire vous-même, l'interfaçage d'une puce contrôleur Ethernet à un processeur et de l'écriture de code pour appuyer les communications Ethernet et les protocoles Internet, le périphérique utilise. Ou vous pouvez sauver beaucoup de temps en commençant par un module qui contient une CPU interface Ethernet, et un support logiciel pour les communications Ethernet et les protocoles Internet. Ou vous pouvez choisir une voie moyenne, comme l'utilisation d'une bibliothèque fournie de logiciels, mais la conception de vos propres circuits. Cette mise en réseau tutoriel commence par l'introduction d'une dégustation des produits disponibles pour la mise en réseau des systèmes embarqués. Si vous sélectionnez définitive, un des produits décrits, en examinant les options peuvent aider à déterminer la façon d'aborder un projet. Chaque ordinateur dans un réseau Ethernet doivent avoir un contrôleur Ethernet, et il ya des choix ici aussi. Cette mise en réseau didacticiel discussion en profondeur décrit les capacités et le fonctionnement de contrôleurs populaires Ethernet.

Sélection des composants

  

Comme pour tout projet, la familiarité peut faire une grande différence dans la façon dont il est facile d'obtenir quelque chose qui fonctionne. Sur le plan logiciel, les deux langages C et Java sont des langages de programmation populaire pour les systèmes intégrés en réseau. Si vous avez une expérience dans l'une de ces langues, il est logique de s'en tenir avec elle. Sur le plan matériel, si vous avez une expérience avec une famille en particulier du processeur, il est souvent judicieux de rester avec elle si possible aussi. Dans le même temps, s'il ya un produit qui s'adapte parfaitement votre but, mais prendra un certain temps à maîtriser, elle mai être intéressant de creuser et d'apprendre quelque chose de nouveau, surtout si vous pouvez utiliser ces connaissances dans des projets supplémentaires dans le futur. Cette livre n'a pas de place pour décrire toutes les possibilités, et de nouveaux produits et mises à jour en permanence sont disponibles. Pour les liens vers les dernières informations concernant les produits décrits et d'autres, visitez Lakeview Research embarqué Page Ethernet à www.Lvr.com.

Solutions complètes

Rabbit Semiconductor RCM3200

En bref: Un fast-Z80 CPU dérivé avec beaucoup d'I / O, une faible bande passante, d'un système de développement complet, y compris un compilateur C. Support Ethernet: 10BASE-T et 100BASE-TX. Source: Rabbit Semiconductor (www.rabbitsemiconductor .) com. Matériel. Le RCM3200 RabbitCore C-Module programmable avec Ethernet (Réseau de l'article 3-1) est un circuit qui contient Rabbit Rabbit Semiconductor's 3000 microprocesseur, ce qui est nettement améliorée et renforcée dérivé du Texas Instruments, Inc microprocesseur Z80 vénérable. Le circuit est plus petit qu'une carte de visite et prend en charge une variété d'interfaces E / S. Le microprocesseur Rabbit 3000, a sept 8-bit I / O ports. Beaucoup de bits peuvent avoir des fonctions spéciales, y compris six ports série pour les communications asynchrones et synchrones et Infrared Data Association (IrDA), des protocoles, un port parallèle bi-directionnelle, deux entrées de capture chaînes, quatre pulse-width modulation (PWM) sorties, et deux unités de quadrature décodeur avec des entrées pour les modules codeur optique incrémental. En plus des ports I / O, il ya un bus mémoire externe avec 8 bits de données et 20 lignes d'adresse. L'alimentation peut varier de 3,6 V à aussi basse que 1,8 V. Un compteur qui fonctionne comme une horloge en temps réel a une broche d'alimentation séparée pour le rendre facile de fournir une batterie de secours. La puce est disponible dans une 128-pin LQFP (low profile quad flat pack) ou 128-ball TFBGA (fine-fine profil-array balle pitch de la grille) colis.

Un système de mai utilisation multitâche coopératif ou préemptif. En multitâche coopératif, les tâches doivent accepter de coopérer à ne pas utiliser plus que leur part de temps processeur. Dynamic C réalise multitâche coopératif par le biais de l'utilisation de costatements et cofunctions. Un costatement est une liste de déclarations avec un pointeur qui garde la trace des instruction à exécuter suivant. Un costatement généralement des fonctions comme une seule instruction dans une liste d'instructions qui s'exécutent dans la séquence en boucle. Dans un costatement, une déclaration de contrôle waitfor pouvez tester pour savoir si une fonction a terminé ou un délai d'attente s'est produite. Si les rendements waitfor vrai, le costatement poursuit avec l'instruction suivante dans la liste. Si les rendements waitfor faux, le costatement sauts à son accolade fermante. La prochaine fois que costatement s'exécute, le costatement commence au waitfor qui a retourné false. De cette façon, le code peut faire son chemin à travers une série de déclarations sans être bloquée par une déclaration qui prend beaucoup de temps à exécuter. Une déclaration waitfor peut appeler toute fonction qui renvoie une valeur. Dans l'exemple ci-dessous, une boucle sans fin pour les suppléants entre appelant la tcp_tick () fonction qui effectue un traitement de fond pour les communications TCP et UDP, et un costatement dont la fonction est d'envoyer un datagramme fois par seconde.

for (;;) (tcp_tick (NULL); costate (/ / Attendez quelques secondes DelaySec entre les envoie. waitfor (DelaySec (1)); / / envoie un datagramme à l'hôte distant. send_datagram ();))

La première fois que costatement s'exécute, le waitfor (DelaySec (1)) s'exécute et enregistre une valeur qui indique l'heure actuelle. La déclaration de fausses déclarations et l'exécution des sauts à la clôture du costatement de bretelles, puis au sommet de la boucle for. À chaque passage dans la boucle, waitfor (DelaySec (1)) exécute, retournant FALSE avant une seconde s'est écoulée. En rentrant vrai, l'exécution se poursuit avec le send_datagram () statement. Cette déclaration appelle send_datagram de l'application () la fonction qui envoie un datagramme à un hôte distant. Exécution de programme puis reboucle sur le waitfor () déclaration, qui relance la temporisation. Arguments cofunctions Dynamic C sont semblables à costatements, mais ne peut accepter et retour. Costatements et cofunctions sont pratiques pour de nombreuses applications, mais il est également possible de réaliser multitâche coopératif avec la machine étatique de programmation fondées. Machines d'état peut être utile lorsque le code du programme effectue à plusieurs reprises une série de tâches, mais pas toujours dans le même ordre. AC instruction switch peut mettre en œuvre une machine d'état. Par exemple, un serveur TCP pouvez utiliser une instruction switch pour décider de ce code à exécuter en fonction de l'état actuel d'une connexion. Les différents états possibles pourrait être l'initialisation d'une socket, l'attente pour une connexion, reçoit une requête, en-têtes de réception, l'envoi d'une réponse, et attendant de fermer une connexion. Par exemple state.c Rabbit Semiconductor illustre cette approche.

En multitâche préemptif, chaque tâche est garanti temps processeur. Il n'ya pas besoin de dépendre des autres tâches de céder. Déclaration tranche Dynamic C permet le multitâche préemptif en exécutant une tâche pour une tranche de temps, ou de la période, mesurée en unités de 1 / 1024 secondes. À la fin de la tranche, le suspend tâche. Si toutes les tâches dans les états boucle principale d'un programme utilisation tranche, vous pouvez déterminer la fréquence à laquelle chaque tâche reçoit sa tranche à partir du nombre total de tranches. Une limitation à l'utilisation de tranches avec les communications TCP / IP en Dynamic C est que tous les réseaux TCP / IP fonctionnalité doit avoir lieu en une seule tranche. Le MicroC / OS-II module de bibliothèque fournit un autre moyen d'atteindre le multitâche préemptif. La documentation pour Dynamic C et les modules de matériel comprend une vaste série de manuels détaillés. Rabbit Semiconductor site Web accueille un soutien tech-Bulletin Board. En outre, un lapin semi e-mail liste de discussion pour les développeurs est disponible à www.groups.yahoo.com. Une autre option de programmation pour les modules de lapin est le WinIDE environnement de développement intégré de Softools, Inc (www.softools.com). Comme Dynamic C, WinIDE inclut un éditeur, un compilateur et éditeur de liens, la capacité de chargement du code compilé dans la RAM ou mémoire flash, et un débogueur. Le contrôle de la Croix-compilateur C est une norme complète du compilateur C. Le code compilé est plus petit et plus rapide que le code compilé avec Dynamic C.

un article présenté par Daniel R.


Disclaimer:Notre site n'est pas responsable du contenu de cet article. Webarticles est une ressource d'information gratuite.
Important: Cet article "Rabbit Semiconductor RCM3200" a été traduit par un logiciel automatique. Nous nous sentons désolés pour les fautes d'orthographe que mai ont eu lieu. Nous vous remercions de votre compréhension.


Online: 280 users browsing the articles directory