| 首页 | AVR单片机 | 8051单片机 | PIC单片机 | msp430应用 | motorola单片机 | C166单片机 | 开关电源 | 电源设计 | 电源技术应用 | 电磁兼容 |
| ARM芯片开发 | DSP开发技术 | PowerPC处理器 | RABBIT单片机 | 嵌入式系统设计 | 工业控制 | 控制电路 | PLC编程 | 机器人技术 | 电机原理 |
| vhdl语言学习 | asic芯片技术 | fpga培训 | cpld编程 | verilog hdl | Vxworks开发 | wince开发教程 | 嵌入式linux | uclinux开发 | ucos入门 |
用VHDL语言在CPLD上实现串行通信
作者: 来源:51mcu
|
串口通讯不是什么热门的技术,也不是很难的技术,但是串口通讯却非常常用(不管是进行程序下载,软件调试,还是嵌入式开发都离不开这个串口),串口很早就存在在计算机上,而且会很长时间的存在。更多串口通讯技术!
由于本设计中选取一位数据4个时钟周期,因此当计数到“100111”时,表示10位数据发送完毕;此时将加载信号“load”置1,则向移位寄存器加载10位数据。此计数器的时钟信号由3位计数器的进位信号提供,3位计数器程序为如下:
当计数脉冲为3时,计数器清零并发出进位信号“carry”,“carry”既是6位计数器的时钟信号,又是移位寄存器的移位脉冲,移位寄存器实际上在发送器中是一个并串转换器,其程序为如下:
当加载信号高有效时,10位数据从外部寄存器中并行载入REG10,载入后在“carry”有效时,即每4个CLK周期右移一位进入锁存器,进而从TXD发出。发送器的仿真波形如图2所示。 ![]() 接收器的结构与模块的功能与发送器相似。通过判断接收锁存器中的起始位是否为零,来确定接收与否。若有效时,3位计数器开始计数,将锁存器中的数据逐位右移到移位寄存器中,6位计数器同样计数到“100111”,此时表示已接收10位数据, 发出信号把移位寄存器中的数据并行读出。接收器中的移位寄存器其实是一个串并转换器。 结论 以上就是串行通信的基本结构和原理,在工程中可能对波特率的要求不同。可以利用 CPLD的在线可编程功能,通过修改发送(接收)每一位的时间来控制波特率,比如把一位数据每4个CLK改为2个CLK,则在时钟频率19.2kHz时, 波特率为9600bps。除此之外,还可以通过增加时钟频率来增大波特率。 参考文献 1 胡汉才. 单片机原理及其接口技术.清华大学出版社 2 赵俊超等. 集成电路设计VHDL教程. 希望电子出版社 |
|
相关资料:
| ||||||||||||||||||||||||
|
网站地图 | 联系我们 | 免责声明 | 招聘信息 | 友情链接 Copyright © 2005 - 2006 单片机设计网 |