Professional Documents
Culture Documents
Sistemas Microprocessados II
USB microcontroladores PIC
.
prof. Marcos Zuccolotto
.
.
prof. Marcos Zuccolotto
.
Perifrico USB SIE Serial Interface Engine Full-speel e low-speed Transceiver interno ou externo Regulador de tenso interno Resistores de pull-up internos 1kbyte memria USB Streaming Parallel Port (dispositivos 40 pinos)
.
prof. Marcos Zuccolotto
.
Alimentao prpria
USB 2.0 : Carga no barramento no pode exceder a 100 mA para dispositivos low-power e 500 mA para dispositivos high-power.
.
prof. Marcos Zuccolotto
.
RAM USB Memria dupla-porta Mapeada entre os endereos 400h a 7FFh Banco 4 : utilizado para controle dos buffers de endpoint Banco 5 a 7 : utilizados para dados USB Mecanismo de semforo para arbitrar acesso entre a SIE e o core do microprocessador. Tabela de descritores de buffers : apontam para as reas de memria utilizadas pelos Endpoints Tabela de Descritores de Buffer (BDT) Buffer Descriptors (BD) BDnADRL e BDnADRH : Endereo inicial do buffer de memria BDnCNT : Contador de bytes transferidos BDnSTAT : Registrador de Status
.
prof. Marcos Zuccolotto
.
Bufferizao Ping-pong Quando um Endpoint possui um buffer ping-pong, so associoados a este Endpoint duas entrada BDT Uma entrada para as transaes pares Uma entrada para as transaes impares Isto permite ao microcontrolador acessar um buffer enquanto o outro est sendo utilizado pelo SIE. Existem 4 modos de operao : Sem suporte a ping-pong Suporte a ping-pong s no endpoint 0 Suporte a ping-pong em todos os endpoints Suporte a ping-pong em todos os endpoints exceto no endpoint 0
.
prof. Marcos Zuccolotto
.
.
prof. Marcos Zuccolotto
.
PID3:PID0 : Packet Indentifier bits O token PID recebido na ultima transao (IN, OUT ou SETUP) BC9:BC8 : Byte Count 9 e 8
Bits mais significativos do BDnCNT, implementando um contador de 10 bits, para transaes de at 1024 bytes.
BDByteCount Distribudo em 2 registradores : BDnSTAT<1:0> e BDnCNT Transao IN (envia dados para o host) : Representa o nmero de bytes a serem transmitidos durante a transao. Aps a transao, o SIE retornar com o nmero de bytes enviados. Transao OUT (recebe dados do host) : Representa o nmero mximo de bytes que podem ser armazenados na RAM-USB. Aps a transao OUT, o SIE retornar com a quantidade de bytes recebidos. Se o nmero de bytes recebidos exceder a correspondente contagem, o pacote de dados ser rejeitado e uma resposta NAK ser gerada. Se isto acontecer o contador de bytes no atualizado.
.
prof. Marcos Zuccolotto
.
PPBRST: PingPongBufferReset
1 Resseta todos os buffer ping-pong para os descritores pares deve ser limpo por software. 0 Buffer ping-pong inalterados
.
prof. Marcos Zuccolotto
.
.
prof. Marcos Zuccolotto
.
.
prof. Marcos Zuccolotto
.
.
prof. Marcos Zuccolotto
.
Interrupes
.
prof. Marcos Zuccolotto
.
.
prof. Marcos Zuccolotto
.
Oscilador
.
prof. Marcos Zuccolotto
.
Modos de Operao
1. XT Crystal/Resonator (fosc < 4MHz) 2. XTPLL Crystal/Resonator with PLL enabled 3. HS High-Speed Crystal/Resonator 4. HSPLL High-Speed Crystal/Resonator with PLL enabled 5. EC External Clock with FOSC/4 output 6. ECIO External Clock with I/O on RA6 7. ECPLL External Clock with PLL enabled and FOSC/4 output on RA6 8. ECPIO External Clock with PLL enabled, I/O on RA6 9. INTHS Internal Oscillator used as microcontroller clock source, HS Oscillator used as USB clock source 10. INTXT Internal Oscillator used as microcontroller clock source, XT Oscillator used as USB clock source 11. INTIO Internal Oscillator used as microcontroller clock source, EC Oscillator used as USB clock source, digital I/O on RA6 12. INTCKO Internal Oscillator used as microcontroller clock source, EC Oscillator used as USB clock source, FOSC/4 output on RA6