积分规则 网站地图 帮助中心    
嵌入式软件 单 片 机 DSP 存储器 传感控制 光电显示
嵌入式硬件 CPLD/FPGA SOPC AD/DA 接口电路 模拟设计
I C设计 通信产品 汽车电子 电源产品 消费电子 数控系统
工业控制 军工/航天 安防产品 医疗电子 计算机外设 测试测量
供应 I C
求购 公司库

  IC 求购 销售 公司 论文 DATASHEET 参考设计 论坛
当前位置: 电子技术 >> 单片机 >> 应用论文
  相关分类: 相关文章 | 应用论文 | 新产品 | 下载 |
基于AT90S8515的串行通信及其应用
 
作者:李军,刘君华,董海鹰   来源:嵌入式系统IC网    点击数:231   更新时间:2008-1-3
您可以添加到网摘 让更多人关注此文章:

    

摘 要:介绍了高性能AVR微控制器AT90S8515的串行通信接口UART的主要性能特点,并给
出串行数据通信的程序。

关键词AT90S8515微控制器 串行接口UART 应用程序
0
 引 言
  美国ATMEL公司推出的90系列单片机是增强RISC内载Flash的高性能八位单片机,通称为AVR
单片机,设计上采用低功耗CMOS技术,而且在软件上有效支持C高级语言(用IAR系统的ICC90C编译器编译)及汇编语言(用ATP汇编器编译)。
  其中AT90S8515是功能较强的一种型号,它有40引脚PDIP44引脚PLCCTQFP等多种封装形
式,具有120条功能强大的指令,而且大多数执行时间为单时钟周期,指令周期最短仅为125ns。它具有以下主要特征:片内有8K字节可下载的Flash存储器,程序下载采用其SPI串行接口,使用寿命为1000次;32条通用IO线及32个通用8位寄存器R0R3164IO专用寄存器;512字节的EEPROM(使用寿命为10万次)及512字节的内部SRAM;供电电压在VCC4060V内可以全静态工作范围为08MHz;提供内部及外部中断源;带片内晶振器的可编程看门狗定时器;并有2种可通过软件选择的电源节电模式:闲置模式、掉电模式;可编程的全双工串行通信接口UART;一个8位定时器/计数器TC0,一个16位的带预分频及比较模式、捕获模式及双工8位、9位或10位的PWM输出的定时器/计数器TC1。本文着重介绍其片内UART在实际中的应用。
1
 串行接口UART的主要特征和工作原理
1
1 串行接口UART的主要特征

  AT90S8515带有一个全双工的通用异步收发器(UART),特征如下:
   
1)波特率发生器可以生成任何波特率;
   
2)在XTAL低频率下有高的波特率;
   
38位和9位数据;
   
4)噪声滤波;
   
5)超越误差的检测;
   
6)帧错误检测;
   
