CN101477504B - 数据传输系统及数据传输方法 - Google Patents
数据传输系统及数据传输方法 Download PDFInfo
- Publication number
- CN101477504B CN101477504B CN 200910005689 CN200910005689A CN101477504B CN 101477504 B CN101477504 B CN 101477504B CN 200910005689 CN200910005689 CN 200910005689 CN 200910005689 A CN200910005689 A CN 200910005689A CN 101477504 B CN101477504 B CN 101477504B
- Authority
- CN
- China
- Prior art keywords
- slave unit
- module
- main equipment
- address
- data
- 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
Images
Abstract
本发明提供了一种数据传输系统和数据传输方法,该系统包括主设备以及与主设备相连的至少一个从设备,从设备包括从设备处理模块,与从设备处理模块相连的从设备接口模块,以及与从设备接口模块相连的存储模块,所述从设备处理模块用于读写从设备存储模块,主设备通过控制线、数据地址复用线和读写线与从设备接口模块相连,其中从设备接口模块包括:地址模块,用于根据主设备通过控制线发出的控制信号,将主设备通过数据地址复用线发出的地址信号转换为从设备的存储模块对应的地址信号发送给从设备的存储模块。解决了数据传输系统中并行总线走线多、结构复杂的问题。
Description
技术领域
本发明涉及数据传输领域,特别涉及一种数据传输系统及数据传输方法。
背景技术
数据传输系统,包括主设备、从设备以及主设备和从设备相连的总线,例如计算机硬件系统就是一种数据传输系统。在计算机硬件系统中,各个部件之间传送信息的公共通路叫总线,例如总线是在CPU、内存、输入、输出等设备传递信息的公用通道。主机的各个部件通过总线相连接,外部设备通过相应的接口模块电路再与总线相连接,从而形成了计算机硬件系统。
应用于数据传输系统中的总线一般分为串行总线和并行总线两种。其中串行总线具有走线少,实现简单,占用资源少等优点,但串行总线中,二进制数据逐位通过一根数据线发送到目的器件,因此其传输速率慢,在很多情况下不能满足应用需求。
并行总线较串行总线传输速率有了极大的提高,并行总线通常包括地址总线AB(Address Bus)、数据总线DB(Data Bus),以及控制总线CB(ControlBus)。其中数据总线DB用于传送数据信息,数据总线是双向三态形式的总线,即可以把CPU的数据传送到存储器或I/O接口模块等其它部件,也可以将其它部件的数据传送到CPU。地址总线AB是专门用来传送地址的,由于地址只能从CPU传向外部存储器或I/O端口,所以地址总线总是单向三态的,这与数据总线不同。控制总线CB用来传送控制信号和时序信号,控制信号中,有的是微处理器送往存储器和I/O接口模块电路的,如读/写信号,片选信号、中断响应信号等;也有是其它部件反馈给CPU的,比如:中断申请信号、复位信号、总线请求信号、设备就绪信号等。因此,控制总线的传送方向由具体控制信号而定,一般是双向的。并行总线的数据线通常超过2根,因此其传输速率快,但并行总线的走线多,实现复杂。
由上述可知,在现有的数据传输系统中采用并行总线的方式传输数据, 则存在总线的走线多,结构复杂的问题。
发明内容
本发明的数据传输系统,解决了数据传输系统中并行总线走线多、结构复杂的问题。
为了解决上述问题,本发明提供了一种数据传输系统,包括主设备以及与主设备相连的至少一个从设备,从设备包括从设备处理模块,与从设备处理模块相连的从设备接口模块,以及与从设备接口模块相连的存储模块,所述从设备处理模块用于读写从设备存储模块,主设备通过控制线、数据地址复用线和读写线与从设备接口模块相连,其中从设备接口模块包括:地址模块,用于根据主设备通过控制线发出的表示主设备发出的是高8位地址或低8位地址的控制信号,将主设备通过数据地址复用线发出的地址信号转换为从设备的存储模块对应的地址信号发送给从设备的存储模块。
优选的,所述的地址模块包括:判断模块,用于根据控制信号判断主设备发出的地址信号是高位地址或低位地址;发送模块,如果地址信号是低位地址则将该地址信号发送给从设备的存储模块的低位地址;否则将地址信号发送给从设备的存储模块的高位地址。
优选的,所述存储模块对应的地址信号位宽为16bit,主设备发出的地址信号位宽为8bit。
优选的,所述发送模块还包括加地址模块,用于当主设备通过读写线发出读写信号时,且发送模块发送给存储模块的地址信号的低8bit不是最大值时,加地址模块将发送模块发出给存储模块的地址信号加1;当主设备通过读写线发出的读写信号时,且发送模块发送给存储模块的地址信号的低8bit是最大值时,加地址模块将发送给存储模块的地址信号的高8bit加1。
优选的,所述从设备接口模块包括从设备中断模块,用于主设备处理模块在对从设备的存储模块写数据之后向从设备处理模块发中断信号。
优选的,从设备还包括:
中断寄存器,用于存储主设备是否对从设备存储模块进行了数据更新的 信息;
状态寄存器,用于存储从设备处理模块是否对从设备存储模块进行了数据更新的信息。
优选的,主设备包括主设备处理模块和与主设备处理模块相连的主设备接口模块,其中主设备接口模块包括偶校验位产生模块,用于产生主设备接口模块发出数据的偶校验位信号;从设备接口模块还包括偶校验模块,用于根据主设备偶校验位产生模块发出的偶校验位信号,判断主设备发送给从设备的数据和从设备接收到的数据是否一致,当不一致时向主设备发出错误信号。
优选的,从设备接口模块还包括偶校验位产生模块,用于产生从设备接口模块发出数据的偶校验位信号;主设备接口模块还包括接口模块偶校验模块,用于根据从设备偶校验位产生模块发出的偶校验位信号,判断从设备发送给主设备的数据和主设备接收到的数据是否一致,当不一致时向从设备发出错误信号。
优选的,所述主设备接口模块和从设备接口模块为CPLD/FPGA结构。
相应的,本发明还提供了一种数据传输方法,用于主设备和从设备通过从设备的接口模块读写从设备的存储模块,包括步骤:
主设备或从设备发送地址信号和表示主设备发出的是高8位地址或低8位地址的控制信号;
从设备的接口模块根据地址信号和控制信号得到从设备的存储模块对应的地址信号;
所述存储模块根据接口模块发送的地址信号找到对应的地址;
主设备或从设备对所述存储模块对应的所述地址进行读或写。
优选的,所述根据地址信号和控制信号得到从设备的存储模块对应的地址信号包括步骤:
从设备根据控制信号判断主设备发出的地址信号是高位地址或低位地址;
如果地址信号是低位地址则将该地址信号发送给从设备的存储模块的低 位地址;否则将地址信号发送给从设备的存储模块的高位地址。
优选的,所述存储模块对应的地址信号位宽为16bit,主设备发出的地址信号位宽为8bit。
优选的,当主设备发出读写信号时,且从设备接口模块发送给存储模块的地址信号的低8bit不是最大值时,从设备接口模块将发送给存储模块的地址信号加1,当主设备发出的读写信号时,且从设备接口模块发送给存储模块的地址信号的低8bit是最大值时,从设备接口模块将发送给存储模块的地址信号的高8bit加1。
优选的,主设备对所述存储模块进行写数据步骤之后还包括:向从设备发中断信号。
优选的,如果主设备向从设备存储模块写入了新的数据,则主设备对所述存储模块进行写数据步骤之后还包括:向从设备接口模块发送数据更新的信息;如果从设备处理模块向从设备存储模块写入了新的数据,则从设备处理模块对所述存储模块进行写数据步骤之后还包括:向从设备接口模块发送数据更新的信息;
优选的,主设备在向从设备发送地址信号的同时还包括:向主设备发偶校验位信号;
从设备在从主设备接收到地址信号和偶校验位信号之后还包括:进行偶数校验。
优选的,主设备从从设备读数据的同时还包括,从设备向主设备发送偶校验位信号;
主设备在接收到数据信号和偶校验位信号之后还包括:进行偶数校验。
上述方案包括主设备以及与主设备相连的至少一个从设备,从设备包括从设备处理模块,与从设备处理模块相连的从设备接口模块,以及与从设备接口模块相连的存储模块,所述从设备处理模块用于读写从设备存储模块,主设备通过控制线、数据地址复用线和读写线与从设备接口模块相连,其中从设备接口模块包括:地址模块,用于根据主设备通过控制线发出的控制信 号,将主设备通过数据地址复用线发出的地址信号转换为从设备的存储模块对应的地址信号发送给从设备的存储模块。因此上述方案实现了主设备和从设备共享从设备的存储模块,并且将地址线和数据线通过控制线的控制进行了复用,例如16根地址线和8根数据线通过两根控制线在8根数据线上复用,从而使走线大大减少。
在一个优选方案中,所述发送模块还包括加地址模块,用于当主设备通过读写线发出读写信号时,且发送模块发送给存储模块的地址信号的低8bit不是最大值时,加地址模块将发送模块发出给存储模块的地址信号加1;当主设备通过读写线发出的读写信号时,且发送模块发送给存储模块的地址信号的低8bit是最大值时,加地址模块将发送给存储模块的地址信号的高8bit加1。因此在读写数据时,只要发首地址,地址能够自动加1,由此支持数据的连续访问,而且无需再设置地址,提高了访问速度。
在另一个优选方案中,所述从设备接口模块包括从设备中断模块,用于主设备处理模块在对从设备的存储模块写数据之后向从设备发中断信号。因此支持了中断机制,主设备对从设备的存储模块写操作后,会产生一个中断,从设备立即响应,从而提高了系统的快速性。
在另一个有选方案中,支持偶数校验机制,大大提高了系统可靠性。
在另一个有选方案中,基于CPLD/FPGA方式设计,实现简单。
附图说明
通过附图中所示的本发明的优选实施例的更具体说明,本发明的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本发明的主旨。
图1是本发明的数据传输系统一实施例的结构示意图;
图2是本发明的数据传输系统中主设备和从设备的内部结构示意图;
图3为本发明的数据传输系统一实施例的应用流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。
其次,本发明利用示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是实例,其在此不应限制本发明保护的范围。
图1为一个数据传输系统实施例的结构图。下面结合图1对本发明的数据传输系统进行说明。
如图1所示,该数据传输系统包括一个主设备10和至少一个与主设备10通过总线相连的从设备20,例如所述总线可以是ECI总线。当主设备10为控制器或扩展卡时,从设备20可以是I/O、通信、异构卡等;当主设备10为通信卡时,从设备20可以是I/O或异构卡。从设备20包括存储模块40、处理模块50和从设备接口模块30,处理模块50用来通过设备接口模块30对存储模块40进行读写,例如处理模块50可以是CPU,存储模块40可以是RAM,主设备10通过ECI总线的控制线CTRL[1:0]、数据地址复用线DB[7:0]和读写线WR和RD与从设备接口模块30相连。因此主设备10可以和从设备20共享存储模块40,主设备10可以通过ECI总线对从设备20的存储模块40进行读写访问。
其中从设备接口模块30包括:地址模块300,用于根据主设备10通过控制线CTRL[1:0]发出的控制信号,将主设备10通过数据地址复用线DB[7:0]发出的地址信号转换为从设备20的存储模块40对应的地址信号,并发送给从设备20的存储模块40。其中,不同从设备20的存储模块40对应不同的槽位号。
因为在本发明中的数据传输系统中,采用了地址和数据线复用的ECI总线,因此节省了的传输线的数目,使得结构简单,并且本发明中,还通过地 址模块对主设备发出的地址信号进行转换,发出从设备的存储模块对应的地址信号,这样就使得主设备发出的地址信号的位数可以小于存储模块的地址位数,因此进一步的节省了传输线的数目,简化了数据传输系统的结构。
图2是本发明的数据传输系统中主设备和从设备的内部结构示意图。下面结合图2对本实施例的数据传输系统进行详细说明。
在本实施例中,主设备10可以包括主设备处理模块110,例如CPU,和主设备接口模块120。主设备中,主设备CPU110和主设备接口模块120之间通过数据线DB[7:0]、片选线CS、读控制线RD、写控制线WR、功能控制线CTRL[1:0]等相连。从设备20包括从设备处理模块50,例如CPU、从设备接口模块30和存储模块40,例如RAM,从设备20中,从设备CPU50和从设备接口模块30之间通过数据线DB[7:0]、片选线CS、中断线IRQ、读控制线RD、写控制线WR、功能控制线CTRL[1:0]等相连。RAM40和从设备接口模块30之间通过地址线MA[15:0]、数据线MD[7:0]、读写控制线WR、片选线CS相连。
主设备10通过ECI总线与从设备接口模块30相连,ECI总线包括:控制线CTRL[1:0]、数据地址复用线DB[7:0]和读写线WR和RD,具体的ECI总线包括13条线,定义如下:2条控制线CTRL[1:0];8条数据地址复用线DB[7:0];2条读写线,其中读写线包括1条读控制线RD,1条写控制线WR;1条偶校验位CHECK。
其中,ECI总线可以用来实现主设备10读写从设备的RAM40,主设备10在读写从设备的RAM40的过程中主要包括下列操作:写槽位(发槽位号)、读槽位(回读该槽位的信息,例如是否被从设备处理模块占用)、写高位地址、写低位地址、读/写数据、释放槽位。另外,还可以包括发中断信号、读中断信号以及偶校验等。ECI总线中,除偶校验外,其余功能是通过两条控制线CTRL[1:0]传送的控制信号来区分的。例如具体的执行写槽位、读槽位、和释放槽位操作时,CTRL[1:0]为00;写高地址时CTRL[1:0]为01;写低地址时CTRL[1:0]为10;读写数据时CTRL[1:0]为11。
其中,控制线CTRL[1:0]与主设备CPU110的地址线相连,在一个示例中, CTRL[1:0]连到CPU110地址线的2、3两位上,作为内存映射的地址窗口。这一示例的优点是:可保证32位的CPU能够实现地址的4字节对齐。另外,槽位号、高8位地址、低8位地址、RAM数据、中断信号都与主设备CPU的8位数据线相连。由此,ECI总线是通过控制线来实现地址数据的复用控制线发出的控制信号可以表示主设备发出的是高8位地址或低8位地址,因此控制线起到内存映射的作用。
ECI总线的访问方式采用共享RAM的方式。各从设备上的共享RAM40即可以由主设备CPU110来访问,也可以由从设备自身的从设备CPU50访问,从设备CPU50访问RAM40也是通过从设备接口模块30实现。主设备10和从设备20不能同时访问共享RAM40,对主设备10来说,只有当从设备20结束访问共享RAM40空闲时,才能获得共享RAM40操作权,反之亦然。对于不用的数据,在RAM40中可以独立开辟出特别的输入缓冲区和输出缓冲区。初始化后,输入缓冲区由从设备写,主设备10读;输出缓冲区由主设备10写,从设备20读。例如可以在RAM40中开辟4个特定的区域:实时输出数据区(主设备写,从设备读)、实时输入数据区(从设备写,主设备读)、管理输出数据区(主设备写,从设备读)、管理输出数据区(从设备写,主设备读)。
下面结合图2对主设备接口模块和从设备接口模块进行详细说明。
其中主设备接口模块120中包括:偶校验模块130和偶校验位产生模块140。下面进行详细说明。
偶校验位产生模块140,在主设备接口模块120向从设备20发送数据时,偶校验位产生模块140会将该数据的各位进行异或,产生偶校验位,然后当主设备10的写控制信号输出时,同时向从设备20发送的该数据的偶校验位。偶校验模块130,在主设备接口模块120接收到从设备20发出的数据和从设备20发出的偶校验位之后,进行校验。具体为偶校验模块130根据主设备接口模块120接收到的数据和偶校验位可以判断主设备接口模块120接收到的数据是否正确,例如主设备接口模块120将接收到的数据进行异或看得到的结果和接收到的偶校验位是否一致,一致则正确,不一致则不正确,如果不正确向从设备20发出错误信号,从设备20会重复发送。除此之外,主设备 接口模块120还具有双向三态总线收发器的功能的传输模块121,可以将主设备CPU110发出的信号,例如读写信号、地址信息、数据信息传送给从设备20。
从设备的接口模块30中还包括以下模块:地址模块300、中断模块380、偶校验位产生模块305,偶校验模块310,另外还可以包括:比较申请模块340、仲裁模块330、申请返回模块320、RAM控制信号的产生模块370、中断寄存器、状态寄存器等。下面进行详细说明。
所述的地址模块300包括:判断模块360,用于根据控制信号判断主设备10发出的地址信号是高位地址或低位地址;发送模块350,如果地址信号是低位地址则将该地址信号发送给从设备的存储模块的低位地址;否则将地址信号发送给从设备的存储模块的高位地址。具体的,所述主设备发出的地址信号为8bit,RAM对应的地址信号为16bit,因此地址模块要根据主设备通过控制线发出的高位地址信息或者低位地址信息,将主设备发出的8bit地址信号发送给RAM的高8bit或低8bit,这样就利用8bit的地址数据复用线实现了向RAM发送16bit地址,因此节省了数据线。
所述发送模块350还包括加地址模块,用于当主设备10通过读写线发出读写信号时,且发送模块350发送给存储模块40的地址信号的低8bit不是最大值(FF)时,加地址模块将发送模块350发出给存储模块40的地址信号加1;当主设备10通过读写线发出读写信号时,且发送模块350发送给存储模块40的地址信号的低8bit是最大值(FF)时,加地址模块将发送给存储模块40的地址信号的高8bit加1,同时低8bit清0。具体的,通常主设备10先发出一个低8bit地址,再发出一个高8bit地址,组成一个16bit地址,这样在主设备10发出16bit一个首地址之后,发送模块350将该首地址发送给RAM40;接着在从设备20的发送模块350接到主设备10发出读写信号时,且发送模块350发送给存储模块40的地址信号的低8bit不是最大值(FF)时,加地址模块会将发送模块350发出给存储模块40的地址信号加1,然后再发送给存储模块40;以此类推,每次在从设备20的发送模块350接到主设备10发出读写信号时,加地址模块会将发送模块350发出给存储模块40的地址信号加1,然后再发送给存储模块40;直到发送模块350发送给存储模块40的地址 信号的低8bit是最大值(FF)时,在从设备20的发送模块350接到主设备10发出读写信号时,加地址模块将发送给存储模块40的地址信号的高8bit加1,同时低8bit清0,然后再发送给存储模块40,也就是地址信号的高8bit利用低8bit的进位信号作为高8bit进位的时钟信号。从而,在地址模块300中,主设备10发送的地址的优先级高于地址加1和地址进位的优先级,同时保证了先向RAM40发出地址,再把数据写入或读出RAM40的这个地址,然后地址再加1,从而保证访问共享RAM40的正确性。而且发出一个首地址就可以向RAM40的多个地址空间内读出或写入数据,因此支持了地址的连续访问,提高了访问速度。
中断模块380,用于在主设备10完成对RAM40的写操作之后向从设备20发出中断信号,从设备20接收到中断后立即响应,提高了系统效率。
另外也可以在从设备20接口模块中设置中断寄存器和状态寄存器等,然后将从设备20和主设备10发出的地址信号的某位定义为该寄存器的地址,例如最高位为1的地址为中断寄存器的地址,最高位为0的地址为RAM40的地址。这样主设备CPU110和从设备CPU50也可以对该寄存器进行读写,例如在一具体实现中,所述主设备对RAM进行读写后,如果对RAM40的数据进行了更新就将数据更新信号写入从设备接口模块30中的中断寄存器,从而从设备20只要去读中断寄存器就知道主设备10是否对RAM40进行了数据更新。而且在从设备20读取中断寄存器操作之后,中断寄存器会进行复位。同样在从设备接口30中,还包括状态寄存器,用于从设备CPU在对RAM进行读写后,如果对RAM40的数据进行了更新就将数据更新信号写入从设备接口模块30中的状态寄存器,这样主设备10可以通过读状态寄存器可以知道从设备20是否对RAM40数据进行了更新,并且主设备10读取状态寄存器操作之后状态寄存器会进行复位。在一具体实现中,中断寄存器和状态寄存器都是通过具有异步锁存功能的D触发器实现的。具体实施如下:通过把D触发器的输出和要写的数据的或门作为D触发器的异步输入,把写控制线、控制线、最高位地址线的都满足的信号作为D触发器的使能信号,可以实现写1有效、写0无效的功能;把0作为同步输入端口,读信号作为时钟信号,可以实现读清0的功能。另外在具体实现中还可以将状态寄存器的地址和中断 寄存器地址复用,但实际物理地址不同,根据读写操作不同来区分。状态寄存器由从设备接口模块写,主设备读。在ECI总线中,因中断寄存器和状态寄存器地址复用,所以可以连续对两个寄存器进行操作,而不需要重新设置地址。
从设备接口模块30还包括偶校验模块310,在从设备接口模块30接收到主设备10发出的数据和主设备10发出的偶校验位之后,进行校验。具体为偶校验模块310根据从设备接口模块30接收到的数据和偶校验位可以判断从设备接口模块30接收到的数据是否正确,如果不正确向主设备10发出错误信号,主设备10会重复发送。
从设备接口模块30还包括偶校验位产生模块305,在从设备接口模块30向主设备10发送数据时,偶校验位产生模块305会将该数据的各位进行异或,产生偶校验位,然后向主10设备发送的该数据的偶校验位。
从设备接口模块还包括比较申请模块340,其作用当主设备10想获取某个从设备的RAM40操作权时,主设备10向从设备20提出申请。首先主设备10先向从设备接口模块30发出槽位号,在片选线、写控制线到达,并且控制线满足条件的情况下,比较申请模块340判断主设备10发出的槽位号与自身槽位号是否一致,把比较结果输出到仲裁模块330。在上述数据传输系统中,主设备10可以访问各从设备20的共享RAM40,采取的方式是轮循访问;从设备20只能访问自身的共享RAM40,而自身槽位号对从设备的CPU50来说是不透明的,所以从设备20需要在启动或复位时扫描槽位来获得自身槽位号,此后从设备20每次只写自身槽位号。因此比较申请模块340也可以用在从设备想获得自身的共享RAM40操作权时提出申请。具体的,比较申请模块340包括一个比较器和一个锁存器,比较器比较主设备10或从设备20发出的槽位号和该从设备20的RAM400的槽位号是否一致,一致为0(提出申请),不同为1(释放申请);此时若CTRL[1:0]=00,使能锁存器,当写信号到达时,把比较结果输出到仲裁模块330。
所述的仲裁模块330的作用是主设备10和从设备20决定获取共享RAM40的操作权。详述如下:首先,当共享RAM40空闲时,谁提出申请就 立马获取申请;其次,当主设备10已获取申请,从设备20提出申请时,从设备20不能立马获取申请,但它维持申请权(期间不需要重新写槽位),直到主设备10释放申请权时,立马获取申请;再次,当从设20备已获取申请,主设备10提出申请时,主设备10不能立马获取申请,但它维持申请权(期间不重新写槽位),直到从设备20释放申请权时,立马获取申请。具体的,仲裁模块330主要是通过RS触发器来实现的。具体实施如下,当输入为和时,保持先前状态;当输入为01时,输出为0(从模块获取申请),当输入为10时,输出为1(主模块获取申请)。
所述的申请返回模块320的作用根据仲裁模块330的仲裁结果向主设备10或从设备CPU50返回申请状态。如果该从设备20的RAM40可用,返回槽位号,否则返回一个值(比如0x80),如果该从设备20的RAM40不可用(不存在、繁忙或故障)返回另一个值(比如0xff)。
所述的RAM控制信号产生模块370的作用是产生RAM40的读写控制线和片选控制线。具体的,RAM控制信号的产生模块370是通过4二选一选择器实现的。它产生RAM_CS信号和RAM_WR信号。选择信号是获取申请信号,当主设备获取申请时,RAM_CS为主设备10的读、写控制线的或门,RAM_WR为主设备10的写控制信号;当从设备20获取申请时,RAM_CS为从设备20的读、写控制线的或门,RAM_WR为从设备20的写控制信号。
针对现有技术,本发明中的总线利用增强型元件扩展接口模块总线(ECI总线),它通过CPLD/FPGA实现,它的主要目的是:不影响并行总线的传输速率,解决并行总线走线过多的瓶颈,同时具有快速响应性和高可靠性。与利用CPU实现总线设计相比,利用CPLD/FPGA实现总线设计能够提供更稳定的电平、更稳定的时序和更快的数据传输。现场控制系统对数据的稳定性和实时性要求很高,通过CPLD/FPGA设计,可以有效的控制各种时序关系,减少时延,从而有效地满足现场总线对数据的各种要求。并且通过CPLD/FPGA设计可以有效减轻CPU负荷。通过CPLD/FPGA的软件包,设计人员可以在很短的时间内完成电路的输入、编译、优化、仿真直到最后输出,缩短了产品的开发周期。同时,设计人员可以反复的擦除、编程来实现不同的功能,使得设计更改后不须重新制作硬件,既节省了时间又节约了成 本。
下面举例说明上述数据传输系统的工作方式,例如可以分为如下4种:
图3为本发明的数据传输系统一实施例的应用流程图,如图3所示,第一种当主设备要读从设备的RAM时步骤为:
S11:主设备是通过状态寄存器来判断管理数据和实时数据是否有更新的,由此先读取状态寄存器,如果RAM有数据更新则继续向下进行,并将状态寄存器复位,如果没有更新则结束。例如具体的,管理数据优先级要比实时数据优先级要高,由此得先判断管理数据是否有更新,若没更新,则判断实时数据是否有更新;若有更新,得把管理数据都读走后,再判断实时数据是否有更新。
S12:主设备向从设备接口模块发出槽位号和偶校验位。
S13:从设备的偶校验模块根据偶校验位和接收到的槽位号判断接收到的槽位号是否正确,并将结果反馈给主设备,如果正确则向下进行,如果不正确主设备重新发送。
S14:比较申请模块判断槽位号是否和自身的槽位号匹配,并将结果发送给仲裁模块,如果匹配,进入步骤15,否则进入步骤15’。
S15:仲裁模块判断RAM是否空闲,如果空闲,申请返回模块返回槽位号,否则返回其它数据。S15’:释放该槽位号然后结束申请。
S16:主设备判断接到的是否是发出的槽位号,是则进入步骤S17;如果接到不是返回的槽位号则等待。例如,若回读信息为0x80,表示从设备正在占用共享RAM的操作权,需要等待一段时间再读槽位,若等待时间结束,直接释放并扫描下一槽位;若回读信息为0xff,说明槽位号不在(没有该从设备),扫描下一槽位;若为其他信息,表示总线故障。
S17:主设备向从设备依次发送低8bit地址信息和高8bit地址信息,以及偶校验位,从设备进行偶校验,并将结果返回给主设备。
S18:主设备判断校验是否正确,如果不正确,则主设备重新发送,正确则向下进行。
S19:从设备接口模块将主设备发送的地址信息转换为RAM对应的地址信息,并将RAM该地址内的数据以及偶校验位返回给主设备。
S20:主设备进行偶校验,并将结果反馈给从设备。主设备判断校验是否正确,如果不正确,则主设备重新发送,正确则向下进行。其中,把数据读走后再次读取校验状态寄存器是为了判断所读数据有错误,若有错误则丢弃这次所读的所有数据。
S21:主设备读操作完成之后,发送不匹配的槽位号释放该槽位,同时中断模块产生中断信号给从设备。
从设备的自身槽位号对CPU来说是不透明的,为了知道自身槽位号,以便对共享RAM进行操作,从设备需要通过扫描槽位来获取自身槽位号。扫描槽位号只需要在初始化中完成,以后每次操作共享RAM,只需要直接写扫描得到的自身槽位号。另外,在完成一次读操作之后,还可以从设备接口模块发给RAM的地址信号加1之后继续读数据,以此类推,这样就可以在该步骤中读出相邻地址的一组数据。在读操作完成后,主设备发送不匹配的槽位号释放该槽位。
第二种当主设备要写从设备的RAM时步骤和第一种的不同主要在于:没有步骤11,步骤19为:从设备接口模块将主设备发送的地址信息转换为RAM对应的地址信息,然后主设备向从设备发送写入的数据和该数据的偶校验位,从设备接口模块进行偶校验,向主设备返回偶校验信号。S20:如果偶检验正确,从设备接口模块将主设备发送的数据写入RAM该地址内。S21:主设备写操作完成之后,如果进行了数据更新,则将数据更新信息写入中断寄存器,并且发送不匹配的槽位号释放该槽位,同时中断模块产生中断信号给从设备。
第三种当从设备CPU要读从设备的RAM时步骤为:
S31:从设备CPU读中断寄存器,判断管理数据和实时数据是否有更新的如果RAM有数据更新则继续向下进行,并且将中断寄存器复位。
S32:从设备CPU向从设备接口模块发出槽位号。
S33:比较申请模块判断槽位号是否和自身的槽位号匹配,并将结果发送给仲裁模块。
S34:如果匹配,仲裁模块判断RAM是否空闲;如果不匹配则仲裁模块释放该槽位号(将槽位号置为空闲状态),然后结束申请。
S35:如果可用,申请返回模块返回槽位号;如果不可用(不存在、繁忙或故障)则返回其它数据。
S36:从设备接到返回的槽位号,则进入步骤S37;如果接到不是返回的槽位号则等待。例如,若回读信息为0x80,表示从设备正在占用共享RAM的操作权,需要等待一段时间再读槽位,若等待时间结束,直接释放并结束;若为其他信息,表示总线故障。
S37:从设备向从设备发送地址信息。
S38:从设备读操作完成之后,发送不匹配的槽位号释放该槽位。
第四种当从设备CPU要写从设备的RAM时步骤和第三种的不同为:
不存在步骤31,并且步骤S37为:从设备向从设备发送地址信息和写入的数据信息。
S38:从设备写操作完成之后,发送不匹配的槽位号释放该槽位,如果进行了数据更新则将数据更新信息写入状态寄存器。
本发明还提供了一种数据传输方法,用于主设备和从设备通过从设备的接口模块读写从设备的存储模块,图所示为数据传输方法一实施例的流程图,如图所示,包括步骤:
主设备或从设备发送地址信号和控制信号;
从设备的接口模块根据地址信号和控制信号得到从设备的存储模块对应的地址信号;
所述存储模块根据接口模块发送的地址信号找到对应的地址;
主设备或从设备对所述存储模块对应的所述地址进行读或写。
优选的,所述根据地址信号和控制信号得到从设备的存储模块对应的地址信号包括步骤:
从设备根据控制信号判断主设备发出的地址信号是高位地址或低位地 址;
如果地址信号是低位地址则将该地址信号发送给从设备的存储模块的低位地址;否则将地址信号发送给从设备的存储模块的高位地址。
优选的,所述存储模块对应的地址信号位宽为16bit,主设备发出的地址信号位宽为8bit。
优选的,当主设备发出读写信号时,且从设备接口模块发送给存储模块的地址信号的低8bit不是最大值时,从设备接口模块将发送给存储模块的地址信号加1,当主设备发出的读写信号时,且从设备接口模块发送给存储模块的地址信号的低8bit是最大值时,从设备接口模块将发送给存储模块的地址信号的高8bit加1。
优选的,主设备对所述存储模块进行写数据步骤之后还包括:向从设备发中断信号。
优选的,如果主设备向从设备存储模块写入了新的数据,则主设备对所述存储模块进行写数据步骤之后还包括:向从设备接口模块发送数据更新的信息;如果从设备处理模块向从设备存储模块写入了新的数据,则从设备处理模块对所述存储模块进行写数据步骤之后还包括:向从设备接口模块发送数据更新的信息。
优选的,主设备在向从设备发送地址信号的同时还包括:向主设备发偶校验位信号;
从设备在从主设备接收到地址信号和偶校验位信号之后还包括:进行偶数校验。
优选的,主设备从从设备读数据的同时还包括,从设备向主设备发送偶校验位信号;
主设备在接收到数据信号和偶校验位信号之后还包括:进行偶数校验。
因为在数据传输系统中对数据传输方法进行了举例说明,因此上述数据传输方法的实施例不再赘述。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上 的限制。
虽然本发明已以较佳实施例披露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
Claims (15)
1.一种数据传输系统,包括主设备以及与主设备相连的至少一个从设备,其特征在于,从设备包括从设备处理模块,与从设备处理模块相连的从设备接口模块,以及与从设备接口模块相连的存储模块,所述从设备处理模块用于读写从设备存储模块,主设备通过控制线、数据地址复用线和读写线与从设备接口模块相连,其中从设备接口模块包括:
地址模块,用于根据主设备通过控制线发出的控制信号,将主设备通过数据地址复用线发出的地址信号转换为从设备的存储模块对应的地址信号发送给从设备的存储模块;所述的地址模块包括:
判断模块,用于根据控制信号判断主设备发出的地址信号是高位地址或低位地址;
发送模块,如果地址信号是低位地址则将该地址信号发送给从设备的存储模块的低位地址;否则将地址信号发送给从设备的存储模块的高位地址。
2.根据权利要求1所述的数据传输系统,其特征在于,所述存储模块对应的地址信号位宽为16bit,主设备发出的地址信号位宽为8bit。
3.根据权利要求2所述的数据传输系统,其特征在于,所述发送模块还包括加地址模块,用于当主设备通过读写线发出读写信号时,且发送模块发送给存储模块的地址信号的低8bit不是最大值时,加地址模块将发送模块发出给存储模块的地址信号加1;当主设备通过读写线发出的读写信号时,且发送模块发送给存储模块的地址信号的低8bit是最大值时,加地址模块将发送给存储模块的地址信号的高8bit加1。
4.根据权利要求3所述的数据传输系统,其特征在于,所述从设备接口模块包括从设备中断模块,用于主设备处理模块在对从设备的存储模块写数据之后向从设备处理模块发中断信号。
5.根据权利要求3所述的数据传输系统,其特征在于,从设备还包括:
中断寄存器,用于存储主设备是否对从设备存储模块进行了数据更新的信息;
状态寄存器,用于存储从设备处理模块是否对从设备存储模块进行了数据更新的信息。
6.根据权利要求5所述的数据传输系统,其特征在于,主设备包括主设备处理模块和与主设备处理模块相连的主设备接口模块,其中主设备接口模块包括偶校验位产生模块,用于产生主设备接口模块发出数据的偶校验位信号;
从设备接口模块还包括偶校验模块,用于根据主设备偶校验位产生模块发出的偶校验位信号,判断主设备发送给从设备的数据和从设备接收到的数据是否一致,当不一致时向主设备发出错误信号。
7.根据权利要求5所述的数据传输系统,其特征在于,从设备接口模块还包括偶校验位产生模块,用于产生从设备接口模块发出数据的偶校验位信号;
主设备接口模块还包括接口模块偶校验模块,用于根据从设备偶校验位产生模块发出的偶校验位信号,判断从设备发送给主设备的数据和主设备接收到的数据是否一致,当不一致时向从设备发出错误信号。
8.根据权利要求7所述的数据传输系统,其特征在于,所述主设备接口模块和从设备接口模块为CPLD/FPGA结构。
9.一种数据传输方法,用于主设备和从设备通过从设备的接口模块读写从设备的存储模块,其特征在于,包括步骤:
主设备或从设备发送地址信号和控制信号;
从设备的接口模块根据地址信号和控制信号得到从设备的存储模块对应的地址信号;
所述存储模块根据接口模块发送的地址信号找到对应的地址;
主设备或从设备对所述存储模块对应的所述地址进行读或写;所述根据地址信号和控制信号得到从设备的存储模块对应的地址信号包括步骤:
从设备根据控制信号判断主设备发出的地址信号是高位地址或低位地址;
如果地址信号是低位地址则将该地址信号发送给从设备的存储模块的低位地址;否则将地址信号发送给从设备的存储模块的高位地址。
10.根据权利要求9所述的数据传输方法,其特征在于,所述存储模块对应的地址信号位宽为16bit,主设备发出的地址信号位宽为8bit。
11.根据权利要求10所述的数据传输方法,其特征在于,当主设备发出读写信号时,且从设备接口模块发送给存储模块的地址信号的低8bit不是最大值时,从设备接口模块将发送给存储模块的地址信号加1,当主设备发出的读写信号时,且从设备接口模块发送给存储模块的地址信号的低8bit是最大值时,从设备接口模块将发送给存储模块的地址信号的高8bit加1。
12.根据权利要求11所述的数据传输方法,其特征在于,主设备对所述存储模块进行写数据步骤之后还包括:向从设备发中断信号。
13.根据权利要求11所述的数据传输方法,其特征在于,如果主设备向从设备存储模块写入了新的数据,则主设备对所述存储模块进行写数据步骤之后还包括:向从设备接口模块发送数据更新的信息;如果从设备处理模块向从设备存储模块写入了新的数据,则从设备处理模块对所述存储模块进行写数据步骤之后还包括:向从设备接口模块发送数据更新的信息;
14.根据权利要求11所述的数据传输方法,其特征在于,主设备在向从设备发送地址信号的同时还包括:向主设备发偶校验位信号;
从设备在从主设备接收到地址信号和偶校验位信号之后还包括:进行偶数校验。
15.根据权利要求11所述的数据传输方法,其特征在于,主设备从从设备读数据的同时还包括,从设备向主设备发送偶校验位信号;
主设备在接收到数据信号和偶校验位信号之后还包括:进行偶数校验。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910005689 CN101477504B (zh) | 2009-02-19 | 2009-02-19 | 数据传输系统及数据传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910005689 CN101477504B (zh) | 2009-02-19 | 2009-02-19 | 数据传输系统及数据传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101477504A CN101477504A (zh) | 2009-07-08 |
CN101477504B true CN101477504B (zh) | 2011-07-20 |
Family
ID=40838223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910005689 Active CN101477504B (zh) | 2009-02-19 | 2009-02-19 | 数据传输系统及数据传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101477504B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101763332B (zh) * | 2010-02-24 | 2012-07-18 | 浙江中控技术股份有限公司 | 一种并行通信总线接口 |
CN102737001B (zh) * | 2011-03-31 | 2016-08-31 | 重庆重邮信科通信技术有限公司 | 一种调整fpga总线延时的方法及装置 |
CN102354304B (zh) * | 2011-09-22 | 2013-10-16 | 青岛海信信芯科技有限公司 | 数据传输方法、数据传输装置和soc芯片 |
CN102801744B (zh) * | 2012-09-05 | 2015-11-25 | 上海斐讯数据通信技术有限公司 | 一种通信方法及系统 |
CN103885843A (zh) * | 2013-03-01 | 2014-06-25 | 上海富欣智能交通控制有限公司 | Dsp与cpld之间安全并行总线的处理方法 |
CN104253667A (zh) * | 2013-06-28 | 2014-12-31 | 联芯科技有限公司 | 一种应用于手机平台的串行同步总线校验反馈系统和方法 |
CN103714036B (zh) * | 2013-12-20 | 2016-07-20 | 武汉精立电子技术有限公司 | 支持批量读取校验的i2c多路复用器及控制方法 |
CN104991875A (zh) * | 2015-07-02 | 2015-10-21 | 成都智明达数字设备有限公司 | 一种地址总线的检测方法 |
CN106610880B (zh) * | 2015-10-21 | 2019-07-19 | 上海华虹集成电路有限责任公司 | 处理器芯片仿真器 |
CN106407385B (zh) * | 2016-09-14 | 2020-01-21 | 北京百度网讯科技有限公司 | 数据管理方法、设备和系统 |
CN107255961B (zh) * | 2017-06-14 | 2019-05-03 | 电子科技大学 | 一种高效数据交互的无线智能示波器 |
CN108170470A (zh) * | 2017-12-28 | 2018-06-15 | 杭州中天微系统有限公司 | Soc系统按位写装置 |
CN112286852B (zh) * | 2019-07-25 | 2022-08-12 | 杭州海康汽车技术有限公司 | 基于iic总线的数据通信方法和数据通信装置 |
CN111061658A (zh) * | 2019-11-05 | 2020-04-24 | 深圳震有科技股份有限公司 | 通过cpld实现mdio从机的方法、智能终端及储存介质 |
CN111008166A (zh) * | 2019-11-15 | 2020-04-14 | 深圳震有科技股份有限公司 | 一种通信方法、通信系统及存储介质 |
CN111090600B (zh) * | 2019-12-09 | 2021-07-16 | 苏州浪潮智能科技有限公司 | 一种总线共享的方法 |
CN111221716B (zh) * | 2020-01-02 | 2023-02-07 | 上海航天测控通信研究所 | 一种基于fpga可配置数据仿真合成方法 |
CN113204763A (zh) * | 2021-04-22 | 2021-08-03 | 山东英信计算机技术有限公司 | 一种cpld接收数据的方法、系统、存储介质及设备 |
-
2009
- 2009-02-19 CN CN 200910005689 patent/CN101477504B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101477504A (zh) | 2009-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101477504B (zh) | 数据传输系统及数据传输方法 | |
CN100568211C (zh) | 用可编程器件实现访问多个i2c从器件的方法及装置 | |
CN101477512B (zh) | 一种处理器系统及其访存方法 | |
CN102193888B (zh) | 数据传输系统与可编程串行外围设备接口控制器 | |
CN102929836A (zh) | 一种航天专用asic芯片系统 | |
CN1570907B (zh) | 多处理器系统 | |
CN101414291A (zh) | 一种主从分布式系统和应用于该系统的并行通信方法 | |
CN101436171B (zh) | 模块化通信控制系统 | |
CN104156333A (zh) | 一种基于fpga的uart多接口扩展系统和方法 | |
CN110597745A (zh) | 一种交换机系统多主多从i2c通信实现方法和装置 | |
CN101169770A (zh) | Cpu接口转换系统 | |
CN1819554B (zh) | 数据处理系统及其数据接口连接方法 | |
CN110968352B (zh) | 一种pcie设备的复位系统及服务器系统 | |
CN101452430A (zh) | 多处理器之间的通信方法与包括多处理器的通信装置 | |
CN102929329A (zh) | 片上系统间互连网络的动态重构方法 | |
CN202838317U (zh) | 总线装置及背板系统 | |
CN101655825B (zh) | 一种使用fpga实现lpc-usb双向通信的装置及lpc-usb和usb-lpc数据转换方法 | |
CN204390227U (zh) | 计算设备扩展装置、以及可扩展的计算系统 | |
CN206726210U (zh) | 近端一对多串行总线的拓展接口电路 | |
CN104598404A (zh) | 计算设备扩展方法和装置、以及可扩展的计算系统 | |
CN116401065A (zh) | 一种服务器、异构设备及其数据处理装置 | |
CN113626363A (zh) | 一种面向微纳星载计算机的多总线架构装置及其控制方法 | |
CN107918593A (zh) | 近端一对多串行总线的拓展接口电路以及通信方法 | |
US6378019B1 (en) | Method and system for interfacing a plurality of peripheral devices in a slave group interface device to a bus and a slave group interface device | |
CN111488300A (zh) | 一种基于asi总线的扩展系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |