can open aberto

54
 12 UNIVERSIDADE FEDERAL DO PARANÁ CURSO DE ENGENHARIA ELÉTRICA EDUARDO HENRIQUE CORRÊA FERREIRA AUTOMAÇÃO RESIDENCIAL UTILIZANDO PROTOCOLO CAN CURITIBA, 2009 

Upload: alexandre-vitor

Post on 12-Jul-2015

274 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 1/54

 

12

UNIVERSIDADE FEDERAL DO PARANÁ 

CURSO DE ENGENHARIA ELÉTRICA 

EDUARDO HENRIQUE CORRÊA FERREIRA 

AUTOMAÇÃO RESIDENCIAL UTILIZANDO PROTOCOLO CAN 

CURITIBA, 2009 

Page 2: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 2/54

 

13

EDUARDO HENRIQUE CORRÊA FERREIRA 

AUTOMAÇÃO RESIDENCIAL UTILIZANDO PROTOCOLO CAN 

Trabalho de Conclusão de Cursoelaborado por Eduardo Henrique CorrêaFerreira, sob a orientação do ProfessorEduardo Parente Ribeiro, para obtenção

de grau no Curso de Engenharia Elétricada Universidade Federal do Paraná,UFPR.

CURITIBA, 2009 

Page 3: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 3/54

 

14

EDUARDO HENRIQUE CORRÊA FERREIRA 

AUTOMAÇÃO RESIDENCIAL UTILIZANDO PROTOCOLO CAN 

Trabalho de Conclusão de Cursoaprovado pela Banca Examinadora paraobtenção do Grau de Eduardo Henrique

Corrêa Ferreira, no Curso de EngenhariaElétrica da Universidade Federal doParaná, com Linha de Pesquisa emAutomação Residencial.

Curitiba, 15 de Novembro de 2009.

BANCA EXAMINADORA

 __________________________________________________ Professor Dr. Eduardo Parente Ribeiro – Orientador

 _________________________________________________ Professor M.Sc Ademar Luiz Pastro

 _________________________________________________ Professor Dr. Gideon Villar Leandro

Page 4: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 4/54

 

15

À minha noiva, Marciany, meus pais,Haroldo e Solange, e minha avó MariaJosé por terem me apoiado não só naelaboração deste trabalho como em tudona minha vida.

Page 5: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 5/54

 

16

AGRADECIMENTOS 

Em primeiro lugar agradeço a Deus por ter me dado esta oportunidade;

Agradeço também à Universidade Federal do Paraná;

Ao orientador, professor Dr. Eduardo Parente Ribeiro, por ter ajudado nacriação deste trabalho;

Aos demais professores e colaboradores do curso de Engenharia Elétrica daUniversidade Federal do Paraná;

A todos que de uma maneira ou outra contribuíram para a realização destetrabalho.

Page 6: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 6/54

 

17

RESUMO

Este trabalho tem por objetivo a aplicação do protocolo CAN emaplicações de automação residenciais. Primeiramente é analisada a estrutura

do protocolo de comunicação CAN. Em seguida é feito um pequeno resumo

sobre outros protocolos utilizados em automação residencial. E por fim é

mostrado como um sistema automatizado pode ser criado utilizando um

computador pessoal como integrador da rede de dados CAN, os componentes

usados para este sistema e um exemplo de software desenvolvido para esta

finalidade.

Palavras-chave: CAN, Automação Residencial, protocolo.

Page 7: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 7/54

 

18

ABSTRACT

This paper analyzes the application of CAN protocol for Home

Automation. First, the structure of the CAN communication protocol is reviewed.

Next comes a short summary on other protocols used in residential automation.

And finally is showed how can an automation system be created using a

personal computer as an integrator for the CAN network, the components used

to make this system and an example of a software built to control this data flow.

Page 8: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 8/54

 

19

LISTA DE ILUSTRAÇÕES

FIGURA 1 - TOPOLOGIAS PERMITIDAS PELO PADRÃO ZIGBEE .................................. 25

FIGURA 2 - EXEMPLO DE TOPOLOGIA DE REDE CEBUS........................................... 27FIGURA 3 - EXEMPLO DE APLICAÇÃO CEBUS......................................................... 28FIGURA 4 - CAMADAS ISO E CAN ........................................................................ 30FIGURA 5 - TOPOLOGIA DE BARRAMENTO CAN ...................................................... 31FIGURA 6 - NÍVEL DE BARRAMENTO, SEGUNDO ISO 11898 ..................................... 32FIGURA 7 - GRÁFICO DE TAXA DE TRANSMISSÃO DE BITS PELA DISTÂNCIA DOS NÓS .. 32FIGURA 8 - MODELOS DE CONECTORES DB 9 ........................................................ 33FIGURA 9 - ESTRUTURA DE UM QUADRO DE DADOS ................................................ 34FIGURA 10 - CAMPOS DE ARBITRAGEM E CONTROLE DE MENSAGEM NO FORMATO CAN 

2.0 A........................................................................................................... 35FIGURA 11 - CAMPOS DE ARBITRAGEM E CONTROLE DE MENSAGEM NO FORMATO CAN 

2.0 B........................................................................................................... 36FIGURA 12 - ESTRUTURA DO PACOTE REMOTO ...................................................... 37FIGURA 13 - ESTRUTURA DO PACOTE DE ERROS / SOBRECARGA ............................... 37FIGURA 14 - EXEMPLO DE ARBITRAGEM ................................................................ 38FIGURA 15 - ESTADOS DE ERRO DE NÓS CAN ....................................................... 40FIGURA 16 - ESQUEMA DE FILTRAGEM.................................................................. 41FIGURA 17 - EXEMPLO DE DICIONÁRIO DE PARÂMETROS ......................................... 42FIGURA 18 - TRÊS PARTES DO PROTOCOLO CANOPEN.......................................... 42FIGURA 19 - H EARTBEAT DO PROTOCOLO CANOPEN ............................................ 42FIGURA 20 - REPRESENTAÇÃO DE UM SISTEMA DE AUTOMAÇÃO RESIDENCIAL .......... 43FIGURA 21  – PLACA PISO-CAN200E-D .............................................................. 46FIGURA 22  – PLACA PC276 ................................................................................ 47FIGURA 23 - PIC18F2455 .................................................................................. 48FIGURA 24 - DSPIC33FJ256GP710 ................................................................... 49FIGURA 25 - FLUXOGRAMA DA FUNÇÃO SENDUSBCAN ......................................... 51FIGURA 26 - FLUXOGRAMA DA FUNÇÃO GETUSBCAN ........................................... 52

Page 9: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 9/54

 

20

LISTA DE TABELAS 

TABELA 1 - QUADRO COMPARATIVO DE TECNOLOGIAS SEM-FIO ............................... 26

TABELA 2 - PINAGEM DOS CONECTORES DB9 SEGUINDO PADRÃO CAN................... 33TABELA 3 - TABELA DE PLACAS DE COMUNICAÇÃO CAN ......................................... 45TABELA 4 - COMPARATIVO DE FRAMES POR SEGUNDO ........................................... 46TABELA 5 - NÍVEIS DE PRIORIDADE DOS EQUIPAMENTOS ......................................... 54TABELA 6 - EXEMPLO DE IDENTIFICADORES DE MENSAGEM ..................................... 55

Page 10: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 10/54

 

21

LISTA DE ABREVIATURAS E SIGLAS 

ACK – Acknowledge  

CAN – Controller Area Network 

CEBus – Consumer Electronic Bus  

