You are on page 1of 0

C ROGER OM Curso USB www.rogercom.

com

Aula 09 Mdulo-USB / Pgina 75

Usando o aplicativo MProg para gravar a EEPROM 93C46
Para personalizar o novo dispositivo criado, precisamos gravar na memria
93C46 alguns campos com informaes sobre o tipo do dispositivo, como o nome, o
VID e o PID, a quantidade de corrente que ser consumida, a verso do USB, Bus
powered ou Self powered, nmero de srie, etc. Para gravarmos esses dados na
EEPROM, usaremos o programa Mprog de uso livre, criado pela FTDI. Alm de
programarmos a EEPROM, precisaremos alterar algumas linhas dos arquivos INF e
INI de um dos drivers (D2XX ou VCP), escolhido para ser instalado no sistema
operacional.
Um arquivo INF est associado a um ou vrios dispositivos, e contm
informaes bsicas para a instalao dos drivers apropriados. Se os nmeros PID e
VID do dispositivo forem idnticos aos do contedo do arquivo INF, os drivers
especificados sero carregados na memria e a comunicao USB ser
estabelecida. Caso contrrio, o dispositivo ficar conectado ao Bus USB, mas sem
comunicao de dados.
Quando uma EEPROM externa no est configurada ao FT232BM, assumido
o VID e o PID "default" ou padro da FTDI, que so respectivamente os nmeros:
0403 e 6001. Quando fazemos download dos drivers, esto gravados nos arquivos
INF e INI, o VID (0403) e o PID (6001). Portanto, se uma EEPROM externa for
configurada ao FT232BM e gravado um novo VID e um novo PID, so necessrios
que eles tambm sejam gravados nos arquivos INF e INI para que o sistema consiga
instalar os drivers corretamente.
Se a memria EEPROM configurada ao FT232BM estiver vazia ou for apagada,
o FT232BM enviar ao sistema o VID e PID padro FTDI (0403 e 6001).
O programa MProg s conseguir gravar na memria EEPROM se os drivers
associados ao dispositivo tiverem sido previamente instalados no sistema. Se por
algum motivo no lembrarmos qual o VID ou PID gravados na EEPROM externa de
um dispositivo FT232BM, poderemos usar o programa de analises de protocolo USB
(Usbview.exe) para descobrirmos o VID e PID e, posterior incluso destes nos
arquivos INF e INI.
Para fazer download do aplicativo MProg, clique em um dos cones abaixo:

Download MProg 2.3 ou superior (FTDI).

Download MProg 2.3 (www.rogercom.com).

Para sua instalao so necessrios os drivers D2XX.
C ROGER OM Curso USB www.rogercom.com

Aula 09 Mdulo-USB / Pgina 76
Figura 1 - Tela parcial do MProg com dados padro FTDI para o chipset FT232BM.


Descrio dos campos e botes do MProg
A - (Modo de edio). Quando um arquivo for aberto ou salvo e, aps isso, for
necessrio fazer uma alterao em um dos campos do MProg, preciso clicar nesse
boto para habilit-los;
B - (Salva as configuraes). Salva num arquivo para futura recuperao, a
configurao atual;
C - (Procurar por dispositivos). Ao clicar nesse boto o MProg localiza todos os
dispositivos FTDI conectados ao Bus USB.
So exibidas informaes sobre quantos dispositivos (EEPROM) foram
programados ou esto em branco;
ROGERC OM Curso USB www.rogercom.com

