一种数据传输装置及方法与流程

文档序号:22320712发布日期:2020-09-23 01:54阅读:69来源:国知局
一种数据传输装置及方法与流程

本申请属于控制数据传输技术领域,尤其涉及一种数据传输装置及方法。



背景技术:

目前,传统的技术当中,如果设备的控制器中需要引出的输入输出线达到一定的数量,将会需要大量空间用于走线,对一些布线空间有限或者需要尽量减少空间以及避免空间浪费的应用,如何有效减少布线空间成为亟待解决的技术问题,能够在保障应用功能的同时减小布线空降将会产生可观显著的效果。

针对需要引出多输入输出信号线并尽可能减小布线空间这一技术问题,通常的解决方法是采用总线通信形式,比如串口通信总线、spi通信总线、iic通信总线等,直接通过协议接收命令,实现与其他设备交换数据。然而总线通信形式不利于与其他类型的控制器对接,并且对于多数控制端,考虑到易用性、通用性,通常不会设计复杂的通信协议,而是采用输入输出端口形式的控制设备;另外,多数控制器总线外设数量有限,对总线类型有要求,如果兼容多种总线,则需要引出多组总线通信线,这违背了减少布线数量来减少布线空间的初衷。

因此,传统的技术方案中存在不能在减少布线数量以节省布线空间的情况下拓展多的输入输出端口的问题。



技术实现要素:

本申请的目的在于提供一种数据传输装置及方法,旨在解决传统的技术方案中存在不能在减少布线数量以节省布线空间的情况下拓展多的输入输出端口的问题。

本申请实施例的第一方面提供了一种数据传输装置,所述数据传输装置包括:

控制模块,配置为输出第一总线通信信号;

输入输出拓展模块,与所述控制模块连接,配置为根据所述第一总线通信信号生成n个子第一数字信号输出至外部设备,并根据来自所述外部设备的数字信号生成第二总线通信信号输出至所述控制模块,且根据所述数字信号生成中断信号;其中,n为大于等于1的正整数;

所述控制模块还用于在接收到所述中断信号时重新接收所述第二总线通信信号。

在其中一个实施例中,所述输入输出拓展模块包括k个输入输出拓展单元;

k个所述输入输出拓展单元共接于所述控制模块;且k个所述输入输出拓展单元通过中断信号线与所述控制模块的逻辑端口连接;

k个所述输入输出拓展单元,配置为根据所述第一总线通信信号生成k组所述子第一数字信号,每组所述子第一数字信号包括m个所述子第一数字信号;

其中,k、m均为大于或等于1的正整数,且k*m=n。

在其中一个实施例中,k个所述输入输出拓展单元还配置为根据所述外部设备输入的的k*m个子第二数字信号生成k个子第二总线通信信号,且根据所述子第二数字信号生成子中断信号;

其中,所述数字信号包括k*m个所述子第二数字信号;所述第二总线通信信号包括k个所述子第二总线通信信号;所述中断信号包括k个所述子中断信号。

在其中一个实施例中,所述控制模块包括k个逻辑端口,k个所述输入输出拓展单元分别与k个所述逻辑端口一一对应连接。

在其中一个实施例中,每个所述输入输出拓展单元包括:

地址预设子单元,与所述控制模块连接,配置为设置所述输入输出拓展单元的m个输入输出端口的地址;

信号转换子单元,与所述控制模块连接,配置为根据所述第一总线通信信号生成m个所述子第一数字信号,并根据m个子第二数字信号生成子第二总线通信信号;

反馈子单元,与所述控制模块连接,配置为根据所述子第二数字信号生成所述子中断信号;所述数字信号包括多个子第二数字信号;所述子中断信号携带发生信号跳变的输入输出端口的地址信息。

本申请实施例的第二方面提供了一种数据传输方法,所述数据传输方法包括:

采用控制模块输出第一总线通信信号;

通过输入输出拓展模块根据所述第一总线通信信号生成n个子第一数字信号输出至外部设备;其中,n为大于等于1的正整数。

在其中一个实施例中,所述数据传输方法还包括:

根据外部设备提供的数字信号生成第二总线通信信号;

若所述数字信号发生信号跳变,则生成中断信号输出至所述控制模块以触发所述控制模块重新接收所述第二总线通信信号。

在其中一个实施例中,所述采用控制模块输出第一总线通信信号之前还包括:

