qepuemc 发表于 2024-7-5 22:29:56

双串口芯片stc8h2k08是怎么个双串口法?

一直以为双串口是可以实现两个串口。硬件方面的。最近关注了一下,好像可能大概是软件方面的。具体怎么实现的不知道。
如果只是软件方面的。那stc32g12k128是不是就是四串口了。
为什么今天关注这个问题呢?我的想法就是我以为这个双窗口说的是两个硬件方面的串口。但是看了一下详细的说明书,好像不是。
因为最近的一个需求就是。需要对串口数据进行过滤,将不必要的数据给过滤掉,然后再转发出去。这样正好就可能会想到双串口。但是如果不是我想的那个意思的话。可能用stc32g12k128在程序中。在需要的时候告诉切换窗口的输出引脚进行数据转发会更加实在。
还请大佬给说一下是不是这么回事儿?
下面我说一个例子。
比如主机a要每隔200毫秒。就要发送轮询数据。
主机b需要每隔一二百秒才会发送一次数据。
主机a发送数据的时候主机b被迫接受。通过筛选器之后。把主机a发送的所有数据。都不发送给主机b
如果以上想法是对的话。
那接下来的想法就是。有主机ABC。分别需要对从机123 4 5进行采样。为了使主机ABC不互相干扰。需要对他们的轮询命令进行屏蔽。这时候就主机就要屏蔽掉其他主机的轮询命令和操作命令。想法就是这么个想法。
现在我认为。如果用串口3.0 3.1准备接收数据。这个时候。可是另一组串口。1.6 1.7那里来了数据会不会接收不到?毕竟数据是双向的。这里理解不了,所以一直以为多路窗口没有用,还请指教。谢谢🙏

晓飛飛 发表于 2024-7-5 23:05:40

本帖最后由 晓飛飛 于 2024-7-5 23:07 编辑

关于“双串口”是本论坛特有的一个概念,是相对于“单串口”而言的,这里讲的“双串口”并不是单片机有两个串口的意思,而是基于STC8H8K64U STC8H2K08U STC8H2K32U等型号开发的USB转双UART固件或预烧了这些固件的单片。
最早的例程是USB转UART的单串口,实现的是类似CH340之类USB转串口的功能,后来开发出了USB转两个UART和USB转HID+2UART的例程,就习惯性的叫做了“双串口”
事实上,STC8H8K64和STC32G12K128都有四个独立的物理串口, STC8H2K08U和STC8H2K32U有两个独立串口,
这里提到的串口,都是支持同时全双工收发的,而且支持DMA操作,不存在互相打断或占用的概念。

至于哪个串口接收,数据如何解析筛选,是需要代码编程来实现,您提到的数据解析和分发的功能我认为市面上不可能有现成的芯片可以支持,本身单片机和嵌入式系统的应用开发方式就是硬件结合软件编程的,我想您能够理解这个道理吧。


zuichen 发表于 2024-7-5 23:43:14

{:5_361:}

嵌入式之路 发表于 2024-7-6 02:04:18

是 1 USB -> 2 UART

qepuemc 发表于 2024-7-6 08:11:28

晓飛飛 发表于 2024-7-5 23:05
关于“双串口”是本论坛特有的一个概念,是相对于“单串口”而言的,这里讲的“双串口”并不是单片机有两个 ...

理解,想到的思路就是用一个芯片做过滤,等主站发,然后处理,转发到从站,然后等50-100ms后得到特定数据就发给主站,如果没有得到就放弃,接着等主站的命令,只有得到主站的命令才处理,每次处理一条。这样就实现了过滤了。实现其它主站的指今不会发到通信主站上的目的。

Yim_Hom 发表于 2024-7-6 08:39:21

双串口的解释别人已经答了,我就不啰嗦了。
主站1 01
主站2 02
从站1 03
从站2 04
...      ...
最简单的描述:对每一个需要通信的MCU进行编码,只需要读是不是来自给它的指令,是就用,不是就不管,就实现了你说的过滤。
至于主动 被动接收在于你的程序怎么写。因为串口通信是可以全双工的。

Yim_Hom 发表于 2024-7-6 08:41:27

那接下来的想法就是。有主机ABC。分别需要对从机123 4 5进行采样。为了使主机ABC不互相干扰。需要对他们的轮询命令进行屏蔽。这时候就主机就要屏蔽掉其他主机的轮询命令和操作命令。想法就是这么个想法。
每一个MCU都有了编码了,至于是屏蔽还是接收,接收后处理不处理,还是转发,都可以。

AI-32位8051 发表于 2024-7-6 08:58:19

【新提醒】立创开源【STC最简 USB 转 双串口】@STC8H2K08U-45I-SOP16 - 第8页 - 单片机创意设计大赛 @【STC & 嘉立创EDA】 国芯技术交流网站 - STC全球32位8051爱好者互助交流社区https://www.stcaimcu.com/forum.php?mod=viewthread&tid=6035&extra=&highlight=HID%2B2UART&page=8

   烧录下面这个程序,实现
