Last Update Pic Ingles

March 30, 2018 | Author: carlos | Category: Linux, Software, Usb, Algorithms, Central Processing Unit


Comments



Description

última atualização: 30 de novembro de 2014Versão italiana Abrir o programador v0.9.x Um USB da fonte aberta ao programador será mícrons do PIC, mícrons de ATMEL, I2C-SPIMicroWire-OneWire-UNIO EEPROMs, dispositivos genéricos de I2C/SPI e (logo) a outros dispositivos Fatos rápidos Outros ao programador? USB & firmware ESCONDIDOS Programas de verificação Relação gráfica de GTK Relação gráfica do MFC Comando-linha relação Como você… Dispositivos suportados Protocolo de comunicação O circuito Tensão do regulador Como você contribui Transferência História Ligações Contatos Fatos rápidos  Livrar completamente e Open Source (firmware including)  Os programas PIC10-12-16-18-24, dsPIC30-33, ATMEL AVR (série de série e alta tensão que programam), tipo de série 24xxxx de EEPROMs (I2C), 25xxx (SPI), 93xx6 (MicroWire), DS24xx (OneWire), 11xxx (o UNIO), comunicam-se com os dispositivos genéricos de I2C & de SPI (ver dispositivos suportados)  Pode trabalhar o ICD ao depurador de programas  Relação da velocidade cheia do USB 2.0, classe ESCONDIDA (os mesmos teclados, ratos, etc.)  Auto - psto  Não precisa excitadores  Construído de fácil você encontra componentes (custo estimado ~10€)  Os sincronismos gerados ferragem serão velocidade máxima e confiabilidade (escreve 18F2550 em 15s)  Não satura seu processador central e não sofre quando ao outro funcionamento dos arados dos programas  Os programas de verificação da fonte aberta serão linux e Windows  Não é um outro clone de PicKit Retrato do protótipo: Outros ao programador? Nos últimos anos, as relações de série e paralelas desapareceram quase, entusiastas da eletrônica encontram mesmo vidas difíceis você microcontroladores do programa; os programadores velhos das equipes não trabalham nenhuma vidas; as soluções comuns incluem-no using o USB os adaptadores de série (que não podem aceitar o acesso direto mas somente chamadas lentas do API), ou as microplaquetas do serviço adicional conetam, como FTDIxxxx, que para parecer substancialmente de série as relações e para exigir excitadores feitos sob encomenda ou proprietários. Por que usa não somente controladores do PIC e a sua relação nativa do USB? Após a pesquisa quando eu não poderia encontrar um USB ao programador que estava nas mesmas equipes funcionais, livres, e na fonte aberta, simplesmente eu o decidi o projeto um. A fonte aberta significa que todas as fontes e diagramas esquemáticos aram dado free of charge com as direitas que você as modifica e libera. USB & firmware ESCONDIDOS (v0.9.0) Em requisitá-lo usa a relação do USB incluída dentro adiciona dispositivos que do PIC nós precisamos o firmware que executa uma das salas de aula definidas pelo consórcio ou pelo novo do USB; Eu opted serei a classe ESCONDIDA, que é suportada nativa por todos os sistemas de exploração e não precisa alguns somente ao excitador. A velocidade reservada máximo é 64KB/s, embora com minha aplicação eu meça algo nos creaks 20-40 KB/s, certamente bastante você dispositivos de programa com memória de 100KB no máximo. Como todo o USB este os dispositivos um têm demasiado o vid e o pid; estes arados obtiveram geralmente ao pagamento inferior, mas desde que eu não tenho nenhum dinheiro que você desperdiçar e eu não estou vendendo o produto comercial eu usei o vid do microchip do defeito e o pid da escolha: 0x4D8&0x100; em todo o caso é possível você configura ambos, mim deixa-o à escolha somente ao usuário. Ao programador parece você o sistema um dispositivo ESCONDIDO que troque 64 pacotes dos bytes cada 1 Senhora. Os firmware que do USB você come quase do projeto da fonte aberta do desconhecido, escrito por Alexander Enzmann, que eu o modifiquei e adaptei o MCC18 ao compilador. Eu escrevi o breve guia em como você o usa; você meu conhecimento isto é a única licença dos firmware da fonte aberta com sustentação e GPL ESCONDIDOS. Meu ao código do programador adiciona simplesmente o comando ao intérprete que conduz as saídas do microcontrolador que concordam o um jogo das instruções. As esperas principais do ciclo de controle serão pacote do USB, a seguir executam comandos em ordem ao controlar a tarefa de comunicação; nas mesmas equipes a função de controle é chamada periòdicamente perto à interrupção de temporizador e mantem o regulador a constante da tensão da saída de DCDC. Construir o projeto exige somente programas livres: Versão do estudante MPLAB e MCC18, que os arados infelizmente somente disponíveis serão o sistema de exploração das janelas (dentro). É certamente possível você compila com SDCC, mas adiciona os arados das mudanças necessários você o código fonte. Tudo é dado sob a licença GPL2. É aqui termina o projeto de MPLAB, aqui a lima hex somente. Aqui a versão (0.8.0) será 18F2450 (com funcionalidade reduzida, ver o circuito). Programas de verificação Eu inicialmente pensei de modificar um software existente, serei exemplo winpic ou picprog, mas eu encontrei que seria demasiado difícil porque os usos de I packetized comunicações em vez da série; somente eu tive-o a escrita uma (two) do risco. Infelizmente, ou felizmente, desde que eu não sou o profissional ao programador eu mantive caraterísticas no mínimo; o resultado ara muito pequeno mas os programas rápidos que não fazem usos seu processador central não serão nada. A vontade seja a maioria de código de dispositivos é verific ao programar; outro será imediatamente depois a fase da escrita. Idealmente você deve ter a mesma versão a numerar será software e os firmware, exceto serão o último a numerar que indica mudanças menores e reparos de erro; entretanto ao tentei-euo sustento o mesmo protocolo using da “a função do teste ferragem” e um voltímetro é possível para certific do circuito esteja funcionando.1) Você EUA de OPGUI como bibliotecas de GTK um ambiente Tempo de execução de GTK do instala o do você do necessário do é do que de Windows do soluço do somente. No contrário. para escrever manualmente 3 bytes em um 24xx16 no endereço 64 escrever: A0 40 1 2 3 ..com cada liberação. que é claramente impossível será o projeto da fonte GPL2 aberta.9. A aba dos “dados” mostra o que o programador está fazendo. se não zero). se você os quer você manda-o ser o anúncio publicitário ao fabricante e assinar não o acordo da divulgação. Na aba do “dispositivo” é possível escolher o dispositivo e modificar algumas opções de programação. Sob “opções” estão os vários ajustes gerais: Conexão do USB. a integração com Piklab é possível e eu espero serei feito logo. lima de registro. Screenshot de Opgui: Um guia rápido: as teclas a ler. em caso de I2C é sempre necessário especific o byte de controle (e endereço. Por exemplo. A aba de “I2C/SPI” é útil para comunicar-se com os dispositivos genéricos de I2C e de SPI. carregar e excepto limas estão na barra de ferramentas. O bocado do RW é segurado automaticamente. escrever. Um linux de Windows e o do será de de GTK do gráfica do relação (v0. somente os ajustes compatíveis com o dispositivo atual são considerados. tais como palavras da identificação da escrita e da calibração. placas de expansão. isso aparte das caraterísticas novas é frequentemente possível você usa somente o software novo com a voltas mais velhas dos firmware e do vício. No casa-o para querer saber. using o eeprom etc. a razão pela qual não é possível que você o programa diretamente técnico de MPLAB não está: Microchip você doa não especificações da liberação de como você a relação com seu programa. erros. agora o costume ao programador que a relação falta adiciona parâmetros essenciais. mas a quem quer que tem a habilidade e as equipes podem repará-la serão certas. Você pode encontrar mais informação guia de usuário de OpenProg e de Opgui Para compilar o programa da fonte você (opcional) que precisa de instalar as bibliotecas de GTK. Não há nenhum instalador desde que não há nenhuma bibliotecas e o executável é muito pequeno. assim que pode ser demitido no futuro. escreve uma lima ao alvo . incluidas nos suportes quadrados []. do GCC e dos maketools (MinGW/MSYS em Windows).10 é incluído um depurador de programas de ICD.lang).9. Relação gráfica para Windows (v0. Sob a “utilidade” há umas funções para converter uma única linha hex aos dados e reciprocamente. mas atualmente o desenvolvimento continua em OPGUI.rc (. a Comando-linha opções é: o <device> de d. escrever então: > fazer Para instalá-lo sob o linux (se você desejo): > fazer para instalar Transferir o programa compilado… ou as fontes. A aba do “I/O” reserva controlar linhas individuais do I/O e as fontes de alimentação.1) OpenProg Um é aplicação da A. O programa aceita as limas hex8 e hex32. As línguas suportadas são atualmente ingleses e italiano. OpenProg: Somente as funções de programação básicas são executadas. para adicionar outras línguas é necessário gerar a lima de languages. VISTA. trabalhando mais ou menos como o pdb.7. Tem a vantagem do trabalho sem nenhuma biblioteca adicional.Da versão 0. 8.A. e igualmente limas binárias em caso das memórias de série. 7. além suporta limas do coff. a identificação de língua é antes das cordas respetivas. screenshot ++ escrita com de Visual C++ 6 e MFC. lê o alvo e escreve-o à lima w < nome de arquivo >. era o GUI do punho do projeto.opção langfile) e modificá-la. Para permitir o acesso ao programador sob o linux ver a linha relação do comando do capítulo. seleciona um alvo r < nome de arquivo >. A língua é escolhida na partida combinando a língua de sistema (pode igualmente ser forçada com . O uso é o mesmo que OPGUI. trabalhos com XP. == " 04d8” de ATTRS {idVendor}. MODE= " 0664”. == " 0100” de ATTRS {idProduct}.d/10-openprogrammer. v0.l. por exemplo chmod a+r /dev/usb/hiddev0 do >sudo Para permitir permanentemente um usuário fazer o seguinte (em Ubuntu e outras distribuições baseadas Debian. para mudar permissões da leitura: KERNEL== " hiddev [0-9] “.rc. Aplicação de transferência… ou fontes (espaço de trabalho visual do estúdio 6) Comando-linha utilidade (linux e Windows.> . a versão de Windows não precisa a instalação. cada vez que o sistema deteta o programador. seu parâmetro opcional deve ser especific com .w ou .rules se você quer permitir um grupo de usuário escrever: KERNEL== " hiddev [0-9] “. == " 04d8” de ATTRS {idVendor}. É possível comunicar-se com os dispositivos genéricos de I2C/SPI. Eu lig explicitamente à biblioteca de sistema hid. SYMLINK+= " openprogrammer” udev do reinício para aplicar mudanças: > controle do udevadm --recarregar-réguas > disparador do udevadm Agora.1) OP é uma comando-linha executável. e igualmente limas binárias em caso das memórias de série. SYMLINK+= " openprogrammer” onde o <group> é um dos grupos de usuário (para começ um tipo “grupos” da lista). ou desconectar e replug o cabo. Using --A opção de HWtest e um voltímetro são possíveis para certific do circuito esteja funcionando. ele é suficiente para executar o lsusb de algumas vezes para forçar a enumeração.Carga BKosccal de BKosccal da lima . Opções: . /dev/usb/hiddevX correspondente tem as permissões corretas e a ligação /dev/openprogrammer é criada igualmente.calibração da carga do calib da lima .o <message> do comando emite o <message> ao programador e à saída .. GROUP= " <group>”.o GUI.d. se você quer permitir todos os usuários. Se após ter obstruído o dispositivo /dev/usb/hiddevX é inexistent (e LED2 não pisca em 1 hertz). não retira após a escrita ou a leitura (somente se . Se não OP de outra maneira especific procura um dispositivo do USB com vid&pid=0x4d8: 0x100.os config da força do <cw> do cwX exprimem X . Suporta as limas hex8 e hex32. em caso de SPI é sempre necessário especific o byte e o endereço (ou os endereços) de controle. verificação para outro): como a raiz cria uma lima /etc/udev/rules. o bocado do RW é segurado automaticamente. mais línguas podem ser adicionadas gerando e modificando a lima languages.dll e carrego manualmente as funções necessários. selecionar um grupo apropriado e se seu desn't do usuário lhe pertence executar do “o <group> do <user> addgroup” ou. a versão do linux procurara o programador entre os dispositivos /dev/usb/hiddevX (ou esse especific como o parâmetro) e as necessidades que lê direitas para ela. As línguas suportadas são atualmente ingleses e italiano.9. == " 0100” de ATTRS {idProduct}. dispositivo do dispositivo <dev. Em caso dos problemas ou apenas para a curiosidade é possível conservar todos os dados trocados com o programador com opção .r são especific) Você pode encontrar mais informação guia de usuário de OpenProg e de Opgui Pode ser do interesse o fato de que o DDK (jogo do desenvolvimento do excitador) não está exigido para a compilação.l=<file> (quem sabe por que? Pode ser um erro do getopt). 10.identificação do uso da identificação . não 16f628 Um makefile é incluído.s. registro [=file] excepto o registro . assim que para construir a aplicação que você precisa GCC e os maketools (MinGW/MSYS em Windows).cordas do <language> da carga do <language> do lang .o <N Data> do spi_w escreve bytes de N à barra-ônibus de SPI .o CTR Addr> do <N de i2c_r leu bytes de N da barra-ônibus de I2C .p.EE op .a EE usa o eeprom .velocidade ajustada do <speed> I2C de i2cspeed: 0=100k.vid do programador do <vid> do vid [0x4D8] .v.EE op . <file> do writeEE escrevemos EEPROM na lima de Ihex (ATxxxx somente) Exemplos: > op . informações da informação sobre o programador .tamanho do relatório do <n> do representante [64] . byte de controle A0.o <val> do fusex escreve byte prolongado do fusível (Atmel somente) .r. 3=500k " NL . 1=200k.Teste da ferragem de HWtest .modalidade do <mode> SPI da modalidade: 00.o Addr do CTR do <N i2c_w2 (2) Data> escreve bytes de N à barra-ônibus de I2C (o endereço 16b) .os #reads de s read.o <val> do fusível escreve a fusível o baixo byte (Atmel somente) . 2=300k.o Addr Data> do CTR do <N de i2c_w escreve bytes de N à barra-ônibus de I2C .o <val> do icd permite ICD (o endereço empreendedores) .cópia use_BKosccal BKosccal a osccal .#writes de w write.hex > op . excepto o <file> conserva a lima de Ihex .l.o <val> do fuseh escreve a fusível o byte elevado (Atmel somente) . versão da versão . trajeto do programador do <path> do trajeto [/dev/usb/hiddev0] . escreve o <file> escreve a lima de Ihex .programador pid do <pid> do pid [0x100] .i.o Addr do CTR do <N i2c_r2 (2) > leu bytes de N da barra-ônibus de I2C (o endereço 16b) .a sustentação suportou dispositivos .hex codificam e EEPROM e conservam para arquivar > .h.erram os erros máximos do <max> durante a escrita . programação S1 múltipla provocada pelo S1 .o <val> do fechamento escreve o byte do fechamento (Atmel somente) . escrever: > fazer . ajuda da ajuda .d 18F2550 .#reads A0 0 de i2c_r 8 8 bytes da barra-ônibus de I2C.d 16F628 . endereço 0 Um erro freqüente é escrever o nome de dispositivo com letras lowercase em vez do uppercase: escrever 16F628.s1. área reservado lida reservado .cargas osccal osccal da lima em vez de usar o valor conservado antes do erase . 2=400k..o SE.w.11 . <file> do saveEE conserva EEPROM na lima de Ihex (ATxxxx somente) .o <N> do spi_r leu bytes de N da barra-ônibus de SPI .#help de h > .nós.01.langfile escrever todas as cordas à lima .velocidade ajustada spispeed do <speed> SPI: 0=100k. 3=800k " . 1=200k. para PIC12-16: : 020000040000FA : 0144010000BA : 00000001FF E para PIC18: : 020000040002F8 : 020000000000FE : 00000001FF Mudar a palavra da configuração: As palavras dos Config são especific geralmente na lima hex. o último tem que estar > 4 a uma velocidade de x SPI. uma utilidade para emitir e receber um único pacote de 64 bocados. É igualmente possível recompile fontes. Resolver de “o erro sincronização” com dispositivos do AVR: Uma causa possível é que a velocidade de SPI é demasiado elevada com relação à velocidade do processador central . Alguns dispositivos incluem extremamente .um baixo ajuste da velocidade (16 quilohertz). não escrever qualquer coisa caso que o valor de defeito é muito bem para a aplicação. a seguir escreve a lima e a configuração finais na alta velocidade. em caso da maioria de PIC16 a palavra dos config está no endereço 0x2007. se não mudar diretamente a lima hex. Por exemplo: : 02400E00xxxxCC. que possa ser calculada como o complemento dois da soma de todos os bytes na linha. a seguir escreve-os da maneira habitual. neste caso o uso “escreve a ponto baixo do fusível @ 3 quilohertz” ao fusível da mudança baixo a um ajuste mais elevado da velocidade. Obviamente mais baixa a velocidade mais por muito tempo toma ao read/write o dispositivo. na teoria se podia mesmo escrever um certificado de programação completo using ele. pode ser útil para experimentar com a ferragem. Há muitas configurações possíveis da velocidade do processador central. entretanto se você ainda precisa do apagar é suficiente escrever uma lima hex com dados válidos (isto é <0xFF) além da memória executada.Para > instalá-lo então fazer (se você para desejo): instalar Igualmente é incluído Hid_test. o último byte da linha é uma soma de controle. . Por exemplo. Transferência Como a… Apagar um dispositivo: cada dispositivo é apagado antes de ser programada. estes dispositivos não traçam suas palavras da configuração na área da memória central (assim que as limas do hex não especific nenhuma configuração) e é necessário escrever os bytes desejados do fusível/fechamento nas opções do dispositivo. Uma outra causa poderia ser que a programação de série é deficiente: isto pode ser feito somente using um programador paralelo. que esteja demasiado baixo mesmo para o algoritmo adaptável. e o mesmo é necessário para permiti-lo outra vez. a fim acelerar operações que você poderia escrever uma lima vazia com uma configuração rápida do processador central. que é armazenado em 0x400E. assim que o algoritmo (novo) varia a velocidade de SPI automaticamente a fim entrar na modalidade de programa. mas podem ser forçadas para PIC 10-12-16-18 using as opções relacionadas do dispositivo (ou através da linha de comando). onde xxxx são o valor e os centímetros cúbicos novos a soma de controle Mudar a configuração de Atmel AVR: ao contrário do PICs. Dispositivos suportados Eu tentei este programador com um pequeno número de dispositivos (aqueles I possuem mais algum testado por outros usuários) indicados em bold(realce). 12F519. para a série 93S e para todos os outro.12C509. 10F206. para 10F220. Para overwrite a outra opção do uso dos valores da calibração “escrever Calib1 e 2”. entretanto. 12C508A. por exemplo 242LC56. etc. Similarmente é possível overwrite o valor alternativo com o índice da lima de . Deixar-me por favor saber se você verific a operação com os dispositivos não experimentados. assim que se não há nenhuns o dispositivo é em branco. 10F204. 12F509. se os relatórios de programa 0 erros ele significam que o código estêve verific com sucesso. 12F508. se usar o que está especific na lima de .hex. se nenhum estêve mudado antes). durante escrever ou imediatamente depois de. indicado com o 93x (93xA têm uma organização de 8 bocados). Os dispositivos de Atmel AVR com sufixos do varius são sempre que o algoritmo de programação são exatamente o mesmo. em PIC24-30-33 a memória executiva é lida também. as posições da identificação serão escritas neste caso também. se especific na lima de . somente as linhas com dados válidos são indicadas. os outros dispositivos são suportados mas não testados. assim que mesmo se os dados de fonte são 0xFFFF escrever-se-á como 0x3FFF. por exemplo ATmega8 junto agrupados e ATmega8A. outras opções são: usar o valor velho (que deve ser o mesmo que o apoio. 12C508. caso que você usa a placa de expansão do AVR certificar-se que X2 não está amarrado à terra. 12F510. após ter apagado toda a memória os programas de verificação restauram o valor da calibração que toma a da posição alternativa.A terceira possibilidade é que o dispositivo está configurado para o ressonador externo mas X2 não pode se mover.. using a opção “escrever a identificação e o BKosccal”. as memórias 93x usam 2 algoritmos diferentes. 10F320. que não são verific. manter na mente que não todos os bocados estão executados freqüentemente. 24AA256. . considerando que para cada dispositivo a família uma estêve verific pelo menos. Igualmente contatar-me se você precisa outros algoritmos ou novos do código por o senhor mesmo. Se você quer verific outra vez você pode ler o dispositivo e compará-lo com os dados originais. por exemplo em PIC16 uma palavra de dados é 14 bocados por muito tempo. Observação da tomada: O PICs da série do LF é usado exatamente como o F uns. Verific que uma escrita era bem sucedida: todos escrevem algoritmos que o instrumento escreve a verificação. lido e escrevem: 10F222. 10F322. igualmente as palavras dos Config têm geralmente alguns bocados reparados em 0. dispositivos suportados 10F202. As memórias de EEPROM compreendem todas as versões com VDDmax=5V. a menos que especific de outra maneira. todo devem trabalhar sem problemas. 12C509A. Usar corretamente OscCal e outras palavras da calibração: alguns dispositivos (por exemplo 12F5xx) armazenam o valor interno da calibração do oscilador no último endereço da memória do programa e em uma posição alternativa após as palavras da identificação. para vê-la usar a opção relativa antes do lido. Ler a área de memória reservado: a maioria de dispositivos do PIC têm uma área reservado acima das palavras dos Config que seja usada para finalidades do teste ou da calibração.hex. os 10F200. Certific de um dispositivo esteja em branco: lê-lo e olhar dados indicados.hex. 16F819. 16F1526. 24FJ128GA108. 16F1719. 18F86J72. 18F2423. 16F1786. 24FJ64GA104. 18F2455. 18F67J90. 18F67J10. 18F458. 24F04KA200. 16F87. 16F1512. 24FJ128GA310. 18F87J72. 24FJ64GA004. 24FJ256GB110. 18F2480. 18F442. 18F87J90. 18F45K80. 18F64J11. 18F66J11. 12F752. 18F448. 18F25K80. 24FJ128DA110. 16F1828. 16F721. 16F1825. 16F1619. 16F777. 24FJ64GA310. 16F753. 24FJ64GB108. 24FJ256GA106. 24FJ16GA002. 18F84J11. 16F1783. 18F85J90. 24FJ64GA306. 16F1939. 18F26J50. 18F1220. 16F1455. 18F8520. 18F83J90. 18F2539. 16F1936. 18F4458. 16F77. 18F2685. 18F44J11. 18F66J15. 16F616. 18F25J10. 24FJ128DA210. 18F65J90. . 16F689. 16LF1906. 24FJ64GC008. 18F66J55. 18F24J10. 18F4320. 16F1823. 16F818. 16F1503. 24FJ48GA002. 16F1937. 12F1572. 18F65J11. 24FJ64GA102. 24FJ128GA006. 24FJ128DA106. 18F66J50. 12F1571. 16LF1559. 24FJ96GA006. 24FJ128GA008. 24FJ256GA108. 18F8722. 18F63J90. 16F1509. 24FJ192GA110. 18F4553. 16F1459. 16F727. 18F67J60. 16F72. 16F876A. 18F4510. 18F44J50. 16F636. 18F87J11. 16F1933. 24F04KA201. 18F2520. 18F26J53. 16F1618. 18F25K20. 24FJ128GB108. 16F73. 18F4450. 18F4685. 16F506. 16F687. 18F25K22. 18F86J90. 18F26J13. 24FJ16GA004. 18F86J11. 18F46J11. 16F737. 16F1707. 18F26J11. 24FJ32GB002. 16F83. 18F65J50. 18F2620. 16F1826. 18F258. 24FJ256GB106. 24F08KA101. 16F677. 12F615. 18F23K22. 18F2553. 16F54. 18F86J50. 16F630. 18F4523. 18F47J53. 16F1614. 18F252. 18F4480. 16F1713. 18F4620. 16F631. 24FJ128GA010. 16F1947. 16F627. 16F1454. 18F25J50. 16F1782. 24FJ64GC010. 24FJ64GB110. 18F43K20. 24FJ128DA206. 18F67J11. 18F4220. 18F4431. 18F64J90. 12F529T48. 16F1513. 16F1789. 16F1519. 18F46J50. 18F4610. 16F648A. 18F2610. 18F46K80. 16F527. 16F747. 18F25K50. 16LF1907. 16LF1554. 24FJ32GA004. 16F723. 16F917. 24FJ96GA008. 16F627A. 16F1507. 24FJ256GB108. 12F529T39. 16LF1904. 16F570. 18F66J65. 18F45J11. 18F2680. 16F1847. 18F45K20. 18F4580. 16F914. 16C84. 18F86J15. 18F4525. 16C83. 16F1709. 16F1516. 18F13K22. 16F59. 18F24K22. 18F45K22. 16F724. 16F887. 18F248. 16F1788. 18F86J55. 16F1717. 18F63J11. 18F46K22. 16F688. 18F84J90. 18F2458. 24FJ128GB206. 18F1320. 18F46J13. 16F884. 16LF1902. 24FJ128GC010. 18F86J60. 16LF1903. 18F44J10. 18F1230. 16F716. 16F684. 16F628A. 18F2585. 18F2523. 16F882. 18F4331. 18F1330. 16F913. 18F2220. 24FJ192GB108. 16F84A. 24FJ96GA010. 24FJ192GA108. 24FJ128GA106. 16F1716. 16F720. 18F27J53. 16F873A. 16F1517. 18F2410. 18F26K20. 18F2221. 24FJ256GA110. 18F96J65. 24FJ64GB004. 16F874A. 18F2525. 16F722A. 18F86J93. 18F4520. 18F67J50. 18F14K50. 18F2439. 16F1579. 16F76. 16F767. 24FJ64GA008. 18F24J11. 18F26K50. 24FJ32GA002. 12F1612. 18F85J11. 16F1829. 16F871. 18F66K80. 18F14K22. 16F707. 24FJ32GB004. 24F16KA101. 18F24J50. 24FJ192GB110. 16F526. 18F85J50. 16F1704. 18F2450. 18F86J10. 12F1501. 24FJ128GB110. 18F66J60. 24FJ128GC006. 18F2515. 18F83J11. 18F87J10. 18F87J50. 16F1787. 18F4423. 18F4585. 24FJ32GA104. 12F635. 16F1578. 16F1708. 16F1934. 18F4420. 18F4680. 18F44K20. 24FJ64GA002. 16F84. 18F2550. 18F2331. 12F675. 18F86J16. 18F24K20. 16F1718. 18F47J13. 16F1527. 16F676. 18F23K20. 24FJ64GA308. 18F45J50. 24FJ192GB106. 24FJ128GA306. 18F45K50. 16F1518. 18F452. 18F13K50. 18F4455. 18F4321. 18F26K80. 18F2431. 18F4550. 18F242. 16F722. 16F1574. 18F66J93. 18F2682. 18F25J11. 18F4539. 16F639. 24FJ128GA110. 24FJ192GA106. 16F1784. 24FJ128GB210. 16F610. 18F2510. 18F2320. 12F683.12F609. 16F873. 16F1827. 16F628. 18F46K20. 16F877A. 24FJ128GB106. 18F85J15. 16F886. 16F1824. 16F1615. 24F16KA102. 18F27J13. 24FJ128GC008. 18F86J65. 16F723A. 24FJ128GA308. 24F08KA102. 24FJ48GA004. 24FJ256GB210. 16F785. 16F916. 18F2321. 24FJ256DA106. 18F66J10. 16F1705. 18F87J93. 24FJ64GB106. 24FJ64GB002. 18F4682. 24FJ64GA006. 16F690. 16F726. 24FJ256GB206. 16F685. 16F872. 12F1840. 16F1703. 16F870. 16F877. 16F1508. 12F1822. 16F74. 24FJ32GA102. 18F4221. 12F617. 18F44K22. 16F874. 16F883. 18F85J10. 16F88. 18F65J10. 18F4439. 18F66J16. 18F2580. 16F83A. 18F66J90. 18F46K50. 18F26K22. 18F87J60. 16F505. 18F65K80. 24FJ64GA010. 18F96J60. 18F67J93. 24FJ64GC006. 18F2420. 18F43K22. 16F876. 18F24K50. 18F4515. 16F1613. 12F629. 18F45J10. 16F1575. 16F1946. 18F65J15. 18F46J53. 16F1938. 18F4410. 16F57. 18F97J60. 16F946. 33EP32MC204. 33FJ128GP206. 95128. 33FJ64GP310. 33EP64GP502.24FJ256DA110. DS2430. 95020. 33EP512MC502. 33FJ64GP710. 33FJ64GP202. 2416. 30F2011. ATmega168. 33FJ128MC710. 24HJ32GP204. 24HJ64GP206. 11080. ATmega324. 24EP512MC204. 24EP64GP202. 24HJ128GP502. 241024. DS2431. 93x46A. 95512. 24EP128GP206. 33EP128MC504. 33EP64MC503. 33FJ64GP206. 33FJ64GP706. ATtiny26. AT90S8535. ATtiny44. 33EP32MC502. 33EP512MC202. 25Q40. 33FJ128MC706. DS28EC20. 93S46. 33EP128MC204. 24EP128GP202. ATtiny261. 11040. 33EP64MC206. 24HJ256GP610. 95010. 33FJ64MC510. 33FJ32GS406. 30F5013. AT90S2313. ATmega8515. 24HJ128GP310. 24EP256MC206. 33EP128MC206. 33EP128GP506. 33EP512MC506. ATtiny48. ATtiny85. 25X40. 33FJ128GP204. 24EP64GP204. 33FJ32GP304. 33FJ16GS404. 33FJ128GP710. 30F3012. 33EP256GP506. 33EP32MC504. 251024. 33FJ64MC710. ATtiny25. 33EP128MC506. ATtiny461. 33FJ32GS606. DS1820. 93x76A. 25X20. 33EP128GP504. 33FJ64MC804. 33EP512MC204. ATmega1284. 24EP64MC203. ATmega328. ATtiny13. 25080. 33FJ128GP310. 33FJ64MC802. 95080. ATmega64. 24128. 33FJ128MC204. 33FJ16GP304. 30F6015. 33FJ32GP202. 24EP512GP202. 33FJ64GS608. 33FJ06GS102. 24EP512MC202. 33EP256MC202. 33FJ06GS202. 25X128. 33FJ12GP202. 33EP128MC202. 24EP64MC204. 95M02. 24HJ12GP201. 24EP64MC202. 33EP256MC502. 33FJ128MC708. 33EP256GP502. ATtiny12. 30F4012. 33FJ32MC202. 33EP32MC203. 33FJ32GP302. ATmega8. 258005. 25X64. 30F3014. 33FJ64GS610. 33EP32GP504. 33FJ128MC510. 30F6011. 33FJ64MC204. 30F2010. 24EP32GP204. DS2433. 93S66. 33FJ128MC804. 33FJ256MC510. 24EP32MC204. 33EP128GP502. 30F5016. 33FJ32MC302. 24512. 33FJ32MC304. 33EP64MC202. 30F3013. 24EP32MC203. 24HJ64GP510. 93x76. ATtiny11. 33FJ32GS610. 24EP128MC202. 33EP32GP503. 11020. 25X10. 2408. 24EP512GP206. 33FJ128MC802. 33FJ64GP804. 33FJ64GS606. ATtiny24. 2402. 2404. 33FJ128MC506. 33FJ16MC304. 33FJ256MC710. 25256. 254005. 24HJ128GP510. 24HJ128GP506. 2432. 33EP64MC502. AT90S1200. 24EP512GP204. 24HJ32GP302. 33FJ64GP204. ATmega32. 24HJ256GP210. 24HJ32GP202. 241025. 33FJ128GP802. 30F6014. 11010. ATmega164. 24256. 24EP64GP206. 251605. 30F3010. 93x86. 30F2012. 33EP512MC206. ATmega644. 24EP512MC206. 24EP128MC206. 33EP64MC203. 25X05. ATmega48. 25X32. 25010. 24EP256GP202. 25040. 33FJ128GP306. 33FJ12GP201. 33FJ06GS101. 30F4013. 33FJ32GS608. 33FJ16GS402. 24HJ128GP206. 33FJ64GS406. 30F5011. 24HJ128GP504. 33FJ64MC508. 33EP512GP506. 33FJ32MC204. ATtiny861. ATmega88. 33FJ128MC202. 33EP256MC504. 95160. 33EP256GP504. 25X16. 25640. 25X80. 95M01. 24HJ64GP506. 93x46. 33EP512GP504. 33EP512MC504. 33FJ128GP708. 24FJ256DA210. 24EP32GP202. 25320. 25020. 24EP256GP204. 95320. 33FJ256GP510. 252005. ATtiny2313. 33FJ128GP706. ATtiny88. 24HJ128GP306. 33FJ64GP802. ATtiny84. 30F1010. 251005. 33EP32GP502. 24EP64MC206. 30F3011. 33EP512GP502. 24HJ16GP304. 95640. 33EP64MC204. 33FJ16GS502. 24HJ128GP204. 95040. 24HJ128GP202. 33FJ12MC201. AT90S8515. 24EP256GP206. 24FJ256DA206. 2464. 24EP128GP204. 33EP256MC204. 33EP64GP504. 33EP32MC202. 30F4011. 24HJ32GP304. 93x66A. 24HJ64GP202. 30F6010. 24HJ64GP204. 33EP256MC506. 93x56. 33EP64MC504. 24EP256MC202. 33EP64MC506. 24HJ64GP502. 33FJ64MC506. 95256. ATmega16. 33EP64GP503. 24EP256MC204. 33FJ64MC706. 33EP256MC206. 24EP32MC202. 93x66. 24HJ12GP202. 33FJ64GP708. 25512. 93x56A. 25160. 33FJ64MC202. 24EP128MC204. ATtiny4313. ATmega8535. 33FJ128GP202. 33FJ16GS504. 24HJ128GP210. 30F2023. 33FJ256GP710. 33EP32MC503. 33FJ256GP506. 2400. 93S56. 30F6013. 25128. 33FJ32GP204. 30F5015. 33FJ128GP804. 24HJ64GP504. 30F2020. 30F6012. 33EP64GP506. 24HJ256GP206. 2401. 11160 dispositivos suportados para lido somente: . 33EP128MC502. 24EP32GP203. 24EP64GP203. 33FJ12MC202. 93x86A. 24HJ64GP210. 33FJ64GP306. ATtiny45. Por exemplo. 12CE673. Alguns deles têm as variações 5V. o USB é pacote baseado. 16F1xxx.3V. É necessário introduzir os comandos sintéticos que o microcontrolador pode usar para recrear as formas de onda apropriadas. assim que é fora da pergunta para controlar diretamente sincronismos como com portos de série. 24Fxxx.3V são: 12F1xxx. 12C672. A vantagem desta aproximação é que os sincronismos são muito precisos. quando a variedade extrema de algoritmos não aumentar o tamanho de código dos firmware. 24Hxxx. a adaptação e a expansibilidade.12C671. se não dano permanente pode ocorrer. o software verific que tais adaptadores estão atuais antes de começar programar.cronometrar e é afetado dramàtica por outros processos que funcionam no sistema. Além disso. 18FxxKxx. tais como seqüencial lêem. os dispositivos 3. 33Fxxx. No outro extremo estão os programadores “espertos”. um pacote é recebido completamente. o software do anfitrião controla ambos os algoritmos dos sincronismos e da programação mas precisa todo o processador central . 12CE674 Importante!! Não usar os dispositivos 3. mas o software do anfitrião controla os algoritmos. Uma outra vantagem é que uma vez que os comandos básicos são verific o desenvolvimento dos algoritmos está no PC.3V sem as placas de expansão 3. assim que a tarefa de gerar formas de onda seria dada de qualquer maneira ao microcontrolador. esta sido a seqüência usada para entrar na modalidade de programa para 16F628 e para ler DevID: SET_PARAMETER //set atrasa para ser usado por outras instruções SET_T1T2 //T1 & T2 1 //T1 =1us 100 //T2 =100us EN_VPP_VCC //Vpp & Vcc = 0 0x0 SET_CK_D //Clock e dados como a saída e o 0 0x0 EN_VPP_VCC //Vpp permitiu 0x4 Atraso de NOP //small . que funciona em 5V. mas os dispositivos ESCONDIDOS podem somente trocá-los cada Senhora. sem a necessidade para atualizações freqüentes dos firmware . Igualmente não põr nenhum 24F-33F sobre o soquete 30F. um objetivo de um programador de confiança é ser independente da velocidade do anfitrião e da ocupação do processador central. A fim aumentar a velocidade e a eficiência algumas instruções correspondem às seqüências de comandos freqüentemente repetidos. Protocolo de comunicação Para projetar um protocolo de comunicação nós devemos tomar em consideração algumas exigências frequentemente contrasting: transferir a velocidade e a eficiência. se você precisa de programar em 5V você pode selecionar a opção “não exige placas do LV”. que controlam autônoma sincronismos e algoritmos. o tamanho de código. Eu escolhi uma combinação de ambos: Os comandos de ICSP (na programação de série do circuito) são executados nos firmware. 18FxxJxx. mas devem ser atualizados suportar dispositivos novos e tender a exigir muita memória armazenar o código. mas obviamente você precisa de selecionar o dispositivo apropriado. Geralmente nós podemos encontrar dois tipos de programadores: os programadores de série simples tomam somente comandos mudar níveis de tensão. Diferentemente das ligações de série. identificação (3B). Seguir é a lista de todas as instruções: Instrução Valor Parâmetros Resposta Notas NOP 0x00 nenhuns eco nenhuma operação PROG_RST 0x01 nenhuns eco + 10B restauração do programador.EN_VPP_VCC //Vdd +Vpp permitiu 0x5 Atraso de NOP //small LOAD_CONF //program ao contrário de 0x2000 config de 0xFF //fake config de 0xFF //fake Endereço de INC_ADDR_N //increment por 6 0x06 READ_DATA_PROG //read DevID . Os comandos de ICSP usam o T1 ou o T2 como valores para atrasos. todas as instruções retornam um eco. comunicam-se através da barra-ônibus de I2C ou de SPI. O estado de conexão do USB é sinalizado por LED2: pisca em 4 hertz durante a enumeração. em 1 hertz na operação normal. LED1 mostra quando há umas instruções que estão sendo executadas. à excecpção do RESPLENDOR. valor do byte 2-3: SET_PARAMETER 0x07 1B eco SET_T1T2 (=0): T1 & T2 SET_T3 (=1): T3 (H. Caso que uma instrução não tem bastante parâmetros retorna um erro (0xFE) e a execução do pacote atual é parada. identificação (3B) CHECK_INS 0x03 1B eco + 1B se a instrução especific existe retornos seu código. Além do que comandos que de ICSP outras instruções controlam o programador. corda de “RST” PROG_ID 0x02 nenhuns echo+ 6B emite a versão do fw (3B). L) SET_MN (=3): M. byte1: parâmetro a mudar. se não retorna o erro (0xFE) RESPLENDOR 0x04 nenhuns nenhuns o amortecedor de saída dos resplendores (emite 64B) e para o intérprete de comando para o pacote atual. emite a versão do fw (3B). executam atrasos precisos.. Cada instrução é executada pelo menos em 40 nós. N WAIT_T1 0x08 nenhuns eco T1 das esperas nós (defeito 1us) WAIT_T2 0x09 nenhuns eco T2 das esperas nós (defeito 100us) WAIT_T3 0x0A nenhuns eco T3 das esperas nós (defeito 2ms) . VREG_EN 0x05 nenhuns eco gira sobre o regulador de tensão VREG_DIS 0x06 nenhuns eco desliga o regulador de tensão ajusta parâmetros internos. devido ao tempo de execução do laço do intérprete. que emite imediatamente o amortecedor de saída e para a execução do pacote atual.. L) SET_timeout (=2): intervalo de parada (H. controlam tensões de programação. WAIT_US 0x0B 1B eco esperas N nós READ_ADC 0x0C nenhuns eco +2B lê a tensão do regulador (10bits. do T1 nós entre o comando e dos dados. PGM no dispositivo programado. 8 dados de bocado EN_VPP_VCC SET_CK_D READ_PINS LOAD_CONF LOAD_DATA_PROG LOAD_DATA_DATA 0x0E 1B 0x0F 1B 0x10 nenhuns 0x11 2B 0x12 2B 0x13 1B READ_DATA_PROG 0x14 nenhuns eco +2B Comando de ICSP: Ler dados da memória do programa (000100). bocado 2-3: Vpp eco controles CK. do T1 nós entre o comando e dos dados. 1bit para a impedância (baixo-elevada). bocado 4-5: PGM eco Comando de ICSP: Configuração da carga (000000). D. 14 dados de bocado (alinhado direito. 1 bocado para o nível (0-1). T1 nós atraso na extremidade. no T1 nós entre o comando e nos dados. bocado 4-5: PGM eco +1B lê o estado de linhas de controle. T1 nós atraso na extremidade INC_ADDR_N 0x17 1B eco Comando de ICSP: Incrementar o endereço (000110). MSBLSB) READ_DATA_DATA 0x15 nenhuns eco +1B Comando de ICSP: Ler dados da memória dos dados (000101). 0-1 mordido: D. se o erro é < 200 milivolt dentro de 15ms retornam o <parameter>. MSBLSB) eco Comando de ICSP: Dados da carga na memória dos dados (000011). 1bit para a impedância (sustento em 0). T1 nós entre o comando e dados. 1 bocado em nível (0-1). tempos repetidos de N BEGIN_PROG 0x18 nenhuns eco Comando de ICSP: Começar a programar (001000) BULK_ERASE_PROG 0x19 nenhuns eco Comando de ICSP: Memória maioria do programa do Erase (001001) END_PROG 0x1A nenhuns eco Comando de ICSP: Programação do fim (001010) . 14 dados de bocado (alinhado direito. no T1 nós entre o comando e nos dados. impedância 1bit (baixo-elevada). 0-1 mordido: Vcc. 1 bocado para o nível (0-1). MSB-LSB eficazes). bocado 2-3: CK. MSB-LSB) eco Comando de ICSP: Dados da carga na memória do programa (000010). considerando o divisor da entrada. bocado 2-3: CK. 8 dados de bocado INC_ADDR 0x16 nenhuns eco Comando de ICSP: Incrementar o endereço (000110). 14 dados de bocado (alinhado direito. 0-1 mordido: D. a tensão em V é <value>/1024*5*34/12 SET_VPP 0x0D 1B eco +1B ajusta a tensão do regulador a <parameter>/10. se não o erro (0xFE) eco controles Vpp e Vcc no dispositivo programado. atenção: usar os resistores pull-up de acordo com a velocidade selecionada. 16 dados de bocado (MSB-LSB) eco Comando de PIC18 ICSP: A tabela escreve borneinc (1101). 4=1M.B. velocidade do 5:3 do bocado: 0=100k. 001110. TABLE_WRITE 0x25 2B eco Comando de PIC18 ICSP: A tabela escreve (1100). 16 dados de bocado (MSB-LSB). 16 dados de bocado (MSB-LSB). 1=200k. tempos das repetições N (N é o primeiro parâmetro) eco Comando de PIC18 ICSP: A tabela escreve e programa (1111). 8 dados de bocado TABLE_READ 0x23 nenhuns eco +1B Comando de PIC18 ICSP: A tabela leu (1000). pulsos de M & overpulses de N CORE_INS 0x21 2B eco Comando de PIC18 ICSP: Instrução do núcleo (0000). 8 dados de bocado. igualmente executa um NOP com um atraso especific nos parâmetros 3-4 (em nós) SEND_DATA 0x29 3B eco Comando de PIC18 ICSP especific no byte 1. 6 mordidos: controle de taxa de pântano para a velocidade > o 100kbps. 16 dados de bocado (MSB-LSB). 16 dados de bocado (MSB-LSB) SHIFT_TABLAT 0x22 nenhuns eco +1B Comando de PIC18 ICSP: Desloc TABLAT (0010). 3=800k. 2=400k. lê 8 dados de bocado I2C_INIT 0x2B 1B eco Inicializa uma comunicação de I2C: 0xFF incapacita I2C. 001000. igualmente executa um NOP com um atraso especific nos parâmetros 3-4 (em nós) TBLW_INC_N TBLW_PROG 0x26 (2N+1) B 0x27 4B TBLW_PROG_INC 0x28 4B eco Comando de PIC18 ICSP: A tabela escreve e programa borne-inc (1110). 8 dados de bocado TBLR_INC_N 0x24 1B Comando de PIC18 ICSP: A tabela leu borne-inc echo+N+NB (1001).BULK_ERASE_DATA 0x1B nenhuns eco Comando de ICSP: Memória maioria dos dados do Erase (001011) END_PROG2 0x1C nenhuns eco Comando de ICSP: Programação do fim (001110) ROW_ERASE_PROG 0x1D nenhuns eco Comando de ICSP: Memória do programa do Erase da fileira (010001) BEGIN_PROG2 0x1E nenhuns eco Comando de ICSP: Começar a programar (0011000) CUST_CMD 0x1F 1B eco Comando de ICSP especific no parâmetro PROG_C 0x20 2B eco +1B Programa uma palavra depois do algoritmo 12Cxxx: 000010. tempos das repetições N. retornos N e dados do N. . emite 16 dados de bocado (MSB-LSB) READ_DATA 0x2A 1B echo+1B Comando de PIC18 ICSP especific no byte 1. echo+1+NB Se o <parameter 1>=0 retorna o byte que estêve recebido por último (durante ou lido ou escrever) SPI_WRITE 0x31 1B+NB echo+1B Escrevem bytes do <parameter 1> à barra-ônibus de SPI. lê palavras do <parameter 1> no echo+1+2NB <parameter 2> do endereço: <parameter 3> através de SPI. I2C_READ2 0x2E 4B echo+1+NB Lê da barra-ônibus de I2C. RA5: RA3> Não muda o sentido do sinal. forças automaticamente o bocado do RW no byte de controle. Retorna o <parameter 1> . Responde com ACK_ERR (0xFD) em caso de reconhecem o erro (por exemplo se não há nenhum dispositivo na barra-ônibus). 0x33 3B Comando de ATMEL: ler a memória do programa (0010H000). forças automaticamente o bocado do RW no byte de echo+1+NB controle. idêntico a I2C_READ. 1=200kbps. carrega palavras do <parameter 1> no <parameter 2> do endereço: <parameter 3> através de SPI. Para 2 endereços de byte apenas usar o ò byte do endereço como o primeiro byte dos dados. RC6. 0x32 2B eco Níveis de forças de portos de comunicação: <parameter 1> = <RB7: RB0> <PARAMETER 2> = <RC7. Retorna o <parameter 1> + dados. mas usa 2 bytes endereçando 0x2F 1B eco Inicializa uma comunicação de SPI: 0xFF incapacita SPI velocidade do 1:0 do bocado: 0=100kbps. 2=300kbps. 3=500kbps modalidade do 2:3 SPI do bocado SPI_READ 0x30 1B Lê bytes do <parameter 1> da barra-ônibus de SPI. Retorna o <parametro 1> + dados SPI_INIT EXT_PORT AT_READ_DATA AT_LOAD_DATA 0x34 3B+2N echo+1B Comando de ATMEL: página da memória do programa de carga (0100H000).2:0 do bocado: nível da lógica de A2-A1-A0 (no dispositivo) I2C_READ 0x2C 3B Lê bytes do <parameter 1> da barra-ônibus de I2C using o <parameter 2> como o byte de controle e o <parameter 3> como o endereço. Respondem com <parameter 1> + os dados ou com ACK_ERR (0xFD) em caso de reconhecer o erro (por exemplo se não há nenhum dispositivo na barra-ônibus) I2C_WRITE 0x2D 3B+NB eco Escreve bytes do <parameter 1> à barra-ônibus de I2C using o <parameter 2> como o byte de controle e o <parameter 3> como o endereço. 4=2MHz. 2=500kHz. N=<parameter1>&0x3F. 3=1MHz. 6=6MHz. N * 24 dados de bocado (MSB primeiramente). M=<parameter1> >>6 REGOUT 0x37 nenhuns eco +2B Comando de PIC24 ICSP: Do deslocamento registo para fora VISI (0001). deteta o pulso slave da presença: 1=present 0=absent OW_WRITE 0x41 1B+NB eco Escreve bytes do <parameter 1> na barra-ônibus de OneWire OW_READ 0x42 1B echo+1+NB Lê bytes do <parameter 1> da barra-ônibus de OneWire UNIO_STBY 0x43 não eco Pulso da espera do UNIO UNIO_COM 0x44 1B+1B+NB echo+1+NB Executa um ciclo de uma comunicação do UNIO: uW_TX .CLOCK_GEN 0x35 1B eco Gera um sinal de pulso de disparo em RB3 (using CCP1-2 e TIMER1) freqüência do 2:0 do bocado: 0=100kHz. 24 dados de bocado (MSB primeiramente). adiciona 5 ICSP_NOP na extremidade SIX_N 0x3F 1+3NB eco Comando de PIC24 ICSP: Instrução do núcleo (0000). 1=200kHz. 5=3MHz. 24 dados de bocado (MSB primeiramente) SIX_LONG 0x3E 3B eco Comando de PIC24 ICSP: Instrução do núcleo (0000). adiciona 2 ICSP_NOP na extremidade SIX_LONG5 0x49 3B eco Comando de PIC24 ICSP: Instrução do núcleo (0000). MSB primeiramente OW_RESET 0x40 não echo+1B Pulso de restauração de OneWire. emite instruções de N e adiciona M ICSP_NOP após cada um. período de pulso de disparo: 2* (T11) +1 nós RX16 0x3A 1B Recebe 16 palavras do bocado sobre ICSP (MSB echo+1+2NB primeiramente). 16 dados de bocado ICSP_NOP 0x38 nenhuns eco Comando de PIC24 ICSP: Executar NOP (0000) TX16 0x39 1+2NB echo+1B Transmitem 16 palavras do bocado sobre ICSP (MSB primeiramente). Retorna o <parameter 1> + dados. As inutilizações PWM1 output (o regulador de DCDC) SEIS 0x36 3B eco Comando de PIC24 ICSP: Instrução do núcleo (0000). 24 dados de bocado (MSB primeiramente). Os dados são MSB especific primeiramente uW_RX 0x3D 1B Lê bocados do <parameter 1> da barra-ônibus de echo+1+NB MicroWire. período de pulso de disparo: 2* (T11) +1 nós uW_INIT 0x3B nenhuns eco Inicializa uma comunicação de MicroWire 0x3C 1B+NB echo+1B Escreve bocados do <parameter 1> à barra-ônibus de MicroWire. 8 dados de bocado. Até a versão 0. alguns capacitores. e um tipo receptáculo do USB de B. desde que este modelo falta o módulo de MSSP eu usei uma execução do software de I2C e de SPI.escreve bytes do <parameter 1> e lê bytes do <parameter 2>. byte N+1=PB0 Recebe 8 bocados de RB1 (PB2) (somente o último byte) READ_RAM 0xF0 2B echo+3B Lêem da memória do anfitrião. D3 que é descrito mais tarde. 16 endereços de bocado. VCC e VPP. RA5: RA3> AT_HV_RTX 0x48 1B+2NB echo+1B Emite os bocados 2N*8 em RB0/RC7 (PB1/PB0). com o CLK em RC6 (PB3) byte N=PB1. Para finalidades de teste somente. 4455. A fim executar um USB pheripheral com um micro do PIC nós precisamos muito poucos componentes: o microcontrolador principal. Os 2458 e os 2553 têm 12 um bocado CAD.7) O projeto é baseado 28 em um pino 18F2550. 1=in): <parameter 1> = <RB7: RB0> <PARAMETER 2> = <RC7. Para poder programar dispositivos do PIC nós precisamos duas linhas digitais para o pulso de disparo e os dados e duas tensões de fonte. 16 endereços de bocado. igualmente falta a segunda canaleta de PWM. que são controladas using três transistor. WRITE_RAM LAÇO 0xF1 3B 0xF2 nenhuns O circuito (v1. assim que caberá confortably nos 2455 menores. gera um byte da sincronização se há uns bytes a escrever SET_PORT_DIR 0x45 2B eco Ajusta o sentido nos portos do IO (0=out. VPP vem de um regulador de tensão do interruptor dado forma por Q4. RC6. RA5: RA3> READ_B 0x46 não echo+1B Lê IO B portuário READ_AC 0x47 não echo+1B Lê os portos A e C do IO: <RC7. Diagrama esquemático do módulo principal: . tão somente recompilação são exigidos. aproximadamente 8. neste caso RB3 pode ser usado para girar sobre um oscilador externo (que seria introduzido em uma placa de expansão modificada de Atmel). O uso dos 40 dispositivos correspondentes do pino (4450. os ecos endereçam e dados nenhuns Restaura o ponteiro de instrução e executa todas as instruções outra vez.5 KWords são usados. endereço dos ecos echo+3B Escreve à memória do anfitrião. 8 dados de bocado. exatamente como escrito em notas de aplicação do microchip. um quartzo. 4553) exige a modificação do PWB. 4550. RC6. conseqüentemente não pode gerar o pulso de disparo para microplaquetas de Atmel (para aqueles que são configuradas com pulso de disparo externo).8. L1.0 eu adaptei o código aos 2450. 4458. PCB of main module: Muitos componentes são opcionais. são somente necessários programar alguns tipos de dispositivos ou para as . microcontrollorer principal não programado ou não programado incorretamente (com opção de LVP). Conetado uma vez ao PC. todas as saídas (CK. um circuito de trabalho pisca D2 em 4Hz até que a enumeração esteja terminada. o último vem do cabo do USB e pode variar de 4. Q3 e Q4 endireitam. Resistores pull-up R26-27 de I2C. capacitores dessoldados. 20. no que diz respeito à terra. Atenção do pagamento à orientação dos transistor: O emissor de Q1 à esquerda. valor incorreto do indutor. pino 5) são ativadas em várias combinações. isto é devido ao fato de que o conversor de DCDC toma VCC como a tensão da referência. se você quer você pode evitar aquele usando um PWB dobro do lado. o PWB defects como shorts ou abre. Lista de componentes: Quartzo de U1 12Mhz (também 4. além o divisor de tensão do gabarito (R1-R2) pode introduzir um outro 5% do erro. porém algumas ligações em ponte são necessários no lado componente. Q1-2 BC557 (ou algum PNP.2458. VDDU. se as tensões medidas correspondem o que está apresentada na tela então à ferragem são montadas corretamente. A tensão de VPP podia ser diferente do valor ajustado até por 1V.4553) Soquete de U3 20p.aplicações futuras: conetores CONN2-3 da expansão. 16. o reconfiguration de opções do divisor da entrada é exigido) U2 18F2550 (também 2450. O PWB foi aperfeiçoado para caber o lado da solda. Para verific que tudo está trabalhando corretamente o uso da “a função do teste ferragem” no programa de controle: nesta modalidade.2455.4450. atenção do pagamento à polaridade) Q3-4 BC547 (ou algum NPN.4455. então em 1Hz. 8. melhorar se Shottky) Tipo ou outro do resistor de L1 100uH R1 22K R2 12K R3 100K R4: 6 10K R7 1M R8-9 2. atenção do pagamento à polaridade) Diodo emissor de luz D1-2 D3 1N4148 (ou todo o diodo. As causas as mais comuns do mau funcionamento são: orientação incorreta dos transistor.2K R10 10K R11: 23 100 R24-25 330K R26-27 10K C1 22-100uF 25V C2-3 22pF C4 >= 220nF C5 100nF C6 10uF C7-8 100nF . Soquete de U4 8p.4550.25V.75V a 5.4458. para ser executado sem dispositivos do alvo. ICSP-IN CONN4 (agora se usou para programar o microcontrolador principal sem o extrair). PGM. S1 interruptor. que pode ser alcangado nos pinos 14-15-12-1-4 de U3. resistores R11 da proteção: 23 (considerando seu custo porque não os usar?). D.2553. VPPU. Q2 acima. devem ser introduzidos em U3 com alinhamento a pin1: As memórias de I2C e de UNIO vão em U4. 14. Outros dispositivos podem ser programados using as placas de expansão obstruídas aos conetores CONN2-3 (mas eles não são exigidos para a operação básica):  28-40 pino PICs + conetor de ICSP  8-20 PICs do pino (mesmo que o prato principal.3V conexão de PIC16-18 + de ICSP.  3.3V) .3V)  Conexão de PIC24-30-33 + de ICSP. (esta placa tem igualmente um regulador 3. IO conduz a RB0 (pino 5). 18. mas lá é mais espaço para um soquete de ZIF) + conexão de ICSP.Tipo B Stripline da Stripline do pino CONN4 5 do fêmea USB do pino CONN2-3 CONN1 10 Como se usar O circuito básico pode hospedar dispositivos do PIC com os 8. Eu planeio fazer um adaptador para 10Fxxx com os 6 ou 8 pinos. Os dispositivos do Um-Fio no pacote TO92 podem igualmente ser conetados em U4: A ligação da terra vai a RB1 (pino 6). e 20 pinos (exceto 10Fxxx). entretanto é possível começ perto using fios. (esta placa tem igualmente um regulador 3.  I2C. os diodos podem ser do tipo. especialmente durante a extração. isto melhora a força da solda. estes dispositivos são pstos agora em 5V. O 16F1xxx poderia ser programado igualmente sem tal adaptador (somente a necessidade 16LF1xxx ele).7) pode facilmente modificá-lo.3V. memórias do uW e conexão de I2C-SPI. As seguintes imagens mostram como introduzir vários dispositivos do alvo nas placas de expansão: . quem já fêz o adaptador (antes de V. a presença de um adaptador 3. mas a verificação não está atual para ambos tão lá é nenhuma possibilidade da confusão. Devido à impossibilidade de apagar a proteção dsPIC30 regista em 3. 1.3V. Em montar os adaptadores eu sugiro para introduzir os conetores da expansão do lado componente. Os resistores de TBD não devem ser montados. Em caso dos dispositivos 3. SPI.  8-14-20-28-40 micros do pino ATMEL e conexão de I2C-SPI  ST72 (futuro) Os componentes para as placas de expansão são indicados no diagrama esquemático. e mantenho seu espaçador plástico nesse lado.3V (que tem RB1 e RB0 shorted) é verific pelo software a fim evitar dano irreversível. soquete. ou o ATTiny2313 no 28p. estes sinais estão atuais nos conetores principais da expansão do módulo ou em algumas placas de expansão como um conetor discreto. ICK.Os dispositivos menores têm que ser alinhados para fixar 1 do soquete respetivo. terra) à placa da aplicação. ICD. VDDU. As microplaquetas do alvo podem igualmente ser programadas no circuito pelos sinais de roteamento ICSP (VPPU. soquete. anotar que os dispositivos da baixa tensão exigem sinais de ICSP de uma placa de expansão da baixa tensão. A fim usar memórias Flash de SPI é necessário modificar o adaptador de EEPROM para abaixar a tensão de . por exemplo um PICs de 8 pinos no 20p. e tem que flutuar quando o oscilador é externo. mas reconetou-o ao usar 20 dispositivos do pino. Traço do Pin de vários conetores no cano principal e nas placas de expansão: . Para reparar o erro é suficiente manter X2 flutuar. o pino 10 é forçado ao VSS.3V. por meio de um outro programador. ATENÇÃO: a placa de ATMEL AVR tem presentemente um erro que impeça 28 dispositivos do pino (por exemplo ATMega8) da modalidade de programa entrando quando não são configurados com o oscilador interno. A fim compartilhar do mesmo soquete com os 20 dispositivos do pino (por exemplo ATTiny2313). em uma das seguintes maneiras: a) pino 10 da curvatura para fora no dispositivo do alvo de modo que permaneça fora do soquete. A placa de adaptador será modificada no futuro compreendendo uma ligação em ponte ao pino curto 10 ao VSS. abaixo está o diagrama esquemático: O conetor de ICSP-IN é usado para programar o micro principal sem extrai-lo. b) cortou o traço entre o pino 10 e VSS.fonte a 3. mas este pino corresponde a X2 nos dispositivos mais grandes. O mapa dos recursos usou-se: Pin Várias funções ICSP RB7 PGM RB6 Pulso de disparo de ICSP RB5 Dados de ICSP I2CEEPROM SPIEEPROM SPI-ATMEL A2 uWOneWire/UNIO EEPROM W (6) RB4 A1 HLD RB3 A0 CS Pulso de disparo do dispositivo PRE (7) RB1 Pulso de disparo Pulso de disparo Pulso de disparo de SPI Pulso de disparo RB0 Dados Dados para fora (MISO) Dados para fora (MISO) Dados para fora Dados em (MOSI) Dados em (MOSI) Dados dentro WP RESTAURAÇÃO RB2 S (1) expansão RC7 RC6 WP RC5 USB D+ RC4 D do USB RC2 DCDC PWM RC1 controles VDD RC0 controles VPP RA5 expansão RA4 expansão RA3 expansão Dados IO . assim que deve ser programado de uma certa maneira.png. placas principais do módulo + de expansão: . PCBs foi extraído com PWB. .3V PIC16-18. Aparte de pedir que alguma outra pessoa faça-o para você. . . sem PWB. e o resultado é um programador não de funcionamento. Certificar-se que você programa o dispositivo corretamente e não permite o bocado de LVP (baixa tensão que programa). é lento.sch PWB do módulo principal: . tudo no formato do PWB: Oprog. inclui fontes. tudo no formato do gschem: Oprog. png Como programar a primeira vez o micro principal? Este é um problema interessante: um dispositivo novo não pode trabalhar como o programador. O circuito principal e PIC PIC 28-40p. neste caso há igualmente uma versão das janelas da (um tanto limitado). Pode parecer estranho usar um programador para construir outro. Eu sugiro para usar a versão a mais atrasada (você necessidade de compilar fontes).pcb O arquivo completo.pdf. Em seu Web site não é evidente (porque todos usam o linux). Igualmente seria uma boa idéia comprar um micro alternativo. Eu penso que o esforço o vale a pena porque os programadores de série não são muito de confiança. Diagrama esquemático do módulo baixo: . gerber.pdf. para fazer a primeira vez o trabalho. 8-20p de algumas placas de expansão (com ZIF. isto reserva RB5 para a entrada da modalidade de programa e RB6-RB7 para uma comunicação. um programa de fonte aberta que viesse com série de GEDA.png. ATMEL): .png. 3. EEPROM.Diodo RA2 emissor de luz 2 Diodo RA1 emissor de luz 1 RA0 CAD para regulador RE3 Interruptor S1 O diagrama esquemático foi extraído com Gschem. pdf.pdf (igualmente espelhado). meu conselho é construir um daqueles programadores de série. como JDM. e naturalmente não portable aos computadores novos que faltam portos de série. mas é igualmente possível funcionar o programa nas janelas sob o cygwin.pdf. placas de expansão: . 3. a fim programá-lo com versões atualizados dos firmware. mas não há nenhuma maneira de conetar o USB sem os firmware. Com pouco esforço o circuito pode igualmente ser montado em placas experimentais.3V PIC24-30-33. Placa de expansão conetada ao circuito principal: . à saída acoplada C.A.Dispositivo Lo de OneWire no pacote TO92: b Resposta de etapa à mudança de carga (carga no traço superior.).5 a 12.5 V). 50ms/div Resposta de etapa à mudança do ponto ajustado (11. na parte inferior tr. 50 ms/div . vêem o circuito). .7. fontes (espaço de trabalho visual do estúdio 6) OP (comando-linha para o linux & o Windows) Guia de usuário de OpenProg e de Opgui Certificados da oitava História há muito tempo 2007 2008 Julho 2008 Agosto 2008 Novembro 2008 Janeiro 2009 Mar 篠 2009 Abril 2009 Junho 2009 Setembro 2009 Outubro 2009 Janeiro 2010 Fevereiro 2010 Mar 篠 2010 Abril 2010 necessidade para um programador de confiança e livre do USB experiências com firmwares do PIC e do varionus do USB. Firmware: terminar o projeto de MPLAB ou os firmware compilados (.5.1: adicionou alguns dispositivos de PIC18 e de Atmel.5: placa de expansão para 3. usá-la. verific a lista em dispositivos suportados. você poderia igualmente recomendá-lo ou escrever a revisão da (esperançosamente positivo). bugfix programas de verificação v0. versão liberada 0.5: Barra-ônibus de I2C & de SPI. . removidos alguns erros diagrama esquemático e PWB v1.1: resolveu os erros de algum SPI. 93Sx6 adicionado MicroWire EEPROMs versão 0.4: sustentação adicionada para I2C EEPROMs versão 0. Trabalhos OP nas janelas.8.5. dispositivos adicionados de algum ATMEL programas de verificação v0. Se você encontra este projeto útil me escrever um par linhas: Transferências Diagrama esquemático e PWB: terminar o arquivo.5. adicionados alguns dispositivos de Atmel e 93Cx6C programas de verificação v0.Como contribuir A melhor maneira de contribuir a este projeto é construi-la. removidos alguns erros programas de verificação v0. Igualmente há ainda muitos dispositivos a testar.hex) ou uma versão para 18F2450 (0. Ou se você tem um dispositivo que não lhe seja suportado pode emitir-meo de modo que eu possa trabalhar nele. regulador de tensão primeiros protótipos e software documentação e Web site.6: inteiramente firmware do USB GPL2. circuita v1. opgui (GUI de GTK para o linux & o Windows): fontes ou aplicação OpenProg (janelas): aplicação somente.2: bugfix versão 0. e se você o modificou mostrar-me seu trabalho. Em SourceForge você pode encontrar alguns fóruns onde você pode discutir sobre este projeto. codificar o rework e o bugfix.6.1: adicionou alguns dispositivos do PIC.0: PIC24 e SPI adicionados EEPROMs.0) (com funcionalidade reduzida.4: adaptador mudado de Atmel versão 0. Quem quer que tem o "knowhow" e a paciência pode igualmente expandir a sustentação a outros dispositivos.2 e v0.7.7.6. bugfix programas de verificação v0.3: adicionou algum PIC os dispositivos de um Atmel. e relatar erros ou sugestões.7.3 versão 0.3V PIC24-30-33 programas de verificação v0.2: adicionou alguns eeproms de MicroWire.3: PIC16F1xxx adicionado. 18F66J60. 30F1010 adicionado. sustentação adicionada para a eliminação de erros in-circuit em OPGUI firmware v0.18F8520. corrigido escrever para 24x1024/5 e 251024. 12F1571-72. limas binárias de leitura/gravação fixas. 16F1847.0: Write16F72x exige somente a config-palavra 1.16F630. 30F2020. entrada modificada da modalidade do prog para o AVR. 33EPx. circuita v1. várias modificações menores e reparos.251605. alguns rework do código & melhorias menores. relação gráfica nova baseada em GTK para o linux e o Windows programas de verificação v0. regulador melhorado de DCDC.18F43K22. 16F1517.18F46K22.7: placa de expansão PIC24-30-33 modificada.16F876-77). 24FJ64GA3xx-GCxx adicionado.7.258005. 11010-20-40-80-160.16F870-1-2. .16F72021. 18F86J60. programação de série adicionada da alta tensão para ATtiny11-12-13-24-25-44-45-84-85. 12F1840 16F1516.18F86J65.7. PIC18FxKx. programas de verificação v0.252005. programas de verificação v0.18F24K22. 16F1527.16F1454-55-59 adicionado. PIC30 agora em 5V programas de verificação v0.0: sustentação para a programação de série da alta tensão de ATMEL.18F67J60.7. ATmega48-88-164A-168-324A-328-644A-1284. PIC24H.8: algoritmos atualizados para 16F87xA e 16F62xA.12F1501.7.8. maior modularidade para o código fonte.12F629. programas de verificação v0. DS2431.16F707 adicionado. 16F1782-3-4-6-7.7. alguns reparos do menor.7.25X64. DS28EC20.Maio 2010 Junho 2010 Julho 2010 Agosto 2010 Abril 2011 Junho 2011 Janeiro 2012 Julho 2012 Junho 2013 Mar 篠 2014 circuita v1. 18F13K22.0: sustentação para o Um-Fio e o UNIO.18F96J60.25X40.18F66J65.12C508-9. corrcted alguns erros programas de verificação v0.16F62728. 16F1519. 16F1822 transforma-se 12F1822.25X10. firmware v0. bugfix.16F1503-7-8-9.1: várias melhorias da interface de utilizador. programas de verificação v0.16F676.18F23K22.3V PIC16-18 programas de verificação v0. 25X16.10: 12F617. 16F1526.16F753.18F25K22.6: byte pelo byte lido com o 93xx6 para a melhor compatibilidade. 24FJ256DAxx.7. programas de verificação v0.9. 24EPx. 95xx adicionado SPI EEPROM. “ICD empreendedores adicionado” escrevem para 16Fx. ATtiny2313.18F14K22. DS1820.18F97J60. dsPIC3033.1: valor reduzido de R173 na placa de expansão de PIC16/18 LV programas de verificação v0. 251005. 30F2023.7.25X32.7: 16F72x adicionado. 24FJ128GA3xx-GB2xx-GCxx-DAxx.8.1). várias correções. primeira liberação do depurador de programas do pdb (v0.5: corrigido escrever o erro para os config 18Fx.254005. 18F45K22.9. FLASH 25X05.7. 12F675.16F873-74. 16LF1902-3-4-6-7. circuita v1.18F96J65.18F87J60. 241024.6: placa de expansão para 3. DS2433.18F44K22.6: TX16 e RX16 modificados com período variável para uma comunicação com o ICD.4: PIC18FxJx adicionado. 16F1518. EEPROM fixos escrevem quando a proteção do código é ativa (16F83-84.16F527.8.25X80. vários reparos do menor firmware v0.16F72.18F26K22. fixo escrever de 93Sx6 com proteção. comando novo para PIC24/33.9: ATtiny11-12-24-26-261-44-48-461-4313-84-88-861 adicionado.0: DS2430 adicionado.25X20. fixo lido das limas > do 1MB. Alessandro para testar muitos . 16F1512Novembro 2014 13.16F570.9. AVR escrevem o fusível @ 3kHz. Obrigado Eu gostaria de agradecer em particular a todos os povos que contribuíram ao crescimento deste projeto: Anselmo para ajudar com linux/git. adicionar ST72. 18F24K50-25K50-26K50-45K50-46K50.programas de verificação v0.18F87J10-11-50-72-90-93. Sandro para o PCBs altamente profissional. 12F752.16F1574-75-78-79.12F1612-13-14-15-18-19.16F1703-04-05-07-08-09-13-16-17-18-19. verificação fixa de ATTiny11-12. 18F25K80-26K8045K80-46K80-65K80-66K80.org pdb.18F84J1190.16LF1554-59. um depurador de programas simples de ICD para PIC16 Guia rápido a um firmware ESCONDIDO Central do USB USB & PIC Microchip Atmel documentação do hiddev Winpic ICprog Oitava gEDA-Gschem PWB GNU/GPL Piklab IDE para microcontroladores do PIC USBPicprog.18F65J10-11-15-50-90. comunicação da velocidade do AVR uma auto. memórias paralelas. 18F66J10-11-15-16-50-55-90-93. JTAG. 10F320-22. 18F63J11-90. adicionado: os config forçam para PIC18. 18F86J10-11-15-16-50-55-90-93.1: várias melhorias da interface de utilizador.18F67J10-11-50-90-93. um ambiente do linux dentro das janelas Contatos Para Alberto informações ou comentários: Maccioni Você pode igualmente afixar suas perguntas no fórum no sourceforge. 24FJ128GA3xx-GB2xx-GCxx-DAxx fixo. 25X128. escrever mais rapidamente a verificação para memórias Flash de SPI. linhas teste do IO da ferragem.18F64J11-90. um outro programador da fonte aberta Cygwin. 18F83J11-90. 16F178889.18F85J10-11-15-50-90. compilar firmware igualmente com SDCC Ligações Abrir o programador em SourceForge Padrão do USB 2.12F529T39A adicionado.25Q40 aumentar a sustentação para micros do PIC e do ATMEL (assim que eu posso começ o futuro amostras livres).0 Página ESCONDIDA em USB. expandir a sustentação de ICD. Parte superior .dispositivos. Mihaly para memórias Flash do teste SPI. Ken para testar muitos dispositivos do AVR. Luigi para testar as memórias de OneWire.
Copyright © 2024 DOKUMEN.SITE Inc.