英语原文共 4 页,剩余内容已隐藏,支付完成后下载完整资料
基于C8051F020单片机的
串行通信系统的研究
摘要:介绍了C8051F系列单片机的特点,设计了基于C8051F020单片机的异步串行通信系统的硬件电路和软件通信程序。并介绍了设计过程中必须注意的问题。实践表明,该系统结构简单,配置灵活,数据传输便利,性能良好。
关键字:单芯片; C8051F020;异步串行通信系统;MAX3223E
1.介绍
单片机具有体积小,功能强大,成本低,功耗低,指令简单,抗干扰性能好,可靠性高等特点,被广泛应用于通信,仪器仪表,工业控制等领域。然而,由于其数据存储容量和低数据处理能力,在正常情况下,必须使用通信装置将单片机与PC连接。单片机可以将采集到的数据发送到PC,然后在PC中进行处理,以充分发挥自身的优势。
2.C8051F020单片机简介
C8051F020 MCU是由美国Cygnal公司制造和设计的C8051F系列单片机,其核心是具有独立产权的CIP-51 [1]。C8051F020 MCU是一款高性能,高速的单片机,与8051兼容,功能全面,性能卓越,是真正的片上混合信号系统。它的指令集与MCS-51 [2]完全兼容,因此编程非常容易。C8051F020单片机包含以下部分,例如64kB片上Flash程序存储器,4352B RAM,八个1/0端口(64 I / 0端口线),一个12位AID转换器,一个8位AID转换器,两个方式12位DIA转换器,两个比较器,VDD监视器和温度传感器等。C8051F020 MCU支持双时钟,工作电压范围在2.7 V至3.6V之间。与以前的51系列相比,C8051F020增加了许多功能。由于高集成度,C8051F020避免了外部扩展ROM,A/D,D/A,Watchdog,I/0端口,EEPROM,从而大大简化了硬件电路。同时,它的可靠性和速度都大大提高了。在芯片上,集成了两个UART,一个SM(兼容I2C)和一个SPI,这极大地提高了C8051F020与其他外围设备之间的通信灵活性[3]。
系统设计
3.1硬件设计
由于C8051F020单片机是一种低功耗产品,它使用3V电压供电。因此,具有3V电源的芯片将是首选。为了实现C8051F020与外围设备(如微型计算机)之间的通信,在硬件设计中,选择了MAXIM公司生产的MAX3223E作为RS232-TTL的电压电平转换器[4]。硬件示意图如图1所示。
MAX3323E是一个2接收/ 2发送RS232收发器,其外围电路很简单,电荷泵电路仅需要四个0.11l电容器。TlOUT和RUN分别连接微型计算机通信端口COMI(或COM2)的RX。TX,T20UT和R2IN与其他控制设备连接。EN连接低电压电平,FORCEON和FORCEOFF连接高电压电平,可以使MAX3223E在正常模式下工作。ROUT和TOUT始终有效,其工作模式如表1所示。
3.2软件设计
3.2.1 I / O端口配置
在I / O端口中使用C8051F020更加灵活。通过设置数据交叉开关寄存器,可以控制片上数字资源映射到外部I / O引脚,从而允许用户根据其特定应用选择通用I / O端口和所需的数字资源. .在此设计中,将使用两个异步串行端口,即UART端口。所以PO.1,PO.O可以单独用作UARTO的收发器端口。一旦将I / O端口配置为特殊功能端口,就不能将其作为常规端口。因此,必须在设计端口之前确定所需特殊功能的效用。当然,某些特定端口也可以保留。在这种设计中,PO.3,PO.2配置为UART1收发器端口[5]。数字I / O端口交叉开关寄存器的设置如下所示
MOV XBR2,#44H;纵横开关权限位 XBARE=1,UART=1使能
MOV XBR1,#00H;
MOV XBR0,#04H;UART0使能
3.2.2 UART0,UART1的初始化
T2和T4分别用作UART0和UART1的波特率发生器。UART0,UART1也使用中断方法接收数据,使用查询方法发送数据,使用12MHz的晶振。它们还具有一个起始位,八个数据位和一个停止位。UART0的波特率为2400,URAT1的波特率为9600。操作步骤如下:
MOV SCON0,#50H
MOV T2CON,#30H
MOV RCAP2L,#64H;定义UART0波特率2400,12M计时器
MOV RCAP2H,#0FFH
MOV PCON,#64H
SETB TR2
SETB ES0;UART0使能中断
MOV SCON1,#50H
MOV RCAP4H,#0FFH;定义UART0波特率9600,12M计时器
MOV RCAP4L,#0D8H
MOV T4CON,#34H
MOV EIE2,#40H;UART1使能中断
SETB EA;全局使能中断
3.2.3 通信协议和流程图
为了确保C8051F020可以与其他外部设备正确交换信息,此设计中规定了一个简单有效的通信协议。(在以下设计中以UARTO为例。UART1与之类似,因此不再赘述。)每次将发送7个字节。
来自PC的COMI的帧头是55H,C8051F020发送到PC的帧头是AAH。校验和使用二进制累加并使用中断方法来接收数据。中断流程图如图2所示,中断处理程序如下:
UARTINT: CLR ES;
JBC TI, RCKS1;
RUARTINT: PUSH ACC
PUSH PSW
汇编程序如下:
SETB PSW.4
CLR PSW.3
MOV A, SBUF0
MOV 3AH, A
MOV A, 36H
CJNE A, #00H,RBSZT
MOV A, 3AH
CJNE A, #55H,RZDHM;
INC 36H
MOV UARTRH, 3AH;
JMP RZDHM
RBSZT :MOV A, 36H
MOV 37H, #06H
MOV A, 36H
ADD A, #UARTRH
MOV RO, A
MOV A, 3AH
MOV @RO, A
MOV A, 36H
CJNE A, 37H,
SETB OOH;
CLR RI
POP PSW
POP ACC
SETB ES
RETI
RMSW: INC 36H
RZDHM: CLR RI
POP PSW
POP ACC
RCKSl: SETB ES
RETI
4.必须解决的几个问题设计中的注意事项
4.1外部振荡器频率的选择
由于Cygnal MCU的CIP-51内核采用了流水线架构,因此指令的执行速度得到了极大的提高。标准的8051单片机系统需要12个时钟周期才能实现单周期指令,但是Cygnal的MCU仅需要一个系统时钟周期。如果系统时钟频率为25MHz,则执行单个周期所需的时间仅为40ns,因此必须注意片上或片外振荡器的配置,并且还必须注意振荡器频率的选择。
4.2 ADC性能的改进
为了有效地提高ADC的性能,应采取以下措施。
(1)分开模拟和数字电源,例如两者之间的简单滤波器。
(2)印刷电路板时,可使用大面积的铜接地以减少噪声。
(3)使用的模拟引脚必须接地。
(4)确保参考的稳定性。参考引脚必须与去耦电容器连接。
(5)模拟电平的输入电压范围为O-VDD。
如果模拟输入的外部存在侵入性高级别(超出芯片的允许限制范围),即必须采取保护措施(例如,添加两个肖特基二极管等)。如果模拟输入存在瞬时过电流,则必须采取极限保护措施。
为了提高单片机的可靠性和使用寿命,建议在端口级瞬时过渡的情况下增加限流保护电阻。如果有如果存在瞬态电压电平超过端口的限制范围,则必须加入瞬变保护(I/0端口,访问TVS或快速响应二极管)。
4.3 I / O端口保护测量
在通信应用中,C8051F020没有及时对其端口(62、69、71、74、91、92和其他引脚)采取端口保护措施。在施加PIT信号的过程中,即时信号切换将导致端口损坏。因此,通信将中断并且设备无法正常工作,从而导致大量设备报废。经过仔细分析,可以采取一些端口保护措施,例如使用级联的10on限流电阻器,连接OI电容电容器和增加NUP4201MR6型瞬态电压抑制器(ON公司)等等。使用这些措施,可以显着提高设备的质量可靠性,并且在生产过程中的损耗浪费率几乎等于O。因此,保护I/O端口非常重要。
5.结论
综上所述,C8051F020的集成度很高,功能强大。将单片机被用作异步串行通信中的主芯片是一个理想的解决方案。实践证明该系统运行良好。
参考文献
[1]李刚.林玲.高性能和高速单芯片与S05I--CS05IFxxx兼容.北京航空航天大学,2002.
[2]孙汉芳.徐爱清. MCS-51 / 96 Serias单片机的原理与应用.北京航空航天大学,1990.
[3]潘卓进.史国军. CS051FXXX高速SOC单芯片的原理与应用.北京航空航天大学,2002.
[4]毛伦.刘克明.徐光明.CS05IF020串行通讯的应用.煤矿机械,2005.
[5]隋涛.滕令忠.李冰和杜尊桐.基于CS05If020的多串行接口在小型测控设备中的应用.制造业自动化.2009.
图1 硬件原理图
表1 ROUT和TOUT的工作模式
工作模式 |
FORCEON |
/FORCEOFF |
/EN |
有效接收电平 |
TOUT |
ROUT |
关闭 |
X |
0 |
0 |
X |
高阻抗 |
有效 |
关闭 |
X |
0 |
1 |
X |
高阻抗 |
高阻抗 |
正常 |
1 |
1 |
0 |
X |
有效 |
有效 |
正常 |
1 |
1 |
1 |
X |
有效 |
高阻抗 |
正常 (自动关闭) |
0 |
1 |
0 |
YES |
有效 |
有效 |
0 |
1 |
1 |
YES |
有效 |
高阻抗 |
图2 中断响应流程图
N
N
N
Y
Y
Y
Y
N
是否是帧头?(3AH)=55H?
接收数据指针(36H)=0?
TI=1?
是否成功接收(36H)=(37H)?
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[236782],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。