设置每个输入输出拓展单元的m个输入输出端口的地址;其中,所述输入输出拓展模块包括k个所述输入输出拓展单元;

建立k个所述输入输出拓展单元的输入输出端口的地址数据库;其中,k、m均为大于或等于1的正整数,且k*m=n。

在其中一个实施例中,所述采用控制模块输出第一总线通信信号具体为:

所述控制模块根据所述地址数据库输出所述第一总线通信信号。

本申请实施例的第三方面提供了一种数据传输装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一项所述的数据传输方法的步骤。

本申请实施例的数据传输装置及方法,通过控制模块输出第一总线通信信号;输入输出拓展模块根据第一总线通信信号生成n个子第一数字信号输出至外部设备,并根据来自外部设备的数字信号生成第二总线通信信号输出至控制模块,且根据数字信号生成中断信号;其中,n为大于等于1的正整数;控制模块还用于在接收到中断信号时重新接收第二总线通信信号;仅通过两根电源线和两根总线通信线以及一个根中断信号线便可实现n个输入输出端口的拓展,以与外部设备进行双向数据交互,在保障多信号量输入输出的同时,有效的减少了控制器的引出线数量,节省了布线空间,节约了线材成本。

附图说明

图1为本申请一实施例提供的一种数据传输装置的一种结构示意图;

图2为本申请一实施例提供的一种数据传输装置的另一种结构示意图;

图3为本申请一实施例提供的一种数据传输装置的另一种结构示意图;

图4为本申请一实施例提供的一种数据传输装置中输入输出拓展单元的一种结构示意图;

图5为本申请一实施例提供的一种数据传输方法的一种具体流程图;

图6为本申请一实施例提供的一种数据传输方法的另一种具体流程图;

图7为本申请一实施例提供的一种数据传输方法的另一种具体流程图;

图8是本申请一实施例提供的一种数据传输装置的另一种示意图。

具体实施方式

为了使本申请所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

需要说明的是,当元件被称为“固定于”或“设置于”另一个元件,它可以直接在另一个元件上或者间接在该另一个元件上。当一个元件被称为是“连接于”另一个元件,它可以是直接连接到另一个元件或间接连接至该另一个元件上。

需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

图1示出了本申请第一实施例提供的一种数据传输装置的结构示意图,为了便于说明,仅示出了与本实施例相关的部分,详述如下:

本申请实施例的第一方面提供了一种数据传输装置,包括:控制模块10和输入输出拓展模块100。

控制模块10,配置为输出第一总线通信信号;输入输出拓展模块100,与控制模块10连接,配置为根据第一总线通信信号生成n个子第一数字信号输出至外部设备200,并根据来自外部设备200的数字信号生成第二总线通信信号输出至控制模块10,且根据数字信号生成中断信号;其中,n为大于等于1的正整数;控制模块10还用于在接收到中断信号时重新接收第二总线通信信号。

具体实施中,为减小数据传输装置的体积,采用控制模块10内集成的电源通过电源引出线,即电源线和地线,对输入输出拓展模块100进行供电。控制模块10通过总线通讯方式,例如i2c总线通讯,与输入输出拓展模块100互相通信。对外发送数据时,控制模块10通过i2c总线(包括数据线sda和时钟线scl)输出第一总线通信信号至输入输出拓展模块100,输入输出拓展模块100对第一总线通信信号进行通信协议转换,以生成字节形式的n个子第一数字信号。n个子第一数字信号经输入输出拓展模块100的n个输入输出端口输出至外部设备200;在接收外部数据时,控制模块10接收从n个输入输出端口输入的数据,例如外部设备200发送的数字信号经n个输入输出端口输入至输入输出拓展模块100。可选的,从n个输入输出端口输入至输入输出拓展模块100的数字信号包括n个子第二数字信号。输入输出拓展模块100对数字信号进行通信协议转换,转换为第二总线通信信号并输出至控制模块10。在外部设备200发送的数字信号发生变化时,输入输出拓展模块100根据数字信号生成中断信号,并通过中断信号线将中断信号反馈至控制模块10,使得控制模块10根据中断信号重新接收来自输入输出拓展模块100的第二总线通信信号。具体地,输入输出拓展模块100实时接收来自外部设备200的数字信号,并对发生信号跳变的数字信号进行转换以生成新的第二总线通信信号,此时控制模块10根据中断信号重新接收该第二总线通信信号,将重新接收的第二总线通信信号中携带的数据替换原第二总线通信信号中携带的数据。

