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

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

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


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


背景技术:

2.串行通信作为计算机通信方式之一,主要起到主机或从机与外设之间数据传输的作用。串行通信具有传输线少、成本低的特点。
3.串行接口如要达到高速的传输速率和传输效率,多采用全双工、时钟同步的通信方式,并支持主、从模式工作。芯片管脚上只占用串行数据线和同步时钟线,通过4个引脚与外部器件连接,它们是用于传输串行数据输入信号sdi的引脚,用于传输串行数据输出信号sdo的引脚和用于传输通信时钟信号sck的引脚,再加上一个用于传输片选信号cs的引脚,片选信号cs用于控制外部从器件的对应接口是否被选中。与通信时钟信号sck同步的通信时序很简单,即在通信时钟信号sck的控制下,两个双向移位数据线进行同步数据交换,由通信时钟信号sck的上升沿对应数据采样、下降沿对应数据移位的控制,或者是由通信时钟信号sck的上升沿对应数据移位、下降沿对应数据采样的控制。
4.现有技术的方案中实现采样移位的时钟——通信时钟信号sck由对方主机获得,对于通信接口输入的异步时钟信号——通信信号时钟信号sck和异步数据信号——串行数据输入信号sdi多采用预先通过主频时钟延时两拍的同步的方式同步后进行控制,现有技术中的相关电路的信号处理具体设计如下:
5.串行接口数字逻辑设计时,假设串行通信接口的信号为通信时钟信号sck、串行数据输入信号sdi和串行数据输出信号sdo。
6.如图1所示,己方输入进串行通信接口的通信时钟信号sck、串行数据输入信号sdi与主频时钟信号clk均为异步信号,现有技术通常先对通信时钟信号sck在主频时钟信号clk下同步,由同步后的通信时钟信号sck’产生串行数据输出信号sdo。
7.由图1可以看出串行数据输出信号sdo由同步后的通信时钟信号sck’产生,而同步后的通信时钟信号sck’是由通信时钟信号sck经过主频同步后产生的时钟,串行数据输出信号sdo和通信时钟信号sck相差两个主频时钟延时,串行数据输出信号sdo相对于通信时钟信号sck相位延后较长,不能保证串行数据输出信号sdo在通信时钟信号sck下同步传输。上述信号的具体相位关系可参阅图2所示,从图中可以看出串行数据输出信号sdo相对于通信时钟信号sck存在的相位延时。
8.即现有技术中的全双工高速串行接口设计中,从模式下通信接口的通信时钟信号sck和主频时钟信号clk为异步信号,如果将通信时钟信号sck和主频时钟信号clk用现有方法同步后再进行数据移位处理,会导致串行数据输出信号sdo相对通信时钟信号sck的延时。现有技术通过尽可能提高主频时钟信号clk的频率,减小通信时钟信号sck经过主频时钟信号clk同步后的通信时钟信号sck’相对通信时钟信号sck的延时,来尽可能减小串行数据输出信号sdo相对通信时钟信号sck的延时,但这样增加电路芯片面积和成本。


技术实现要素:

