Desenvolvimento com PSoC

Software e Hardware para uC PSoC

Moderadores: andre_luis, 51

Desenvolvimento com PSoC

Mensagempor Ricardo_Franco » 12 Fev 2007 09:54

Ola Senhores.
Quero postar o desenvolvimento que acabei de terminar com o PSoC, e com isso mostrar algumas das inúmeras possibilidades que temos com esse pequeno grande notável.

Em post futuro irei colocar o vídeo do funcionamento no youtube (primeiro preciso aprender a fazer isso).

O sistema é uma pequena central de intertravamento que se comunica com um Modem GSM e envia dados (nesta primeira fase do projeto SMS), para até 5 telefones celulares.

Imagem

Na parte de baixo da placa temos duas seriais:
1ª-) Conversa com o modem, através de comandos de modem AT+ ...
2ª-) É para console, conectada a um micro ela envia dados do estatus do equipamento, alem de possibilitar o cadastro dos 5 números de telefone e das frases que serão enviadas caso uma das 12 entradas detectem alguma anormalidade
Para o funcionamento do sistema o mesmo não precisa estar conectado a um PC, ele é totalmente autônomo.

No meio da placa temos um PSoC CY8C29466 PDIP, é praticamente todo o hardware da placa, pois o resto são line drivers e fonte.

E acima temos um LCD 16X2 com back-ligth verde. Este mostra ao operador da maquina o estatus dos sensores.

E ao lado entradas para monitorar o funcionamento de 12 variaveis digitais (apenas on/off).

Para este desenvolvimento eu utilizei os seguintes blocos do PSoC:

2 UARTS, para as comunicaçãoes acima mencionadas.
1 LCD: inclusive utilizei a função de bargraf, muito interessante.
1 E2PROM: Sabemos que o PSoC não possui E2PRom, mas este bloco emula a memória E2PRom na própria flash do PSoC, com isso consigo guardar os dados de cadastro do telefone e mensagens de cada entrada, na memória permanente.
PWM: Apenas uma frescura que possibilita o ajuste de intensidade do BackLigth do display.
Timer: para checagem cíclica, de operação do modem, de tempos em tempos eu pergunto se o modem ainda está lá.

Foto do modem:
Imagem

Foto do sistema montado:
Imagem

Funcionamento:
Ao ligar a eletrônica a mesma espera um tempo para o modem carregar seu sistema, enquanto isso exibe a mensagem de saudação pelo LCD. Após o modem inicializar seu sistema básico, o PSoC realiza o boot strap, do modem inicializando algumas variáveis e setando alguns parâmetros do modem conforme a necessidade do projeto.
Depois de tudo pronto ele fica verificando a entrada de 12 sensores conectado ao equipamento móvel que pretendo monitorar.
Antes de tudo deve-se cadastrar pelo menos um telefone celular que ira receber as mensagens (SMS) da central, posso cadastrar até 5 telefones, e preciso também cadastrar as mensagens que serão exibidas caso algumas das entradas encontre alguma anormalidade, cada entrada tem sua frase customizada pelo usuário com até 16 caracteres.
Caso um das entradas encontre uma anormalidade, imediatamente o PSoC envia SMS correspondente a entrada para os telefones previamente cadastrados, depois quando o sensor se abrir novamente ou seja aquela anormalidade já foi sanada, ele envia outro SMS para avisar do ocorrido.
Essa é a primeira fase que está em teste com o cliente.
Para uma segunda fase, teremos um sistema bi-lateral, onde possamos atuar no problema a distancia, o protocolo usado será o GPRS, pois é mais estável, e barato do que ficar trocando SMS entre os módulos.

Ricardo Franco
Ricardo_Franco
Byte
 
Mensagens: 305
Registrado em: 11 Out 2006 20:53
Localização: Campinas - SP

Mensagempor MARCANTONIO » 13 Fev 2007 01:23

Ricardo,

Antes de mais nada parabéns. Ficou animal. :shock:

Você utilizou o PSoC Express ou o PSoC Designer?

Abraços
Avatar do usuário
MARCANTONIO
Bit
 
Mensagens: 49
Registrado em: 02 Jan 2007 18:26
Localização: São Paulo

Mensagempor KrafT » 13 Fev 2007 07:11

Ricardo, você usou algum recurso específico do Psoc nesse projeto? Tipo assim, algo que outro mcu não tem?
"..."Come to the edge," he said. And so they came. And he pushed them. And they flew."― Guillaume Apollinaire
Avatar do usuário
KrafT
Dword
 
Mensagens: 2228
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Mensagempor Ricardo_Franco » 13 Fev 2007 09:19

Ola Senhores.


Marcantonio:
“Ricardo,
Antes de mais nada parabéns. Ficou animal.
Você utilizou o PSoC Express ou o PSoC Designer?
Abraços”

Obrigado Marcantonio, utilizei o Designer, programando em C, (pois em assembly seria um absurdo), a manipulação de vetores de caracteres é muito intensas para essa aplicação, inclusive apanhei muito do PSoC, pois como falei em alguns posts anteriores, o PSoC Designer não trata a manipulação das strings exatamente igual ao turbo C, logo utilizei ponteiros para todos os lados, tive alguns problemas com sujeira na memória, enfim deu muito trabalho nesta parte, mas o fato de alguns blocos já estarem prontos, LCD, E2PROM, UART, facilitou pelo outro lado. E agora que eu já entendi como funcionam essas strings, uma próxima aplicação fica mais fácil.

Kraft
“Ricardo, você usou algum recurso específico do Psoc nesse projeto? Tipo assim, algo que outro mcu não tem?”

Kraft, não exatamente, mas eu utilizei algumas características, por exemplo, adicionar duas UARTs, a maioria dos microcontroladores não tem duas UARTs (Eu sei que alguns possuem sim), outra grande vantagem foi o Layout da placa, pois eu posso definir onde serão ligados os pinos, na maioria dos microcontroladores isso é fixo, logo minha placa não tem jumper por baixo, toda a ligação foi customizada, pela facilidade de ligações dos pinos em matriz chaveada (Se não me engano somente FPGA’s tem esse recurso).
Mas nesse momento não utilizei nenhum bloco analógico ou coisa assim. Mesmo assim em minha opinião essa é a maior vantagem do PSoC, pois se eu precisasse dos AD,DA, etc... eles estariam lá seria somente pegar e usar (depois de algum esforço é claro).

A próxima aplicação que está engatilhada, apenas falta o aval do cliente, eu vou utilizar os recursos analógicos do PSoC, pois tenho que monitorar as caixas d‘água metropolitanas de uma cidade vizinha a Campinas, então preciso ler por um pressostato proporcional o nível d’água, processar a informação atuar nas bombas que estão na subestação utilizando novamente o modem GSM, e comunicar uma central.
Vamos ver quando sai, depois eu do um toque aqui pro fórum.

Ricardo Franco
Ricardo_Franco
Byte
 
Mensagens: 305
Registrado em: 11 Out 2006 20:53
Localização: Campinas - SP

Mensagempor KrafT » 18 Fev 2007 11:00

Ricardo esse chip tá $8,69 na digikey. É um tanto caro.

Por esse valor dá pra compra um Z8F3221 que tem 29 I/O's e é 40 PDIP. Alem do compilador free, ótimo debug etc.

PS: Estou falando sem conhecer os recursos adicionais do PSOC, só preço por preço...

Falar em preço por preço os ARM7 da NXP (dessa faixa de preço) me deixam mal, muito mal... Tipo cachorro esfomeado na frente daquelas paradas de assar frango...
"..."Come to the edge," he said. And so they came. And he pushed them. And they flew."― Guillaume Apollinaire
Avatar do usuário
KrafT
Dword
 
