16 Julho 2010

Pulsos de clock

Nissan_Dualis_Robot

          Tenho um professor que sempre diz que o mundo não deve ser adaptado aos robôs, e sim os robôs que devem adaptar-se ao mundo. Certamente isso é uma grande verdade, que possui agregada consigo o fato de que precisa haver um esforço por parte do projetista para fazer essa adaptação. E nem tudo são linhas escuras a serem seguidas, caminhos planos, e elevações uniformes no ambiente em que seu robô vai interagir. É preciso dar ao hardware todo o tipo de sensores, e programá-lo com inteligência suficiente, pensando sempre um passo a frente de todas as possibilidades de problemas que possam acometê-lo, para fazer o danado viver executar direito. Esse trabalho, antes de tudo, demanda a habilidade da criação; o controle total sobre a existência de uma entidade artificialmente criada. Enquanto a inteligência for artificial, você é um deus, e o robô é o seu livre arbítrio.

          E é com esse parágrafo de impacto que venho dizer que estou de férias, e pronto para retomar as atividades no blog! Isso significa continuação dos tutoriais de microcontroladores vindo aí. :P

          E quem quiser ir comprando a sua breakout board (abreviação bonitinha para microcontrolador-adaptado-para-conectar-facilmente-via-usb), aqui vai o link de onde comprei o meu:
http://www.grandeideiaestudio.com.br/category.php?id_category=6

o microcontrolador usado é o PIC18F2550 da Microchip, e o datasheet dele pode ser encontrado aqui. Se você não sabe o que são microcontroladores, pode ler isso aqui. Então é isso aí, to be continued.

07 Maio 2010

Hard News

amd-phenom-ii-x6-zonajugones.com

          Olá hard-leitores, venho informar que logo mais a noite tem post com um pequeno projeto de circuitos digitais! O blog tá largado aqui mais uma semana, e isso se explica pelo fato de que eu não vivo, não tenho tempo disso, minha vida se resume a engeharia da computação, e por si só isso já denuncia que eu não tenho namorada, não tenho tempo de sair (da faculdade), curtir a vida, dormir, ou ver TV. Minto! Eu via televisão as vezes, até dar de cara com matérias jornalísticas que informam que quem dorme pouco, vive menos. Não bastasse o fato de que deveria me formar em 2013, depois que o mundo acabar em 2012!

          De fato a vida está dura; não tenho dormido nem 4 horas por noite, e as pessoas me dizem que estou com cara de zumbi do Left 4 Dead.

blog_zombie_sleeping           Mas é isso aí, a união faz a força e estudar com os amigos é a solução. Manter o bom humor e a boa vontade também poupa muita bobagem. Resumindo: é para poucos esse zombienerd lifestyle.

          Bom, me animei esta semana quando vi que vão finalmente lançar os Phenom x6 da AMD. Na verdade já lançaram, mas não no nosso país tropical. No ebay já tem a linha nova, e, pasmem, muito barato. A galinha dos ovos de ouro agora, por enquanto, é o Phenom x6 1090T, com seus 3.2ghz, e um turbo boost que o faz chegar a 3.6ghz, custando apenas U$300 (compare com o preço dos i7). Sendo que o 1090T, além de ser danado de bom, é Black Edition, o que faz brilhar olhos e imaginação, desse povo entusiasta overclocker da vida. Só que eu não me animei porque quero comprar um Hexa Core, mas sim porque assim os X4 ficam mais baratos, e ficará mais fácil ter o sonhado Phenom II x4 965. Vejam no gráfico:

Phenom II X6 Cinebench 10

 

          Como pode dar sempre algo a mais errado na vida de um engenheiro de computação, o upgrade que eu planejava fazer no PC só no meio do ano, agora vai ter que ser feito de qualquer jeito porque minha placa mãe foi pro saco. Mas vamos lá, devagar e sempre. Mas de phenom x4. Até a próxima! o/

 

Compre seu phenom x4 aqui.

19 Abril 2010

O led no fim do túnel

         000_0193

          Tanto tempo sem postar, e faculdade pra dar conta. Tá osso. Mas agora, com as aulas de circuitos digitais, protoboard comprada, câmera capengando, mas funcionando, vai dar pra começar os tutoriais com vídeo sobre circuitos e microcontroladores. =D

          De quebra vou mostrar aqui meu projeto final da matéria, no fim do semestre. Como não fui uma criança feliz por brincar com eletrônica, é tudo bem fascinante pra mim ainda, então vou honrar essa série de posts que começa hoje!

          Pra começar vai aqui a lista de materiais que meu professor de circuitos digitais mandou comprarmos:

