FPGA串口通信汇总_第1页
FPGA串口通信汇总_第2页
FPGA串口通信汇总_第3页
FPGA串口通信汇总_第4页
FPGA串口通信汇总_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、FPG凝验报告目录FPGA验报告1目录1基于VHDL的串口通信实现设计 3摘要3正文31 .研究背景知识31.1 串口简介31.2 串口通信参数32 .系统整体设计52.1 系统框图52.2 原理图52.3 管脚介绍:63 .系统模块设计63.1 分频模块63.11 流程图63.12 程序73.2 接收模块83.21 流程图83.22 程序93.3 发送模块103.31 流程图103.32 程序114 .系统调试124.1 时序调试124.2 硬件调试135 .总结14基于VHDL的串口通信实现设计摘要串口是计算机上一种非常通用设备通信的协议 ,其特点是通信线路简单,成 本低,特别适用于远距离

2、通信,因此有较为广泛的应用.为了深入了解用口,本 课程设计基于VHDL语言,利用FPGA开发板实现了板间串口通信.在程序设 计中,考虑到串口波特率、数据格式等参数,共采用了四个模块:分频模块即 波特率产生模块,接受模块,发送模块,显示模块.通过软件和开发板调试, 实现了板和串口调试助手收发数据, 软件改变波特率等参数,并在数码管显示的 功能.关键词:串口 VHDL FPGA分频接收发送显示正文1 .研究背景知识1.1 串口简介串行接口 Serial Interface是指数据一位一位地顺序传送,具特点是通信线路 简单,只要一对传输线就可以实现双向通信 可以直接利用 线作为传输线 从而大大降低了

3、本钱,特别适用于远距离通信,但传送速度较慢.串口通信的两种最根本的方式:同步串行通信方式和异步串行通信方式.1.2 串口通信参数双方为了可以进行通信,必须要遵守一定的通信规那么,这个共同的规那么 就是通信端口的初始化.通信端口的初始化有以下几项必须设置:1. 数据的传输速率传输双方通过传输线的电压改变来交换数据, 但传输线的电压改变的速度必须和接收端的接收速度保持一致, 个可参考的同步时钟作为基准.RS-232通常用于异步传输,即双方并没有一 由于没有一个参考时钟,双方所发送的上下电位 到底代表几个位就不得而知了,要使得双方的数据读取正常,就要考虑到传输速 率一一波特率,其所代表的意义是每秒钟

4、所能产生的最大电压状态改变率, 或者 说是每秒钟可以振荡的次数.2. 数据的发送单位一般用行通信端口所发送的数据是字符类型的,假设用来传输文件,那么会使用二进制的数据类型.当使用字符类型时,通常使用 ASCII码,ASCII码中8个位 形成一个字符.以实际的RS-232传输来看,由于大多数应用只是发送文字码, 因此只要7个位就可以将ASCII码的0-127号字符表达出来,所有的可见字符都 在这个范围内,所以只要7个数据位就足够了.不同的情况下,会使用到不同的 发送单位,但使用多少个位合成一个字节必须先行确定.3. 起始位及停止位由于异步串行通信中并没有使用同步脉冲作为基准,故接收端完全不知道

5、发送端何时将进行数据的发送,而当发送端准备要开始发送数据时, 发送端会在 所送出的字符前后分别加上高电位的起始位逻辑0及低电位的停止位逻辑1, 它们分别是所谓的起始位和停止位.当发送端要开始发送数据时,便将传输在线 的电位由低电位提升至高电位,而当发送结束后,再将电位降至低电位.接收端 会因起始位的触发因电压由低电位升至高电位而开始接收数据,并因停止位的 通知因电压维持在低电位而确切数据的字符信号已经结束.4. 校验位的检查为了预防错误的产生,因此使用校验位作为检查的机制;校验位是用来检查 所发送数据正确性的一种核对码,其中又分成奇校验位和偶校验位两种方式, 分 别是检查字符码中I的数目是奇数

