這幾天做了做乙太網控制器的實驗,對
cp2200
的控制涉及到一些
c8051f020
外部資料儲存器介面的訪問的內容,在這裡總結一下。
首先看一下
c8051f020
的原理框圖
此圖**於晶元手冊,借來用一下。從這張圖可以清楚的看到晶元儲存器的分布和儲存器介面的分布。從紅色部分可以看出位址匯流排、資料匯流排、匯流排控制是配置到哪些埠的,具體的配置,在下面將會詳細的說明。
c8051f020
對外部儲存器空間的訪問是使用外部傳送指令
movx
和資料指標
dptr
來實現的。而且
c8051f020
有片內的
4k資料儲存器
(xram)
和可擴充套件的外部資料儲存器介面
(emif)
。這裡主要怎麼使用這個
emif
。涉及到的幾個暫存器和詳細的使用。
埠i/o
交叉開關暫存器
xbr2
,這個千萬別忘了,
c8051f020
中很多要用到。
emi0cn
外部儲存器介面控制。
xram
的頁選擇位,8位
movx
指令時使用的,它提供的是外部儲存器
16位位址的高位元組,也就是說它可以選擇乙個
256byte
的頁面。
emi0cf
外部儲存器介面配置暫存器。
各個位的詳細說明就仔細的看看晶元手冊吧,那裡講得才是準確詳細的。
接著就是理解外部儲存器的
4種工作模式。
1.只用內部儲存器
xram
,就是movx
只定址4k
的xram。2.
不帶塊選擇的分片方式。
3.帶塊選擇的分片方式。
4.只定址片外儲存器
xram
。需要注意的地方就是第二和第三種方式。他們的區別在8位的
movx
操作上,無塊選擇的在8位的
movx
操作時位址線的高8位
(a0~a7)
不被驅動,可以有我們自己任意的操作。而帶快選擇的分片模式則高
8位是被驅動的,並且有
emi0cn
給出。兩種方式的低
8位位址都是由暫存器r0或
r1給出。
這裡給出
c8051f020
擴充套件的cp2200
的外部儲存器
ram空間。
cp2200
的傳送緩衝和接收緩衝是由暫存器控制的。定址這些暫存器要用到外部資料暫存器介面,比如:
volatile unsigned char pdataramtxdata_at_ 0x2004;// txbuff ram data register
這句話的意思就是在外部資料儲存器上以
0x2004
為起始位址,宣告
1byte
的空間作為暫存器,這個暫存器是將資料從傳送緩衝區寫入或讀出的(參照
cp2200手冊)
。最好的參考資料還是晶元手冊,最好的方法就是邊看書邊實驗。
實驗4,c8051f020 SPI的使用
今天,就在今天,終於調通了zlg7289的實驗四 滿足,又有點虛脫,趁著熱情還在,趕快記錄下來。問題一 標頭檔案的引用。風風火火寫完 編譯爆出長長以列表的錯誤,undifine,undifine 我就納了個悶,p3這種引腳為什麼沒有定義,原因就在於。這次用到的檔案除了配置檔案c8051f020.外還...
C8051F環境搭建
usb偵錯程式 u ec6 支援jtag模式 c2模式 jtag介面定義 適用型號c8051f00x c8051f01x c8051f02x c8051f04x c8051f06x c8051f12x c8051f2xx c2介面定義 適用型號c8051f3xx c8051f41x c8051f5x...
C8051F340晶元64位驅動移植
win7 64位機上需要使用以上晶元進行usb的資料通訊,因此需要移植c8051f340的驅動韌體以及對應的通訊上位機程式。2 以管理員身份執行cmd.exe,輸入命令bcdedit.exe set loadoptions ddisable integrity checks關閉數字簽名認證 3 在預...