Mensagens: 2228
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Mensagempor Ricardo_Franco » 18 Fev 2007 12:38

Ola Senhores.
Kraft muito inteligente sua colocação, muitas vezes ficamos tão bitolados em algo que não olhamos em volta, é sempre bom ter pessoas assim no grupo. Agora farei minhas colocações.
Não acho que o PSoC seja o único ou o melhor microcontrolador que exista, mas ele sana minhas necessidades de forma muito fácil e pratica.
Vamos fazer um pequeno comparativo.

Zilog
# 20MHz ZiLOG eZ8 microprocessor soft core

PSoC
24Mhz M8C 8 bits core, e um MAC de 32 btis (utilizado para fazer multiplicações sucessivas como um DSP)

Zilog
# 32KB Flash program memory
# 2KB register RAM

PSoC
32KB flash
2Kb de Ram ( eu não conheço direto o Chip da Zilog, mas não vi nenhuma citação a E2Prom)
E2PROM Emulation. (Utiliza espaço da Flash)

Zilog
# 8-channel 10-bit A/D converter

PSoC
Até 4 AD’s de 6 a 14bits e podemos utilizar até 2 mux de 8 bits, então seriam 16 canais

Zilog
# Three 16-bit timers with PWMs and capture and compare

PSoC
Até 8 PWM’ de 16 bits.

Zilog e PSoC
# Watch-Dog Timer

Zilog
# 29-31 general-purpose I/Os
# 23 vectored interrupts
# Power-on reset and voltage brown-out

PSoC
24 Pinos de I/O
26 vetores de interrupção
Power on reset, Voltage Brow out. SMP (Pump que a partir de uma bateria de 1,4V, gera uma tensão de 5V).

Zilog
# Full-duplex SPI, I2C, and 2 UART ports with IrDA encoder/decoder

PSoC
SPI, I2C, IrDA, CRC, e até 4 UART’s

Zilog
# 3-channel DMA controller
# On-chip debug with break and trap capability,

PSoC
Não tem

Zilog
# Single-pin Flash programming

PSoC
Pelo menos dois pinos SCLK, SDATA

Zilog
# 3.0 to 3.6 operating voltage

PSoC
3,3V em 6Mhz (baixo consume)
3,3V em 24Mhz.
5V em 6Mhz.
5V em 24Mhz.

Zilog
# Standard (0 to 70) and extended (-40 to 105) temperature range

PSoC
Range industrial -40 a +85º

Zilog
# 40-pin PDIP and 44-pin PLCC/LQFP packages

PSoC
28Pinos PDIP – SSOP – SOIC (modelo CY8C29666 possui 48 pinos encapsulamento MLF)

Zilog
Timer/counter 16 bits

PSoC
Timer/Counter 8, 16, 24, 32bits

PSoC
Amplificador operacional inversor de ganho programável, ou de instrumentação

Zilog
Não tem.

PSoC
Discador DTMF

Zilog
Não tem

PSoC
DAC de até 9 bits

Zilog
Não tem

PSoC
Filtro passa faixa e passa baixa

Zilog
Não tem.

PSoC
Interfaces prontas de
LCD
Display de Set segmentos multiplexados

Zilog
Não tem (não em blocos, pode ser na IDE não conheço a IDE).

PSoC
Gerador de sequencia aleatória de até 32 bits

Zilog
Não tem.

PSoC
Sensor de temperatura interno.

Zilog
Não tem.

Custo do componente (www.farnell.com.br)
Zilog – R$39,05 a R$43,08 (Z8F3221)
PSoC – R$24,87 a R$28,53 (CY8C29466)

