|
黑金動力開發板IIC設計驅動
IIC 儲存模塊
IIC 儲存器是筆者用來練習精密控時的經典例子。《整合篇》之際,IIC 儲存器的解釋,筆者也自認變態。如今筆者回頭望去,筆者也不知道自己當初到底發什么神經,既然將IIC 的時序都解釋一番。由于開發上板也嵌著 IIC 儲存器(24LC04),筆者還得循例地介紹一下。
IIC 儲存器是應用 IIC 總線的儲存器,時序本身并不是很復雜不過缺有一大堆時序參數,而且官方提供的時序也不利于描述,所以許多時序都必須自行繪制,真是麻煩死人。麻煩歸麻煩,筆者終究還要吃飯,為了肚子,再麻煩的事情也要硬著頭皮捱過去 ... 這也是白駱駝的惡作劇!
0.jpg (11.5 KB, 下載次數: 54)
下載附件
2018-4-10 23:55 上傳
圖 16.1 是 IIC 總線與 IIC 設備常見的示意圖。理想上,一條 IIC 總線允許千萬 IIC 設備占據在上 ... 物理下,一條 IIC 總監究竟允許多少 IIC 設備占據其中必須根據設備地址的長度。默認下,設備地址為八位寬,因此設備地址也稱為設備字節。設備地址的高四位,即[7..4]記錄硬件 ID,接續三位即 [3..1] 則記錄硬件地址,最后一位則是設備的訪問方向。結果如表 16.1 所示:
0.jpg (11.22 KB, 下載次數: 74)
下載附件
2018-4-10 23:56 上傳
所謂硬件 ID 就是 IIC 設備的辨識 ID,硬件 ID 會隨著廠商還有設備的種類而有所改變。開發板上的 IIC 設備是某廠商的 IIC 儲存器,即 24LC04,硬件 ID 為 4’b1010。至于硬件地址就是 IIC 設備在總線上辨識地址,默認下為 3 位,即同類的 IIC 設備在同一條 IIC總線上僅允許占據 8 個而已。然而,開發板上的 24LC04 為 3’b000。最后的訪問方向位則是主機用來通知從機,此刻的訪問目的是讀還是寫。
總結來說,設備地址除了訪問方向以外,前七位一般都是固定的,例如開發板的 IIC 儲存器 24LC04,設備地址就是 8’b1010_000_×。
0.jpg (13.89 KB, 下載次數: 52)
下載附件
2018-4-10 23:56 上傳
IIC 總線的時序,感覺上一組完成的操作宛如是一堆拼圖。如圖 16.2 所示,那是 24LC04的寫操作,時序先填上為起始位,再來是設備地址,余下是應答位,隨之是數據地址,然后又是應答位,接著是寫如數據,再一次應答位,最后掛上結束位以示一次性的寫操作已經完成。那么,寫操作的經過如下所示:
(一)主機發送起始位;
(二)主機發送設備地址(寫);
(三)等待從機應答;
(四)主機發送數據地址;
(五)等待從機應答;
(六)主機發送數據;
(七)等待從機應答;
(八)主機發送結束位。
讀者稍微注意一下設備地址的最低位,筆者稍微用藍色將其高亮。由于此刻是寫操作,所以設備地址的訪問方向是“寫”,所以訪問方向位設置為 0。
0.jpg (12.74 KB, 下載次數: 57)
下載附件
2018-4-10 23:57 上傳
圖 16.3是 24LC04 的讀時序,同樣它也是由一堆“拼圖”組合而成。相較寫操作,讀操作不僅多了許多“拼圖”,而且途中也改變訪問方向。那么,讀操作的經過如下所示:
(一)主機發送起始位;
(二)主機發送設備地址(寫);
(三)等待從機應答;
(四)主機發送數據地址;
(五)主機發送起始位;
(六)主機發送設備地址(讀);
(七)等待從機應答;
(八)主機讀取數據;
(九)從機沒有應答(主機無視應答);
(十)主機發送結束位。
未進入正題之前,請允許筆者加入一些小插曲。IIC 總線是一種低速的總線,不過 IIC總線有 100Khz 還有 400Khz 兩種速率提供我們選擇,要么 100Khz,要么 400Khz,要么兩者兼施,不管哪一種《整合篇》都曾實驗過。在此,實驗十六會以 400Khz 的速率作為標準。
筆者曾在前面說過,IIC 總線之所以麻煩,因為 IIC 總線有大小不同的時序參數(時間參數)。一般而言,時間參數都都被順序語言一笑而過,那是因為順序語言無法實現精密控時。雖然描述語言也可以一笑而過,但是語言的本質卻不允我們這么作,如果我們選擇無視時序參數 ... 那么,打從一開始我們還是不學為好。
此外,描述 IIC 的總線時序有各種各樣的方法,但是筆者會選擇表達能力更高,控制能力更細的描述手段。我們知道 IIC 的總線時序是由一塊又一塊的拼圖拼湊而成,當我們在建模的時候,我們會針對各個拼圖作出局部性的描述。期間,我們也必須考慮各種時序參數,如表 16.2 所示:
完整的pdf格式文檔51黑下載地址:
驅動篇I-實驗16.pdf
(1.33 MB, 下載次數: 21)
2018-4-10 19:14 上傳
點擊文件名下載附件
FPGA iic驅動 下載積分: 黑幣 -5
|
評分
-
查看全部評分
|