Resistor 1k 1/4w  
Resistor 390R 1/4w 
LED VERMELHO 
LED VERDE 
BC547    
CD4070   
CD4051  
CD4027 
CD4013   
CD4001   
CD4011   
CD4071    
CD4069    
CD4081  

          Os resistores limitam a corrente, pra não queimar dispositivos, os BC547 são os transistores, e os CD são circuitos de portas lógicas, tipo E, OU, NAND, NOR, XOR, NOT. Será feita uma descrição detalhada de cada componente, a cada vez que forem usados, sendo que tais peças são baratas, e podem ser encontradas no www.soldafria.com.br.

          Sendo que não pode faltar, jamais, nossa querida placa protoboard. Uma msb300 resolve, e pode ser encontrada por não mais que 50 reais. No próximo post começarei ensinando como usar uma protoboard, e até acenderei um led. *.*

31 Março 2010

Google fora do ar?

          Hoje vieram me dizer que o google tinha dado pau. Fiz a típica expressão ò__Ó e disse "impossível". Mas de fato, se não caiu, tá aos tropeços. o google.com está com um pong imenso, e a pesquisa foi de milisegundos para segundos mesmo, o orkut, e o youtube, nem arrisco abrir. Mas pelo que vejo o sistema está oscilando, e lerdando. Mas afinal, o que tá acontecendo??
          Talvez aqui tenha parte da resposta: http://www.adrenaline.com.br/telecom/noticias/4607/google-sofre-bloqueio-acidental-na-china.html

          É isso aí, talvez o pessoal do google esteja modificando a string, ou...

16 Março 2010

Portando blog

          Passando aqui só pra avisar que não postei ultimamente, pois estava migrando todas as imagens do blog, para outro servidor, basicamente porque na UFS o imageshack é bloqueado, pelo menos na rede do Brazil IP. E aí meu layout ficava desfigurado. ¬¬

          Mas enfim, estou elaborando um post sobre protoboards, pra que a Joanna continue a série de posts sobre portas paralelas! Como tenho que compreender a arquitetura de uma GPU ainda hoje, talvez esse post saia apenas amanhã! Aos meus possíveis leitores, um abraço, e comentem! @.@

14 Março 2010

Porta Paralela part #1 : TEORIA

O hard post de hoje irá descrever resumidamente a porta paralela. Embora a porta paralela já esteja em desuso ela pode-nos ser útil para desenvolvimento de alguns pequenos projetos.

Pré-requisitos: Conhecer um pouco da númeração binária

A Porta Paralela é uma interface de comunicação entre o computador e um periférico onde é possível o envio e recebimento de sinais digitais utilizando a transmissão em paralelo. Nesta forma de transmissão os grupos de bits são transferidos simultaneamente, ou seja, cada bit possui uma linha condutora de sinal ligando o circuito transmissor ao circuito receptor.  Desta forma, como vários bits são transmitidos simultaneamente a cada ciclo, a taxa de transferência de dados é alta.

  • Modelos de porta paralela

A porta possui modelos aos quais possuem diferentes taxas de transmissão de dados além de uma configuração diferente para a pinagem. Estes modelos são :

-Modelo SPP (Standard Parallel Port) : nesse modelo a porta paralela pode chegar a uma taxa de transmissão de dados a 150KB/s. Comunica-se com a CPU utilizando um BUS de dados de 8 bits.

-Modelo EPP ( Enhanced Parallel Port ) :pode chegar a atingir uma taxa de transferência de 2 MB/s. Para atingir essa velocidade, será necessário um cabo especial. Comunica-se com a CPU utilizando um BUS de dados de 32 bits. Para a transmissão de dados entre periféricos são usado 8 bits por vez.

-Modelo ECP (Enhanced Capabilities Port) tem as mesmas características que a EPP, porém, utiliza DMA (acesso direto à memória), sem a necessidade do uso do processador, para a transferência de dados. Utiliza também um buffer FIFO de 16 bytes.

Nos computadores geralmente o modo default é o SPP. Entretanto é possível ativar o modo EPP indo no setup do computador e ativando-o na opção “Onboard Parallel Mode” . Este modo EPP difere do SPP pelo seguinte fato:  no modo SPP utilizamos o registrador de Dados (que controla os pinos D0 à D7 ) apenas para a escrita, no modo EPP, entretanto, podemos utilizar este registrador tanto para escrita quanto para leitura. A seguir irei descrever a pinagem da porta como se estivesse em modo SPP .

  • Pinagem da porta

A porta possui 25 pinos cada qual responsável por uma função específica. Estas funções são mostradas na figura abaixo:

porta_paralela