可选的,外部设备200发送的数字信号发生变化,指的是数字信号发生信号跳变,例如出现上升沿或者出现下降沿,或者出现高电平(例如3.3v)向低电平(例如0v)跳变或者低电平向高电平跳变等,输入输出拓展模块100根据数据信号发生跳变生成中断信号,并通过中断信号线将中断信号输出至控制模块10,使得控制模块10重新接收第二总线通信信号。进一步的,还可根据在预设的时间间隔t1内,数字信号的信号变化量超出预设信号变化量阈值时,则判断产生数字信号跳变,触发输入输出拓展模块100生成有效的中断信号,并通过中断信号线输出至控制模块10,使得不经过i2c总线,控制模块10便可知道外部设备200发送的数据是否发生变化,并根据中断信号获知外部设备200发送的数据发生了变化,从而重新接收来自输入输出拓展模块100的第二总线通信信号,也即重新接收来自外部设置200的数字信号,实现接收数据的更新。

相较于传统的控制器需要与外部设备进行通信时,需引出多根输入输出数据线进行数据交互,本申请实施例仅通过两根电源线和两根总线通信线以及一根中断信号线便可实现n个输入输出端口的拓展,以与外部设备进行双向数据交互,在保障多信号量输入输出的同时,有效的减少了控制器的引出线数量,节省了布线空间。

请参阅图2,在其中一个实施例中,输入输出拓展模块100包括k个输入输出拓展单元101;k个输入输出拓展单元101共接于控制模块10,且k个输入输出拓展单元101通过中断信号线与控制模块10的逻辑端口连接。

k个输入输出拓展单元10,配置为根据第一总线通信信号生成k组子第一数字信号,每组子第一数字信号包括m个子第一数字信号;其中,k、m均为大于或等于1的正整数,且k*m=n。

具体实施中,控制模块10与k个输入输出拓展单元101采用串转并的方式连接,k个输入输出拓展单元101之间为并联连接。k个输入输出拓展单元101通过i2c总线接收控制模块10输出的第一总线通信信号。k个输入输出拓展单元101通过中断信号线与控制模块10的逻辑端口连接,例如k个输入输出拓展单元101通过一根中断信号线与控制模块10的一个逻辑端口连接。k个输入输出拓展单元101通过控制模块10的2根电源引出线得电工作。每个输入输出拓展单元101包括m个输入输出端口,通过m个输入输出端口与外部设备200进行相互通讯。

在其中一个实施例中,k个输入输出拓展单元101还配置为根据外部设备200输入的的k*m个子第二数字信号生成k个子第二总线通信信号,且根据子第二数字信号生成子中断信号;其中,数字信号包括k*m个子第二数字信号;第二总线通信信号包括k个子第二总线通信信号;中断信号包括k个子中断信号。

具体实施中,k个输入输出拓展单元101通过k组m个(总共n个)输入输出端口接收来自外部设备200的数字信号。当其中一个或多个(不超过n个)输入输出端口对应输入的子第二数字信号发生信号跳变,则该输入输出端口对应的输入输出拓展单元101生成子中断信号,一个或多个(不超过k个)子中断信号通过一根中断信号线输出至控制模块10,使得控制模块10重新接收输入输出拓展模块100输出的第二总线通信信号,将发生信号跳变后的第二总线通信信号替换发生信号跳变前的第二总线通信信号,直至再次收到中断信号再重新接收第二总线通信信号。

具体实施中,输入输出拓展单元101可采用输入输出拓展芯片,输入输出拓展芯片的总线接口通过i2c总线与控制模块10连接,通过i2c总线接收来自控制模块10输出的第一总线通信信号,以及将第二总线通信信号输出至控制模块10;输入输出拓展芯片的电源端口和电源地端口分别通过电源线和地线与控制模块10连接,由控制模块10对输入输出拓展单元101供电;输入输出拓展芯片的中断端口与通过一根中断信号线与控制模块10的一个逻辑端口连接,通过中断信号线输出子中断信号至控制模块10;输入输出拓展芯片的m个输入输出端口与外部设备200连接,以输出m个子第一数字信号至外部设备200或输入m个子第二数字信号至输入输出拓展单元101。输入输出拓展芯片的部分管脚用以配置每个输入输出拓展单元101的m个输入输出拓展端口的地址。

其中,每个输入输出拓展单元101的m个输入输出端口的m值大小与所采用的输入输出拓展芯片有关,例如当输入输出拓展芯片采用pcf8574ts芯片,pcf8574ts芯片包含8个准双向口和两个i2c总线接口以及一个中断端口,则m值为8,即输入输出拓展单元101具有8个准双向输入输出端口,pcf8574ts芯片的三个地址管脚,能够用于定义和配置8个输入输出端口的地址,通过三个硬件地址管脚使得控制模块10可寻址8个器件,因此输入输出模块100至多可包括8个输入输出单元101,也即控制模块10后可拓展连接8个输入输出拓展pcf8574ts芯片,从而拓展64个输入输出端口,此时k值为8,n值为64,每个pcf8574ts芯片的i2c总线接口通过2根i2c总线与控制模块10连接,每个pcf8574ts芯片的中断端口输出子中断信号,并经一根中断信号线输出至控制模块10。当输入输出拓展芯片采用具有16个准双向口、两个i2c总线接口以及一个中断端口的输入输出拓展芯片时,m值为16,即输入输出拓展单元101具有16个输入输出端口,当输入输出拓展芯片具有四个地址管脚时,能够定义和配置16个输入输出端口的地址,通过四个硬件地址管脚使得控制模块10可寻址16个器件,因此输入输出模块100至多可包括16个输入输出单元101,使得控制模块10可通过16个输入输出单元101拓展256个输入输出端口,此时k值为16,n值为256。拓展连接的8个输入输出拓展单元101或者拓展连接的16个输入输出拓展单元101均通过1根中断信号线与控制模块10的一个逻辑接口(例如中断逻辑端口)连接。任何一个输入输出端口接收的数据发生信号跳变,均可通过该输入输出端口对应的输入输出拓展芯片的中断端口输出子中断信号,中断信号包括一个或多个(不超过k个)子中断信号,通过中断信号线将子中断信号输出至控制模块10。控制模块10根据中断信号从i2c总线重新接收第二总线通信信号,以实现重新接收外部设备200输出的数字信号,进而重新获取外部设备200发送的数据。

本申请实施例拓展64个数据输入输出端口仅需要2根电源引出线(电源线和地线)、2根i2c总线、1根中断信号线总共5根线;拓展256个数据输入输出端口只需要2根电源引出线、2根i2c总线、1根中断信号线总共5根线,相较于传统的控制器需要引出64根输入输出信号线与2根电源引出线,或者需要引出256根输入输出信号线和2根电源引出线,本申请实施例能够实现保障多输入输出端口以与外部设备进行通讯的同时,有效的减少了控制模块的引出线数量,降低了控制模块引出线之间的电磁干扰,节省了布线空间,节约了线材成本。

请参阅图3,在其中一个实施例中,控制模块包括k个逻辑端口,k个输入输出拓展单元101分别与k个逻辑端口一一对应连接。

具体实施中,输入输出拓展模块100包括k个输入输出拓展单元101;k个输入输出拓展单元101共接于控制模块10,且控制模块10与k个输入输出拓展单元101采用串转并的方式连接。k个输入输出拓展单元101之间为并联连接。每个输入输出拓展单元101各通过一根中断信号线与控制模块10的一个逻辑端口连接,每个子中断信号各通过一个中断信号线输出至控制模块10。

当输入输出拓展单元101采用包含8位准双向口的输入输出拓展芯片时,输入输出拓展模块100至多可包括8个输入输出拓展单元101,并联的8个输入输出拓展单元101分别通过8根中断信号线与控制模块10的8个逻辑端口连接;例如仅需要32个输入输出端口以传输数据时,输入输出拓展模块100包括4个输入输出拓展单元101,也即采用4个8位准双向口的输入输出拓展芯片,并联的4个输入输出拓展单元101分别通过4根中断信号线与控制模块10的4个逻辑端口连接。当输入输出拓展单元101采用包含16位准双向口的输入输出拓展芯片时,输入输出拓展模块100至多可包括16个输入输出拓展单元101,并联的16个输入输出拓展单元101分别通过16根中断信号线与控制模块10的16个逻辑端口连接;例如仅需要32个输入输出端口以传输数据时,输入输出拓展模块100包括2个输入输出拓展单元101,也即采用2个16位准双向口的输入输出拓展芯片,并联的2个输入输出拓展单元101分别通过2根中断信号线与控制模块10的2个逻辑端口连接。输入输出拓展模块100包含的输入输出拓展单元101的数量具体可根据所需输入输出端口的数量以及所采用的输入输出拓展芯片类型确定。任何一个输入输出端口接收的数据发生信号跳变,均可通过与输入输出端口对应的输入输出拓展芯片的中断端口输出子中断信号,经对应的中断信号线直接输出至控制模块10,其中,中断信号包括多个子中断信号。控制模块10能够快速判断中断信号来自哪个输入输出拓展单元101,从而及时获取输入输出端口的状态,并根据中断信号重新接收第二总线通信信号,以重新接收获取外部设备200输出的数字信号,提高了控制模块10获取和更新数据的效率。

在本实施例中,控制模块10拓展64个数据输入输出端口仅需要2根电源引出线、2根i2c总线、8根中断信号线共计12根引出线;控制模块10拓展256个数据输入输出端口只需要2根电源引出线、2根i2c总线、16根中断信号线共计20根引出线,相较于传统的方案中对应需要64根和2根电源引出线,或者需要256根输入输出信号线和2根电源引出线,本申请实施例能够实现保障多输入输出端口以与外部设备进行通讯,且减少布线数量,节约布线空间,降低了成本。

请参阅图4,在其中一个实施例中,每个输入输出拓展单元101包括:地址预设单元1011、信号转换单元1012以及反馈单元1013。

地址预设子单元1011,与控制模块10连接,配置为设置输入输出拓展单元101的m个输入输出端口的地址;信号转换子单元1012,与控制模块10连接,配置为根据第一总线通信信号生成m个子第一数字信号,并根据m个子第二数字信号生成子第二总线通信信号;反馈子单元1013,与控制模块10连接,配置为根据子第二数字信号生成子中断信号。

具体实施中,通过地址预设单元1011设置输入输出拓展单元101的m个输入输出端口的地址,并反馈至控制模块10,控制模块10建立输入输出拓展单元101的输入输出端口的地址数据库。当控制模块10通过i2c总线对外发送数据时,每帧数据包括数据位和每个输入输出端口的地址位,每个输入输出拓展单元101根据自身的地址位信息从第一总线通信信号中读取对应的数据。k个输入输出拓展单元101可与一个或多个外部设备200连接。每个输入输出拓展单元101从m个输入输出接口接收m个子第二数字信号,并根据m个子第二数字信号生成子第二总线通信信号。当其中一个或多个(不超过n个)输入输出端口接收的子第二数字信号发生信号跳变时,则生成子中断信号。其中,子中断信号携带发生信号跳变的子第二数字信号对应的输入输出端口的地址位信息。子中断信号通过中断信号线反馈至控制模块10,使得控制模块10重新接收第二总线通信信号,第二总线通信信号包括k个子第二总线通信信号。将新接收的第二总线通信信号覆盖掉原第二总线通信信号,更新原第二总线通信信号中相应地址位的数据为新接收的第二总线通信信号中对应地址位的数据,实现数据的接收和更新。

进一步的,对于每个输入输出拓展单元101各通过一个中断信号线与控制模块10的逻辑端口一一对应连接的情况,当其中一个或多个输入输出端口接收的子第二数字信号发生信号跳变时,则生成一个或多个子中断信号,并分别通过对应的中断信号线反馈至控制模块10,使得控制模块10根据中断信号重新接收第二总线通信信号,更新原第二总线通信信号中相应地址位的数据为新接收的第二总线通信信号中对应地址位的数据,其他未发生信号跳变的输入输出端口对应地址位的数据保持不变,实现控制模块10与外部设备200之间的数据交互。

图5示出了本申请第一实施例提供的一种数据传输方法的一种流程示意图,为了便于说明,仅示出了与本实施例相关的部分,详述如下:

一种数据传输方法,数据传输方法包括:步骤s101和步骤s102。

步骤s101,采用控制模块10输出第一总线通信信号。

具体实施中,通过控制模块10的i2c总线端口,例如总线数据端口sda和总线时钟端口scl,经两根i2c总线(数据线sda和时钟线scl)输出第一总线通信信号至输入输出拓展模块100。

步骤s102,通过输入输出拓展模块100根据第一总线通信信号生成n个子第一数字信号输出至外部设备;其中,n为大于等于1的正整数。

具体实施中,通过输入输出拓展模块100接收第一总线通信信号,并进行通信协议转换,将第一总线通信信号转换为字节形式的n个子第一数字信号发送至外部设备200,以对外部设备200发送数据或进行控制等。

