CPLD的串口通信设计

网友投稿 310 2022-11-18

CPLD的串口通信设计

图1 CPLD串口通信模块硬件设计

二、VHDL程序模块设计及描述

使用VHDL 对CPLD 进行编程,设计3 个模块,波特率发生模块,接收器,发送器。

1. 波特率发生模块

程序如下(关键部分保留,非必要部分用……代替):

……

GENERIC(d_len:INTEGER:=8);

PORT (

f10MHz:IN STD_LOGIC;-- 系统时钟

reset:IN STD_LOGIC;-- 复位信号

rxd:IN STD_LOGIC; -- 串行接收

txd:OUT STD_LOGIC;-- 串行发送

);

END uart;

……

BEGIN

rxds<=rxd;

PROCESS(f10MHz,reset)

-- 设置波特率发生器 19200kb/s

VARIABLE clk19200hz: STD_LOGIC;

VARIABLE count:INTEGER RANGE 0 TO 260;

BEGIN

count:=0;

clk19200hz:='0';

ELSIF f10MHz'EVENT AND f10MHz='1' THEN

IF count=260 THEN

count:=0;clk19200hz:= NOT clk19200hz;

ELSE

count:=count+1;

END IF;

END IF;

baud_rate<=clk19200hz;

END PROCESS;

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SpringAop&nbsp;@Aspect织入不生效,不执行前置增强织入@Before方式
下一篇:离线数仓建设,企业大数据的业务驱动与技术实现丨03期直播回顾
相关文章

 发表评论

暂时没有评论,来抢沙发吧~