官术网_书友最值得收藏!

1.2 “Winbond 78E516B”芯片功能詳解

本節按照“W78E516B”的芯片資料及結構給大家介紹單片機的原理,為了便于讀者的閱讀和理解,補充了一些額外的知識點。

如果你是第一次閱讀芯片資料可能會覺得這種結構很凌亂,不好理解。的確是這樣的,但芯片資料都是這種結構,所以請你多一點耐心把這部分看完,因為對于專業的電子工程師來說,閱讀相關的芯片資料是基本功。

1.2.1 芯片概述

1.“W78E516B”介紹

“W78E516B”是一款低功耗8位微控制器;片內具有帶ISP功能的“Flash EPROM”;“ISP”功能的“Flash EPROM”可用于固件升級。其指令集同標準“8052”完全兼容?!癢78E516B”包含64KB的主ROM,4KB的輔助ROM(位于4KB輔助ROM中的裝載(loader)程序,可以讓用戶更新位于64KB主ROM中的程序內容)。512B片內RAM;4個8位雙向、可位尋址的“I/O”口;一個附加的4位“I/O”口P4;3個16位定時/計數器及一個串行口。這些外圍設備都由8個中斷源和2級中斷能力的中斷系統的支持。

“W78E516B”內含的ROM允許電編程和電讀寫,這樣用戶就可以很方便地進行編程和驗證。代碼確定后,就可以對代碼進行保護?!癢78E516B”有兩種節電模式:空閑模式和掉電模式,兩種模式均可由軟件來控制選擇??臻e模式下,處理器時鐘被關閉,但外設仍繼續工作。在掉電模式下晶體振蕩器停止工作,以將功耗降至最低。外部時鐘可以在任何時間及狀態下被關閉,而不影響處理器的運行。

2.特性

● 全靜態設計的“CMOS ”8位微處理器頻率最高達40MHz。

● 64KB并帶“ISP”功能的“Flash EPROM”,用來存儲應用程序(APROM)。

● 4KB的輔助ROM,用來存儲裝載程序(LDROM)。

● 512B片內暫存RAM(包括256B的軟件可選的“AUX-RAM”)。

● 64KB程序存儲器地址空間和64KB數據存儲器地址空間。

● 4個8位雙向“I/O”口。

● 一個4位多功能可編程口。

● 3個16位定時/計數器。

● 一個全雙工串行口(UART)。

● 8個中斷源,2級中斷優先級嵌套能力。

● 內建電源管理。

● 代碼保護機制。

● 封裝:

--DIP40:W78E516B-40

--PLCC44:W78E516BP-40

3.引腳配置

40PIN DIP(W78E516B),如圖1-1所示。

圖1-1 “W78E516B”芯片引腳封裝

1.2.2 引腳描述(見表1-1)

表1-1 芯片引腳描述

注釋:類型I:輸入;O:輸出;I/O雙向;H:上拉;L:下拉;D:開漏。

● I:只能作為輸入端。

● O:只能作為輸出端。

● I/O:雙向口,可作為輸入和輸出。

● H:指芯片內部接有上拉電阻,設計時,可以直接用這類的引腳驅動一些小功率的器件,不需外加電源。

● L:芯片內部接有下拉電阻,作為輸入用可以吸收較大的電流。

● D:開漏是指芯片內部引腳以“MOS”的漏極作為輸出。它可以吸收很大的電流,但是不能向外輸出電流。所以,為了能輸入和輸出電流,在電路設計時,開漏引腳要和上拉電阻一起使用。上拉電阻的阻值決定了邏輯電平轉換的速度,阻值越大、速度越低、功耗越小。電阻通常選用2.2kΩ,4.9kΩ。

1.2.3 功能框圖

芯片的功能框圖如圖1-2所示。

圖1-2 芯片功能框圖

“W78E516B”芯片兼容了標準的MCS-51芯片的總體結構,并且還擴展了一些功能。它由以下10部分組成:

● 中央處理器;

● 64KB片內可編程程序存儲器“EPROM”;

● 512B的數據存儲器;

● 4KB的輔助ROM,用來存儲裝載程序(LDROM),應用于ISP在線編程;

● 特殊功能寄存器“SFR”;

● 32條I/O線(四個8位口P0、P1、P2、P3);

● 3個16位定時/計數器;

● 一個全雙工串行口(UART);

● 8個中斷源,2級中斷優先級嵌套;

● 片內振蕩器和時鐘電路。

“W78E516B”芯片有兩種封裝,其中方形封裝44引腳的芯片,有四只引腳(P4.0~P4.3)為特殊功能引腳。在工程項目中采用的是40引腳的雙列直插封裝(DIP40),沒有這四個引腳,在這里不做詳細介紹。讀者可以參見廠家提供的相關芯片資料。

1.2.4 功能描述

1.RAM

“W78E516B”有512B的片內RAM,分2個區,一個256B的暫存RAM區;另一個是256B的輔助RAM區。

● 地址為0H-7FH的RAM:這些RAM可以用與“8051”相同的直接或間接尋址方式來尋址。在選定的RAM區內,尋址指針是R0和R1。

● 地址為“80H-FFH”的RAM:只能用與“8051”相同的間接尋址方式來尋址,在選定的RAM區內,尋址指針是R0和R1。

● 地址范圍為“0H-FFH”的輔助RAM(AUX-RAM):尋址方式與用“MOVX”指令訪問外部數據存儲器的尋址方式相同。在選定的RAM區內,尋址指針是R0、R1和“DPTR”。對地址高于“FFH”的外部數據存儲器的訪問,尋址方式與“8051”下的“MOVX”指令相同。在復位后,“AUX-RAM”是被關閉的。把“CHPCON”寄存器中的bit 4置位,可以使能對“AUX-RAM”訪問。在使能“AUX-RAM”后指令“MOVX @RI”將始終訪問片內“AUX-RAM”。當執行的指令來自內部程序存儲器時,對“AUX-RAM”的訪問不會影響P0、P2口,以及WR、R-D。

補充知識點

尋址方式:這里補充介紹單片機的三種主要尋址方式。也就是直接尋址、間接尋址和外部數據存儲器尋址。

1.直接尋址

直接尋址方式中,指令操作數域給出的是參加運算的操作數地址。

比如指令:MOV 58H,A

表示把累加器A中的內容送到58H單元中,其中58H為直接地址,表示內部數據存儲器RAM中的一個單元。

2.間接尋址

間接尋址方式中,指令操作數給出的是存放操作數地址的寄存器??勺鳛殚g接尋址的工作寄存器只能是R0和R1。

比如指令:MOV @R1,A

表示把累加器A中的內容送到寄存器R1中的數所指定的存儲單元。其中R1存放著間接地址。

3.外部數據存儲器尋址

主要依靠MOVX指令訪問外部RAM。

比如指令:MOVX @R1,A

表示把累加器A中的內容送到寄存器R1中的數所指定的外部存儲單元。

以上介紹的各部分RAM尋址方式如圖1-3所示。

圖1-3 RAM尋址方式

2.定時器0,1,2

定時器0、1、2中都包含兩個8位數據寄存器。分別是定時器0的TL0、TH0,定時器1的TL1、TH1,定時器2的TL2、TH2。TCON和TMOD對定時器0、1進行控制。T2CON寄存器對定時器2進行控制?!癛CAP2H”,“RCAP2L”是定時器2的重裝/捕捉寄存器。定時器0和1的操作與“8051”相同。定時器2為一個16位定時/計數器,通過“T2CON”設定和控制。與定時器0和1相同,定時器2可以根據“T2CON”的“C/T2”位,設定作為外部計數器或內部定時器,定時器2有三個操作模式:捕捉、自動重裝和波特率發生器。捕捉或重裝模式的時鐘速度與定時器0和1相同。

3.晶體振蕩器

“W78E516B”包含一個內置的晶體振蕩器。為使振蕩器工作,在“XTAL1”和“XTAL2”引腳之間必須連接一個石英晶體。此外,必須分別在這兩個引腳和地之間連接負載電容。同時,當頻率高于24MHz時,需要在“XTAL1”和“XTAL2”引腳間接一個電阻,以防止DC偏壓。

4.時鐘

“W78E516B”單片機雖然有內部振蕩電路,但要形成時鐘,必須外接附加電路。時鐘產生方式有內部時鐘方式和外部時鐘方式兩種。