请参阅图6,数据传输方法还包括:步骤s103和步骤s104。

步骤s103,根据外部设备200提供的数字信号生成第二总线通信信号。

具体实施中,外部设备200提供的数字信号经输入输出端口输入至输入输出拓展模块100。通过输入输出拓展模块100将外部设备200提供的数字信号进行通信协议转换,对应生成第二总线通信信号,并通过i2c总线输出至控制模块10。

步骤s104,若数字信号发生信号跳变,则生成中断信号输出至控制模块10以触发控制模块10重新接收第二总线通信信号。

具体实施中,数字信号包括n个子第二数字信号,并分别通过n个输入输出端口传输至输入输出拓展模块100。可选的,输入输出端口可输入有效的子第二数字信号,也可输入无效的子第二数字信号,当输入输出端口输入有效的子第二数字信号时,可用值为1表示,当输入输出端口输入无效的第二子数据信号时,可用值为0表示。当输入输出端口未与外部设备200连接,或者未输入数据时,可理解为输入输出端口输入无效的子第二数字信号。

在输入输出拓展模块100通过拓展的输入输出端口接收外部设备200发送的数字信号过程中,实时检测并判断每个输入输出端口输入的子第二数字信号是否发生信号跳变,若输入输出端口的子第二数字信号发生信号跳变,例如出现上升沿或者下降沿,或者出现高电平跳变为低电平或者低电平跳变为高电平,或者出现预设时间间隔内信号变化量超过预设信号变化量阈值,则判断产出信号跳变,触发输入输出拓展模块100生成并输出有效的中断信号,经中断信号线传输至控制模块10,使得控制模块10通过i2c总线重新接收输入输出拓展模块100输出的第二总线通信信号,第二总线通信信号包括来自k个输入输出拓展单元101的子第二总线通信信号,携带从n个输入输出端口输入的数据。控制模块10重新接收第二总线通信信号之后,将原第二总线通信信号中的数据更新为新接收的第二总线通信信号中的数据,实现数据接收与更新来自外部设备200的数据。

进一步的,输入输出拓展模块100包括k个输入输出拓展单元101。每个输入输出拓展单元101均与控制模块10连接,且k个输入输出拓展单元101之间为并联连接。k个输入输出拓展单元101通过两根i2c总线接收控制模块10输出的第一总线通信信号,以及输出第二总线通信信号至控制模块10;k个输入输出拓展单元101通过1根中断信号线将子中断信号输出至控制模块10,或k个输入输出单元101通过k根中断信号线与控制模块10连接,将子中断信号经对应的中断信号线输出至控制模块10;k个输入输出拓展单元101均通过2根电源引出线(即电源线和地线)从控制模块10得电进行工作。

每个输入输出拓展单元101包括m个输入输出端口,依此可以拓展出k组m个(共计n个)输入输出端口,也即k*m等于n个输入输出端口。输入输出拓展模块100从i2c总线获取第一总线通信信号,并根据第一总线通信信号生成字节形式的n个子第一数字信号,从n个输出输出端口输出至外部设备200。每个输入输出拓展单元101从m个输入输出端口接收m个子第二数字信号,并根据m个子第二数字信号生成一个子第二总线通信信号,通过k个输入输出拓展单元101总共n个输入输出端口接收来自外部设备200的数字信号,实现控制模块10与外部设备200进行通讯和数据交互。

请参阅图7,在其中一个实施例中,步骤s101:采用控制模块10输出第一总线通信信号之前还包括:步骤s01和步骤s02

步骤s01,设置每个输入输出拓展单元101的m个输入输出端口的地址。

具体实施中,输入输出拓展单元101可采用输入输出拓展芯片,例如具有i2c总线8个远程输入输出(io)扩展接口的pcf8574ts芯片,或者具有i2c总线16个远程输入输出(io)扩展接口pcf8574a芯片,利用输入输出拓展芯片的地址管脚定义和配置输入输出拓展芯片的m个输入输出端口的地址,每个输入输出端口的地址包括对应输入输出拓展芯片的地址位信息和输入输出端口的具体地址位信息。

步骤s02,建立k个输入输出拓展单元101的输入输出端口的地址数据库;其中,k、m均为大于或等于1的正整数,且k*m=n。

