问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用串口转usb接口的模块可以实现上位机与plc和单片机之间的通讯么

发布网友 发布时间:2022-04-26 00:07

我来回答

2个回答

热心网友 时间:2023-10-20 19:11

数据接收存储技术革新是信号采集处理领域内的一个重要课题。利用这种技术,可以把信号的实时采集和精确处理在时间上分为两个阶段,有利于获得令人更满意的处理结果。在无线数传接收设备中应用数据接收存储方法时,除了要满足数据传输速率和差错控制方面的要求外,还需要考虑如何使设备易于携带、接口简单、使用方便。
传统外设接*术不但数据传输速率较低,独占中断、I/O地址、DMA通道等计算机系统关键资源,容易造成资源冲突问题,而且使用时繁杂的安装配置手续也给终端用户带来了诸多不便。近年来,USB接*术迅速发展,新型计算机纷纷对其提供支持。USB2.0是USB技术发展的最新成果,利用USB2.0接*术开发计算机外设,不但可以借用其差错控制机制[1][6]减轻开发人员的负担、获得高速数据传输能力(480Mb/s),而且可以实现便捷的机箱外即插即用特性,方便终端用户的使用。
1 无线数传接设备总体构成
无线数传接收设备是某靶场测量系统的一个重要组成部分。如图1所示,该设备由遥测接收机利用天线接收经过调制的无线电波信号,解调后形成传输速率为4Mb/s的RS-422电平差分串行数据流。以帧同步字打头的有效数据帧周期性地出现在这些串行数据中。数据转存系统从中提取出有效的数据帧,并在帧同步字后插入利用GPS接收机生成的本地时间信息,用于记录该帧数据被接收到的时间,然后送给主机硬件保存。
在无线数传接收设备中,数据转存系统是实现数据接收存储的关键子系统。下面将详细介绍该系统的硬件实现及工作过程。

2 数据转存系统基本构成及硬件实现
数据转存系统主要由FPGA模块、DSP模块、USB2.0接口芯片构成,各个模块之间的相互关系如图2所示示。图中,4Mb/s的串行数据输入信号SDI已由RS-422差分电平转换为CMOS电平。为突出重点,不太重要的信号连线未在图中绘出。下面分别介绍这几个模块的主要功能。
2.1 FPGA模块实现及春功能
FPGA模块在Altera公司ACEX系列的EP1K30TI144-2芯片中实现。其中主要的功能子模块有:位同步逻辑、帧同步逻辑、授时时钟和译码逻辑。位同步逻辑主要由数字锁相环构成,用于从串行数据输入信号SDI中恢复出位时钟信号。帧同步逻辑从位同步逻辑的输出信号提取帧同步脉冲。两者为DSP利用其同步串行口接收串行数据作好准备。这样,利用一对差分信号线就可以接收同步串行数据,简化了印制电路板的外部接口。授时时钟在DSP和GSP接收机的协助下生成精度为0.1ms的授时信息。译码逻辑用于实现系统互联。
2.2 DSP模块实现及其功能
DSP模块是数据转存系统的主控模块,在T1公司16位定点DSP芯片TMS320F206[4]中实现。在DSP的外部数据空间还配置了32KX16的高速SRAM,可以缓存80余帧数据,用于提高系统的差错控制能力。DSP利用同步串行口接收FPGA送来的同步串行数据,利用异步串口接收GPS接收机送来时间信息(用于初始化FPGA授时时钟),利用外部总线接口访问FPGA授时时钟、外部SRAM、ISP1581的片内寄存器。可以看出DSP模块主要用于完成数据帧的接收、重组以及转存调度等任务。

ISP1581芯片是PHILIPS公司推出的高速USB2.0设备控制器,实现了USB2.0/1.1物理层、协议层,完全符合USB2.0规范,即支持高速(480Mb/s)操作,又支持全速(12Mb/s)操作。ISP1581没有内嵌微处理器,但对微处理器操作了灵活的接口。在上电时,通过配置BUS——CONF、DAO、MODE1、MODE0、DA1引脚电平可以适应绝大多数的微处理器接口类型。例如,通过BUS_CONF/DA0引脚,总线配置可以选择普通处理器模块(Generic Phocessor mode)中分割总线模式(Split Bus Mode);在普通处理器模式下,通过MODE0/DA1引脚可以选择读写选通为8051风格或者Motorola风格。
在数据转存系统中,ISP1581用于处理主机的高速数据传输。它工作在普通处理器接口模式下,采用8051风格的读写选通信号,由DSP芯片TMS320F206控制。两者在选定工作方式下的信号连线如图3所示,图中未画出的信号引脚可以悬空,供电引脚的连接方式在参考资料[2]第46页有简明描述。在FPGA译码逻辑的作用下,ISP1581的片内寄存器被映射在DSP的片外数据空间中。DSP通过8位地址线选择要访问的寄存器,在读写选通信号的控制下,利用16位数据线与选定的寄存器交换数据。在访问ISP1581单字节寄存器时,数据总线高字节内容无关紧要。ISP1581通过中断引脚INT向DSP报告发生的总线事件,利用D+、D-引脚完成与主机的数据交换。
3 数据转存系统的工作过程
系统加电后,当FPGA配置过程结束时,如果有串行数据输入,位同步逻辑和帧同步逻辑便启动同步过程。同时,DSP片内FLASH中复位中断服务程序c_int0()[4]被立即执行,在建立好C语言的工作环境下,它会调用主函数main()。在main()中,需要安排好一系列有先后顺序的初始化工作。其中,ISP1581的初始化过程比较复杂,需要考虑设备采用的供电方式(这里为自供电[6]方式)、插接主机和系统上电的先后次序,并需要与USB总线枚举[1][6]过程相结合。
在FPGA中的位同步逻辑和帧同步逻辑均进入同步状态,且DSP主控模块配合主机完成初始化任务后,即可启动数据的传输过程。下面介绍一下ISP1581的初始化过程及DSP控制的数据帧的接收机转存流程。
3.1 ISP1581的初始化
在初始化过程中,首先需要设置影响ISP1581自身工作方式的一些寄存器,然后与主机端USB系统配合进行,应答来自主机端的设备请求。当数据转存系统板作为USB 2.0设备通过连接器连到主机USB根集线器上的一个端口时,主机便可检测到这一连接,接着给该端口加电,检测设备并激活该端口,向USB设备发送复位信号。设备收到这一复位信号后,即进入缺省状态,此后就能够通过缺省通信通道响应主机端送来的设备请求。主机通过描述符请求(GET_DESCRIPTOR)获得设备端的详细信息,通过设置地址请求(SET_ADDRESS)设置设备地址,通过设置配置请求(SET_CONFIGURATION)选定合适的设备配置。在设备成功响应了这些设备请求之后,就可以与主机通信了。

在响应主机请求的过程中,DSP需要配置ISP1581的端点以实现不同类型的传输通道。根据数据传输速率的要求,除了缺省的控制通道外,系统中实现了一个批传输(bulk)[1]类型的输入通道。这样,ISP1581就可以像FIFO一样方便地从数据转存系统向主机传输数据,而且具有差错控制能力,简化了设备端软件设计的复杂性。
3.2 数据帧的接收转存过程
系统正常工作时,需要与主机端程序相互配合。主要端需要开发者实现的程序包括设备驱动程序和应用程序。在Windows 2000操作系统下,USB设备驱动程序为WDM模型的驱动程序,开发环境DriverStudio为WDM型驱动程序提供了框架结构,使得驱动开发变得非常容易(参见参考文献[5]第八、九、十章)。驱动程序接收应用程序的请求,利用USB总线驱动程序(US-BD)和主机控制器驱动程序(HCD)通过主机控制器安排USB总线事务,设备端则根据这些事务调度相应的数据帧的传输。关于主机端口如何安排总线事务可以查阅参考文献[1]。以下着重介绍设备端数据的调度过程。
数据帧的接收转存过程主要由DSP负责,DSP在外部SRAM中建立了一个数据帧的队列,如图4所示。系统主要工作在中断驱动模式下,与同步串行口相关的中断服务程序负责建立队列的尾部,对应于ISP1581中断引脚INT的中断服务程序负责建立队列的头部。
当以帧同步字打头的一帧数据以串行位流的形式到来时,FPGA产生的帧同步脉冲可以直接启动DSP同步串行口接收数据,该同步脉冲同时以中断方式通知DSP为一帧数据的接收做好准备。DSP接到通知后,首先检查外部SRAM中是否有足够的空间容纳一帧数据。如果没有空间,则丢弃当前数据帧(根据设计,这种情况是很少见的);如果有空间,则为当前数据帧保留足够的空间。接着在帧起始位置填写帧步字,读取授时时钟的当前值并填写在帧同步字后。这样,一个新的数据帧(图4中数据帧F_N)就建立了,但是并没有加入到队列中,而是要等待来自同步串行口的后继数据嵌入该帧中后再加入到队列中。
同步串行口的接收缓冲区在接收到若干字(由初始化时的设置决定)后,会向DSP提出中断请求。在中断服务程序中,DSP读取接收缓冲区中的内容,并将其填入上述新开辟的帧F_N中。在一帧数据接收完毕后,就将该帧添加到队列的尾部,表示该帧数据已经准备好(图4中数据帧F_R),可以通过ISP1581送给主机硬件保存。

DSP在查询到队列中有已经准备好的数据帧存在时,就设置ISP1581的端点索引寄存器(Endpoint Index Register)使其指向初始化时配置的批传输输入端点,然后将队列首帧数据通过ISP1581的数据端口寄存器(Data Port Register)填写在端点缓冲区中。在端点缓冲区被填满后,它就自动生效。在不能填满端点缓冲区的情况下,可以通过设置控制功能寄存器(Control Function Register)的VENDP位[2]强制该端点缓冲区生效。端点缓冲区生效后,在USB总线上下一IN令牌到来时,该端点缓冲区中的数据就通过USB总线传输到主机中。主机成功接收到数据后,会给ISP1581以ACK应答。能够通过INT引脚报告给DSP,DSP就可以继续往端点中填写该帧其余数据。
在队列首帧数据被成功转移到主机后,DSP就丢弃首帧数据。如果队列在还有数据帧,则将次首帧作为首帧,继续前述传输过程;如果没有要传输的数据帧,则为队列首帧指针Head_Ptr赋空值(NULL),等待新的数据帧的到来。
USB2.0是计算机外设接*术发展的最新成功,具有广阔的应用前景。本文介绍了PHILIPS公司USB2.0接口芯片ISP1581在无线数据接收设备中的应用。高性能、便携化的无线数据传接收设备。其在靶场实弹试验中受到了用户的好评。