7)错误起始位检测;
  (83个独立的中断,即TX完成,TX数据寄存器空,RX完成。
  其数据发送通过把被传送的数据写入UARTIO数据寄存器UDR来初始化,然后数据从UDR传送到移位寄存器中。在波特率时钟加载到移位寄存器的传送操作时,起始位从TXD引脚移出,然后是数据最低位在先。当停止位被移出时,如果在传送中有新数据写入UDR中,则被装入移位寄存器中,同时,UART的状态寄存器USRUDRE位(UART状态寄存器空)被设置,直到UDR被重写。当没有新的数据被写入时,而且停止位在TXD上保持了一位的长度,USRTX完成标志位TXC被设置。
  当UART的控制寄存器UCR中的TXEN位被置为1时,允许UART发送,此时PD1被作为发送线。
  通过读UDR寄存器,接收数据寄存器被访问。接收器以16倍波特率采样RXD引脚的信号,当线路闲置时,一个逻辑0的采样将被转换为起始位的下降沿,并且起始位的探测序列被初始化,然后,接受器在第8910个采样点采样中,如果得到两个或两个以上是逻辑1,则认为起始位是噪声尖峰而拒绝,继续探测下一个10的转换。如果起始位被发现后,开始采样数据位,这些位也在第8910个采样点采样,32作为该位的逻辑值,在采样的同时被移入传送寄存器。当停止位为逻辑0,则USRFE(帧错误)标志被置1,在读UDR前,用户应检查FE帧错误标志。在读UDR后应检查OR位来检测任何的超越错误。
  当UART的控制寄存器UCR中的RXEN位被置为1时,允许UART数据接收,此时PD0被作为接收
线。
1
2 UART的主要寄存器及设置
  UARTIO数据寄存器UDR是两个物理分离的寄存器分享相同的IO地址,当写入UDR寄存器时,UART的发送寄存器被写入;当读UDR寄存器时,读的是UART的接收寄存器。
  UART的波特率寄存器UBRR8位可读/写的寄存器,用以确定波特率。用户进行串行通信编程的重点是了解UCRUSR的使用。
1
21 UART控制寄存器———UCR

    7——RXCIE:RX完成中断使能,当该位置1SREG中的I位设为1时,在USR中设置RXC
将导致接收完成中断被执行;
  位6———TXCIETX完成中断使能,当该位置1SREG中的I位设为1时,在USR中设置TXC
将导致发送完成中断被执行;
  位5———UDRIEUART数据寄存器空中断使能,当该位置1SREG中的I位设为1时,在USR
中设置UDRIE位将导致发送UART数据寄存器空中断被执行;
  位4———RXEN:接收使能,当该位被设置时允许UART接收,当接收器被禁止时,TXCORFE位的状态标志不能设置,否则,在把RXEN关闭时不能消除它们;
  位3———TXEN:发送使能,当该位被设置时允许UART发送,如在发送数据时禁止发送器,则在移位寄存器的数据和后续UDR中的数据被全部发送完成之前,发遂器不会被禁止;
  位2———CHR99位字符的发送或接收,发送和接收的数据是9位数据位和1位起始位、1位停止位。第9位通过UTP中的RXB8TXB8位分别读和写;
  位1———RXB8:当CHR9被设置时,RXB8是收到数据的第9数据位;
  位0———TXB8:当CHR9被设置时,TXB8是发送数据的第9数据位。
1
22 UART状态寄存器———USR
  USR提供各种状态信息,其格式如下:

     7——RXC:UART接收完成,当使用中断数据接收时,接收完成中断子程序必须读UDR而消除
RXC
,否则在子程序完成时又引起新的中断;
  位6———TXCUART发送完成,当发送移位寄存的全部数据被移出后且没有新的数据写入UDR时,该位置1TXC在执行相应的中断向量时被硬件清除;
  位5———UDREUART数据寄存器空,当写入UDR的字符被传送到发送移位寄存器中时该位被设置,表示发送器准备新的数据发送。
  位4———FE:帧出错,当收到的数据的停止位为0时,该位置1FE在收到的数据的停止们为1时被清除;
  位3———OR:超越出错,当UDR寄存器的数据没有在新的数据被移入到接收移位寄存器之前被读走,该位置1,即OR位被缓冲。意味着移入移位寄存器的最后数据字节不能被送到UDR中而丢失。
1
23 波特率发生器
   
依据以下等式的分频器产生波特率:
    BAUD
f/[16UBRR1)]
    BAUD
表示波特率,f为晶振频率;UBRR表示UART波特率寄存器的值(0255)。例如,波特率确定为9600波特时,选用标准的晶振频率18432MHz(误差为0),则可计算出UBRR的初始化值为11;波特率确定为9600波特时选用晶振频率为36864MHzUBRR的初始化值为23

2
 AT90S8515与上位PC机的串行通信应用

2
1 与上位PC机的硬件连接
  AT90S8515与上位PC机通信采用RS485总线,通过RS485接收/发送器连接,使用MAXIM公司的MAX3080CPD芯片,为了使电磁干扰及终端末匹配的连接所产生的反射最小,MAX3080适合速率为115Kbps以下的应用,而且具有平衡发送,差分接收,抑制共模干扰和故障保护的特点,适合远距离传送。为提高系统可靠性,在MAX3080CPU之间还可增加光电耦合器6N137,更好地与上位机电气隔离。硬件连接原理图如图1所示。

22 与PC机的串行通信软件设计
  应用AT90S8515的串行接口UARTPC机进行串行通信软件设计可以采用中断接受与查询发送