具体实施中,设置每个输入输出拓展单元101的m个输入输出端口的地址,控制模块10根据k个输入输出拓展单元101的k*m个输入输出端口的地址,建立输入输出拓展单元101的输入输出端口的地址数据库并存储,以便控制模块10对外发送数据和接收数据,以及识别发生信号跳变的输入输出端口的地址位信息,以更新数据。

在其中一个实施例中,步骤s101:采用控制模块输出第一总线通信信号具体为:控制模块根据地址数据库输出第一总线通信信号。

具体实施中,当控制模块10通过i2c总线对外发送数据时,每帧数据包括数据位和每个输入输出端口的地址位,以便并联的多个从设备(例如k个并联的输入输出拓展单元101)根据自身的地址位信息从第一总线通信信号携带的总线数据中读取和自身地址位信息相匹配的数据。

在其中一个实施例中,步骤s102:通过输入输出拓展模块100根据第一总线通信信号生成n个子第一数字信号输出具体为:输入输出拓展模块100中的每个输入输出拓展单元101根据地址数据库接收第一总线通信信号;每个输入输出拓展单元根据第一总线通信信号生成m个子第一数字信号输出至外部设备200。

具体实施中,当控制模块10通过i2c总线对外发送数据时,每个输入输出拓展单元101根据自身的地址位信息从第一总线通信信号中读取对应的数据。k个输入输出拓展单元101共同拓展n个输出输出端口。通过k个输入输出拓展单元101将第一总线通信信号进行通信协议转换,以生成n个子第一数字信号,并从n个输入输出端口输出至外部设备200。k个输入输出拓展单元101可与一个或多个外部设备200连接。每个输入输出拓展单元101从m个输入输出接口接收m个子第二数字信号,并根据m个子第二数字信号生成一个子第二总线通信信号,第二总线通信信号包括k个子第二总线通信信号,第二总线通信信号通过2根i2c总线输出至控制模块10,实现控制模块10与外部设备200之间的通讯与数据交互。

在外部设备200通过输入输出拓展模块100向控制模块10传输数据的过程中,当其中一个或多个(不超过n个)输入输出端口接收的子第二数字信号发生信号跳变时,则生成子中断信号,通过中断信号线反馈至控制模块10,使得控制模块10重新接收第二总线通信信号,更新原第二总线通信信号中相应地址位的数据,实现数据的接收和更新,能够有效与外部设备200进行双向数据交互,在保障多信号量输入输出的同时,有效的减少了控制器的引出线数量,节省了布线空间。

图8是本发明实施例提供的一种数据传输装置,如图8所示,数据传输装置包括:处理器21、存储器22以及存储在存储器22中并可在处理器21上运行的计算机程序23,例如数据传输方法的程序。处理器21执行计算机程序23时实现上述各个数据传输方法实施例中的步骤,例如图5、图6所示的步骤s101至s104。或者,处理器21执行计算机程序23时实现上述各装置实施例中各模块/单元的功能,例如图1所示控制模块10和输入输出拓展模块100的功能。

示例性的,计算机程序23可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器22中,并由处理器21执行,以完成本发明。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序23在数据传输装置001中的执行过程。例如,计算机程序23可以被分割成包括控制模块10和输入输出拓展模块100,各模块具体功能如下:

控制模块10,配置为输出第一总线通信信号;输入输出拓展模块100,与控制模块10连接,配置为根据第一总线通信信号生成n个子第一数字信号输出至外部设备200,并将来自外部设备200的数字信号转换为第二总线通信信号输出至控制模块10,且根据数字信号生成中断信号;其中,n为大于等于1的正整数;控制模块10还用于接收第二总线通信信号,且在接收到中断信号时重新接收第二总线通信信号。

一种数据传输装置001可以是控制器或其它。所述数据传输装置001可包括,但不仅限于,处理器21、存储器22。本领域技术人员可以理解,图8仅仅是数据传输装置001的示例,并不构成对数据传输装置001的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述关联应用程序挖掘的装置还可以包括输入输出设备、网络接入设备、总线等。

所称处理器21可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器22可以是数据传输装置001的内部存储单元,例如数据传输装置001的硬盘或内存。所述存储器22也可以是所述数据传输装置001的外部存储设备,例如所述数据传输装置001上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器22还可以既包括数据传输装置001的内部存储单元也包括外部存储设备。存储器22用于存储所述计算机程序以及数据传输装置001所需的其他程序和数据。所述存储器22还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1