《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于FT232的USB轉串口設計
基于FT232的USB轉串口設計
摘要: 基于FT232的USB轉串口設計.
Abstract:
Key words :

方法一、不修改PC端驅動中的PID_VID,把FT232的USB接口當作一個通用的USB轉串口

當FT232BM的USB口與PC端相連時,PC端會提示發現USB Serial Converter,并自動彈出查找新硬件向導對話框,如下圖:



     找到FT232BM對應的通用驅動程序安裝,安裝完畢設備管理器則顯示一個USB串行接口

   

   

方法二、把FT232的USB接口當作專用的USB轉串口

(需要在FT232外部加串行的EEPROM,用來存儲USB  VID、PID及設備信息。)

      FT232內部存有VID和PID,且每一個同型號的芯片的VID和PID都是一樣的,FT232在上電時首先讀取外部的VID、PID及設備信息,如果外部沒有EEPROM存儲器件,則使用芯片內部的VID、PID及設備信息。

由于是專用的USB轉串口,FT232需要重新配制VID 和PID 以及設備描述信息,EERPOM的配制可用專用的EERPOM燒寫工具,也可用MProg3.0_Setup.exe+配制文件.ept文件來配制,方法如下



1、配制EEPROM

   安裝并運行 MProg3.0_Setup.exe 。打開配制文件:


點編程,將配制文件寫入EEPROM(FT232外置)。



2、修改PC端驅動的INF文件

   將PID和VID的序號改成和配制文件中的一致

  

   [FtdiHw]

%USB\VID_1987&PID_0724.DeviceDesc%=FtdiBus,USB\VID_1987&PID_0724

%USB\VID_0403&PID_6001.DeviceDesc%=FtdiBus,USB\VID_0403&PID_6001

%USB\VID_0403&PID_6007.DeviceDesc%=FtdiBus,USB\VID_0403&PID_6007

%USB\VID_0403&PID_6008.DeviceDesc%=FtdiBus,USB\VID_0403&PID_6008

%USB\VID_0403&PID_6009.DeviceDesc%=FtdiBus,USB\VID_0403&PID_6009

%USB\VID_0403&PID_0232.DeviceDesc%=FtdiBus,USB\VID_0403&PID_0232



[Strings]

Ftdi="liu_xf"

DriversDisk="FTDI USB Drivers Disk"

USB\VID_1987&PID_0724.DeviceDesc="《小發和你共同玩USB》之USB轉串口"

USB\VID_0403&PID_6001.DeviceDesc="USB Serial Converter"

USB\VID_0403&PID_6007.DeviceDesc="USB Serial Converter"

USB\VID_0403&PID_6008.DeviceDesc="USB Serial Converter"

USB\VID_0403&PID_6009.DeviceDesc="USB Serial Converter"

USB\VID_0403&PID_0232.DeviceDesc="USB Serial Converter"

WINUN="Software\Microsoft\Windows\CurrentVersion\Uninstall"

FtdiBus.SvcDesc="USB Serial Converter Driver"



3、插上USB,按照提示安裝驅動

   注意:如果PC端驅動中的PID VID與配制文件中的PID VID不一致,將照成驅動程序無法安裝。











三、配制EEPROM時出現MPorg與硬件不能正常連接時的幾點說明

用MProg配制EEPROM時,請確保配制文件.ept正確且配制成功后再拔插USB接口,否則配制完成重新拔插USB端口時,會自動彈出查找新硬件向導,此時若要點擊MProg重新配制,則會出現無法連的情況。只有安裝完驅動,再打開MProg才能重新建立連接。

如果EEPROM配制成功,但在安裝驅動的時候出現錯誤,導致硬件無法使用,同時還會出現硬件與MProg無法連接的現象,需重新安裝正確的驅動才能正常;由于windows系統內保存了該硬件的VID和PID,可能會導致正確的驅動不能被安裝。解決辦法可嘗試換一臺電腦,在新的電腦上將正確的驅動安裝后,再用MPorg將硬件的EEPROM內的配制文件擦除即可;此時再回來原來的電腦上,即可與MPorg正常連接。






四、配制文件.ept和PC端驅動安裝信息文件.inf的修改

通用的FT232M.ept文件

―――――――――――――――――――――――――

[Basic Details]

Device Type="3"     //設備類型為FT232BM

VID PID Type="2"

USB VID="1987"     //生產廠商ID

USB PID="0724"     //產品ID

[USB Power Options]

Bus Powered="1"

Self Powered="0"

Max Bus Power="100"

[USB Serial Number Control]

Prefix=FT

Use Fixed Serial Number="0"

Fixed Serial Number="20090414"

[USB Remote WakeUp]

