米联客技术答疑系统
微信客服01
微信客服02
微信客服03
QQ售前
QQ售后
提交问题
常见问题
联系我们
客服时间
周一至周五
8:00~18:00
[X]关闭
联系在线客服
首页
BBS
技术答疑系统
VIP视频课程
VIP板卡资料包
VIP会员购买
米联客-天猫店
米联客-京东店
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
客服中心
工单中心
AMD-FPGA
FPGA 串行传输问题
文档创建者:
Damon
浏览次数:
2179
最后更新:
2016-08-24
AMD-FPGA
2179 人阅读
|
0 人回复
module Serial_Data_TX(clk, clk_125KHZ, DataIn, TX_star, DataOut, TX_done);
input clk; //系统时钟40MHz
input clk_125KHZ; //同步时钟125KHZ
input [63:0] DataIn; //需要发送的数据
input TX_star; //发送启动信号
output DataOut; //串口发送
output TX_done; //发送结束标志
//端口变量声明
wire clk;
wire clk_125KHZ;
wire [63:0] DataIn;
wire TX_star;
reg DataOut;
reg TX_done;
//发送数据寄存器
reg [64:0] Data;
always @(posedge clk) Data <= {DataIn , 1'b0}; //64位数据位+1位起始位0
//发送状态机
reg state = 0; //状态机
parameter IDLE = 1'b0; //空闲
parameter SEND = 1'b1; //发送
reg [6:0] i; //发送数据计数器
always @ (posedge clk)begin
case(state)
IDLE:begin //空闲状态
i <= 7'd0;
DataOut <= 1'b1;
TX_done <= 1'b0;
if(TX_star) state <= SEND;
end
SEND:begin //发送状态,从低位开始发送
if(clk_125KHZ)
if( i < 7'd65 )begin
DataOut <= Data[i];
i <= i + 1'b1;
end
else begin
TX_done <= 1'b1; //发送完成
i <= 7'd0;
DataOut <= 1'b1;
state <= IDLE;
end
end
endcase
end
endmodule
以上是代码,起始位0+64位数据+结束位1 串行传输。
仿真没有问题,我发现烧写到板子上,即使没有输入信号,也会有个840us周期的方波。已经排除了管脚复用。
可能是软件问题,但是用ISIM仿真为什么没有问题呢?
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页