Seminario pic

4,496 views
4,314 views

Published on

Apresentação do seminário PIC família 18 no curso de Sistemas Digitais do Programa de Pos-gradução de Engenharia de Sistemas [PPGES]

Published in: Technology, Business
1 Comment
4 Likes
Statistics
Notes
  • cara muito bom teu seminario, tirou bastante duvidas minhas.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
4,496
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
146
Comments
1
Likes
4
Embeds 0
No embeds

No notes for slide

Seminario pic

  1. 1. Microcontroladores PIC família 18 Rômulo Jales
  2. 2. Sumário <ul><li>O que é PIC?
  3. 3. Arquitetura Harvard
  4. 4. Arquitetura do PIC 18F
  5. 5. Periféricos do PIC 18F
  6. 6. IDEs </li></ul>
  7. 7. O que é PIC? <ul><li>Programmable Interface Controller (1976)
  8. 8. Programmable Intelligent Computer (1977)
  9. 9. Microcontrolador
  10. 10. Microchip
  11. 11. Baixo Custo ( 1 ~ 8 Dólares ) </li><ul><li>Farnell, a partir de 6 Reais
  12. 12. Kits a partir de 170 Reais </li></ul><li>Baseados em Arquitetura Harvard
  13. 13. RISC </li></ul>
  14. 14. KIT – Vendido no ML (R$255,00)
  15. 15. O que é PIC? <ul><li>2008 completou 6 Bilhões de unidades fabricadas
  16. 16. Usado por amadores (hobbyists) e profissionais
  17. 17. Controle
  18. 18. Grande base de: </li><ul><li>Usuários
  19. 19. Aplicações </li><ul><li>SUPORTE </li></ul></ul><li>Flash
  20. 20. EEPROM </li></ul>
  21. 21. Livros
  22. 22. Arquitetura Harvard <ul><li>Separa barramento de dados e instrução </li><ul><li>Enquanto executa uma instrução busca por outra. </li></ul><li>RISC </li><ul><li>Reduced Instruction Set Computer </li><ul><li>Poucas instruções </li><ul><li>PIC16 -> 35 instruções
  23. 23. PIC18 -> 77 instruções </li></ul></ul></ul><li>OBS: Intel 8051 -> 111 instruções </li></ul>
  24. 24. Arquitetura Harvard
  25. 25. PIC 18F <ul><li>Microcontrolador RISC de Alta Performance
  26. 26. Arquitetura e conjunto de instruções otimizados para C </li><ul><li>Endereçamento Linear de Memória </li></ul><li>Até 10 MIPS de processamento </li><ul><li>40 Mhz
  27. 27. De 4 Mhz até 10 Mhz com PLL Ativo. </li></ul><li>Barramento de 16 Bits de instruções
  28. 28. Barramento de 8 Bits de Dados
  29. 29. Interrupções com prioridade </li></ul>
  30. 30. Arquitetura 18Fxx2 <ul><li>Processador
  31. 31. Memória
  32. 32. Periféricos </li></ul>
  33. 33. Arquitetura do PIC 18F
  34. 35. Processador do PIC 18F <ul><li>Contém: </li><ul><li>ALU
  35. 36. Registradores
  36. 37. Controle </li></ul><li>ALU </li><ul><li>Decodifica Instruções de 16bits
  37. 38. Registradores de estados de 5 bits
  38. 39. WREG (Working Register) – 8 bits </li></ul></ul>
  39. 40. Processador do PIC 18F <ul><li>Registradores </li><ul><li>PC, endereça a memória de programa.
  40. 41. BSR (Bank Select Register) Seleciona o banco de registradores ( 4 bits)
  41. 42. FSR (File Select Register) (12 bits) para endereçamento indireto. </li></ul><li>Unidade Controle </li><ul><li>Controla sinais e temporização das operações de I/O </li></ul></ul>
  42. 43. Endereçamento do PIC 18F <ul><li>21 bits para programa -> 2^21 ~= 2 M
  43. 44. 12 bits para dados -> 2^12 = 4 K </li></ul>
  44. 45. Barramentos <ul><li>16 bits para instruções/dados de programa
  45. 46. 8 bits para dados de usuário </li></ul>
  46. 47. Memória PIC18F45xx <ul><li>Memória para Dados - 4K
  47. 48. Memória para Programa (FLASH) - 32K
  48. 49. Memória EEPROM - 256 bytes </li></ul>
  49. 50. Mapa de Memória PIC18F45xx <ul><li>Programa </li></ul><ul><li>Dados </li></ul>
  50. 51. Dados com Banco de memória <ul><li>Cada banco tem 256 bytes, total de 16 Bancos
  51. 52. Para usar um determinado banco é necessário configurar o registrador BSR
  52. 53. A disponibilidade dos bancos depende do chip. Veja o datasheet do seu uC </li><ul><li>PIC18F242/442 -> 3 bancos
  53. 54. PIC18F252/452 -> 6 bancos </li></ul><li>GPRs (General Purpose Registers)
  54. 55. SFR fica sempre no banco 15. SFR? O BSR é um exemplo. </li></ul>
  55. 57. EEPROM <ul><li>Persistir o dado com o chip desligado
  56. 58. 4 Registradores para controle, leitura e escrita da EEPROM </li><ul><li>EECON1, controle
  57. 59. EECON2, sequenciamento de escrita
  58. 60. EEDATA, dados
  59. 61. EEADR, endereço </li></ul><li>Para Ler: </li><ul><li>Diga o endereço para EEADR
  60. 62. Configure EECON1
  61. 63. Leia EEDATA </li></ul></ul>
  62. 64. EEPROM <ul><li>Para escrever: </li><ul><li>Configure o endereço em EEADR
  63. 65. O dado em EEDATA
  64. 66. Configure EECON1 para escrita
  65. 67. Desabilite as interrupções
  66. 68. Escreva 0x55 em EECON2
  67. 69. Escreva 0xAA em EECON2
  68. 70. Set WR em EECON1
  69. 71. Habilite as interrupções
  70. 72. Execute a tarefa
  71. 73. Desabilite a escrita em EECON1 </li></ul></ul>
  72. 74. Periféricos da Família 18F <ul><li>Até 5 portas de I/O
  73. 75. 4 Timers
  74. 76. Transmissão Serial
  75. 77. Transmissão Paralela (escravo)
  76. 78. EEPROM </li></ul>
  77. 79. Periféricos da Família 18F PIC18F4550 tem uma porta USB DEVICE
  78. 80. Exemplo PIC18F4550 USB
  79. 81. Portas de I/O <ul><li>5 portas, O PIC18F2x2 só tem 3.
  80. 82. Já endereçadas
  81. 83. Multiplexadas
  82. 84. Tem 8 pinos cada </li><ul><li>PORT A , tem 7
  83. 85. PORT E, tem 3 </li></ul><li>Porta paralela depende do encapsulamento (40 pinos), associado ao PORT D
  84. 86. Cada porta tem seu SFR </li></ul>
  85. 87. Temporizadores <ul><li>4 temporizadores
  86. 88. TIMER 0 </li><ul><li>8 ou 16 bits, via software
  87. 89. Interrupção no overflow
  88. 90. Prescaler (Redução de frequencia por um fator) </li></ul><li>TIMER 1 </li><ul><li>16 bits. (dados com 8 bits apenas... solução 2 registradores! )
  89. 91. Interrupção no overflow </li></ul></ul>
  90. 92. Temporizadores <ul><li>TIMER 2 </li><ul><li>Temporizador de 8 bits
  91. 93. Registrador de período de 8 bits
  92. 94. Prescaler (1:1, 1:4, 1:16), divide a entrada do clock
  93. 95. Postscalet (1:1 até 1:16), divide o estouro do clock </li></ul><li>TIMER 3, semelhante ao TIMER 1 usando registradores diferentes. </li></ul>
  94. 96. Interrupções <ul><li>Interrupções prioritárias
  95. 97. Externas
  96. 98. Temporizadores
  97. 99. Habilitáveis
  98. 100. Selecionáveis quanto a transição </li></ul>
  99. 101. Outras características interessantes <ul><li>Watch-dog
  100. 102. A/D de 10 Bits
  101. 103. Sleep mode
  102. 104. Proteção de código
  103. 105. ICSP (programação via interface serial)
  104. 106. ICDBG (debugger), set o bit DEBUG do registrador CONFIG4L.
  105. 107. Bits de configuração </li></ul>
  106. 109. Pipeline <ul><li>Dois estágios </li><ul><li>Uma de busca
  107. 110. Outra de execução </li></ul></ul>TCY0 TCY1 TCY2 TCY3 TCY4 TCY5 MOVLW 55h Fetch 1 Execute 1 MOVWF PORTB Fetch 2 Execute 2 BRA sub_1 Fetch 3 Execute 3 BSF PORTA,BIT3 Fetch 4 flush Instructon @adress sub_1 Fetch sub_1 Execute sub_1
  108. 111. Pipeline <ul><li>Não tem problema de data-hazard (2 estágios)
  109. 112. Tem control-hazard </li><ul><li>Instruções de desvio
  110. 113. Flush </li></ul><li>O PIC18F acessar as memórias ao mesmo tempo: </li><ul><li>DADOS -> executar
  111. 114. PROGRAMA -> Buscar </li></ul><li>Arquitetura Havard! </li></ul>
  112. 115. Instruções <ul><li>São 77 instruções
  113. 116. Tipos: </li><ul><li>Aritméticas
  114. 117. Acesso a dados
  115. 118. Desvio
  116. 119. Função
  117. 120. Controle </li></ul></ul>
  118. 121. Instruções
  119. 122. Instruções PIC18F
  120. 125. Desenvolvendo <ul><li>A Microchip tem todo conjunto de ferramentas para o PIC18F </li><ul><li>IDE - Grátis
  121. 126. Compiladores </li><ul><li>ASM – Grátis
  122. 127. C, só via vendedor (Há versões acadêmicas) </li></ul><li>Programadores – a partir de 199 dólares
  123. 128. Simuladores - Grátis
  124. 129. Emuladores – a partir de 2000 dólares
  125. 130. Depuradores – a partir de 129 dólares
  126. 131. KITs – vide site da microchip </li></ul></ul>
  127. 132. MPLAB IDE <ul><li>Contém todas as ferramentas, gratuitas, necessárias para o desenvolvimento
  128. 133. Vasta documentação na internet sobre o uso. </li><ul><li>O livros sobre PIC geralmente dedicam um capitulo sobre o MPLAB </li></ul><li>Disponível gratuitamente no site da Microchip </li><ul><li>www.microchip.com </li></ul><li>Intregado com PROTEUS VSM via plug-in
  129. 134. Disponível apenas para o Windows </li></ul>
  130. 137. Alternativas de desenvolvimento <ul><li>SDCC ou GCC para compilar programas em C
  131. 138. Eclipse e GDB para ambiente de desenvolvimento
  132. 139. Fedora Electronic Lab – FEL. Ambiente Linux e gratuito completo para desenvolvimento de sistemas embarcados e eletrônicos.
  133. 140. RTOS - FreeRTOS </li></ul>
  134. 141. Referências <ul><li>PIC18FXX2 Data Sheet
  135. 142. Desbravando o PIC 8ª Edição
  136. 143. Building a PIC18F USB device - http://www.waitingforfriday.com/index.php/Building_a_PIC18F_USB_device
  137. 144. The Beautiful Internet... by tag pic18f :) </li></ul>

×