CSMA/CR - Carrier Sense Multiple Access / Colision Resolution  

DLC – Data Length Code  

DSP – Digital Signal Processor  

EOF – End Of Frame 

FFD - Full-Function Devices  

IDE - Identifier Extension 

IEEE - Institute of Electrical and Electronics Engineers  

ISO - International Organization for Standardization 

MAC - Medium Access Control 

PAN – Personal Area Network  

PCI - Peripheral Component Interconnect  

RFD – Reduced-Function Devices  

RTR – Remote Transmission Request  

SAE – Society of Automotive Engineers  

SOF – Start of Frame 

SRR – Subistitute Remote Request  

USB – Universal Serial Bus 

Page 11: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 11/54

 

22

SUMÁRIO

1 INTRODUÇÃO 23 2 PROTOCOLOS UTILIZADOS EM APLICAÇÕES RESIDENCIAIS 24 2.1 ZIGBEE 24

2.1.1 Camada Física .................................................................................. 25  2.1.2 Camada MAC ................................................................................... 26  2.1.3 Aplicações ........................................................................................ 26  

2.2 CEBUS 262.2.1 Comunicação via rede elétrica .......................................................... 27  2.2.2 Aplicações ........................................................................................ 28  

2.3 CONTROLLER AREA NETWORK (CAN) 292.3.1 Histórico ............................................................................................ 29  2.3.2 Camada Física .................................................................................. 30  2.3.3 Camada de Enlace ........................................................................... 34  

2.3.3.1 Mensagens ................................................................................. 34Quadros de Dados ........................................................................... 34Quadros Remotos ............................................................................ 36Quadros de Erros e Sobrecarga ...................................................... 37

2.3.3.2 Arbitragem .................................................................................. 382.3.3.3 Confinamento de Falhas ............................................................. 392.3.3.4 Filtragem ..................................................................................... 402.3.3.5 CANOpen ................................................................................... 41

3 AUTOMAÇÃO RESIDENCIAL E REDES CAN 43 3.1 PROPOSTAS 433.2 ESTRUTURA DA REDE 44

3.2.1 Hardware .......................................................................................... 44  3.2.1.1 Comunicação via Placa PCI ....................................................... 443.2.1.2 Comunicação via Controlador USB ............................................ 473.2.1.3 Topologia da Placa ..................................................................... 48

3.2.2 Software ............................................................................................ 50  3.2.2.1 Sistema de controle de residências ............................................ 50

3.2.3 Exemplos de Mensagens .................................................................. 52  3.2.3.1 Equipamentos de uma residência .............................................. 53

4 CONCLUSÕES 57 REFERÊNCIAS BIBLIOGRÁFICAS 58 ANEXOS 60 

1. FUNÇÕES DELPHI 601.1 FindUSBCANTarget ............................................................................. 60  1.2 getUSBCAN ......................................................................................... 61 1.3 sendUSBCAN ...................................................................................... 63  

Page 12: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 12/54

 

23

1 INTRODUÇÃO

A automação, ou domótica, é o termo utilizado para descrever o conjunto

de tecnologias voltado para a otimização de lares, escritórios e indústrias

visando um aumento no conforto, melhorias na comunicação e segurança e

uma diminuição no consumo de energia.

As residências estão se tornando ambientes cada vez mais

automatizados, conseqüentemente, a necessidade de sistemas mais seguros

e confiáveis aumentou. Com essa necessidade desenvolveram-se sistemas

descentralizados de controle, ou seja, diversos dispositivos presentes na

residência desempenham funções de verificação e checagem, como por

exemplo, sensores, atuadores e controles remotos.

Com o crescimento destes sistemas e suas diferenças fez-se necessário

a padronização de protocolos de comunicação. Na década de 80, década de

início da popularização dos sistemas automatizados, surgiram diversos

protocolos e com eles diversos grupos de pesquisa e desenvolvimento.

Destes protocolos criados, o protocolo CAN foi desenvolvido para a

comunicação de dados entre equipamentos eletrônicos. Este padrão surgiu da

indústria automobilística, mas logo se popularizou e atualmente é um dos

protocolos mais utilizados em indústrias e escritórios onde uma rede de

comunicação simples e de baixo custo é necessária para interligar diversos

dispositivos.

Este trabalho tem por objetivo principal utilizar o protocolo CAN para

interligar componentes de controle, visando automatizar uma residência e

através de um software desenvolvido para computadores pessoais ter acesso a

todos os dispositivos presentes na rede.

Page 13: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 13/54

 

24

2 PROTOCOLOS UTILIZADOS EM APLICAÇÕES RESIDENCIAIS

Para este projeto foram pesquisados alguns protocolos utilizados em

automação residencial a fim de comparar suas características principais.

Dentre os protocolos mais utilizados atualmente se destacam o protocolo

ZigBee (comunicação sem fios), o protocolo CEBus (utilizando a rede elétrica),

e também o protocolo CAN, muito utilizado em automação automobilística, mas

com ótimas aplicações residenciais.

A seguir é apresentado um breve resumo sobre cada protocolo bem

como suas principais características.

2.1 ZIGBEE

ZigBee é uma tecnologia wireless utilizada para comunicação de baixo

custo e baixo consumo de potência. Baseada no padrão IEEE 802.15.4, o

protocolo ZigBee é voltado para a transmissão de dados em radio freqüência

com baixa taxa de transmissão de bits. As freqüências de operação são as não

licenciadas nas faixas de 868.0 a 868.6 MHz, 902 a 928 MHz e 2.400 a 2.484

GHz.

O protocolo ZigBee só é definido para suas camadas mais baixas (Camada

de Rede, de Enlace e Física), as camadas mais altas são desenvolvidas

dependendo da aplicação.

A topologia da rede é baseada em nós, e podem ser configuradas tanto

como peer-to-peer, como em estrela. Por definição, existem dois tipos de nós:

os FFD (Full-Function Devices), ou dispositivos de funcionamento completo, e

os RFD (Reduced-Function Devices), ou dispositivos de funcionamentoreduzido.

Os FFD são responsáveis por controlar o envio de mensagens para qualquer

dispositivo presente na rede. Eles podem ser configurados como os

coordenadores da rede PAN (Persona-Area Network).

Já os RFD são nós extremamente simples que podem apenas se comunicar

com os nós FFD, por isso seu consumo de energia é extremamente pequeno.

Page 14: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 14/54

 

25

As redes ZigBee por definição devem possuir pelo menos um dispositivo

FFD como mostra a figura a seguir.

Figura 1 - Topologias permitidas pelo padrão ZigBee

2.1.1 Camada Física 

Por adotar o padrão IEEE 802.15.4, o protocolo ZigBee incorporou aestrutura de camada física deste padrão, sendo que por definição, a camadafísica (PHY - Physical Layer) é responsável por gerenciar as funções deseleção de canal e de energia de sinal.

Como citado anteriormente, o enlace utilizando protocolo ZigBee podeoperar numa destas três faixas de freqüências:

868.0-868.6 MHz, com taxa de transmissão de até 20kbps em apenasum canal;

902-928 MHz, com taxa de transmissão de até 40 kbps em 10 canais;

2400-2483.5 MHz, com taxa de transmissão de até 250 kbps em 16canais.

A transmissão do sinal utiliza técnicas de espalhamento espectral paramelhorar a eficiência do sinal e diminuir as interferências.

Page 15: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 15/54

 

26

2.1.2 Camada MAC