使用外部時鐘方式時,外部時鐘源連接到引腳“XTAL1”上,引腳“XTAL2”懸空。晶體振蕩器要求“XTAL1”上的輸入是一個“CMOS”型輸入,這樣就要求外部時鐘信號輸入電壓應大于3.5V。外部振蕩信號輸入后首先在內部進行2分頻,然后才作為內部時鐘信號,故“W78E516B”對外部振蕩信號占空比的變化相對不敏感。

補充知識點

時鐘:芯片資料上描述的單片機時鐘產生方式比較概要。這里加以補充。

1.內部時鐘方式

在單片機“XTAL1”和“XTAL2”引腳上外接定時元器件(最常用的方式是采用外接石英晶體和電容組成并聯回路),利用單片機片內的振蕩電路,在內部產生自激勵,以產生時鐘信號。

2.外部時鐘方式

外部時鐘方式是將外部振蕩信號直接由“XTAL1”(對于“CMOS”型單片機)或“XTAL2”(對于HMOS型單片機)引腳進入。

外部振蕩信號輸入后,在內部首先通過一個2 分頻的觸發器而成為內部時鐘信號,MCS-51單片機對外部振蕩信號的占空比沒有特殊要求。

3.時鐘同步

當使用片內振蕩器時,可以利用“XTAL1”、“XTAL2”引腳引出時鐘,為其他芯片提供時鐘。對于“HMOS”型單片機,由“XTAL2”引腳引出。對于“CMOS”型單片機,由“XTAL1”引腳引出。

當系統使用多單片機組成時,為便于各單片機之間的時鐘同步,一般選用外部時鐘方式。

5.電源管理

1)空閑模式

將“PCON” 寄存器的“IDL”位置位,系統進入空閑模式。這時連接到處理器的內部時鐘被關閉。外設和中斷邏輯繼續工作。當有中斷或復位發生時,處理器退出空閑模式。

2)掉電模式

將“PCON”寄存器的PD位置位,處理器進入掉電模式。這時包括振蕩器在內的所有時鐘被關閉。退出掉電模式的條件是硬件復位或外部中斷觸發信號。

6.減少“EMI”輻射

為了減少振蕩電路中的“EMI”輻射,“W78E516B”允許用戶通過編程將安全寄存器的B7位清零,來減少片內振蕩放大器的增益。一旦B7置為“0”,放大器就會減少一半的增益。用戶在試圖減少晶振放大器增益時,必須注意:在高于24MHz的高頻下運行時,減少一半的增益也許會使外部晶振工作不正常。當在較低的增益下運行時,應適當調整“XTAL1”與“XTAL2”引腳間電阻以及“XTAL1”、“XTAL2”與地間的電容大小。

7.“I/O”口P4

“I/O”口P4的地址為D8H,是一個4位多功能可編程“I/O”口。每個引腳都可以通過軟件來單獨設置。“I/O”口P4有4種工作方式。

● 模式0:P4.0~P4.3是與P1口功能相同的雙向“I/O”口。如果外部中斷使能,P4.2、P4.3復用為輸入口。

● 模式1:P4.0~P4.3是在指定地址單元處與信號同步的讀信號。這些信號可用做外部設備的片選信號。

● 模式2:P4.0~P4.3是在指定地址單元處與信號同步的讀信號。這些信號可用做外部設備的片選信號。

● 模式3:P4.0~P4.3是在指定地址單元處與信號同步的讀、寫信號。這些信號可用做外部設備的片選信號。

當P4口設置為片選信號時,片選信號地址根據“SFR P4xAH”,“4xAL”,“P4CONA”和“P4CONB”的內容安排。寄存器“P4xAH”和“P4xAL”包含16位基本地址。寄存器“P4CONA”和“P4CONB”為P4口工作模式的控制位。

8.中斷源

如表1-2所示,傳統“8051”的中斷系統有5個獨立的中斷源,即兩個外部中斷申請,兩個定時器/計數器中斷以及一個串口中斷。“W78E516B”芯片新增了三個中斷:定時器/計數器2中斷,外部中斷2、3。兩個附加的外部中斷,與標準的“80C52”中的外部中斷0和1的功能相似。這些中斷的功能/狀態由“XICON”(外部中斷控制)寄存器中的設置位表示。

