TA的每日心情 | 开心 2019-11-20 15:00 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
基于 FPGA 的串口与外部 SD RAM 通信的电路设计
) E; D" p" [- o: l4 k3 N2 C0 o
# X$ A) Y& D7 u. I" e. P# R# R7 z. H" [
6 f! A9 `: n( k, v. `, O0 引 言 - l* T& |; y. x S8 n* S$ ?" u
随着电子技术的发展和计算机的普及 ,在线控制技术在科学实验测量和工业生产中得到广泛应用。按照技术定义 ,只要计算机对受控对象或受控生产过程 ,能够行使直接控制 ,不需要人工干预的都称之为控制计算机在线控制或称联机控制系统。由于在线控制中 ,对数据进行处理的过程 ,通常先将数据写入特定存储器中 ,再将其读出进行处理。如果通过外部硬件电路对 PC 中的数据进行处理或运算 ,就必须将数据通过 PC 端口传送至外部存储器当中再对它们进行处理。在这种技术应用中 ,往往需要实现 PC 机与其他的硬件电路中的外部存储器进行远程通信 ,考虑到串口通信传输距离远 ,抗干扰能力强 ,同时设计简单 ,实现容易 ,因此串口通信成为首选。考虑到 SDRAM 相对价格较低而且其控制电路可以和串口通信 ,可以选用 SDRAM 作为外部存储器。介绍了用 FPGA 技术来实现 PC 串口与外部 SDRAM 数据传输的电路设计 ,对传输电路的UART 模块和 SDRAM 控制器模块分别进行介绍并给出了它们的验证波形图 ,最后给出整体设计的实现及其验证波形图。
* {: V: Z5 R% H7 p1 UART模块设计* M' B0 i6 }" K ~ \# j" D
我们所设计的 UART 模块为 :数据位宽为 8位 ,停止位为 1 位 ,波特率为 9600bp s ,无校验方式。此模块包含了时钟分频、数据接收及数据发送等 3个部分。( |4 n" c0 p1 w8 N1 p" V5 c
1. 1 时钟分频部分
0 [: V: t" e/ J, V h# m+ g在与串口进行通信时 ,由于串行数据帧与接受时钟是异步的 ,所以在 UART 设计中的一个重要的环节是接收器时钟与每个接收字符的同步。我们采用在 UART 模块中使用高速时钟对串行数据进行采样[1 ] ,通常采样频率是位时钟频率的整数倍 ,理论上 ,倍数越高接收数据各位的精确度越高 ,一般最高是 16 ,考虑到实际应用的需要 ,在此设计中 ,我们选择的值是 4。 + W4 S' M. u2 V2 r' j
4 d$ L3 m/ j3 M+ F; V; W- ~7 c" @$ s$ [, O# [- u# D
% w8 [: |) F" L2 ?1 V( ^1 P6 d0 `" t, y5 d: C
|
|