一种数据输出方法及装置的制作方法

文档序号:6372554阅读:187来源:国知局
专利名称:一种数据输出方法及装置的制作方法
技术领域
本发明涉及信号处理领域,尤其涉及一种数据输出方法及装置。
背景技术
光传输中,利用PC屏幕,手机屏幕或其它发光设备,将电信号转换为光信号,如发送数字“I”、“O”时PC屏幕显示颜色为“黑”、“白”来实现信号的发送,由于PC机速度的不同,“位宽”不可控,这就不得不使用至少有2个光敏管进行设计,I个传输数据,I个传输同步头,即不得不采用同步传输的方法,实现起来比较繁琐;且由于只有一个光敏管用于传输数据,传输速率较慢
发明内容
本发明的目的是为了克服现有技术的不足,提供一种数据输出方法及装置。本发明提供的一种数据输出方法,包括SI :在获取当前有效数据之后,对所述当前有效数据进行处理并将其存储到数据存储空间中,所述数据存储空间中的数据为二进制数;S2 :根据传输位数从所述数据存储空间中获取第一组数据作为将要输出的数据;S3:根据所述传输位数、将要输出的数据和获取的当前输出的光信号状态确定将要输出的光信号状态;S4:用所述将要输出的光信号状态更新当前输出的光信号状态,并延时预设时长;S5 :判断所述数据存储空间中的数据是否完全输出,是则执行S6,否则从所述数据存储空间中获取下一组数据作为将要输出的数据,返回S3 ;S6:判断是否停止输出,是则结束,否则获取下一有效数据并作为当前有效数据,返回SI。其中,所述SI具体包括SlOl :获取当前有效数据;S102 :建立所述数据存储空间,并在所述数据存储空间的起始位置设置数据头;S103:根据当前有效数据计算校验码,根据当前有效数据和校验码计算数据位长度,将所述数据位长度、当前有效数据、校验码分别转化为二进制数,并顺序存储到所述数据存储空间中的数据头之后。其中,所述SI具体包括Slll :获取当前有效数据;S112 :建立所述数据存储空间,并在所述数据存储空间的起始位置设置数据头;S113:根据当前有效数据计算校验码,将当前有效数据和校验码分别转化为二进制数,并顺序存储到所述数据存储空间中的数据头之后。其中,所述SI还包括
获取功能码,并将其转化成二进制数后存储到所述数据存储空间的数据头之后。
其中,在步骤SI和步骤S2之间包括根据预先设置的光信号状态的个数确定所述传输位数或根据预先设置的传输位数确定光信号状态的个数。其中,所述S3具体包括根据所述传输位数确定光信号状态的变化规则或预设算法,根据将要输出的数据和获取的当前输出的光信号状态按照所述光信号状态的变化规则或预设算法确定将要输出的光信号状态。其中,每个光信号状态对应设置一个编码,所述S3包括S301 :获取当前输出的光信号状态及其对应的编码;S302 :根据将要输出的数据和当前输出的光信号状态对应的编码进行计算,根据 计算结果确定与其对应的将要输出的光信号状态。其中,所述传输位数为一个比特位,输出的光信号状态包括第一状态、第二状态、第三状态,对应的编码分别为O、1、2 ;所述S302具体为用所述当前输出的光信号状态对应的编码加2后减去所述将要输出的数据,差值对3取余,余数为将要输出的光信号状态对应的编码。其中,所述传输位数为两个比特位,输出的光信号状态包括第一状态、第二状态、第三状态、第四状态、第五状态,对应的编码分别为0、1、2、3、4 ;所述S302具体为用所述当前输出的光信号状态对应的编码加4后减去所述将要输出的数据,差值对5取余,余数为将要输出的光信号状态对应的编码。其中,所述S4包括根据与计算结果对应的光信号状态更新当前输出的光信号状态,并延时预设时长。其中,所述传输位数为一个比特位,输出的光信号状态包括第一状态、第二状态和第三状态,所述S3包括获取当前输出的光信号状态;判断将要输出的数据是否为0,是则按照第一预设规则根据当前输出的光信号状态确定将要输出的光信号状态,否则按照第二预设规则根据当前输出的光信号状态确定将要输出的光信号状态,所述第一预设规则为第三状态、第二状态、第一状态、第三状态顺序循环变化,所述第二预设规则与所述第一预设规则的变化顺序相反。其中,所述第一状态、第二状态和第三状态分别为黑色、灰色、白色。其中,所述传输位数为两个比特位,输出的光信号状态包括第一状态、第二状态、第三状态、第四状态、第五状态,所述S3包括S311 :获取当前输出的光信号状态,根据将要输出的数据确定步长,根据步长确定光信号状态的变化规则;S312:按照所述光信号状态的变化规则根据当前输出的光信号状态确定将要输出的光信号状态。其中,所述S311中根据将要输出的数据确定步长,根据步长确定光信号状态的变化规则,具体包括如将要输出的数据为00,则步长为1,所述光信号状态的变化规则为第五状态、第四状态、第三状态、第二状态、第一状态、第五状态循环变化;
如将要输出的数据为01,则步长为2,所述光信号状态的变化规则为第五状态变为第三状态,第四状态变为第二状态,第三状态变为第一状态,第二状态变为第五状态,第一状态变为第四状态;如将要输出的数据为10,则步长为3,所述光信号状态的变化规则为第五状态变为第二状态,第四状态变为第一状态,第三状态变为第五状态,第二状态变为第四状态,第一状态变为第三状态;如将要输出的数据为11,则步长为4,所述光信号状态的变化规则为第五状态、第一状态,第二状态、第三状态、第四状态、第五状态循环变化。其中,所述第一状态、第二状态、第三状态、第四状态和第五状态分别为黑色、深灰色、灰色、浅灰色、白色。其中,如当前有效数据是第一个有效数据且将要输出的数据是从所述数据存储空间中获取的第一组数据,则当前输出的光信号状态为预先设置的初始状态。