Conclusões finais (pelo menos a minha).
O PSoC é um pouco mais barato que o Zilog, mas estão muito próximos em questão de preços. Pois para as aplicações que tenho feito, se a diferença for de até R$30,00 entre os componentes, esse não seria o fator decisivo pelo escolha de um ou de outro. Pois nesta aplicação que fiz com o modem só o modem custou quase R$400,00, ou seja não será R$30,00 que ira mudar o valor do projeto.
Como pudemos ver em questão de core ambos são muito parecidos os 4 Mhz a mais que o PSoC possui não fax uma diferença real no processamento. Portanto ambos são digitalmente muito semelhantes.
Agora na parte analógica o PSoC é bem superior nos dando mais possibilidades e ferramentas de trabalho com o hardware absurdamente reduzido.
Vejamos outro detalhe, a Cypress é uma das poucas empresas que conmheço que manda samples para o Brasil, a Zilog faz isso? (realmente eu não sei)
Eu já pedi duas vezes as amostras e vieram sem nenhum problema.
Então por esses fatores eu escolheria o PSoC sem a menor sombra de dúvida.
Mas também temos contras. O PSoC é uma ferramenta muito nova, por isso não temos literatura, pessoas que saibam utilizar todo o seu potencial, etc.
Por isso seu começo é muito difícil, já o Zilog é bem mais conhecido e difundido (não sei exatamente essa ferramenta como é), por isso imagino que seja mais fácil de começar.(apesar que depois de engrenado o PSoC deslancha).
Bom falando dos ARM’s esses eu sou louco para conhecer, ARM’s e DSP’s, nunca mexi com esses caras, mas logo que tiver um tempinho vou brincar um pouquinho com eles.

Espero ter ajudado.

Ricardo Franco
Ricardo_Franco
Byte
 
Mensagens: 305
Registrado em: 11 Out 2006 20:53
Localização: Campinas - SP

Mensagempor KrafT » 18 Fev 2007 14:16

Então Ricardo...

Eu sou um dos que tem pavor dos ARM, mas os da NXP quase me obrigam a superar o tabú...

Falei da Zilog por que uso e gosto deles, assim como vc gosta dos PSOC.

Eu concluo que se não usar os blocos analógicos o Psoc é caro, mas se utilizar, ele deve ser uma boa escolha, só que aí me falta conhecimento para argumentar.


Se quisessemos discutir eu diria: O Z16F2810 custa 8,65 lá fora em tem capacidade de cálculo tipo DSP, é 16 bits, mas por esse preco posso comprar um LPC2144, etc, etc etc... "...ad infinitum"

Ah, samples da Zilog só via Nishicom.
"..."Come to the edge," he said. And so they came. And he pushed them. And they flew."― Guillaume Apollinaire
Avatar do usuário
KrafT
Dword
 
Mensagens: 2228
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Mensagempor Ricardo_Franco » 18 Fev 2007 16:46

Ola Senhores.
É isso mesmo Kraft, eu não acho que o PSoC é a única solução para tudo (pelo contrario), apenas acho uma solução eficaz por trazer em um único dispositivo quase todas as minhas necessidades.
Mas nos comparativo que fiz vimos que em preço e dispositivos digitais o PSoC e o Zilog são praticamente idênticos, ou seja podemos nos dar ao luxo de escolher os dispositivos simplesmente por afinidade ou gosto.
Antigamente não era possível esse tipo de escolha, e sim apenas pelo que tínhamos no mercado.
Salvem os PSoC e Zilog’s.

Ricardo Franco
Ricardo_Franco
Byte
 
Mensagens: 305
Registrado em: 11 Out 2006 20:53
Localização: Campinas - SP

Mensagempor Iran » 19 Fev 2007 03:20

Sobre a questão de preço, um comentário que achei interessante foi a estória do cozinheiro contada por jean aqui nesse tópico

http://asm51.eng.br/phpBB/viewtopic.php ... sc&start=0
Avatar do usuário
Iran
Word
 
Mensagens: 558
Registrado em: 16 Out 2006 18:10
Localização: Imperatriz - MA

Mensagempor Ricardo_Franco » 19 Fev 2007 17:25