Aula 09 Mdulo-USB / Pgina 77
D - (Apagar dispositivos). Apaga a memria EEPROM de todos os dispositivos
FTDI conectados ao Bus USB;
E - (Programar dispositivos). Grava a memria EEPROM de todos os dispositivos
FTDI conectados ao Bus USB.
1 - (Device Type). Selecione nesse campo o tipo de chipset FTDI: FT232BM,
FT245BM, etc;
2 - (USB VID/PID). Se voc desejar gravar seu prprio VID e PID, selecione a
opo Own VID & PID. Se desejar manter o padro FTDI (VID=0403 e PID=6001),
selecione a opo FTDI default;
3, 4 - (Campos VID e PID). Esses dois campos so muito importantes e
identificam o vendedor e o fabricante do dispositivo. atravs desses campos que o
sistema operacional reconhece e carrega na memria, o driver apropriado. Por isso,
preciso que sejam gravados os mesmos VID e PID no arquivo INF;
5 - (USB Power Options). Selecione como o seu dispositivo ser alimentado. Bus-
powered (alimentado pelo Bus USB), ou Self powered (auto-alimentado, a energia
vir de uma fonte externa);
6 - (Max Bus Power). Se seu dispositivo foi configurado como sendo Bus powered,
digite neste campo a quantidade mxima de correntente que ele consumir. O valor
mximo permitido 500mA.
J vimos em aulas anteriores que um Hub Bus powered s pode fornecer
100mA. Se estiver criando um dispositivo que consumir mais que 100mA,
importante que ele seja do tipo Self powered (com sua prpria fonte de alimentao);
7 - (USB Serial Number Control). Todo dispositivo USB poder ter um nmero
Serial. Nessa opo poderemos definir nosso prprio nmero Serial ou pedir que o
MProg crie um automaticamente, iniciando a partir de um prefixo de dois caracteres;
8 - (USB Version Number). A verso do USB que seu dispositivo suporta.
Mantenha selecionado sempre USB 2.0, assim seu dispositivo ser reconhecido
tanto na verso USB 1.1 como USB 2.0;
9 - (Disable USB Serial Number). Ao marcar essa opo o Nmero Serial no ser
levado em conta. Ou seja, a opo 7 ser desconsiderada;
ROGERC OM Curso USB www.rogercom.com

Aula 09 Mdulo-USB / Pgina 78
10 - (Pull Down IO Pins in USB Suspend). Ao habilitar esta opo na EEPROM, o
pino PRWEN# do FT232BM poder ser usado para controlar a alimentao de
dispositivos externos, alimentados diretamente atravs do bus USB, mediante a
utilizao de um MOSFET Canal-P;
11 - (USB Remote Wake Up). Se esta opo for habilitada na EEPROM, ser
possvel a partir do pino RI# (em nvel lgico baixo) do FT232BM, retomar o
Controlador Host USB do estado de dormncia (Sleep);
12 - (Enable Plug And Play). Windows plug and Play. Usada somente para chips
da srie FT232. Ao selecionar um chip do tipo FT245 esta opo automaticamente
desabilitada;
13 - (Manufacturer). Nome do fabricante do dispositivo. Use poucos caracteres, ou
abrevie o nome da sua empresa;
14 - (Product Description). Descrio do produto (o que ele faz). Exemplo "Sensor
de Temperatura USB";
15 - (Only Program Blank Devices). Ao marcar esta opo, o MProg s gravar
dispositivos que estiverem em branco (vazio). Ou seja, a EEPROM que estiver com
contedo no ser alterada. Para atualizar uma EEPROM, desmarque essa opo
antes de grav-la;
16 - rea de exibio do estado de algumas aes executadas pelo usurio.


Analisando o contedo dos arquivos INF e INI para personalizar o Dispositivo
Como j foi escrito anteriormente no incio desta aula, para personalizar um
dispositivo, alm de gravar alguns campos de dados na memria EEPROM, so
necessrios que os arquivos INF e INI associados aos drivers sejam tambm
modificados, com o mesmo VID e PID gravados nessa memria. Mas, antes de
fazermos as devidas alteraes nesses arquivos, iremos analisar o contedo padro
dentro deles.
Para facilitar a visibilidade, irei mostrar somente fragmentos do contedo de
cada arquivo, ou seja, somente as partes onde sofrero alteraes ou adies de
dados.


C ROGER OM Curso USB www.rogercom.com

Aula 09 Mdulo-USB / Pgina 79
Arquivos dos Drivers D2XX
Figura 2 - Pasta com os arquivos dos Drivers D2XX

Na figura acima vemos os arquivos que contm informaes sobre a instalao
(ftd2xx.inf), e a desinstalao (FTD2XXUN.INI) dos drivers D2XX. Somente estes
dois arquivos devem ser atualizados com o mesmo VID e PID que foram
programados na EEPROM do dispositivo. Os fragmentos dos arquivos abaixo
mostram as configuraes padro da FTDI.
Figura 3 - Fragmentos do arquivo FTD2XX.INF mostrando os segmentos que
sofrero as devidas alteraes