A camada MAC (Medium Access Control) é responsável pelo controle etransmissão dos pacotes. Esta camada é utilizada também para validação dospacotes e configuração e associação dos nós presentes na rede.

Nesta camada o pacote é dividido em timeslots e enviado para acamada física para sua transmissão. 

2.1.3 Aplicações

O protocolo ZigBee foi desenvolvido para atender a demanda por umcontrole melhor e uma melhor segurança nas redes domésticas sem fios etambém foi criado para ser de baixo custo e possuir baixo consumo de energia.

ZigBee é voltado para aplicações de baixa complexidade e de curtoalcance (em média 100m), podendo substituir soluções de maior custo como,por exemplo, Bluetooth e WiFi.

Padrão

ZigBee® 

802.15.4

Wi-Fi™ 

802.11b

Bluetooth™ 

802.15.1

Alcance (metros) 1 – 100* 1 - 100 1 – 10

Vida útil da bateria (dias) 100 – 1,000 0.5 – 5.0 1 - 7

Tamanho da rede (nós) > 64,000 32 7

Taxa de transmissão (kbps) 20 – 250 11,000 720

Tabela 1 - Quadro comparativo de tecnologias sem-fio

2.2 CEBus

CEBus (Consumer Elctronics Bus) é um protocolo de código aberto,

totalmente baseado no modelo de camadas OSI, desenvolvido pela Associação

das Industrias de Eletrônicos dos Estados Unidos (EIA - Electronic Industries

Association) primeiramente para padronizar os sinais de infra-vermelho emitido

pelos controles remotos dos aparelhos eletrônicos tentando evitar

Page 16: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 16/54

 

27

interferências e incompatibilidades. Atualmente o padrão CEBus se extende

dos circuitos RF até as comunicações utilizando a rede elétrica.

Por ser de código aberto o protocolo CEBus permite que a rede opere

ponto-a-ponto sem a necessidade de um nó controlador. E outra grande

característica do protocolo aberto é a capacidade de comunicação em diversos

meios de transmissão, como ilustrado a seguir.

Figura 2 - Exemplo de topologia de rede CEBus

2.2.1 Comunicação via rede elétrica 

A comunicação via rede elétrica utilizando o padrão CEBus é realizadaatravés de modulação por espalhamento espectral, modulando a partir da

freqüência de 100 MHZ incrementando linearmente até 400MHz em umintervalo de 100 milissegundos. Por definição do protocolo, o bit 1 correspondea um pulso de 100 milissegundos e o bit 0 corresponde a um pulso de 200milissegundos.

Devido ao fato de possuir pulsos assimétricos a taxa de transmissão debits varia dependendo da quantidade de bits transmitidos. Para evitar colisões,é utilizado um método de "escuta" de barramento, neste caso usa-se o padrãoCSMA-CDR (Carrier Sense Multiple Access - Colision Detection andResolution), forcando ao dispositivo que quer transmitir verificar se o

barramento está livre antes de começar a comunicação.

Page 17: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 17/54

 

28

O protocolo CEBus define que o endereço de destino e o endereço deorigem estejam em cada pacote enviado, assim como no protocolo TCP/IP. Osendereços de cada componente são definidos pela empresa fabricanteseguindo as recomendações do EIA e possuem 32 bits. Sendo assim o pacotemínimo transmitido pela rede possui 64bits.

2.2.2 Aplicações

Assim como o padrão ZigBee, as aplicações utilizando a tecnologia

CEBus são voltadas para a automação, seja ela residencial ou industrial.

Empresas como Microsoft, IBM, Compaq, AT&T, Panasonic e Sony vemdesenvolvendo equipamentos capazes de se comunicar utilizando o protocoloCEBus. Em 2006, em uma feira de eletrônica em Las Vegas, EUA, foiapresentado um aparelho de televisão com um roteador CEBus interno.Através deste roteador é possível acender as luzes apenas utilizando ocontrole remoto do televisor. 

Figura 3 - Exemplo de aplicação CEBus

Page 18: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 18/54

 

29

2.3 CONTROLLER AREA NETWORK (CAN)

Para a aplicação proposta neste projeto o protocolo utilizado foi oprotocolo CAN. Dentre os protocolos analisados este se mostrou o mais flexívelem relação à aplicação e com uma ótima detecção de erros.

A seguir é apresentado um histórico sobre este protocolo e em seguida éfeita uma explicação teórica da estrutura de rede deste padrão.

2.3.1 Histórico

O formato de rede e o protocolo CAN foram desenvolvidos em 1983 por

Robert Bosch Gmb para melhorar a comunicação entre os diversos

componentes presentes em um veículo.

Com o aumento do número de dispositivos de controle e sensores nos

veículos a espessura dos chicotes (grupo de cabos de conexão) cresceu o que

tornava a manutenção e detecção de falhas muito complexas.

Por este motivo, em 1986, a empresa Bosch apresentou a solução CAN

para a Sociedade de Engenheiros Automotivos (Society of Automotive

Engineers - SAE), e esta foi amplamente aceita e se tornando um dos padrões

mais utilizados em automóveis atualmente.

A regulamentação geral da rede CAN está presente na resolução ISO

11898 da International Organization for Standardization e sua regulamentação

específica para as diversas aplicações em automóveis foi padronizada pela

SAE.

A rede CAN possui diversas vantagens, o que acabou espalhando sua

utilização para as áreas industriais, como por exemplo, a indústria

aeroespacial, marítima, militar e também em aplicações rurais.

Dentre as principais características da rede CAN podem-se citar:

Faixa de Operação de até 1Mbps para curtas distâncias;

Possui uma excelente detecção de erros;

Page 19: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 19/54

 

30

Usa mensagens curtas de até 8 bytes por mensagem;

Configuração altamente flexível;

Controle da rede por prioridades nas mensagens.

Atualmente existem dois padrões de protocolo CAN. O CAN versão 2.0

A, com identificador de mensagens de 11bits e a versão 2.0B com identificador

de 29bits.

O modelo do protocolo CAN segue o padrão de camadas OSI/ISO. Um

das vantagens da rede CAN é que tanto a camada de enlace como a camada

física são implementadas diretamente no microchip de controle, deixando

apenas a camada de aplicação a ser desenvolvida.

Figura 4 - Camadas ISO e CAN

2.3.2 Camada Física

O barramento CAN é formado por um par de fios trançados com

impedância característica de 150 ohms. O Sinal é transmitido neste barramento

de forma diferencial, ou seja, a diferença de tensão entre os terminais do

Page 20: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 20/54

 

31

barramento é que carrega a informação, os fios deste barramento são

denominados CAN_H (High) e CAN_L (Low).

O conceito envolvido na transmissão de mensagens CAN é baseado na

técnica CSMA/CR (do inglês, Carrier Sense Multiple Access/ Colission

Resolution) onde, em caso de colisão a mensagem que apresentar o primeiro

bit dominante, ou seja, o bit que causar uma diferença de tensão entre CAN_H

e CAN_L, levará vantagem e continuará a ser enviado sem destruição ou

interferência. Este processo será visto mais profundamente no tópico sobre

mensagens CAN.

Figura 5 - Topologia de barramento CAN

Por convenção, o bit 1 é considerado o bit recessivo e o bit 0 o bit

dominante. Para gerar um bit dominante é necessário que a tensão em CAN_H

seja cerca de 3,5V e a tensão em CAN_L seja de 1,5V (padrão ISO 11898),

como mostra a figura a seguir:

Page 21: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 21/54

 

32

Figura 6 - Nível de barramento, segundo ISO 11898

