lifesky2006
驱动牛犊
驱动牛犊
  • 注册日期2007-09-19
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分90分
  • 威望10点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
阅读:4757回复:7

PC104总线和外围设备的设计

楼主#
更多 发布于:2007-09-20 17:19
现准备用思泰基公司出的LX-801型的PC104主板进行设计,PC104符合ISA总线标准,104根(64+40),亦即PC104总线就是ISA总线。
自己做的板子(以下简称底板),上面有8路,每路有一个单片机、一个CPLD(cyclone的EP1C3T144C8),和电平转换电路及锁存、缓冲电路,准备用CPLD内部计数器实现计数功能,计数器控制部分准备用单片机来实现,PC104主板则实现取数据、数据处理、显示的功能(准备装XP系统)

现在遇到问题(本人以前用C51单片机,现初次接触PC104)
1.  如何用PC104总线和单片机进行通讯,是否可以直接用PC104的数据线SD0~SD7通过缓冲器(74LVC245)接单片机的P0口或CPLD内计数器的数据输出口,而用PC104的某几根地址线SAx作为信号线或控制线通知单片机进行送数或取数?但是单片机可以只操作一个位,比如P2口的P2.0,PC104的outportb(0xab,0xcd)指令却是同时控制8位数据和地址线,如何单独控制一位?
2.  PC104总线是否可以象单片机那样用数据线SD0~SD7加缓冲器、地址线SA0~SA15加锁存器直接连接外围设备进行传输和控制?
3.  PC104和外设的速度不匹配的时候如何使用I/OCHRDY信号线插入等待状态,是否直接把I/OCHRDY置高即可?如果PC104和单片机进行数据传输或直接从CPLD中取数,只加缓冲器74LVC245可以吗?
4.  PC104为XP系统,准备用VB进行取数、处理、显示方面的软件编程,网上介绍可以用编写dll封装和利用windriver.cls模块的方式进行底层开发,大牛们可以提供些资料和实例么?用VB进行底层开发的编程语言和函数调用等资料大大们有么?

/****************************************************/
5  以上问题解决了一些,.现在最主要的是VB下进行PC104总线的底层控制了,PC104上装XP系统,小弟只熟悉C和VB,请问怎么样才可以在VB下编程。PC104主要的是利用SD0~SD7和SA0~SA15加缓冲器和锁存器和CPLD进行数据传输和控制,我怎样才可以用VB进行PC104总线的控制那??

问题很多,因为偶刚接触,大大们、大牛们帮偶解答一下好么?还有资料发给偶~~感激~~
谢谢 ~~~
wxdsc2006@126.com
yxw
yxw
驱动牛犊
驱动牛犊
  • 注册日期2006-08-13
  • 最后登录2008-02-19
  • 粉丝0
  • 关注0
  • 积分60分
  • 威望7点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-09-24 10:32
ISA总线主要是通过不同的地址来区分不同设备的;
在xp下访问ISA总线,需要驱动,可以去网上下载一个免费的驱动,如port95nt.exe
直接用VB写地址/端口就可以访问到
lifesky2006
驱动牛犊
驱动牛犊
  • 注册日期2007-09-19
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分90分
  • 威望10点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-09-24 13:53
先谢谢这位兄弟了,我刚下了port95nt.exe,可是还是不太懂操作
是否把readme.txt里介绍的那个.bas模块添加到V B中,然后调用那几个.dll和.sys?
bas内容如果加进去,可以从VB中看到,可是dll文件怎么调用
可否提供详细一点点的步骤或最好有个示例给偶参考下
感激不尽~~
lifesky2006
驱动牛犊
驱动牛犊
  • 注册日期2007-09-19
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分90分
  • 威望10点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-09-24 14:19
刚刚看过了,不好意思
安装目录里有打包的程序示例,可以用VB打开看人家的编程代码
兄弟说的就是这个方法么?
就是说利用Dlportio.bas这个模块
通过调用DlPortReadPortUchar             //读端口(字节)
                DlPortReadPortUshort             //读端口(字)
                DlPortReadPortUlong            //读端口(双字)
                DlPortWritePortUchar             //写端口(字节)
                DlPortWritePortUshort             //写端口(字)
                DlPortWritePortUlong             //写端口(双字)          
就可以对PC104总线(或称ISA总线)进行读写了是么?
那么下面这些(似乎是读写端口缓冲器)是用来读写什么东东的?难道和16位单片机类似,上面的命令是读写端口(类似于16位单片机的PORT),下面这些是读写端口寄存器(类似于16位单片机的LAT)?
                DlPortWritePortBufferUchar
                DlPortWritePortBufferUshort
                DlPortWritePortBufferUlong
               DlPortReadPortBufferUchar
                DlPortReadPortBufferUshort
                DlPortReadPortBufferUlong
希望可以指点一下
再次感谢兄弟提供的东西,谢谢~~
lifesky2006
驱动牛犊
驱动牛犊
  • 注册日期2007-09-19
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分90分
  • 威望10点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-09-24 14:32
还有一个问题就是,好像这个不能处理中断,如果我想处理中断该怎么做?
我需要中到8个中断信号送到PC104
4241003
驱动牛犊
驱动牛犊
  • 注册日期2006-08-08
  • 最后登录2008-07-29
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望44点
  • 贡献值0点
  • 好评度38点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-10-24 11:29
我建议用WINDRIVER吧
Spring2990
驱动牛犊
驱动牛犊
  • 注册日期2007-08-10
  • 最后登录2009-02-22
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2009-02-22 19:24
有硬件设计相关资料的请发给我一份,谢谢!
dongri20@163.com
hasea
驱动牛犊
驱动牛犊
  • 注册日期2011-06-29
  • 最后登录2012-04-26
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望51点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2011-07-01 09:46
向各位前辈学习了!
游客

返回顶部