ISSN1009—3044
ComputerKnov“edgeand乃叻noID9',电蘑知识与技术
V01.5,No.21,July2009。PP.5873—5875
51单片机与FPGA的UART通信模式研究
何燕
(广东商学院,广东广州510320)
E-mail:Iffyj@cccc.net.cn
http://www.dnzs.net.cn
Teh+86-551-56909635690964
摘要:UART通信模式以其简单连接方式,可靠的传输效率广泛应用于现代化工业生产的各个方面,本文讨论的是51单片机与
FPGA芯片的之间的UAKT通信模式。从二者的硬件连接,通信编程和软件仿真三个方面分析该模式的实现方式.并仿真了其实际
通信效果.阐明了其实际可行性和使用可靠性。
关键词:UAKT通信模式;FPGA;MSC-51;M^X—PLUSII
中图分类号:TP311文献标识码:A 文章编号:10帕-3044(20∞)2l一5873-03
UARTCommunicationModeResearchBetweenofFPGAandM瞎C-51
Abstract:UAKTcommtmicatiomconnectionwithitssimple.reliableandwidelyusedinthetransmissionefficiencyoftllemodernization
ofallaspectsofmdmtrialproduction,thisarticleistOdiscusswith51single—ch如FPGAchipmodeofcommunicationbetweenthe
UAKT.Fromboththehardwareconnection,communicationsoftwareprogrammingandsimulationanalysisofthreeaspectsoftherealiza-
fionofthemodelapproachandtheactualtr3伍csimulationresults.tOchrif;yitspracticalfeasibilityandreliability.
Keywords:UAlLTcommunicationmode;FPGA:MSC一51;MAX—PLUSII
1引言
FPGA是PLD的重要分支,现在已成为电子线路
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
,尤其是高速可编程数字电路设计的主流设备。MSC一51系列单片机则以
其性能稳定,性价比高等诸多优点广泛应用于生产生活的各个方面。本文所介绍的就是5l系列单片机与FPGA之阃的UART通信
模式。
硬件连接:在FI:W.A与单片机的UART通信过程中,利用FIGA作为主控芯片可方便的实现各种场合的通信控制。(限于篇幅。
在此仅对FPGA发送单片机接收的过程加以分析,单片机发送FPGA接收可参照上述过程的对偶特性分析即可)。由于FPGA的
UART过程并不需要连续监控I/O线。在发送一个字符时,每个位周期,UART只需
驱动一次发送信号线的状态,从起始位到8个数据位直到结束位依次设置每个位
的电平。在接收一个字符时。UART在第一个下降沿开始工作,之后只需在每个位
时隙的中央对接收线上的信号状态进行一次采样。利用玎)GA芯片加端口与
MSC一5l的外部中断口的直连可方便的实现双方任意时刻的收发状态互换。图1
为MSC一5l与FPGA的异步通信连接原理图。
2软件设置
f%A的收发速度可根据事先约定好的波特率来进行。在本文中以Ahcra公
司的FLEXl0K系列中EPlKl00QC208—3型芯片作为主芯片。其晶振频率最高可
达50MHz,考虑到与单片机通信的匹配.选30MHZ比较合适。 图1 MSC-51与FPGA连接原理图
每个FLEXl0K器件包含一个实现储存和专用逻辑功能的嵌入阵列和一个实
现一般逻辑功能的逻辑阵列。嵌入式阵列和逻辑阵列的结合提供了嵌入式门阵列的高性能和高密度。可以使设计者在某个器件上
实现一个完整的结构itI。
通信过程中Flea每帧的起始位由发送模块自动填充,利用信号TOE完成每一帧的校验运算.并在数据帧的结尾插入TOE信
号。每完成一帧的发送后,发送模块进入休眠状态,同时启动反馈接收模块。该模块收到对方正确的反馈帧后通知发送模块启动下
一帧的发送,否则启动重发机制。下面给出PLD的发送校验和接收确认部分的程序代码段(接收校验和发送确认方式可在此基础上
进行对偶修改即可)。
BEGlN
PROCESS
BECIN
WAITUNTILCLK=田,. 一--ELK为FPGA内部30MHZ晶振
IFCLKMODE=NTHEN—一N为根据波特率和晶振频率计算出来的分频数值
CLK_MODE<=0;
UART_CLK<=NOTUART_CLK;
ELSE
CLl己MODE<=CLK_MODE+l;
收稿日期:2009-05—14
作者简介:何燕(1980-)。男,广东雷州人,助理研究员,广东商学院教务处系统管理员,毕业于广东海洋大学计算机科学与技术专业。
工学学士,目前在职修读中南大学软件工程硕士,主要研究方向为数据库管理、基于网络的信息系统、网络与信息安全。
本栏目责任编辑:贵薇薇 -····计算钒工疆应用技术··5873
万方数据
ComputerKnowledgeand伯酌加I口!∥电■知识与技术 第5卷第21期(2009年7月)
ENDIF;
ENDPROCESS;
PROCESS ~一发送校验进程
BEGlN
WAlllUNrI.ILUAⅣr-CLK=田,:
DELAY<=DEIAY+1:
IFDELAY>=200THEN一一延时重发
TXEN<=勺,:
RXEN<=71,.
ENDIF;
IFTX—EN='0’THEN一一发送模块
DELAY<--0;
CASEI IS
WHEN0=>TXD<=勺t
l<=I+l:
WHEN1=>TOE<=DATAOUT(I);⋯开始发送数据帧
TXD(=DATAOU7“D;
I<=I+l:
WHEN9=>’ⅨD<:.1DE:
I<=I+l:
WHEN10=>TXD<=勺:
7ⅨEN<=’l:
RX—EN<=勺j
I<=0:
WHEN0ITHERS=>TXD<=DATAOUT(I);
TOE<=TOEXORDATAOUT(I);
I<=I十1:
ENDCASE;
ENDIF;
IFRXEN=勺7ANDfRXD='0’ORREADYRX=717)THEN一反馈接收模块
DELAY<--0;
CASEJ IS
WHEN0=>DATAIN(0)<=RXD;
J<=J+1:
READYRX<=’1,.
WHEN10=>J<=0;
'IXEN<=勺,.
RXEN<=7lj
READYRX<=勺,:
DATAIN(101<=RXD:
IFDATAIN(0TO10)=”00000000011”’IHEN~一DATAOUT之=NEXTDATA;
ENDIF;
WHENOTHERS=>DA7I'AIN(D<=RXD;
J<=J+1;
ENDCASE;
ENDIF;
ENDPROCESS;
END;
51系列的UART串行通信模式有3种方式,分别是方式1,方式2和方式3。其中方式1为10位异步通信模式,没有奇偶校验
位,适用于对通信数据要求不高的场合,方式2和方式3则为9位异步通信模式,其一帧数据包括1l位:1个开始位、9个数据位和
1个停止位[21。其中第9位数据位可由用户自由编程,在日常应用中常将其作为奇偶校验位使用。方式2和方式3的区别在于:方式
^毋,∞ ’叠帕口 ’
2的波特率=-2-6-+凡,而方式3的波特率=%F。西i,f两ox卿。限于篇幅,本文着重阐述的是方式2的9位uART模式,该模式以
P3.O和P3.1作为收发功能引脚,利用PsW中的P位实现校验功能。数据发送成功与否由接对方反馈信号来决定。因此,单片机端同
样需要加入检验重发机制。由外部中断口INlD和INTI来控制单片机的收发方式。
0RG0000H
AJMPMAIN
ORGO003H
AJMPRX
0RG0looH
MAIN:MOVSCON.柏COH
MOVPCON,#80H
MOVTLl.#0F4H
MOVTHl._l}0174H
MOVTMOD,#02BH;设置方式2的异步通信模式,f=11.0592M,BOND=2400
5874··计算钒工■应用技术·-··· 本栏目责任编辑:贾薇薇
万方数据
第5卷第21期(2009年7月) Computer灼Ⅻ槲哟earia乃cfI加101∥电■知识与技术
SEl【'BTRl
SETBITD
SETBEA
SETBEXO
SJMP$
RX:JNBRI,$;接收检验中断
CLRRI
MOVA.SBUF
MOVR0.A
CLRA
MOVC.RB8
MOVACC.1.C:
MOVC,P;
MOV20H,#00H;奇偶校验
MOV20H.0.C:
XRLA.20H;
JZCORR
CLRC
SIMPNEXTl
CORR:SETBC
MOVTB8.C
NEXTI:CLRA
MOVSBUF.A
JNBTI。$
CLRrn姗
3软件仿真
为了检验其实际通信效果,笔者在MAX—PLUSII软件平台上进行
了仿真,图2为其实仿真结果。图中CLK为EPIK208—3的的晶振频率,
UARTCLK为UART的实际通信频率,在系统时间33ns处启动发送模
块,发送完毕后发送模块进入睡眠等待状态。在系统时间300ns--400ns
闻,PLD芯片开始收到单片机反馈信号,ll位数据在确认了了是
“000000X)0ll”后,芯片在600n8到800m同发送下一帧数据。仿真结
果完全正确。
4设计
总结
初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf
图2脚Lus1I仿真图
通过上面的实现方式不难看出,二者间的通信实际上可以看成是两个mealy状态机,输出不仅与电路的前面状态相关,还与输
入相关141。据此原理,根据不同的需求场合,只需将上述程序进行简单修改就可变成SPPM到SMBus伸、12C的任意串口通信方式.能够
方便的实现通信模式的转换,有了这些软件通信接口,我们就可以更新通信协议的任何一个方面,保持与其他器件中的协议或与发
展的标准同步。从而更快更灵活地创建新的设计。
参考文献:
【1】张昌凡,谭会生.EDA技术与应用【M】.西安电子科技大学出版社,2002,26.
[2】金龙国.单片机原理与应用嗍.中国水利出版社.
【3】郑毛祥,单片机应用基础.人民邮电出版社,2008,143.
【4】朱明程,董尔令.可编程逻辑器件原理及应J胃tM].西安电子科技大学出版社,2004,17.
本栏目赍任编辑:贾薇薇 ·····计算机工蠢应用技术·-5875万方数据
51单片机与FPGA的UART通信模式研究
作者: 何燕
作者单位: 广东商学院,广东,广州,510320
刊名: 电脑知识与技术
英文刊名: COMPUTER KNOWLEDGE AND TECHNOLOGY
年,卷(期): 2009,5(21)
引用次数: 0次
参考文献(4条)
1.张昌凡.谭会生 EDA技术与应用 2002
2.金龙国 单片机原理与应用
3.郑毛祥 单片机应用基础 2008
4.朱明程.董尔令 可编程逻辑器件原理及应用 2004
相似文献(0条)
本文链接:http://d.g.wanfangdata.com.cn/Periodical_dnzsyjs-itrzyksb200921123.aspx
下载时间:2010年1月11日