MC8051微處理器硬件模塊
單片機作為一個大型設(shè)計,其內(nèi)核由定時器時鐘管理單元、ALU算數(shù)邏輯單元、串口及控制單元、存儲單元RAM及ROM等模塊組成。
1 時鐘管理單元
MC8051內(nèi)核采用完全同步的時鐘設(shè)計。只有一個時鐘信號控制每個存儲單元的輸入。沒有使用門時鐘,時鐘沒有輸入到任何組合邏輯單元。中斷輸入線使用兩級同步(鎖存2次)與全局時鐘同步??梢赃_到完全同步,即使用其他時鐘的外部電路在驅(qū)動。并行I/0端口沒有采用這種同步方式。
2 定時器、串口和中斷
標準8051微控制器只提供兩個定時/計數(shù)器單元、一個串口單元及兩個外部中斷源。而在MC805l IP核中,這些單元最多可增加到256組,只需修改VHDL源代碼增加兼容的單元數(shù)。在VHDL源程序文件mc8051_p.vhd中,更改C_IMPL_N_TMR、C_IMPL_N_SIU、C_IMPL_N_EXT的常量值就可以,其范圍是1~256。相關(guān)的VHDL代碼如圖1所示。
圖1 相關(guān)VHDL代碼
這里C_IMPL_N_TMR、C_IMPL_N_SIU、C_IMPL_N_EXT3個常量參數(shù)不能獨立修改數(shù)值,只能同時增減。C_IMPL_N_TMR加l意味著對應(yīng)的添加了2個定時/計數(shù)器、一個串口單元和2個外部中斷源。為了能尋址所生成的單元而不改變微控制器的地址空間,在微控制器的特殊功能寄存器(SFR)內(nèi)存空間增加了2個8位寄存器作為附加功能寄存器:分別是TSEL(定時/計數(shù)器選擇寄存器,地址為Ox8E)和SSEL(串口選擇寄存器,地址為Ox9A)。如果以上的寄存器指向不存在的器件單元,將使用默認的l單元,如果沒有對這兩個寄存器賦值,其缺省值為1。如果在中斷發(fā)生期間設(shè)備(寄存器)沒被選中(比如TSEL),那么相應(yīng)的中斷標志位將保持置位,直到執(zhí)行中斷服務(wù)程序。
3 存儲器接口單元
由于采用優(yōu)化結(jié)構(gòu)設(shè)計,存儲器采用同步結(jié)構(gòu),限制輸入、輸出的時序,因而存儲器輸入、輸出數(shù)據(jù)沒用寄存器寄存。
評論