CN111352887B - 一种pci总线到可配置帧长度串行总线适配和传输方法 - Google Patents
一种pci总线到可配置帧长度串行总线适配和传输方法 Download PDFInfo
- Publication number
- CN111352887B CN111352887B CN201911134417.6A CN201911134417A CN111352887B CN 111352887 B CN111352887 B CN 111352887B CN 201911134417 A CN201911134417 A CN 201911134417A CN 111352887 B CN111352887 B CN 111352887B
- Authority
- CN
- China
- Prior art keywords
- bus
- state
- transmission
- data
- pci
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4295—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
Abstract
本发明提出了一种PCI总线到可配置帧长度串行总线适配和传输方法,方法如下:利用PCI核实现PCI总线到局部总线之间的转换;实现局部总线到可配置帧长度串行总线IP核的适配;当数据帧发送时,串行总线IP核实现发送数据的组帧及编码,编码后的数据帧通过发送数据寄存器填充到发送缓冲区中,然后通过逻辑单元进行并串转换及编码,通过LVDS发送器把编码好的数据传输出去;当数据帧接收时,通过LVDS发送器把低压差分信号转化串行信号后进入FPGA,串行总线IP核实现数据帧的解码及缓存,最后通过PCI核从接收缓冲区读取数据帧,并进行处理和解算。本发明解决了PCI总线到局部总线的转换,以及局部总线到高速串口的适配。
Description
技术领域
本发明属于航空电子系统机载计算机设计领域,涉及一种PCI总线到可配置帧长度串行总线适配和传输方法。
背景技术
随着航空电子系统的快速发展,众多机载设备之间的低成本、高可靠性的通信成为机载设备研制过程中重点解决的问题;同时,随着航空嵌入式计算机的发展,众多低功耗、高性能的CPU的主机接口为PCI总线,为了实现主机接口为PCI总线的CPU和众多机载设备之间的低成本、高可靠性通信。
当下都采用PCI总线转局部总线的专用桥芯片实现,控制复杂,适配性较差,往往需要再加上可编程逻辑器件控制才能和多种局部总线进行转换和适配,导致成本提高,移植性差;在串行系统的通信中,一般采用普通的UART或者USART协议进行通信,这种通信方式的缺点是帧长度固定、误码率较高。
发明内容:
本发明目的:本发明的目的是提供一种PCI总线到可配置帧长度串行总线适配和传输方法,其可移植性强、效率高、适配性好、可靠性高。
本发明的技术解决方案是:一种PCI总线到可配置帧长度串行总线适配和传输方法,是基于PCI核与串行总线IP核实现的,其中,串行总线IP核包括中断控制模块、时钟控制模块、接收错误寄存器模块、配置寄存器模块、缓冲区模块、数据编码发送模块以及数据接收及编码模块,所述缓冲区模块包括发送缓冲区和接收缓冲区。本发明具体适配和传输方法包括以下步骤:
步骤一:利用PCI核实现PCI总线到局部总线之间的转换;
步骤二:实现局部总线到可配置帧长度高可靠性串行总线IP核的适配;
步骤三:当数据帧发送时,串行总线IP核实现发送数据的组帧及编码,编码后的数据帧通过发送数据寄存器填充到发送缓冲区中,然后通过transimitter逻辑单元进行并串转换及编码,通过LVDS发送器把编码好的数据传输出去;当数据帧接收时,通过LVDS发送器把低压差分信号转化串行信号后进入FPGA,串行总线IP核实现数据帧的解码及缓存,最后通过PCI核从接收缓冲区读取数据帧,并进行处理和解算。
优选地,所述PCI核支持单次和burst传输模式,单次传输模式使用时序逻辑实现;burst传输模式采用状态机实现,其中采用的burst传输模式可极大的提高本传输系统的效率。
优选地,所述状态机由六个状态组成,分别是IDLES,REQS,WRITES,READS,RSTS,OOPS,所述状态机的工作方式具体如下:
(1)IDLES:状态机处于空闲状态,状态机等待用户发起读或者写请求;
(2)REQS:用户发起了传送请求,当是读请求时,状态机进入READS状态;当是写请求时,状态机进入WRITES状态;
(3)READS:状态机一直处于数据读取状态直到传输完成,或者在传输过程中发生了不可恢复的错误,当数据正常传输完成时,状态机会跳到OOPS_S状态;当发生致命错误时,状态机会处于RSTS;
(4)WRITES:状态机一直处于数据写入状态直到传输完成,或者在传输过程中发生了不可恢复的错误,当数据正常传输完成时,状态机会跳到OOPS_S状态;当发生致命错误时,状态机会处于RSTS;
(5)RSTS:当状态机处于RSTS时说明整个系统发生了不可恢复的错误,必须重新复位软硬件,状态机进入IDLES状态;
(6)OOPS:当状态机处于OOPS状态,如果需要对前端的FIFO进行回滚操作,状态机就一直处于OOPS;如果前端FIFO检测传输完成信号,则进入IDLES状态,否则进入申请总线状态REQS。
优选地,所述串行总线IP核数据帧有5bit的帧头,由数据帧以及校验位组成。
优选地,所述串行总线IP核是采用曼彻斯特编码方式进行编码。
优选地,所述数据帧长度为接收、发送缓存区最大范围内的任意长度。
本发明发送过程实现步骤简化如下:
1.主处理机利用PCI核实现数据帧从主机到串行总线IP核数据发送缓冲区的传输;
2.高速串口的tranmitter模块根据约定的数据长度、从发送缓冲区读出数据,按照设计的帧格式进行数据的组织、校验码的生成以及曼彻斯特的编码,然后按照特定的波特率通过LVDS电平传输出去。
本发明接收过程实现步骤简化如下:
1.首先通过LVDS接收器把低压差分信号转换成单端信号进入FPGA进行处理;
2.高速串口的Receiver按照约定的协议和波特率对数据帧进行解码、并根据帧头和校验位来对数据帧的符合型进行判断;如果数据帧的符合性满足要求,则被接收到数据缓冲区中,并发送中断给主机;主机CPU进入中断服务程序后,通过PCI软核从缓冲区接收数据,并进行处理和解算。如果数据帧符合性不满足要求,则丢弃数据,并对接收错误寄存器进行置位。
本发明具有的优点是:
(1)采用FPGA实现,不需要增加专用的ASIC芯片,降低了研发成本;
(2)本发明在在功能上实现了PCI总线到高速串口的转换,适配性强、移植简单、效率高;
(3)实现了串口数据帧长度的可配置,可灵活应用于各种机载设备;
(4)串口数据采用曼彻斯特编码,保证了发送端与接收端的信号同步,因此具有高可靠性;
(5)在硬件线路上,使用LVDS信号进行传输,功耗低,抗干扰能力强;
(6)建立了PCI总线到局部总线转换与适配的IP核;建立了可配置长度、高可靠性串行总线的IP核,可极大缩短后续项目的开发中,代码复用率高。
附图说明
图1为本发明的系统架构图。
图2为串口帧传输格式。
图3为发送数据流程图。
图4为接收数据流程图。
具体实施方式
本发明提供的一种PCI总线到可配置帧长度串行总线适配和传输方法,是基于PCI核与串行总线IP核实现的,如图1所示,其中,串行总线IP核包括中断控制模块、时钟控制模块、接收错误寄存器模块、配置寄存器模块、缓冲区模块、数据编码发送模块以及数据接收及编码模块,所述缓冲区模块包括发送缓冲区和接收缓冲区。
如图3所示,发送过程如以下步骤:
1、首先利用PCI核,把PCI总线转化为局部总线;本发明的PCI软核实现Initiator的功能,为了提高传输效率,支持单次和burst传输模式;
2、转化成局部总线后,用户程序接口对局部总线进行了适配,把局部总线适配成符合可配置帧长度的串口的逻辑时序;
3、主机CPU通过PCI总线发送的数据首先进入可配置帧长度的高可靠性高速串行接口的接收缓冲区中;
4、高速串口的tranmitter模块根据约定的数据长度从发送缓冲区读出数据,按照图2的帧格式进行数据的组织、校验码的生成以及曼彻斯特的编码,所述串行总线IP核数据帧有5bit的帧头,由数据帧以及校验位组成,最后通过LVDS电平传输出去。
所述burst传输模式采用状态机实现,所述状态机由六个状态组成,分别是IDLES,REQS,WRITES,READS,RSTS,OOPS,所述状态机的工作方式具体如下:
(1)IDLES:状态机处于空闲状态,状态机等待用户发起读或者写请求;
(2)REQS:用户发起了传送请求,当是读请求时,状态机进入READS状态;当是写请求时,状态机进入WRITES状态;
(3)READS:状态机一直处于数据读取状态直到传输完成,或者在传输过程中发生了不可恢复的错误,当数据正常传输完成时,状态机会跳到OOPS_S状态;当发生致命错误时,状态机会处于RSTS;
(4)WRITES:状态机一直处于数据写入状态直到传输完成,或者在传输过程中发生了不可恢复的错误,当数据正常传输完成时,状态机会跳到OOPS_S状态;当发生致命错误时,状态机会处于RSTS;
(5)RSTS:当状态机处于RSTS时说明整个系统发生了不可恢复的错误,必须重新复位软硬件,状态机进入IDLES状态;
(6)OOPS:当状态机处于OOPS状态,如果需要对前端的FIFO进行回滚操作,状态机就一直处于OOPS;如果前端FIFO检测传输完成信号,则进入IDLES状态,否则进入申请总线状态REQS。
如图4所示,接收过程如以下步骤:
1、首先通过LVDS接收器把低压差分信号转换成单端信号进入FPGA进行处理;
2、高速串口的Receiver按照约定的协议和波特率对数据帧进行解码、并根据帧头和校验位来对数据帧的符合型进行判断;如果数据帧的符合性满足要求,则被接收到数据缓冲区中,并发送中断给主机;主机CPU进入中断服务程序后,通过PCI软核从缓冲区接收数据,并进行处理和解算。如果数据帧符合性不满足要求,则丢弃数据,并对接收错误寄存器进行置位,同时发送异常中断,主机进入异常中断服务程序,查询接收错错误寄存器,并发送接收失败状态,请求再次发送。
应用情况:本发明已成功应用于某型号航电系统中(主要用于接口模块的实现中)和某型飞机中通信导航识别系统,已取得良好的效果,并实现了高安全和高可靠性的要求,具有很好的应用前景。
Claims (6)
1.一种PCI总线到可配置帧长度串行总线适配和传输方法,其特征在于:是基于PCI核与串行总线IP核实现的,具体适配和传输方法包括以下步骤:
步骤一:利用PCI核实现PCI总线到局部总线之间的转换;
步骤二:实现局部总线到可配置帧长度高可靠性串行总线IP核的适配;
步骤三:当数据帧发送时,串行总线IP核实现发送数据的组帧及编码,编码后的数据帧通过发送数据寄存器填充到发送缓冲区中,然后通过transimitter逻辑单元进行并串转换及编码,通过LVDS发送器把编码好的数据传输出去;当数据帧接收时,通过LVDS发送器把低压差分信号转化串行信号后进入FPGA,串行总线IP核实现数据帧的解码及缓存,最后通过PCI核从接收缓冲区读取数据帧,并进行处理和解算。
2.如权利要求1所述的一种PCI总线到可配置帧长度串行总线适配和传输方法,其特征在于:所述PCI核支持单次和burst传输模式,单次传输模式使用时序逻辑实现;burst传输模式采用状态机实现。
3.如权利要求2所述的一种PCI总线到可配置帧长度串行总线适配和传输方法,其特征在于:所述状态机由六个状态组成,分别是IDLES,REQS,WRITES,READS,RSTS,OOPS,所述状态机的工作方式具体如下:
(1)IDLES:状态机处于空闲状态,状态机等待用户发起读或者写请求;
(2)REQS:用户发起了传送请求,当是读请求时,状态机进入READS状态;当是写请求时,状态机进入WRITES状态;
(3)READS:状态机一直处于数据读取状态直到传输完成,或者在传输过程中发生了不可恢复的错误,当数据正常传输完成时,状态机会跳到OOPS_S状态;当发生致命错误时,状态机会处于RSTS;
(4)WRITES:状态机一直处于数据写入状态直到传输完成,或者在传输过程中发生了不可恢复的错误,当数据正常传输完成时,状态机会跳到OOPS_S状态;当发生致命错误时,状态机会处于RSTS;
(5)RSTS:当状态机处于RSTS时说明整个系统发生了不可恢复的错误,必须重新复位软硬件,状态机进入IDLES状态;
(6)OOPS:当状态机处于OOPS状态,如果需要对前端的FIFO进行回滚操作,状态机就一直处于OOPS;如果前端FIFO检测传输完成信号,则进入IDLES状态,否则进入申请总线状态REQS。
4.如权利要求1所述的一种PCI总线到可配置帧长度串行总线适配和传输方法,其特征在于:所述串行总线IP核数据帧有5bit的帧头,由数据帧以及校验位组成。
5.如权利要求1所述的一种PCI总线到可配置帧长度串行总线适配和传输方法,其特征在于:所述串行总线IP核是采用曼彻斯特编码方式进行编码。
6.如权利要求4所述的一种PCI总线到可配置帧长度串行总线适配和传输方法,其特征在于:所述数据帧长度为接收、发送缓存区最大范围内的任意长度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911134417.6A CN111352887B (zh) | 2019-11-19 | 2019-11-19 | 一种pci总线到可配置帧长度串行总线适配和传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911134417.6A CN111352887B (zh) | 2019-11-19 | 2019-11-19 | 一种pci总线到可配置帧长度串行总线适配和传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111352887A CN111352887A (zh) | 2020-06-30 |
CN111352887B true CN111352887B (zh) | 2023-10-17 |
Family
ID=71192949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911134417.6A Active CN111352887B (zh) | 2019-11-19 | 2019-11-19 | 一种pci总线到可配置帧长度串行总线适配和传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111352887B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112398715A (zh) * | 2020-10-22 | 2021-02-23 | 北京和利时系统工程有限公司 | 一种背板总线数据接收方法及装置 |
CN113204507A (zh) * | 2021-04-25 | 2021-08-03 | 山东英信计算机技术有限公司 | 一种通用输入输出数据传输方法、装置、设备及介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997036244A1 (en) * | 1996-03-28 | 1997-10-02 | Vmetro A/S | Data transfer assembly |
US6094700A (en) * | 1998-03-13 | 2000-07-25 | Compaq Computer Corporation | Serial bus system for sending multiple frames of unique data |
US6105079A (en) * | 1997-12-18 | 2000-08-15 | Advanced Micro Devices, Inc. | Apparatus and method in a network interface device for selectively supplying long bit information related to a data frame to a buffer memory and a read controller for initiation of data transfers |
US6401142B1 (en) * | 1999-05-24 | 2002-06-04 | Advanced Micro Devices, Inc. | Apparatus and method for selective bus transfer using master and slave modes |
US6553441B1 (en) * | 1999-11-30 | 2003-04-22 | 3Com Corporation | Method and apparatus for using serial bus for PC management |
CN102420877A (zh) * | 2011-12-01 | 2012-04-18 | 中国船舶重工集团公司第七○九研究所 | 一种多模式高速智能异步串口通信模块及实现方法 |
KR20130019735A (ko) * | 2011-08-17 | 2013-02-27 | 국방과학연구소 | 사용자 정의 직렬통신 프로토콜을 지원하는 고속 비동기 직렬통신 제어기 |
CN103038757A (zh) * | 2010-06-23 | 2013-04-10 | 罗伯特·博世有限公司 | 用于在可变位长度的情况下进行数据传输的方法和设备 |
CN103620573A (zh) * | 2011-04-06 | 2014-03-05 | 罗伯特·博世有限公司 | 用于匹配串行总线系统中的数据传输安全性的方法和设备 |
CN104021102A (zh) * | 2014-05-26 | 2014-09-03 | 北京佳讯飞鸿电气股份有限公司 | 基于状态机和片内总线的cpci串口板及其工作方法 |
CN109710550A (zh) * | 2018-12-14 | 2019-05-03 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于双缓存的帧长度不固定rs422数据通信系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6981082B2 (en) * | 2003-05-16 | 2005-12-27 | Agere Systems Inc. | On chip streaming multiple bus protocol with dedicated arbiter |
-
2019
- 2019-11-19 CN CN201911134417.6A patent/CN111352887B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997036244A1 (en) * | 1996-03-28 | 1997-10-02 | Vmetro A/S | Data transfer assembly |
US6105079A (en) * | 1997-12-18 | 2000-08-15 | Advanced Micro Devices, Inc. | Apparatus and method in a network interface device for selectively supplying long bit information related to a data frame to a buffer memory and a read controller for initiation of data transfers |
US6094700A (en) * | 1998-03-13 | 2000-07-25 | Compaq Computer Corporation | Serial bus system for sending multiple frames of unique data |
US6401142B1 (en) * | 1999-05-24 | 2002-06-04 | Advanced Micro Devices, Inc. | Apparatus and method for selective bus transfer using master and slave modes |
US6553441B1 (en) * | 1999-11-30 | 2003-04-22 | 3Com Corporation | Method and apparatus for using serial bus for PC management |
CN103038757A (zh) * | 2010-06-23 | 2013-04-10 | 罗伯特·博世有限公司 | 用于在可变位长度的情况下进行数据传输的方法和设备 |
CN103620573A (zh) * | 2011-04-06 | 2014-03-05 | 罗伯特·博世有限公司 | 用于匹配串行总线系统中的数据传输安全性的方法和设备 |
KR20130019735A (ko) * | 2011-08-17 | 2013-02-27 | 국방과학연구소 | 사용자 정의 직렬통신 프로토콜을 지원하는 고속 비동기 직렬통신 제어기 |
CN102420877A (zh) * | 2011-12-01 | 2012-04-18 | 中国船舶重工集团公司第七○九研究所 | 一种多模式高速智能异步串口通信模块及实现方法 |
CN104021102A (zh) * | 2014-05-26 | 2014-09-03 | 北京佳讯飞鸿电气股份有限公司 | 基于状态机和片内总线的cpci串口板及其工作方法 |
CN109710550A (zh) * | 2018-12-14 | 2019-05-03 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于双缓存的帧长度不固定rs422数据通信系统 |
Non-Patent Citations (1)
Title |
---|
On chip novel video streaming system for bi-network multicasting protocols;O. Elkeelany;Integration, the VLSI Journal;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111352887A (zh) | 2020-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101645502B1 (ko) | 다중―프로토콜 sereds phy 장치 | |
EP1825382B1 (en) | Low protocol, high speed serial transfer for intra-board or inter-board data communication | |
US7328399B2 (en) | Synchronous serial data communication bus | |
WO2016140765A2 (en) | Packet format and coding method for serial data transmission | |
US20200142854A1 (en) | Multilane heterogeneous serial bus | |
CN111352887B (zh) | 一种pci总线到可配置帧长度串行总线适配和传输方法 | |
JP2017528830A (ja) | 修正型uartインターフェースを有する可変フレーム長仮想gpio | |
CN112395230A (zh) | 一种基于可编程逻辑器件的uart接口扩展电路 | |
CN102752180A (zh) | Can总线网络节点的实现方法 | |
CN110058706B (zh) | 一种适应于长距离传输的ps2控制器及实现方法 | |
JP2002101084A (ja) | シリアルデータを同期させるための方法とシステム | |
CN101140551B (zh) | 一种实现数字信号处理器异步串行通讯的装置 | |
CN200944235Y (zh) | 数字信号处理器同步串口与异步串行设备的接口装置 | |
CN102158400B (zh) | 天基路由交换系统的通信接口及天基路由交换系统 | |
CN115904844A (zh) | 一种用于打印boot信息的uart仿真模型及其工作方法 | |
CN114338837A (zh) | 一种基于zynq的hdlc通讯转换控制器 | |
CN115706661A (zh) | 同步高速信令互连 | |
CN113094319A (zh) | 两主机间单向数据传输同步控制系统及方法 | |
CN111026691A (zh) | 基于apb总线的owi通讯设备 | |
CN1581126A (zh) | Iic总线控制系统及其实现方法 | |
CN204189162U (zh) | 一种dfti总线编解码电路 | |
CN117938574A (zh) | 一种用于星载设备间通信的SpaceWire总线节点控制器IP核 | |
CN117544248B (zh) | 一种隔离式串行接口通信装置及方法 | |
CN111475447A (zh) | 一种基于lvds的高速串行传输装置及其方法 | |
CN114697153B (zh) | 一种通过光纤实现a429总线超长距离传输的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |