论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
TMS320LF2407A的串行通信接口SCI模块可以通过RS232转换芯片与PC机进行异步通信。因为由传感器实时采集到的数据通过DSP的SCI串口传给上位机进行处理,同时虚拟场景中的地形数据需要下传来达到控制执行机构输出力矩的目的,模拟人骑自行车上、下坡时的感觉,在程序中把它设置成全双工方式。
使用多路传感器作为三维场景漫游的视点跟踪传感器时,必须不断地从串口采集各路传感器的状态数据,以跟踪观察者对视点位置和视线方向的改变。通常有两种方式:(1)在应用程序中创建定时器;(2)采用多线程的应用程序框架。第一种方法由于控制单元是以固定的频率向主机传输状态数据,因此为定时器选择适当的定时周期是关键,否则很容易造成数据丢失。另外,由于应用程序需要不断地响应定时器函数,因此三维场景的绘制速度必然会受到影响。笔者采用了第二种方法,具体如下:
在VC环境下开发了基于RS232协议的实时通信软件,可以与虚拟环境软件部分直接相连,并采用了多线程、非阻塞的实时漫游框架,在辅助线程中监视串口,有数据到达时依靠事件驱动,读入数据并向主线程报告;并且WaitCommEvent()、ReadFile()、WriteFile()都使用了非阻塞通信技术,依靠重叠(overlapped)读写操作,让串口读写操作在后台运行。每当主线程收到由辅助线程传过来的新一帧数据后,首先对它进行判断,只有在它相对于上一帧状态数据的变化超过规定阈值的情况下,才能开始更新用户视口内的场景显示,从而避免由于参与者的微小运动而引起的不必要的场景重绘。
2.3 虚拟场景的构造及其实时显示技术
目前,从技术角度上讲,漫游的最大难点在于建模和实时绘制,需要在模型的精细程度和绘制速度方面取一个折衷,既要保证一定的绘制质量,又不能造成用户的运动不适感。在建模和实时显示方面采用了各种技术,以保证实时性。