A rede CAN apresenta a capacidade de monitoramento de bits para

verificação de utilização do barramento e devido a este fato a capacidade de

transmissão de bits diminui com a distância dos nós presentes na rede.

Figura 7 - Gráfico de Taxa de Transmissão de bits pela distância dos nós

Page 22: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 22/54

 

33

A conexão dos nós ao barramento CAN geralmente é realizada através

de conectores DB 9, a configuração dos pinos do conector está apresentada na

tabela abaixo:

Pinos Nome do Sinal Descrição

1 Reservado A ser definido

2 CAN_L Dominante nível baixo

3 CAN_GND Terra

4 Reservado A ser definido

5 CAN_SHLD Blindagem (Opcional)

6 GND Terra

7 CAN_H Dominante nível alto

8 Reservado A ser definido

9 CAN_V+ Fonte

Tabela 2 - Pinagem dos conectores DB9 seguindo padrão CAN

Figura 8 - Modelos de conectores DB 9

Page 23: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 23/54

 

34

2.3.3 Camada de Enlace

2.3.3.1 Mensagens

As mensagens transmitidas pela rede CAN, conforme apresentado

anteriormente, possuem duas versões bastante utilizadas pela indústria

atualmente. A versão 2.0 A onde o campo destinado para o identificador da

mensagem possui 11 bits, e a versão 2.0 B onde o campo de identificação de

mensagem possui 29 bits.

Uma mensagem CAN pode ser encapsulada em quatro tipos básico dedatagramas, são eles:

Data Frames, ou quadros de dados;

Remote Frames, ou quadros remotos;

Erro Frames, ou, quadros de erros;

Overload frames, ou, quadros de sobrecargas.

Cada um destes quadros possui uma função diferente na rede CAN. A

seguir é apresentado um resumo de cada quadro e suas características:

  Quadros de Dados

A seguir é apresentada a estrutura de um quadro de dados:

Figura 9 - Estrutura de um quadro de dados

Page 24: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 24/54

 

35

O campo de início de quadro (Start of Frame  – SOF) é composto por

apenas um bit dominante, este bit é responsável por informar o barramento que

uma mensagem irá começar a ser transmitida.

O campo de arbitragem (Arbitration Field) na versão 2.0 A possui um

campo de 11 bits chamado de Identificador da mensagem, e um campo de

requisição de retransmissão de dados (RTR – Remote Transmission Request).

O campo Identificador de Mensagens é responsável por informar ao

barramento a prioridade da mensagem. E o campo RTR é composto por

apenas um bit, se este bit for dominante, é responsável por informar aos

componentes que um quadro remoto deve ser enviado após o recebimento

desta mensagem.

Figura 10 - Campos de arbitragem e controle de mensagem no formato CAN 2.0 A

Na versão 2.0 B, o campo de arbitragem é um pouco maior, possuindo

29 bits no campo de identificação dividido em um campo de 11 bits, e um de 18

bits. Os campos que dividem o campo de identificação são um campo RTR

recessivo denominado de SRR (Subistitute Remote Request), e o campo IDE

(Identifier Extension), presente também no campo de controle, este bit, se

recessivo, informa se o próximo campo é a extensão do identificador ou apenaso campo de controle.

Page 25: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 25/54

 

36

Figura 11 - Campos de arbitragem e controle de mensagem no formato CAN 2.0 B

O campo de controle é composto por um (versão 2.0 A) ou dois (versão

2.0 B) bits reservados e um campo de 4 bits informando o comprimento da

mensagem (DLC – Data Lenght Code).

Em seguida, é apresentada a mensagem propriamente dita. O campo da

mensagem pode ser composto de 0 a 8 bytes.

Após o campo da mensagem é transmitido um campo de verificação de

redundância cíclica, ou checksum, de 2 bytes. Este campo é usado para

verificar a integridade da mensagem. Se o CRC enviado não for idêntico ao

calculado, a aplicação definirá o que deve ser feito.

Em seguida, o campo de confirmação de recebimento (ACK) é

dominante somente se a mensagem enviada foi recebida corretamente pelo

receptor.

E finalmente o campo de fim de transmissão (EOF  – End Of Frame) é

enviado. Este campo de 7 bits informa o fim do pacote e caso tenha

apresentado algum erro seta bits para informar estes erros.

O campo de entre quadros (Interframe Space) é compostos por 3 bits

recessivos e é somente um espaço definido entre dois pacote de mensagem. O

IFS só é enviado após pacotes de dados e pacotes remotos.

  Quadros Remotos

A estrutura dos pacotes remotos é semelhante a dos pacotes de dados e

é apresentada a seguir:

Page 26: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 26/54

 

37

Figura 12 - Estrutura do pacote remoto

Como mostra a figura acima, o pacote remoto é composto pelos

mesmos campos do pacote de dados exceto que o pacote remoto não

apresenta mensagens.

O quadro remoto é usado, por exemplo, para solicitar dados de um

componente da rede. Ou somente para informar o recebimento de uma

mensagem.

  Quadros de Erros e Sobrecarga

O pacote de erros é enviado por qualquer nó da rede que detecte um

erro.

Figura 13 - Estrutura do pacote de erros/sobrecarga

Os seis primeiros bits do pacote são flags definidas pela aplicação. ODelimitador do quadro é composto por 8 bits recessivos.

O pacote de sobrecarga apresenta a mesma estrutura do pacote de erro

e é utilizado quando se necessita um atraso maior na transmissão de pacotes.

Page 27: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 27/54

 

38

2.3.3.2 Arbitragem

A arbitragem utiliza o processo de dominância de bits para garantir que a

prioridade entre as mensagens venha a ser mantida. A dominância previne que

a mensagem com maior prioridade seja sobreposta ou destruída por outra

mensagem de menor prioridade.

A rede CAN utiliza o principio de detecção de portadora para verificar se

a mensagem transmitida corresponde de fato à mensagem que o transmissor

enviou. E este principio é utilizado também para verificar se o canal está

liberado para o inicio de transmissão.

A seguir é apresentado um exemplo de quatro nós e o canal CAN:

Figura 14 - Exemplo de arbitragem

Neste exemplo, os nós A, B e C começam a transmitir a mensagem no

mesmo instante, o nó D detecta o inicio de transmissão e entra no modo de

recepção.

O identificador das mensagens possui os mesmos últimos dígitos (bits

6,7,8,9 e 10). Até este ponto nenhum dos nós detectou a superposição do

canal.

Page 28: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 28/54

 

39

Quando o bit 5 (recessivo) é enviado o nó B detecta um erro e entra no

modo de recepção. O que será feito com a mensagem B é definido pela

aplicação.

O nó A só percebe a sobreposição ao enviar o bit 3, neste momento ele

entra em modo de escuta de canal e o nó C envia o restante da mensagem

sem perceber que ouve a sobreposição.

Percebe-se então que a prioridade sobre a rede não é do nó e sim da

mensagem, e mensagens com o primeiro bit dominante enviado terá

prioridade.

2.3.3.3 Confinamento de Falhas

O CAN apresenta o confinamento de falhas que consiste no isolamento

de nós defeituosos ou no total desligamento do barramento dependendo da

gravidade do erro detectado na rede.

Fisicamente consiste em dois contadores presentes nos nós e no

barramento, um contador é responsável por detectar erros de transmissão eoutro para detectar erros de recepção.

Por definição, cada contagem equivale a um ponto. Inicialmente os nós

se encontram no estado denominado de “error active”. Ao detectar um erro é

