论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
3.2软件结构
基于多线程技术的1394串行总线通信系统软件结构如图2所示。
各模块的功能如下:
1)主线程:响应用户的输入,提供前端的人机交互界面;完成线程的创建、终止及线程间的同步;接收线程发来的消息,并调用相应的线程处理程序;
2)中断处理线程:当接收中断到来时,接收GRF中的数据包放到接收缓冲区rBuf,并向主线程发送接收到数据包的消息,当发送中断到来时,从发送缓冲区sBuf中取出数据包写到ATF中;
3)解释处理程序:从接收缓冲区rBuf中取出数据包进行解释处理后放到dataBuf,并构造响应包放到发送缓冲区sBuf中;
4)初始化程序:初始化串口资源及程序设置;
5)其他程序:从数据缓冲区dataBuf中取数据进行进一步处理,或者给发送缓冲区sBuf中写请求数据包。
该软件采用多线程技术,使前端人机交互部分、中间处理部分和后台的串口通信部分并行处理,让耗时的I/O通信在后台运行,在大数据量通信的情况下对改善程序的响应速度是相当有效的。
3.3程序内容
1394设备机端的程序主要由ISA接口卡的驱动程序、初始化程序、中断处理程序及解释处理程序四大主要部分组成。
3.3.1驱动程序
由于WinDriver具有强大的设备驱动开发能力,支持用户模式下直接对硬件进行访问,并且WinDriver提供的驱动程序开发向导DriverWizard可以自动生成驱动程序框架,大大降低了设备驱动程序的开发难度,减少了开发时间,所以ISA接口卡的驱动程序在WinDriver下开发。驱动程序主要完成对ISA接口卡的I/O地址读写及对硬件中断的处理。该ISA卡的I/O端口地址为:0x300~0x510;中断号为9。
3.3.2初始化程序