Ulan driver fornece protocolo de comunicação orientado a mensagem de 9 bits, que são transferidos através RS-485 link.
Os caracteres são transferidos mesma forma que para RS-232 de transferência assíncrona excepto bit de paridade, que é utilizado para distinguir entre os caracteres de dados e informação de controlo de protocolo. A camada física é composto por um par trançado de fios e RS-485 transceptores.
Uso de caracteres de 9 bits simplifica a transferência de dados binários e de controladores inteligentes podem reduzir a carga da CPU, por causa da CPU não precisa se preocupar com caracteres de dados enviar para outro nó. Os produtores da maioria dos microcontroladores para aplicações embarcadas e sei que têm implementado extensão de 9 bits em UARTs da maioria dos MCUs de hoje. Há a lista abaixo para mencionar alguns deles:
- Todos os MCUs Intel 8051 e 8096 com base com UART
- Membros da família 683xx Motorola (68332, 68376, ...)
- microcontroladores Hitachi H8
O motorista é implementado como camadas e subsistemas relativamente independentes. As mensagens são preparados e recebido na memória motorista dedicado. Esta memória é dividida em blocos com tamanho uniforme com rotinas de alocação atômicas.
Quando a mensagem está sendo armazenado em blocos, chefe da mensagem com par de bytes de dados é armazenada no primeiro bloco de memória alocada. Se todos os dados não podem ser armazenados no primeiro bloco, os blocos próximos são atribuídos e ligados entre si.
As cabeças de mensagens são ligados em listas ligadas bidirecionais de mensagens preparadas para o envio, mensagens e mensagens preparadas para notificação do cliente processados. As listas ou filas são o principal mecanismo de transferência de mensagens entre os subsistemas.
Protocolo de enlace está programado como autômatos de estados finitos com a pilha do Estado, que rotinas de estado são executados pelo processador de interrupção. Estado de rotina pode retornar informações inteiro positivo, negativo ou notificação de erro zero, o que leva a esperar para a próxima interrupção. Informações ou de erro é usado como parâmetro de entrada quando rotina estado é chamado.
Quando as necessidades de rotina estaduais iniciar a transferência para outro estado rotina muda ponteiro para a rotina de estado real. Se os retornos de rotina estado anterior valor diferente de zero nova rotina é chamado imediatamente, em outro caso na próxima interrupção invoca nova rotina estado.
Há pilha de chamadas de rotinas estado real que permite ao constrói subsistemas autômatos, que podem ser usados em mais lugares em loop de autômatos principal. O objectivo principal deste autômatos é enviar mensagens de processo ou entrando lista de mensagens preparadas para o envio e se especificado, mover essas mensagens para a lista de mensagens preparadas para notificação do cliente.
As mensagens recebidas são colocadas para esta lista também. Subsystem é supervisionado por manipulador de tempo limite, que pode revitalizar a comunicação em caso de morrer de outro nó. Os manipuladores de interrupção e de tempo limite são reentrant totalmente SMP.
O subsistema de autômatos usa ponteiros para chip rotinas de driver para manipulação porta hardware. Esta é apenas uma parte dependente de chip utilizado, hoje 82510, 16450 e OX16C950PCI. Essas rotinas podem enviar e receber 9 caráter pouco, conectar-se a RS-485 linha pela sequência de arbitragem, esperar que o tempo especificado para o personagem e inicializar e perto do porto.
Arquivo subsistema operação faz interface entre kernel do sistema operacional VFS e filas de mensagens cliente. Ele permite a preparar mensagens e armazena as notificações individuais ou multi-quadro de mensagens recebidas ou processadas em estruturas estatais privadas dos clientes. Esta parte está fortemente dependente do sistema operacional
O que é novo nesta versão:.
- Esta versão adiciona suporte conversor USB e muitos correções.
- Ele foi testado no Linux (até 2.6.28 em i386 e x86_64 alvos), no Windows 2k, XP e Vista, e em alvos ARM LPC21xx menos o sistema.
Comentários não encontrado