今天小编要和大家分享的是嵌入式技术相关信息,接下来我将从基于KH-9300板卡采用硬中断方式实现数据采集系统的设计,2路脉冲计数器模块rs485/modbus-rtu电机控制器这几个方面来介绍。
嵌入式技术相关技术文章基于KH-9300板卡采用硬中断方式实现数据采集系统的设计
1 、引言
该数据采集系统采用硬中断方式,通过对KH-9300板卡上的8254定时器和8259中断控制器编程定时触发中断并对外部脉冲计数,设计中每隔1 s采集1次数据,数据采集卡第0和1号通道采用串行方式并使用板卡上的内部时钟进行计时,第2、3、4、5号通道输人外部计数脉冲计数。所有通道采用内部门控信号。当串行的第0~1通道计数满时,就向板卡上的8259中断控制器的IN1引脚发出中断指令。通过8259中断控制器向计算机内的8259A的中断引脚(这里设计为第5号中断引脚)发出中断指令。CPU响应中断请求,执行中断程序,对板卡上第2、3、4、5号通道进行数据采集,并把采集后的数据写入文件。
2、 板卡及8254定时、计数常数的设置
时钟跳线的设置:0号通道选内部时钟,0和1两通道级联,2~5号通道接外部脉冲,选外部时钟。门控跳线设置为所有通道都选内部门控;基地址设置为280H;中断号设置为INT5(中断向量号为13);内部时钟频率设置为2 MHz。
(1)定时常数的计算 定时系数=要求定时的时间/时钟脉冲的周期。若定时的时间为1 s,内部时钟频率为2 MHz。则时钟脉冲的周期为1 s/2 MHz=0.5μs,定时系数为1s/0.5 μs=2×106=2 000 000。由于8254定时计数器6个通道为16位减计数器,每个通道计数值最大为216-1=65 535《2 000 000。所以必须采用2个通道计时,设计中将第0通道和第1通道串联。由2×106=1 000×2×103,则定时系数:第0通道为2 000,第1通道为1 000。