Ola Senhores.
Fantástico Iran, eu penso da mesma forma, como disse antes, hoje podemos nos dar ao luxo de escolher a munição para a nossa arma, por n razões inclusive afinidade, por isso o preço do hardware não é o principal motivo da aquisição do mesmo (é lógico que é levado em conta), mas um conjunto de fatores, e isso depende de projeto para projeto.
Ricardo Franco
Ricardo_Franco
Byte
 
Mensagens: 305
Registrado em: 11 Out 2006 20:53
Localização: Campinas - SP

Mensagempor Ricardo_Franco » 21 Fev 2007 12:40

Ola Senhores.
Acabaram de chegar alguns PSoC que pedi para a Cypress (como amostra é claro).
Componentes:
CY8C29466 (SMD)
CY8C29666 (SMD)
CYWUSB6953 (QFN)
O ultimo é um PRoC e os demais são PSoC’s de 28 e 48 patinhas.
Pedi componentes SMD, pois estou começando a montar um novo desenvolvimento.
Um aeromodelo com câmera, por isso a eletrônica deve ser muito leve e compacta.
A idéia é muito simples, tenho um camarada que conhece sobre aeromodelos (eu não sei nada), eles montam aeromodelos muito bonitos com um material chamado depron, o mais interessante é de onde eles tiram esse material...
Das bandejinhas de frios que compramos em supermercados.
Por isso um aeromodelo médio com uns 60 cm de envergadura custa cerca de R$60 reais completinho, tirando apenas a parte do radio controle.
É ai que entra o PRoC, eu vou utilizar um controle de PlayStation (made in Paraguay) retirar toda a eletrônica e aproveitar a estrutura e os sticks (aqueles potenciômetros).
No aeromodelo vou colocar um outro PRoC e comando-lo via radio com 2.4 GHz, como essa freqüência é muito alta tenho uma banda passante muito grande, e como o PRoC fala protocolo USB, quero desmontar uma WEB CAM, pegar seu CCD e colocar no aeromodelo transmitindo imagens em tempo real para um PC.
Acho que deve funcionar, agora só estou esperando o KIT de PRoC que já foi pedido, sei que vai demorar um pouco para chegar (mas chega... sei disso),e nesse meio tempo preciso montar o aeromodelo.
O que vocês acham?
Quem sabe isso não vira um Application Note?

Ricardo Franco
Ricardo_Franco
Byte
 
Mensagens: 305
Registrado em: 11 Out 2006 20:53
Localização: Campinas - SP

Mensagempor MARCANTONIO » 21 Fev 2007 13:32

Ricardão,

Eu sou aeromodelista também.

Achei muito interessante a sua idéia. Pode contar comigo no que for necessário.

P.S.: Esse kit para PRoC é gratuito?

Abraços
Avatar do usuário
MARCANTONIO
Bit
 
Mensagens: 49
Registrado em: 02 Jan 2007 18:26
Localização: São Paulo

Mensagempor Ricardo_Franco » 21 Fev 2007 16:22

Ola Senhores

Marcos na verdade não é um KIT completo, é apenas a interface com o soquete para encapsulamento QFN.
O MiniProg, eu vou usar o meu que veio no KIT grátis!
De uma olhada no PRoC que quero usar.(Ainda estou pensando em como fazer as soldas).
http://www.cypress.com/portal/server.pt ... CYWUSB6953

Este é o KIT(na verdade somente a interface de soquete).
http://rapidshare.com/files/17595392/PR ... r.pdf.html

E o KIT não é de graça. Eu vou ver se consigo o preço e depois divulgo aqui no site.

OS: Estou pensando em montar um modelo do avião B-17, vamos ver se saiu.

Ricardo Franco
Ricardo_Franco
Byte
 
Mensagens: 305
Registrado em: 11 Out 2006 20:53
Localização: Campinas - SP


Voltar para Cypress

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x