CN101122894A - 一种异步串行通讯控制器件 - Google Patents
一种异步串行通讯控制器件 Download PDFInfo
- Publication number
- CN101122894A CN101122894A CNA2006101152670A CN200610115267A CN101122894A CN 101122894 A CN101122894 A CN 101122894A CN A2006101152670 A CNA2006101152670 A CN A2006101152670A CN 200610115267 A CN200610115267 A CN 200610115267A CN 101122894 A CN101122894 A CN 101122894A
- Authority
- CN
- China
- Prior art keywords
- frame
- register
- serial
- asynchronous serial
- serial ports
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Communication Control (AREA)
Abstract
本发明公开了一种异步串行通讯控制器件,它包括3个以上的异步串行控制器内部控制逻辑,以及与每个异步串行控制器对应的发送端口、接收端口、发送目的寄存器和接收来源寄存器,主控制器。主控制器处理从各异步串行口接收过来的信息帧,并判断信息帧的类型是指令帧还是数据帧进行相应的处理:如果是指令帧,就根据指令帧的内容对相关的寄存器进行操作,如果是数据帧就根据相关寄存器的内容把数据帧的内容从设定的串行口以设定的数据格式和速率发送出去。本发明具有以下优点:支持多个异步串行接口均可以相互直接进行高速通讯,提高了***的效率,使用方法简单。
Description
所属领域
本发明涉及通讯领域,尤其涉及通讯领域中的串行通讯领域。
背景技术
目前许多电子***中需要用到异步串行通讯方式来进行通讯,当同一个设备(或模块、***)需要较多的串行口时,一般采用以下方法:
1.使用本身就具有多个异步串行通讯接口的通用控制器件。这样的通用控制器件一般设计有2到3个异步串行通讯接口。采用此法能够获得的串口数量还是有限。
2.使用软件方法利用通用控制器件的普通输入输出端口模拟异步串行端口的时序和通讯格式进行扩展。采用此法能够扩展的串口数量和通讯速率有限。
3.使用异步收发串行扩展专用集成电路,代表性的芯片有TI公司16C55X系列芯片。采用此方法技术复杂,占用***资源多,成本高。使用此方法不能实现与该类型器件连接的器件之间相互直接通讯。
4.使用串口扩展多串口器件,代表性的器件有GM812X系列和SP233X系列串口扩展芯片,使用此方法因为要使用额外的IO口作为多通道子串口的地址线,在接收到每一帧数据后都必须立即读取子串口的地址线来判断数据的来源或决定数据的去向(否则就有可能丢失数据),导致器件本身的母串口数据缓冲队列以及和母串口相连接的串口的数据缓冲队列失去应有的作用,处理时间增加,所以不能实现高速数据传输。使用此方法不能实现与该类型器件连接的器件之间相互直接通讯。
当有多个***需要使用异步串行口进行互连时,必须把一个***当主控***,其他***把信息发送给主控***,经过主控***进行中转分发,增加了中间处理环节,降低了效率。
发明内容:
本发明的目的在于提供一种可支持多个异步串行口均可以相互直接进行高速通讯的控制器件,使用方法简单。
为了实现上述目的,本发明实现上述目的的技术方案是:一种异步串行通讯控制器件,它包括3个以上(含3个)的异步串行控制器内部控制逻辑,以及与每个异步串行控制器对应的发送端口、接收端口、发送目的寄存器和接收来源寄存器,主控制器。主控制器处理从各异步串行口接收过来的信息帧,并判断信息帧的类型是指令帧还是数据帧进行相应的处理:如果是指令帧,就根据指令帧的内容对相关的寄存器进行操作,如果是数据帧就根据相关寄存器的内容把数据帧的内容从设定的串行口以设定的数据格式和速率发送出去。
本发明所包括的各串行接口都有编号:0,1,2···n。
本发明所包括的寄存器有:串口0~串口n的发送目的寄存器:存放从串口接收进来的数据帧将要发往的串口的编号。串口0~串口n的接收来源寄存器:存放从串口发送出去的数据帧的来源串口的编号。
发送目的寄存器可以是固定的,即:从某个串口接收过来的数据只发往另外一个固定的串口。
接收来源寄存器可以是固定的,即:某个串口只发送从另外一个固定的串口接收过来的数据。
本发明所述信息帧是指直接从各串口接收和发送的内容,本发明串行通讯控制器件把信息帧分为指令帧和数据帧,指令帧是指用来对本发明串行通讯控制器件进行设置和控制的信息,数据帧指各串口发送到其他串口和从其他串口接收的实际数据信息。指令帧和数据帧可以利用接收到到的信息帧里的某一位来进行判断。比如如果串口n使用的通讯格式为9位数据位加1位停止位,就可以把第9位数据位作为判断标志:第9位数据位是0作为数据帧,第9位数据位是1作为指令帧。或者反过来:第9位数据位是1作为数据帧,第9位数据位是0作为指令帧。指令帧和数据帧也可以利用接收到的信息帧里的某几位来进行判断,指令帧和数据帧还可以利用接收到到信息帧时的器件的IO口的状态来判断。
本发明串行通讯控制器件处理信息帧的典型过程:当从串口1接收到一个指令帧,该指令帧要求发送数据到串口2,主控制器处理到串口1的这个指令帧时就把串口1的发送目的寄存器设置为串口2的编号。主控制器会把接下来的从串口1接收的数据通过串口2发送出去,直到接收到新的指令改变串口1的发送目的寄存器值为止。主控制器在把从串口1接收的数据通过串口2发送出去时会先检查串口2的接收来源寄存器是否等于串口1的编号,如果不等,主控制器会先通过串口2发送一个指令帧,告诉与串口2连接的设备(模块或***)接下来发送的数据来源是串口1,同时把串口2的接收来源寄存器设置为串口1的编号。如果相等,就直接通过串口2发送数据帧。
本发明串行通讯控制器件包含的串行控制器以及与每个异步串行控制器对应的数据发送逻辑、数据接收逻辑、发送端口、接收端口、发送目的寄存器和接收来源寄存器可以是基于硬件实现方式的。
本发明串行通讯控制器件包含的串行控制器以及与每个异步串行控制器对应的数据发送逻辑、数据接收逻辑、发送端口、接收端口、发送目的寄存器和接收来源寄存器也可以是基于软件模拟方式实现的。
本发明串行通讯控制器件包含的串行控制器以及与每个异步串行控制器对应的数据发送逻辑、数据接收逻辑、发送端口、接收端口、发送目的寄存器和接收来源寄存器是基于硬件方式和软件模拟方式两者混合的方式实现的。
本发明串行通讯控制器件还可以包括一组或多组缓冲。因为串口数量较多,传输的数据量也大,所以使用缓冲存储未来得及处理的信息和已经处理的信息,比如某个串口的通讯速率很高,当此串口短时间内突发收到多帧信息,主控制器来不及处理,就可以把收到的信息先放进一组缓冲,又比如某个串口的通讯速率很低,当此串口短时间内需要发送多帧信息,也可以把要发送的信息放入一组缓冲。缓冲的设置还可以实现高优先级的指令帧优先处理或发送:当主控制器处理到高优先级的的指令帧时,可以把该指令帧***缓冲的头部,使该指令帧获得优先处理或发送。
本发明串行通讯控制器件从各个串口接收数据的方式可以是中断方式,也可以是查询方式。
本发明串行通讯控制器件向各个串口发送数据的方式可以是中断方式,也可以是查询方式。
本发明串行通讯控制器件还可以包括以下寄存器:串口通讯格式寄存器:存放串口的通讯格式设置参数。串口通讯速率寄存器:存放串口的通讯速率设置参数。串口错误寄存器:存放处理与串口的相关的寄存器和数据时的出错信息,比如缓冲器溢出信息等。
实际使用中,用户可以选择使用硬件也可以选择使用软件方式来设置本发明串行通讯控制器件的寄存器。
综上所述,本发明实现了与本发明串行通讯控制器件连接的多个异步串行接口均可以相互直接进行高速通讯,不需使用额外的通讯控制线,使用简单。与同类产品相比,本发明串行通讯控制器件具有以下优点:
1.通用型强:本发明串行通讯控制器件既可以作为单串口扩展多串口器件使用,也可以作为多***通过串口互连使用。多***通过串口互连在不使用主控***的情况下如果不使用本器件,如果需要互连的***是n个,那么每个***必须要有(n-1)个串口,使用本发明串行通讯控制器每个***只需要1个串口就可以了,***处理器的选型范围显著扩大,硬件成本显著降低,***的硬件和软件设计复杂度显著降低,能够显著降低成本。
2.控制简单,本发明串行通讯控制器件可以利用软件设置寄存器,没有额外的控制线。显著降低技术复杂度。
3.应用灵活:本发明串行通讯控制器件的各个串口通讯速率都可以单独设定,也可以统一设定。
附图说明
附图是本发明所述的最佳实施例的示意图;
下面结合结合附图和实施例对本发明做进一步说明。
具体实施方式
最佳实施例:
参见附图,本发明由以下几个部分组成:n个异步串行控制器内部控制逻辑,以及与每个异步串行控制器对应的发送端口、接收端口、发送目的寄存器和接收来源寄存器,与每个异步串行控制器对应的发送缓冲器,与每个异步串行控制器对应的接收缓冲器,主控制器,各个串口独立工作,接收到的数据进入接收缓冲等待处理,主控制器循环处理各个串口接收缓冲的信息帧。如果是指令帧,就根据指令帧的内容对相关的寄存器进行操作,如果是数据帧就根据相关寄存器的内容把数据帧的内容从设定的串行口以设定的数据格式和速率发送出去。
Claims (5)
1.一种异步串行通讯控制器件,其特征在于:包括3个以上的异步串行控制器内部控制逻辑,以及与每个异步串行控制器对应的发送端口、接收端口、发送目的寄存器和接收来源寄存器,主控制器。主控制器处理从各异步串行口接收过来的信息帧,并判断信息帧的类型是指令帧还是数据帧进行相应的处理:如果是指令帧,就根据指令帧的内容对相关的寄存器进行操作,如果是数据帧就根据相关寄存器的内容把数据帧的内容从设定的串行口以设定的数据格式和速率发送出去。
2.根据权利要求1所述的异步串行通讯控制器件,其特征在于:使用的通讯格式为9位数据位加1位停止位,把第9位数据位作为判断标志:第9位数据位是0作为数据帧,第9位数据位是1作为指令帧。
3.根据权利要求1所述的异步串行通讯控制器件,其特征在于:使用的通讯格式为9位数据位加1位停止位,把第9位数据位作为判断标志:第9位数据位是1作为数据帧,第9位数据位是0作为指令帧。
4.根据权利要求1所述的异步串行通讯控制器件,其特征在于:包括多组缓冲,用于存储未来得及处理的信息和已经处理的信息。
5.根据权利要求1所述的异步串口控制器件,其特征在于:包括以下寄存器:串口通讯格式寄存器:存放串口的通讯格式设置参数。串口通讯速率寄存器:存放串口的通讯速率设置参数。串口错误寄存器:存放处理与串口的相关的寄存器和数据时的出错信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006101152670A CN101122894A (zh) | 2006-08-13 | 2006-08-13 | 一种异步串行通讯控制器件 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006101152670A CN101122894A (zh) | 2006-08-13 | 2006-08-13 | 一种异步串行通讯控制器件 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101122894A true CN101122894A (zh) | 2008-02-13 |
Family
ID=39085231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006101152670A Pending CN101122894A (zh) | 2006-08-13 | 2006-08-13 | 一种异步串行通讯控制器件 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101122894A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102184613A (zh) * | 2009-12-25 | 2011-09-14 | 日探株式会社 | 数据传输***和监控*** |
CN102486764A (zh) * | 2010-12-04 | 2012-06-06 | 中国科学院沈阳自动化研究所 | 一种单串口多组数据涌入的同步协调处理方法及装置 |
CN101465839B (zh) * | 2008-10-24 | 2012-07-04 | 北京蛙视通信技术有限责任公司 | 一种串口数据的传输控制方法和装置 |
CN102882754A (zh) * | 2012-09-29 | 2013-01-16 | 南京国电南自轨道交通工程有限公司 | 重复中断方式485方向控制方法 |
CN103827841A (zh) * | 2011-09-30 | 2014-05-28 | 英特尔公司 | 可配置带宽的io连接器 |
CN105574420A (zh) * | 2015-12-09 | 2016-05-11 | 深圳市旭子科技有限公司 | 信令接口单元siu与终端的交互方法和装置 |
CN110895519A (zh) * | 2018-09-12 | 2020-03-20 | 深圳市信方达科技发展股份有限公司 | 控制器 |
-
2006
- 2006-08-13 CN CNA2006101152670A patent/CN101122894A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101465839B (zh) * | 2008-10-24 | 2012-07-04 | 北京蛙视通信技术有限责任公司 | 一种串口数据的传输控制方法和装置 |
CN102184613A (zh) * | 2009-12-25 | 2011-09-14 | 日探株式会社 | 数据传输***和监控*** |
CN102184613B (zh) * | 2009-12-25 | 2014-05-14 | 骊住日探株式会社 | 数据传输***和监控*** |
CN102486764A (zh) * | 2010-12-04 | 2012-06-06 | 中国科学院沈阳自动化研究所 | 一种单串口多组数据涌入的同步协调处理方法及装置 |
CN103827841A (zh) * | 2011-09-30 | 2014-05-28 | 英特尔公司 | 可配置带宽的io连接器 |
CN103827841B (zh) * | 2011-09-30 | 2017-03-29 | 英特尔公司 | 可配置带宽的io连接器 |
US9654342B2 (en) | 2011-09-30 | 2017-05-16 | Intel Corporation | Bandwidth configurable IO connector |
CN102882754A (zh) * | 2012-09-29 | 2013-01-16 | 南京国电南自轨道交通工程有限公司 | 重复中断方式485方向控制方法 |
CN102882754B (zh) * | 2012-09-29 | 2015-08-05 | 南京国电南自轨道交通工程有限公司 | 重复中断方式485方向控制方法 |
CN105574420A (zh) * | 2015-12-09 | 2016-05-11 | 深圳市旭子科技有限公司 | 信令接口单元siu与终端的交互方法和装置 |
CN105574420B (zh) * | 2015-12-09 | 2018-09-21 | 深圳市旭子科技有限公司 | 信令接口单元siu与终端的交互方法和装置 |
CN110895519A (zh) * | 2018-09-12 | 2020-03-20 | 深圳市信方达科技发展股份有限公司 | 控制器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10802995B2 (en) | Unified address space for multiple hardware accelerators using dedicated low latency links | |
CN101122894A (zh) | 一种异步串行通讯控制器件 | |
CN101208678B (zh) | 用于rs-232转i2c转换集成电路与主机间通信的软件层 | |
CN106155960A (zh) | 基于gpio握手和edma的uart串口通信方法 | |
JPH06511338A (ja) | 並行パケットバスに関する方法及び装置 | |
CN101930416A (zh) | 硬件协助处理器间的沟通 | |
JPH04233055A (ja) | 端末装置サーバアーキテクチャ | |
CN100481054C (zh) | 总线连接设备 | |
CN101452430B (zh) | 多处理器之间的通信方法与包括多处理器的通信装置 | |
CN207718364U (zh) | 一种基于fpga的多路rs-422串口扩展接口 | |
CN101242284A (zh) | 基于spi总线的通信方法和网络设备 | |
JPH0320851A (ja) | データプロセッサ | |
CN1038362A (zh) | ***设备控制器及适配器接口 | |
CN100351824C (zh) | 总线***和用于连接到总线的总线接口 | |
CN1656470A (zh) | 芯片处理器间的控制平面通信 | |
CN101901199B (zh) | 一种数据透明传输的方法及*** | |
CN101430739B (zh) | 一种集成芯片参数配置的***及方法 | |
GB2377138A (en) | Ring Bus Structure For System On Chip Integrated Circuits | |
US7218638B2 (en) | Switch operation scheduling mechanism with concurrent connection and queue scheduling | |
CN110971621B (zh) | 基于sdio接口的嵌入式多cpu互联电路、互联方法及驱动方法 | |
CN101655825B (zh) | 一种使用fpga实现lpc-usb双向通信的装置及lpc-usb和usb-lpc数据转换方法 | |
CN112131154A (zh) | 一种通道与业务动态匹配的dma传输控制方法 | |
JP2003050788A (ja) | 高レベル・データ・リンク・コントローラから多数個のディジタル信号プロセッサ・コアに信号を分配するための装置と方法 | |
CN110287141A (zh) | 一种基于多种接口的fpga重构方法和*** | |
US7254139B2 (en) | Data transmission system with multi-memory packet switch |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20080213 |