enviado um flag de erro ativo e o contador aumenta a pontuação para este nó.

Se a próxima mensagem enviada por este nó não apresentar a flag de erro os

pontos dados anteriormente são descontados. Se um nó apresentar contagem

maior do que 127 pontos consecutivos o nó entra no estado “error passive”, noqual continua enviando mensagens com um tempo entre mensagens um pouco

maior.

Se o nó no modo “error passive” continuar a enviar flags de erro passivo,

e sua pontuação aumentar até 255 pontos ele é desligado do barramento

entrando no modo “bus off” até ser resetado manualmente ou até que sejam

detectados 128 pacotes de 11bits recessivos e volte para o estado de “error 

passive”. 

Page 29: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 29/54

 

40

Figura 15 - Estados de erro de nós CAN

2.3.3.4 Filtragem

Por ser uma rede que não utiliza endereçamento no envio e recebimento

de mensagens, a identificação de nós é feita através de um processo simplesde filtragem de mensagens.

Todas as mensagens são transmitidas em broadcast, ou seja, a

mensagem transmitida é recebida por todos os nós da rede. Ao receber uma

mensagem o equipamento faz a filtragem analisando o campo de identificação

e verifica se deve ou não completar o pedido enviado.

O exemplo a seguir mostra como a mensagem enviada pelo nó A é

filtrada por todos os outros nós presentes na rede. Somente o nó D possui o

filtro capaz de receber as mensagens de A.

Page 30: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 30/54

 

41

Figura 16 - Esquema de Filtragem 

2.3.3.5 CANOpen

CANOpen é o nome dado ao padrão de protocolo desenvolvido pelo

grupo de fabricantes denominado CAN in Automation (CIA).

Este protocolo foi desenvolvido para suprir a falta de padronização do

protocolo CAN nas camadas maiores (baseando-se no modelo OSI). OCANOpen foi inicialmente criado para aplicações com máquinas motoras, mas

atualmente domina grande parte dos sistemas de automação, inclusive o ramo

residencial.

O protocolo CANOpen pode ser resumido em três partes: A aplicação, o

dicionário de objetos e o protocolo propriamente dito. A aplicação faz apenas a

tradução dos dados recebidos e enviados para que o usuário interaja. O

dicionário de objetos contem diversos parâmetros comuns a todos osequipamentos. Esses parâmetros contém informações sobre o estado do

equipamento, estado da rede e ainda possui valores específicos para os

fabricantes.

E por fim o protocolo que é o responsável pela padronização dos dados

enviados na rede, lembrando que os dados a serem enviados são

encapsulados no protocolo CANOpen e em seguida no protocolo CAN e são

transmitidos na rede.

Page 31: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 31/54

 

42

Figura 17 - Exemplo de dicionário de parâmetros 

Figura 18 - Três partes do protocolo CANOpen 

O controle de erros do protocolo CANOpen é atravez de um método

chamado Heartbeat  (Batida do coração) que é um pacote de mensagem

enviado ciclicamente para todos os equipamentos do barramento contendo o

identificador do equipamento e seu estado. O heartbeat também é usado como

timer de sincronismo de rede.

Figura 19 - Heartbeat do protocolo CANOpen 

Page 32: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 32/54

 

43

3 AUTOMAÇÃO RESIDENCIAL E REDES CAN

3.1 Propostas 

O projeto visa teoricamente criar um integrador para automatizar uma

residência utilizando como meio de comunicação entre seus componentes o

protocolo CAN. Devido ao baixo custo dos microcontroladores CAN e as ótimas

características já citadas no capitulo anterior (prioridade de mensagens,

flexibilidade de configuração, vários nós mestres), a rede CAN é uma rede

extremamente confiável e de fácil aplicação.

O sistema de automação consiste em um ou mais nós mestres e nós

atuadores ou sensores. Neste caso, os nós mestres seriam computadores

pessoais conectados ao barramento CAN através de conectores RS-232C ou

através de conectores USB dependendo da configuração dos mesmos. Os nós

Figura 20 - Representação de um sistema de automação residencial 

Page 33: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 33/54

 

44

escravos seriam sensores e atuadores que possuem microcontroladores

capazes de interpretar mensagens CAN.

Para a aplicação de controle do sistema pode se usar qualquer

linguagem de programação que tenha acesso às portas seriais do computador,

como por exemplo, C#, Java ou Delphi. Este sistema teórico também pode ser

estendido para uma aplicação de WebService, onde a casa estaria conectada

remotamente na internet. 

3.2 Estrutura da rede

A estrutura do sistema é composta de componentes de controle(alarmes, sensor de temperatura, dimmers, ares-condicionados, etc.)espalhados por diversos pontos da residência e um sistema de controle centralcomposto por um computador rodando um software de gerenciamento econtrole.

3.2.1 Hardware 

Como explicado anteriormente a estrutura física do sistema consiste emum (ou mais) computador principal e diversos sensores espalhados pelaresidência conforme necessidade do nível de automação.

A interligação do computador com o barramento principal é feita atravésde uma placa de comunicação CAN, ou através de um dispositivo que façaesta conexão através de um controlador USB. 

3.2.1.1 Comunicação via Placa PCI

Para elaboração deste trabalho foram pesquisadas algumas placas PCI

capazes de realizarem a comunicação CAN de forma simplificada. As placas

encontradas são dos seguintes fabricantes:

Page 34: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 34/54

 

45

Modelo Fabricante Preço

Kvaser PCIcanx HS/HS Kvaser US$ 650,00

PISO-CAN200E-D ICP DAS Não fornecido

PC276 PLS Não fornecido

Tabela 3 - Tabela de placas de comunicação CAN

A placa Kvaser PCIcanx HS é uma placa PCI que se adapta tanto ao

padrão PCI-X como ao PCI comum. Possui duas saídas D-sub 9 (RS232)

capazes de trabalhar independentes graças aos dois microcontroladores

SJA1000 da empresa Philips.

Esta placa é compatível com os protocolos CAN 2.0 A e 2.0 B. Possui

um oscilador de 16MHz para a comunicação com o barramento. E é compatível

com os sistemas operacionais: Windows Vista, Windows 2000/XP/Server 2003,

Windows 95/98/ME, Windows NT4.0 e Linux.

A placa PISO-CAN200E-D também possui dois canais CAN compatíveis

com os padrões 2.0 A e 2.0 B. Suporta taxas de transmissão de 10 Kbps a

1Mbps. Seu controlador CAN é o controlador NXP SJA1000 CAN Controller

with 16MHz da Philips, assim como o da placa da empresa Kvaser. Seus

drivers são suportados pelos sistemas operacionais: Windows 2000/XP/Server

2003, Windows 95/98/ME, Windows NT4.0.

A seguir é mostrada uma tabela de desempenho desta placa rodando

em um computador com sistema operacional Windows XP Service Pack 3, com

processador Intel Core 2 Duo de 2GHz e com 512 MB de memória:

Baud Rate(bps)CAN 2.0 A CAN 2.0 B

Frame per sec. Frame per sec.

1000 k 7498 6187

800 k 5625 5154

500 k 4091 3465

250 k 2135 1809

Page 35: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 35/54

 

46

125 k 1096 925

50 k 439 370

20 k 175 14810 k 88 74

Tabela 4 - Comparativo de Frames por segundo

Figura 21  – Placa PISO-CAN200E-D

A terceira placa, PC276, é uma placa com maior complexidade do que

as demais, pois permite ser reconfigurada através de uma memória Flash-

