任何時(shí)候若想用計(jì)算機(jī)和外部設(shè)備通信,USB都是一個(gè)方便、可行的解決方案,因?yàn)閁SB擁有使用方便、數(shù)據(jù)傳輸快速可靠、成本低以及省電等優(yōu)點(diǎn)。英創(chuàng)公司提供嵌入式板卡EM9460若想實(shí)現(xiàn)和計(jì)算機(jī)的數(shù)據(jù)通信,最方便的方法就是利用EM9460中的USB device設(shè)備口和PC機(jī)的USB主控口相連,在EM9460的USB device驅(qū)動(dòng)實(shí)現(xiàn)將其映射為一個(gè)虛擬串口的功能,PC和EM9460就可按照串口通訊的方式進(jìn)行數(shù)據(jù)通訊了,虛擬串口的波特率只是形式化的一個(gè)參數(shù),而實(shí)際的數(shù)據(jù)傳輸速率是由USB的傳輸速率決定,EM9460的USB設(shè)備口支持USB1.1標(biāo)準(zhǔn),數(shù)據(jù)通訊速率為12Mbps。
EM9460內(nèi)核版本為Linux-2.6.30,在Linux內(nèi)核中Linux USB gadget serial driver是Linux USB gadget driver的一種標(biāo)準(zhǔn)應(yīng)用,在EM9460端加載gadget serial driver之后,對(duì)于PC機(jī)這端來說就是一個(gè)基于USB接口的串口設(shè)備。

PC端大部分都是采用的Windows操作系統(tǒng),對(duì)于Win7系統(tǒng)來說,直接根據(jù)提示安裝驅(qū)動(dòng)即可,對(duì)于WinXP系統(tǒng),安裝微軟提供的usbser.sys驅(qū)動(dòng)以及相應(yīng)的inf文件。
1、USB設(shè)備端驅(qū)動(dòng)
EM9460作為USB設(shè)備端,其Linux內(nèi)核配置如下:
Device Drivers --->
[*] USB support --->
<*> USB Gadget Support --->
USB Gadget Drivers
Serial Gadget (with CDC ACM and CDC OBEX support)
內(nèi)核編譯后后生成相應(yīng)的g_serial.ko文件,并將該文件放置于EM9X60 文件系統(tǒng)中的/lib/module/2.6.30/目錄下。
[root@EM9X60 /]#insmod /lib/modules/2.6.30/g_serial.ko
g_serial gadget: Gadget Serial v2.4
g_serial gadget: g_serial ready
表明USB設(shè)備驅(qū)動(dòng)加載成功,系統(tǒng)中會(huì)增加一個(gè)/dev/ttyGS0的節(jié)點(diǎn):
[root@EM9X60 /]#ls /dev/ttyGS0 -l
crw-rw---- 1 root root 252, 0 Jan 1 00:14 /dev/ttyGS0
EM9460板卡可以直接按照串口通訊的方式打開該節(jié)點(diǎn) /dev/ttyGS0,進(jìn)行數(shù)據(jù)讀寫操作。
2、PC機(jī)端Windows操作系統(tǒng)
Win7操作系統(tǒng)可以自動(dòng)加載基于udc標(biāo)準(zhǔn)的serial驅(qū)動(dòng),接上EM9460后,會(huì)自動(dòng)提示“正在安裝設(shè)備驅(qū)動(dòng)程序軟件”,安裝成功后:

EM9460對(duì)于PC機(jī)來說就是一個(gè)串口設(shè)備,設(shè)備號(hào)為“COM10”。
對(duì)于WinXP操作系統(tǒng),要使用ACM串口,需要WindowsXP機(jī)器上有g(shù)serial.inf和usbser.sys這兩個(gè)文件,其中g(shù)serial.inf的配置如下:
[Version]
Signature='$Windows NT$'
Class=Ports
ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
Provider=%LINUX%
DriverVer=08/17/2004,0.0.2.0
; Copyright (C) 2004 Al Borchers (alborchers@steinerpoint.com)
[Manufacturer]
%LINUX%=GSerialDeviceList
[GSerialDeviceList]
%GSERIAL%=GSerialInstall, USB\VID_0525&PID_A4A7
[DestinationDirs]
DefaultDestDir=10,System32\Drivers
[GSerialInstall]
CopyFiles=GSerialCopyFiles
AddReg=GSerialAddReg
[GSerialCopyFiles]
usbser.sys
[GSerialAddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,usbser.sys
HKR,,EnumPropPages32,,'MsPorts.dll,SerialPortPropPageProvider'
[GSerialInstall.Services]
AddService = usbser,0x0002,GSerialService
[GSerialService]
DisplayName = %GSERIAL_DISPLAY_NAME%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 3 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %10%\System32\Drivers\usbser.sys
LoadOrderGroup = Base
[Strings]
LINUX = 'Linux'
GSERIAL = 'Gadget Serial'
GSERIAL_DISPLAY_NAME = 'USB Gadget Serial Driver'
安裝成功后,在設(shè)備管理器中可以看到 “Gadget Serial (COM11) '這個(gè)端口。

基于這種USB連接的方式,EM9460可以類似于一個(gè)超級(jí)單片機(jī),作為前置的智能控制器,而PC機(jī)作為一個(gè)主控方,從而構(gòu)成一個(gè)高性能的智能監(jiān)控系統(tǒng)。
本文所介紹的方法同樣適用于EM9X60系列的其它產(chǎn)品型號(hào),如:EM9160、EM9260、EM9360等。
WinCEx版的工控主板管理虛擬串口方法如下:英創(chuàng)工控主板USB虛擬串口設(shè)置說明
-
WINDOWS
+關(guān)注
關(guān)注
4文章
3706瀏覽量
94330 -
嵌入式主板
+關(guān)注
關(guān)注
7文章
6107瀏覽量
37164
發(fā)布評(píng)論請(qǐng)先 登錄
龍芯中科攜手五所高校加速構(gòu)建自主信息技術(shù)人才體系
AD9460:高性能16位ADC的卓越之選
USB轉(zhuǎn)多串口擴(kuò)展方案詳解
龍芯中科成功舉辦2025信息技術(shù)應(yīng)用創(chuàng)新產(chǎn)教融合交流會(huì)
龍芯中科助力2025教育信息技術(shù)應(yīng)用創(chuàng)新大賽成功舉辦
誠邁科技信創(chuàng)電腦助力2025第二屆教育信息技術(shù)應(yīng)用創(chuàng)新大賽圓滿收官
寶馬南京信息技術(shù)有限公司開業(yè)
基于USB的多虛擬設(shè)備通信
易華錄入選國家級(jí)信息技術(shù)應(yīng)用創(chuàng)新典型解決方案
“信息技術(shù)應(yīng)用產(chǎn)學(xué)協(xié)同人才培養(yǎng)行動(dòng)計(jì)劃”正式發(fā)布,誠邁科技入選首批參與單位
佛瑞亞如何通過信息技術(shù)推動(dòng)業(yè)務(wù)增長
飛騰主板為信創(chuàng)產(chǎn)業(yè)發(fā)展提高硬實(shí)力
DEKRA德凱成為沙特通信和信息技術(shù)設(shè)備技術(shù)法規(guī)認(rèn)證機(jī)構(gòu)
科普|信創(chuàng)是什么?一文讀懂“信息技術(shù)應(yīng)用創(chuàng)新”戰(zhàn)略
英創(chuàng)信息技術(shù)EM9460 USB虛擬串口應(yīng)用簡介
評(píng)論