Rabbit Semiconductor RCM3200Opções do ProjetoRabbit Semiconductor RCM3200. Quando estiver pronto para começar a projetar um sistema embutido para networking, você precisa tomar algumas decisões sobre o hardware do dispositivo e do código de programação que irá controlar o hardware. Em um extremo, você pode fazer tudo sozinho, interagindo um chip controlador Ethernet para uma CPU e escrever código para suportar comunicações Ethernet e os protocolos de Internet, o dispositivo utiliza. Ou você pode economizar muito tempo, começando com um módulo que contém uma CPU, interface Ethernet e suporte de software para comunicações Ethernet e protocolos da Internet. Ou você pode escolher um caminho do meio, tais como a utilização de uma biblioteca de software fornecido, mas projetar seus próprios circuitos. Este tutorial começa em rede através da introdução de uma amostragem de produtos disponíveis para a rede de sistemas embarcados. Se vai ou não em última análise, selecionar um dos produtos descritos, revendo as opções podem ajudar a determinar a forma de abordar um projeto. Cada computador em uma rede Ethernet deve ter um controlador Ethernet, e há opções aqui também. Esta rede tutorial debate aprofundado descreve as capacidades e operação de controladores popular Ethernet. Seleção de Componentes
Como em qualquer projeto, a familiaridade pode fazer uma grande diferença em como é fácil de obter algo em funcionamento. No lado do software, C e Java são linguagens populares de programação em rede os sistemas incorporados. Se você tem experiência em uma dessas línguas, faz sentido ficar com ela. Do lado do hardware, se você tiver experiência com uma família de CPU particular, que muitas vezes faz sentido ficar com ele, se possível, também. Ao mesmo tempo, se há um produto que se adapta perfeitamente a sua finalidade, mas vai levar algum tempo para dominar, ele pode ser útil para escavar e aprender algo novo, especialmente se você pode usar o conhecimento em projetos adicionais no futuro. Este livro não tem espaço para descrever todas as possibilidades, e os produtos novos e atualizados continuamente se tornarem disponíveis. Para obter links para as últimas informações sobre os produtos descritos e outros, visite a página Lakeview Research Ethernet encaixado na www.Lvr.com. Soluções CompletasEm resumo: Um rápido Z80 CPU derivados com abundância de I / O, a EMI baixo, e um sistema de desenvolvimento completo, incluindo um compilador C. Suporte Ethernet: 10BASE-T e 100BASE-TX. Fonte: STMicroelectronics (www.rabbitsemiconductor . com). hardware. O RCM3200 RabbitCore C-Módulo programável com Ethernet (Rede artigo 3-1) é uma placa de circuito que contém Rabbit STMicroelectronics do microprocessador 3000, que é um muito melhorado e reforçado derivado da ZiLOG, Inc. 's microprocessador Z80 venerável. A placa de circuito é menor do que um cartão de visita e suporta uma variedade de I / O interfaces. O microprocessador Rabbit 3000 tem sete 8-bit I / O ports. Muitos dos bits podem ter funções especiais, incluindo seis portas seriais de comunicação síncrona e assíncrona e Infrared Data Association (IrDA) protocolos, uma porta paralela bidirecional, dois canais de entrada de captura, quatro em largura de pulso modulação (PWM) saídas, e quadratura duas unidades decodificador com entradas para encoder incremental óptico módulos. Além das portas de I / O, há um bus de memória externa com 8 bits de dados e 20 linhas de endereço. A fonte de alimentação pode variar de 3,6 V a tão baixo quanto 1,8 V. Um contador que funciona como um relógio em tempo real tem um pino de alimentação separada para tornar mais fácil para fornecer backup de bateria. O chip está disponível em um 128-pin LQFP (low profile quad flat pack) ou 128-bola TFBGA (thin-multa profile-pitch Ball Grid Array) o pacote. Um sistema pode usar multitarefa cooperativa ou preemptiva. Na multitarefa cooperativa, as funções devem concordar em cooperar, para não usar mais do que a sua quota de tempo do processador. Dynamic C atinge multitarefa cooperativa através da utilização de costatements e cofunctions. A costatement é uma lista de indicações com um ponteiro que mantém o controle do que instrução a ser executada em seguida. A costatement normalmente funciona como uma declaração de uma lista de instruções que são executadas em seqüência em um loop. Dentro de uma costatement, uma declaração de controle waitfor pode testar para descobrir se uma função tiver concluído ou um tempo limite ocorreu. Se os retornos waitfor verdade, o costatement continua com a instrução seguinte na lista. Se os retornos waitfor falso, o costatement salta para o seu fechamento. A próxima vez que o costatement executa, o costatement começa no waitfor que já retornou falso. Desta forma, o código pode fazer o seu caminho através de uma série de afirmações sem ser bloqueada por uma declaração que leva um longo tempo para executar. Uma declaração waitfor pode chamar qualquer função que retorna um valor. No exemplo abaixo, um loop infinito para os suplentes entre tcp_tick chamar a função (), que realiza o processamento de fundo para comunicações TCP e UDP, e um costatement cuja função é enviar um datagrama uma vez por segundo. for (;) tcp_tick ((NULL); costate (/ / wait segundo DelaySec entre envia. waitfor (DelaySec (1)) / / enviar um datagrama ao host remoto. Send_Datagram ();)) A primeira vez que o costatement executa, o waitfor (DelaySec (1)) instrução executa e salva um valor que indica a hora actual. A declaração falsa e retorna a execução salta para o encerramento das costatement de cinta, depois para o topo do loop for. Cada vez através do laço, waitfor (DelaySec (1)) executa, retornando False até que um segundo tem decorrido. Ao retornar verdadeiro, a execução continua com o Send_Datagram () declaração. Esta afirmação chama Send_Datagram do aplicativo função (), que envia um datagrama para um servidor remoto. A execução do programa, em seguida, loops de volta para o waitfor () declaração, que reinicia o tempo de atraso. Argumentos cofunctions Dynamic C são semelhantes aos costatements, mas pode aceitar e retornar. Costatements e cofunctions são convenientes para muitas aplicações, mas também é possível obter multitarefa cooperativa com o estado-máquina de programação baseada. As máquinas de estado pode ser útil quando o código do programa repetidamente executa uma série de tarefas, mas nem sempre na mesma ordem. Switch AC pode implementar uma máquina de estado. Por exemplo, um servidor TCP pode usar um switch para decidir o código a ser executado, dependendo do estado atual da conexão. Os estados possíveis podem ser inicializar um soquete, esperando uma ligação, receber um pedido, recebendo cabeçalhos, o envio de uma resposta, e espera fechar uma conexão. Exemplo state.c Rabbit Semiconductor ilustra esta abordagem. Na multitarefa preemptiva, cada tarefa é garantido tempo do processador. Não há nenhuma necessidade de depender de outras tarefas para o rendimento. Declaração Dynamic C's fatia permite multitarefa preemptiva, executando uma tarefa para uma fatia de tempo, ou período, medido em unidades de 1 / 1024 segundo. No final da fatia, suspende a tarefa. Se todas as tarefas de um programa principal laço declarações fatia usar, você pode determinar quantas vezes cada tarefa recebe sua fatia do número total de cortes. A limitação ao uso de fatias de comunicações TCP / IP no Dynamic C é que todas as TCP / IP funcionalidade deve ocorrer em uma única fatia. A Criação / OS-II módulo biblioteca oferece uma outra maneira de conseguir multitarefa preemptiva. A documentação para o Dynamic C e os módulos de hardware inclui uma extensa série de manuais detalhados. Rabbit Semiconductor site Web hospeda um tech-support Bulletin Board. Além disso, um coelho e semi-mail lista de discussão para desenvolvedores está disponível em www.groups.yahoo.com. Outra opção de programação para os módulos Rabbit é o WinIDE Ambiente de Desenvolvimento Integrado de Softools, Inc. www.softools.com (). Como Dynamic C, WinIDE inclui um editor, um compilador e linker, a capacidade de carregar o código compilado em memória RAM ou memória flash e um depurador. O Controle Cruz compilador C é uma faixa Standard compilador C. Compilado é menor e mais rápido do que o código compilado com Dynamic C. um artigo submetido por Daniel R. Isenção de responsabilidade:O nosso site não se responsabiliza pelo conteúdo deste artigo. Webarticles é uma fonte de informação livre. Importante: Este artigo "Rabbit Semiconductor RCM3200" foi traduzida por um software automático. Nós sentimos muito por quaisquer erros de ortografia que pode ter ocorrido. Obrigado pela sua compreensão.
|
|||||
| Online: 214 users browsing the articles directory |
|
|