0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

英創(chuàng)信息技術(shù)EM9460 USB虛擬串口應(yīng)用簡介

英創(chuàng)信息技術(shù) ? 來源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2020-02-03 08:59 ? 次閱讀

任何時候若想用計算機(jī)和外部設(shè)備通信,USB都是一個方便、可行的解決方案,因為USB擁有使用方便、數(shù)據(jù)傳輸快速可靠、成本低以及省電等優(yōu)點。英創(chuàng)公司提供嵌入式板卡EM9460若想實現(xiàn)和計算機(jī)的數(shù)據(jù)通信,最方便的方法就是利用EM9460中的USB device設(shè)備口和PC機(jī)的USB主控口相連,在EM9460的USB device驅(qū)動實現(xiàn)將其映射為一個虛擬串口的功能,PC和EM9460就可按照串口通訊的方式進(jìn)行數(shù)據(jù)通訊了,虛擬串口的波特率只是形式化的一個參數(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之后,對于PC機(jī)這端來說就是一個基于USB接口的串口設(shè)備。

PC端大部分都是采用的Windows操作系統(tǒng),對于Win7系統(tǒng)來說,直接根據(jù)提示安裝驅(qū)動即可,對于WinXP系統(tǒng),安裝微軟提供的usbser.sys驅(qū)動以及相應(yīng)的inf文件。

1、USB設(shè)備端驅(qū)動

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ū)動加載成功,系統(tǒng)中會增加一個/dev/ttyGS0的節(jié)點:
[root@EM9X60 /]#ls /dev/ttyGS0 -l
crw-rw---- 1 root root 252, 0 Jan 1 00:14 /dev/ttyGS0

EM9460板卡可以直接按照串口通訊的方式打開該節(jié)點 /dev/ttyGS0,進(jìn)行數(shù)據(jù)讀寫操作。

2、PC機(jī)端Windows操作系統(tǒng)

Win7操作系統(tǒng)可以自動加載基于udc標(biāo)準(zhǔn)的serial驅(qū)動,接上EM9460后,會自動提示“正在安裝設(shè)備驅(qū)動程序軟件”,安裝成功后:

EM9460對于PC機(jī)來說就是一個串口設(shè)備,設(shè)備號為“COM10”。

對于WinXP操作系統(tǒng),要使用ACM串口,需要WindowsXP機(jī)器上有g(shù)serial.inf和usbser.sys這兩個文件,其中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) '這個端口。

基于這種USB連接的方式,EM9460可以類似于一個超級單片機(jī),作為前置的智能控制器,而PC機(jī)作為一個主控方,從而構(gòu)成一個高性能的智能監(jiān)控系統(tǒng)。

本文所介紹的方法同樣適用于EM9X60系列的其它產(chǎn)品型號,如:EM9160、EM9260、EM9360等。

WinCEx版的工控主板管理虛擬串口方法如下:英創(chuàng)工控主板USB虛擬串口設(shè)置說明

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • WINDOWS
    +關(guān)注

    關(guān)注

    3

    文章

    3509

    瀏覽量

    88205
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6083

    瀏覽量

    35093