6、或偶数.以偶校验位为例,A的ASCII码01100001 U进制,其中1的数目是三个,因此校验位便是 1,使1的数目保持 偶数.2.系统整体设计2.1系统框图2.2原理图2.3管脚介绍:功能 管脚输入/输出功能RST输入复位,初始化CLK输入时钟RXD输入串行收引脚SK_RP输入高电平为接收数据 低电平为发送数据BAUD8X输出波特率*8TXD输出串行发引脚SEG_EN输出数码管位选择SEG_DATA输出数码管段选择3.系统模块设计3.1 分频模块通过本模块要产生 8 X波特率的时钟, FPGA开发板时钟振荡频率为 50MHZ,因此要产生 9600*8的时钟,分频数为 50M/9600/8=3

7、25*2 ,本程序以 9600波特率为例,展开分频.其余波特率依例可以选择产生.3.11流程图开始3.12程序PROCESS(clk,rst)-分频得到8倍波特率的时钟 BEGINSEG_EN<="11111110;IF ( rst = '1') THENDIV_BUF <= '0'div_REG<= "0000000000000000"ELSIF(clk'EVENT AND clk='1')THENIF (div_reg = div_par - "0000000000000001

8、") THEN-/FEN PIN SHU YI BAN QU FAN DIV_BUF<= NOT DIV_BUF ;-产生时钟脉冲DIV_REG<="0000000000000000;ELSEdiv_reg <= div_reg + "0000000000000001"END IF;BAUD8X<=DIV_BUF ;END IF;END PROCESS;3.2 接收模块3.21流程图在进入收发模块之前.在复位中进行初始化: 接收缓冲器RXD_BUF<="00000000"RXD_CNT<="

9、;0000" 接 收 计 数 器 RXD_START<="000"接收前级接收器 RXD_TXT <="00000000" 接收数据采 用移位设计,将数据传进缓冲器. 每八个时欣对RXD取样一次,存进RXD_TXT 中,比拟中间五次,假设五位数据一致,那么认为可以接受一位数据,送进RXD_BUF, 共接受八位数据.等八个时隙停止位,再进入接收初态 .3.22程序/-/JIE SHOUELSIF (SK_RP='1')THENIF(RXD_CNT="0000")THENIF( RXD='0&

10、#39; )THEN-JIAN CE DAO XIA JIANG YAN WEI QI SHIWEIRXD_CNT<=RXD_CNT+"0001"END IF;ELSIF(RXD_CNT >= "0001" AND RXD_CNT<="1001")THEN-/JIE SHOUBA WEI SHU JUIF( RXD_START="111" )THEN-/BA GE SHI XIRXD_START<="000"RXD_CNT<=RXD_CNT+"0001&q

11、uot;IF(RXD_TXT(6 DOWNTO 1)="000000"ORRXD_TXT(6 DOWNTO 1 )="111111")THEN-/BA CI CAI YANG YI YANG SHI JIE SHOU YI WEI SHU JU;RXD_BUF(6DOWNTO )<= RXD_BUF(7DOWNTO 1); -/YI WEIRXD_BUF(7)<=RXD_TXT(7);-/JIESHOU DI YI WEIELSIF (RXD_CNT= "1010")THENRXD_START<="000&

12、quot;RXD_CNT<="0000"-/SHUJU CHOUYANGBUYI YANG ,RUO JIE SHOU ZUI HOU YI WEI ,QING LINGELSERXD_CNT<=RXD_CNT+"0001"END IF;ELSERXD_TXT(7)<=RXD;RXD_TXT(6DOWNTO0) <= RXD_TXT(7 DOWNTO1) ;-/CAI YANG BA CI,FANG JIN RXD_TXD SHU ZU ZHONG;RXD_START<=RXD_START+"001"EN