USB-CDC 转 双串口
https://www.stcaimcu.com/data/attachment/forum/202402/26/075629ma315v83q3cm3ma8.jpg
烧录 如上 这个程序,实现
USB-CDC 转 双串口
1,STC-USB-CDC1-UART1 串口 通信或烧录
===烧录支持 自动停电/上电,免手动 关/开 电源
2,STC-USB-CDC2-UART2 串口 通信或烧录
===烧录不支持 自动停电/上电,需要外部 手动 关/开 电源

========================================================

烧录下面这个程序,实现:
(一) ,USB-CDC 转 双串口
(二) ,HID 转 串口 烧录
https://www.stcaimcu.com/data/attachment/forum/202402/26/075656jr6cckvrrqwdoqcd.jpg
烧录 如上 这个程序,实现
(一) ,USB-CDC 转 双串口
1,STC-USB-CDC1-UART1 串口 通信或烧录
===烧录支持 自动停电/上电,免手动 关/开 电源
2,STC-USB-CDC2-UART2 串口 通信或烧录
===烧录不支持 自动停电/上电,需要外部 手动 关/开 电源
(二) ,HID 转 串口 烧录
===烧录支持 自动停电/上电,免手动 关/开 电源

==================================================

在电脑上连接上
两个 【一箭双雕之USB转双串口】和
两个 【STC-USB Link1D】 的效果
https://www.stcaimcu.com/data/attachment/forum/202402/26/081103cenneeh8l1m3mnhm.jpg

这个好

第一个
一箭双雕之USB转双串口:
HID+2CDC复合设备
1, USB-HID 烧录:
   STC-USB-HID-UART1 (2CDC+HID1)
2, USB-CDC, USB转双串口
    STC-CDC1-UART1 (COMa), 2CDC+HID
    STC-CDC2-UART2 (COMb), 2CDC+HID

第二个
一箭双雕之USB转双串口:
HID+2CDC复合设备
1, USB-HID 烧录:
   STC-USB-HID-UART1 (2CDC+HID2)
2, USB-CDC, USB转双串口
    STC-CDC1-UART1 (COMc), 2CDC+HID
    STC-CDC2-UART2 (COMd), 2CDC+HID

第一个
STC-USB Link1D:
HID+2CDC复合设备
1, USB-HID 烧录:
   STC-USB-HID-UART1(Link1)
2, USB-CDC, USB转双串口
    STC-USB-CDC1-UART1 (COMe), Link
    STC-USB-CDC2-UART2 (COMf), Link

第二个
STC-USB Link1D:
HID+2CDC复合设备
1, USB-HID 烧录:
   STC-USB-HID-UART1 ( Link2)
2, USB-CDC, USB转双串口
    STC-USB-CDC1-UART1 (COMg), Link
    STC-USB-CDC2-UART2 (COMh), Link


第三个
STC-USB Link1D:
HID+2CDC复合设备
1, USB-HID 烧录:
   STC-USB-HID-UART1 ( Link3)
2, USB-CDC, USB转双串口
    STC-USB-CDC1-UART1 (COMi), Link
    STC-USB-CDC2-UART2 (COMl), Link

HID-UART 可以区分是第几个【STC-USB Link1D】
===Link1/Link2/Link3

CDC-UART 无法区分是第几个【STC-USB Link1D】
===此处的 Link/Link/Link 无法区分是第几个
同一台电脑上插了 第几个 【STC-USB Link1D】


qepuemc 发表于 2024-7-6 13:45:19

Yim_Hom 发表于 2024-7-6 08:41
那接下来的想法就是。有主机ABC。分别需要对从机123 4 5进行采样。为了使主机ABC不互相干扰。需要对他们的 ...

485网需要用一个串口485所以需要换串口。中间加过滤器,判断好了再操做,先口1收到命令再发口2然后收到再发口1再等口1命令!

qepuemc 发表于 2024-7-6 17:04:49

晓飛飛 发表于 2024-7-5 23:05
关于“双串口”是本论坛特有的一个概念,是相对于“单串口”而言的,这里讲的“双串口”并不是单片机有两个 ...

STC32G12K128都有四个独立的物理串口
上面这一句我的理解就是。这个芯片可以有4组独立的串口缓存。只要接收到数据。就会存下来。等到需要访问的时候再访问即可。不知道这么理解对不对?
因为网上有人有这种设备,就是两个主机。多个从站。通过一个设备。同时扫描两个主机的。485输入。然后根据输入的指令再进行指令的下发。然后再回传回相应的主机上。如果用这种思路的话我认为需要两个串口同时进行接收。才能够实现。
页: [1] 2 3
查看完整版本: 双串口芯片stc8h2k08是怎么个双串口法?