欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: FPGA IIC驅(qū)動設(shè)計資料 [打印本頁]

作者: 123456no    時間: 2018-4-10 19:16
標(biāo)題: FPGA IIC驅(qū)動設(shè)計資料
黑金動力開發(fā)板IIC設(shè)計驅(qū)動

IIC 儲存模塊
IIC 儲存器是筆者用來練習(xí)精密控時的經(jīng)典例子!墩掀分H,IIC 儲存器的解釋,筆者也自認(rèn)變態(tài)。如今筆者回頭望去,筆者也不知道自己當(dāng)初到底發(fā)什么神經(jīng),既然將IIC 的時序都解釋一番。由于開發(fā)上板也嵌著 IIC 儲存器(24LC04),筆者還得循例地介紹一下。

IIC 儲存器是應(yīng)用 IIC 總線的儲存器,時序本身并不是很復(fù)雜不過缺有一大堆時序參數(shù),而且官方提供的時序也不利于描述,所以許多時序都必須自行繪制,真是麻煩死人。麻煩歸麻煩,筆者終究還要吃飯,為了肚子,再麻煩的事情也要硬著頭皮捱過去  ...  這也是白駱駝的惡作。



圖 16.1 是 IIC 總線與 IIC 設(shè)備常見的示意圖。理想上,一條 IIC 總線允許千萬 IIC 設(shè)備占據(jù)在上  ...  物理下,一條 IIC 總監(jiān)究竟允許多少 IIC 設(shè)備占據(jù)其中必須根據(jù)設(shè)備地址的長度。默認(rèn)下,設(shè)備地址為八位寬,因此設(shè)備地址也稱為設(shè)備字節(jié)。設(shè)備地址的高四位,即[7..4]記錄硬件 ID,接續(xù)三位即  [3..1]  則記錄硬件地址,最后一位則是設(shè)備的訪問方向。結(jié)果如表 16.1 所示:

所謂硬件 ID 就是 IIC 設(shè)備的辨識 ID,硬件 ID 會隨著廠商還有設(shè)備的種類而有所改變。開發(fā)板上的 IIC 設(shè)備是某廠商的 IIC 儲存器,即 24LC04,硬件 ID 為  4’b1010。至于硬件地址就是 IIC 設(shè)備在總線上辨識地址,默認(rèn)下為 3 位,即同類的 IIC 設(shè)備在同一條 IIC總線上僅允許占據(jù) 8 個而已。然而,開發(fā)板上的  24LC04  為 3’b000。最后的訪問方向位則是主機用來通知從機,此刻的訪問目的是讀還是寫。

總結(jié)來說,設(shè)備地址除了訪問方向以外,前七位一般都是固定的,例如開發(fā)板的 IIC 儲存器 24LC04,設(shè)備地址就是  8’b1010_000_×。


IIC 總線的時序,感覺上一組完成的操作宛如是一堆拼圖。如圖 16.2 所示,那是 24LC04的寫操作,時序先填上為起始位,再來是設(shè)備地址,余下是應(yīng)答位,隨之是數(shù)據(jù)地址,然后又是應(yīng)答位,接著是寫如數(shù)據(jù),再一次應(yīng)答位,最后掛上結(jié)束位以示一次性的寫操作已經(jīng)完成。那么,寫操作的經(jīng)過如下所示:

(一)主機發(fā)送起始位;
(二)主機發(fā)送設(shè)備地址(寫);
(三)等待從機應(yīng)答;
(四)主機發(fā)送數(shù)據(jù)地址;
(五)等待從機應(yīng)答;
(六)主機發(fā)送數(shù)據(jù);
(七)等待從機應(yīng)答;
(八)主機發(fā)送結(jié)束位。

讀者稍微注意一下設(shè)備地址的最低位,筆者稍微用藍(lán)色將其高亮。由于此刻是寫操作,所以設(shè)備地址的訪問方向是“寫”,所以訪問方向位設(shè)置為 0。



圖 16.3是 24LC04 的讀時序,同樣它也是由一堆“拼圖”組合而成。相較寫操作,讀操作不僅多了許多“拼圖”,而且途中也改變訪問方向。那么,讀操作的經(jīng)過如下所示:

(一)主機發(fā)送起始位;
(二)主機發(fā)送設(shè)備地址(寫);
(三)等待從機應(yīng)答;
(四)主機發(fā)送數(shù)據(jù)地址;
(五)主機發(fā)送起始位;
(六)主機發(fā)送設(shè)備地址(讀);
(七)等待從機應(yīng)答;
(八)主機讀取數(shù)據(jù);
(九)從機沒有應(yīng)答(主機無視應(yīng)答);
(十)主機發(fā)送結(jié)束位。
未進入正題之前,請允許筆者加入一些小插曲。IIC 總線是一種低速的總線,不過 IIC總線有  100Khz  還有  400Khz  兩種速率提供我們選擇,要么 100Khz,要么 400Khz,要么兩者兼施,不管哪一種《整合篇》都曾實驗過。在此,實驗十六會以 400Khz 的速率作為標(biāo)準(zhǔn)。

筆者曾在前面說過,IIC 總線之所以麻煩,因為 IIC 總線有大小不同的時序參數(shù)(時間參數(shù))。一般而言,時間參數(shù)都都被順序語言一笑而過,那是因為順序語言無法實現(xiàn)精密控時。雖然描述語言也可以一笑而過,但是語言的本質(zhì)卻不允我們這么作,如果我們選擇無視時序參數(shù)  ...  那么,打從一開始我們還是不學(xué)為好。

此外,描述 IIC 的總線時序有各種各樣的方法,但是筆者會選擇表達能力更高,控制能力更細(xì)的描述手段。我們知道 IIC 的總線時序是由一塊又一塊的拼圖拼湊而成,當(dāng)我們在建模的時候,我們會針對各個拼圖作出局部性的描述。期間,我們也必須考慮各種時序參數(shù),如表 16.2 所示:

完整的pdf格式文檔51黑下載地址:
驅(qū)動篇I-實驗16.pdf (1.33 MB, 下載次數(shù): 21)








歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1