13、D IF;ELSEIF(RXD_CNT= "1010") THEN -/JIE SHOU TING ZHI WEIZHI WEI YOUDATA_B<=RXD_BUF;-/TINGXIAO ,JIANG SHU JU CUN RU DATA BUS;IF( RXD_START="110")THENRXD_START<="000"RXD_CNT<="0000"RXD_BUF<="00000000;ELSERXD_START<=RXD_START+"001"E

14、ND IF;END IF;END IF;END IF;3.3发送模块3.31流程图为实现收发保持同一时隙,每八个时隙发送一位数据,通过移位,把八位数 据发送出去.3.32程序/-/FASONG /ELSIF(DIV_BUF' EVENT AND DIV_BUF='1')THENIF (SK_RP='0')THENIF (TXD_CNT="0000")THEN -/QI SHI WEITXD<='0'TXD_CNT<=TXD_CNT+"0001"TXD_BUF<=DATA_B; -/

15、FA SONG DE SHU SONG JIN FA SONG HUN CHONG QIELSIF(TXD_CNT>= "0001" ANDTXD_CNT<="1000")THEN-FA SONGBA WEI SHU JUIF( TXD_START="111")THEN TXD_START<="000"TXD_CNT<=TXD_CNT+"0001"TXD<=TXD_BUF(0);-/DI YI WEI FA SONG TXD_BUF(6 DOWNTO 0 )<

16、= TXD_BUF(7 DOWNTO 1); -/YI WEIELSETXD_START<=TXD_START+"001"END IF;ELSEIF(TXD_CNT= "1001") THEN-/FA TING ZHI WEIIF( TXD_START="111")THENTXD_START<="000"TXD<='1'TXD_CNT<=TXD_CNT+"0001"ELSETXD_START<=TXD_START+"001"END

17、 IF;ELSEIF( TXD_START="110")THENIF(RST='0')THENTXD_START<="000"TXD_CNT<="0000"TXD_BUF<="00000000"END IF;ELSETXD_START<=TXD_START+"001"END IF;END IF;END IF;4 .系统调试4.1 时序调试分频:波特率*8tfgMteTl-SEME 工Jij Lpikmi lnKBEanq |1IJ| J, Em3 卜 1山

18、 口山 卜 Wiormg 人、Ena 入a Fylsui.ftHRa.t-J7I:1TMl却可TRef接收和显示第迫 S££WU E| . liwiairan Hipml . LUton W«w?aa发送和显示第 scnim -rfid4.2硬件调试管脚分配DirKlxnLoubonI/O BarkffifiF Group 1Starwiard肾 eserved19 BftUDSXGk/tputlVLVTTLfdefiadt)2 arEjjIPIN.231B1_NOIHLELMeAUU3r rstJnpPN_l«33.HLEL俄母用4*InputPffl

19、.iw2B2.NQ工MLELftte话网& SEG_0ATAOJOutpuGa&3_N13.J-VLVTTLid=h»d?)百<> 5EG3闽疝OutputWIJ123B3_N13 34 LEL 性能Jt)7& SEGaD*TA2|OutputPM/U3BJJMiiJ-VLvrn.(efefedyS3 SG_pATA3JOvlputP|M_1143_&3.N.1的叫gO SEG_P*TAMOutputpm_ii53B3JM13.5-¥LVTTLdefedy104# SEG_pATAqOiftpuGP1N_I1£3B3_N

20、13.J-¥LVTTL(de!fed?)11"jBSJWM卸 品5而i力OutputOulputPINJ173BJ_N13.3-VLVTTLfder)123J*工MLELfde总典133 SEtiR 皿Output3通jn3.3rVl¥TTL(deft!dG_EH1Output3B3_N1工 MLXmfcfeM曰1$2 SEGjNi2OutputPIN明q叼_片口3.HLVTTL(ifefedUulputP|N_1273BOIm 耕 lyttl 性 rug174* SEE -EWH1PIN_12S3叼JUXHurm 住IS0 SEG £M50OutputP1N_133313_ND3.3rVLVTTL(defT>dr)出SEG 上M®Ckrtput呻_必3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论