《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于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網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
香蕉久久久久久久av网站| 久久只有精品| 亚洲国产综合91精品麻豆| 亚洲永久免费视频| 一区二区三区高清在线 | 国产一区二区三区不卡在线观看| 国产精品第十页| 欧美日韩亚洲天堂| 欧美视频免费在线观看| 午夜老司机精品| 亚洲免费中文| 亚洲欧美激情视频在线观看一区二区三区 | 欧美大片在线看| 欧美成人有码| 欧美日本高清| 欧美三级日本三级少妇99| 欧美人与性动交a欧美精品| 欧美交受高潮1| 欧美日本国产| 欧美日韩在线播放一区二区| 欧美日韩亚洲一区二区三区四区 | 亚洲网站视频福利| 亚洲视屏一区| 亚洲专区免费| 久久riav二区三区| 久久精品国产一区二区电影| 亚洲国产高清在线| 亚洲日本中文字幕免费在线不卡| 亚洲精品小视频| 日韩亚洲精品电影| 亚洲性人人天天夜夜摸| 性色av一区二区三区| 久久久久久久欧美精品| 久久综合精品国产一区二区三区| 美女福利精品视频| 欧美精品一区二区三区高清aⅴ| 欧美日韩色婷婷| 国产精品乱人伦中文| 国产欧美一区二区三区国产幕精品| 国产日韩av一区二区| 国产综合色在线| 亚洲高清二区| 亚洲无限乱码一二三四麻| 亚洲欧美一区二区三区在线| 久久电影一区| 日韩视频一区二区三区| 亚洲欧美另类国产| 久久综合999| 欧美老女人xx| 国产日本欧美一区二区三区| 在线视频观看日韩| 在线亚洲免费| 久久疯狂做爰流白浆xx| 亚洲美女在线视频| 性色av香蕉一区二区| 男男成人高潮片免费网站| 欧美午夜片欧美片在线观看| 国产亚洲欧美一级| 日韩一区二区精品| 欧美一区二区三区啪啪| 一本色道久久综合| 久久久夜精品| 欧美午夜影院| 影音先锋一区| 亚洲一区在线免费观看| 亚洲精品国产无天堂网2021| 性欧美xxxx大乳国产app| 欧美激情精品久久久| 国产麻豆成人精品| 亚洲国产精品免费| 欧美一级午夜免费电影| 夜夜爽夜夜爽精品视频| 久久激情五月激情| 欧美三级乱码| 亚洲国产欧美另类丝袜| 亚洲欧美另类国产| 一区二区三区欧美成人| 久久久国产精品一区二区三区| 欧美日韩亚洲天堂| 在线国产亚洲欧美| 午夜精品影院| 亚洲天堂激情| 欧美精品一区二区在线播放| 国产婷婷色一区二区三区| 一本久道综合久久精品| 亚洲茄子视频| 久久婷婷综合激情| 国产精品一香蕉国产线看观看| 亚洲人人精品| 亚洲国产成人精品久久| 欧美在线一级va免费观看| 欧美日韩综合| 亚洲国产精品热久久| 久久精品国产2020观看福利| 午夜精品国产更新| 欧美人与性动交cc0o| 伊人久久男人天堂| 久久精品72免费观看| 久久av二区| 国产精品一区二区三区四区| 在线视频亚洲一区| 一区二区三区精品在线| 欧美电影免费观看高清| 影音先锋亚洲视频| 亚洲第一久久影院| 久久亚洲国产成人| 国产有码一区二区| 欧美一级午夜免费电影| 欧美在线亚洲| 国产精品影院在线观看| 亚洲一区二区三区在线看| 亚洲一区二区视频在线观看| 欧美激情一区在线| 亚洲激情国产精品| 亚洲精品1区2区| 欧美mv日韩mv亚洲| 在线观看欧美日韩国产| 亚洲福利在线看| 免费中文日韩| 亚洲国产精品久久久久秋霞影院| 91久久精品国产| 欧美国产日韩在线| 最近中文字幕日韩精品| 亚洲精品国产精品乱码不99| 欧美大片国产精品| 91久久精品一区二区别| 亚洲精品综合在线| 欧美日韩亚洲视频| 亚洲视频www| 欧美在线视频二区| 好吊视频一区二区三区四区| 亚洲第一二三四五区| 美女图片一区二区| 亚洲激情社区| 亚洲午夜精品网| 国产精品红桃| 亚洲欧美日韩国产一区二区| 久久精品国产清自在天天线| 国产偷久久久精品专区| 久久精品论坛| 欧美精品久久一区| 一区二区三区四区五区精品视频| 欧美亚洲视频在线看网址| 国产亚洲成人一区| 亚洲黄色成人| 欧美日韩国产小视频| 亚洲一级电影| 久久久久国产一区二区| 亚洲第一页自拍| 中文日韩在线| 国产乱码精品一区二区三| 久久精品国产欧美亚洲人人爽| 欧美成人四级电影| 国产精品99久久久久久宅男 | 亚洲精品日韩一| 欧美视频免费在线| 香蕉精品999视频一区二区| 久久深夜福利| 亚洲人久久久| 欧美在线视频免费播放| 亚洲国产网站| 亚洲欧美国产日韩天堂区| 国内精品美女在线观看| 日韩写真在线| 国产日韩欧美日韩大片| 亚洲精选久久| 国产欧美短视频| 亚洲人成网在线播放| 欧美午夜电影完整版| 欧美在线一二三四区| 欧美日韩精品二区| 性做久久久久久久久| 欧美黄色aa电影| 亚洲欧美久久久| 欧美女人交a| 性色av香蕉一区二区| 欧美国产综合视频| 亚洲在线国产日韩欧美| 欧美韩日一区| 欧美伊人影院| 欧美性猛交99久久久久99按摩| 久久精品日产第一区二区| 欧美午夜电影一区| 亚洲激情av在线| 国产精品一区二区三区乱码| 亚洲精品欧美日韩专区| 国产欧美精品一区二区色综合| 亚洲精品在线观| 国产主播一区二区三区四区| 亚洲视频综合在线| 一区二区视频免费在线观看| 亚洲视频在线观看| 亚洲丁香婷深爱综合| 久久精品盗摄| 一本久道久久综合狠狠爱| 女人天堂亚洲aⅴ在线观看| 亚洲欧美成人网| 欧美午夜在线一二页| 亚洲精品女av网站| 狠狠爱综合网|