表1-2 8個中斷源

“W78E516B”芯片40引腳的雙列直插封裝(DIP40)沒有外部中斷2、3。讀者可以參見廠家提供的相關的芯片資料。

1.2.5 時序波形圖

芯片的時序分析比較有難度,但對于一個硬件工程師來說,時序分析是必須了解和掌握的。在下面的介紹中針對“W78E516B”芯片資料提供的時序波形圖,詳細講解MCS-51芯片的時序,希望讀者好好閱讀這部分內容,在以后的電子設計中,你將受益匪淺。

1.晶振輸入波形

如圖1-4所示為“XTAL1”引腳輸入的晶振振蕩信號時序。“TCP”為振蕩信號周期,一般大于20ns。“TCH”為振蕩信號高電平持續時間,“TCL”為振蕩信號低電平持續時間。晶振輸入波形參數如表1-3所示。

圖1-4 晶振輸入波形

表1-3 晶振輸入波形參數

注釋:1.時鐘在任一狀態都可以停止。

2.TCP規格用做其他規格的基準。

3.“XTAL1”的輸入對占空比沒有要求。

本處提到的“振蕩周期TCP”概念,在芯片資料中為“時鐘周期”,本書為了與單片機概念統一,把晶振周期稱為振蕩周期,兩個振蕩周期構成一個時鐘周期。

補充知識點

機器周期:一個機器周期由6個時鐘周期組成(6個狀態,S1-S6),每個時鐘周期有兩個振蕩周期(P1和P2),共包含12個振蕩周期(12個節拍),依次表示為“S1P1”、“S1P2”、“S2P1”、“S2P2”、…、“S6P1”和“S6P2”。詳細內容可見第3章。

2.外部程序讀取周期

在外部存儲器取指令期間,P0口(PORT0)和P2口(PORT2)總共16根“I/O”線輸出地址碼。其中P0口作為分時復用地址/數據總線使用。外部存儲器讀取周期為一個機器周期,時序圖如圖1-5所示,圖中各參數詳見表1-4所示。

表1-4 外部程序讀取周期參數

注釋:1.在整個存儲器存取周期,P0.0~P0.7, P2.0~P2.7保持穩定;

2.存儲器訪問時間為3Tcp;

3.內部數據鎖定先于變為高電平;

4.“△”為20ns(由于緩沖器驅動延遲和線載延遲(wire loading)。

圖1-5 外部程序讀取周期時序圖

時序說明如下:

● P0口作為地址信號線輸出線,用于輸出程序存儲器的低8位地址A0-A7。P2口用于輸出程序存儲器的高8位地址A8-A15。P2口具有鎖存功能。P0口還分時復用位8位地址線,需要用“ALE”鎖存信號把P0口輸出的低8位地址鎖存起來。

● “ALE”是地址鎖存信號,該信號每有效一次就能對存儲器進行一次讀指令操作?!癆LE”信號以振蕩脈沖六分之一的頻率出現。因此,在一個機器周期中(包含12個振蕩周期),“ALE”信號兩次有效。第一次在“S1P2”和“S2P1”期間,第二次在“S4P2”和“S5P1”期間。有效電平持續時間為一個時鐘周期。

● 當“ALE”信號由高變低時,把P0端口的低8位地址選通進入地址鎖存器,然后P0口變成浮置狀態等待程序存儲器讀出指令碼。P2口輸出程序計數器中的高8位地址。

● 外部程序存儲器讀取指令時,除ALE外,還需要“PSEN”信號,用于片外程序存儲器的選通。該信號從“S3P1”開始有效,片外程序存儲器選通?!癝4P1”時,按PC值讀出的指令出現在數據總線P0上,CPU在的上升沿前將指令讀入,并寄存到指令寄存器“IR”中。即完成一次讀指令操作。從“S4P2”開始第二次讀指令操作。

可以看到,在訪問外部程序存儲器的一個周期時序中,“ALE”信號和PSEN信號兩次有效,這表示在一個機器周期中,允許單片機兩次訪問外部程序存儲器,即取出兩個指令字節。對于單字節指令,由于程序計數計數器“PC”沒有加1,讀出的是同一條指令,第二次讀出的指令無效。

本時序波形圖主要是針對擴展程序存儲器的。當片內ROM不夠時,就需要擴展片外程序存儲器。在工程項目中采用的這款芯片片內有64KB的ROM,足夠滿足工程的應用了,所以沒有進行程序存儲器的擴展,其引腳懸空。

3.外部數據讀周期

外部數據讀時序由兩個機器周期組成,第一個周期為取指令周期,第二個周期為讀數據周期。從第二個機器周期的“S1P1”開始,讀信號變為有效,選通片外RAM,進行RAM的讀操作。在S2期間,被尋址的RAM單元把有效數據送入P0口,在信號的上升沿前,數據被讀入單片機。時序圖如圖1-6 所示,外部數據讀周期參數詳見表1-5所示。

表1-5 外部數據讀周期參數

注釋:數據存儲訪問時間為8 TCP;

“△”為20ns(由于緩沖器驅動延遲和線載延遲)。

數據的讀取只使用控制線而不用,正是因為如此,數據存儲器與程序存儲器地址可以完全重疊,均為“0000H-FFFFH”。

圖1-6 外部數據讀周期時序圖

從時序圖可以看到,在執行外部數據讀“MOVX”指令時,“ALE”信號不是固定頻率的信號,不適合作為時鐘脈沖。

4.外部數據寫周期

外部數據寫時序與外部數據讀時序相似,也是由兩個機器周期組成。第一個周期為取指令周期,第二個周期為寫周期。寫的過程是CPU先向P0口總線傳送低8位地址,然后在第一個機器周期的S6狀態將數據傳送到P0口。第二個機器周期的“S2P1”開始,寫信號變為有效,選通片外RAM,對外部RAM進行寫操作。在信號的上升沿前,P0口上的8位數據就寫入尋址地址單元。時序圖如圖1-7所示,圖中各參數詳見表1-6所示。

表1-6 外部數據寫周期參數

注釋:“△”為20ns(由于緩沖器驅動延遲和線載延遲)。

圖1-7 外部數據寫周期時序圖

5.端口訪問周期

為方便起見,端口的訪問時序以“ALE”為參考。在“S5P2”時,讀數據。輸出的數據在“S6P2”結束時才有效。端口訪問周期時序圖如圖1-8所示,端口訪問周期參數詳見表1-7所示。

表1-7 端口訪問周期參數

圖1-8 端口訪問周期時序圖

6.復位

外部“RESET”信號在機器周期“S5P2”期間被采樣。為使復位有效,在振蕩器運行時,復位信號至少要保持兩個機器周期的高電平。在復位期間,端口地址被初始化為FFH,堆棧指針為07H,“PCON”為00H(“PCON.4”特殊,復位時不對其進行清零),除“SBUF”之外的所有“SFR”寄存器為00H,“SBUF”不被復位。

當“W78E516B”應用一個外部RC網絡構成復位電路時,復位引腳的內部觸發電路用來防止尖峰脈沖。

1.2.6 電氣特性

如表1-8所示為芯片的直流電源電壓、輸入電壓以及工作溫度、存儲溫度的最大絕對額定值。這幾個參數很重要,若超出最大絕對額定值使用時,會對器件的可靠性和壽命造成嚴重損害。

表1-8 最大絕對額定值表

芯片資料中還包括DC特性、典型應用電路等內容。這些內容對于電路設計也很有參考價值,在使用時要仔細閱讀。

當然,這部分只是概要地講解了單片機的內部結構和基本原理。在本書的后續章節,將會對各部分進行更詳細的分析。

主站蜘蛛池模板: 泾源县| 株洲市| 长子县| 三江| 东明县| 宜兰市| 新乡县| 达日县| 新宾| 马鞍山市| 龙井市| 平潭县| 兰西县| 临颍县| 靖安县| 靖安县| 黄骅市| 玉树县| 麻栗坡县| 柘城县| 福安市| 合水县| 天长市| 灵宝市| 江永县| 抚顺县| 遂平县| 武山县| 兰溪市| 宁南县| 淄博市| 冀州市| 佛山市| 科技| 泸溪县| 寻甸| 错那县| 衡水市| 庄浪县| 乌兰县| 城步|