• 14
  • 4月

最近由于项目需要,做了iPhone新的lighting接口的播放器开发,也稍微了解了一下MFI的整个认证流程。

iPhone5采用了最新的lighting接口,说是lighting,其实就是把usb接口的 DP DM 信号顺序重排一下,正反都可以插而已,其实也没什么特别的。

旧的Dock的播放器,一般都采用模拟+UART控制来实现播放。而新的接口,只有DP DM信号,也就是说只能采用USB通信,而且最可误的就是必须要有苹果的认证IC,经过认证后才能进行播放。

在音箱播放过程中,也和传统的USB音箱实现方法不同。传统的USB音箱,音箱是做为USB Speaker从机设备,电脑做为主机设备来进行播放。而苹果的播放,则是iPhone做为USB MIC从机,音箱做为主机来进行播放。这一点,和安卓的AOA协议有些类似。

因此,第一步,主要就是对苹果这个USB MIC设备的枚举,以及相关的采样控制等操作了。

然后再谈谈认证过程。

首先,我们需要一颗苹果的认证IC,一般是IIC的接口。从认证IC中读取版本信息等。

然后,对iPhone发送 StartIDPS 命令,同时获取 设备的 lingo(命令分组) 支持,通过 setfidtoken 告知苹果我们的版本信息等。再发送 EndIDPS。这样,第一步就完成了。

接下来,第二步,苹果发起 GetDevAuthenticationInfo 请求,我们需要从认证IC中读取Cert证书信息,通过命令RetDevAuthenticationInfo回给iPhone。

第三步,苹果确认证书后,发送GetDevAuthenticationSignature命令,同时会发送Challenge数据。我们将接收到的Challenge数据,写入认证IC的Challenge寄存器,等待计算完成后,从认证IC中读出Signature数据,通过RetDevAuthenticationSignature回应给iPhone。等待苹果确认后,就可以播放音乐了。

» 这篇文章共有4条评论,你可以在文章底部留下你的评论

  1. 悦听有声 Says:
    2014-05-03 23:11

    看下

  2. Change.Tsai Says:
    2014-06-13 14:11

    IAP 协议 也可支持host 和 client的驱动,和AOA这类串流音频协议的出现,为的就是高保真率的音质,无损的传输

  3. 烂番茄网 Says:
    2014-07-03 16:51

    嘿嘿,过来取经来了!

  4. cping Says:
    2015-02-24 00:54

    踩一下,盼望回访,xrpmoon.com/blog

发表评论