EPRON de 1MB. Seu processador é um ST10F276 da empresa

STMicroelectronics. Assim como as placas citadas acima, está também possui

duas saídas para barramentos CAN (2.0 A e 2.0 B) com taxa de transferência

de até 1Mbps.

Esta placa possui a capacidade de expandir sua memória em até 2MB

através de módulos de memória vendidos separadamente.

Seus Drivers são compatíveis com os sistemas operacionais Windows

Vista, Windows XP and Windows 2000.

Page 36: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 36/54

 

47

Figura 22 –

Placa PC276

3.2.1.2 Comunicação via Controlador USB

Outra maneira de interligar o computador principal ao barramento CAN

seria através de um dispositivo controlador USB. Este dispositivo consiste em

uma entrada USB, um ou mais microcontroladores e uma saída CAN, avantagem sobre os demais circuitos apresentados e seu baixo custo e sua fácil

implementação.

Existem vários equipamentos com esta função, mas este projeto irá

tratar apenas de um componente desenvolvido pela empresa InTRACK -

Industria e Comercio de Equipamentos Eletrônicos, uma empresa totalmente

brasileira que produz equipamentos de rastreamento e controle de veículos.

A placa desenvolvida por esta empresa tem o intuito de se comunicarcom veículos que possuem barramento CAN, como por exemplo, veículos das

montadoras Volvo, Scania, Mercedez Bens e Opel/Chevrolet. Mas por ser

apenas um componente que encapsula os pacotes CAN em pacotes USB e os

envia para o computador nada impede que esta placa seja usada em

automação residencial.

Page 37: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 37/54

 

48

3.2.1.3 Topologia da Placa

A placa possui um microcontrolador PIC18F2455 responsável por

montar os pacotes USB e um DSP DSPIC33FJ256GP710 que analisa e

gerencia os dados enviados do barramento e do microcontrolador.

O controlador PIC18F2455 é um voltado para conexão e comunicação

USB, possui 24KB de memória Flash e 2KB de memória RAM. É responsável

por 12 milhões de instruções por segundo a 48MHz.

Este microcontrolador tem a capacidade de realizar operações do

padrão RS-232, o mesmo usado em controladores CAN, o que o torna uma

ótima escolha para o projeto.

Figura 23 - PIC18F2455

O segundo controlador, DSPIC33FJ256GP71, é um processador digital

de sinais baseado na arquitetura Harvard de 16 bits, com 256 KB de memória

de programa e 32 KB de memória RAM. Este DSP é capaz de realizar 40

Page 38: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 38/54

 

49

milhões de instruções por segundo e possui duas saídas Tx e Rx para

comunicação CAN.

Este processador possui ainda dois acumuladores com 40 bits cada,

cinco tipos de interrupção externa e sete níveis de prioridade totalmente

programáveis.

Figura 24 - DSPIC33FJ256GP710 

Resumidamente estes dois microcontroladores operam

simultaneamente, ao receber um pacote, o controlador PIC18F2455 verificar o

identificador da mensagem para confirmar se a mensagem está no formato

Page 39: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 39/54

 

50

CAN, em caso afirmativo o pacote é enviado para o DSP que se encarrega de

processar e enviar a mensagem ao barramento.

O caminho inverso ocorre da mesma forma, ao receber um pacote do

barramento CAN o processador filtra as mensagens CAN, se alguma

mensagem for destinada ao computador, o DSP envia o pacote para o PIC que

encapsula a mensagem no pacote USB e envia ao computador.

3.2.2 Software

Conforme visto anteriormente, o protocolo CAN não possui qualquerespecificação para as camadas de aplicação, o que o torna um padrãoextremamente flexível em relação à linguagem de programação.

Para este projeto foi escolhida a linguagem Object Pascal através doambiente de desenvolvimento Borland Delphi versão sete. A escolha destalinguagem levou em conta sua grande biblioteca voltada a objetos e o grandenúmero de componentes desenvolvidos para este ambiente de programação.

3.2.2.1 Sistema de controle de residências

A principal função do sistema é informar ao usuário o estado de toda aresidência bem como permitir que o mesmo possa interagir com os diversoscomponentes presentes na rede, como por exemplo, acender luzes ou verificaros sensores de presença.

Para o projeto foram usados vários componentes comuns de

desenvolvimento Delphi e um componente especifico, chamado COMport(gratuito até a versão 1.3), para realizar a comunicação com a porta serialvirtual criada pelo microcontrolador.

Com este componente é possível ler e escrever na porta serial utilizandosimplesmente as respectivas funções read() e write() do componente,passando como parâmetros o pacote a ser escrito e seu tamanho.

Devido a essa facilidade na comunicação a interpretação dasmensagens se torna dinâmica fazendo com que o programa consiga interpretarde três a quatro mensagens por segundo, que para automação residencial é

um ótimo valor, levando em consideração que para acionar um alarme ou

Page 40: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 40/54

 

51

iniciar a gravação de uma câmera demora-se em média 200 a 500milissegundos.

O sistema desenvolvido possui três funções principais: a funçãofindUSBCANTarget, a função getUSBCAN e a função sendUSBCAN. O códigodestas funções se encontra anexo a este trabalho.

A função findUSBCANTarget tem por objetivo localizar um componenteCAN através de mensagens definidas. Por exemplo, o sistema enviaria umRemote Frame com o identificador da mensagem e em seu campo RTR um bitdominante para informar que o componente que receber esta mensagem epossuir o mesmo identificador deverá enviar outro Remote Frame para obarramento. Esta função então é responsável por enviar um remote frame eescutar a porta até que outro quadro com a mesma identificação seja recebido,se for recebido corretamente o componente está presente no barramento.

As funções getUSBCAN e sendUSBCAN são responsáveis por ler eescrever respectivamente pacotes CAN no barramento. Estas funções sãousadas para a interação com toda a rede. Através de procedimentos definidosbasta utilizarmos as funções descritas acima para interpretar os dadosrecebidos e mostrar na tela o estado dos componentes.

A seguir são apresentados os fluxogramas de funcionamento dasfunções getUSBCAN e sendUSBCAN:

Figura 25 - Fluxograma da função sendUSBCAN

Page 41: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 41/54

 

52

Figura 26 - Fluxograma da função getUSBCAN

Como em automação residencial os dados enviados por equipamentospode ser maior do que 8 bytes, é necessário que haja uma função que verifiqueo tamanho dos dados e os fracione em pacotes menores. Para isso énecessário utilizar alguns bytes da área de dados para indicar qual fração do

pacote está sendo encaminhado.Esta função seria muito útil no caso de câmeras de vigilância, ou entãoem um sistema distribuído de áudio, onde os pacotes multimídia possuemtamanhos de alguns quilobytes.

3.2.3 Exemplos de Mensagens

Como em uma residência o número de nós presentes na rede é

pequeno, optou-se por desenvolver uma aplicação simples e que se comunique

de forma direta utilizando o protocolo CAN 2.0A com 11 bits de identificação. A

seguir é analisado um exemplo de rede residencial CAN, mostrando como a

identificação do nó atua como forma de priorização de mensagens.

Page 42: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 42/54

 

53

3.2.3.1 Equipamentos de uma residência 

Uma residência comum no Brasil possui pelo menos quatro cômodos,sendo estes: uma sala, um quarto, uma cozinha e um banheiro. Para

exemplificar a utilização dos identificadores a distribuição de eletrodomésticos

nesta residência se dará da seguinte forma:

Na sala existem um aparelho de som, uma televisão, um computador

