- 1、本文档共2页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
在阅读本节内容前,请先参考《SPI-AT93C46介绍与操作说明》,本文只是解释程序。
AT93C46读时序图如下:
代码贴图如下:
逐行解释:
9-15,参见spi_w说明。
16:一帧数据(8bits)接收完毕信号,即数据准备好信号。平常是低电平,接收完8bits后
变高,所以外部只要检测其上升沿即可判断数据接收完毕。
18:计数器的输出,调试用
34-73:产生读时序。
37-40:复位状态,cs置为0,表示无效,计数器cnt,data_ready置为0,表示数
据还没有准备好。
41-64:产生93c46的输入数据di,片选信号cs。
35:都是在clkin(即sk,见65-71的说明)的下降沿将数据输出。
43-46:产生起始位SB‘1’,并将读完毕标志finish置为0,表示读操作还没完毕。
47-50:产生读操作的操作码‘10’。
51-52:发送待读单元地址,先发送。
53-54:在这段时间内,采样do的数据。
55-57:数据采样完毕,置cs为0,停止采样。
58-59:拉高data_ready,表示数据已经完毕,通知外部提取。
60-62:执行完毕读操作后,将cs置为无效状态,即低电平,将di置为低电平,finish
置为高(该信号一直为高,直到下一次启动信号的到来),表示读完毕,cnt置成
21,这样下一次触发这个process时,还会执行60-62句,一直这样循环,直到下
一次启动信号的到来后再执行一次读操作。
65-71:产生93c46的时钟信号sk。根据cnt的值,在一定的时间内将clkin赋值给sk,
形成93c46的时钟,其他的时刻使sk=0,没有时钟脉冲。
75-87:采样do的数据。
78-79:复位期间,data_tmp置为0。
81-85:在clkin(即sk,见65-71的说明)的下降沿采样do的数据,并存入data_tmp。
先接收到
88:并行输出。将信号datatmp输出输出到端口dataout。
文档评论(0)