Microchip PIC24FJ64GA008 處理器內置兩個 I2C(I2C1和I2C2)的模組,I2C(I²C,Inter-Integrated Circuit)模組是一種串列通訊匯流排,由飛利浦公司在 1980年代為了讓主機板、嵌入式系統或其他設備以連接低速週邊裝置而發展的串列通訊介面。I2C 只需要使用兩條雙向漏極開路(Open Drain)SDA(串列資料)及 SDL(串列時脈SCL),並利用電阻將電位上拉。
Microchip PIC24FJ64GA008 處理器的 I2C 匯流排 |
Microchip PIC24FJ64GA008 處理器的 I2C 匯流排傳輸速率 |
• 主器件和從器件邏輯相互獨立
• 支援多主機系統,可以防止在仲裁時丟失報文
• 在從模式下可檢測 7 位和 10 位器件位址,並可配置位址遮罩• 檢測 I2C 協議中定義的廣播呼叫地址
• 具有匯流排轉發器模式(Bus Repeater Mode),允許模組作為從器件接收所有報文,而不論地址如何
• 具有自動 SCLx 時鐘延長功能,為處理器提供延時以回應從器件的資料請求• 支援 100kHz 和 400kHz 匯流排規範
• 支援智慧外設管理介面(Intelligent Peripheral Management Interface, IPMI)標準
I2C 匯流排的時序(Timing Diagram) |
1. 在 SDAx 和 SCLx 上發起一個啟動條件。
2. 發送一個 I2C 器件位址位元組到從器件,表明將要進行寫(Write Operation)操作。
3. 等待並驗證來自從器件的應答。
4. 將第一個資料位元組(有時是命令)發送到從器件。
5. 等待並驗證來自從器件的應答。
6. 將串列記憶體位址的低位元組發送到從器件。
7. 重複步驟 4 和步驟 5 直到資料位元組發送完畢。
8. 在 SDAx 和 SCLx 上發起一個重複啟動條件。
9. 將器件位址位元組發送給從器件,表明將要進行讀(Read Operation)操作。
10. 等待並驗證來自從器件的應答。
11. 使能主控接收模式來接收串列記憶體資料。
12. 在資料位元組接收完畢時產生 ACK 或 NACK 條件。
13. 在 SDAx 和 SCLx 上產生停止條件。
主機在 I2C 匯流排的傳送資料 (Write Operation)
|
I2C 匯流排完整的資料交換時序 |
2016年 10月 23日 天氣報告
氣溫:27.3度 @ 19:30
相對濕度:百分之 88%
天氣:多雲
沒有留言:
張貼留言