pessoal, cinco tomadas de 110V e uma lâmpada. 

Na cozinha estão presentes a geladeira, um fogão elétrico, um forno

micro-ondas, cinco tomadas e uma lâmpada. 

No quarto existem uma televisão, quatro tomadas e uma lâmpada.

E no banheiro apenas duas tomadas. 

A residência também possui um sistema de alarme (juntamente com o

integrador CAN) e controle eletrônico de portas. 

A partir do perfil de cada equipamento é possível dividir os

equipamentos em grupos de controle.Neste caso optou-se por dividir os eletrodomésticos por cômodos e

funcionalidade.

Deste modo obteve-se a seguinte configuração:

Page 43: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 43/54

 

54

Cômodo Equipamento Nível de Prioridade

Sala

Televisão Médio

Aparelho de Som Médio

Computador Pessoal MédioTomadas Baixo

Lâmpada Alto

Cozinha

Geladeira Médio

Fogão Elétrico Médio

Forno Microondas Médio

Tomadas Baixo

Lâmpada Alto

QuartoTelevisão Médio

Tomadas Baixo

Lâmpada Alto

BanheiroTomadas Baixo

Lâmpada AltoControle de Portas AltoSistema de Alarme Alto

Tabela 5 - Níveis de prioridade dos equipamentos

Page 44: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 44/54

 

55

Seguindo a lógica de arbitragem foram escolhidos os identificadores de

cada equipamento como mostra a tabela a seguir:

Identificador (bits)Equipamento b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 Nível

Alarme 0 0 0 0 0 0 0 0 0 1 0 0 Alto

Controle de Portas12 0 0 0 0 0 0 0 0 0 1 1 1

Lâmpada Sala 0 0 0 0 0 0 0 1 0 0 0 0Lâmpada Cozinha 0 0 0 0 0 0 0 1 1 0 0 0Lâmpada Quarto 0 0 0 0 0 0 0 1 1 1 0 0

Lâmpada Banheiro 0 0 0 0 0 0 0 1 1 1 1 0Computador Pessoal 0 0 0 0 0 1 0 0 0 0 0 0

Médio

Televisão da Sala 0 0 0 0 0 1 1 0 0 0 0 0Aparelho de Som 0 0 0 0 0 1 1 1 0 0 0 0Geladeira 0 0 0 0 0 1 1 1 1 0 0 0Fogão elétrico 0 0 0 0 0 1 1 1 1 1 0 0Microondas 0 0 0 0 0 1 1 1 1 1 1 0

Televisão do Quarto 0 0 0 0 0 1 1 1 1 1 1 1Tomada 1 da Sala (TS1) 1 0 0 0 0 0 0 0 0 0 0 0

Baixo

TS2 1 0 1 0 0 0 0 0 0 0 0 0

TS3 1 0 1 1 0 0 0 0 0 0 0 0

TS4 1 0 1 1 1 0 0 0 0 0 0 0TS5 1 0 1 1 1 1 0 0 0 0 0 0Tomada 1 da Cozinha(TC1) 1 0 1 1 1 1 1 0 0 0 0 0

TC2 1 0 1 1 1 1 1 1 0 0 0 0TC3 1 1 0 0 0 0 0 0 0 0 0 0TC4 1 1 1 0 0 0 0 0 0 0 0 0

TC5 1 1 1 1 0 0 0 0 0 0 0 0Tomada 1 do Quarto (TQ1) 1 1 1 1 1 0 0 0 0 0 0 0TQ2 1 1 1 1 1 1 0 0 0 0 0 0

TQ3 1 1 1 1 1 1 1 0 0 0 0 0TQ4 1 1 1 1 1 1 1 1 0 0 0 0TQ5 1 1 1 1 1 1 1 1 1 0 0 0Tomada 1 do Banheiro(TB1) 1 1 1 1 1 1 1 1 1 1 0 0

TB2 1 1 1 1 1 1 1 1 1 1 1 0Tabela 6 - Exemplo de identificadores de mensagem

12

 Para o controle de portas cada porta possui um identificador passado juntamente com os dados do pacote. 

Page 45: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 45/54

 

56

Este exemplo serve para mostrar o método de priorização de

mensagens, e detecção de erros a partir de seu identificador. Seguindo o

princípio de dominância de bits, as mensagens com baixo nível de prioridade

possuem um bit recessivo logo no começo do seu identificador, e conforme

aumenta o nível de prioridade o código binário do identificador diminui. Cada

equipamento ira filtrar somente as mensagens contendo seu próprio

identificador, mostrando que a comunicação utilizando o protocolo CAN é uma

comunicação totalmente segura, pois cada equipamento só opera se seu

identificador foi reconhecido.O protocolo CAN permite muitas outras configurações, o exemplo

acima poderia ser refeito de modo que cada nível de prioridade possuísse um

identificador fixo e cada equipamento possuiria um identificador passado como

um dado no pacote.

A escolha do padrão de mensagens é feita de modo singular levando em

conta as prioridades desejadas, a freqüência de uso de cada equipamento e a

função deste na rede. 

Page 46: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 46/54

 

57

4 CONCLUSÕES

Os sistemas de automação residencial necessitam ser seguros,confiáveis e principalmente possuírem um baixo custo de instalação. Assim

sendo, cada projeto deve realizar a melhor combinação destas características,

para que haja maior conforto e economia para o usuário.

Para a realização deste trabalho foi escolhido uso do protocolo CAN

para a comunicação de dados entre os diversos componentes do sistema. Esta

escolha levou em consideração a flexibilidade na camada de aplicação do

protocolo, a possibilidade da rede CAN ser controlada por diversos nós, e seu

excelente código de detecção e correção de erros.

A rede CAN também se mostrou econômica no quesito cabeamento por

necessitar apenas de pares de fio trançados, que possuem baixo custo no

mercado.

A implementação do integrador também foi realizada visando às

características principais de um sistema de automação. Para isto, foi utilizado

um computador pessoal rodando uma aplicação desenvolvida em linguagem

Object Pascal.

A interface entre o computador e o barramento foi desenvolvida através

de uma placa desenvolvida pela empresa InTRACK, para utilizar portas de

comunicação USB do computador. Esta placa utiliza componentes de baixo

custo comparado com placas desenvolvidas para se comunicarem diretamente

com a rede CAN.

Através deste trabalho foi possível perceber que aplicações residenciais

de controle podem ser realizadas utilizando-se componentes de baixo custo e

protocolos flexíveis. Isso aumenta a popularização de casas inteligentes. Mas

para que esta popularização se dê de forma correta, é necessário investimento

na criação de componentes simples e seguros e na padronização de estruturas

de rede de alto desempenho.

Page 47: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 47/54

 

58

REFERÊNCIAS BIBLIOGRÁFICAS

VOSS, Winfred, 2002. Comprehensible Guide To Controller Area Network. 

Copperhill Technologies Corporation.

PINHEIRO, José Maurício Santos, 2006. ZigBee em Home Area Network.

Projeto de Redes. Disponível em: http://www.projetoderedes.com.br. Acesso

em 25/02/2006.

INTILLE, S., Designing a Home of the Future. Massachusetts Institute ofTechnology. Pervasive Computing.

MESSIAS, A. R. Porta Paralela. Disponível em:

<http://www.rogercom.com/index.htm>. Acesso em 07/09/2009.

ZigBee® Wireless Standard. Disponível em: <http://www.digi.com/technology/rf-

articles/wireless-zigbee.jsp Acesso em 15/09/2009>.