的方式,通过判断UART中的UDR发送数据寄存器是否为空决定是否发送,并激活接收完成中断。
  下面的程序采用查询方式向上位PC机发送数据,采用中断方式接收数据,字符数据位为8位,接受数据块将包含数据帧帧头及帧尾(各占一个字节),还有符合本节点的标识码(地址),从而提高数据接收的安全性及可靠性,并适合多个AVR微控制器与PC机通信。
  选用标准的晶振频率3864MHz(误差为0),波特率确定为19200波特,且用PD7引脚控制
MAX3080
发送的开启与关闭。

  
  











3
 结束语
  以上的程序模块已经在作者的课题项目开发中加以应用,同时对AT908535AT90S2313等其它型号AVR单片机也完全通用。
  总之,相对以往的AT89系列单片机,以AT90S8515作为嵌入式高效微控制器,在性能上要
强得多,程序的效率高而且运行速度大大提高,开发手段也更方便。
  另外,AVR单片机的内部又有硬件看门狗电路即看门狗定时器和看门狗定时器的控制寄存器WDTTP相相应的看门狗指令控制,大大提高了系统的可靠性及安全性,因此,目前应用高档ATP系列单片机更适合组成工业现场总线控制系统的智能检测及采集处理节点。
参考文献
1
 AVR8Bit RISCData SheetsATMELCorporationM].1997
2
 AVREnhanced Risc Microcontroller Data BookM1997
3
 宋建国.AVR单片机原理及应用[M].北京:北京航空航天大学出版社,1998

 



相关文章
· WinCE 应用程序开机自动运行的又一种方法[336]
· 开发J2ME联网应用程序[646]
热门评论排行
·VHDL设计中电路简化问题的
·ARM嵌入式系统基础教程(N
·江苏嵌入式Linux教育培训
·ARM处理器应用开发4步骤
·锐极LINUX驱动培训班定于

文章评论
    没有任何评论
*只显示最新10条评论。评论内容只代表网友观点,与本站立场无关。更多评论
发表评论
  * 请先[登陆]再进行评论,谢谢。
评分: 1分 2分 3分 4分 5分
内容: *
发帖须知:
一.所发文章必须遵守《互联网电子公告服务管理规定》;
二.严禁发布供求代理信息,公司介绍,产品信息等广告宣传信息;
三.严禁恶意重复发帖;
四.严禁对个人,实体,民族,国家等进行漫骂,污蔑,诽谤。
 
热点新闻 [更多]
 
新兴半导体技术催生绿色节能的大学校园
电子系统创新促进汽车走向环保与节能
意法CEO携新品巡游中国 
未来3年新余需要8万光伏产业人才
看好中国未来发展:瑞萨提升在华芯片产
中国LED发展神速将成为未来照明产业
剖析联发科技2009年五大产品策略
突破四大障碍 蓝牙立体声耳
瑞萨向德国企业出售当地半导体前工序工
产业紧缩 PCB业或将提前
 
热门下载 [更多]
 
[ PCB设计] Protel99教程下载
[ ] 手把手学单片机20个例
[ ] 单片机做的智能台灯
[ ] 单片机入门书
[ ] linux系统移植开发文档
[ ] IC卡的读写程序
[ ] 8051单片机C语言彻底应用
[ 常用软件] 555定时器电路设计软件V1.2
[ 常用软件] 51定时器计算软件
[ ] ARM处理器应用开发4步骤
 
论坛新帖 [更多]
 
[转]教你如何进行电磁兼容设计...
[转]汽车和专业音响原厂设计原...
诺基亚,三星手机原厂图纸和PC...
电子元器件可靠性和失效分析经典...
[建议]FPGA设计技巧与实例...
Xilinx FPGA设计快速...
基于CPLD的各种设计实例和分...
教你如何学会MSP430单片机...
凌阳单片机教程(共8章)非常详...
[建议]学习PIC系列单片机的...

 
赞助商 [更多]
 

ICP许可证号:[粤 05056597]
联系电话:010-82517432 82517615 传真: 010-82517615

版权所有 Copyright © 2006 嵌入式技术网