Enable Remote WakeUp="0"

[Windows Plug and Play]

Enable Plug and Play="1"

[USB String Descriptors]

Manufacturer=Liu_xf       //制造商名稱

Product=USB Serial Port    //產品名稱

[Programming Options]

Only Program Blank Devices="0"

[BM Device Specific Options]

USB Version Number="1"

Disable Serial Number="1"

IO Pin Pull Down in Suspend="0"

[Dual Device Specific Options A]

RS 232 mode="0"

245 FIFO mode="0"

245 CPU FIFO mode="1"

OPTO Isolate mode="0"

High Current Drive=0

[Dual Device Specific Options B]

RS 232 mode="1"

245 FIFO mode="0"

245 CPU FIFO mode="0"

OPTO Isolate mode="0"

High Current Drive=0

[Dual Device Driver Options A]

Virtual Com Port Driver="0"

D2XX Driver="1"

[Dual Device Driver Options B]

Virtual Com Port Driver="1"

D2XX Driver="0"

[R Device Specific Options]

Invert TXD="0"

Invert RXD="0"

Invert RTS#=0

Invert CTS#=0

Invert DTR#=0

Invert DSR#=0

Invert DCD#=0

Invert RI#=0

C0 Signal="-1"

C1 Signal="-1"

C2 Signal="-1"

C3 Signal="-1"

C4 Signal="-1"

Enable Ext Osc="0"

High Current I/O=0

Load D2XX Driver="0"

In EndPoint Size="0"



―――――――――――――――――――――――――



PC端的.inf文件



――――――――――――――――――――――――――――――

; FTDIBUS.INF

; Copyright (c) 2000-2004 FTDI Ltd.



[Version]

signature="$CHICAGO$"

Class=USB

ClassGUID={36fc9e60-c465-11cf-8056-444553540000}

Provider=%FTDI%

CatalogFile=ftdibus.cat

DriverVer=04/14/2009,1.00.2154



[SourceDisksNames]

1=%DriversDisk%,,,



[SourceDisksFiles]

ftcomms.vxd = 1

ftserial.sys = 1

ftsenum.vxd = 1

ftsenum.sys = 1

ftsermou.vxd = 1

ftserui.dll = 1

ftlang.dll = 1

ftdibus.sys = 1

ftdiunin.exe = 1

ftdiunin.ini = 1

ftdiun2k.ini = 1



[DestinationDirs]

FtdiBus.Copy1 = 11

FtdiBus.Copy2 = 17

FtdiBus.NT.Copy = 10,system32\drivers

FtdiBus.NT.Copy2 = 11



[Manufacturer]

%Ftdi%=FtdiHw



[FtdiHw]

%USB\VID_1987&PID_0724.DeviceDesc%=FtdiBus,USB\VID_1987&PID_0724

%USB\VID_0403&PID_6001.DeviceDesc%=FtdiBus,USB\VID_0403&PID_6001

%USB\VID_0403&PID_6007.DeviceDesc%=FtdiBus,USB\VID_0403&PID_6007

%USB\VID_0403&PID_6008.DeviceDesc%=FtdiBus,USB\VID_0403&PID_6008

%USB\VID_0403&PID_6009.DeviceDesc%=FtdiBus,USB\VID_0403&PID_6009

%USB\VID_0403&PID_0232.DeviceDesc%=FtdiBus,USB\VID_0403&PID_0232



[ControlFlags]

ExcludeFromSelect=USB\VID_0403&PID_8372

ExcludeFromSelect=USB\VID_0403&PID_6001

ExcludeFromSelect=USB\VID_0403&PID_6007

ExcludeFromSelect=USB\VID_0403&PID_6008

ExcludeFromSelect=USB\VID_0403&PID_6009

ExcludeFromSelect=USB\VID_0403&PID_0232



[FtdiBus]

CopyFiles=FtdiBus.Copy1,FtdiBus.Copy2

AddReg=FtdiBus.AddReg, FtdiBusUnInst.Reg

RemoveDevice=FtdiBus.RemDev



[FtdiBus.HW]

AddReg=FtdiBus.AddReg.HW



[FtdiBus.AddReg]

HKR,,DevLoader,,*ntkern

HKR,,NTMPDriver,,ftserial.sys



[FtdiBus.AddReg.HW]

HKR,,"UpperFilters",0x00010000,"ftsenum.sys"



[FtdiBus.Copy1]

ftcomms.vxd

ftsenum.vxd

ftsermou.vxd

ftserial.sys

ftsenum.sys

ftserui.dll

ftdiunin.exe

ftdiunin.ini



[FtdiBus.Copy2]

ftdibus.inf

ftdiport.inf

