• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 串行總線那些坑,你留意了嗎?

    串行總線那些坑,你留意了嗎?

    作者: 時間:2016-12-12 來源:網絡 收藏
    串行通訊總線嵌入式系統中是必不可少的一部分,處理器通過UART、I2C等這些總線來訪問各種外設。如果您是一位嵌入式工程師,相信您一定和這些串行總線打過交道。那么串行總線協議的這些坑,您有沒有遇到過呢?

    本文引用地址:http://www.czjhyjcfj.com/article/201612/328854.htm

    比如,I2C總線忘了接上拉電阻,串口波特率不匹配,RS485忘了進行方向切換或者沒有接終端匹配電阻,USB全速和低速模式該在哪根線加上拉、下拉電阻傻傻分不清(現在上下拉電阻都集成到處理器內部,以后不會再被坑了)等等。我們的一位客戶最近就被SWD總線坑了一把,來看看他是怎么入的坑,又是怎么跳出的坑吧。

    這位客戶用編程器通過SWD總線對一款Cortex-M0芯片進行編程時,由于無法進入測試模式而無法對芯片編程。束手無策之下,客戶找到了我們。我們的時序工程師仔細分析芯片數據手冊后,發現該芯片編程時序的握手環節和其他芯片有明顯區別,因此我們猜測客戶的編程器很可能是和芯片握手失敗才無法進入測試模式。

    下圖是芯片握手時序圖,可以看出時序要求非常嚴格。只要總線握手成功,芯片進入測試模式,編程器即可獲取芯片ID,并可以對芯片編程。如果總線握手失敗,芯片就會開始執行片內Flash的用戶代碼而無法進行編程。

    由于芯片的時鐘精度、boot code文件大小不同,因此不同版本芯片的內部復位時間、boot code執行時間都有差異。為了確保芯片能正常進入測試模式,我們在將芯片時序添加到致遠電子最新推出的4通道在線脫機編程器P800-ISP上時,進行了特殊處理:當P800-ISP向芯片發出復位信號后,立即重復發送SWD總線復位信號,直到獲取芯片的應答。SWD總線建立連接后,P800-ISP通過設置芯片的TST_CTRL寄存器,使芯片進入測試模式,之后就可以對芯片的Flash正常編程了。

    總結:

    有了這個工具,串行總線應用不再是難題。



    關鍵詞: 串行總線波特

    評論


    技術專區

    關閉
    主站蜘蛛池模板: 团风县| 连山| 连云港市| 南京市| 马关县| 永昌县| 会泽县| 巴东县| 红安县| 威宁| 凤冈县| 和田市| 海晏县| 六安市| 临沂市| 潞城市| 嫩江县| 县级市| 托克托县| 阜阳市| 那曲县| 班玛县| 景宁| 铜梁县| 泊头市| 迁安市| 修文县| 华亭县| 三江| 白银市| 葫芦岛市| 顺义区| 陕西省| 余庆县| 仁布县| 滨州市| 伊吾县| 宁安市| 济源市| 郸城县| 社会|