PC机的RS-232C串行口是使用最多的接口之一。因此,4串口、8串口等以增加串口数量为目的的ISA总线卡产品大量问世。一般串口应用只是使用了RXD和TXD两条传输线和地线所构成的串口的最基本的应用条件,而本文介绍一个利用PC机的RS-232串口加上若干电路来实现多串口需求的接口电路。
1.PC机串口的RTS和DTR及扩展电路
RTS和DTR是PC机中8250芯片的MODEM控制寄存器的两个输出引角D1和D0位,口地址为COM1的是3FCH,口地址为COM2的是2FCH。我们可以利用对MODEM控制寄存器3FCH或2FCH的写操作对其进行控制。从而利用该操作和扩展电路实现对TXD和RXD进行多线扩展,图1是其扩展电路。
在图1所示的PC机串口扩展电路中,74LS161是二进制计数器,1脚是清0端,2脚是计数端,计数脉冲为负脉冲信号,4051是八选一双向数字/模拟电子开关电路,其中一片用于正向输出,一片用于反向输出。该扩展电路工作原理是通过控制PC机串口的DTR输出的高低电平来形成74LS161的P2脚计数端的负脉冲信号,使161的输出端P14(QA)、P13(QB)、P12(QC)、P11(QD)脚依次在0000到1111十六个状态中变化,本电路仅使用了QA、QB、QC三个输出来形成对4051的ABC控制,最终使得4051(1)的输入端TXD依次通过与TX1~TX8导通而得到输出信号,4051(2)的输出端RXD与RX1~RX8依次导通形成输入信号。由于RXD和TXD的导通是一一对应的,因此串口通信就可以依次通过与多达8个带有三线基本串口的外部设备进行通信传输以实现数据传送。PC机端的电平转换电路是将RS232电平转换为TTL电平,外设端的电平转换电路是将TTL电平转换为RS232电平。由于这种转换有许多电路可以实现,因而,这里不再介绍。
2.电路使用程序
对PC机串口COM1的编程如下:
……
… ;对COM1口的波特率等设置;
MOV DX,3FCH
MOV AL,XXXXXX01B
OUT DX,AL;D1生成RTS负脉冲,对74LS161输出端清0
MOV AL,XXXXXX11B;
OUT DX,AL ;4051的RX1和TX1导通
CALL COM ;调用通信子程序,与第一个外部设备通信;
MOV CX,7 ;设置循环计数器;
NEXT:MOV DX ,3FCH
MOV AL,XXXXXX10B
OUT DX ,AL ;D0位生成DTR的负脉冲,形成161的P2脚计数脉冲
MOV AL,XXXXXX11B
OUT DX,AL ;RX2和TX2导通
CALL COM ;调用通信子程序,与第二个外部设备通信
LOOP NEXT ;循环与另外6个外部设备通信

… ;通信子程序略
3.使用说明
由于该扩展的多路接口在通信时共用一个子程序,因此在与某一路导通时,系统只能与这一路的外部设备进行通信联络。
如果工作现场需要立即和某一路通信,则需要对3FCH的D1位执行两个写操作并在RTS脚形成负脉冲,以对7416I清0后,再连接执行若干次对DTR的两次写操作。例如想对第4路外设通信,则需要执行完成对74LS161清0后,再连续三次对3FCH的D0位进行两个写操作以形成DTR脚的负脉冲,然后即可调用通信子程序。
如需使用PC机的COM2串口,只需将程序中的3F8H~3FDH全部换成2F8H~2FDH即可。
如果使用十六选一双向数字/模拟电子开关电路,可将74LS161的QA、QB、QC、QD四个输出端接至电子开关的四个控制端A、B、C、D,这样就可以达到一个PC机的RS232口与16个带有串口的外设的数据通信。

热心网友 时间:2023-10-20 19:11

USB端口发送信号为脉冲形式所以并不稳定。暂时没有很好的解决方法。
此项目目前仍为国内科技难题。
用串口转usb接口的模块可以实现上位机与plc和单片机之间的通讯么

用串口转usb接口的模块可以实现上位机与plc和单片机之间的通讯么 上位机用的是USB口单片机是rs232一开始只能接受到数据但不能发送是什么问题... 上位机用的是USB 口 单片机是rs232 一开始只能接受到数据 但不能发送 是什么问题 展开  我来答 2个回答 #热议# 《请回答2021》瓜分百万奖金 百度网友a78899f8...

51单片机中工作寄存器作用是什么?

