新闻中心

EEPW首页>EDA/PCB>设计应用> CPLD的串口电路设计

CPLD的串口电路设计

作者: 时间:2012-08-21 来源:网络 收藏

一、硬件

本文引用地址://m.amcfsurvey.com/article/190020.htm

本文选用是ALTERA 公司的EPM240T100,结合MAX232 接口芯片进行通信设计,框图如下图1 所示。

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

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

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

1. 波特率发生模块

波特率发生器实际是一个分频器,如前所述,本文设计的波特率为19.2kb/ 秒,设计使用的时钟频率为10MHz,所以计数器进行计数时计数到260进行翻转。

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

……

ENTITY uart IS

GENERIC(d_len:INteGER:=8);

PORT (

f10MHz:IN STD_LOGIC;-- 系统时钟

reset:IN STD_LOGIC;-- 复位信号

rxd:IN STD_LOGIC; -- 串行接收

txd:OUT STD_LOGIC;-- 串行发送

);

END uart;

ARCHITECTURE behav of uart IS

……

BEGIN

rxds=rxd;

PROCESS(f10MHz,reset)

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

VARIABLE clk19200hz: STD_LOGIC;

VARIABLE count:INTEGER RANGE 0 TO 260;

BEGIN

IF reset='0' THEN

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;

分频器相关文章:分频器原理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