Conceitos fundamentais • Organização: – – – – – – – Analógico x digital Representação digital de grandezas analógicas Códigos de numeração Aritmética binária Outros códigos (Gray, BCD, ASCII, UPC) Funções lógicas elementares Álgebra de Boole Introdução ao Projecto com Sistemas Digitais e Microcontroladores Noções elementares de electrónica digital - 1 Analógico x digital • A generalidade das grandezas com que nos confrontamos são de natureza analógica (e.g. temperatura, humidade, etc.) • As grandezas analógicas variam de forma contínua, ao passo que as digitais variam de forma discreta (como varia a altura a que se encontra uma pessoa que sobe uma rampa ou uma escada?) Introdução ao Projecto com Sistemas Digitais e Microcontroladores Noções elementares de electrónica digital - 2 Vantagens e desvantagens do analógico e digital • Existem vantagens e desvantagens em converter uma grandeza de analógico para digital: – Uma vantagem: simplifica o tratamento da grandeza considerada (porquê?) – Uma desvantagem: perde-se informação ao realizar a conversão (porquê?) Introdução ao Projecto com Sistemas Digitais e Microcontroladores Noções elementares de electrónica digital - 3 Representação digital de grandezas analógicas • A qualidade da representação digital prende-se com dois factores principais: número de níveis da representação discreta e número de amostras por unidade de tempo Introdução ao Projecto com Sistemas Digitais e Microcontroladores Noções elementares de electrónica digital - 4 Representação digital de imagens (número de pixels) 350 x 500 175 x 250 (metade) Introdução ao Projecto com Sistemas Digitais e Microcontroladores Noções elementares de electrónica digital - 5 70 x 100 (5 vezes menos) 35 x 50 (10 vezes menos) Imagens (número de bits por pixel) 8 bits 4 bits 2 bits 1 bits Introdução ao Projecto com Sistemas Digitais e Microcontroladores Noções elementares de electrónica digital - 6 Sistemas posicionais de numeração • O sistema decimal é sistema posicional, onde cada dígito representa o coeficiente de uma potência de base 10 (1.492 = 1x103 + 4x102 + 9x101 + 2x100) • O sistema romano de numeração também é posicional, mas o facto de não haver um peso associado a cada posição dificulta as operações… (quanto vale MCMLIX + XLIV?) Introdução ao Projecto com Sistemas Digitais e Microcontroladores Noções elementares de electrónica digital - 7 O sistema binário • A representação de números em binário segue as mesmas regras da representação decimal (cada dígito representa o coeficiente de uma potência de base 2) • Do mesmo modo que a representação decimal usa dez dígitos (0 a 9), a representação binária usa dois dígitos (0 e 1): 10111010100 B Introdução ao Projecto com Sistemas Digitais e Microcontroladores Noções elementares de electrónica digital - 8 Conversão entre bases • Sabendo que cada dígito representa o coeficiente da potência associada à base de numeração, torna-se fácil a conversão entre bases: – 10111010100 B: 1x210 + 0x29 + 1x28 + 1x27 + 1x26 + 0x25 + 1x24 + 0x23 + 1x22 + 0x21 + 0x20 D – E para realizar a conversão inversa (de decimal para binário)? – E se pretendermos converter de / para hexadecimal? Introdução ao Projecto com Sistemas Digitais e Microcontroladores Noções elementares de electrónica digital - 9 Aritmética binária • As quatro operações básicas realizam-se de forma semelhante àquela que já conhecemos do sistema decimal: 1 1 0 1 1 0 1 1 0 + 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 • E se se tratasse de uma multiplicação? Introdução ao Projecto com Sistemas Digitais e Microcontroladores Noções elementares de electrónica digital - 10 A representação em complemento para 2 • A representação em complemento para 2 facilita a realização de operações aritméticas com sinal • Para obter –X a partir de X temos duas alternativas: – Complementar todos os bits e somar 1 – Lendo da direita para a esquerda, manter o valor da cada bit até se encontrar o primeiro 1 (inclusive); a partir daí, complementar todos os bit • Experimente realizar a operação 57 + (-12) Introdução ao Projecto com Sistemas Digitais e Microcontroladores Noções elementares de electrónica digital - 11 Outros códigos (Gray, BCD, ASCII, UPC) • Existem diversos códigos binários, criados para responder a necessidades em diversos domínios: – Gray: varia apenas um bit de cada vez – BCD: facilita a entrada / saída de informação, por representar em binário apenas os valores decimais – ASCII (American Standard Code for Information Interchange): para representar texto – UPC (Universal Product Code): para facilitar a etiquetagem de produtos Introdução ao Projecto com Sistemas Digitais e Microcontroladores Noções elementares de electrónica digital - 12 Emissor de luz Código de Gray Receptor • Considere-se o uso de uma régua com zonas transparentes e opacas, para codificar a posição decorrente de um deslocamento linear • O que poderá suceder se os emissores / receptores de luz não estiverem exactamente alinhados? • O código de Gray elimina este problema, já que os códigos consecutivos diferem apenas num bit (que alterações teriam lugar no desenho da régua?) Introdução ao Projecto com Sistemas Digitais e Microcontroladores Noções elementares de electrónica digital - 13 BCD (Binary-Coded Decimal) • A entrada / saída de dados numéricos é normalmente feita na forma decimal, para evitar a necessidade de converter para / de binário (e.g. considere o exemplo de visualizarmos uma contagem binária em 8 bits) • O código BCD usa quatro bits para representar os dez dígitos decimais (0 a 9) • O que deverá acontecer se nestes quatro bits surgirem códigos superiores a 9? Introdução ao Projecto com Sistemas Digitais e Microcontroladores Noções elementares de electrónica digital - 14 ASCII (American Standard Code for Inf. Interchange) Introdução ao Projecto com Sistemas Digitais e Microcontroladores Noções elementares de electrónica digital - 15 Código de barras UPC (Universal Product Code) • Este código facilita a leitura automática (um laser distingue barras / espaços e a sua dimensão) • A codificação numérica é feita da seguinte forma: – 0 = 3-2-1-1; 1 = 2-2-2-1; 2 = 2-1-2-2; 3 = 1-4-1-1; 4 = 1-1-3-2; 5 = 1-2-3-1; 6 = 1-1-1-4; 7 = 1-3-1-2; 8 = 1-2-1-3; 9 = 3-1-1-2 • Pode ver uma explicação detalhada em http://electronics.howstuffworks.com/upc.htm Introdução ao Projecto com Sistemas Digitais e Microcontroladores Noções elementares de electrónica digital - 16 Algumas funções lógicas elementares • Em que circunstâncias acende a lâmpada, para cada um dos circuitos apresentados? • Considerando que existe um sinal de controlo para cada interruptor (0: aberto; 1: fechado) construa a tabela que relaciona o estado da lâmpada (0: apagada; 1: acesa) com o dos sinais de controlo, em ambos os casos Interruptor Interruptor Fonte de energia Lâmpada Interruptor Fonte de energia Interruptor Lâmpada Introdução ao Projecto com Sistemas Digitais e Microcontroladores Noções elementares de electrónica digital - 17 Álgebra de Boole • A obra fundamental de George Boole (1854) criou o cálculo proposicional, que oferece uma base teórica para o projecto de sistemas lógicos (descrito em pormenor em várias obras sobre “Introductory logic design” Introdução ao Projecto com Sistemas Digitais e Microcontroladores Noções elementares de electrónica digital - 18 Conclusão • Este primeiro conjunto de transparências apresentou as questões básicas relacionadas com a representação digital de grandezas e com o tratamento deste tipo de informação • Estamos agora em condições de considerar em maior pormenor as funções lógicas elementares, para a partir daí pensarmos no projecto de sistemas digitais mais complexos Introdução ao Projecto com Sistemas Digitais e Microcontroladores Noções elementares de electrónica digital - 19