其中,在SI中还包括对计时器进行复位,并开始计时;所述S5和S6之间包括判断所述计时器的计时是否到达第一预设时间,是则执行步骤S6,否则返回步骤S2。其中,在所述S4执行之后将循环次数自加I ;所述S5和S6之间包括判断循环次数是否到达第一预设值,是则执行步骤S6,否则返回步骤S2。其中,所述S6中判断是否停止输出,具体为判断是否到达第一预设时间或判断循环次数自加I后是否到达第二预设值,是则停止输出,否则获取下一个有效数据并作为当前有效数据,返回Si。本发明又提供的一种数据输出装置,包括第一获取模块,用于获取有效数据;处理存储模块,用于对获取的当前有效数据进行处理并将其存储到数据存储空间中,所述数据存储空间中的数据为二进制数;第二获取模块,用于根据传输位数从所述数据存储空间中获取将要输出的数据;第一确定模块,用于根据所述传输位数、将要输出的数据和获取的当前输出的光信号状态确定将要输出的光信号状态;更新输出模块,用于用将要输出的光信号状态更新当前输出的光信号状态,并延时预设时长;第一判断模块,用于判断所述数据存储空间中的数据是否完全输出,是则第二判断模块工作,否则所述第二获取模块获取下一个将要输出的数据;所述第二判断模块,用于判断是否停止输出,是则结束,否则所述第一获取模块获取下一个有效数据。其中,所述处理存储模块包括建立设置子模块,用于建立所述数据存储空间,并在所述数据存储空间的起始位置设置数据头;第一计算子模块,用于根据当前有效数据计算校验码,还用于根据当前有效数据和所述校验码计算数据位长度;转化存储子模块,用于将当前有效数据、所述校验码分别转化为二进制数,并顺序存储到所述数据存储空间中的数据头之后;还用于将所述数据位长度转化为二进制数,并顺序存储到所述数据存储空间中的数据头和有效数据之间。其中,所述处理存储模块还包括第一获取子模块,用于获取功能码,并将其转化成二进制数后存储到所述数据存储空间的数据头之后。其中,所述装置还包括第二确定模块,用于根据预先设置的光信号状态的个数确定所述传输位数或根据预先设置的传输位数确定光信号状态的个数。其中,所述第一确定模块包括第一确定子模块,用于根据所述传输位数确定光信号状态的变化规则或预设算法;
第二确定子模块,用于根据将要输出的数据和获取的当前输出的光信号状态按照所述光信号状态的变化规则或预设算法确定将要输出的光信号状态。其中,所述第二确定子模块包括第一获取单元,用于获取当前输出的光信号状态及其对应的编码;计算确定单元,用于根据将要输出的数据和当前输出的光信号状态对应的编码进行计算,根据计算结果确定与其对应的将要输出的光信号状态。其中,所述第一确定模块包括第二获取子模块,用于获取当前输出的光信号状态;判断确定子模块,用于判断将要输出的数据是否为0,是则按照第一预设规则根据当前输出的光信号状态确定将要输出的光信号状态,否则按照第二预设规则根据当前输出的光信号状态确定将要输出的光信号状态,所述第一预设规则为第三状态、第二状态、第一状态、第三状态顺序循环变化,所述第二预设规则与所述第一预设规则的变化顺序相反。其中,所述第一确定模块包括第三获取子模块,用于获取当前输出的光信号状态;第三确定子模块,用于根据将要输出的数据确定步长,根据步长确定光信号状态的变化规则;第四确定子模块,用于按照所述光信号状态的变化规则根据当前输出的光信号状态确定将要输出的光信号状态。其中,所述装置还包括计时模块,用于计时并判断是否到达第一预设时间,是则所述第一判断模块工作,否则所述第二获取模块获取下一个将要输出的数据。其中,所述装置还包括计次模块,用于在所述更新输出模块更新当前输出的光信号状态后,自加I并判断是否到达第一预设值,是则所述第一判断模块工作,否则所述第二获取模块获取下一个将要输出的数据。其中,所述第二判断模块具体用于判断是否到达第二预设时间或判断循环次数自加I后是否到达第二预设值。本发明与现有技术相比,具有以下优点本发明的实现方法通过在光信号输出时引入一个介于“黑”、“白”的中间状态,例如“灰”,并且可设置多阶灰度,以多个状态的变化表示多个比特位的输出数据,提高传输速率。


