DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 285|回复: 0
打印 上一主题 下一主题

Intel16位单片机的特殊串行通讯方式

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-27 19:46:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

  
         
    摘要:80C196MC/MD单片机是196系列单片机中功能最强大的单片机之一,它所独有的WFG(波形发生器)功能使在电机变频控制中心倍受青睐。文中介绍了80C196MC/MD中事件处理阵列(EPA)和外设事务服务器(PTS)的结构、功能和使用方法,以及如何利用EPA和PTS实现串行通讯的技术和设计思路。
    关键词:EPA PTS 80C196MC 单片机 串行通讯
1 概述
随着单片机技术的发展和控制技术的提高,16位单片机已经被广泛地应于工和民用领域。其中,Intel公司的80C196系列16位单片机目前应用非常广泛的一种。
80C196MC/MD单片机集合了Intel16位单片机的所有特性,是196系列单片机中功能最强大的单片机之一。它有一个16位逻辑运算单元,13路10位A/D转换通道,一个EPA、PTS、两个PWM脉宽调制单元和三个WFG(波形发生器)。由于它完善的硬件结构、出色的运算能力,使得196MC/MD单片机可以应用于各个领域。它所独有的WFG更使196MC/MD在电机变频控制中倍受青睐。196MC/MD单片机的另一特色就是它独特的通讯方式。与其它单片机不同,196MC/MD的通讯不是通过独立的串行通讯接口实现的,而是利用EPA和PTS来实现的。这种方式不但能够实现一般串行口的完成的各种通讯功能。而且还能实现一些特殊的功能(如多串口的通讯)。要实现196MC/MD灵活多样的串行通讯方式,关键是要掌握EPA和PTS的使用技巧。
2 EPA和PTS的工作原理
Intel公司在KC系列以后的16位单片机中增加了EPA(Event Process Array)事件处理阵列和PTS(Peripheral Transaction Server)外设事务服务器。其中外设事务服务器是微指令中断控制器。196MC/MD的串行通讯以是利用它们来实现的。


196MC/MD单片机是EPA中有两种模块,一种是捕获/比较模块,它用于支持一个对应引脚的高速输入/输出功能。所谓“捕获”是指它可以记载某个EPA引脚上电平发生跳变事件的时刻。EPA可以捕获的事件包括下降沿跳变、上升沿跳变、上升或下降沿跳变。在串行通讯中正是利用此功能来“捕获”串行输入时的起始位的。所谓“比较”是将定时器值与一个预先设定值进行比较,如相等,则执行指定的输出功能。输出功能包括输出低电平、输出高电平以及引脚电平翻转等。由于“比较”功能可产生一个准确的定时值,因此在串行输入时可利用这一特性来确定第一个有效数据位的采样时刻,EPA中的另一种模块是“比较”模块。它与“捕获/比较”模块中的比较功能是一致的。串行通讯中利用该模块的比较输出功能来发送数据,并与PTS相互协调工作以使其达到规定的波特率。
196MC/MD的EPA中管理了4个捕获/比较模块和4个比较模块,每个模块在硬件上都有对应的引脚。利用这些EPA管理的引脚可以构成串行通讯的硬件接口。而且,对于每一个引脚都可以进行串行通讯接口。因此,196MC/MD的串行安排比较灵活,同时,丰富的硬件资源也为实现多串口通讯提供了硬件保证。这是其它单片机无法与之相比的。
实现196MC/MD串行通讯另一难点是PTS的使用。PTS是一个微指令的硬件中断处理器,它可提供一种特殊的中断服务。与普通中断不同的是,它不改变堆栈的中断服务。与普通中断不同的是,它不改变堆栈以及PSW,也不打断正常指令流。它将待处理的微指令插入在PTS控制块中可与常指令同步执行。这样,就不需要额外的CPU开销,当产生PTS中断时,它可以按照PTS控制块中规定的操作继续进行,直到PTS控制块中规定的所有工作进行完后才触发一次对应的变通中断来申请一次CPU管理。因此PTS中断可以大大减轻CPU的负担以使代码执行效率更高;同时它还要与普通中断配合使用,是一种特殊的中断方式。196MC/MD的PTS有4种操作方式,分别为单字节传送方式、多字节传送方式、A/D转换方式和串行通讯方式,它们分别对应于5种PTS控制模块。其中串行通讯方式是196MC/MD所独有的,它由两个PTS控制块组成,图1为其结构图。
有关接收和发送的数据存放在由DATA(L)和DATA(H)构成的数据单元中。其数据单元的宽度可达16位。波特率的设定参数放在BAUD(L)和BAUD(H)中。196MC/MD串行通讯的控制参数主要放在PTSCON和PTSCON1寄存器中。对这两个寄存器进行操作可以设定各种串行通讯方式。下面主要介绍这两个寄存器。
PTSCON的操作格式如下:
[table]


7[/td]
6[/td]
5[/td]
4[/td]
3[/td]
2[/td]
1[/td]
0[/td][/tr]

M2[/td]
M1[/td]
M0[/td]
SA[/td]
0[/td]
0[/td]
SA[/td]
MAJ[/td][/tr]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-6-8 04:49 , 耗时 0.094727 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表