O nível lógico dos pinos é determinado da seguinte forma: Se a a voltagem no pino estiver em um intervalo compreendido entre 0v e 0,4v este pino está no nível lógico zero, caso a voltagem do pino esteja entre 3,1v e 5v o pino possui o nível lógico um.

  • Endereços

Para realizarmos as operações de I/O na porta precisaremos saber os endereços dos registradores da portas. Os registradores possuem 8 bits (que em alguns casos possuem bits não usados) e são utilizados para controlar pinos específicos da porta. A porta possui 3 registradores: Registrador de Dados (Saída)*, Registrador de Status (Entrada) e Registrador de Controle (Saída).

-Registrador de DADOS: (pinos 2 à 9 )

O endereço para o acesso desse registrador em hexadecimal é 378h ( o que seria equivalente à 888 em decimal). Através desse registrador estamos controlando todos os pinos de D0 à D7. Imagino que você deva estar se perguntando, sim e se eu quiser apenas alterar o estado de um pino isoladamente (por exemplo o D2) comofas?
A resposta está no próprio número do pino \o/. Imagine que esses pinos D0 à D7 formem um número binário, e imagine ainda também que a númeração de cada pino equivale ao peso do dígito, ou seja, D0 = 2⁰ / D1 = 2¹ / D2 = 2² / ... / D7 = 2⁷. Ta sacando onde eu quero chegar? Não? Não mesmo? Então tá, continuando a explicação ... Se eu quero, por exemplo, enviar 1 para o D2 e 0 para os demais tudo que eu tenho de fazer é enviar um número binário de 8 bits para a porta e no algarismo de peso 2 (já que é o D2) colocar o número um e nos demais 0, ou seja , 00000100 (o que equivale a 4 em decimal). Sacou a idéia? Ainda não? Então olha aí a figura de baixo e veja se ficou mais claro...

PINOS_DADOS

Deu pra entender né? =)

Como falei logo no inicio do post, no modo EPP podemos usar estes pinos para a leitura de dados. Ora, como este modelo é bidirecional  precisamos saber quando estamos realizando operações de escrita ou leitura, isto é determinado pelo estado lógico contido no bit 5 do registrador de controle: quando o nível lógico é 1 estamos usando o registrador de dados para escrita, quando o nível lógico é 0 estamos usando para escrita. Para o caso de quisermos apenas utilizar estes dados para entrada podemos usar o endereço 37Ch e assim não termos que nos preocupar com o bit 5 do registrador e controle ;).

-Registrador de STATUS: ( Pinos 10, 11, 12, 13 e 15 )