ZigBee Tutorials. Disponível em: <http://www.tutorial-

reports.com/wireless/zigbee/zigbee-architecture.php> Acesso em 15/09/2009.

CEBus. Disponível em:

<http://www.hometoys.com/htinews/aug97/articles/kwacks/kwacks.htm> Acesso

em: 17/09/2009

ICP DAS, Placa PISO-CAN 200-E. Disponível em:

<http://www.icpdas.com/products/Remote_IO/can_bus/piso-can200e.htm>

Acesso em: 20/09/2009

PLS, Placa PC276, Disponível em: <http://www.pls-

mc.com/content/view/32/47/> Acesso em: 20/09/2009

Page 48: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 48/54

 

59

Kvaser, Placa PCIcanx HS/HS. Disponível em:

<https://secure.assurebuy.com/98057/98057.htm> Acesso em 25/09/2009 

Microchip, Datasheet PIC18F2455. Disponível em:

<http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId

=1480>. Acesso em: 28/09/2009

Microchip, Datasheet DSPIC33FJ256GP710. Disponível em:

<http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en024679

> Acesso em: 28/09/2009

Leão, Marcelo, 2003. Curso Completo Borland Delphi 7. Axcel Books do

Brasil.

Aureside. Disponível em: <http://www.aureside.org.br/> Acesso em: 07/09/2009

Saber Eletrônica, Rede CAN: a troca de dados em aparelhos eletrônicos.Disponível em: <http://www.sabereletronica.com.br/secoes/leitura/1301>

Acesso em: 04/10/2009

CAN in Automation. Disponível em: <http://www.can-cia.org> Acesso em:

09/11/2009

Page 49: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 49/54

 

60

ANEXOS

1. Funções Delphi

1.1 FindUSBCANTarget

procedure TfrmPrincipal.findUSBCANTarget; 

var i,j: Integer;

serverResponse, porta: LongWord;

begin

if not Port.Connected thenbegin

Port.Timeouts.ReadInterval := 50;

porta:= $FEAD1234;

txdata[0] := $40; // START

txdata[1] := Make8($FEAD1234,3); // MID01

txdata[2] := Make8($FEAD1234,2); // MID02txdata[3] := Make8($FEAD1234,1); // MID03

txdata[4] := Make8($FEAD1234,0); // MID04

txdata[5] := $1; // EXTENDED IDENTIFIER

txdata[6] := $0; // RETURN REQUEST

txdata[7] := $0; // NUMBER OF DATA BYTES

txdata[8] := $0; // DB00

txdata[9] := $0; // DB01txdata[10] := $0; // DB02

txdata[11] := $0; // DB03

txdata[12] := $0; // DB04

txdata[13] := $0; // DB05

txdata[14] := $0; // DB06

txdata[15] := $0; // DB07

txdata[16] := CheckSum; // CHECKSUM

Page 50: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 50/54

 

61

txdata[17] := $0D; // STOP <CR>

Port.Open;

for i:=0 to 17 do

Port.Write(txdata[i],1);

sleep(60);

for i:=0 to 17 do

Port.Read(rxdata[i],1);

serverResponse := Make32(rxdata[8], rxdata[9], rxdata[10], rxdata[11]);

if (serverResponse = porta) then

begin

mmCAN.Lines.Add('Dispositivo CAN Encontrado e Conectado.');

mmCAN.Lines.Add('');

SendUSB($FEAD1000, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);

btCal.Enabled := True;

btnDesconectar.Enabled := True;btnConectar.Enabled := False;

Exit;

end;

Port.ClearBuffer(True,True);

end;

end;

1.2 getUSBCAN

function TfrmPrincipal.getUSBCAN(mensagem: LongWord; EXT, RTR, NB,

DB0, DB1, DB2, DB3, DB4, DB5, DB6, DB7: Byte):Boolean; 

var i: Integer;

begin

Page 51: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 51/54

 

62

try

for i:=0 to 17 do

rxdata[i] := $0

Port.Timeouts.ReadInterval := 250;

txdata[0] := $40; // START

txdata[1] := Make8(mensagem,3); // MID01

txdata[2] := Make8(mensagem,2); // MID02

txdata[3] := Make8(mensagem,1); // MID03

txdata[4] := Make8(mensagem,0); // MID04

txdata[5] := EXT; // EXTENDED IDENTIFIERtxdata[6] := RTR; // RETURN REQUEST

txdata[7] := NB; // NUMBER OF DATA BYTES

txdata[8] := DB0; // I2C DB00

txdata[9] := DB1; // I2C DB01

txdata[10] := DB2; // I2C DB02

txdata[11] := DB3; // I2C DB03

txdata[12] := DB4; // I2C DB04txdata[13] := DB5; // I2C DB05

txdata[14] := DB6; // I2C DB06

txdata[15] := DB7; // I2C DB07

txdata[16] := CheckSum(); // CHECKSUM

txdata[17] := $0D; // STOP <CR>

if Port.Connected then

beginfor i:=0 to 17 do

Port.Write(txdata[i],1);

sleep(60);

for i:=0 to 17 do

Port.Read(rxdata[i],1);

if (rxdata[1] = $0) and (rxdata[2] = $0) and (rxdata[3] = $0) and (rxdata[4] =

Page 52: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 52/54

 

63

$0) then

begin

Result := False;

Port.ClearBuffer(True,True);

Exit;

end;

if ((rxdata[1] = 0) and (rxdata[2] = 0) and (rxdata[3] = 0))then

Result:= False;

Result:= True;

end

elsebegin

TimerRun.Enabled := False;

btRun.Caption := 'Run';

ShowMessage('Dispositivo Não Conectado!');

Result:= False;

end;

Port.ClearBuffer(True,True);except

on E : Exception do

begin

Result:= False;

Port.ClearBuffer(True,True);

Log.AdicionarErroCritico(E, 'Erro ao ler dados USB.');

end;end;

end;

1.3 sendUSBCAN

procedure TfrmPrincipal.sendUSB(mensagem: LongWord; EXT,RTR, NB,

DB0, DB1, DB2, DB3, DB4, DB5, DB6, DB7: Byte); 

Page 53: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 53/54

 

64

var i:Integer;

begin

Sleep(25);

txdata[0] := $40; // START

txdata[1] := Make8(mensagem,3); // MID01

txdata[2] := Make8(mensagem,2); // MID02

txdata[3] := Make8(mensagem,1); // MID03

txdata[4] := Make8(mensagem,0); // MID04

txdata[5] := EXT; // EXTENDED IDENTIFIER

txdata[6] := RTR; // RETURN REQUEST

txdata[7] := NB; // NUMBER OF DATA BYTEStxdata[8] := DB0; // I2C DB00

txdata[9] := DB1; // I2C DB01

txdata[10] := DB2; // I2C DB02

txdata[11] := DB3; // I2C DB03

txdata[12] := DB4; // I2C DB04

txdata[13] := DB5; // I2C DB05

txdata[14] := DB6; // I2C DB06txdata[15] := DB7; // I2C DB07

txdata[16] := CheckSum(); // CHECKSUM

txdata[17] := $0D; // STOP <CR>

if Port.Connected then

begin

for i:=0 to 17 doPort.Write(txdata[i],1);

end

else

ShowMessage('Dispositivo Não Conectado!');

Port.ClearBuffer(True,True);

end;

Page 54: Can Open Aberto

5/12/2018 Can Open Aberto - slidepdf.com

http://slidepdf.com/reader/full/can-open-aberto 54/54

 

65