通过AK100Pro连接芯片的单线异步串行接口实现在板烧录,只需要一根信号线,照样也可以达到高速通讯的效果,丝毫不逊于标准的异步串行接口,最主要的,采用单线串口还能减少繁琐接线的烦恼。
在设计当中,总会遇到特殊的编程口线
现在的芯片集成度越来越高,体积越来越小,甚至连集成的板子,也默默地把硬币给比下去了:
图一核心板与硬币对比图
可是,要在如此少的管脚上集成更多功能,只有裁剪通信口线。在这时候,单线的串行接口就有了用武之地。
新的需求来了,现有调试下载的工具,是否支持新的通讯接口呢?下面就以最近的一个案例做一个剖析:外商客户需要添加一厂商芯片的烧录支持,通过了解该芯片的编程资料,发现用于烧录的通讯引脚只有一根,但采用的是标准异步串行接口的协议。
单线串口的接口原理
所谓单线串口(全称为“单线异步串行通讯接口”,本文中简称为“单线串口”),采用的是跟标准串口(全称为“标准异步串行通讯接口”,本文中简称为“标准串口”)一样的通讯协议。唯一的区别,不同于标准串口的两根数据线(Txd和Rxd),单线串口只有一根数据线来同时兼备发送和接收功能。因此,单线串口采用半双工的通讯方式,具体的单线串口接线图可参考图二所示。
图二单线串口芯片接线图
只需要接入四根线(MOD,/RESET,VCC,GND)就可以完美进行烧录了。外商设计的这个通讯口(MOD/IO)还可以被用来做工作模式选择,即在上电复位的同时,检测MOD管脚的输入时序波形,从而进入到不同的工作模式,如单线串口编程模式等。进入单线串口编程模式后,MOD管脚的功能转换为数据通讯。掌握这个规则,AK100Pro接好这四根线后,在KFlashPro上点击“烧写”,就可以轻松实现烧录了。
剖析单线串口的编程效果
担心烧录的速度?我们用数据来说明,是快还是慢。该芯片支持最高的通讯速率为500000bps,我们就采用这个波特率进行通讯。图三是逻辑分析仪(LA2532)抓取烧录通信时的时序数据:
图三 逻辑分析仪(LA2532)捕捉到的数据
先说说数据代表的意思,该段波形截取于“烧写+校验”的过程。对于两串比较长的数据,较短的是烧录的数据,发送完这段数据后,接着发送查询状态指令等待芯片烧录完毕并响应,然后下发读取指令,较长的是读取上来进行校验的数据。
从图中看到,从读取数据到下一包下发的烧录数据间隔只有3.5ms,扣除预留官方2ms响应时间,AK100Pro对数据包解析、校验和功能转换等操作,花费时间2ms不到。
总结
烧录时间短、通信口线少、占板空间小,单线串行的产品,在小型化可穿戴市场必将大行其道。