收藏 人收藏

    評論

    相關(guān)推薦

    關(guān)鍵指南針-NXP USB CDC_VCOM虛擬串口例程

    最近有小伙伴反應(yīng)USB中的 usb_examples/usb_device_cdc_vcom 例程(USB虛擬
    的頭像 發(fā)表于 07-25 09:17 ?1579次閱讀
    關(guān)鍵指南針-NXP <b class='flag-5'>USB</b> CDC_VCOM<b class='flag-5'>虛擬</b><b class='flag-5'>串口</b>例程

    USB轉(zhuǎn)串口串口卡的性能比較

    在當(dāng)今的電子設(shè)備中,串口通信是一種非常常見的通信方式。隨著技術(shù)的發(fā)展,USB接口逐漸取代了傳統(tǒng)的串口接口,但串口通信在某些特定領(lǐng)域仍然具有不
    的頭像 發(fā)表于 07-15 15:21 ?521次閱讀

    ESP32-S3 USB CDC虛擬串口發(fā)送數(shù)據(jù)失敗的原因?

    最近在使用ESP32-S3的USB CDC虛擬串口時,發(fā)現(xiàn)USB在熱插拔之后發(fā)送數(shù)據(jù)出現(xiàn)了問題,USB熱插拔后,PC端是能與
    發(fā)表于 06-06 06:50

    USB轉(zhuǎn)多協(xié)議串口通信

    簡介: 板子集成了一個USB轉(zhuǎn)4串口的芯片CH344Q,該芯片為 480Mbps 高速 USB 設(shè)備接口,支持通訊波特率 1200bps~6Mbps 應(yīng)用場景: 研發(fā)工程師的辦公調(diào)試工
    的頭像 發(fā)表于 04-29 16:23 ?455次閱讀
    <b class='flag-5'>USB</b>轉(zhuǎn)多協(xié)議<b class='flag-5'>串口</b>通信

    關(guān)于STM32 USB虛擬串口的疑問求解

    大家都說STM32 USB虛擬串口有問題, 只要PC端串口打開著, 然后拔掉USB, 再插上USB
    發(fā)表于 04-25 08:15

    為什么拔插STM32 USB虛擬串口Windows沒有DBT_DEVICEARRIVAL消息?

    拔插STM32 USB虛擬串口 Windows沒有DBT_DEVICEARRIVAL消息呢? 因為拔掉STM32 USB虛擬
    發(fā)表于 04-15 07:06

    帝晶虛擬串口屏的應(yīng)用

    帝晶虛擬串口屏的應(yīng)用
    的頭像 發(fā)表于 04-02 13:39 ?1296次閱讀
    帝晶<b class='flag-5'>虛擬</b><b class='flag-5'>串口</b>屏的應(yīng)用

    請問STM32U5支持USB虛擬串口嗎?

    想用stm32cubide配置usb虛擬串口,在middleware中無法看到USB Device
    發(fā)表于 03-26 07:34

    STM32Cubemx配置USB虛擬串口,電腦無法識別怎么解決?

    STM32Cubemx配置USB虛擬串口,電腦無法識別問題?(上拉和驅(qū)動都配置好了)
    發(fā)表于 03-08 07:00

    如何實現(xiàn)STM32 USB host對另外的一個USB虛擬串口設(shè)備的通訊?

    如何實現(xiàn)STM32 USB host 對另外的一個USB 虛擬串口設(shè)備的通訊
    發(fā)表于 03-07 06:10

    usb轉(zhuǎn)串口線怎么使用 usb轉(zhuǎn)串口串口轉(zhuǎn)usb的區(qū)別

    USB轉(zhuǎn)串口線(USB to Serial Cable)是一種用于將計算機(jī)的USB接口連接到串口設(shè)備的轉(zhuǎn)換線。正常情況下,計算機(jī)主機(jī)上只帶有
    的頭像 發(fā)表于 01-22 14:56 ?3784次閱讀

    USB虛擬串口串口1可以同時發(fā)送嗎

    可以同時發(fā)送,USB虛擬串口和物理串口1都可以作為數(shù)據(jù)傳輸?shù)耐ǖ溃梢酝瑫r操作和發(fā)送數(shù)據(jù)。 USB虛擬
    的頭像 發(fā)表于 01-04 11:26 ?1369次閱讀

    usb虛擬串口usb協(xié)議的區(qū)別

    USB虛擬串口USB協(xié)議是兩個相關(guān)但不同的概念。在理解它們之前,我們首先需要了解USB的基本知識。 U
    的頭像 發(fā)表于 12-28 14:55 ?1552次閱讀

    AD9460參考時鐘如何選擇?

    如題,目前項目要做一個100m16bit的數(shù)據(jù)采集卡,看了下貴公司的AD9460,但是差分參考時鐘無法選擇? 需不需要加一個時鐘綜合芯片比如Si5324?但類似的這種芯片市場上很不好買到。 如果用elcosc能否推薦個廠家和芯片?還有ad9460能否申請樣品?謝謝
    發(fā)表于 12-25 07:44

    stm32虛擬串口接收的數(shù)據(jù)處理

    在STM32中使用虛擬串口時,我們需要處理接收的數(shù)據(jù)。接收到的數(shù)據(jù)可能是來自其他設(shè)備的傳感器數(shù)據(jù)、用戶輸入的命令或其他任何信息。在本篇文章中,我將詳細(xì)介紹STM32虛擬
    的頭像 發(fā)表于 12-20 11:22 ?2042次閱讀