80C196KC单片机PTS功能在数据采集中的应用
在计算机应用系统中,通常是通过定时中断的方式来实现定时采样的,但采用普通的中断工作方式时,CPU要执行保护断点转入中断服务、保护现场、恢复现场、返回等一系列操作,CPU开销较大,在CPU任务较重和采样数据较多的情况下显得更为突出。为此,INTEL公司在80C196KC单片机中提供了一种外部事件服务器(Periph-eralTransaction Server简称PTS)功能。PTS是通过其内部提供的微代码,而不是用中断服务程序来实现对外设的管理的,故具有速度快、CPU开销小等特点。下面结合我们在开发一种电力仪表中的应用对其作一介绍。
1 PTS功能
PTS是一种利用其内部的微代码执行的操作,CPU进入PTS周期后,其操作像DMA一样插入到正常的指令流中,不需要额外的软件开销。80C196KC的15个中断源都可以映射到PTS。与中断类似,PTS也有1个PTS向量表,共15个字位于2040H~205CH。它的排列顺序和80C196中的15种外设中断一一对应,且优先级也相同。若某一外设的PTS功能被打开,在该外设产生中断后,CPU便不会进入中断服务程序(不论该中断是否打开)而直接进入PTS工作周期。在PTS结束时,也可产生1个END-OF-PTS中断,如果需要,可进入该外设的中断服务程序。与中断向量不同的是,每个PTS向量不是指向1段程序,而是指向1个PTS控制块(PTSCB),每个控制块包含8B,它们必须驻留于内部RAM中,其首地址必须能被8除尽。80C196KC提供了5种PTS模式,即1次传送模式、块传送模式、A/D模式、HSI模式和HSO模式。其PTSCB的格式如图1。在控制块中PTSCON用于控制PTS的工作方式,不同的模式其PTSCON稍有不同。单元根据其模式的不同,分别为其源、目的地址、中间结果暂存单元指针等。在进入PTS之前,PTSCB必须初始化。
为控制PTS的工作,80C196KC内部设有2个16位的寄存器PTSSEL/PTSSRV,其作用分别和中断屏蔽寄存器/中断挂号寄存器相仿,二者格式也完全相同,如图2。要打开某一外设的PTS功能,只需将PTSSEL中相应位置为“1”即可。综上所述,当把某外设的PTS功能打开,并设置好其PTSCB后,该外设产生中断申请后,便不会进入其相应的中断服务程序,而进入PTS周期。CPU内微代码按PTSCB中设置的工作模式及要求的次数执行操作,PTS操作完成后,便将PTSSRV中相应位置“1”,PTSSEL中相应位清“0”,引发EDN-OF-PTS中断。该中断即映射到这一外设的中断。进入END-OF-PTS中断后,PTSSRV中相应位被自动清“0”,但PTSSEL中的位却不能被自动置“1”,故也禁止了该外设再次进入PTS服务。要想再次进入PTS,必须在适当的地方,比如在END-OF-PTS中,通过软件将PTSSEL中该位再次置为“1”。
2 PTS的A/D模式及其工作原理
在我们研制的仪表中,要求每周波16次,每次进行6个数据的A/D采样。这里采用了每周期执行16次PTS服务,每进入1次PTS周期,CPU自动进行6次A/D采样。
相关文章
- 2024-03-21二元光学透镜在资源卫星中的应用
- 2023-11-03三用游标卡尺自动研磨机的研制
- 2024-08-08(2/3)d范围内平晶平面度测量方法分析
- 2024-08-20块状导磁体在深度卡尺感应加热中的应用
- 2022-04-24高性能软开关功率因数校正电路的设计
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。