51单片机中的工作寄存器是一种特殊的寄存器,它存储的数据可以在单片机的工作时钟周期内被修改。工作寄存器通常用于存储操作数、传输数据或执行其他常规操作。由于51单片机具有许多指令可以直接访问内部的工作寄存器,因此工作寄存器在单片机编程中具有重要作用。以下是一些关于51单片机工作寄存器的重要作用:1. 存储操作数:工作寄存器允许单片机存储一些输入数据或指令常数,这些常数在后续的指令中使用。2. 传输数据:工作寄存器可以用于在单片机内部传输数据,例如在读取从存储器或外部传感器中采集的数据时。3. 执行常规操作:工作寄存器可以…意法半导体致力于引领单片机技术和产品的创新,推动生态系统的建设,为用户提供满意的产品和技术服务。意法半导体单片机产品线拥有业界宽广、极具创新力的32位产品系列 – STM32,覆盖超低功耗、超高性能方向,同时兼具一流的市场竞争力。STM32...

西门子1500plc有以太网模块,上位机以太网通讯不上什么情

1、串口通讯:PLC通过串口与上位机进行通讯,可以通过串口转以太网模块或USB转串口模块与上位机进行连接。串口通讯一般要求设备距离比较近。2、以太网通讯:PLC可以通过内置的以太网接口与上位机进行通讯,可以使用TCP/IP或UDP协议进行数据传输,速度比串口快得多。3、工业以太网通讯:PLC可以使用类似于以太...

如何实现欧姆龙PLC与上位机的以太网通讯?

PLC侧要编写数据采集程序,比如串口的数据采集,DI或者AI的数据采集 PLC要配有网络口,并配置好IP 与PLC进行网络通信的上位机的PC要安装欧姆龙的OPC Server,它类似欧姆龙PLC的数据中转站,通过它和现场的PLC进行以太网的数据通信,然后我们自己开发的第三方软件,就是你说的上位机,再通过它来获取数据 ...

PLC怎么与上位机进行通讯

1.上位机与PLC通讯的原理 在利用外部设备与可编程控制器之间进行通讯前,必须首先规定一些参数,如数据长度,奇偶校验、停止位以及波特率等,即通讯格式。通讯格式是通过一个四位的16进制数而设定,这里设定为H6880,其含义是数据长度为7位,终结符为7位,奇偶校验为无,控制线为RS232接口,停止位为1位...

PLC的485口走RTU通讯,modsan能扫到数据,但上位机不能读数据?

首先你MODSCAN 可以读到数据说明通讯是正常的,上位机需要显示牵涉到上位机需要的服务,例如你使用的是WINCC 只能通过转OPC的形式在上位机显示。给你个例子可以使用KEPSERVER 的opc服务器软件把MODBUS的地址转换成OPC服务就可以在上位机显示了!手里没有软件,只能说这么多!现在在做项目 软件不能乱安装会...

监控计算机与PLC的数据通信要怎样实现?需要什么软件?

用西门子的PLC,想要简单的使用上位机软件和PLC通讯,最简单的方法就是使用你说的组态软件:一、S7-200 CPU 1、硬件:使用USB/PPI电缆,或者USB/MPI电缆,或者CP5611通讯卡作为物理通讯链路,也可以配接以太网通讯模块使用以太网作为通讯链路。如果使用CP5611或者以太网,还需要通讯接头及通讯线或者网线 2...

三菱PLC和PC进行RS232通讯,用C#写的上位机

如果靠串口通讯来启动,这个做不到,启动电脑是要电脑通电启动的,通信是不行的不过如果把串口当作一个开关,是可以通过硬件做到启动电脑,需要手工制作。找到串口两个不用的阵脚,然后找到电脑开机的电源线,把两个线分别焊接到串口针脚,这样当短这两个针脚就相当于按了下电脑开机键,来启动电脑。

PLC怎么和上位机通讯?

PLC接收到指令后,进行逻辑判断,将结果反馈至上位机,实现通信。确保通信协议和格式一致,并按协议编程是关键。通信过程包括输入采样、数据处理与存储、用户程序执行和输出刷新。确保通信接口最适配,才能确保通信顺利进行。正确编程,遵循通信协议,是实现PLC与上位机高效通信的关键。

S7 PLC与 上位机之间可以采用TCP/IP,Socket通讯吗