9.本发明的目的是克服了上述现有技术的缺点,提供了一种能有效满足数据传输需求、性能稳定的实现串行接口全双工通信的从机芯片的电路结构。
10.为了实现上述目的,本发明的实现串行接口全双工通信的从机芯片的电路结构如下:
11.该实现串行接口全双工通信的从机芯片的电路结构,其主要特点是,所述的从机芯片包括:辅助时钟生成模块、采样模块及移位模块;
12.所述的采样模块的第一输入端接串行数据输入信号sdi;
13.所述的辅助时钟生成模块根据通信时钟信号sck的边沿生成移位时钟信号sck_shift及采样时钟信号sck_sample,所述的移位时钟信号sck_shift及采样时钟信号sck_sample未与主频时钟信号clk同步;
14.由所述的采样时钟信号sck_sample触发所述的采样模块对所述的串行数据输入信号sdi进行采样操作,生成串行采样数据信号sdi_s;
15.由所述的移位时钟信号sck_shift触发所述的移位模块对需要发送的输出并行数据包中的数据进行移位操作,生成相应的串行数据输出信号sdo输出。
16.较佳地,所述的从机芯片还包括:同步缓存模块、发送数据缓存模块及接收数据缓存模块;
17.所述的同步缓存模块获取所述的串行采样数据信号sdi_s,并将所述的串行采样数据信号sdi_s与所述的主频时钟信号clk同步;
18.所述的移位模块的第一输入端与所述的发送数据缓存模块相连接;
19.由载入触发信号load_time及所述的移位时钟信号sck_shift共同触发所述的发送数据缓存模块向所述的移位模块发送所述的输出并行数据包;其中,所述的载入触发信号load_time的触发时机为:避开所述的移位模块对所述的输出并行数据包中的数据进行移位的时刻;
20.由载出触发信号send_time触发所述的接收数据缓存模块从所述的同步缓存模块中接收与所述的主频时钟信号clk同步后的串行采样数据信号sdi_s;其中,所述的载出触发信号send_time的触发时机为:所述的接收数据缓存模块在接收任意两个相邻的所述的与所述的主频时钟信号clk同步后的串行采样数据信号sdi_s时,对接收到的前一帧所述的与所述的主频时钟信号clk同步后的串行采样数据信号sdi_s中的最后一位数据位采样完成后,对接收后一帧所述的与所述的主频时钟信号clk同步后的串行采样数据信号sdi_s中的第一位数据位采样完成还未开始移位前的时刻;
21.且所述的载入触发信号load_time与所述的载出触发信号send_time均与所述的主频时钟信号clk同步。
22.更佳地,当所述的辅助时钟生成模块根据所述的通信时钟信号sck的上升沿生成所述的移位时钟信号sck_shift,根据所述的通信时钟信号sck的下降沿生成所述的采样时钟信号sck_sample时,所述的辅助时钟生成模块包括第一反相器;
23.所述的辅助时钟生成模块将接收到的所述的通信时钟信号sck输入所述的第一反相器进行取反,得到所述的采样时钟信号sck_sample输出,且所述的辅助时钟生成模块将接收到的所述的通信时钟信号sck作为所述的移位时钟信号sck_shift输出;
24.当所述的辅助时钟生成模块根据所述的通信时钟信号sck的下降沿生成所述的移位时钟信号sck_shift,根据所述的通信时钟信号sck的上升沿生成所述的采样时钟信号sck_sample时,所述的辅助时钟生成模块包括第一或门及第二反相器;
25.所述的第一或门的第一端接所述的通信时钟信号sck,所述的第一或门的第二端接片选信号cs,所述的辅助时钟生成模块将所述的第一或门输出的信号作为所述的采样时钟信号sck_sample输出;所述的辅助时钟生成模块将所述的第一或门输出的信号输入所述的第二反相器进行取反,得到所述的移位时钟信号sck_shift输出。
26.进一步地,所述的载入触发信号load_time由载入触发模块生成,
27.当所述的辅助时钟生成模块根据所述的通信时钟信号sck的上升沿生成所述的移位时钟信号sck_shift,根据所述的通信时钟信号sck的下降沿生成所述的采样时钟信号sck_sample时,所述的载入触发模块包括第一采样时钟同步并取沿单元、第一计数器生成单元、第一与非门、第二与非门、第一比较器、第二比较器及第一d触发器;
28.所述的第一采样时钟同步并取沿单元的第一输入端接所述的采样时钟信号sck_sample,所述的第一采样时钟同步并取沿单元的第二输入端接所述的主频时钟信号clk,所述的第一采样时钟同步并取沿单元将所述的采样时钟信号sck_sample在所述的主频时钟信号clk下同步并取下降沿,生成采样时钟同步下降沿信号sck_sample_syn_neg,并由所述的第一采样时钟同步并取沿单元的输出端输出所述的采样时钟同步下降沿信号sck_sample_syn_neg;
29.所述的第一采样时钟同步并取沿单元的输出端分别与所述的第一计数器生成单元的第一端、所述的第一与非门的第一端及所述的第二与非门的第一端相连接;
30.所述的第一计数器生成单元的第二端接所述的主频时钟信号clk,所述的第一计数器生成单元的输出端输出计数器信号cnt,所述的第一计数器生成单元的输出端分别与所述的第一比较器的第一输入端、所述的第二比较器的第一输入端以及所述的第一计数器生成单元的反馈端相连接;
31.所述的第一比较器的第二输入端接零,所述的第一比较器的输出端与所述的第一与非门的第二端相连接,所述的第一与非门的输出端与所述的第一d触发器的置位端相连接;
32.所述的第二比较器的第二输入端接预设的常数,所述的预设的常数的值与所述的发送数据缓存模块发出的所述的输出并行数据包的数据位宽对应,所述的第二比较器的输出端与所述的第二与非门的第二端相连接,所述的第二与非门的输出端与所述的第一d触发器的复位端相连接;
33.所述的第一d触发器的时钟输入端与所述的主频时钟信号clk相连接,所述的第一d触发器的q输出端与所述的第一d触发器的输入端相连接,所述的第一d触发器的q输出端输出所述的载入触发信号load_time;
34.当所述的辅助时钟生成模块根据所述的通信时钟信号sck的下降沿生成所述的移位时钟信号sck_shift,根据所述的通信时钟信号sck的上升沿生成所述的采样时钟信号sck_sample时,所述的载入触发模块包括第二采样时钟同步并取沿单元、片选信号同步并取沿单元、第二计数器生成单元、第三与非门、第四与非门、第三比较器、第四比较器、第一与门、第三反相器及第二d触发器;
35.所述的第二采样时钟同步并取沿单元的第一输入端接所述的采样时钟信号sck_sample,所述的第二采样时钟同步并取沿单元的第二输入端接所述的主频时钟信号clk,所述的第二采样时钟同步并取沿单元将所述的采样时钟信号sck_sample在所述的主频时钟信号clk下同步并取下降沿,生成采样时钟同步下降沿信号sck_sample_syn_neg,并由所述的第二采样时钟同步并取沿单元的输出端输出所述的采样时钟同步下降沿信号sck_sample_syn_neg;
36.所述的第二采样时钟同步并取沿单元的输出端分别与所述的第二计数器生成单元的第一端、所述的第三与非门的第一端及所述的第四与非门的第一端相连接;
37.所述的片选信号同步并取沿单元的第一输入端接所述的片选信号cs,所述的片选信号同步并取沿单元的第二输入端接所述的主频时钟信号clk;所述的片选信号同步并取沿单元将所述的片选信号cs在所述的主频时钟信号clk下同步,生成片选同步信号cs_syn,并由所述的片选信号同步并取沿单元的第一输出端输出所述的片选同步信号cs_syn;所述的片选信号同步并取沿单元将所述的片选信号cs在所述的主频时钟信号clk下同步并取上升沿,生成片选同步上升沿信号cs_syn_pos,并由所述的片选信号同步并取沿单元的第二输出端输出所述的片选同步上升沿信号cs_syn_pos;
38.所述的第二计数器生成单元的第二端接所述的主频时钟信号clk,所述的第二计数器生成单元的第三端接所述的片选同步信号cs_syn,所述的第二计数器生成单元的输出端输出计数器信号cnt,所述的第二计数器生成单元的输出端分别与所述的第三比较器的第一输入端、所述的第四比较器的第一输入端以及所述的第二计数器生成单元的反馈端相连接;
39.所述的第三比较器的第二输入端接零,所述的第三比较器的输出端与所述的第三与非门的第二端相连接,所述的第三与非门的输出端与所述的第二d触发器的置位端相连接;
40.所述的第四比较器的第二输入端接预设的常数,所述的预设的常数的值与所述的发送数据缓存模块发出的所述的输出并行数据包的数据位宽对应,所述的第四比较器的输出端与所述的第四与非门的第二端相连接,所述的第四与非门的输出端与所述的第一与门的第一输入端相连接;
41.所述的第三反相器的输入端接所述的片选同步上升沿信号cs_syn_pos,所述的第三反相器的输出端与所述的第一与门的第二输入端相连接,所述的第一与门的输出端与所述的第二d触发器的复位端相连接;
42.所述的第二d触发器的时钟输入端与所述的主频时钟信号clk相连接,所述的第二d触发器的q输出端与所述的第二d触发器的输入端相连接,所述的第二d触发器的q输出端输出所述的载入触发信号load_time。
43.更进一步地,所述的载出触发信号send_time由载出触发模块生成,所述的载出触发模块包括第五比较器、第三采样时钟同步并取沿单元、第三d触发器及第二与门;
44.所述的第五比较器的第一输入端接零,所述的第五比较器的第二输入端接所述的计数器信号cnt,所述的第五比较器的输出端与所述的第二与门的第一输入端相连接;
45.所述的第三采样时钟同步并取沿单元的第一输入端接所述的采样时钟信号sck_sample,所述的第三采样时钟同步并取沿单元的第二输入端接所述的主频时钟信号clk,所
述的第三采样时钟同步并取沿单元将所述的采样时钟信号sck_sample在所述的主频时钟信号clk下同步并取上升沿,生成采样时钟同步上升沿信号sck_sample_syn_pos,并由所述的第三采样时钟同步并取沿单元的输出端输出所述的采样时钟同步上升沿信号sck_sample_syn_pos;
46.所述的第三d触发器的时钟输入端与所述的主频时钟信号clk相连接,所述的第三d触发器的输入端与所述的第三采样时钟同步并取沿单元的输出端相连接,所述的第三d触发器的q输出端与所述的第二与门的第二输入端相连接;
47.所述的第二与门的输出端输出所述的载出触发信号send_time。
48.更进一步地,所述的第一采样时钟同步并取沿单元与所述的第二采样时钟同步并取沿单元均可由同步并取下降沿单元构成,所述的同步并取下降沿单元包括:第四d触发器、第五d触发器、第六d触发器、第四反相器及第三与门;
49.所述的第四d触发器的输入端构成所述的第一采样时钟同步并取沿单元的第一输入端或所述的第二采样时钟同步并取沿单元的第一输入端;所述的第四d触发器的时钟输入端、所述的第五d触发器的时钟输入端及所述的第六d触发器的时钟输入端共同构成所述的第一采样时钟同步并取沿单元的第二输入端或所述的第二采样时钟同步并取沿单元的第二输入端;
50.所述的第四d触发器的q输出端与所述的第五d触发器的输入端相连接;所述的第五d触发器的q输出端分别与所述的第六d触发器的输入端及所述的第四反相器的输入端相连接;
51.所述的第四反相器的输出端与所述的第三与门的第一输出端相连接;所述的第六d触发器的q输出端与所述的第三与门的第二输出端相连接;所述的第三与门的输出端构成所述的第一采样时钟同步并取沿单元的输出端或所述的第二采样时钟同步并取沿单元的输出端;
52.所述的片选信号同步并取沿单元与所述的第三采样时钟同步并取沿单元均可由同步并取上升沿单元构成,所述的同步并取上升沿单元包括:第七d触发器、第八d触发器、第九d触发器、第五反相器及第四与门;
53.所述的第七d触发器的输入端构成所述的片选信号同步并取沿单元的第一输入端或所述的第三采样时钟同步并取沿单元的第一输入端;所述的第七d触发器的时钟输入端、所述的第八d触发器的时钟输入端及所述的第九d触发器的时钟输入端共同构成所述的片选信号同步并取沿单元的的第二输入端或所述的第三采样时钟同步并取沿单元的第二输入端;
54.所述的第七d触发器的q输出端与所述的第八d触发器的输入端相连接;所述的第八d触发器的q输出端分别与所述的第九d触发器的输入端及所述的第四与门的第一输入端相连接;所述的第八d触发器的q输出端构成所述的片选信号同步并取沿单元的第一输出端;
55.所述的第九d触发器的q输出端通过所述的第五反相器与所述的第四与门的第二输入端相连接;
56.所述的第四与门的输出端构成所述的片选信号同步并取沿单元的第二输出端或所述的第三采样时钟同步并取沿单元的输出端。
57.更佳地,所述的采样模块包括第十d触发器,所述的第十d触发器的输入端构成所述的采样模块的第一输入端,所述的第十d触发器的时钟输入端接所述的采样时钟信号sck_sample,所述的第十d触发器的q输出端输出所述的串行采样数据信号sdi_s。
58.进一步地,所述的移位模块包括移位寄存器单元;
59.所述的移位寄存器单元的第一输入端构成所述的移位模块的第一输入端,所述的移位寄存器单元的第二输入端接所述的载入触发信号load_time,所述的移位寄存器单元的时钟输入端接所述的移位时钟信号sck_shift,所述的移位寄存器单元的第一输出端输出所述的串行数据输出信号sdo。
60.更进一步地,所述的同步缓存模块包括:串行采样信号同步单元、移位寄存器同步单元、第十一d触发器;
61.所述的串行采样信号同步单元的第一输入端与所述的第十d触发器的q输出端相连接,所述的串行采样信号同步单元的第二输入端接所述的主频时钟信号clk,所述的串行采样信号同步单元的输出端与所述的接收数据缓存模块的第一输入端相连接;
62.所述的第十d触发器的q输出端与所述的移位寄存器单元的第三输入端相连接,所述的移位寄存器单元的第二输出端与所述的移位寄存器同步单元的第一输入端相连接,所述的移位寄存器同步单元的第二输入端接所述的主频时钟信号clk,所述的移位寄存器同步单元的输出端与所述的第十一d触发器的输入端相连接,所述的第十一d触发器的时钟输入端接所述的主频时钟信号clk,所述的第十一d触发器的q输出端与所述的接收数据缓存模块的第二输入端相连接;
63.所述的接收数据缓存模块的第三输入端接所述的主频时钟信号clk,所述的接收数据缓存模块的第四输入端接所述的载出触发信号send_time;
64.由所述的串行采样信号同步单元的输出端输出的信号与所述的第十一d触发器的q输出端输出的信号拼接后组成所述的与所述的主频时钟信号clk同步后的串行采样数据信号sdi_s。
65.更进一步地,所述的串行采样信号同步单元及移位寄存器同步单元均可由同步单元构成,所述的同步单元包括第十二d触发器及第十三d触发器;
66.所述的第十二d触发器的输入端构成所述的串行采样信号同步单元的第一输入端或所述的移位寄存器同步单元的第一输入端;所述的第十二d触发器的时钟输入端与所述的第十三d触发器的时钟输入端共同构成所述的串行采样信号同步单元的第二输入端或所述的移位寄存器同步单元的第二输入端;所述的第十二d触发器的q输出端与所述的第十三d触发器的输入端相连接;所述的第十三d触发器的q输出端构成所述的串行采样信号同步单元的输出端或所述的移位寄存器同步单元的输出端。
67.本发明的实现串行接口全双工通信的从机芯片的电路结构包括辅助时钟生成模块、采样模块及移位模块,由未与主频时钟信号clk同步的移位时钟信号sck_shift及采样时钟信号sck_sample分别控制采样模块对所述的串行数据输入信号sdi进行采样操作、触发所述的移位模块对需要发送的输出并行数据包中的数据进行移位操作,由所述的移位模块输出相应的串行数据输出信号sdo。采用该实现串行接口全双工通信的从机芯片的电路结构可有效解决现有技术中串行数据输出信号sdo相对于通信时钟信号sck延时的问题,可有效且准确的进行数据传输,且成本较低,适用范围广泛。
附图说明
68.图1为现有技术中的串行通信接口中的信号的关系示意图。
69.图2为采用现有技术中的串行通信接口时的信号时序关系图。
70.图3为一实施例中本发明的实现串行接口全双工通信的从机芯片的电路结构的示意图。
71.图4为一实施例中本发明的实现串行接口全双工通信的从机芯片的电路结构的具体结构示意图。
72.图5a为一实施例中本发明中的辅助时钟生成模块的结构示意图。
73.图5b为另一实施例中本发明中的辅助时钟生成模块的结构示意图。
74.图6a为一实施例中本发明中的载入触发模块的结构示意图。
75.图6b为一另实施例中本发明中的载入触发模块的结构示意图。
76.图7为一实施例中本发明中的载出触发模块的结构示意图。
77.图8为一实施例中本发明的中的同步并取下降沿单元的结构示意图。
78.图9为一实施例中本发明的中的同步并取上升沿单元的结构示意图。
79.图10为一实施例中本发明的同步单元的结构示意图。
80.图11为一实施例中本发明的移位模块的工作原理示意图。
81.图12为根据通信时钟信号下降沿生成采样时钟信号,上升沿生成移位时钟信号的时序图。
82.图13为根据通信时钟信号上升沿生成采样时钟信号,下降沿生成移位时钟信号的时序图。
83.图14为显示载出触发信号send_time在根据通信时钟信号下降沿生成采样时钟信号,上升沿生成移位时钟信号时,与其他信号的相位关系的时序图。
84.图15为显示载出触发信号send_time在根据通信时钟信号上升沿生成采样时钟信号,下降沿生成移位时钟信号时,与其他信号的相位关系的时序图。
具体实施方式
85.为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
86.如图3至图10所示,本发明的实现串行接口全双工通信的从机芯片的电路结构包括:辅助时钟生成模块、采样模块及移位模块;
87.所述的采样模块的第一输入端接串行数据输入信号sdi;
88.所述的辅助时钟生成模块根据通信时钟信号sck的边沿生成移位时钟信号sck_shift及采样时钟信号sck_sample,所述的移位时钟信号sck_shift及采样时钟信号sck_sample未与主频时钟信号clk同步;
89.由所述的采样时钟信号sck_sample触发所述的采样模块对所述的串行数据输入信号sdi进行采样操作,生成串行采样数据信号sdi_s;
90.由所述的移位时钟信号sck_shift触发所述的移位模块对需要发送的输出并行数据包中的数据进行移位操作,生成相应的串行数据输出信号sdo输出。
91.在该实施例中,所述的从机芯片还包括:同步缓存模块、发送数据缓存模块及接收
数据缓存模块;
92.所述的同步缓存模块获取所述的串行采样数据信号sdi_s,并将所述的串行采样数据信号sdi_s与所述的主频时钟信号clk同步;
93.所述的移位模块的第一输入端与所述的发送数据缓存模块相连接,用于接收所述的发送数据缓存模块输出的所述的输出并行数据包;
94.由载入触发信号load_time及所述的移位时钟信号sck_shift共同触发所述的发送数据缓存模块向所述的移位模块发送所述的输出并行数据包;其中,所述的载入触发信号load_time的触发时机为:避开所述的移位模块对所述的输出并行数据包中的数据进行移位的时刻;
95.即载入触发信号load_time高电平有效,其高电平的时机选为避开移位寄存器单元对内部数据进行移位的时机,也理解为高电平的时机为筛选出发送数据缓存单元中并行数据载入移位寄存器单元中的触发时机。
96.由载出触发信号send_time触发所述的接收数据缓存模块从所述的同步缓存模块中接收与所述的主频时钟信号clk同步后的串行采样数据信号sdi_s;其中,所述的载出触发信号send_time的触发时机为:所述的接收数据缓存模块在接收任意两个相邻的所述的与所述的主频时钟信号clk同步后的串行采样数据信号sdi_s时,对接收到的前一帧所述的与所述的主频时钟信号clk同步后的串行采样数据信号sdi_s中的最后一位数据位采样完成后,对接收后一帧所述的与所述的主频时钟信号clk同步后的串行采样数据信号sdi_s中的第一位数据位采样完成还未开始移位前的时刻;
97.即载出触发信号send_time的触发时机为在第一帧采样数据最后一位采样完成后,第二帧数据第一位还未开始移位之间,对于一帧8位的数据而言,所述的载出触发信号send_time的触发时机为第8个采样时钟信号的上升沿,即第8个数据刚完成采样这个当前时刻点。
98.且所述的载入触发信号load_time与所述的载出触发信号send_time均与所述的主频时钟信号clk同步;该实现串行接口全双工通信的从机芯片的电路结构中各个模块的关系可参阅图3、4所示,特别是图4,具体给出了本实施例中的采样模块、移位模块和同步缓存模块等模块在实现串行接口全双工通信的从机芯片的电路结构(即串行通信接口)中的具体连接关系。
99.在该实施例中,如图5a所示,当所述的辅助时钟生成模块根据所述的通信时钟信号sck的上升沿生成所述的移位时钟信号sck_shift,根据所述的通信时钟信号sck的下降沿生成所述的采样时钟信号sck_sample时,所述的辅助时钟生成模块包括第一反相器;
100.所述的辅助时钟生成模块将接收到的所述的通信时钟信号sck输入所述的第一反相器进行取反,得到所述的采样时钟信号sck_sample输出,且所述的辅助时钟生成模块将接收到的所述的通信时钟信号sck作为所述的移位时钟信号sck_shift输出;
101.如图5b所示,当所述的辅助时钟生成模块根据所述的通信时钟信号sck的下降沿生成所述的移位时钟信号sck_shift,根据所述的通信时钟信号sck的上升沿生成所述的采样时钟信号sck_sample时,所述的辅助时钟生成模块包括第一或门or及第二反相器;
102.所述的第一或门or的第一端接所述的通信时钟信号sck,所述的第一或门or的第二端接片选信号cs,所述的辅助时钟生成模块将所述的第一或门or输出的信号作为所述的
采样时钟信号sck_sample输出;所述的辅助时钟生成模块将所述的第一或门or输出的信号输入所述的第二反相器进行取反,得到所述的移位时钟信号sck_shift输出。
103.结合图5a、5b可知,在该实施例中,通信时钟信号sck与片选信号cs经过辅助时钟生成模块转化成移位时钟信号sck_shift和采样时钟信号sck_sample,而由通信时钟信号sck的上升沿生成移位时钟信号sck_shift,由通信时钟信号sck的下降沿生成采样时钟信号sck_sample,与由通信时钟信号sck的下降沿生成移位时钟信号sck_shift,由通信时钟信号sck的上升沿生成采样时钟信号sck_sample相比,二者仅仅是略有不同,生成的移位时钟信号sck_shift和采样时钟信号sck_sample为相位相反的关系。
104.同时,在所述的辅助时钟生成模块根据所述的通信时钟信号sck的下降沿生成所述的移位时钟信号sck_shift,根据所述的通信时钟信号sck的上升沿生成所述的采样时钟信号sck_sample时,所述的采样时钟信号sck_sample与移位时钟信号sck_shift由通信时钟信号sck与片选信号cs共同生成,这是由于在这种情况下如果仅依靠通信时钟信号sck生成移位时钟信号sck_shift会使得移位时钟信号sck_shift的第一个上升沿与载入触发信号load_time的使能部分错开,无法实现触发所述的发送数据缓存模块向所述的移位模块发送所述的输出并行数据包的功能,故采用通信时钟信号sck与片选信号cs共同生成所述的采样时钟信号sck_sample与移位时钟信号sck_shift。
105.在该实施例中,所述的载入触发信号load_time由载入触发模块生成,
106.如图6a所示,当所述的辅助时钟生成模块根据所述的通信时钟信号sck的上升沿生成所述的移位时钟信号sck_shift,根据所述的通信时钟信号sck的下降沿生成所述的采样时钟信号sck_sample时,所述的载入触发模块包括第一采样时钟同步并取沿单元、第一计数器生成单元、第一与非门nand1、第二与非门nand2、第一比较器equ1、第二比较器equ2及第一d触发器dff1;
107.所述的第一采样时钟同步并取沿单元的第一输入端接所述的采样时钟信号sck_sample,所述的第一采样时钟同步并取沿单元的第二输入端接所述的主频时钟信号clk,所述的第一采样时钟同步并取沿单元将所述的采样时钟信号sck_sample在所述的主频时钟信号clk下同步并取下降沿,生成采样时钟同步下降沿信号sck_sample_syn_neg,并由所述的第一采样时钟同步并取沿单元的输出端输出所述的采样时钟同步下降沿信号sck_sample_syn_neg;
108.所述的第一采样时钟同步并取沿单元的输出端分别与所述的第一计数器生成单元的第一端、所述的第一与非门nand1的第一端及所述的第二与非门nand2的第一端相连接;
109.所述的第一计数器生成单元的第二端接所述的主频时钟信号clk,所述的第一计数器生成单元的输出端输出计数器信号cnt,所述的第一计数器生成单元的输出端分别与所述的第一比较器equ1的第一输入端、所述的第二比较器equ2的第一输入端以及所述的第一计数器生成单元的反馈端相连接;
110.所述的第一比较器equ1的第二输入端接零,所述的第一比较器equ1的输出端与所述的第一与非门nand1的第二端相连接,所述的第一与非门nand1的输出端与所述的第一d触发器dff1的置位端相连接;
111.所述的第二比较器equ2的第二输入端接预设的常数,所述的预设的常数的值与所
述的发送数据缓存模块发出的所述的输出并行数据包的数据位宽对应,所述的第二比较器equ2的输出端与所述的第二与非门nand2的第二端相连接,所述的第二与非门nand2的输出端与所述的第一d触发器dff1的复位端相连接;
112.所述的第一d触发器dff1的时钟输入端与所述的主频时钟信号clk相连接,所述的第一d触发器dff1的q输出端与所述的第一d触发器dff1的输入端相连接,所述的第一d触发器dff1的q输出端输出所述的载入触发信号load_time;
113.如图6b所示,当所述的辅助时钟生成模块根据所述的通信时钟信号sck的下降沿生成所述的移位时钟信号sck_shift,根据所述的通信时钟信号sck的上升沿生成所述的采样时钟信号sck_sample时,所述的载入触发模块包括第二采样时钟同步并取沿单元、片选信号同步并取沿单元、第二计数器生成单元、第三与非门nand3、第四与非门nand4、第三比较器equ3、第四比较器equ4、第一与门and1、第三反相器及第二d触发器dff2;
114.所述的第二采样时钟同步并取沿单元的第一输入端接所述的采样时钟信号sck_sample,所述的第二采样时钟同步并取沿单元的第二输入端接所述的主频时钟信号clk,所述的第二采样时钟同步并取沿单元将所述的采样时钟信号sck_sample在所述的主频时钟信号clk下同步并取下降沿,生成采样时钟同步下降沿信号sck_sample_syn_neg,并由所述的第二采样时钟同步并取沿单元的输出端输出所述的采样时钟同步下降沿信号sck_sample_syn_neg;
115.所述的第二采样时钟同步并取沿单元的输出端分别与所述的第二计数器生成单元的第一端、所述的第三与非门nand3的第一端及所述的第四与非门nand4的第一端相连接;
116.所述的片选信号同步并取沿单元的第一输入端接所述的片选信号cs,所述的片选信号同步并取沿单元的第二输入端接所述的主频时钟信号clk;所述的片选信号同步并取沿单元将所述的片选信号cs在所述的主频时钟信号clk下同步,生成片选同步信号cs_syn,并由所述的片选信号同步并取沿单元的第一输出端输出所述的片选同步信号cs_syn;所述的片选信号同步并取沿单元将所述的片选信号cs在所述的主频时钟信号clk下同步并取上升沿,生成片选同步上升沿信号cs_syn_pos,并由所述的片选信号同步并取沿单元的第二输出端输出所述的片选同步上升沿信号cs_syn_pos;
117.所述的第二计数器生成单元的第二端接所述的主频时钟信号clk,所述的第二计数器生成单元的第三端接所述的片选同步信号cs_syn,所述的第二计数器生成单元的输出端输出计数器信号cnt,所述的第二计数器生成单元的输出端分别与所述的第三比较器equ3的第一输入端、所述的第四比较器equ4的第一输入端以及所述的第二计数器生成单元的反馈端相连接;
118.所述的第三比较器equ3的第二输入端接零,所述的第三比较器equ3的输出端与所述的第三与非门nand3的第二端相连接,所述的第三与非门nand3的输出端与所述的第二d触发器dff2的置位端相连接;
119.所述的第四比较器equ4的第二输入端接预设的常数,所述的预设的常数的值与所述的发送数据缓存模块发出的所述的输出并行数据包的数据位宽对应,所述的第四比较器equ4的输出端与所述的第四与非门nand4的第二端相连接,所述的第四与非门nand4的输出端与所述的第一与门and1的第一输入端相连接;
120.所述的第三反相器的输入端接所述的片选同步上升沿信号cs_syn_pos,所述的第三反相器的输出端与所述的第一与门and1的第二输入端相连接,所述的第一与门and1的输出端与所述的第二d触发器dff2的复位端相连接;
121.所述的第二d触发器dff2的时钟输入端与所述的主频时钟信号clk相连接,所述的第二d触发器dff2的q输出端与所述的第二d触发器dff2的输入端相连接,所述的第二d触发器dff2的q输出端输出所述的载入触发信号load_time。
122.在任何前提条件下(无论是上升沿采样还是下降沿采样的前提条件下),一帧数据传输结束后载入触发信号load_time必须回到复位状态(高电平状态)。
123.在sck上升沿采样,下降沿移位为前提条件下的方案中(即当所述的辅助时钟生成模块根据所述的通信时钟信号sck的下降沿生成所述的移位时钟信号sck_shift,根据所述的通信时钟信号sck的上升沿生成所述的采样时钟信号sck_sample时)利用这个片选同步上升沿信号cs_syn_pos使载入触发信号load_time复位。图6b中,生成的下降沿rn经过第二d触发器dff2的复位端clr复位,生成载入触发信号load_time的上升沿,使得一帧数据传输结束后载入触发信号load_time回到复位状态,即高电平状态。
124.同时,在sck上升沿采样,下降沿移位为前提条件下的方案中计数器生成单元计数器清0的一个必要条件是片选同步信号cs_syn为高,数据传输结束,将计数器信号cnt清零计数器信号cnt若没有片选同步信号cs_syn为高这个条件,计数器信号cnt最后会停在1处,回不到初始值0处。如图13所示,一共有9个采样时钟同步下降沿信号sck_sample_syn_neg,每个采样时钟同步下降沿信号sck_sample_syn_neg高电平有效时刻,计数器信号cnt都会加1,计数器信号cnt计数只能计0~7,最后会加到1,一帧8位数据传输结束后需要这个片选同步信号cs_syn高电平有效的条件将计数器信号cnt重新清0,使之回到初始状态。
125.第一计数器生成单元与第二计数器生成单元的功能为:记录的就是当前发送、接收到的一帧串行数据个数,复位状态下计数器信号cnt为0,说明未采样到第一个数据,同时也未发送第一个的数据;计数器信号cnt为1时,说明采样到第一个需接收的串行数据,当前只采样到,但这个数据还未移位进移位寄存器中,同时发送第一个需发送的串行数据;计数器信号cnt为2时,说明采样到第二个需接收的串行数据,第一个采样到的需接收的串行数据移位进移位寄存器中,同时发送第二个需发送的串行数据;计数器信号cnt为3时,说明采样到第三个需接收的串行数据,第二个采样到的需接收的串行数据移位进移位寄存器中,同时发送第三个需发送的串行数据;以此类推,当计数器信号cnt为7时,说明采样到第七个需接收的串行数据,第六个采样到的需接收的串行数据移位进移位寄存器中,同时发送第七个需发送的串行数据;当计数器信号cnt重新回到0时,说明采样到第八个需接收的串行数据,第七个采样到的需接收的串行数据移位进移位寄存器中,同时发送第八个需发送的串行数据。
126.上述说明为以对8位的数据进行传输为例子进行的说明,一帧8位数据就从0递增到7后回到0,如果是对16位的数据进行说明就以同样的方式从0递增到15后回到0,该实施例中采用的第一计数器生成单元与第二计数器生成单元均为循环计数器,输入回计数器生成单元就是说明它会循环计数。在数据一帧接着一帧连续传输的时候,计数器cnt记到一帧数据满(7或15等等)以后就会清0。
127.下面对当所述的辅助时钟生成模块根据所述的通信时钟信号sck的下降沿生成所
述的移位时钟信号sck_shift,根据所述的通信时钟信号sck的上升沿生成所述的采样时钟信号sck_sample时,所述的载入触发模块的工作过程进行说明:
128.采样时钟信号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。
129.如图7所示,在该实施例中,所述的载出触发信号send_time由载出触发模块生成,所述的载出触发模块包括第五比较器equ5、第三采样时钟同步并取沿单元、第三d触发器dff3及第二与门and2;
130.所述的第五比较器equ5的第一输入端接零,所述的第五比较器equ5的第二输入端接所述的计数器信号cnt,所述的第五比较器equ5的输出端与所述的第二与门and2的第一输入端相连接;
131.所述的第三采样时钟同步并取沿单元的第一输入端接所述的采样时钟信号sck_sample,所述的第三采样时钟同步并取沿单元的第二输入端接所述的主频时钟信号clk,所述的第三采样时钟同步并取沿单元将所述的采样时钟信号sck_sample在所述的主频时钟信号clk下同步并取上升沿,生成采样时钟同步上升沿信号sck_sample_syn_pos,并由所述的第三采样时钟同步并取沿单元的输出端输出所述的采样时钟同步上升沿信号sck_sample_syn_pos;
132.所述的第三d触发器dff3的时钟输入端与所述的主频时钟信号clk相连接,所述的第三d触发器dff3的输入端与所述的第三采样时钟同步并取沿单元的输出端相连接,所述的第三d触发器dff3的q输出端与所述的第二与门and2的第二输入端相连接;
133.所述的第二与门and2的输出端输出所述的载出触发信号send_time。
134.载入触发信号load_time和载出触发信号send_time分别对应发送数据缓存模块中的输出并行数据包载入移位模块中的触发时机和同步缓存模块中的并行数据载出给接收数据缓存模块的触发时机。
135.载出触发信号send_time是一个高有效信号,通过比较器将计数器信号cnt与零进行对比后,提出cnt==0的时刻,采样时钟信号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:1]拼接同时送入接收数据缓存模块的操作。
[0136]
在该实施例中,所述的第一采样时钟同步并取沿单元与所述的第二采样时钟同步并取沿单元均可由同步并取下降沿单元构成,如图8所示,所述的同步并取下降沿单元包括:第四d触发器dff4、第五d触发器dff5、第六d触发器dff6、第四反相器及第三与门and3;
[0137]
所述的第四d触发器dff4的输入端构成所述的第一采样时钟同步并取沿单元的第一输入端或所述的第二采样时钟同步并取沿单元的第一输入端;所述的第四d触发器dff4的时钟输入端、所述的第五d触发器dff5的时钟输入端及所述的第六d触发器dff6的时钟输入端共同构成所述的第一采样时钟同步并取沿单元的第二输入端或所述的第二采样时钟同步并取沿单元的第二输入端;
[0138]
所述的第四d触发器dff4的q输出端与所述的第五d触发器dff5的输入端相连接;所述的第五d触发器dff5的q输出端分别与所述的第六d触发器dff6的输入端及所述的第四反相器的输入端相连接;
[0139]
所述的第四反相器的输出端与所述的第三与门and3的第一输出端相连接;所述的第六d触发器dff6的q输出端与所述的第三与门and3的第二输出端相连接;所述的第三与门and3的输出端构成所述的第一采样时钟同步并取沿单元的输出端或所述的第二采样时钟同步并取沿单元的输出端;
[0140]
所述的片选信号同步并取沿单元与所述的第三采样时钟同步并取沿单元均可由同步并取上升沿单元构成,如图9所示,所述的同步并取上升沿单元包括:第七d触发器dff7、第八d触发器dff8、第九d触发器dff9、第五反相器及第四与门;
[0141]
所述的第七d触发器dff7的输入端构成所述的片选信号同步并取沿单元的第一输入端或所述的第三采样时钟同步并取沿单元的第一输入端;所述的第七d触发器dff7的时钟输入端、所述的第八d触发器dff8的时钟输入端及所述的第九d触发器dff9的时钟输入端共同构成所述的片选信号同步并取沿单元的的第二输入端或所述的第三采样时钟同步并取沿单元的第二输入端;
[0142]
所述的第七d触发器dff7的q输出端与所述的第八d触发器dff8的输入端相连接;所述的第八d触发器dff8的q输出端分别与所述的第九d触发器dff9的输入端及所述的第四与门的第一输入端相连接;所述的第八d触发器dff8的q输出端构成所述的片选信号同步并取沿单元的第一输出端;
[0143]
所述的第九d触发器dff9的q输出端通过所述的第五反相器与所述的第四与门的第二输入端相连接;
[0144]
所述的第四与门的输出端构成所述的片选信号同步并取沿单元的第二输出端或所述的第三采样时钟同步并取沿单元的输出端。
[0145]
如图8所示,采用同步并取下降沿单元可使得异步信号data经过两级触发器(第四d触发器dff4及第五d触发器dff5)后,生成同步数据信号data_syn,该同步数据信号data_syn与主频时钟信号clk同步,二输入的第三与门and3的输出信号——同步数据取下降沿信号data_syn_neg为异步信号data与主频时钟信号clk同步后取下降沿得到的信号。
[0146]
如图9所示,同步并取上升沿单元的结构与同步并取下降沿单元的结构基本相似,区别仅在于用到的反相器的位置不同,该同步并取上升沿单元的结构中用到的二输入的第四与门的输出端输出的同步数据取上升沿信号data_syn_pos;该信号为异步信号data与主频clk同步后取上升沿信号。
[0147]
在该实施例中,所述的采样模块包括第十d触发器dff10,所述的第十d触发器dff10的输入端构成所述的采样模块的第一输入端,所述的第十d触发器dff10的时钟输入端接所述的采样时钟信号sck_sample,所述的第十d触发器dff10的q输出端输出所述的串行采样数据信号sdi_s。
[0148]
即在该实施例中,采样模块在采样时钟信号sck_sample的触发下,对串行数据输入信号sdi进行采样,具体而言就是在采样时钟信号sck_sample的触发下由第十d触发器dff10对串行数据输入信号sdi进行采样,然后得到采样后的串行采样数据信号sdi_s。
[0149]
在该实施例中,所述的移位模块包括移位寄存器单元;
[0150]
所述的移位寄存器单元的第一输入端构成所述的移位模块的第一输入端,所述的移位寄存器单元的第二输入端接所述的载入触发信号load_time,所述的移位寄存器单元的时钟输入端接所述的移位时钟信号sck_shift,所述的移位寄存器单元的第一输出端输出所述的串行数据输出信号sdo。
[0151]
在该实施例中,所述的同步缓存模块包括:串行采样信号同步单元、移位寄存器同步单元、第十一d触发器dff11;
[0152]
所述的串行采样信号同步单元的第一输入端与所述的第十d触发器dff10的q输出端相连接,所述的串行采样信号同步单元的第二输入端接所述的主频时钟信号clk,所述的串行采样信号同步单元的输出端与所述的接收数据缓存模块的第一输入端相连接;
[0153]
所述的第十d触发器dff10的q输出端与所述的移位寄存器单元的第三输入端相连接,所述的移位寄存器单元的第二输出端与所述的移位寄存器同步单元的第一输入端相连接,所述的移位寄存器同步单元的第二输入端接所述的主频时钟信号clk,所述的移位寄存器同步单元的输出端与所述的第十一d触发器dff11的输入端相连接,所述的第十一d触发器dff11的时钟输入端接所述的主频时钟信号clk,所述的第十一d触发器dff11的q输出端与所述的接收数据缓存模块的第二输入端相连接;
[0154]
所述的接收数据缓存模块的第三输入端接所述的主频时钟信号clk,所述的接收数据缓存模块的第四输入端接所述的载出触发信号send_time;
[0155]
由所述的串行采样信号同步单元的输出端输出的信号与所述的第十一d触发器dff11的q输出端输出的信号拼接后组成所述的与所述的主频时钟信号clk同步后的串行采样数据信号sdi_s。
[0156]
在该实施例中,移位寄存器单元为一个复用的器件,其用来实现2个功能:
[0157]
第一:在移位时钟信号sck_shift的上升沿,将串行采样数据信号sdi_s移入该移位寄存器单元中生成移位寄存器信号shift_reg,该移位寄存器信号shift_reg由移位寄存器单元的第二输出端输出;
[0158]
第二:对所述的输出并行数据包进行移位操作,生成相应的串行数据输出信号sdo,并输出;
[0159]
该移位寄存器单元在完成对串行数据输出信号sdo的输出后,需要将发送数据缓存模块中新的数据再次载入移位寄存器单元生成移位寄存器信号shift_reg。
[0160]
具体而言,该移位寄存器单元的工作流程为:
[0161]
在每个移位时钟信号sck_shift的上升沿,当载入触发信号load_time有效时,发送数据缓存模块中的输出并行数据包载入移位寄存器单元,并生成移位寄存器信号shift_
reg。其他时刻对移位寄存器信号shift_reg移位,移位寄存器信号shift_reg在寄存器头部移出,输出串行数据输出信号sdo,移位寄存器信号shift_reg尾部移入经过采样时钟信号sck_sample触发采样后的输入数据sdi_s(串行采样数据信号)。
[0162]
参阅图11所示,以移位寄存器单元为8位移位寄存器为例进行说明,所述的发送数据缓存模块输出的输出并行数据包中的数据是8位的,输入串行通信接口的串行数据输入信号sdi也是8位的,8位的输出并行数据包在载入触发信号load_time及移位时钟信号sck_shift共同触发下载入移位寄存器单元,然后由移位时钟信号sck_shift触发该移位寄存器单元对在移位寄存器中的数据进行移位,当输出并行数据包中的数据的最高位数据移出后,串行采样数据信号sdi_s的第一位输入该移位寄存器单元的最低位,每移出一位输出并行数据包中的数据,便输入一位串行采样数据信号sdi_s的数据。即前7个串行数据已经在采样时钟信号sck_sample的1~7个上升沿完成采样,在移位时钟信号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的周期。
[0163]
该实施例中,计数器信号cnt与移位寄存器单元接收到的串行数据的个数对应,初始状态下为0,说明未采样到一个数据;计数器信号cnt为1时,说明采样到第一个串行数据,该状态下只是采样到数据,但这个数据还未移位进移位寄存器单元中,计数器信号cnt为2时,说明采样到第二个串行数据,第一个串行数据移位进移位寄存器单元中;计数器信号cnt为3时,说明采样到第三个串行数据,第二个串行数据移位进移位寄存器中;以此类推,当计数器信号cnt为7时,说明采样到第七个串行数据,第六个串行数据移位进移位寄存器中;当计数器信号cnt重新回到0时,说明采样到第八个串行数据,第七个串行数据移位进移位寄存器中。
[0164]
此时第八个数据没有必要再移位进移位寄存器单元中去啦(同时在根据sck上升沿获得移位时钟信号sck_shift,下降沿获得采样时钟信号sck_sample的前提条件下的方案中也没有第9个移位时钟信号sck_shift的上升沿来进行移位操作了,电路将前七个已移位进移位寄存器单元的数据shift_reg_syn_d[data_len-1:1]拼接上第八个采样数据sdi_s_syn一起送入接收数据缓存单元中去。
[0165]
信号处理过程中,在第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:1]拼接上第八个采样数据sdi_s_syn在载出触发信号send_time高
有效时刻点一起送入接收数据缓存单元中去。
[0166]
同步缓存模块主要功能为:
[0167]
当通过采样时钟信号sck_sample采样到一帧数据的最后一位时,需要将移位寄存器信号shift_reg以及串行采样数据信号sdi_s的最后一位与主频时钟信号clk同步后送入接收数据缓存模块中;即移位寄存器单元输出的移位寄存器信号shift_reg将串行采样数据信号sdi_s中除最后一位的其他位数据和当前完成采样的串行采样数据信号sdi_s拼接送入接收数据缓存模块中;
[0168]
同步缓存模块的具体操作为:
[0169]
串行采样数据信号sdi_s经过串行采样信号同步单元,在主频时钟信号clk的同步下,成为串行采样数据同步信号sdi_s_syn;移位寄存器单元输出的移位寄存器信号shift_reg经过移位寄存器同步单元,在主频时钟信号clk的同步下,成为移位寄存器同步信号shift_reg_syn,该移位寄存器同步信号shift_reg_syn再通过第十一d触发器dff11延时一拍,生成延时信号——移位寄存器同步延时信号shift_reg_syn_d;将生成的串行采样数据同步信号sdi_s_syn、移位寄存器同步延时信号shift_reg_syn_d[data_len-1:1]进行拼接,并在载出触发信号send_time高有效的时间点将二者共同送入接收数据缓存单元中去,即将与所述的主频时钟信号clk同步后的串行采样数据信号sdi_s送入接收数据缓存单元。其中,data_len是一个常数,表明数据帧位数。
[0170]
在该实施例中,所述的串行采样信号同步单元及移位寄存器同步单元均可由同步单元构成,所述的同步单元包括第十二d触发器dff12及第十三d触发器dff13;
[0171]
所述的第十二d触发器dff12的输入端构成所述的串行采样信号同步单元的第一输入端或所述的移位寄存器同步单元的第一输入端;所述的第十二d触发器dff12的时钟输入端与所述的第十三d触发器dff13的时钟输入端共同构成所述的串行采样信号同步单元的第二输入端或所述的移位寄存器同步单元的第二输入端;所述的第十二d触发器dff12的q输出端与所述的第十三d触发器dff13的输入端相连接;所述的第十三d触发器dff13的q输出端构成所述的串行采样信号同步单元的输出端或所述的移位寄存器同步单元的输出端。
[0172]
如图10所示,该同步单元可以使得与主频时钟信号clk异步的信号data经过两级d触发器,与主频时钟信号clk同步。即异步信号data经过两级触发器后生成的信号,为与主频同步的信号data’。
[0173]
下面以述的辅助时钟生成模块根据所述的通信时钟信号sck的下降沿生成所述的移位时钟信号sck_shift,根据所述的通信时钟信号sck的上升沿生成所述的采样时钟信号sck_sample的情况为例,对上述实施例中的实现串行接口全双工通信的从机芯片的电路结构进行进一步地说明:
[0174]
采用该实施例中的实现串行接口全双工通信的从机芯片的电路结构,在通信时钟信号sck和片选信号cs后增加辅助时钟生成模块,同时将采样模块采集的数据紧跟发送数据缓存模块发出的数据,由移位模块直接生成串行数据输出信号sdo,实现在数字电路可靠性设计的前提下,可在主频时钟信号clk最小仅为通信时钟信号sck两倍频的前提条件下,保证输入/出接口数据相对时钟采样正确和移位无延时,有效解决串行数据输出信号sdo相对于通信时钟信号sck存在的相位延时的问题。
[0175]
辅助时钟生成模块对通信时钟信号sck及片选信号cs处理时,并不与所述的主频
时钟信号clk进行同步,仅先进行简单的组合逻辑操作生成移位时钟信号sck_shift及采样时钟信号sck_sample。
[0176]
在该实施例中,发送数据缓存模块中的输出并行数据包依靠辅助时钟生成模块生成的移位时钟信号sck_shift在移位模块中进行数据载入和移位,由移位模块直接生成串行数据输出信号sdo输出。串行数据输入信号sdi在采样模块中依靠辅助时钟生成模块生成的采样时钟信号sck_sample进行采样操作,串行数据输入信号sdi在采样模块中进行采样操作,使用的时钟为采样时钟信号sck_sample,得到的串行采样数据信号sdi_s,该实施例中,串行采样数据信号sdi_s一部分直接输入至同步缓存模块中的串行采样信号同步单元,另一部分输入至移位模块中的移位寄存器单元,由移位寄存器单元将这部分信号输入至同步缓存模块中的移位寄存器同步单元,具体而言就是,移入移位模块中的包含串行采样数据信号信息的输入并行数据包在主频时钟信号clk下同步并进入同步缓存模块,最后将同步缓存模块中的输入同步并行数据包送入接收数据缓存单元中。该实施例中,由于生成串行数据输出信号sdo的过程中,不经过主频时钟信号clk同步,直接生成,避免了串行数据输出信号sdo相对于通信时钟信号sck相位延后。
[0177]
从图12至图15中可以分别看出根据通信时钟信号下降沿生成采样时钟信号,上升沿生成移位时钟信号以及根据通信时钟信号上升沿生成采样时钟信号,下降沿生成移位时钟信号时所对应的各个信号之间的相位关系,其中:图12为根据通信时钟信号下降沿生成采样时钟信号,上升沿生成移位时钟信号的时序图;图13为根据通信时钟信号上升沿生成采样时钟信号,下降沿生成移位时钟信号的时序图;图14为显示载出触发信号send_time在根据通信时钟信号下降沿生成采样时钟信号,上升沿生成移位时钟信号时,与其他信号的相位关系的时序图;图15为显示载出触发信号send_time在根据通信时钟信号上升沿生成采样时钟信号,下降沿生成移位时钟信号时,与其他信号的相位关系的时序图。
[0178]
在电路结构的工作过程中,在载出触发信号send_time的触发时机前,通信时钟信号sck、片选信号cs、采样时钟信号sck_sample、移位时钟信号sck_shift、移位寄存器信号shift_reg[7:0]、串行数据输入信号sdi及串行采样数据信号sdi_s是同步的,同属一个时钟域内,这个时钟域与主频时钟信号clk异步。
[0179]
主频时钟信号clk、同步后的采样时钟信号sck_sample_syn、计数器信号cnt、采样时钟同步下降沿信号sck_sample_syn_neg、采样时钟同步上升沿信号sck_sample_syn_pos、采样时钟取上升沿延时信号sck_sample_syn_pos_d、串行采样数据同步信号sdi_s_syn、移位寄存器同步信号shift_reg_syn、移位寄存器同步延时信号shift_reg_syn_d等这些信号是同步的,同属一个时钟域内,存储数据的“接收数据缓存模块”在主频时钟信号clk时间域内,对“接收数据缓存模块”的操作必须在主频时钟信号clk下完成,所以移位寄存器信号shift_reg[7:0]中的移位数据必须先在主频时钟信号clk下同步为移位寄存器同步信号shift_reg_syn[7:0]才可以继续下面的操作,同理串行采样数据信号sdi_s也必须在主频时钟信号clk下同步为串行采样数据同步信号sdi_s_syn才可以继续下面的操作。
[0180]
所述的载入触发信号load_time与所述的载出触发信号send_time均与所述的主频时钟信号clk同步。
[0181]
从图12至图15中可以看出生成载入触发信号load_time的载入触发模块中,除移位寄存器单元的输出信号移位寄存器信号shift_reg与移位时钟信号sck_shift的时钟相
位同步外,其他信号均与主频时钟信号clk同步,以保证数字电路设计的可靠性。
[0182]
由图7、图14及图15可看出生成载出触发信号send_time是一个高有效信号,载出触发模块中,经过第五比较器equ5将计数器信号cnt与0对比后,提取出cnt==0的时刻,采样时钟信号sck_sample经过与主频时钟信号clk同步和取沿操作生成采样时钟同步上升沿信号sck_sample_syn_pos,该信号再经过第三d触发器dff3延时一拍,生成采样时钟同步上升沿延时信号sck_sample_syn_pos_d,最后经过第二与门and2后生成载出触发信号send_time。
[0183]
该实施例中的实现串行接口全双工通信的从机芯片的电路结构可以在cpu的主频一定的条件下,从模式下进行全双工高速串行数据传输,其传输速率可达到主频的1/2;解决异步信号同步带来的串行数据输出信号sdo数据信号线移位输出延后,其能够保证信号线移位时与通信时钟信号sck同步,同时保证信号的正确采样。
[0184]
本发明的实现串行接口全双工通信的从机芯片的电路结构包括辅助时钟生成模块、采样模块及移位模块,由未与主频时钟信号clk同步的移位时钟信号sck_shift及采样时钟信号sck_sample分别控制采样模块对所述的串行数据输入信号sdi进行采样操作、触发所述的移位模块对需要发送的输出并行数据包中的数据进行移位操作,由所述的移位模块输出相应的串行数据输出信号sdo。采用该实现串行接口全双工通信的从机芯片的电路结构可有效解决现有技术中串行数据输出信号sdo相对于通信时钟信号sck延时的问题,可有效且准确的进行数据传输,且成本较低,适用范围广泛。
[0185]
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
再多了解一些

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

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

相关文献