當使用PXIe-6556來實現I2C協定時,為什麼我的波形上升(Rise Time)與下降時間(Fall Time)很慢



硬體: Digital I/O (DIO)>>High-Speed Digital I/O>>PXIe-6552

問題: 我想要使用我的PXIe-6556卡片來做I2C的通訊。我可以成功地讓我的線路訊號在0與高阻抗的狀態間來回改變,可是位於訊號緣的上升時間很慢,導致我的通訊在取樣速度很快的情況下沒辦法正常的運作。是什麼導致了這樣的問題?並且我可以怎麼做來讓我的I2C通訊成功呢?

解答:
基本上來說,I2C設置中所使用的外加上拉電阻(pull-up resistor),在決定您的設置所產生哪種的上升時間(rise time)上,扮演了很重要的角色。一般在線路上會有一定程度的電容,而在您的系統中想要快速的增加訊號源的速率,會需要一個大的電流來針對這些電容充電。如果您觀察到的上升時間比預期的長很多,您有兩個選項:使用比較強的上拉電阻 (較小的電阻值),或設定您的PXIe-6556來使用版子中Active Load(主動負載)功能,將其當作線路上的內部上拉功能。



使用弱上拉電阻(weak pull-up resistor)時,線路訊號在低電位邏輯與高阻抗邏輯間擺動的情形


使用比較強的上拉電阻,可以增加系統中應用在電容上的電流,可以讓您得到比較快的上升時間。



使用強上拉電阻(strong pull-up resistor)時,線路訊號在低電位邏輯與高阻抗邏輯間擺動的情形


使用這個元件,來取代原本的上拉電阻,讓上拉的電阻值可以變小。

這個Active Load(主動負載)功能只有PXIe-6556擁有,並且作動起來就像是一個在線上的負載,不管是電流流入(sourcing)或流出(sinking)都可以達到使用者所撰寫的電壓範圍(commutating voltage)。當線上的電壓低於設定的電壓(commutating voltage)時,Active Load(主動負載)提供導入電流來增加電壓。當線上電壓高於設定的電壓(commutating voltage)時,Active Load(主動負載)會導掉電流來降低電壓。在線上想要使用Active Load(主動負載)來作為內部的強上拉電阻,你會需要設定下列的properties:
1. Active Load
2. Commutating Voltage
3. Current Range (主動負載可以導入/導出最多24 mA,最少1.5 mA的電流)



啟用Active Load(主動負載)來給Tristate使用、設定來源電流(Sourcing Current)到1.5mA、電壓交換範圍(Commutating Voltage)設定至1.8V


相關連結: Product Manuals: NI PXIe-6555/6556 Specifications KnowledgeBase 4XKLJB31: How Can I Communicate With I2C, SPI, JTAG Devices Using National Instruments Digital I/O Device ? Developer Zone: I2C Digital Waveform Reference Library KnowledgeBase 42JET3JQ: Per Cycle Tristate Programming with NI-HSDIO

附加檔案:





報告日期: 10/11/2012
最後更新: 04/10/2016
文件偏號: 62ALFN8W