ZHULUSHENG
驱动牛犊
驱动牛犊
  • 注册日期2003-10-27
  • 最后登录2006-07-04
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
阅读:1626回复:13

pci中断频率,100KHZ

楼主#
更多 发布于:2003-12-08 10:50
大虾,救命!
  我准备在2000下进行实时控制,需要发出100KHZ的方波。
  采用外部中断源8253定时中断,中断程序中产生方波,通
过PCI数据总线输出。
  PCI下(PCI9053)能处理如此高的中断吗?还能再高吗?
  还有没有更好的方法实现实时控制?




***您的意见对我很重要!!!先谢***



 

    
hong
驱动小牛
驱动小牛
  • 注册日期2001-09-19
  • 最后登录2005-12-16
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-12-20 02:29
I have tested this way:
a hardware generate INT every 100/6 ms
once INT happen, OnInterrupt() will do
WRITE_REGISTER_ULONG() to output a test pin to high
and right after
WRITE_REGISTER_ULONG() to output this pin to low

and i have a logic analysier to catch the INT and output and found:
the output signal most of time is about 1us width;
but sometime it is about 20us with.
the time between INT and the output signal is chaging as well.

this is for your reference.
yjhleaf
驱动小牛
驱动小牛
  • 注册日期2001-11-04
  • 最后登录2005-11-23
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-12-19 16:14
实在对不起,100KHZ应该是10微妙,我说错了。我没有好的方法在win下实现。

忽如一夜春风来,千树万树梨花开。
ZHULUSHENG
驱动牛犊
驱动牛犊
  • 注册日期2003-10-27
  • 最后登录2006-07-04
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-12-18 10:35

我的8253是主板上的,我用DRIVERWORK连接IRQ0提示失败,为什么连接不到?2000下屏蔽了,能有办法吗?98下可以。IoDisconnectInterrupt能断开IRQ0和ISR的连接吗?
能共享IRQ0吗?



如有好方法,200分表示感谢!!
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-12-17 19:16
你的8253是自己做的还是用的主板上的?如果是主板上的中断号可能改不掉吧,自己做的应该可以改成和别的中断源共享,IRQ0是哪些再用你可以自己查查你的机器
根据地的兄弟们,团结就是力量
ZHULUSHENG
驱动牛犊
驱动牛犊
  • 注册日期2003-10-27
  • 最后登录2006-07-04
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-12-17 17:13

谢谢大家的意见!!!!

我不知道2000下能不能获取IRQ0的中断来发脉冲?

我要给分不知如何操作??
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-12-17 15:02
我又仔细想了想你的想法,8253定时本身没的问题,10uS一个中断肯定可以弄得好,在WIN那边儿,你的方波发生代码就不能放到DPC里面,如果在ISR里面做的话也未必就不能满足你的需求,刚才那位兄弟说的输出方波正负比不均匀可能还不是好大的问题,你可以试试,我感觉ISR里面只做一个OUT操作不会太影响系统,说不定效果还很好,试验结果望告知!
根据地的兄弟们,团结就是力量
hong
驱动小牛
驱动小牛
  • 注册日期2001-09-19
  • 最后登录2005-12-16
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-12-16 04:33
you never get \"发出100KHZ的方波\".
as everyone knows, windows is NOT a realtime system. you can not control the WRITE_REGISTER_ULONG / WRITE_PORT_ULONG every time has the same daley after you issuing above commands.
you may got something like this:

___|---|___|----|_|-----|__|----|____

overall you may get 100KHZ, but not  \"方波\".
robin12
驱动牛犊
驱动牛犊
  • 注册日期2002-02-11
  • 最后登录2014-03-27
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望63点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-12-13 17:59
先在没有中断情况下,计算以下1ms会执行x条dec指令,然后在
不发生调度和中断情况下,用
     a:
        dec x
        jnz a
来延时,不过,好象不大现实
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-12-12 17:29
对了,如果实在要的话,那可能只能牺牲其他应用,让WIN只跑你这个方波输出,把你的代码优先级提到实时,但可能这不是你想要的!
根据地的兄弟们,团结就是力量
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-12-12 17:27
现在怎么想用2K做实时应用的需求一下冒出那么多阿:),这种非实时CORE的OS做实时应用不太合适吧兄弟,方案论证的时候就应该考虑这种问题。记得前面有个贴子一个兄弟说他要1mS的定时WIN2K做起来都有困难,误差会到mS级,100K的中断频率是10uS,这个恐怕WIN做不到,兄弟再考虑考虑
根据地的兄弟们,团结就是力量
fordy
驱动牛犊
驱动牛犊
  • 注册日期2003-09-13
  • 最后登录2008-08-27
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望5点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2003-12-12 16:02
2楼那位说可以的,把你的方案说来听听?
山风
ZHULUSHENG
驱动牛犊
驱动牛犊
  • 注册日期2003-10-27
  • 最后登录2006-07-04
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2003-12-12 15:08
100KHZ应该是10微妙
yjhleaf
驱动小牛
驱动小牛
  • 注册日期2001-11-04
  • 最后登录2005-11-23
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2003-12-12 10:05
应当可以,2000应该可以满足100KHz(10ms)的中断请求,9053肯定没有问题。
忽如一夜春风来,千树万树梨花开。
游客

返回顶部