[FtdiHw]
%USB\VID_0403&PID_6001.DeviceDesc%=FTD2XX,
USB\VID_0403&PID_6001


[ControlFlags]
ExcludeFromSelect=USB\VID_0403&PID_6001


[FTD2XX.UnInst]
HKLM,%WINUN%,"FTD2XX"
HKLM,%WINUN%\FTD2XX , "UninstallString",,"%11%\FTDIUNIN.exe
%11%\FTD2XXUN.INI"
HKLM,%WINUN%\FTD2XX , "DisplayName",,"FTDI FTD2XX USB
Drivers"


[Strings]
Ftdi="FTDI"
USB\VID_0403&PID_6001.DeviceDesc="FTDI FT8U2XX Device"
FTD2XX.SvcDesc="FTD2XX.SYS FT8U2XX device driver"
WINUN="Software\Microsoft\Windows\CurrentVersion\Uninstall"
DriversDisk="FTDI FTD2XX Drivers Disk"
A string "DisplayName",,"FTDI FTD2XX USB Drivers" exibida na janela
"Adicionar ou remover programas" do Painel de Controle do Windows.
ROGERC
Figura 4 - Fragmento do arquivo FTD2XXUN.INI de desinstalao
OM Curso USB www.rogercom.com

Aula 09 Mdulo-USB / Pgina 80
J a string DeviceDesc="FTDI FT8U2XX Device" exibida na seo de
dispositivos USB instalados, no Gerenciador de Dispositivos do Windows, e na
janela de propriedades do mesmo.

[Uninstall]
Device=VID_0403&PID_6001


Arquivos dos Drivers VCP
Na figura abaixo esto marcados com retngulos vermelhos, os arquivos que
contm informaes sobre a instalao e a desinstalao dos drivers VCP. Somente
estes quatro arquivos devem ser atualizados com o mesmo VID e PID que foram
programados na EEPROM do dispositivo.
Figura 5 - Pasta com os arquivos dos Drivers VCP







ROGER OM Curso USB www.rogercom.com

Aula 09 Mdulo-USB / Pgina 81
C
Figura 6 - Fragmento do arquivo FTDIBUS.INF de instalao

[FtdiHw]
%USB\VID_0403&PID_6001.DeviceDesc%=FtdiBus,USB\VID_0403&PID_6001


[ControlFlags]
ExcludeFromSelect=USB\VID_0403&PID_6001


[Strings]
USB\VID_0403&PID_6001.DeviceDesc="USB Serial Converter"


Figura 7 - Fragmento do arquivo FTDIPORT.INF de instalao

[FtdiHw]
%VID_0403&PID_6001.DeviceDesc%=FtdiPort232,FTDIBUS\COMPORT&VID_0403&PID_6001


[Strings]
VID_0403&PID_6001.DeviceDesc="USB Serial Port"


Figura 8 - Fragmento do arquivo FTD2XXUN.INI de desinstalao

[Uninstall]
Device=VID_0403&PID_6001
InfFiles=FTDIBUS,FTDIPORT,FTSERMOU
Key=FTDICOMM


Figura 9 - Fragmento do arquivo FTDIUN2K.INI de desinstalao

Device=VID_0403&PID_6001
Converter=FTDIBUS
Serial=FTSER2K
Key=FTDICOMM

Dica: Quando criarmos o nosso primeiro dispositivo, o mesmo estar com a
EEPROM vazia, portanto, o FTDI232BM enviar para o sistema USB os descritores
de dispositivo, contendo o VID=0403 e PID=6001 (padro da FTDI). Sendo assim,
na primeira instalao do dispositivo, os drivers tem que conter o mesmo VID=0403
e PID=6001.
Se for comercializar o novo dispositivo, grave seu VID e PID na EEPROM, e
tambm altere os arquivos INF e INI associados aos drivers que sero instalados
(D2XX ou VCP). So esses drivers que devero ser enviados ao cliente junto com o
dispositivo (gravado com o novo VID/PID).
Como exemplo, na prxima aula iremos criar um novo PID e VID, grav-los na
EEPROM do dispositivo e fazermos as devidas alteraes nos arquivos INF e INI
dos drivers D2XX.

You might also like