sunnnny 发表于 2014-12-13 15:40:50

求助帖新手党入门求指导

试用 FPGA 设计实现一个SMBus 主设备控制器,功能的切换通过外接的逻辑电平开关实现。实验中只
有一个从设备,器件地址为“4Ch”,无需考虑附加PEC 和从机忙碌需要主机等待的情况。
1) 主设备能发送字节给从设备,其中待发送的字节数据为“AAh”
2) 主设备能接收从设备数据发送的字节,从设备发送的寄存器数据为“33h”,并将接收到的8 位数
据显示在LED 或数码管上
3) 用示波器观察并记录 SMBCLK 和SMBDAT 波形。

系统可分为状态计数器、移位寄存器、移位计数器。SMBUS主机操作有8个状态分别是空闲、启动、发送地址,等待应答,发送数据,接收数据、发送无应答、停止。启动由外部输入写操作信号W或读操作信号R触发,设移位计数器的输出为Q2、Q1、Q0,设变量X1表示计满8,X1 = Q2Q1Q0,应答信号ACK,则基础部分状态转移图如下所示
根据状态图,按二进制编码列出状态转移表,输出信号包括:
SEL:为地址和数据选择信号,SEL=0为地址,SEL=1为数据
EN1:为状态计数器的使能端“ENT”或“ENP”
LD1:为状态计数器的置数端“LD”
EN2:为移位计数器的计数使能端“ENT”或“ENP”
MNACK:主机发送无应答信号
W/R:数据方向判别标识,用于判断主机是处于发送状态还是接收状态
S1、S0:为移位寄存器的控制端,“00”保持、“01”右移、“10”左移、“11”置数
P:移位寄存器时钟极性切换标识信号。在主机发送数据时主机是在每个下降沿移出数据,从机在上升沿采样,而主机接收数据时,从机在下降沿移出数据,主机在上升沿采样,所以最后一个数据位被移出后,要切换移位寄存器的时钟沿

ccs 发表于 2014-12-14 10:04:31

:):(:(:(:(:(:(:(

hyhyx1 发表于 2019-6-24 11:07:30

你写这么复杂的东西、不像是新手吧

fpga_feixiang 发表于 2019-9-29 14:32:13

~~~~~~~~~~~~~~~~~~

晓灰灰 发表于 2019-9-30 16:52:41

求助帖新手党入门求指导

fpga_feixiang 发表于 2019-10-13 14:40:20

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
页: [1]
查看完整版本: 求助帖新手党入门求指导