一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

实现串行接口全双工通信的主机芯片的电路结构的制作方法

2021-11-09 19:53:00 来源:中国专利 TAG:


1.本发明涉及通信领域,尤其涉及串行接口同步传输领域,具体是指一种实现串行接口全双工通信的主机芯片的电路结构。


背景技术:

2.串行通信作为计算机通信方式之一,主要起到主机或从机与外设之间数据传输的作用。串行通信具有传输线少、成本低的特点。
3.串行接口如要达到高速的传输速率和传输效率,多采用全双工、时钟同步的通信方式,并支持主、从模式工作。其芯片管脚上只占用串行数据线和同步时钟线,通过3个引脚与外部器件连接,3个引脚分别用于传输串行数据输入信号sdi、串行数据输出信号sdo及通信时钟信号sck,有些情况下还需增加一个传输片选信号cs的引脚。
4.主机芯片的接口可为外部从器件提供通信时钟信号sck;片选信号cs用于控制外部从器件的对应接口是否被选中。与通信时钟信号sck同步的通信时序很简单,即在主机通信时钟信号sck的控制下,两个双向移位数据线上的串行数据输入信号sdi、串行数据输出信号sdo进行同步数据交换,通信时钟信号sck的上升沿对应数据采样、下降沿对应数据移位,或者是通信时钟信号sck的上升沿对应数据移位、下降沿对应数据采样。主模式下通信时钟信号sck由主机芯片自行产生并直接使用。
5.实际的芯片内部的逻辑电路需要通过芯片的pad口与各个管脚相连接,其中,pad口由金属块构成。由于芯片内部的逻辑电路需要通过芯片的pad口与各个管脚相连接,故一些信号传输过程中会存在延时问题。现有全双工高速串行接口的设计中未考虑到通信接口输入/出到全双工高速串行接口中的双向pad口延时问题,而在高频传输下(一般传输速度为纳秒级),双向pad口输入、输出延时不可忽略,特别是pad口输出口延时长,容易导致采样数据线上串行输入数据信号sdi和移位数据线上串行输出数据信号sdo不同步,并与采样/移位用到的通信时钟信号sck存在较大的相位差,这对双方接收器正确接收对方数据都存在巨大的挑战,结合图1、2所示,具体如下:
6.用户假想的通过pad口与主机芯片连接的外引脚接口连接的信号应包括通信时钟信号sck、串行数据输入信号sdi和串行数据输出信号sdo;但基于主机芯片的数字电路逻辑设计时的结构特点,即其上的pad口带来的延时影响,实际上参与主机芯片工作的信号就包括了内部时钟信号sck_o、输入时钟信号sck_i、外到内串行数据输入信号sdi_i和内部串行数据输出信号sdo_o,下面对这些信号之间的关系以及带来的影响进行进一步地说明:
7.串行通信的通信时钟信号sck由己方产生,现有技术中,所有信号均采用同步设计方式,但由于芯片的pad口输入/输出延时通常达到纳秒级,对于高频传输通信时钟信号sck达到几十兆的串行数据传输来说,芯片的pad口延时不可忽略。
8.假设己方主机为非理想主机(即主机的双向pad口存在输入/输出延时),而对方从机为理想从机(即从机的双向pad口无延时)。
9.己方主机产生的内部时钟信号sck_o经过pad口会存在比较大的延时,当对方从机
的信号线输送的串行数据输入信号sdi由它接收到的时钟信号sck产生并传给己方主机时,如图1所示(图1仅为了对延时问题进行说明,因此,仅绘制了一些相关部件及端口,而没有绘制主机芯片中所有的功能模块),主机芯片内部时钟信号sck_o输出至pad口生成通信时钟信号sck,其所经历的延时为由pad口输出带来的延时(至少为10ns延时)。串行数据输入信号sdi是由通信时钟信号sck产生的,且串行数据输入信号sdi与通信时钟信号sck同相位,该信号输入进串行通信接口生成外到内串行数据输入信号sdi_i也需要经历pad口输入延时(至少为3ns延时),内部时钟信号sck_o与外到内串行数据输入信号sdi_i之间相差的相位为双向pad口输出延时 双向pad口输入延时(至少为13ns延时),正因为相关的相位使得主机可能导致采样出现错误。
10.结合图2中的时序图(图2中的时序图为串口通信在通信时钟信号sck上升沿进行采样,下降沿进行移位时的时序图,图2中绘制了内部时钟信号sck_o、通信时钟信号sck、串行输入数据信号sdi及外到内串行数据输入信号sdi_i之间的时序关系)可以更明显地看出,若采用现有技术中的方式,在内部时钟信号sck_o的上升沿对输入数据(即外到内串行数据输入信号sdi_i)进行采样时,当刚好处于外到内串行数据输入信号sdi_i数据不稳定的时候,采样极容易出错。


技术实现要素:

11.本发明的目的是克服了上述现有技术的缺点,提供了一种满足采样准确、无延时、适用范围广泛的实现串行接口全双工通信的主机芯片的电路结构。
12.为了实现上述目的,本发明的实现串行接口全双工通信的主机芯片的电路结构如下:
13.该实现串行接口全双工通信的主机芯片的电路结构,其主要特点是,所述主机芯片包括串行数据输入pad口、串行数据输出pad口、双向时钟信号输入输出pad口及时钟生成模块;
14.外部的串行数据输入信号sdi经由所述的串行数据输入pad口输入后,生成外到内串行数据输入信号sdi_i;
15.所述的时钟生成模块用于生成内部时钟信号sck_o,所述的时钟生成模块与所述的双向时钟信号输入输出pad口的内接端第一端相连接;
16.所述的内部时钟信号sck_o经由所述的双向时钟信号输入输出pad口的内接端第一端输出后,生成通信时钟信号sck从所述的双向时钟信号输入输出pad口的外接端输出,并经由所述的双向时钟信号输入输出pad口的内接端第二端生成输入时钟信号sck_i输出,所述的输入时钟信号sck_i用于对所述的外到内串行数据输入信号sdi_i进行解码;
17.其中,所述的通信时钟信号sck的相位与所述的串行数据输出pad口输出的串行数据输出信号sdo的相位一致。
18.较佳地,所述的双向时钟信号输入输出pad口包括输出缓冲器及输入缓冲器;
19.所述的输出缓冲器的输入端构成所述的双向时钟信号输入输出pad口的内接端第一端;所述的输入缓冲器的输出端构成所述的双向时钟信号输入输出pad口的内接端第二端;所述的输出缓冲器的输出端与所述的输入缓冲器的输入端相连接;
20.且所述的输出缓冲器的输出端构成所述的双向时钟信号输入输出pad口的外接
端。
21.较佳地,所述的主机芯片还包括辅助时钟生成模块;
22.所述的辅助时钟生成模块的第一端与所述的时钟生成模块相连接,接收所述的内部时钟信号sck_o;所述的辅助时钟生成模块的第二端与所述的双向时钟信号输入输出pad口的第二端相连接,接收所述的输入时钟信号sck_i;
23.所述的辅助时钟生成模块根据所述的内部时钟信号sck_o生成移位时钟信号sck_shift;
24.所述的辅助时钟生成模块根据所述的输入时钟信号sck_i生成采样时钟信号sck_sample。
25.更佳地,当所述的辅助时钟生成模块根据所述的输入时钟信号sck_i的下降沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的上升沿生成所述的移位时钟信号sck_shift时,所述的辅助时钟生成模块将接收到的所述的输入时钟信号sck_i输入第一反相器进行取反,得到所述的采样时钟信号sck_sample输出,且所述的辅助时钟生成模块将接收到的所述的内部时钟信号sck_o作为所述的移位时钟信号sck_shift输出;
26.当所述的辅助时钟生成模块根据所述的输入时钟信号sck_i的上升沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的下降沿生成所述的移位时钟信号sck_shift时,所述的辅助时钟生成模块将接收到的所述的输入时钟信号sck_i作为所述的采样时钟信号sck_sample输出,且所述的辅助时钟生成模块将接收到的所述的内部时钟信号sck_o输入第二反相器进行取反,得到所述的移位时钟信号sck_shift输出。
27.进一步地,所述的主机芯片还包括移位模块、采样模块;
28.所述的采样模块的第一输入端接所述的外到内串行数据输入信号sdi_i;
29.所述的移位时钟信号sck_shift及采样时钟信号sck_sample未与主频时钟信号clk同步;
30.由所述的采样时钟信号sck_sample触发所述的采样模块对所述的外到内串行数据输入信号sdi_i进行采样操作,生成串行采样数据信号sdi_i_s;
31.由所述的移位时钟信号sck_shift触发所述的移位模块对需要发送的输出并行数据包中的数据进行移位操作,生成相应的内部串行数据输出信号sdo_o,所述的内部串行数据输出信号sdo_o经由所述的串行数据输出pad口输出后生成所述的串行数据输出信号sdo。
32.更进一步地,所述的主机芯片还包括同步缓存模块、发送数据缓存模块及接收数据缓存模块;
33.所述的同步缓存模块获取所述的串行采样数据信号sdi_i_s,并将所述的串行采样数据信号sdi_i_s与所述的主频时钟信号clk同步;
34.所述的移位模块的第一输入端与所述的发送数据缓存模块相连接;
35.由载入触发信号load_time及所述的移位时钟信号sck_shift共同触发所述的发送数据缓存模块向所述的移位模块发送所述的输出并行数据包;其中,所述的载入触发信号load_time的触发时机为:避开所述的移位模块对所述的输出并行数据包中的数据进行移位的时刻;
36.由载出触发信号send_time触发所述的接收数据缓存模块从所述的同步缓存模块中接收与所述的主频时钟信号clk同步后的串行采样数据信号sdi_i_s;其中,所述的载出触发信号send_time的触发时机为:所述的接收数据缓存模块在接收任意两个相邻的所述的与所述的主频时钟信号clk同步后的串行采样数据信号sdi_i_s时,对接收到的前一帧所述的与所述的主频时钟信号clk同步后的串行采样数据信号sdi_i_s中的最后一位数据位采样完成后,对接收后一帧所述的与所述的主频时钟信号clk同步后的串行采样数据信号sdi_i_s中的第一位数据位采样完成还未开始移位前的时刻;
37.且所述的载入触发信号load_time与所述的载出触发信号send_time均与所述的主频时钟信号clk同步。
38.更进一步地,所述的载入触发信号load_time由载入触发模块生成,
39.当所述的辅助时钟生成模块根据所述的输入时钟信号sck_i的下降沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的上升沿生成所述的移位时钟信号sck_shift时,
40.所述的载入触发模块包括第一采样时钟同步并取沿单元、第一计数器生成单元、第一与非门、第二与非门、第一比较器、第二比较器及第一d触发器;
41.所述的第一采样时钟同步并取沿单元的第一输入端接所述的采样时钟信号sck_sample,所述的第一采样时钟同步并取沿单元的第二输入端接所述的主频时钟信号clk,所述的第一采样时钟同步并取沿单元将所述的采样时钟信号sck_sample在所述的主频时钟信号clk下同步并取下降沿,生成采样时钟同步下降沿信号sck_sample_syn_neg,并由所述的第一采样时钟同步并取沿单元的输出端输出所述的采样时钟同步下降沿信号sck_sample_syn_neg;
42.所述的第一采样时钟同步并取沿单元的输出端分别与所述的第一计数器生成单元的第一端、所述的第一与非门的第一端及所述的第二与非门的第一端相连接;
43.所述的第一计数器生成单元的第二端接所述的主频时钟信号clk,所述的第一计数器生成单元的输出端输出计数器信号cnt,所述的第一计数器生成单元的输出端分别与所述的第一比较器的第一输入端、所述的第二比较器的第一输入端以及所述的第一计数器生成单元的反馈端相连接;
44.所述的第一比较器的第二输入端接零,所述的第一比较器的输出端与所述的第一与非门的第二端相连接,所述的第一与非门的输出端与所述的第一d触发器的置位端相连接;
45.所述的第二比较器的第二输入端接预设的常数,所述的预设的常数的值与所述的发送数据缓存模块发出的所述的输出并行数据包的数据位宽对应,所述的第二比较器的输出端与所述的第二与非门的第二端相连接,所述的第二与非门的输出端与所述的第一d触发器的复位端相连接;
46.所述的第一d触发器的时钟输入端与所述的主频时钟信号clk相连接,所述的第一d触发器的q输出端与所述的第一d触发器的输入端相连接,所述的第一d触发器的q非输出端输出所述的载入触发信号load_time;
47.当所述的辅助时钟生成模块根据所述的输入时钟信号sck_i的上升沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的下降沿生成所述的移位时钟
信号sck_shift时,
48.所述的主机芯片还包括片选信号生成模块及第一或门,所述的片选信号生成模块用于生成片选信号cs,所述的第一或门的第一输入端接所述的采样时钟信号sck_sample,所述的第一或门的第二输入端接所述的片选信号cs,所述的第一或门的输出端输出片选采样时钟信号sck_sample’;
49.所述的载入触发模块包括第二采样时钟同步并取沿单元、片选信号同步并取沿单元、第二计数器生成单元、第三与非门、第四与非门、第三比较器、第四比较器、第一与门、第三反相器及第二d触发器;
50.所述的第二采样时钟同步并取沿单元的第一输入端接所述的片选采样时钟信号sck_sample’,所述的第二采样时钟同步并取沿单元的第二输入端接所述的主频时钟信号clk,所述的第二采样时钟同步并取沿单元将所述的片选采样时钟信号sck_sample’在所述的主频时钟信号clk下同步并取下降沿,生成采样时钟同步下降沿信号sck_sample_syn_neg,并由所述的第二采样时钟同步并取沿单元的输出端输出所述的采样时钟同步下降沿信号sck_sample_syn_neg;
51.所述的第二采样时钟同步并取沿单元的输出端分别与所述的第二计数器生成单元的第一端、所述的第三与非门的第一端及所述的第四与非门的第一端相连接;
52.所述的片选信号同步并取沿单元的第一输入端接所述的片选信号cs,所述的片选信号同步并取沿单元的第二输入端接所述的主频时钟信号clk;所述的片选信号同步并取沿单元将所述的片选信号cs在所述的主频时钟信号clk下同步,生成片选同步信号cs_syn,并由所述的片选信号同步并取沿单元的第一输出端输出所述的片选同步信号cs_syn;所述的片选信号同步并取沿单元将所述的片选信号cs在所述的主频时钟信号clk下同步并取上升沿,生成片选同步上升沿信号cs_syn_pos,并由所述的片选信号同步并取沿单元的第二输出端输出所述的片选同步上升沿信号cs_syn_pos;
53.所述的第二计数器生成单元的第二端接所述的主频时钟信号clk,所述的第二计数器生成单元的第三端接所述的片选同步信号cs_syn,所述的第二计数器生成单元的输出端输出计数器信号cnt,所述的第二计数器生成单元的输出端分别与所述的第三比较器的第一输入端、所述的第四比较器的第一输入端以及所述的第二计数器生成单元的反馈端相连接;
54.所述的第三比较器的第二输入端接零,所述的第三比较器的输出端与所述的第三与非门的第二端相连接,所述的第三与非门的输出端与所述的第二d触发器的置位端相连接;
55.所述的第四比较器的第二输入端接预设的常数,所述的预设的常数的值与所述的发送数据缓存模块发出的所述的输出并行数据包的数据位宽对应,所述的第四比较器的输出端与所述的第四与非门的第二端相连接,所述的第四与非门的输出端与所述的第一与门的第一输入端相连接;
56.所述的第三反相器的输入端接所述的片选同步上升沿信号cs_syn_pos,所述的第三反相器的输出端与所述的第一与门的第二输入端相连接,所述的第一与门的输出端与所述的第二d触发器的复位端相连接;
57.所述的第二d触发器的时钟输入端与所述的主频时钟信号clk相连接,所述的第二
d触发器的q输出端与所述的第二d触发器的输入端相连接,所述的第二d触发器的q非输出端输出所述的载入触发信号load_time。
58.更进一步地,所述的载出触发信号send_time由载出触发模块生成,所述的载出触发模块包括第五比较器、第三采样时钟同步并取沿单元、第三d触发器及第二与门;
59.所述的第五比较器的第一输入端接零,所述的第五比较器的第二输入端接所述的计数器信号cnt,所述的第五比较器的输出端与所述的第二与门的第一输入端相连接;
60.当所述的辅助时钟生成模块根据所述的输入时钟信号sck_i的下降沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的上升沿生成所述的移位时钟信号sck_shift时,所述的第三采样时钟同步并取沿单元的第一输入端接所述的采样时钟信号sck_sample;所述的第三采样时钟同步并取沿单元的第二输入端接所述的主频时钟信号clk,所述的第三采样时钟同步并取沿单元将所述的采样时钟信号sck_sample在所述的主频时钟信号clk下同步并取上升沿,生成采样时钟同步上升沿信号sck_sample_syn_pos;当所述的辅助时钟生成模块根据所述的输入时钟信号sck_i的上升沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的下降沿生成所述的移位时钟信号sck_shift时,所述的第三采样时钟同步并取沿单元的第一输入端接所述的片选采样时钟信号sck_sample’,所述的第三采样时钟同步并取沿单元的第二输入端接所述的主频时钟信号clk,所述的第三采样时钟同步并取沿单元将所述的片选采样时钟信号sck_sample’在所述的主频时钟信号clk下同步并取上升沿,生成采样时钟同步上升沿信号sck_sample_syn_pos;
61.由所述的第三采样时钟同步并取沿单元的输出端输出所述的采样时钟同步上升沿信号sck_sample_syn_pos;
62.所述的第三d触发器的时钟输入端与所述的主频时钟信号clk相连接,所述的第三d触发器的输入端与所述的第三采样时钟同步并取沿单元的输出端相连接,所述的第三d触发器的q输出端与所述的第二与门的第二输入端相连接;
63.所述的第二与门的输出端输出所述的载出触发信号send_time。
64.更进一步地,所述的第一采样时钟同步并取沿单元与所述的第二采样时钟同步并取沿单元均可由同步并取下降沿单元构成,所述的同步并取下降沿单元包括:第四d触发器、第五d触发器、第六d触发器、第四反相器及第三与门;
65.所述的第四d触发器的输入端构成所述的第一采样时钟同步并取沿单元的第一输入端或所述的第二采样时钟同步并取沿单元的第一输入端;所述的第四d触发器的时钟输入端、所述的第五d触发器的时钟输入端及所述的第六d触发器的时钟输入端共同构成所述的第一采样时钟同步并取沿单元的第二输入端或所述的第二采样时钟同步并取沿单元的第二输入端;
66.所述的第四d触发器的q输出端与所述的第五d触发器的输入端相连接;所述的第五d触发器的q输出端分别与所述的第六d触发器的输入端及所述的第四反相器的输入端相连接;
67.所述的第四反相器的输出端与所述的第三与门的第一输出端相连接;所述的第六d触发器的q输出端与所述的第三与门的第二输出端相连接;所述的第三与门的输出端构成所述的第一采样时钟同步并取沿单元的输出端或所述的第二采样时钟同步并取沿单元的
输出端;
68.所述的片选信号同步并取沿单元与所述的第三采样时钟同步并取沿单元均可由同步并取上升沿单元构成,所述的同步并取上升沿单元包括:第七d触发器、第八d触发器、第九d触发器、第五反相器及第四与门;
69.所述的第七d触发器的输入端构成所述的片选信号同步并取沿单元的第一输入端或所述的第三采样时钟同步并取沿单元的第一输入端;所述的第七d触发器的时钟输入端、所述的第八d触发器的时钟输入端及所述的第九d触发器的时钟输入端共同构成所述的片选信号同步并取沿单元的的第二输入端或所述的第三采样时钟同步并取沿单元的第二输入端;
70.所述的第七d触发器的q输出端与所述的第八d触发器的输入端相连接;所述的第八d触发器的q输出端分别与所述的第九d触发器的输入端及所述的第四与门的第一输入端相连接;所述的第八d触发器的q输出端构成所述的片选信号同步并取沿单元的第一输出端;
71.所述的第九d触发器的q输出端通过所述的第五反相器与所述的第四与门的第二输入端相连接;
72.所述的第四与门的输出端构成所述的片选信号同步并取沿单元的第二输出端或所述的第三采样时钟同步并取沿单元的输出端。
73.更进一步地,所述的采样模块包括第十d触发器,所述的第十d触发器的输入端构成所述的采样模块的第一输入端;
74.当所述的辅助时钟生成模块根据所述的输入时钟信号sck_i的下降沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的上升沿生成所述的移位时钟信号sck_shift时,所述的第十d触发器的时钟输入端接所述的采样时钟信号sck_sample;当所述的辅助时钟生成模块根据所述的输入时钟信号sck_i的上升沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的下降沿生成所述的移位时钟信号sck_shift时,所述的第十d触发器的时钟输入端接所述的片选采样时钟信号sck_sample’;
75.所述的第十d触发器的q输出端输出所述的串行采样数据信号sdi_i_s。
76.更进一步地,所述的移位模块包括移位寄存器单元;
77.所述的移位寄存器单元的第一输入端构成所述的移位模块的第一输入端,所述的移位寄存器单元的第二输入端接所述的载入触发信号load_time;
78.当所述的辅助时钟生成模块根据所述的输入时钟信号sck_i的下降沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的上升沿生成所述的移位时钟信号sck_shift时,所述的移位寄存器单元的时钟输入端接所述的移位时钟信号sck_shift;当所述的辅助时钟生成模块根据所述的输入时钟信号sck_i的上升沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的下降沿生成所述的移位时钟信号sck_shift时,所述的主机芯片还包括第六反相器及第五与门,所述的片选信号cs通过所述的第六反相器输入所述的第五与门的第一输入端,所述的第五与门的第二输入端接所述的移位时钟信号sck_shift,所述的第五与门的输出端输出片选移位时钟信号sck_shift’,所述的移位寄存器单元的时钟输入端接所述的片选移位时钟信号sck_shift’;
79.所述的移位寄存器单元的第一输出端输出所述的内部串行数据输出信号sdo_o。
80.更进一步地,所述的同步缓存模块包括:串行采样信号同步单元、移位寄存器同步单元、第十一d触发器;
81.所述的串行采样信号同步单元的第一输入端与所述的第十d触发器的q输出端相连接,所述的串行采样信号同步单元的第二输入端接所述的主频时钟信号clk,所述的串行采样信号同步单元的输出端与所述的接收数据缓存模块的第一输入端相连接;
82.所述的第十d触发器的q输出端与所述的移位寄存器单元的第三输入端相连接,所述的移位寄存器单元的第二输出端与所述的移位寄存器同步单元的第一输入端相连接,所述的移位寄存器同步单元的第二输入端接所述的主频时钟信号clk,所述的移位寄存器同步单元的输出端与所述的第十一d触发器的输入端相连接,所述的第十一d触发器的时钟输入端接所述的主频时钟信号clk,所述的第十一d触发器的q输出端与所述的接收数据缓存模块的第二输入端相连接;
83.所述的接收数据缓存模块的第三输入端接所述的主频时钟信号clk,所述的接收数据缓存模块的第四输入端接所述的载出触发信号send_time;
84.由所述的串行采样信号同步单元的输出端输出的信号与所述的第十一d触发器的q输出端输出的信号拼接后组成所述的与所述的主频时钟信号clk同步后的串行采样数据信号sdi_i_s。
85.更进一步地,所述的串行采样信号同步单元及移位寄存器同步单元均可由同步单元构成,所述的同步单元包括第十二d触发器及第十三d触发器;
86.所述的第十二d触发器的输入端构成所述的串行采样信号同步单元的第一输入端或所述的移位寄存器同步单元的第一输入端;所述的第十二d触发器的时钟输入端与所述的第十三d触发器的时钟输入端共同构成所述的串行采样信号同步单元的第二输入端或所述的移位寄存器同步单元的第二输入端;所述的第十二d触发器的q输出端与所述的第十三d触发器的输入端相连接;所述的第十三d触发器的q输出端构成所述的串行采样信号同步单元的输出端或所述的移位寄存器同步单元的输出端。
87.采用本发明的实现串行接口全双工通信的主机芯片的电路结构,通过经由双向时钟信号输入输出pad口生成的输入时钟信号sck_i对经由串行数据输入pad口生成的外到内串行数据输入信号sdi_i串行数据输入pad口接收的数据进行解码,并使得通信时钟信号sck的相位与串行数据输出pad口输出的串行数据输出信号sdo的相位一致,以确保不会因双向pad口延时造成的采样/移位出错的问题。该采用本发明的实现串行接口全双工通信的主机芯片的电路结构具备信息传输准确率高、性能优越、成本低的特点,具备广泛的适应性。
附图说明
88.图1为现有技术中的实现串行接口全双工通信电路的信号传输状态的示意图。
89.图2为图1中的信号的时序图。
90.图3为一实施例中本发明的实现串行接口全双工通信的主机芯片的电路结构的简图。
91.图4为一实施例中本发明的双向时钟信号输入输出pad口的结构示意图。
92.图5为一实施例中本发明的实现串行接口全双工通信的主机芯片的电路结构的信
号传输状态的示意图。
93.图6a为一实施例中本发明的辅助时钟生成模块的生成采样信号及移位信号的逻辑示意图。
94.图6b为另一实施例中本发明的辅助时钟生成模块的生成采样信号及移位信号的逻辑示意图。
95.图7为一实施例中本发明的实现串行接口全双工通信的主机芯片的电路结构中的主机芯片的模块关系示意图。
96.图8a为一实施例中本发明的载入触发模块的结构示意图。
97.图8b为另一实施例中本发明的载入触发模块的结构示意图。
98.图9为一实施例中本发明的载出触发模块的结构示意图。
99.图10为一实施例中本发明的中的同步并取下降沿单元的结构示意图。
100.图11为一实施例中本发明的中的同步并取上升沿单元的结构示意图。
101.图12为一实施例中本发明的同步单元的结构示意图。
102.图13为一实施例中本发明的移位模块的工作原理示意图。
103.图14为根据所述的输入时钟信号sck_i的下降沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的上升沿生成所述的移位时钟信号sck_shift的时序图。
104.图15为根据所述的输入时钟信号sck_i的上升沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的下降沿生成所述的移位时钟信号sck_shift的时序图。
105.图16为显示载出触发信号send_time在根据所述的输入时钟信号sck_i的下降沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的上升沿生成所述的移位时钟信号sck_shift时,与其他信号的相位关系的时序图。
106.图17为显示载出触发信号send_time在根据所述的输入时钟信号sck_i的上升沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的下降沿生成所述的移位时钟信号sck_shift时,与其他信号的相位关系的时序图。
具体实施方式
107.为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
108.如图3至图12所示,本发明的实现串行接口全双工通信的主机芯片的电路结构,主要功能模块包括时钟生成模块、辅助时钟生成模块、采样模块、移位模块和同步缓存模块,在当所述的辅助时钟生成模块根据所述的输入时钟信号sck_i的上升沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的下降沿生成所述的移位时钟信号sck_shift时,还包括片选信号生成模块,具体电路如下:
109.如图3所示,所述主机芯片包括串行数据输入pad口、串行数据输出pad口、双向时钟信号输入输出pad口及时钟生成模块;
110.外部的串行数据输入信号sdi经由所述的串行数据输入pad口输入后,生成外到内串行数据输入信号sdi_i;
111.所述的时钟生成模块用于生成内部时钟信号sck_o,所述的时钟生成模块与所述的双向时钟信号输入输出pad口的内接端第一端相连接;
112.所述的内部时钟信号sck_o经由所述的双向时钟信号输入输出pad口的内接端第一端输出后,生成通信时钟信号sck从所述的双向时钟信号输入输出pad口的外接端输出,并经由所述的双向时钟信号输入输出pad口的内接端第二端生成输入时钟信号sck_i输出,所述的输入时钟信号sck_i用于对所述的外到内串行数据输入信号sdi_i进行解码;
113.其中,所述的通信时钟信号sck的相位与所述的串行数据输出pad口输出的串行数据输出信号sdo的相位一致。
114.采用该实施例中的实现串行接口全双工通信的主机芯片的电路结构,不直接使用内部时钟信号sck_o进行串行输入/输出数据的处理,而是将内部时钟信号sck_o经由所述的双向时钟信号输入输出pad口输出延时后再经过双向时钟信号输入输出pad口输入延时后取到输入时钟信号sck_i。将数据的采样和移位操作通过两个不同的时钟——采样时钟信号sck_sample和移位时钟信号sck_shift来实现。
115.其可有效解决主模式下通信因双向pad口延时造成的信号的采样或移位错的问题(即在主模式下,己方产生的时钟信号经过双向pad口将会存在pad输出延时的问题),在数字电路可靠性设计的前提下,保持串行数据输出信号sdo与通信时钟信号sck的相位一致,同时确保己方采样不会受双向pad口延时影响导致采样出错。
116.如图4所述,在该实施例中,所述的双向时钟信号输入输出pad口包括输出缓冲器及输入缓冲器;
117.所述的输出缓冲器的输入端构成所述的双向时钟信号输入输出pad口的内接端第一端;所述的输入缓冲器的输出端构成所述的双向时钟信号输入输出pad口的内接端第二端;所述的输出缓冲器的输出端与所述的输入缓冲器的输入端相连接;
118.且所述的输出缓冲器的输出端构成所述的双向时钟信号输入输出pad口的外接端。
119.如图4所示,该双向时钟信号输入输出pad口可以理解为一种双向i/o缓冲器的结构,由pad_o端输入内部时钟信号sck_o,由pad_i端输出输入时钟信号sck_i,输出通信时钟信号sck的端口为bonding pad(即对外引脚绑定口),内部时钟信号sck_o由主机芯片生成,pad_oe可由电路主cpu配置,为双向i/o缓冲器输出使能信号,用于设置双向时钟信号输入输出pad口处于输出模式还是输入模式,在主模式下,pad_oe设置为输出模式,但它的设置并不会阻碍pad_i端的信号的输入,pad_i端上的信号即为累计经过双向时钟信号输入输出pad口的输出延时 输入延时后的由pad_o端出入的信号,即为内部时钟信号sck_o经过双向pad口的输出延时 输入延时后生成的输入时钟信号sck_i。
120.在该实施例中,所述的主机芯片还包括辅助时钟生成模块;
121.所述的辅助时钟生成模块的第一端与所述的时钟生成模块相连接,接收所述的内部时钟信号sck_o;所述的辅助时钟生成模块的第二端与所述的双向时钟信号输入输出pad口的第二端相连接,接收所述的输入时钟信号sck_i;
122.所述的辅助时钟生成模块根据所述的内部时钟信号sck_o生成移位时钟信号sck_shift;
123.所述的辅助时钟生成模块根据所述的输入时钟信号sck_i生成采样时钟信号sck_
sample。
124.即该实施例中的实现串行接口全双工通信的主机芯片的电路结构,为将电路内部生成的内部时钟信号sck_o经过双向时钟信号输入输出pad口延时后得到的通信时钟信号sck从双向时钟信号输入输出pad口重新输入,得到输入时钟信号sck_i,用输入时钟信号sck_i对外到内串行数据输入信号sdi_i进行采样,即通过将采样时钟经过双向时钟信号输入输出pad口输出再回传的过程,保证采样的正确性。主模式下,选用的移位时钟信号sck_shift不要经过pad口回传,仍用内部时钟信号sck_o进行移位,关于这部分的处理都在辅助时钟生成单元中完成。
125.下面结合图5进一步地说明本发明中的实现串行接口全双工通信的主机芯片的电路结构中的信号间的关系,双向时钟信号输入输出pad口相当于串行数据输入pad口与串行数据输出pad口的结合。
126.以所述的辅助时钟生成模块根据所述的输入时钟信号sck_i的下降沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的上升沿生成所述的移位时钟信号sck_shift的情况为例:
127.主模式下生成内部时钟信号sck_o,内部时钟信号sck_o经过双向时钟信号输入输出pad口输出延时,生成延时后的信号——通信时钟信号sck,由内部时钟信号sck_o在辅助时钟生成单元经过如图6a所示的组合逻辑生成移位时钟信号sck_shift,在移位模块中,并行数据在移位时钟信号sck_shift的每个上升沿移位产生内部串行数据输出信号sdo_o,内部串行数据输出信号sdo_o经过串行数据输出pad口输出延时,生成延时后的信号——串行数据输出信号sdo。内部时钟信号sck_o和内部串行数据输出信号sdo_o始终是沿对齐的,同理,经过相同特性的双向时钟信号输入输出pad口输出延时后,通信时钟信号sck与串行数据输出信号sdo始终是沿对齐的,即说明通信时钟信号sck与串行数据输出信号sdo之间无相位差。
128.串行数据输入信号sdi与通信时钟信号sck之间无相位差(在对方从机是理想从机的基础上),串行数据输入信号sdi经过串行数据输入pad口输入延时,生成延时后的信号——外到内串行数据输入信号sdi_i,通信时钟信号sck经过双向时钟信号输入输出pad口输入延时,生成延时后的信号——输入时钟信号sck_i,经过相同特性的pad口输入延时后,输入时钟信号sck_i与外到内串行数据输入信号sdi_i之间无相位差。由输入时钟信号sck_i在如图6a所示的辅助时钟生成模块中生成采样时钟信号sck_sample,在采样模块和同步缓存模块的共同作用下,采样时钟信号sck_sample对外到内串行数据输入信号sdi_i进行同相位采样,生成并行采样数据,这样可以保证采样的正确无误。
129.在所述的辅助时钟生成模块根据所述的输入时钟信号sck_i的上升沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的下降沿生成所述的移位时钟信号sck_shift的情况下,其工作原理与以所述的辅助时钟生成模块根据所述的输入时钟信号sck_i的下降沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的上升沿生成所述的移位时钟信号sck_shift的情况类似,只是其中的移位时钟信号sck_shift由图6b中的组合逻辑生成的移位时钟信号sck_shift与片选信号cs共同构成的片选移位时钟信号sck_shift’代替,采样时钟信号sck_sample由图6b中的组合逻辑生成的采样时钟信号sck_sample与片选信号cs共同构成的片选采样时钟信号sck_sample’代替,因此,
不对其工作原理再进行赘述。
130.如图6a所示,在该实施例中,当所述的辅助时钟生成模块根据所述的输入时钟信号sck_i的下降沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的上升沿生成所述的移位时钟信号sck_shift时,所述的辅助时钟生成模块将接收到的所述的输入时钟信号sck_i输入第一反相器进行取反,得到所述的采样时钟信号sck_sample输出,且所述的辅助时钟生成模块将接收到的所述的内部时钟信号sck_o作为所述的移位时钟信号sck_shift输出;
131.如图6b所示,当所述的辅助时钟生成模块根据所述的输入时钟信号sck_i的上升沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的下降沿生成所述的移位时钟信号sck_shift时,所述的辅助时钟生成模块将接收到的所述的输入时钟信号sck_i作为所述的采样时钟信号sck_sample输出,且所述的辅助时钟生成模块将接收到的所述的内部时钟信号sck_o输入第二反相器进行取反,得到所述的移位时钟信号sck_shift输出。
132.如图3所示,在该实施例中,所述的主机芯片还包括移位模块、采样模块;
133.所述的采样模块的第一输入端接所述的外到内串行数据输入信号sdi_i;
134.所述的移位时钟信号sck_shift及采样时钟信号sck_sample未与主频时钟信号clk同步;
135.由所述的采样时钟信号sck_sample触发所述的采样模块对所述的外到内串行数据输入信号sdi_i进行采样操作,生成串行采样数据信号sdi_i_s;
136.由所述的移位时钟信号sck_shift触发所述的移位模块对需要发送的输出并行数据包中的数据进行移位操作,生成相应的内部串行数据输出信号sdo_o,所述的内部串行数据输出信号sdo_o经由所述的串行数据输出pad口输出后生成所述的串行数据输出信号sdo。
137.在该实施例中,所述的主机芯片还包括同步缓存模块、发送数据缓存模块及接收数据缓存模块;
138.所述的同步缓存模块获取所述的串行采样数据信号sdi_i_s,并将所述的串行采样数据信号sdi_i_s与所述的主频时钟信号clk同步;
139.所述的移位模块的第一输入端与所述的发送数据缓存模块相连接;
140.由载入触发信号load_time及所述的移位时钟信号sck_shift共同触发所述的发送数据缓存模块向所述的移位模块发送所述的输出并行数据包;其中,所述的载入触发信号load_time的触发时机为:避开所述的移位模块对所述的输出并行数据包中的数据进行移位的时刻;
141.即载入触发信号load_time高电平有效,其高电平的时机选为避开移位寄存器单元对内部数据进行移位的时机,也理解为高电平的时机为筛选出发送数据缓存单元中并行数据载入移位寄存器单元中的触发时机。
142.由载出触发信号send_time触发所述的接收数据缓存模块从所述的同步缓存模块中接收与所述的主频时钟信号clk同步后的串行采样数据信号sdi_i_s;其中,所述的载出触发信号send_time的触发时机为:所述的接收数据缓存模块在接收任意两个相邻的所述的与所述的主频时钟信号clk同步后的串行采样数据信号sdi_i_s时,对接收到的前一帧所
述的与所述的主频时钟信号clk同步后的串行采样数据信号sdi_i_s中的最后一位数据位采样完成后,对接收后一帧所述的与所述的主频时钟信号clk同步后的串行采样数据信号sdi_i_s中的第一位数据位采样完成还未开始移位前的时刻;
143.即载出触发信号send_time的触发时机为在第一帧采样数据最后一位采样完成后,第二帧数据第一位还未开始移位之间,对于一帧8位的数据而言,所述的载出触发信号send_time的触发时机为第8个采样时钟信号的上升沿,即第8个数据刚完成采样这个当前时刻点。
144.且所述的载入触发信号load_time与所述的载出触发信号send_time均与所述的主频时钟信号clk同步。
145.其中,该实施例的实现串行接口全双工通信的主机芯片的电路结构中的主机芯片的模块关系可参阅图7所示,图7中给出了当所述的辅助时钟生成模块根据所述的输入时钟信号sck_i的上升沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的下降沿生成所述的移位时钟信号sck_shift情况下的示意图;而当所述的辅助时钟生成模块根据所述的输入时钟信号sck_i的下降沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的上升沿生成所述的移位时钟信号sck_shift时,只需省略图7中的片选信号生成模块、第一或门、第五与门and5及相应的反相器,直接由采样时钟信号sck_sample与移位时钟信号sck_shift代替片选采样时钟信号sck_sample’与片选移位时钟信号sck_shift’触发相应的采样模块、载入触发模块及移位模块工作即可,因此,未绘制相应的图片。
146.当所述的辅助时钟生成模块根据所述的输入时钟信号sck_i的上升沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的下降沿生成所述的移位时钟信号sck_shift时,由采样时钟信号sck_sample与片选信号cs共同构成的片选采样时钟信号sck_sample’代替采样时钟信号sck_sample触发采样,以及由移位时钟信号sck_shift与片选信号cs共同构成的片选移位时钟信号sck_shift’代替移位时钟信号sck_shift触发移位,这是由于在这种情况下如果仅依靠移位时钟信号sck_shift触发移位操作会使得移位时钟信号sck_shift的第一个上升沿与载入触发信号load_time的使能部分错开,无法实现触发所述的发送数据缓存模块向所述的移位模块发送所述的输出并行数据包的功能,故采用片选采样时钟信号sck_sample’与片选移位时钟信号sck_shift’。
147.在该实施例中,所述的载入触发信号load_time由载入触发模块生成,
148.如图8a所示,当所述的辅助时钟生成模块根据所述的输入时钟信号sck_i的下降沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的上升沿生成所述的移位时钟信号sck_shift时,
149.所述的载入触发模块包括第一采样时钟同步并取沿单元、第一计数器生成单元、第一与非门nand1、第二与非门nand2、第一比较器equ1、第二比较器equ2及第一d触发器dff1;
150.所述的第一采样时钟同步并取沿单元的第一输入端接所述的采样时钟信号sck_sample,所述的第一采样时钟同步并取沿单元的第二输入端接所述的主频时钟信号clk,所述的第一采样时钟同步并取沿单元将所述的采样时钟信号sck_sample在所述的主频时钟信号clk下同步并取下降沿,生成采样时钟同步下降沿信号sck_sample_syn_neg,并由所述
的第一采样时钟同步并取沿单元的输出端输出所述的采样时钟同步下降沿信号sck_sample_syn_neg;
151.所述的第一采样时钟同步并取沿单元的输出端分别与所述的第一计数器生成单元的第一端、所述的第一与非门nand1的第一端及所述的第二与非门nand2的第一端相连接;
152.所述的第一计数器生成单元的第二端接所述的主频时钟信号clk,所述的第一计数器生成单元的输出端输出计数器信号cnt,所述的第一计数器生成单元的输出端分别与所述的第一比较器equ1的第一输入端、所述的第二比较器equ2的第一输入端以及所述的第一计数器生成单元的反馈端相连接;
153.所述的第一比较器equ1的第二输入端接零,所述的第一比较器equ1的输出端与所述的第一与非门nand1的第二端相连接,所述的第一与非门nand1的输出端与所述的第一d触发器dff1的置位端相连接;
154.所述的第二比较器equ2的第二输入端接预设的常数,所述的预设的常数的值与所述的发送数据缓存模块发出的所述的输出并行数据包的数据位宽对应,所述的第二比较器equ2的输出端与所述的第二与非门nand2的第二端相连接,所述的第二与非门nand2的输出端与所述的第一d触发器dff1的复位端相连接;
155.所述的第一d触发器dff1的时钟输入端与所述的主频时钟信号clk相连接,所述的第一d触发器dff1的q输出端与所述的第一d触发器dff1的输入端相连接,所述的第一d触发器dff1的q非输出端输出所述的载入触发信号load_time;
156.当所述的辅助时钟生成模块根据所述的输入时钟信号sck_i的上升沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的下降沿生成所述的移位时钟信号sck_shift时,
157.所述的主机芯片还包括片选信号生成模块及第一或门,所述的片选信号生成模块用于生成片选信号cs,所述的第一或门的第一输入端接所述的采样时钟信号sck_sample,所述的第一或门的第二输入端接所述的片选信号cs,所述的第一或门的输出端输出片选采样时钟信号sck_sample’;
158.该实施例中的片选采样时钟信号sck_sample’实际上是由经辅助时钟生成模块对输入时钟信号sck_i进行处理得到的采样时钟信号sck_sample和片选信号cs经过组合逻辑后生成的。
159.如图8b所示,所述的载入触发模块包括第二采样时钟同步并取沿单元、片选信号同步并取沿单元、第二计数器生成单元、第三与非门nand3、第四与非门nand4、第三比较器equ3、第四比较器equ4、第一与门and1、第三反相器及第二d触发器dff2;
160.所述的第二采样时钟同步并取沿单元的第一输入端接所述的片选采样时钟信号sck_sample’,所述的第二采样时钟同步并取沿单元的第二输入端接所述的主频时钟信号clk,所述的第二采样时钟同步并取沿单元将所述的片选采样时钟信号sck_sample’在所述的主频时钟信号clk下同步并取下降沿,生成采样时钟同步下降沿信号sck_sample_syn_neg,并由所述的第二采样时钟同步并取沿单元的输出端输出所述的采样时钟同步下降沿信号sck_sample_syn_neg;
161.所述的第二采样时钟同步并取沿单元的输出端分别与所述的第二计数器生成单
元的第一端、所述的第三与非门nand3的第一端及所述的第四与非门nand4的第一端相连接;
162.所述的片选信号同步并取沿单元的第一输入端接所述的片选信号cs,所述的片选信号同步并取沿单元的第二输入端接所述的主频时钟信号clk;所述的片选信号同步并取沿单元将所述的片选信号cs在所述的主频时钟信号clk下同步,生成片选同步信号cs_syn,并由所述的片选信号同步并取沿单元的第一输出端输出所述的片选同步信号cs_syn;所述的片选信号同步并取沿单元将所述的片选信号cs在所述的主频时钟信号clk下同步并取上升沿,生成片选同步上升沿信号cs_syn_pos,并由所述的片选信号同步并取沿单元的第二输出端输出所述的片选同步上升沿信号cs_syn_pos;
163.所述的第二计数器生成单元的第二端接所述的主频时钟信号clk,所述的第二计数器生成单元的第三端接所述的片选同步信号cs_syn,所述的第二计数器生成单元的输出端输出计数器信号cnt,所述的第二计数器生成单元的输出端分别与所述的第三比较器equ3的第一输入端、所述的第四比较器equ4的第一输入端以及所述的第二计数器生成单元的反馈端相连接;
164.所述的第三比较器equ3的第二输入端接零,所述的第三比较器equ3的输出端与所述的第三与非门nand3的第二端相连接,所述的第三与非门nand3的输出端与所述的第二d触发器dff2的置位端相连接;
165.所述的第四比较器equ4的第二输入端接预设的常数,所述的预设的常数的值与所述的发送数据缓存模块发出的所述的输出并行数据包的数据位宽对应,所述的第四比较器equ4的输出端与所述的第四与非门nand4的第二端相连接,所述的第四与非门nand4的输出端与所述的第一与门and1的第一输入端相连接;
166.所述的第三反相器的输入端接所述的片选同步上升沿信号cs_syn_pos,所述的第三反相器的输出端与所述的第一与门and1的第二输入端相连接,所述的第一与门and1的输出端与所述的第二d触发器dff2的复位端相连接;
167.所述的第二d触发器dff2的时钟输入端与所述的主频时钟信号clk相连接,所述的第二d触发器dff2的q输出端与所述的第二d触发器dff2的输入端相连接,所述的第二d触发器dff2的q非输出端输出所述的载入触发信号load_time。
168.在任何前提条件下(无论是根据所述的输入时钟信号sck_i的上升沿生成所述的采样时钟信号sck_sample,还是根据所述的输入时钟信号sck_i的下降沿生成所述的采样时钟信号sck_sample的前提条件下),一帧数据传输结束后载入触发信号load_time必须回到复位状态(高电平状态)。
169.在所述的辅助时钟生成模块根据所述的输入时钟信号sck_i的上升沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的下降沿生成所述的移位时钟信号sck_shift的方案中利用这个片选同步上升沿信号cs_syn_pos使载入触发信号load_time复位。图8b中,生成的下降沿rn经过第二d触发器dff2的复位端clr复位,生成载入触发信号load_time的上升沿,使得一帧数据传输结束后载入触发信号load_time回到复位状态,即高电平状态。
170.同时,在该方案中计数器生成单元计数器清0的一个必要条件是片选同步信号cs_syn为高,数据传输结束,将计数器信号cnt清零计数器信号cnt若没有片选同步信号cs_syn
为高这个条件,计数器信号cnt最后会停在1处,回不到初始值0处。如图15所示,一共有9个采样时钟同步下降沿信号sck_sample_syn_neg,每个采样时钟同步下降沿信号sck_sample_syn_neg高电平有效时刻,计数器信号cnt都会加1,计数器信号cnt计数只能计0~7,最后会加到1,一帧8位数据传输结束后需要这个片选同步信号cs_syn高电平有效的条件将计数器信号cnt重新清0,使之回到初始状态。
171.第一计数器生成单元与第二计数器生成单元的功能为:记录的就是当前发送、接收到的一帧串行数据个数,复位状态下计数器信号cnt为0,说明未采样到第一个数据,同时也未发送第一个的数据;计数器信号cnt为1时,说明采样到第一个需接收的串行数据,当前只采样到,但这个数据还未移位进移位寄存器中,同时发送第一个需发送的串行数据;计数器信号cnt为2时,说明采样到第二个需接收的串行数据,第一个采样到的需接收的串行数据移位进移位寄存器中,同时发送第二个需发送的串行数据;计数器信号cnt为3时,说明采样到第三个需接收的串行数据,第二个采样到的需接收的串行数据移位进移位寄存器中,同时发送第三个需发送的串行数据;以此类推,当计数器信号cnt为7时,说明采样到第七个需接收的串行数据,第六个采样到的需接收的串行数据移位进移位寄存器中,同时发送第七个需发送的串行数据;当计数器信号cnt重新回到0时,说明采样到第八个需接收的串行数据,第七个采样到的需接收的串行数据移位进移位寄存器中,同时发送第八个需发送的串行数据。
172.上述说明为以对8位的数据进行传输为例子进行的说明,一帧8位数据就从0递增到7后回到0,如果是对16位的数据进行说明就以同样的方式从0递增到15后回到0,该实施例中采用的第一计数器生成单元与第二计数器生成单元均为循环计数器,输入回计数器生成单元就是说明它会循环计数。在数据一帧接着一帧连续传输的时候,计数器cnt记到一帧数据满(7或15等等)以后就会清0。
173.下面对当所述的辅助时钟生成模块根据所述的输入时钟信号sck_i的上升沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的下降沿生成所述的移位时钟信号sck_shift时,所述的载入触发模块的工作过程进行说明:
174.采样时钟信号sck_sample经与主频时钟信号clk同步和取沿操作后,生成采样时钟同步下降沿信号sck_sample_syn_neg信号。片选信号cs经与主频时钟信号clk同步和取沿操作生成片选同步信号cs_syn和片选同步上升沿信号cs_syn_pos信号。计数器信号cnt为数据帧位计数,计数器信号cnt由计数器生成单元产生,计数器信号cnt的大小由串行数据帧位数决定。data_len是一个常数,表明数据帧位数。计数器信号cnt经过第三比较器equ3后提取出cnt==0的时刻,计数器信号cnt经过第四比较器equ4后提取出cnt==data_len的时刻,二输入与非门(第三与非门nand3)和二输入与门(第一与门and1)生成的信号输入第二d触发器dff2的置位端set和复位端clr,第二d触发器dff2的置位端和复位端为异步下降沿置位端set和异步下降沿复位端clr,q非输出端输出的信号即为载入触发信号load_time。
175.如图9所示,在该实施例中,所述的载出触发信号send_time由载出触发模块生成,所述的载出触发模块包括第五比较器equ5、第三采样时钟同步并取沿单元、第三d触发器dff3及第二与门;
176.所述的第五比较器equ5的第一输入端接零,所述的第五比较器equ5的第二输入端
接所述的计数器信号cnt,所述的第五比较器equ5的输出端与所述的第二与门的第一输入端相连接;
177.当所述的辅助时钟生成模块根据所述的输入时钟信号sck_i的下降沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的上升沿生成所述的移位时钟信号sck_shift时,所述的第三采样时钟同步并取沿单元的第一输入端接所述的采样时钟信号sck_sample;所述的第三采样时钟同步并取沿单元的第二输入端接所述的主频时钟信号clk,所述的第三采样时钟同步并取沿单元将所述的采样时钟信号sck_sample在所述的主频时钟信号clk下同步并取上升沿,生成采样时钟同步上升沿信号sck_sample_syn_pos;当所述的辅助时钟生成模块根据所述的输入时钟信号sck_i的上升沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的下降沿生成所述的移位时钟信号sck_shift时,所述的第三采样时钟同步并取沿单元的第一输入端接所述的片选采样时钟信号sck_sample’,所述的第三采样时钟同步并取沿单元的第二输入端接所述的主频时钟信号clk,所述的第三采样时钟同步并取沿单元将所述的片选采样时钟信号sck_sample’在所述的主频时钟信号clk下同步并取上升沿,生成采样时钟同步上升沿信号sck_sample_syn_pos;
178.由所述的第三采样时钟同步并取沿单元的输出端输出所述的采样时钟同步上升沿信号sck_sample_syn_pos;
179.所述的第三d触发器dff3的时钟输入端与所述的主频时钟信号clk相连接,所述的第三d触发器dff3的输入端与所述的第三采样时钟同步并取沿单元的输出端相连接,所述的第三d触发器dff3的q输出端与所述的第二与门的第二输入端相连接;
180.所述的第二与门的输出端输出所述的载出触发信号send_time。
181.载入触发信号load_time和载出触发信号send_time分别对应发送数据缓存模块中的输出并行数据包载入移位模块中的触发时机和同步缓存模块中的并行数据载出给接收数据缓存模块的触发时机。
182.载出触发信号send_time是一个高有效信号,通过比较器将计数器信号cnt与零进行对比后,提出cnt==0的时刻,采样时钟信号sck_sample(或片选采样时钟信号sck_sample’)经过第三采样时钟同步并取沿单元生成采样时钟取上升沿信号sck_sample_syn_pos,采样时钟取上升沿信号sck_sample_syn_pos经过第三d触发器dff3延时一拍,生成采样时钟取上升沿延时信号sck_sample_syn_pos_d,其和“cnt==0的时刻”经过第二与门and2后生成载出触发信号send_time。与载出触发信号send_time高有效时刻对应的主频时钟信号clk上升沿时刻完成串行采样数据同步信号sdi_i_s_syn、移位寄存器同步延时信号shift_reg_syn_d[data_len:1]拼接同时送入接收数据缓存模块的操作。
[0183]
在该实施例中,所述的第一采样时钟同步并取沿单元与所述的第二采样时钟同步并取沿单元均可由同步并取下降沿单元构成,如图10所示,所述的同步并取下降沿单元包括:第四d触发器dff4、第五d触发器dff5、第六d触发器dff6、第四反相器及第三与门;
[0184]
所述的第四d触发器dff4的输入端构成所述的第一采样时钟同步并取沿单元的第一输入端或所述的第二采样时钟同步并取沿单元的第一输入端;所述的第四d触发器dff4的时钟输入端、所述的第五d触发器dff5的时钟输入端及所述的第六d触发器dff6的时钟输入端共同构成所述的第一采样时钟同步并取沿单元的第二输入端或所述的第二采样时钟
同步并取沿单元的第二输入端;
[0185]
所述的第四d触发器dff4的q输出端与所述的第五d触发器dff5的输入端相连接;所述的第五d触发器dff5的q输出端分别与所述的第六d触发器dff6的输入端及所述的第四反相器的输入端相连接;
[0186]
所述的第四反相器的输出端与所述的第三与门的第一输出端相连接;所述的第六d触发器dff6的q输出端与所述的第三与门的第二输出端相连接;所述的第三与门的输出端构成所述的第一采样时钟同步并取沿单元的输出端或所述的第二采样时钟同步并取沿单元的输出端;
[0187]
所述的片选信号同步并取沿单元与所述的第三采样时钟同步并取沿单元均可由同步并取上升沿单元构成,如图11所示,所述的同步并取上升沿单元包括:第七d触发器dff7、第八d触发器dff8、第九d触发器dff9、第五反相器及第四与门;
[0188]
所述的第七d触发器dff7的输入端构成所述的片选信号同步并取沿单元的第一输入端或所述的第三采样时钟同步并取沿单元的第一输入端;所述的第七d触发器dff7的时钟输入端、所述的第八d触发器dff8的时钟输入端及所述的第九d触发器dff9的时钟输入端共同构成所述的片选信号同步并取沿单元的的第二输入端或所述的第三采样时钟同步并取沿单元的第二输入端;
[0189]
所述的第七d触发器dff7的q输出端与所述的第八d触发器dff8的输入端相连接;所述的第八d触发器dff8的q输出端分别与所述的第九d触发器dff9的输入端及所述的第四与门的第一输入端相连接;所述的第八d触发器dff8的q输出端构成所述的片选信号同步并取沿单元的第一输出端;
[0190]
所述的第九d触发器dff9的q输出端通过所述的第五反相器与所述的第四与门的第二输入端相连接;
[0191]
所述的第四与门的输出端构成所述的片选信号同步并取沿单元的第二输出端或所述的第三采样时钟同步并取沿单元的输出端。
[0192]
如图10所示,采用同步并取下降沿单元可使得异步信号data经过两级触发器(第四d触发器dff4及第五d触发器dff5)后,生成同步数据信号data_syn,该同步数据信号data_syn与主频时钟信号clk同步,二输入的第三与门and3的输出信号——同步数据取下降沿信号data_syn_neg为异步信号data与主频时钟信号clk同步后取下降沿得到的信号。
[0193]
如图11所示,同步并取上升沿单元的结构与同步并取下降沿单元的结构基本相似,区别仅在于用到的反相器的位置不同,该同步并取上升沿单元的结构中用到的二输入的第四与门的输出端输出的同步数据取上升沿信号data_syn_pos;该信号为异步信号data与主频clk同步后取上升沿信号。
[0194]
在该实施例中,所述的采样模块包括第十d触发器dff10,所述的第十d触发器dff10的输入端构成所述的采样模块的第一输入端;
[0195]
当所述的辅助时钟生成模块根据所述的输入时钟信号sck_i的下降沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的上升沿生成所述的移位时钟信号sck_shift时,所述的第十d触发器dff10的时钟输入端接所述的采样时钟信号sck_sample;当所述的辅助时钟生成模块根据所述的输入时钟信号sck_i的上升沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的下降沿生成所述的移位时钟
信号sck_shift时,所述的第十d触发器dff10的时钟输入端接所述的片选采样时钟信号sck_sample’;
[0196]
所述的第十d触发器dff10的q输出端输出所述的串行采样数据信号sdi_i_s。
[0197]
即在该实施例中,采样模块在采样时钟信号sck_sample(或片选采样时钟信号sck_sample’)的触发下,对外到内串行数据输入信号sdi_i进行采样,具体而言就是在采样时钟信号sck_sample(或片选采样时钟信号sck_sample’)的触发下由第十d触发器dff10对外到内串行数据输入信号sdi_i进行采样,然后得到采样后的串行采样数据信号sdi_i_s。
[0198]
在该实施例中,所述的移位模块包括移位寄存器单元;
[0199]
所述的移位寄存器单元的第一输入端构成所述的移位模块的第一输入端,所述的移位寄存器单元的第二输入端接所述的载入触发信号load_time;
[0200]
当所述的辅助时钟生成模块根据所述的输入时钟信号sck_i的下降沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的上升沿生成所述的移位时钟信号sck_shift时,所述的移位寄存器单元的时钟输入端接所述的移位时钟信号sck_shift;当所述的辅助时钟生成模块根据所述的输入时钟信号sck_i的上升沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的下降沿生成所述的移位时钟信号sck_shift时,所述的主机芯片还包括第六反相器及第五与门and5,所述的片选信号cs通过所述的第六反相器输入所述的第五与门and5的第一输入端,所述的第五与门and5的第二输入端接所述的移位时钟信号sck_shift,所述的第五与门and5的输出端输出片选移位时钟信号sck_shift’,所述的移位寄存器单元的时钟输入端接所述的片选移位时钟信号sck_shift’;
[0201]
所述的移位寄存器单元的第一输出端输出所述的内部串行数据输出信号sdo_o。
[0202]
其中,所述的片选移位时钟信号sck_shift’可看作是将内部时钟信号sck_o和片选信号cs进行组合逻辑后生成的。
[0203]
载入触发模块的主要功能为用来生成载入触发信号load_time。移位模块中的移位寄存器单元对应两个功能:

在移位时钟信号sck_shift的上升沿,将串行采样数据信号sdi_i_s移入移位寄存器生成移位寄存器信号shift_reg,同时产生内部串行数据输出信号sdo_o;

当数据移位完成后需要将发送数据缓存模块中新的数据再次载入移位寄存器生成移位寄存器信号shift_reg。
[0204]
在该实施例中,所述的同步缓存模块包括:串行采样信号同步单元、移位寄存器同步单元、第十一d触发器dff11;
[0205]
所述的串行采样信号同步单元的第一输入端与所述的第十d触发器dff10的q输出端相连接,所述的串行采样信号同步单元的第二输入端接所述的主频时钟信号clk,所述的串行采样信号同步单元的输出端与所述的接收数据缓存模块的第一输入端相连接;
[0206]
所述的第十d触发器dff10的q输出端与所述的移位寄存器单元的第三输入端相连接,所述的移位寄存器单元的第二输出端与所述的移位寄存器同步单元的第一输入端相连接,所述的移位寄存器同步单元的第二输入端接所述的主频时钟信号clk,所述的移位寄存器同步单元的输出端与所述的第十一d触发器dff11的输入端相连接,所述的第十一d触发器dff11的时钟输入端接所述的主频时钟信号clk,所述的第十一d触发器dff11的q输出端与所述的接收数据缓存模块的第二输入端相连接;
[0207]
所述的接收数据缓存模块的第三输入端接所述的主频时钟信号clk,所述的接收数据缓存模块的第四输入端接所述的载出触发信号send_time;
[0208]
由所述的串行采样信号同步单元的输出端输出的信号与所述的第十一d触发器dff11的q输出端输出的信号拼接后组成所述的与所述的主频时钟信号clk同步后的串行采样数据信号sdi_i_s。
[0209]
该实施例中,移位寄存器单元为一复用的模块的器件,其用来实现2个功能:
[0210]
第一:在移位时钟信号sck_shift(或片选移位时钟信号sck_shift’)的上升沿,将串行采样数据信号sdi_i_s移入该移位寄存器单元中生成移位寄存器信号shift_reg,该移位寄存器信号shift_reg由移位寄存器单元的第二输出端输出;
[0211]
第二:对所述的输出并行数据包进行移位操作,生成相应的内部串行数据输出信号sdo_o,并输出;
[0212]
该移位寄存器单元在完成对内部串行数据输出信号sdo_o的输出后,需要将发送数据缓存模块中新的数据再次载入移位寄存器单元生成移位寄存器信号shift_reg。
[0213]
在该实施例中,所述的串行采样信号同步单元及移位寄存器同步单元均可由同步单元构成,所述的同步单元包括第十二d触发器dff12及第十三d触发器dff13,其结构可参阅图12所示;
[0214]
所述的第十二d触发器dff12的输入端构成所述的串行采样信号同步单元的第一输入端或所述的移位寄存器同步单元的第一输入端;所述的第十二d触发器dff12的时钟输入端与所述的第十三d触发器dff13的时钟输入端共同构成所述的串行采样信号同步单元的第二输入端或所述的移位寄存器同步单元的第二输入端;所述的第十二d触发器dff12的q输出端与所述的第十三d触发器dff13的输入端相连接;所述的第十三d触发器dff13的q输出端构成所述的串行采样信号同步单元的输出端或所述的移位寄存器同步单元的输出端。
[0215]
该同步单元可使得信号在主频时钟信号clk下经过两级触发器的同步,如图12所示异步信号data经过两级触发器第十二d触发器dff12、第十三d触发器dff13后的信号即为与主频同步的信号data’。
[0216]
上述实施例中,移位模块使用的时钟为移位时钟信号sck_shift,移位模块可对发送数据缓存模块中的输出并行数据包进行数据载入和移位,并由移位模块直接生成内部串行数据输出信号sdo_o输出,该内部串行数据输出信号sdo_o经由所述的串行数据输出pad口延时,输出后生成与通信时钟信号sck同步的串行数据输出信号sdo。通过采样时钟信号sck_sample,使得采样模块对外到内串行数据输入信号sdi_i进行采样操作,得到串行采样数据信号sdi_i_s和已移入移位模块中的包含串行采样数据信号sdi_i_s信息的输入并行数据包在主频时钟clk下同步后进入同步缓存模块,生成与所述的主频时钟信号clk同步后的串行采样数据信号sdi_i_s,最后将同步缓存模块中的与所述的主频时钟信号clk同步后的串行采样数据信号sdi_i_s送入接收数据缓存模块。实现了将外部的串行数据输入信号sdi在通信时钟信号sck下转化为并行数据存入接收数据缓存模块的操作过程;并实现了将发送数据缓存模块中的输出并行数据包在通信时钟信号sck下最终转化为串行数据输出信号sdo输出到的操作过程。在该实施例中,采样模块和同步缓存模块共同配合完成将与通信时钟信号sck同步频率的串行数据输入信号sdi转化成输入至接收数据缓存模块中的并行接收数据包的操作;移位模块完成将从发送数据缓存模块中输出的输出并行发送数据包转
化成与通信时钟信号sck同步频率的串行数据输出信号sdo的操作。发送数据缓存模块和接收数据缓存模块相当于两块ram或两块fifo存储器,用来存储固定比特位的并行数据包。
[0217]
图13为一实施例中移位模块的工作原理示意图,其功能为在每个移位时钟信号sck_shift上升沿,当载入触发信号load_time有效时,发送数据缓存模块中的输出并行数据包载入生成移位寄存器信号shift_reg,其他时刻对移位寄存器信号shift_reg移位,移位寄存器信号shift_reg头部移出内部串行数据输出信号sdo_o,移位寄存器信号shift_reg尾部移入经过采样时钟信号sck_sample采样后的输入数据——串行采样数据信号sdi_i_s。
[0218]
具体而言,该移位模块中的移位寄存器单元的工作流程为:
[0219]
在每个移位时钟信号sck_shift(或片选移位时钟信号sck_shift’)的上升沿,当载入触发信号load_time有效时,发送数据缓存模块中的输出并行数据包载入移位寄存器单元,并生成移位寄存器信号shift_reg。其他时刻对移位寄存器信号shift_reg移位,移位寄存器信号shift_reg在寄存器头部移出,输出内部串行数据输出信号sdo_o,移位寄存器信号shift_reg尾部移入经过采样时钟信号sck_sample触发采样后的输入数据——串行采样数据信号sdi_i_s。
[0220]
参阅图13所示,以移位寄存器单元为8位移位寄存器为例进行说明,所述的发送数据缓存模块输出的输出并行数据包中的数据是8位的,输入串行通信接口的外到内串行数据输入信号sdi_i也是8位的,8位的输出并行数据包在载入触发信号load_time及移位时钟信号sck_shift共同触发下载入移位寄存器单元,然后由移位时钟信号sck_shift(或片选移位时钟信号sck_shift’)触发该移位寄存器单元对在移位寄存器中的数据进行移位,当输出并行数据包中的数据的最高位数据移出后,串行采样数据信号sdi_i_s的第一位输入该移位寄存器单元的最低位,每移出一位输出并行数据包中的数据,便输入一位串行采样数据信号sdi_i_s的数据。即前7个串行数据已经在采样时钟信号sck_sample(或片选采样时钟信号sck_sample’)的1~7个上升沿完成采样,在移位时钟信号sck_shift(或片选移位时钟信号sck_shift’)的前2~8个上升沿完成移位,并已存入移位寄存器单元的前七位,即前7个串行数据按次序对应shift_reg[7:1],与主频时钟信号clk同步,第8个数据正在进行采样这个当前时刻点,与主频时钟信号clk同步后,成为对应的第8个采样时钟同步上升沿信号sck_sample_syn_pos,第8个数据刚完成采样这个当前时刻点在主频时钟下同步后对应为第8个采样时钟取上升沿延时信号sck_sample_syn_pos_d,采样时钟取上升沿延时信号sck_sample_syn_pos_d经过与门与上“cnt提取出等于0”(采样到第八个串行数据,第七个串行数据移位进移位寄存器中),生成的对应的信号为载出触发信号send_time,此时载出触发信号send_time高有效触发,其时间长度为一个主频时钟clk的周期。
[0221]
该实施例中,计数器信号cnt与移位寄存器单元接收到的串行数据的个数对应,初始状态下为0,说明未采样到一个数据;计数器信号cnt为1时,说明采样到第一个串行数据,该状态下只是采样到数据,但这个数据还未移位进移位寄存器单元中,计数器信号cnt为2时,说明采样到第二个串行数据,第一个串行数据移位进移位寄存器单元中;计数器信号cnt为3时,说明采样到第三个串行数据,第二个串行数据移位进移位寄存器中;以此类推,当计数器信号cnt为7时,说明采样到第七个串行数据,第六个串行数据移位进移位寄存器中;当计数器信号cnt重新回到0时,说明采样到第八个串行数据,第七个串行数据移位进移
位寄存器中。
[0222]
此时第八个数据没有必要再移位进移位寄存器单元中去啦(同时在根据所述的输入时钟信号sck_i的下降沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的上升沿生成所述的移位时钟信号sck_shift的前提条件下的方案中也没有第9个移位时钟信号sck_shift的上升沿来进行移位操作了,电路将前七个已移位进移位寄存器单元的数据shift_reg_syn_d[data_len:1]拼接上第八个采样数据sdi_s_syn一起送入接收数据缓存单元中去。
[0223]
信号处理过程中,在第8个采样时钟同步上升沿信号sck_sample_syn_pos的这个时刻点,第八个数据正在进行采样,第八个采样数据sdi_s_syn还处于不稳定状态。移位寄存器同步信号shift_reg_syn经过d触发器后生成移位寄存器同步延时信号shift_reg_syn_d,采样时钟同步上升沿信号sck_sample_syn_pos经过d触发器后生成采样时钟取上升沿延时信号sck_sample_syn_pos_d,通俗来说就是各延时一个主频时钟信号clk周期的时间,等第八个采样数据sdi_s_syn采样刚完成稳定以后,移位寄存器同步延时信号shift_reg_syn_d[data_len:1]拼接上第八个采样数据sdi_s_syn在载出触发信号send_time高有效时刻点一起送入接收数据缓存单元中去。
[0224]
同步缓存模块主要功能为:
[0225]
当通过采样时钟信号sck_sample采样到一帧数据的最后一位时,需要将移位寄存器信号shift_reg以及串行采样数据信号sdi_s的最后一位与主频时钟信号clk同步后送入接收数据缓存模块中;即移位寄存器单元输出的移位寄存器信号shift_reg将串行采样数据信号sdi_s中除最后一位的其他位数据和当前完成采样的串行采样数据信号sdi_i_s拼接送入接收数据缓存模块中;
[0226]
同步缓存模块的具体操作为:
[0227]
串行采样数据信号sdi_i_s经过串行采样信号同步单元,在主频时钟信号clk的同步下,成为串行采样数据同步信号sdi_i_s_syn;移位寄存器单元输出的移位寄存器信号shift_reg经过移位寄存器同步单元,在主频时钟信号clk的同步下,成为移位寄存器同步信号shift_reg_syn,该移位寄存器同步信号shift_reg_syn再通过第十一d触发器dff11延时一拍,生成延时信号——移位寄存器同步延时信号shift_reg_syn_d;将生成的串行采样数据同步信号sdi_i_s_syn、移位寄存器同步延时信号shift_reg_syn_d[data_len:1]进行拼接(其中data_len是一个常数,表明数据帧位数),并在载出触发信号send_time高有效的时间点将二者共同送入接收数据缓存单元中去,即将与所述的主频时钟信号clk同步后的串行采样数据信号sdi_i_s送入接收数据缓存单元。
[0228]
从图14至图17中可以分别看出所述的辅助时钟生成模块根据所述的输入时钟信号sck_i的下降沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的上升沿生成所述的移位时钟信号sck_shift的情况下,以及所述的辅助时钟生成模块根据所述的输入时钟信号sck_i的上升沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的下降沿生成所述的移位时钟信号sck_shift的情况下,所对应的各个信号之间的相位关系。其中,图14为根据所述的输入时钟信号sck_i的下降沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的上升沿生成所述的移位时钟信号sck_shift的时序图;图15为根据所述的输入时钟信号sck_i的上升沿生成所述的采样时钟
信号sck_sample,根据所述的内部时钟信号sck_o的下降沿生成所述的移位时钟信号sck_shift的时序图;图16为显示载出触发信号send_time在根据所述的输入时钟信号sck_i的下降沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的上升沿生成所述的移位时钟信号sck_shift时,与其他信号的相位关系的时序图;图17为显示载出触发信号send_time在根据所述的输入时钟信号sck_i的上升沿生成所述的采样时钟信号sck_sample,根据所述的内部时钟信号sck_o的下降沿生成所述的移位时钟信号sck_shift时,与其他信号的相位关系的时序图。
[0229]
在电路结构的工作过程中,在载出触发信号send_time的触发时机前,通信时钟信号sck、片选信号cs、采样时钟信号sck_sample、移位时钟信号sck_shift、移位寄存器信号shift_reg、外到内串行数据输入信号sdi_i及串行采样数据信号sdi_i_s是同步的,同属一个时钟域内,这个时钟域与主频时钟信号clk异步。
[0230]
主频时钟信号clk、同步后的采样时钟信号sck_sample_syn、计数器信号cnt、采样时钟同步下降沿信号sck_sample_syn_neg、采样时钟同步上升沿信号sck_sample_syn_pos、采样时钟取上升沿延时信号sck_sample_syn_pos_d、串行采样数据同步信号sdi_i_s_syn、移位寄存器同步信号shift_reg_syn、移位寄存器同步延时信号shift_reg_syn_d等这些信号是同步的,同属一个时钟域内,存储数据的“接收数据缓存模块”在主频时钟信号clk时间域内,对“接收数据缓存模块”的操作必须在主频时钟信号clk下完成,所以移位寄存器信号shift_reg中的移位数据必须先在主频时钟信号clk下同步为移位寄存器同步信号shift_reg_syn才可以继续下面的操作,同理串行采样数据信号sdi_i_s也必须在主频时钟信号clk下同步为串行采样数据同步信号sdi_i_s_syn才可以继续下面的操作。
[0231]
所述的载入触发信号load_time与所述的载出触发信号send_time均与所述的主频时钟信号clk同步。
[0232]
从图14至图17中可以看出生成载入触发信号load_time的载入触发模块中,除移位寄存器单元的输出信号移位寄存器信号shift_reg与移位时钟信号sck_shift的时钟相位同步外,其他信号均与主频时钟信号clk同步,以保证数字电路设计的可靠性。
[0233]
由图9、图16及图17可看出生成载出触发信号send_time是一个高有效信号,载出触发模块中,经过第五比较器equ5将计数器信号cnt与0对比后,提取出cnt==0的时刻,采样时钟信号sck_sample经过与主频时钟信号clk同步和取沿操作生成采样时钟同步上升沿信号sck_sample_syn_pos,该信号再经过第三d触发器dff3延时一拍,生成采样时钟同步上升沿延时信号sck_sample_syn_pos_d,最后经过第二与门and2后生成载出触发信号send_time。
[0234]
采用本发明的实现串行接口全双工通信的主机芯片的电路结构,通过经由双向时钟信号输入输出pad口生成的输入时钟信号sck_i对经由串行数据输入pad口生成的外到内串行数据输入信号sdi_i串行数据输入pad口接收的数据进行解码,并使得通信时钟信号sck的相位与串行数据输出pad口输出的串行数据输出信号sdo的相位一致,以确保不会因双向pad口延时造成的采样/移位出错的问题。该采用本发明的实现串行接口全双工通信的主机芯片的电路结构具备信息传输准确率高、性能优越、成本低的特点,具备广泛的适应性。
[0235]
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出
各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献