可以,无论是S7-200、300和400这几种类型的CPU都可以与上位机之间进行TCP/IP和Sockeet通讯。前提是200系列需要添加以太网模块,300和400系列有带有以太网口的CPU如果没有也需要添加以太网模块,上述三者与IP地址与上位机地址设置于同一网段内。一、200系列CPU通过OPC软件PC ACCESS与WINCC上位机进行组态...

欧姆龙PLC与pc连接通信

CPIH的支持USB传输,用普通的USB打印机线,一头USB口,一头是方的。如果没有,可以5元钱买一根。编写程序的软件是CX-P,编好程序后,直接下载到PLC里面就可以了。通讯的时候,选择USB通讯。软件在OMRON的官网有下载的。

上位机下位机串口通信 uart串口通信与上位机 串口与上位机的协议 串口通讯上位机 单片机串口模块 usb转串口模块 怎么判断串口上位机 上位机串口通信编程 无线串口模块怎么用
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
在三角形ABC中,角A,B,C所对的边分别是a,b,c.满足(a-b)(sinA-sinB... 在三角形ABC中,角ABC所对的边分别为abc已知cos2C=负四分之一。 求sin... 在△abc中 角a b c所对的边分别为a b c 若sinA sinB sinC=根号3/2(sin... 在三角形ABC中,角A、 B、 C、的对边分别为a、 b、 c、且sinA方+sinC方... ...角A,B,C所对边为a,b,c,若sinB平方+sinC平方=sinA平方+sinBsinC,且A... 螺丝跟管道的尺寸叫法为什么不一样 在三角形abc中角abc所对的边分别为abc,若sinB平方+sinC平方=sinA平方+... 霍山黄大茶产地哪里 餐厅禁止自带酒水合法吗 餐饮店禁止客人自带酒水如何处罚 如何能把模型 shader等东西打包成.unity3d文件 WIFI共享精灵怎么用?开启成功后为什么手机搜不到? 苹果手机一直显示无服务怎么解决? 用ANSYS中Mechanical APDL对三维模型element type和solution载荷施加设置问题 程序设计语言的数据模型 opengl和acis三维模型的区别 请问《超限猎兵凯能》C-Type ( 1/144 )边防型坎普的模型有多大? 求C语言代码 TYOE-C数据线接口处为两电阻会存在什么隐患? 这是小学生初学者的3d建模软件。是什么软件? 如果绘制物体的三维网格模型,使用什么建模工具? 哪个网站的3d模型是完全免费的?谢谢了,大神帮忙啊 micro usb封装模型为什么加不上 哪有免费下载3D模型 CG模型的网站?? 中行员工福利管理产品信托计划介绍是什么? 2022年2月10号办离婚申请书,多久可以去办??? 心理学中的掩饰性反问是什么意思 别人问问题,第一反应就是不回答反而反问别人的人,是什么心态? 为什么有人喜欢反问? 问室友问题不直接回答,反过来反问你是怎样的心理? ps/2接口损坏有可能导致板载网卡损坏吗 红楼梦前二十回读后感(每章分开) 红楼梦20—30读后感 集体土地使用证,房屋被征收能给补偿吗 集体土地使用证如何进行拆迁补偿 教师资格证现场审核大概需要多久时间? 大概流程是? 企业有集体土地使用证拆迁怎么补偿 只有集体土地使用证的唯一住房,土地征收被占用怎么赔偿? 教资两次不在一个地方考审核从哪里审核 农村集体土地使用证和国有土地使用证在拆迁补偿标准有区别吗 农村土地征收补偿是按照集体土地使用证上的面积还是实际测量的所有面积?(实际面积远远超过使用证面积) 教师资格证报名网上审核形式? 房子只有集体土地使用证,如果拆迁能得到多少赔偿 教资准考证怎么审核盖章 集体土地使用证补多少钱一平方 集体土地使用证和国有土地使用证的区别以及被征用补偿金的区别 教资报名和审核时间是一样的吗? _百度问一问 教资审核不通过可以重新报名吗 房子只有集体土地使用证拆迁怎么补偿