手機(jī)訪問更快捷
更多流量 更易傳播
隨時(shí)掌握行業(yè)動(dòng)態(tài)
網(wǎng)絡(luò)課堂 行業(yè)直播
產(chǎn)品推薦:水表|流量計(jì)|壓力變送器|熱電偶|液位計(jì)|冷熱沖擊試驗(yàn)箱|水質(zhì)分析|光譜儀|試驗(yàn)機(jī)|試驗(yàn)箱
USB轉(zhuǎn)串口RS232/RS485的超高速通信
--- 武漢波仕電子公司 版權(quán)所有
摘要:USB串口的超高速通信是指波特率超過115200bps的串口通信,比如921600、460800、230400bps.由于這幾種波特率是非標(biāo)的,所以從硬件到軟件都有特殊要求和方法才可以實(shí)現(xiàn)。本文以波仕USB232GH2轉(zhuǎn)換器和波特率921600bps為例來進(jìn)行介紹如何實(shí)現(xiàn)。
USB串口轉(zhuǎn)換器是實(shí)現(xiàn)USB與RS-232/RS-485/RS-422串口設(shè)備相互通訊的一種協(xié)議轉(zhuǎn)換裝置(USB協(xié)議-串行通信協(xié)議)。一般的USB串口轉(zhuǎn)換器支持的波特率zui高達(dá)到115.2Kbps(115200bps).USB串口的超高速通信是指zui高波特率超過115200bps的串口通信,比如921600、460800、230400bps.由于這幾種波特率是非標(biāo)的,所以從硬件到軟件都有特殊要求和方法才可以實(shí)現(xiàn)。本文以波仕USB232GH2轉(zhuǎn)換器和波特率921.6Kbps(921600bps)為例來進(jìn)行介紹。
要實(shí)現(xiàn)USB串口的921.6Kbps的高速通信,必須滿足2個(gè)條件:1、USB-串口轉(zhuǎn)換器本身支持921.6Kbps波特率;2、必須有支持921.6Kbps波特率的通信軟件。如果軟件只有應(yīng)用程序(EXE可執(zhí)行文件),那也就只能夠進(jìn)行通信的演示,因?yàn)樗械慕邮张c發(fā)送數(shù)據(jù)都必須位于應(yīng)用程序的界面內(nèi),無法提供給用戶。如果用戶要將這些接收或者發(fā)送的數(shù)據(jù)嵌入到用戶自己的程序中,那么就必須有支持921.6Kbps波特率的通信軟件的源代碼。
波仕USB232GH2提供一個(gè)USB2.0口,一個(gè)隔離的RS232/RS485/RS422串口,一個(gè)可以對(duì)外提供隔離5V供電的插座等。高速光電隔離USB/串口轉(zhuǎn)換器支持串口zui高速率達(dá)921.6Kbps,RS-232、RS-485、RS-422通用,可以虛擬成為本地COM串口(COM1-COM256)、無須修改已有的串口通信軟件。USB232GH2的RS-232/485/422的zui高通信速率為921.6Kbps,并且實(shí)現(xiàn)了USB與串口(RS-232/485/422)之間的2500V光電隔離。
1、如何判斷USB-串口轉(zhuǎn)換器本身是否支持921.6Kbps波特率
將USB232GH2的USB電纜插到計(jì)算機(jī)的USB口、計(jì)算機(jī)會(huì)自動(dòng)檢測(cè)到USB232GH2并且顯示“發(fā)現(xiàn)新硬件”,將USB232GH2的配套光盤插入計(jì)算機(jī)的光驅(qū),按“自動(dòng)查找”計(jì)算機(jī)會(huì)自動(dòng)找到驅(qū)動(dòng)程序,zui后按“完成”結(jié)束。用戶可以查看“控制面板”的“系統(tǒng)\設(shè)備管理器\端口”,就會(huì)發(fā)現(xiàn)自動(dòng)分配給USB232GH2一個(gè)新的COM口號(hào)碼。如果要查看USB串口是否支持921.6Kbps(921600bps),在Windows 7下,桌面à我的電腦\屬性à硬件à設(shè)備管理器à端口à通信端口(找到USB232GH2的COM口)\屬性à端口設(shè)置ààPort Settings,用戶就可以看到所支持的全部波特率了。如果其中有921600,就說明可以支持921.6Kbps波特率。注意即使有顯示921600,也并不意味著該USB-串口轉(zhuǎn)換器就一定支持到921600。因?yàn)檫@還與具體USB-串口轉(zhuǎn)換器的接口硬件性能相關(guān)。這個(gè)就必須參考產(chǎn)品的說明書的指標(biāo)。只有經(jīng)過921600bps波特率檢測(cè)通過的、且廠家的說明書確認(rèn)的產(chǎn)品才可以。另外一般來講,產(chǎn)品支持RS-485和RS-422的zui高波特率要比支持RS-232的zui高波特率要高。
2、如何實(shí)現(xiàn)USB-串口轉(zhuǎn)換器的921.6Kbps波特率通信
921600bps是比較少使用的波特率,可以說目前的常用串口通信軟件幾乎都不支持921600bps。一般zui高到115200,少數(shù)到230400bps。由于Windows api實(shí)現(xiàn)的zui高也就支持256Kbps,所以要實(shí)現(xiàn)921600bps串口通信就必須使用更加底層的編程。
以Visual Basic語言為例,無法使用選擇波特率的下拉式菜單來選擇921600,因?yàn)?21600是非標(biāo)準(zhǔn)的。要想讓串口的波特率一開始就設(shè)置為921600,只能把選擇波特率的下拉式菜單的屬性中將初始值設(shè)為921600。注意通信波特率的設(shè)置必須用Windows底層函數(shù)來定義,否則會(huì)出現(xiàn)“無效的屬性”提示,就是提示961200是不標(biāo)準(zhǔn)的。
由于軟件運(yùn)行時(shí)默認(rèn)打開COM1串口,而默認(rèn)波特率又是921600,那么當(dāng)COM1串口是普通串口(比如波特率zui高115200,達(dá)不到921600)而不是zui高921600的超高速串口時(shí),會(huì)提示“無法打開串口”。這并不意味著COM1串口不存在,只是說明COM1不支持921600。這時(shí)按“確定”后,將COM1改選為USB232GH2的COM口即可正確運(yùn)行!()
本文介紹的通信方法也適合于其它非標(biāo)的超高波特率,比如460800bps,230400bps。一般來講,可以支持921600bps的USB串口轉(zhuǎn)換器一定也支持460800bps和230400bps。支持460800bps和230400bps的串口通信軟件與以上介紹的支持921600bps的程序編寫方法是一樣的,就是:要想讓串口的波特率一開始就設(shè)置為460800(或230400),只能把選擇波特率的下拉式菜單的屬性中將初始值設(shè)為460800(或230400)。
相關(guān)產(chǎn)品
免責(zé)聲明
客服熱線: 15024464426
加盟熱線: 15024464426
媒體合作: 0571-87759945
投訴熱線: 0571-87759942
下載儀表站APP
Ybzhan手機(jī)版
Ybzhan公眾號(hào)
Ybzhan小程序