一种高速串行数据转并行数据的处理装置和方法
技术领域
本发明涉及一种高速串行数据转并行数据的处理装置和方法,
技术背景
我们知道数字信号处理和接口中,经常用到将串行的数据转换为并行的数据。因为CPU一般都是以它的内部运算器位数为基本数据单元的长度,比如我们常说的8位、16位、32位等。而实际上的数据往往来自一位一位的串行输入,在低速率的情况下,可以采用I/O口直接读取的方法,用软件将一位一位的串行数据组合成一个字节,或CPU的一个字,一旦串行的数据足够的快,它的周期和CPU的指令周期接近时,就无法使用软件将串行的数据转换为并行的数据。在普通的CPU的芯片中,一般采用同步串行口或异步通讯口,即SPI或UART接口,但在实际应用中不可能完全满足这样的条件,就需要一种通用的装置和方法,可以适合各种需要将串行数据转换成并行数据的场合。
发明内容
本发明的目的在于提供一种适合各种需要将串行数据转换成并行数据的场合的装置和方法。
本发明是这样实现高速串行数据转并行数据的:
(1)通过数据采集装置采集串行信号,完成串行信号的放大和整形,使之符合标准的接口电平;
(2)数据采集装置将所述的串行信号输入给数据移位及总线输出装置完成串行数据转换并行数据:
首先根据所用CPU系统所需要的字长,比如8Bit或16Bit(或更多位),由记数控制装置完成记数,也就是每采集8位(或16位)数据移位,总线输出装置产生一次OUT_OE信号输出,主CPU接到这个信号后,通过I/O口译码,产生READ_CE信号给数据移位及总线输出装置,数据移位及总线输出装置中的三态门被打开,数据被传送到总线上,主CPU从数据总线上读出数据;同步时钟发生装置产生移位脉冲并保持和串行数据同步,读指令完成后,自动清除OUT_OE信号,并使记数控制装置重新开始记数,以进入下一个循环,这样就实现了将高速串行数据转换为并行数据。
本发明中将高速串行数据转为并行数据的装置包括数据移位及总线输出装置、同步时钟发生装置、数据采集装置和记数控制装置,其中数据移位及总线输出装置由移位寄存器和三态门缓冲器组成,该数据采集装置,采集串行信号并完成串行信号的放大和整形,使之符合标准的接口电平,并将串行信号输入给数据移位及总线输出装置;根据所用CPU系统所需要的字长(比如8Bit或16Bit或更多位),由连接其上的记数控制装置完成记数,也就是每采集8位(或16位)数据,数据移位及总线输出装置产生一次OUT_OE信号输出,主CPU接到这个信号后,通过I/O口译码,产生READ_CE信号给数据移位及总线输出装置,其中的三态门被打开,数据被传送到总线上,主CPU从数据总线上读出数据;与记数控制装置连接的同步时钟发生装置产生移位脉冲并保持和串行数据同步;读指令完成后,自动清除OUT_OE信号,并使记数控制装置重新开始记数,以进入下一个循环,从而完成高速串行数据转换为并行数据。
本发明这种串行数据到并行数据的转换,绝大部分动作都是由硬件完成的,主CPU在这里仅仅只需几条指令,这对于采用速度不高的CPU或资源有限时,是非常有意义的。
本发明的实现关键有以下2点:
1、选择合理的系统时钟信号,使其与被采集的数据同步。
2、完成对采集信号的记数,并输出记数标记等待主CPU的读动作。
本发明中巧妙的读动作,一举两得,既取走总线上的数据,又自动恢复下一个周期的记数。
这里的CIS_CLOCK的频率是475KHz,大约2us,用一般CPU来处理这样高速的数据是很难办到的,而采用串行数据转并行数据后,一方面是数据处理的需要,另一方面,把对CPU速度的要求,降低了16倍,这样CPU的资源就可以更好的利用,所以这样的方法和装置在信号处理和数据采集上具有通用性,可以被广泛采用。
附图说明
图1为本发明中处理装置的电路连接框图;
图2为本发明可应用的普通接触式图象传感器的信号时序图;
图3为本发明为嵌入式系统提供CIS扫描接口的电路连接图;
图4为本发明为嵌入式系统提供CIS扫描接口的信号时序图。
以下结合实施例对本发明进行详细描述。
具体的实施方式
本发明是这样实现将高速串行数据转为并行数据的:
(1)通过数据采集装置采集串行信号,完成串行信号的放大和整形,使之符合标准的接口电平;
(2)数据采集装置将所述的串行信号输入给数据移位及总线输出装置完成串行数据转换并行数据。
首先根据所用CPU系统所需要的字长,比如8Bit或16Bit(或更多位),由记数控制装置完成记数,也就是每采集8位(或16位)数据移位,总线输出装置产生一次OUT_OE信号输出,主CPU接到这个信号后,通过I/O口译码,产生READ_CE信号给数据移位及总线输出装置,数据移位及总线输出装置的三态门被打开,数据被传送到总线上,主CPU从数据总线上读出数据;同步时钟发生装置产生移位脉冲并保持和串行数据同步,读指令完成后,自动清除OUT_OE信号,并使记数控制装置重新开始记数,以进入下一个循环,从而完成串行数据转换为并行数据。
为实现上述方法,如图1所示,将高速串行数据转为并行数据的装置包括数据移位及总线输出装置1、同步时钟发生装置2、数据采集装置3和记数控制装置4。数据移位及总线输出装置1由移位寄存器和三态门缓冲器组成。数据采集装置3,采集串行信号并完成串行信号的放大和整形,使之符合标准的接口电平,将串行信号输入给数据移位及总线输出装置1;根据所用CPU系统所需要的字长,比如8Bit或16Bit(或更多位),由连接其上的记数控制装置4完成记数,也就是每采集8位(或16位)数据,数据移位及总线输出装置1产生一次OUT_OE信号输出,主CPU接到这个信号后,通过I/O口译码,产生READ_CE信号给数据移位及总线输出装置1,其中的三态门被打开,数据被传送到总线上,主CPU从数据总线上读出数据;与记数控制装置4连接的同步时钟发生装置2产生移位脉冲并保持和串行数据同步;读指令完成后,自动清除OUT_OE信号,并使记数控制装置4重新开始记数,以进入下一个循环,从而完成高速串行数据转换为并行数据。
以下以一种用在普通传真机上的可扫描A4幅面的文稿,每毫米8个点,每行1728个点的接触式图象传感器的接口为应用实例,进一步阐述本发明。
先介绍一下普通接触式图象传感器的工作原理,如图2所示是它的信号时序图。接触式图象传感器是一种图象扫描装置,它通过光电的作用,把图象信号转换为二进制数字信号,它不仅有彩色和单色之分,还有很多种类型和尺寸。它由外部提供时钟脉冲CIS_CLOCK,特征频率500KHz和起始信号START,每行起始时发一次。图象传感器输出信号如CIS_SIG所示。对于彩色文稿,CIS_SIG可能有不同的电平信号,我们在此仅以黑白文稿为例,所以CIS_SIG只会有高或低两种电平信号。这里就需要设计一种数据处理接口,将CIS_SIG信号采集并转换为表示这种图象信号的数据。要求接口电路有3个基本功能:
1、给CIS部件提供输入信号,如图2所示,CIS_CLOCK和START。
2、把CIS部件输出的信号CIS_SIG转换成所需的信号电平。
3、把串行的CIS_SIG信号转换为并行的数据。
如图3所示,是一个M68000为内核的嵌入式系统提供CIS扫描接口的电路实例。移位数据及总线输出装置1,由两片8Bit三态移位寄存器74HC299组成,两片串联组成16位字长;同步时钟发生装置3,由4Bit计数器N6(74HC161)和“与”门组成,系统时钟7.6MHz经计数器N6作16次分频产生475KHz的信号,经N4A“与”逻辑后,得到占空比1∶3的CIS_CLOCK信号;记数控制装置2由双4Bit记数器N1(74HC393)和周边逻辑电路组成,两个单元组成0-16的记数;数据采集装置5由运放N7A和两级“非”门组成,N7A组成“射随器”状态,以提高信号的驱动能力,经两级“非”门整形后得到“0,1”的图象数据信号;接口端子4给CIS扫描头提供电源和信号引入连接;V1提供扫描光源的开关;CPU I/O接口6,除已经介绍的信号外,主要还有D0-15接入数据总线,READ_CE I/O的口地址译码信号,CIS_INT提供给CPU的16位数据采集完成的信号(或理解为中断请求),CPU可以用中断方式也可以用查询方式来读。信号时序由图4所示。
工作过程:当开始进行CIS图象扫描时,主CPU给出CLOCK_EN,由低变为高,同步时钟发生装置3的N6开始记数,由Q2、Q3分频的信号经N4A“与”后,得到占空比1∶3的CIS_CLOCK信号。主CPU给出START信号,保持时间大约一个CIS_CLOCK的时钟周期,这个信号经N4D和N5B后清除记数控制装置2的计数器N1,使N1开始对CIS_CLOCK记数;同时CIS_CLOCK作为三态移位寄存器74HC299的移位脉冲传送CIS_DATA数据,依次移位D0-D15,一旦记数到“16”,计数器N1的2QA输出“高”经“非”门后,输出CIS_INT信号给N4B;CIS_CLOCK被“与”门屏蔽,暂停输出CIS_CLOCK信号,CIS_INT信号作为记数16位的标记或中断请求给主CPU,主CPU根据CIS_INT信号产生READ_CE的I/O读信号(“低”有效);READ_CE信号兵分两路,一路给三态移位寄存器74HC299的选通,一路给N4D,其结果导致两个动作:1.打开74HC299的三态门,把数据传送到总线上;2.重新启动记数控制装置2的计数器N1恢复对CIS_CLOCK信号的记数,以开始下一个循环。这种CIS图象扫描头,每行1728个点,所以每行完成108次。
“与”门N4B是控制在CIS_INT产生时CIS_CLOCK被暂停,“与”门N4C是控制在READ_CE期间内CIS_CLOCK被暂停。CIS_CLOCK从N4C输出,一路给记数控制装置2的计数器N1记数,一路给三态移位寄存器74HC299移位;同时CIS图象传感器在这个信号激励下,输出CIS_SIG图象信号。