图I为本发明实施例一提供的一种数据输出方法的流程图;图2为本发明实施例二提供的一种数据输出方法的流程图;图3和图4为本发明实施例三提供的另一种数据输出方法的流程图;图5为本发明实施例四提供的又一种数据输出方法的流程图;图6为本发明实施例五提供的一种数据输出装置的方框图。
具体实施例方式为更近一步阐述本发明为达成预订目的所采取的技术手段及功效,以下结合附图 及较佳实施例,对依据发明提出的一种数据输出方法及装置,其具体实施方式
、特征及其功效,说明如后。实施例一本发明实施例一提供一种数据输出方法,如图I所示,包括SI :在获取到当前有效数据之后,对当前有效数据进行处理并将其存储到数据存储空间中,数据存储空间中的数据为二进制数;本实施例中数据存储空间中的数据包括数据头、数据位长度、有效数据、校验码,还可以包括功能码;数据位长度和校验码用于验证数据的合法性;本实施例中的数据位长度可预先进行设置,则在数据存储空间中的二进制数包括数据头、有效数据和校验码;S2 :根据传输位数从数据存储空间中获取第一组数据作为将要输出的数据;本实施例中的传输位数可根据需要进行设置,在本发明中具体以一个比特位和两个比特位为例进行说明;S3 :根据传输位数、将要输出的数据和获取的当前输出的光信号状态确定将要输出的光信号状态;本实施例中输出的光信号状态的个数可根据传输位数进行设定,具体为以2为底数传输位数为指数的结果加I后的数据为光信号状态的个数;本发明中输出的光信号状态有三个(第一状态、第二状态、第三状态分别为黑色、灰色、白色)和五个(第一状态、第二状态、第三状态、第四状态、第五状态分别为黑色、深灰色、灰色、浅灰色、白色)为例进行说明;或根据预先设置的光信号状态的个数确定传输位数,具体为以2为底数,对光信号状态的个数减I的差值取对数,结果即为传输位数;本实施例中根据传输位数确定光信号状态的变化规则或预设算法,根据将要输出的数据和获取的当前输出的光信号状态按照光信号状态的变化规则或预设算法确定将要输出的光信号状态;具体的确定将要输出的光信号状态可以通过取余方式或者根据预先设置的变化规则进行实现,具体实现过程在后面的实施例中进行详述;S4 :用将要输出的光信号状态更新当前输出的光信号状态,并延时预设时长;S5 :判断数据存储空间中的数据是否完全输出,是则执行S6,否则从数据存储空间中获取下一组数据作为将要输出的数据,返回S3 ;本实施例中还可将相同的数据输出多次,通过计时或计次实现,即在S5和S6之间包括
通过计时实现时,在SI中还包括对计时器进行复位,并开始计时;S5判断为是时执行以下步骤判断计时器的计时是否到达第一预设时间,是则执行步骤S6,否则返回步骤S2 ;通过计次实现时,在S4执行之后将循环次数自加I ;S5和S6之间包括判断循环次数是否到达第一预设值,是则执行步骤S6,否则返回步骤S2 ;S6:判断是否停止输出,是则结束,否则获取下一有效数据并作为当前有效数据,返回SI ;本实施例中,S6中判断是否停止输出,具体为判断是否到达第二预设时间或判断循环次数自加I后是否到达第二预设值,是则停止输出,否则获取下一个有效数据并作为当前有效数据,返回Si。
本实施例中,在光信号输出时引入一个介于黑色和白色的中间状态,例如灰色,也可设置多阶灰度(如深灰色、灰色、浅灰色);以多个状态的变化表示多个比特位的输出数据,提高了传输速率。实施例二本实施例二提供的一种数据输出方法,不同光信号之间的变化表示不同的输出数据,本实施例中以传输位数为一个比特位为例进行说明,如图2所示,包括步骤101 :获取到有效数据后,建立数据存储空间,并在数据存储空间起始位置设置数据头;本实施例中获取的有效数据为十进制数,设置的数据头具体为二进制数111110 ;步骤102 :根据有效数据计算校验码,根据有效数据和校验码计算数据位长度;本实施例中的数据位长度也可根据有效数据计算得到;步骤103 :将数据位长度、有效数据和校验码分别转化为二进制数,并顺序存储到数据存储空间中;在步骤103之前包括获取功能码,并将其转化成二进制数后存储到数据存储空间的数据头与数据位长度之间或数据位长度与有效数据之间;本实施例中,功能码和数据位长度在数据存储空间中的位置可调换,即位置顺序为即数据头、功能码、数据位长度、有效数据、校验码或数据头、数据位长度、功能码、有效数据、校验码;本实施例中的功能码用于标识有效数据的功能;步骤104 :获取数据存储空间中的第一位二进制数,并将获取的第一位二进制数作为将要输出的数据;步骤105 :判断将要输出的数据是否为0,是则执行步骤106,否则执行步骤111 ;步骤106 :判断当前输出的光信号状态是否为黑色,是则执行步骤107,否则执行步骤108 ;具体的,本实施例中,如是第一个有效数据且将要输出的数据是第一次从数据存储空间中获取的数据则需设置一个初始状态作为当前输出的光信号状态;如不是第一个有效数据输出,则以上一个有效数据最后输出的状态为本次输出的初始状态;如上一个有效数据的最后输出的光信号状态为黑色,则进行下一个有效数据的输出时,以黑色为输出的初始状态;步骤107 :将输出的光信号状态改为白色,顺序执行步骤116 ;步骤108 :判断当前输出的光信号状态是否为灰色,是则执行步骤109,否则执行步骤110 ;步骤109 :将输出的光信号状态改为黑色,顺序执行步骤116 ;步骤110 :将输出的光信号状态改为灰色,顺序执行步骤116 ;步骤111 :判断当前输出的光信号状态是否为黑色,是则执行步骤112,否则执行步骤116 ;步骤112 :将输出的光信号状态改为灰色,顺序执行步骤116 ; 本实施例中的输出的光信号状态的颜色可延时显示预设时长,具体延时显示预设时长根据显示设备属性进行预先设置,如采用液晶屏输出时延时显示预设时长设置为45ms 60ms,优选的可设置为50ms,当延时显不预设时长设置为60ms时保证了米用率,使接收设备能及时采集到输出的光信号,当延时显示预设时长设置为45ms时,使接收设备的接收速度较快较合理;如输出设备是PC机时,可米用定时器来控制显不延时预设时长,在改变输出的光信号状态时开启定时器,当定时器时间到达预设时间时则PC机显示器停止光信号显示,当定时器时间未达预设时长时则PC机器继续光信号显示;步骤113 :判断当前输出的光信号状态是否为灰色,是则执行步骤114,否则执行步骤115 ;步骤114 :将输出的光信号状态改为白色,顺序执行步骤115 ;步骤115 :将输出的光信号状态改为黑色,顺序执行步骤116 ;步骤116 :判断数据存储空间中的二进制数是否完全输出,是则执行步骤118,否则执行步骤117 ;当同一个有效数据可多次发送时,通过定时或循环次数或其他方式进行实现,当通过定时来实现时,在步骤101获取有效数据时,对计时器进行复位并开始计时,在步骤116和步骤118之间包括判断计时器的计时是否到达第一预设时间,是则执行步骤118,否则返回步骤104 ;本实施例中的计时器可通过软件或硬件来实现,可通过程序控制开始或通过安检控制开启复位;当通过循环次数来实现时,在每次输出的光信号状态改变之后计数器所计次数加1,在步骤116和步骤118之间包括判断计数器所计次数是否到达第一预设值,是则执行步骤118,否则返回步骤104 ;本实施例中的循环次数通过计数器进行计数,每循环一次计数一次;步骤117 :获取数据存储空间中的下一位二进制数,并将获取的下一位二进制数作为将要输出的数据,返回步骤105 ;步骤118 :判断是否停止输出,是则结束,否则获取下一个有效数据,返回步骤101 ;本实施例中判断是否停止输出可通过定时器计时或计数器计数来实现,如采用定时器实现,则执行步骤101时需先开启定时器开始计时,步骤118具体为判断定时器的计时是否到达第二预设时间,是则定时器复位并关闭,停止输出,否则继续,获取下一个要有效数据,返回步骤101;如采用计数器计数,则执行步骤101时需先开启计数器并清0,步骤118具体为判断计数器的计数值是否小于第二预设值,是则计数器的计数值自加1,获取下一个要发送的数据,返回步骤101,否则关闭计数器,停止输出;或者开始时计数器不清0,在关闭计数器停止输出时先对计数器清O。本实施例也可采用更多个光信号进行输出,如黑、深灰、灰、浅灰和白色五种颜色,如输出的数据为1,则按照该顺序进行变化输出,如输出的数据为0,则按照逆顺序的进行变化输出,具体实现过程与实施例二中三中颜色的实现方法相同,在此不再赘述。本实施例中,光信号的输出方式可以为复合色或纯色输出,采用复合色输出时三原色(红(R)、绿(G)、蓝(B))的值都相同,如输出白色时,R=255, G=255, B=255 ;如输出浅灰色时,R=192,G=192,B=192 ;如输出灰色时,R=128,G=128,B=128 ;如输出深灰色时,R=64, G=64, B=64 ;如输出黑色时,R=O, G=O, B=O0采用纯色输出时三原色中只对其中一种颜色设值,其他两种颜色的值为0,如输出的光信号状态为红色或深红色或黑时,R=256或128或0,G=O7B=O ;输出的光信号状态为绿色或深绿色或黑色时,G=256或128或0,R=0,B=O ;输出的光信号状态为蓝色或深蓝色或黑色时,B=256或128或0,R=O, G=O0本实施例中的输出设备可以为LED液晶显示屏、IXD显示器、手机屏或发光器件等可调节颜色亮度的设备;光信号输出的实现方法由软件或硬件控制,在不同的开发平台中,可使用不同的方式控制特定区域(如一个圆形或矩形区域)输出颜色。输出方式可采用多种方式,如采用VS2010开发平台,则通过调用SolidBrush BlackBrush和绘制函数BitO.FillEllipse来实现;如采用网页形式,贝U通过调用imagecolorallocate函数来实现。当当输出设备为发光器件(如二极管)时,通过控制输出亮度来实现,例如三种状态分别为关闭、开启中间亮度、开启最亮,当按照这个顺序变化输出时,则输出的数据是I,如按照逆顺序变化输出时,则输出的数据是O。本实施例中光信号输出的实现方法还可以采用其他方式,在此不再赘述。实施例三本实施例三提供另一种数据输出方法,用不同的光信号变化表不不同的输出数据,本实施例中以传输位数为两个比特位为例进行说明,输出的数据中包括功能码,如图3和图4所示,包括步骤201 :获取到有效数据后,建立数据存储空间,并在数据存储空间起始位置设置数据头;本实施例中获取的有效数据为十进制数,设置的数据头具体为二进制数111110 ;步骤202 :获取功能码,并将其转化成二进制数后存储到数据存储空间的数据头之后;本实施例中的功能码用于标识有效数据的功能;本实施例中也可不设置功能码,具体以设置有功能码为例进行说明;步骤203 :根据有效数据计算校验码,根据有效数据和校验码计算数据位长度;步骤204 :将数据位长度、有效数据和校验码分别转化为二进制数,并顺序存储到数据存储空间中;本实施例中,数据存储空间中存储的二进制数的格式具体为数据头、功能码、数据位长度、有效数据、校验码;其中功能码和数据位长度的位置可调换;步骤205 :获取所述数据存储空间中的前两位二进制数,并将获取的前两位二进制数作为将要输出的数据;步骤206 :判断将要输出的数据是否为00,是则执行步骤207,否则执行步骤216 ;步骤207 :判断当前输出的光信号状态是否为白色,是则执行步骤208,否则执行步骤209 ;步骤208 :将输出的光信号状态改为浅灰色,顺序执行步骤245 ;步骤209 :判断当前输出的光信号状态是否为浅灰色,是则执行步骤210,否则执行步骤211 ; 步骤210 :将输出的光信号状态改为灰色,顺序执行步骤245 ;步骤211 :判断当前输出的光信号状态是否为灰色,是则执行步骤212,否则执行步骤213 ;步骤212 :将输出的光信号状态改为深灰色,顺序执行步骤245 ;步骤213 :判断当前输出的光信号状态是否为深灰色,是则执行步骤214,否则执行步骤215 ;步骤214 :将输出的光信号状态改为黑色,顺序执行步骤245 ;步骤215 :将输出的光信号状态改为白色,顺序执行步骤245 ;步骤216 :判断将要输出的数据是否为01,是则执行步骤217,否则执行步骤226 ;步骤217 :判断当前输出的光信号状态是否为白色,是则执行步骤218,否则执行步骤219 ;步骤218 :将输出的光信号状态改为灰色,顺序执行步骤245 ;步骤219 :判断当前输出的光信号状态是否为浅灰色,是则执行步骤220,否则执行步骤221 ;步骤220 :将输出的光信号状态改为深灰色,顺序执行步骤245 ;步骤221 :判断当前输出的光信号状态是否为灰色,是则执行步骤222,否则执行步骤223 ;步骤222 :将输出的光信号状态改为黑色,顺序执行步骤245 ;步骤223 :判断当前输出的光信号状态是否为深灰色,是则执行步骤224,否则执行步骤225 ;步骤224 :将输出的光信号状态改为白色,顺序执行步骤245 ;步骤225 :将输出的光信号状态改为浅灰色,顺序执行步骤245 ;步骤226 :判断将要输出的数据是否为10,是则执行步骤227,否则执行步骤236 ;步骤227 :判断当前输出的光信号状态是否为白色,是则执行步骤228,否则执行步骤229 ;步骤228 :将输出的光信号状态改为深灰色,顺序执行步骤245 ;步骤229:判断当前输出的光信号状态是否为浅灰色,是则执行步骤230,否则执行步骤231 ;步骤230 :将输出的光信号状态改为黑色,顺序执行步骤245 ;步骤231 :判断当前输出的光信号状态是否为灰色,是则执行步骤232,否则执行步骤233 ;步骤232 :将输出的光信号状态改为白色,顺序执行步骤245 ;步骤233:判断当前输出的光信号状态是否为深灰色,是则执行步骤234,否则执行步骤235 ;步骤234 :将输出的光信号状态改为浅灰色,顺序执行步骤245 ;步骤235 :将输出的光信号状态改为灰色,顺序执行步骤245 ;步骤236 :判断当前输出的光信号状态是否为白色,是则执行步骤237,否则执行步骤238 ;步骤237 :将输出的光信号状态改为黑色,顺序执行步骤245 ;
步骤238:判断当前输出的光信号状态是否为浅灰色,是则执行步骤239,否则执行步骤240 ;步骤239 :将输出的光信号状态改为白色,顺序执行步骤245 ;步骤240:判断当前输出的光信号状态是否为灰色,是则执行步骤241,否则执行步骤242 ;步骤241 :将输出的光信号状态改为浅灰色,顺序执行步骤245 ;步骤242 :判断当前输出的光信号状态是否为深灰色,是则执行步骤243,否则执行步骤244 ;步骤243 :将输出的光信号状态改为灰色,顺序执行步骤245 ;步骤244 :将输出的光信号状态改为深灰色,顺序执行步骤245 ;步骤245:判断数据存储空间中的二进制数是否完全输出,是则执行步骤246,否则执行步骤247 ;本实施例中,同一个有效数据可多次发送,其实现方式可参照实施例二的方式,在此不再赘述;步骤246 :获取数据存储空间中的下两位二进制数,并将获取的下两位二进制数作为将要输出的数据,返回步骤206 ;步骤247 :判断是否停止输出,是则结束,否则获取下一个有效数据,返回步骤201 ;本实施例中判断是否停止输出的方法可参照实施例二种步骤118的实现方式,在此不再赘述。本实施例中的光信号输出的实现方法可采用实施例二所述的方法或其他方法,在此不再赘述。本实施例中的光信号状态还可以为更多,包括不同灰度的颜色来实现本发明的技术方案,实现方法与实施例二和实施例三相同,在此不再赘述。实施例四本实施例四提供又一种数据输出方法,不同的输出光信号状态有不同的编码,如白色编码为2,灰色编码为1,黑色编码为0,传输位数为一个比特位为例进行说明,如图5所述,本实施例的方法包括步骤401 :获取到有效数据后,建立数据存储空间,并在数据存储空间起始位置设置数据头;
本实施例中获取的有效数据为十进制数,设置的数据头具体为二进制数111110 ;步骤402 :根据有效数据计算校验码,根据有效数据和校验码计算数据位长度;步骤403 :将数据位长度、有效数据和校验码分别转化为二进制数,并顺序存储到数据存储空间中;在步骤403之前包括获取功能码,并将其转化成二进制数后存储到数据存储空间的数据头与数据位长度之间或数据位长度与有效数据之间;本实施例中,功能码和数据位长度在数据存储空间中的位置可调换,即位置顺序可以为即数据头、功能码、数据位长度、有效数据、检验码或数据头、数据位长度、功能码、
有效数据、校验码;本实施例中的功能码用于标识有效数据的功能;步骤404 :从数据存储空间获取第一位二进制数并将其作为将要输出的数据;步骤405 :根据将要输出的数据和当前输出的光信号状态对应的编码进行计算,并检测计算结果,如为2,则执行步骤406 ;如为1,则执行步骤407 ;如为0,则执行步骤408 ;本实施例中,如第一次输出数据,则当前输出的光信号状态为预设的初始输出的光信号状态,本实施例中的初始输出的光信号状态具体为白色;则根据将要输出的数据和当前输出的光信号状态对应的编码进行计算,具体为当前输出的光信号状态对应的编码加2后减去将要输出的数据,差值对3取余;例如当前输出的光信号状态为灰,将要输出的数据为1,则计算结果为0,则输出的光信号状态改为黑;步骤406 :将输出的光信号状态改为白色,顺序执行步骤409 ;步骤407 :将输出的光信号状态改为灰色,顺序执行步骤409 ;步骤408 :将输出的光信号状态改为黑色,顺序执行步骤409 ;步骤409:判断数据存储空间中的数据是否完全输出,是则执行步骤410,否则获取数据存储空间中的下一位二进制数,并将其作为将要输出的数据,返回步骤405;本实施例中,同一个有效数据可多次发送,其实现方式可参照实施例二的方式,在此不再赘述;本实施例中以一位二进制为作为一组将要输出的数据;步骤410 :判断是否停止输出,是则结束,否则获取下一个有效数据,返回步骤401 ;本实施例中的步骤410的实现方式可参照实施例二种步骤118的方式,在此不再赘述。本实施例中的输出的光信号状态可更多,步骤404中可将数据存储空间的前两位二进制数或更多位二进制数作为将要输出的数据,其实现原理和本实施例相同,不在赘述;如将前两位二进制数作为将要输出的数据,输出的光信号状态包括黑色、深灰色、灰色、浅灰色和白色,五种状态的编码分别为0、1、2、3、4 ;则405具体为当前输出的光信号状态对应的编码加4后减去将要输出的数据,差值对5取余,如余数为O则将输出的光信号状态改为黑色,如余数为I则将输出的光信号状态改为深灰色,如余数为2则将输出的光信号状态改为灰色,如余数为3则将输出的光信号状态改为浅灰色,如余数为4则将输出的光信号状态改为白色;本实施例中的光信号输出方式和设备可采用实施例二所述的方法或其他方法,在此不再赘述。本发明实施例中在光信号输出的光信号状态改变后,都将延时显不一段时间,方便接收设备进行采集处理。本发明方法实施例中的数据位长度也可预先进行设置,则步骤102-103、步骤202-204、步骤402-403相应的替换为根据当前有效数据计算校验码,将所述有效数据和校验码分别转化为二进制数,并顺序存储到所述数据存储空间中的数据头之后。实施例五
本发明实施例五提供一种数据输出装置,如图6所示,所述装置包括第一获取模块61,用于获取有效数据;处理存储模块62,用于对获取的当前有效数据进行处理并将其存储到数据存储空间中,数据存储空间中的数据为二进制数;本实施例的处理存储模块62包括建立设置子模块,用于建立数据存储空间,并在数据存储空间的起始位置设置数据头;第一计算子模块,用于根据当前有效数据计算校验码,还用于根据当前有效数据和校验码计算数据位长度;转化存储子模块,用于将当前有效数据、校验码分别转化为二进制数,并顺序存储到数据存储空间中的数据头之后;还用于将数据位长度转化为二进制数,并顺序存储到数据存储空间中的数据头和有效数据之间。本实施例的处理存储模块62还可以包括第一获取子模块,用于获取功能码,并将其转化成二进制数后存储到数据存储空间的数据头之后;当数据存储空间中没有数据位长度时,本实施例中的功能码可存储到数据头和有效数据之间;当数据存储空间中设有数据位长度时,本实施例中的功能码可设置在数据头与数据位长度之间或数据位长度与有效数据之间;第二获取模块63,用于根据传输位数从数据存储空间中获取将要输出的数据;第一确定模块64,用于根据传输位数、将要输出的数据和获取的当前输出的光信号状态确定将要输出的光信号状态;本实施例中的第一确定模块64有以下几种实现方式;第一种实现方式第一确定模块64包括第一确定子模块,用于根据传输位数确定光信号状态的变化规则或预设算法;第二确定子模块,用于根据将要输出的数据和获取的当前输出的光信号状态按照光信号状态的变化规则或预设算法确定将要输出的光信号状态;具体的,当通过计算取余的方式来确定将要输出的光信号状态时,第二确定子模块包括第一获取单元,用于获取当前输出的光信号状态及其对应的编码;计算确定单元,用于根据将要输出的数据和当前输出的光信号状态对应的编码进行计算,根据计算结果确定与其对应的将要输出的光信号状态;
例如传输位数为一个比特位,输出的光信号状态包括第一状态、第二状态、第三状态,对应的编码分别为0、1、2 ;计算确定单元具体用于用当前输出的光信号状态对应的编码加2后减去将要输出的数据,差值对3取余,余数为将要输出的光信号状态对应的编码;又如传输位数为两个比特位,输出的光信号状态包括第一状态、第二状态、第三状态、第四状态、第五状态,对应的编码分别为0、1、2、3、4 ;计算确定单元具体用于用当前输出的光信号状态对应的编码加4后减去将要输出的数据,差值对5取余,余数为将要输出的光信号状态对应的编码;当传输位数为一个比特位,输出的光信号状态包括第一状态、第二状态、第三状态时,第一确定模块64有另一种实现方式,包括第二获取子模块,用于获取当前输出的光信号状态;判断确定子模块,用于判断将要输出的数据是否为0,是则按照第一预设规则根据 当前输出的光信号状态确定将要输出的光信号状态,否则按照第二预设规则根据当前输出的光信号状态确定将要输出的光信号状态,所述第一预设规则为第三状态、第二状态、第一状态、第三状态顺序循环变化,所述第二预设规则与所述第一预设规则的变化顺序相反。当传输位数为两个比特位,输出的光信号状态包括第一状态、第二状态、第三状态、第四状态、第五状态时,第一确定模块64有另一种实现方式,包括第三获取子模块,用于获取当前输出的光信号状态;第三确定子模块,用于根据将要输出的数据确定步长,根据步长确定光信号状态的变化规则;本实施例中,第三确定子模块根据步长确定变化规则具体包括如将要输出的数据为00,则步长为1,光信号状态的变化规则为第五状态、第四状态、第三状态、第二状态、第一状态、第五状态循环变化;如将要输出的数据为01,则步长为2,光信号状态的变化规则为第五状态变为第三状态,第四状态变为第二状态,第三状态变为第一状态,第二状态变为第五状态,第一状态变为第四状态;如将要输出的数据为10,则步长为3,光信号状态的变化规则为第五状态变为第二状态,第四状态变为第一状态,第三状态变为第五状态,第二状态变为第四状态,第一状态变为第三状态;如将要输出的数据为11,则步长为4,光信号状态的变化规则为第五状态、第一状态,第二状态、第三状态、第四状态、第五状态循环变化;第四确定子模块,用于按照光信号状态的变化规则根据当前输出的光信号状态确定将要输出的光信号状态;具体的,在本实施例中,如将要输出的数据为10,当前输出的光信号状态为第二状态,则将要输出的光信号状态确定为第四状态;更新输出模块65,用于用将要输出的光信号状态更新当前输出的光信号状态,并延时预设时长;本实施例中的更新输出模块65的光信号状态输出预设时长,方便接收设备采集处理;
第一判断模块66,用于判断数据存储空间中的数据是否完全输出,是则第二判断模块67工作,否则第二获取模块63获取下一个将要输出的数据;第二判断模块67,用于判断是否停止输出,是则结束,否则第一获取模块61获取下一个有效数据;本实施例中,第二判断模块67具体用于判断是否到达预设时间或判断循环次数自加I后是否到达预设值。本实施例的装置还可包括第二确定模块68,用于根据预先设置的光信号状态的个数确定所述传输位数或根据预先设置的传输位数确定光信号状态的个数。本实施例的装置还可包括计时模块,用于计时并判断是否到达预设之间,是则第一判断模块66工作,否则第二获取模块63获取下一个将要输出的数据;
或,还可包括计次模块,用于在更新输出模块65更新当前输出的光信号状态后,自加I并判断是否到达预设值,是则第一判断模块66工作,否则第二获取模块63获取下一个将要输出的数据。具体的,在本实施例中,当输出的光信号状态包括三个状态时,即第一状态、第二状态和第三状态分别为黑色、灰色、白色;当输出的光信号状态包括五个状态时,即第一状态、第二状态、第三状态第四状态和第五状态分别为黑色、深灰色、灰色、浅灰色、白色。本装置可通过在光信号输出时引入一个介于“黑”、“白”的中间状态,例如“灰”,并且可设置多阶灰度,以多个状态的变化表示多个比特位的输出数据,提高传输速率。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种数据输出方法,其特征在于,包括 Si:在获取到当前有效数据之后,对所述当前有效数据进行处理并将其存储到数据存储空间中,所述数据存储空间中的数据为二进制数; 52:根据传输位数从所述数据存储空间中获取第一组数据作为将要输出的数据; 53:根据所述传输位数、将要输出的数据和获取的当前输出的光信号状态确定将要输出的光信号状态; 54:用所述将要输出的光信号状态更新当前输出的光信号状态,并延时预设时长; 55:判断所述数据存储空间中的数据是否完全输出,是则执行S6,否则从所述数据存储空间中获取下一组数据作为将要输出的数据,返回S3 ; 56:判断是否停止输出,是则结束,否则获取下一有效数据并作为当前有效数据,返回SI。
2.如权利要求I所述的方法,其特征在于,所述SI具体包括 5101:获取当前有效数据; 5102:建立所述数据存储空间,并在所述数据存储空间的起始位置设置数据头; S103:根据当前有效数据计算校验码,根据当前有效数据和校验码计算数据位长度,将所述数据位长度、当前有效数据、校验码分别转化为二进制数,并顺序存储到所述数据存储空间中的数据头之后。
3.如权利要求I所述的方法,其特征在于,所述SI具体包括 Sm :获取当前有效数据; 5112:建立所述数据存储空间,并在所述数据存储空间的起始位置设置数据头; 5113:根据当前有效数据计算校验码,将当前有效数据和校验码分别转化为二进制数,并顺序存储到所述数据存储空间中的数据头之后。
4.如权利要求2或3所述的方法,其特征在于,所述SI还包括 获取功能码,并将其转化成二进制数后存储到所述数据存储空间的数据头之后。
5.如权利要求I所述的方法,其特征在于,在步骤SI和步骤S2之间包括根据预先设置的光信号状态的个数确定所述传输位数或根据预先设置的传输位数确定光信号状态的个数。
6.如权利要求5所述的方法,其特征在于,所述S3具体包括 根据所述传输位数确定光信号状态的变化规则或预设算法,根据将要输出的数据和获取的当前输出的光信号状态按照所述光信号状态的变化规则或预设算法确定将要输出的光信号状态。
7.如权利要求6所述的方法,其特征在于,每个光信号状态对应设置一个编码,所述S3包括 S301 :获取当前输出的光信号状态及其对应的编码; S302:根据将要输出的数据和当前输出的光信号状态对应的编码进行计算,根据计算结果确定与其对应的将要输出的光信号状态。
8.如权利要求7所述的方法,其特征在于,所述传输位数为一个比特位,输出的光信号状态包括第一状态、第二状态、第三状态,对应的编码分别为0、1、2 ;所述S302具体为用所述当前输出的光信号状态对应的编码加2后减去所述将要输出的数据,差值对3取余,余数为将要输出的光信号状态对应的编码。
9.如权利要求7所述的方法,其特征在于,所述传输位数为两个比特位,输出的光信号状态包括第一状态、第二状态、第三状态、第四状态、第五状态,对应的编码分别为0、1、2、3、4 ;所述S302具体为用所述当前输出的光信号状态对应的编码加4后减去所述将要输出的数据,差值对5取余,余数为将要输出的光信号状态对应的编码。
10.如权利要求7所述的方法,其特征在于,所述S4包括根据与计算结果对应的光信号状态更新当前输出的光信号状态,并延时预设时长。
11.如权利要求6所述的方法,其特征在于,所述传输位数为一个比特位,输出的光信号状态包括第一状态、第二状态和第三状态,所述S3包括 获取当前输出的光信号状态; 判断将要输出的数据是否为0,是则按照第一预设规则根据当前输出的光信号状态确定将要输出的光信号状态,否则按照第二预设规则根据当前输出的光信号状态确定将要输 出的光信号状态,所述第一预设规则为第三状态、第二状态、第一状态、第三状态顺序循环变化,所述第二预设规则与所述第一预设规则的变化顺序相反。
12.如权利要求8或11所述的方法,其特征在于,所述第一状态、第二状态和第三状态分别为黑色、灰色、白色。
13.如权利要求6所述的方法,其特征在于,所述传输位数为两个比特位,输出的光信号状态包括第一状态、第二状态、第三状态、第四状态、第五状态,所述S3包括 5311:获取当前输出的光信号状态,根据将要输出的数据确定步长,根据步长确定光信号状态的变化规则; 5312:按照所述光信号状态的变化规则根据当前输出的光信号状态确定将要输出的光信号状态。
14.如权利要求13所述的方法,其特征在于,所述S311中根据将要输出的数据确定步长,根据步长确定光信号状态的变化规则,具体包括 如将要输出的数据为00,则步长为1,所述光信号状态的变化规则为第五状态、第四状态、第三状态、第二状态、第一状态、第五状态循环变化; 如将要输出的数据为01,则步长为2,所述光信号状态的变化规则为第五状态变为第三状态,第四状态变为第二状态,第三状态变为第一状态,第二状态变为第五状态,第一状态变为第四状态; 如将要输出的数据为10,则步长为3,所述光信号状态的变化规则为第五状态变为第二状态,第四状态变为第一状态,第三状态变为第五状态,第二状态变为第四状态,第一状态变为第三状态; 如将要输出的数据为11,则步长为4,所述光信号状态的变化规则为第五状态、第一状态,第二状态、第三状态、第四状态、第五状态循环变化。
15.如权利要求9、13或14所述的方法,其特征在于,所述第一状态、第二状态、第三状态、第四状态和第五状态分别为黑色、深灰色、灰色、浅灰色、白色。
16.如权利要求I所述的方法,其特征在于,如当前有效数据是第一个有效数据且将要输出的数据是从所述数据存储空间中获取的第一组数据,则当前输出的光信号状态为预先设置的初始状态。
17.如权利要求I所述的方法,其特征在于,在SI中还包括对计时器进行复位,并开始计时; 所述S5和S6之间包括判断所述计时器的计时是否到达第一预设时间,是则执行步骤S6,否则返回步骤S2。
18.如权利要求I所述的方法,其特征在于,在所述S4执行之后将循环次数自加I;所述S5和S6之间包括判断循环次数是否到达第一预设值,是则执行步骤S6,否则返回步骤S2。
19.如权利要求I所述的方法,其特征在于,所述S6中判断是否停止输出,具体为判断是否到达第一预设时间或判断循环次数自加I后是否到达第二预设值,是则停止输出,否则获取下一个有效数据并作为当前有效数据,返回Si。
20.一种数据输出装置,其特征在于,包括 第一获取模块,用于获取有效数据; 处理存储模块,用于对获取的当前有效数据进行处理并将其存储到数据存储空间中,所述数据存储空间中的数据为二进制数; 第二获取模块,用于根据传输位数从所述数据存储空间中获取将要输出的数据; 第一确定模块,用于根据所述传输位数、将要输出的数据和获取的当前输出的光信号状态确定将要输出的光信号状态; 更新输出模块,用于用将要输出的光信号状态更新当前输出的光信号状态,并延时预设时长; 第一判断模块,用于判断所述数据存储空间中的数据是否完全输出,是则第二判断模块工作,否则所述第二获取模块获取下一个将要输出的数据; 所述第二判断模块,用于判断是否停止输出,是则结束,否则所述第一获取模块获取下一个有效数据。
21.如权利要求20所述的装置,其特征在于,所述处理存储模块包括 建立设置子模块,用于建立所述数据存储空间,并在所述数据存储空间的起始位置设置数据头; 第一计算子模块,用于根据当前有效数据计算校验码,还用于根据当前有效数据和所述校验码计算数据位长度; 转化存储子模块,用于将当前有效数据、所述校验码分别转化为二进制数,并顺序存储到所述数据存储空间中的数据头之后;还用于将所述数据位长度转化为二进制数,并顺序存储到所述数据存储空间中的数据头和有效数据之间。
22.如权利要求21所述的装置,其特征在于,所述处理存储模块还包括 第一获取子模块,用于获取功能码,并将其转化成二进制数后存储到所述数据存储空间的数据头之后。
23.如权利要求20所述的装置,其特征在于,还包括第二确定模块,用于根据预先设置的光信号状态的个数确定所述传输位数或根据预先设置的传输位数确定光信号状态的个数。
24.如权利要求23所述的装置,其特征在于,所述第一确定模块包括 第一确定子模块,用于根据所述传输位数确定光信号状态的变化规则或预设算法;第二确定子模块,用于根据将要输出的数据和获取的当前输出的光信号状态按照所述光信号状态的变化规则或预设算法确定将要输出的光信号状态。
25.如权利要求24所述的装置,其特征在于,所述第二确定子模块包括 第一获取单元,用于获取当前输出的光信号状态及其对应的编码; 计算确定单元,用于根据将要输出的数据和当前输出的光信号状态对应的编码进行计算,根据计算结果确定与其对应的将要输出的光信号状态。
26.如权利要求23所述的装置,其特征在于,所述第一确定模块包括 第二获取子模块,用于获取当前输出的光信号状态; 判断确定子模块,用于判断将要输出的数据是否为O,是则按照第一预设规则根据当前输出的光信号状态确定将要输出的光信号状态,否则按照第二预设规则根据当前输出的光信号状态确定将要输出的光信号状态,所述第一预设规则为第三状态、第二状态、第一状态、第三状态顺序循环变化,所述第二预设规则与所述第一预设规则的变化顺序相反。
27.如权利要求23所述的装置,其特征在于,所述第一确定模块包括 第三获取子模块,用于获取当前输出的光信号状态; 第三确定子模块,用于根据将要输出的数据确定步长,根据步长确定光信号状态的变化规则; 第四确定子模块,用于按照所述光信号状态的变化规则根据当前输出的光信号状态确定将要输出的光信号状态。
28.如权利要求20所述的装置,其特征在于,还包括计时模块,用于计时并判断是否到达第一预设时间,是则所述第一判断模块工作,否则所述第二获取模块获取下一个将要输出的数据。
29.如权利要求20所述的装置,其特征在于,还包括计次模块,用于在所述更新输出模块更新当前输出的光信号状态后,自加I并判断是否到达第一预设值,是则所述第一判断模块工作,否则所述第二获取模块获取下一个将要输出的数据。
30.如权利要求20所述的装置,其特征在于,所述第二判断模块具体用于判断是否到达第二预设时间或判断循环次数自加I后是否到达第二预设值。
全文摘要
本发明公开一种数据输出方法及装置,该方法包括对当前有效数据进行处理并将其存储到数据存储空间中;根据传输位数从数据存储空间中获取第一组数据作为将要输出的数据;根据传输位数、将要输出的数据和获取的当前输出的光信号状态确定将要输出的光信号状态;用将要输出的光信号状态更新当前输出的光信号状态,并延时预设时长;判断数据存储空间中的数据是否完全输出,否则从数据存储空间中获取下一组数据作为将要输出的数据,确定将要输出的光信号状态;是则判断是否停止输出,是则结束,否则获取下一有效数据并作为当前有效数据,并对其进行处理,继续后续操作。本发明的方法以多个状态的变化表示多个比特位的输出数据,提高了传输速率。
文档编号G06F13/38GK102841874SQ201210225918
公开日2012年12月26日 申请日期2012年6月29日 优先权日2012年6月29日
发明者陆舟, 于华章 申请人:飞天诚信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1