ftsermou.inf



[FtdiBus.RemDev]

DelFiles=FtdiBus.Delfiles

DELKEY=HKLM,%WINUN%\FTDICOMM



[FtdiBusUnInst.Reg]

HKLM,%WINUN%,"FTDICOMM"

HKLM,%WINUN%\FTDICOMM , "UninstallString",,"%11%\ftdiunin.exe %11%\ftdiunin.ini"

HKLM,%WINUN%\FTDICOMM , "DisplayName",,"FTDI USB-to-Serial Converter Drivers"



[FtdiBus.DelFiles]

FTCOMMS.VXD

ftsenum.vxd

ftsermou.vxd

FTSERIAL.SYS

FTPORTS.INF

FTDICOM.INF

ftdibus.inf

ftdiport.inf

ftsenum.sys

ftserui.dll

ftdiunin.exe

ftdiunin.ini



;---------------------------------------------------------------;

; For Win2000 ...

;



[FtdiBus.NT]

CopyFiles=FtdiBus.NT.Copy,FtdiBus.NT.Copy2

AddReg=FtdiBus.NT.AddReg,FtdiBusUnInst.NT.Reg



[FtdiBus.NT.Services]

AddService = FTDIBUS, 0x00000002, FtdiBus_AddService



[FtdiBus_AddService]

DisplayName    = %FtdiBus.SvcDesc%

ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER

StartType      = 3                  ; SERVICE_DEMAND_START

ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL

ServiceBinary  = %10%\system32\drivers\ftdibus.sys

LoadOrderGroup = Base

AddReg         = FtdiBus_AddService.AddReg



[FtdiBus.NT.AddReg]

HKR,,DevLoader,,*ntkern

HKR,,NTMPDriver,,ftdibus.sys



[FtdiBus_AddService.AddReg]

HKR,Parameters,"MaximumTransferSize",0x10001,4096

;HKR,Parameters,"DebugLevel",0x10001,2



[FtdiBus.NT.Copy]

ftdibus.sys



[FtdiBus.NT.Copy2]

ftdiunin.exe

ftdiun2k.ini



[FtdiBusUnInst.NT.Reg]

HKLM,%WINUN%,"FTDICOMM"

HKLM,%WINUN%\FTDICOMM , "UninstallString",,"%11%\ftdiunin.exe %11%\ftdiun2k.ini"

HKLM,%WINUN%\FTDICOMM , "DisplayName",,"FTDI USB Serial Converter Drivers"



;---------------------------------------------------------------;



[Strings]

Ftdi="liu_xf"

DriversDisk="FTDI USB Drivers Disk"

USB\VID_1987&PID_0724.DeviceDesc="《小發和你共同玩USB》之USB轉串口"

USB\VID_0403&PID_6001.DeviceDesc="USB Serial Converter"

USB\VID_0403&PID_6007.DeviceDesc="USB Serial Converter"

USB\VID_0403&PID_6008.DeviceDesc="USB Serial Converter"

USB\VID_0403&PID_6009.DeviceDesc="USB Serial Converter"

USB\VID_0403&PID_0232.DeviceDesc="USB Serial Converter"

WINUN="Software\Microsoft\Windows\CurrentVersion\Uninstall"

FtdiBus.SvcDesc="USB Serial Converter Driver"

―――――――――――――――――――――――――――





五、符錄

硬件原理圖

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 不卡国产 | 一个人看的www视频免费 | 免费大片黄在线现看国语 | 77成人| 一个人看的视频www 一个人看的视频www免费 | 国产高清专区 | 99热99操99射| 黄色录像一级毛片 | 高h文bl| 丁香婷婷亚洲六月综合色 | 成人免费网站视频www | 国产成人免费无庶挡视频 | 伦伦影院精品一区 | 555成人网免费观看视频 | 热99精品在线| 欧美久操 | 夜夜爽夜夜爱 | 男女男精品视频在线观看 | 狠狠的撞进去嗯啊h女强男视频 | 欧美一区二区三区久久综合 | 99亚洲 | 色综合天天综合高清网国产 | 美日毛片 | 婷婷狠狠 | 久久免费视频播放 | 欧美一a一片一级一片 | 午夜看片网| 国产综合成色在线视频 | 国产日韩精品欧美一区视频 | aa级黄色毛片 | 免费在线观看h片 | 中文字幕日韩视频 | 国产成人一区免费观看 | 免费看黄色一级 | 天天噜日日噜夜夜噜 | 成人在线日韩 | 国产vr一区二区在线观看 | 男女交性过程视频无遮挡在线 | 日韩一区二区三区精品 | 欧美成人性生活片 | 影音先锋2020色资源网 |