Linux和S3C2410的PROFIBUS-DP主站平台设计
一次典型的主从数据交换过程如图4所示。本文引用地址:https://www.eepw.com.cn/article/156156.htm
其中,Tbit表示在总线上传输1位所耗用的时间,是其他时间参数的计量单位。由于PROFIBUS—DP采用UART编码方式,每个字符由11位组成,所以传输一个字符需要11Tbit。
TID1定义了一个发送节点在获得相应信号后的再次发送下一个信息帧所需的最短时间。
从图4可知,一个报文循环由主动帧(请求或发送/请求帧)和回答帧组成。循环时间由帧传输时间、传输延迟时间和站延迟时间组成。
其中:TReq=a×11Tbit,a为请求/发送帧中的字符个数;TRes=b×11Tbit,b为应答帧中的字符个数;TAsk=1×11Tbit,短应答帧;TS-DR为站延迟时间,指接收方从接到请求到产生响应数据的时间间隔;TTD为传输间隔时间,指一个帧在传输时在发送器和接收器之间的传输介质上经过的最大时间。
本硬件平台中PROFIBUS—DP总线传输速率设置为9.6 kbps,由于是近距离传输,所以TTD=OTbit,Tsdr=11Tbit,TID1=37Tbit,和主站通信的从站最多有244个数据(根据:PROFIBUS—DP协议规定)输入/输出,请求帧中有11个字符数据,则报文循环时间最长为:
可见,在传输速率为9.6 kbps的情况下,一次报文循环的最长时间为297.3ms;从上面这些参数中可以发现,只有TID1能够由主站平台的性能决定,普通的MPU调度所需时间为24.66μs。而在移植Linux操作系统后,由于采用的2.6版本的Linux操作系统使用了新的0(1)的调度算法,大大提高了进程调度能力,同时对于多从站的通信的任务能进行很好的管理和调度,大大增强了主站平台的功能。
5 主站平台性能分析及调试
PROFIBUS—DP主站的主从通信性能主要体现在主从通信速度的快慢和支持的从站数目上。由于本实验室的从站数目有限,搭建的测试平台目前只有3个PROFIBUS—DP从站(ET200S、MM420和自主设计的从站),如图5所示。
本次测试的传输速率选定为9.6 kbps,同时对3个从站进行组态,分别测试移植Linux操作系统前主站从接收到数据到有数据发出之间的时间ttop,到移植Linux操作系统后主站的响应时间tend;通过实验,从示波器上的测试的图形可以看出ttop的宽度是大于tend的宽度的,具体测量后可知无操作系统下ttop≈4 015.4μs,Linux操作系统tend≈70μs。可见移植Linux操作系统后能使主站的响应时间大大缩短,提高对从站的管理效率。
评论