O endereço para o acesso desse registrador em hexadecimal é 379h( o que seria equivalente à 889 em decimal). Este registrador controla os seguintes pinos: pino 10 = S6 / pino 11 = S7 / pino 12 = S5 / pino 13 = S4 / pino 15 = S3 . Para a leitura do estado dos pinos utilizaremos a mesma lógica explicada anteriormente: Enviaremos um número binário a porta considerando o peso do pino. Entretanto para este caso o número binário possui 8 bits mas os algarismo de peso 0 , 1 e 2 não fazem nada, ou seja, só importa os valores contidos nos algarismos de peso 3 `a 7. Na figura a baixo é possível ver os pesos dos pinos :

PINOS_STATUS

Gostaria ainda de ressaltar o seguinte fato:

O pino 11 (S7) trabalha em lógica invertida, ou seja, se o pino estiver em estado lógico zero isto significa que o circuito está enviando na verdade estado lógico um para o pino, da mesma forma, se o pino estiver em nível lógico um isto significa que o circuito que está ligado ao pino em questão está em nível lógico zero. Deu pra entender? Não? Então agora eu vou escrever em caps lock pra todo mundo ler:

ESTE PINO INVERTE O ESTADO LÓGICO QUE É ENVIADO A ELE.

-Registrador de CONTROLE: ( Pinos 1, 14, 16 e 17 )

O endereço para o acesso desse registrador em hexadecimal é 37Ah( o que seria equivalente à 890 em decimal). Este registrador controla os seguintes pinos: pino 1 = C0 / pino 14 = C1 / pino 16 = C2 / pino 17 = C3 . Para este caso nós utilizamos números binários de 4 bits. A figura abaixo mostra o número dos pinos e seus pesos:

 PINOS_CONTROLE

E gostaria ainda de ressaltar o seguinte fato:

Quase todos os pinos (exceto o pino 16 [ C2 ] ) trabalham em lógica invertida, e assim deve-se sempre lembrar que caso você queria deixar o pino em estado lógico 1 deve se enviar o valor zero, e se você quer que ele fique em estado lógico zero deve-se enviar o valor 1.

Considerações finais:

Na continuação deste post iremos implementar um programa simples que será capaz de enviar e receber dados à porta. Este programa possuirá uma classe PortaParalela a qual poderar operar com o modelo EPP ou SPP.

  • REFERÊNCIAS ;)

www.rogercom.com

http://www.jobtecltda.com.br/paralela/paralela.htm

--------------------------------------------------------------------------------------------------

* Lembrando que no modelo EPP esse registrador é bidirecional, ou seja, pode-se realizar operações tanto de entrada quanto de saída.

 

12 Março 2010

PC Gamer - Hard-Stuffs de Quinta

          Inauguro aqui a seção das Hard-Stuffs de quinta (na sexta)! Basicamente um post com os melhores produtos CustoxBenefício do momento, linkados para os melhores vendedores, com o menor preço! Como muita gente me pede pra fazer orçamentos de um PC novo, um notebook, ou coisas assim porque “Ah, Danilo, você entende”, nada mais útil do que uma seção dessas todas as quintas! Não se preocupem, eu pesquiso bastante antes de falar que é bom!

Tema de hoje:

Um PC GAMER

 davetaylor-gamer

PS: aos fanboys de plantão, os produtos que eu indicar aqui, são fruto de árduas pesquisas, e testes, e cálculos de custo benefício. Se você se ofende vendo produtos de outra marca, que não seja a sua preferida, ou se a sua religião, governo, ou etinia, não permite, ou considera ofensivo, não continue lendo. Não me responsabilizo por eventuais crises emo. Toda opinião será respeitada. ;D

Hoje, uma ótima configuração baseada em DDR 2.

1- Placa-Mãe

Placa Mãe ECS A780GM-A Ultra Black Edition. Com o excelente chipset da AMD 780gm, possui uma HD3200 integrada, com a qual você pode fazer Hybrid Crossfire, usando uma placa de vídeo ATi dedicada. Por 269,00.

2- Processador

AMD Phenom II X2 550 3.1Ghz Black Edition. Um ótimo processador, que dispensa comentários. Por ser black edition, é muito fácil overclockar lá para os 3.8ghz, mas acredite você não precisará de overclock. Por 255,00.

3- Memórias

Memórias DDR2 Corsair, clock de 1066mhz, latências baixas, e com dissipadores de calor. Recomendo 2 pentes de 2gb, dispostos em Dual-Channel, totalizando 4gb. Por 155,00.

4- HD

HD Western Digital de 500gb. Esses HDs são o nosso novo xodó, com o atributo Green Power que, basicamente, economiza energia e é todo ecologicamente correto. Por 149,00.

5- Placa de vídeo

ATi Radeon HD5770 1gb GDDR5 128 bits. Tenho uma HD 4770, 512mb GDDR5 128 bits, e digo, ela roda qualquer coisa. A 5770, é muito semelhante, acredito que é uma versão muito bem evoluída da minha 4770. Ambas são feitas em 45nm, aquecem pouquíssmo. A HD4770 não reduz a frequência da memória quando em baixo uso, mas a 5770 corrigiu esse erro. O que me obriga a informar: minha 4770 não passa de 55ºC, em uso itenso, a 5770 deve ser ainda mais fria. Ambas tem BUS de 128bits, o que de fato, reduz o desempenho, mas as memórias GDDR5 rodando a 4.8Ghz, realmente compensam isso. Por 529,00.

6- Leitor DVD

Leitor de DVD padrão, dispensa comentários xD. Por 80,00.

7- Fonte

Fonte C3 Tech Ct-psh750 750w. É sempre importante ter uma boa fonte, pois se ela queimar e levar seu hardware junto, não valerá a pena ter comprado tudo aquilo. Além de uma boa potência, é bom ter uma fonte modular, o que significa que você só pluga na fonte os cabos que for usar, diminuindo o volume de cabos soltos, e aumentando a ventilação. Por 359,00.

8- Gabinete

Além da fonte, é essencial também ter um bom gabinete. O que não significa que tem que ser o mais caro, mas sim o maior possível, com um bom esquema de ventilação. Neste caso, recomendo o Cooler Master rc690, que possui grandes ventoinhas de 12mm, e encaixes de periféricos todos emborrachados, não necessitando de parafusos. Caso não queira gastar tanto, opte por um gabinete barato, mas instale, você mesmo, suas ventoinhas internas. Por 269,00.

 

 

Obs: os produtos listados aqui, são anuncios do mercado livre, dos quais seleciono os melhores vendedores. O hardlabs não tem qualquer vínculo com esses respectivos vendedores, e não se responsabiliza pelo sucesso da sua compra.

Crédito de todas as imagens: Google Imagens.