EDN China > 技术文章 > EDA工具与服务 > IC设计与设计服务 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

LIN验证框架:一种新途径

Amit Kumar Sinha?? Chetan Anand?? Saurabh Gupt?? 飞思卡尔半导体(印度)有限公司?? 2015年09月29日 ?? 收藏0

LIN/UART应用代码要考虑的问题

LIN/UART不能在超过9600bps的特定设置下运行。

其中一个UART用例是接收来自个人电脑(CP)COM端口的数据。有文本文件从PC端通过超级终端发送。UART按字符接收文本,并再按字符将其发回至PC的COM端口。发送的整个文本文件在超级终端打印出来。超级终端波特率和UART波特率均被设置为同样的值。

如果我们使用的波特率高于192000,就会打印正确的文本。然而,如果波特率低于或等于19200,文本文件的一些字符就被遗漏。随着我们进一步降低波特率,接收的文本就会严重混乱。

黄色波形是从PC中接收(在控制板的Rx引脚取样)。绿色波形是从UART发回至PC(在控制板的Tx引脚取样)。

通过场景:

图7:38.4Kbps时的正确数据
图7:38.4Kbps时的正确数据

我们认真观察可以发现,传入流中的停止位比1位宽稍宽一些。

现在,我们可以看到9600bps的波形。

故障场景:

图8:9.6Kbps时丢失的数据
图8:9.6Kbps时丢失的数据

就PC一方而言,如黄色波形所示,文本文件包括正确接收的“This”。然而,Tx引脚取样的数据表明,遗漏了字符“h”,而其他字符(“T”、“i”、“s”)均传输成功。

在应用代码方面,比特写操作的状态位会被清除,同时也会在无意间清除其他状态位。速度较高时,在软件清除状态位时已经从控制板上传输了数据,因此没有发现问题,但速度较低时,状态位在数据传输前就被清除,因此出现了这个问题。

结论与未来工作

上述分析及案例研究表明,除了正常的芯片上独立LIN IP验证之外,错误场景及系统级验证也至关重要,可以帮助我们生成没有设计缺陷的SoC。我们无法否认我们需要付出极大的努力,生成错误场景条件并捕获系统级设计问题,但这可以大大帮助半导体行业提供更健康的芯片,从而降低成本。

我们的进一步建议是以最高温度、最低电压进行芯片验证,利用较慢的矩阵槽捕捉设置/保持问题。另一建议是同时通过不同的内核运行不同的LIN实例,更好地给系统增压。

【分页导航】

本文来自《电子技术设计》2015年10月刊,版权所有,谢绝转载。


上一页1234下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

LIN? 汽车? 通信协议?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