WINCE60下TSPI/TAPI/RIL的区别与联系


windows下安装sim100 modem----SIM100 拨号上网设置----http://www.docin.com/p-96348395.html


一直对WINCE60下的TSPI/TAPI/RIL,还有什么Line Device/Phone Device这几个东西不清楚.今天看了下WINCE60的帮助文件,是乎有点明白了,记录如下:


WINCE60的帮助文件有如下一段话,值得深思

Windows Embedded CE ships with one TSP, the Unimodem service provider, which supports AT-command-based modems. Windows Embedded CE supports installable service providers, which enables independent software vendors (ISVs), original equipment manufacturers (OEMs), and independent hardware vendors (IHVs) to add additional TSPs under TAPI — for example VoIP, such as H323 and session initiation protocol (SIP), Integrated Services Digital Network (ISDN), cell phones, and so on.



1。WINCE下实现的 Unimodem驱动不支持语音MODEM

The Windows Embedded CE implementation of Unimodem does not support voice modems, but you can create a customized TSP that supports them.

2。WINCE下实现的 Unimodem驱动只支持硬件流控制MODEM

The Windows Embedded CE implementation of Unimodem supports hardware flow control modems only. Unimodem traces the carrier detect (CD) signal to determine if a connection exists. For software flow control modems, Unimodem is unable to detect a line drop, so the connection must be detected and dropped by an upper-layer application, such as the Point-to-Point Protocol (PPP).




自己的理解如下:

1》TSPI是电话服务接口----每一个电话服务都要进行实现那些标准的接口,TSPI是真正跟底层MODEM打交道的接口

2》TAPI是上层的电话API----电话API的功能需要借助底层的TSP来真正实现

3》VoIP/H323/SIP/ISDN/cell phones也都可以做为一个TSP来为TAPI服务,所以RIL也可以做为一个TSPI来实现

4》 Unimodem service provider,也就是 Unimodem.dll是WINCE60下提供的一个一般性的TSPI接口,其源代码的位置为D:\WINCE600\PRIVATE\WINCEOS\COMM\TAPI\UNIMODEM

5》WINCE60下还提供了一个TSPI的例子实现参考,其源代码的位置为D:\WINCE600\PUBLIC\COMMON\OAK\DRIVERS\SAMPTSPI

6》不管是 Unimodem.dll还是RIL实现的celltsp.dll,都只是做为一个TSPI接口来实现的,要打电话最好还是用TAPI来做,并且这两者的底层都是通过打开串口用AT命令来对

实际的MODEM硬件进行操作的。只是为了增加软件的可靠性增加了很多的软件技巧与实现,具体可以参考他们的代码

   A。RIL 的MDD层代码----D:\WINCE600\PUBLIC\CELLCORE

   B。RIL的PDD层代码(例子代码,不同的MODEM有不同的实现)----D:\WINCE600\PLATFORM\DEVICEEMULATOR\SRC\DRIVERS\RILPDD


7》WINDOWS下也有TAPI版本,所以很多需要在WINCE下调试的MODEM功能可以先在PC上进行实验与尝试,比如MODEM的通信与数据的收发功能都可以先在WINDOWS下

走通再转移到WINCE上,可以估计会更好弄一点,至少学习曲线不会那样陡峭!


8》The following table shows the Catalog items for Cellcore.

Cellular Telephony API (TAPI) Service Provider

SYSGEN_CELLCORE_CELLTSP

Brings in CellTSP.dll, the cellular TAPI Service Provider

就是不知道这个celltsp.dll的源代码在什么地方!!!估计MS只提供有LIB库,在D:\WINCE600\PUBLIC\CELLCORE\OAK\LIB\ARMV4I\RETAIL下有celltsp.lib文件,并有1.6MB多。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这段代码存在一些语法错误,可能是因为复制时出现了一些问题。我对代码进行了一些修改,如下所示。你可以试着运行一下,看看是否可以正常工作。 ``` clear all; close all; ts = 0.001; pits = pi/180; tspi = (1:2001) * ts; for k = 1:1:2001 xd(k) = cos((k-1) * pits); yd(k) = sin((k-1) * pits); thd(k) = tspi(k-1) + pi/2; end for k = 1:1:2001 u1(k) = 0; u2(k) = 0; e1(k) = 0; e2(k) = 0; e3(k) = 0; end y0 = [1; 0; pi/2]; M = 20; for i = 0:1:M pause(0.001); for k = 1:1:2001 if k == 1 q = y0; end xp(k) = q(1); yp(k) = q(2); th(k) = q(3); qd = [xd(k); yd(k); thd(k)]; ce1(k) = qd(1) - q(1); ce2(k) = qd(2) - q(2); ce3(k) = qd(3) - q(3); u = [u1(k); u2(k)]; B = ts * [cos(q(3)), 0; sin(q(3)), 0; sin(q(3)), 0; 0, 0; 0, 0; 1, 0]; L1 = 10 * [cos(q(3)), sin(q(3)), 0; 0, 0, 1]; L2 = L1; cond = norm(eye(2) - L1 * B); U = u + L1 * [e1(k); e2(k); e3(k)] + L2 * [ce1(k); ce2(k); ce3(k)]; u1(k) = U(1); u2(k) = U(2); u = [u1(k); u2(k)]; q = q + B * u; e1(k) = cos(k * tspi) - q(1); e2(k) = sin(k * tspi) - q(2); e3(k) = ts * k * pi + pi/2 - q(3); end figure(1); hold on; plot(xd, yd, 'r', xp, yp, 'b'); xlabel('xd xp'); ylabel('yd,yp'); j = i + 1; times(j) = j - 1; e1i(j) = max(abs(ce1)); e2i(j) = max(abs(ce2)); e3i(j) = max(abs(ce3)); end figure(2); plot(xd, yd, 'r', xp, yp, 'b'); xlabel('xd xp'); ylabel('yd,yp'); figure(3); plot(times, e1i, '-r', times, e2i, 'o-b', times, e3i, 'o-k'); title('Change of maximum absolute value of e1,e2 and angle with times i'); xlabel('times'); ylabel('e1,e2 and angle'); ``` 这里还存在一些问题,例如,第30行的 `ktspi` 变量没有定义,需要根据具体的需求进行修改。同时,该代码中存在一些算法上的问题,需要进行进一步的检查和修改才能保证正确性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值