verilog语言求大神

现有时钟线scl和数据线sda,要求是在传输开始后连续传8位数据。scl高电平期间sda不允许翻转,那么就必须让scl低电平居中位置到下一个低电平居中位置保持sds的高/... 现有时钟线scl和数据线sda,要求是在传输开始后连续传8位数据。scl高电平期间sda不允许翻转,那么就必须让scl低电平居中位置到下一个低电平居中位置保持sds的高/低电平,也就是sda传输一个位涵盖scl的整整一周期。那么我想请教大神,如何控制sda的传输时间达到要求?
可不可以将scl分割出4个段,这样用case语句控制。但具体怎么分割啊??求大神。不胜感激!
哦。我是说怎么用语言表述分割scl。。。
展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏30(财富值+成长值)
帐号已注销
2015-09-23 · TA获得超过8230个赞
知道小有建树答主
回答量:1146
采纳率:94%
帮助的人:217万
展开全部
看完上述描述后感觉比较糊涂,具体看不出来这是哪个协议的接口形式,但是有一点是任何协议都一致的,那就是你列出来的时序图。从图中大约可以看出来SCL高电平期间SDA是不变的,也就是说从SDA读取数据出来时可以使用SCL的上升沿,写数据到SDA时,可以用SCL的下降沿。至于你说传输8bit,把SCL分割,我感觉有些像BCLK也就是位时钟,你可以把SCL进行8分频、9分频的,这样SCL和BCLK是同步的,识别到SCL沿时,用8个BCLK传输数据即可。建议查看下I2C\I2S\SPI等类似的协议和代码,对于你理解完成Verilog编写代码会有很大帮助和指导的。
追问
大神,我现在不懂的就是如何分频,且用verilog表述
能不能写一段拜读一下。不胜感激
追答
分频是最简单的了,Q2和赛灵思的ISE里面都有时钟管理的IP核,具体你不需要看懂,直接调用就可以了,无非就是几个相位、分频、倍频和复位信号等引脚。老实说,这种IP核我也只是调用,具体代码怎么写的我也从来没研究过。只是用这种核做基本的倍频、分频出其他同步时钟。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式