好,下面我們開始學習了!請大家認真看!
一、什么是單片機呢?
1、和我們的計算機(電腦)差不多,大家都知道,我們的計算機(電腦)里面有
(1)CPU
(2)硬盤
(3)內存
(4)主板
(5)等等。
這些東西是裝在一個叫主機的里面的。好大!一個CPU大概要400塊,硬盤也要500左右,內存200左右,主板500左右,這些東西加在一起大概要1600塊左右。如果配上其他的,一臺電腦要3000到4000左右吧。
2、但是把這些東西(CPU,硬盤,內存,主板等等)用集成塊做好后,如下圖所視:
此主題相關圖片如下:89c51.jpg
就成了我們要學習的“單片機”了。
3、請大家想想看這個集成塊值多少錢?它可是具備了計算機的功能啊。是不是很貴啊?
不,價格并不高,從幾元人民幣到幾十元人民幣,體積也不大,一般用40腳封裝,當然功能多一些單片機也有引腳比較多的,如68引腳,功能少的只有10多個或20多個引腳,有的甚至只8只引腳。
4、當然,在單片機機內部,CPU,硬盤,內存,主板等等東西要改個名字了。
(1)CPU,它的名字沒有改,還是叫CPU(Central Processing Unit)。它是單片機的核心部件,包括運算器和控制器。運算器既是算術邏輯單元ALU(Arithmetic logic Unit),其功能是進行算術運算和邏輯運算。控制器一般由指令寄存器、指令譯碼器、時序電路和控制電路組成。起作用是完成取指令、將指令譯碼形成各種微操作并執行指令,同時控制計算機的各個部件有條不紊地工作。
(2)“硬盤”,改了名字,叫程序存儲器,也叫只讀存儲器。用ROM(Read only memery)表示。其作用和硬盤差不多,用來存放用戶程序。特點是:掉電后不會丟失數據。
(3)“內存”,也改了名字,在單片機里叫數據存儲器,也叫隨機存儲器。用RAM(Random Access Memery)表示。其作用是用于存放運算的中間結果,數據暫村和緩沖,標志位等。特點是:掉電后會丟失數據。
(4)“主板”,也改了名字,叫做I/O(輸入輸出設備)當然也包含了串行口,并行口,定時器,記時器等等。
5、以上談到的這些東西都在哪個集成塊里面。我們把集成了這些東西的集成塊叫做單片機。有些外國人叫微控制單元MCU(Micro Controller Unit),也有人叫嵌入式控制器(Embedded Controller)。現在明白了什么是單片機嗎?
6、我總結一下:將CPU、程序存儲器、數據存儲器、I/O接口電路、定時器/計數器等計算機部件集成在一塊芯片上,具有獨特功能的單片微型計算機稱著單片機。現在總明白了什么是單片機吧!
請大家用自己的話闡述一遍什么是單片機??
二、當我們明白了什么是單片機后,再來猜猜一般的單片機的價格吧?
(1)Intel公司1980年推出的標準MCS-51內核8051現在要7到10塊錢。
(2)Atmel公司的AT89c51,AT89s51,AT89c52,AT89s52一般在7塊錢左右。
三、我想大家會想一個“電腦”竟然是10塊錢以內?功能怎么樣?有什么用啊?
我可以告訴大家,它的功能很強大,是以后電子產品的發展方向。只要具有了智能的電子產品,就少不了彈片機技術。非常有用,就業前景非常之好。那么大家一定很想學了,于是去買了本書看。
哈哈,看不懂吧,感覺好難吧?那是因為你沒有掌握好學習單片機的方法。學單片機光看書是不夠的,也是學不會的。學單片機是需要一些條件的了!
下面是學習單片機需要的條件.
隨著社會的發展,電子行業出現了新的技術之一單片機技術,單片機技術在各行各業都得到了廣泛的應用,如果說學電子的人不學單片機技術就像我們讀書不讀外語一樣,被人認為是老土啊。
所以我們學電子的一定要學單片機技術。那么如何學習這門技術呢?到底是難還是容易呢?這就要看你的學習方法了。
如果你閉門造車試的學習方法,肯定很難學好的。我根據我這幾年的教學經驗,我總結出了學單片機的相關教學方法,現在我將把我的教學過程寫出來。 學單片機第一步是:建立自己的學習條件。
四、學習單片機需要什么條件?
(1)一臺電腦——用于編程和學習。(3000到4000塊錢)
(2)編程器——用于把編寫好的程序寫到芯片中。(100到1000快錢)
(3)仿真器——主要是為了調試程序的正確性。(1000到2000塊錢)
(4)如果沒有編程器和仿真器,也可以買個便宜的單片機實驗板。可以購買本站的AE系統。它集合了編程器和仿真器的所有功能。推薦買單片機實驗板!
(5)還要多買幾塊單片機芯片,如:AT89C51,AT89S51,AT89S52等等。
五、有了這些東西,如果你已經學了一點單片機知識的話,就可以做搞開發了。
下面我來談談單片機開發的過程,以做流水燈為例進行講解。
(1)設計好硬件電路圖
按下圖把單片機的各個腳和元器件連接起來:
(2)在電腦上用軟件(如keil c51)編寫程序。
ORG 0000H
LJMP START
ORG 0030H
START:MOV A,#0FEH
LOOP:MOV P1,A
LCALL DELAY
RL A
LJMP LOOP
DELAY:MOV R7,#0FFH
D1:MOV R6,#0FFH
D2:DJNZ R6,D2
DJNZ R7,D1
RET
END
注意:現在你還沒有必要把這個程序看懂,只要知道上面的是計算機程序,而不是英文就可以了。以后我們會一步一步的學這個程序的每個字的意義,直到你自己會編寫為止!
(3)用編程器或者單片機實驗板把程序從電腦中輸入到單片機芯片中(詳細步驟以后學)
(4)接上電源,流水燈工作。
六、好,如何快速入門單片機就寫到這里,相信大家對單片機有了一定的了解
]]>1.始于微型機時代的嵌入式應用
電子數字計算機誕生于1946年,在其后漫長的歷史進程中,計算機始終是供養在特殊的機房中,實現數值計算的大型昂貴設備。直到20世紀70年代,微處理器的出現,計算機才出現了歷史性的變化。以微處理器為核心的微型計算機以其小型、價廉、高可靠性特點,迅速走出機房;基于高速數值解算能力的微型機,表現出的智能化水平引起了控制專業人士的興趣,要求將微型機嵌入到一個對象體系中,實現對象體系的智能化控制。例如,將微型計算機經電氣加固、機械加固,并配置各種外圍接口電路,安裝到大型艦船中構成自動駕駛儀或輪機狀態監測系統。這樣一來,計算機便失去了原來的形態與通用的計算機功能。為了區別于原有的通用計算機系統,把嵌入到對象體系中,實現對象體系智能化控制的計算機,稱作嵌入式計算機系統。因此,嵌入式系統誕生于微型機時代,嵌入式系統的嵌入性本質是將一個計算機嵌入到一個對象體系中去,這些是理解嵌入式系統的基本出發點。
2.現代計算機技術的兩大分支
由于嵌入式計算機系統要嵌入到對象體系中,實現的是對象的智能化控制,因此,它有著與通用計算機系統完全不同的技術要求與技術發展方向。通用計算機系統的技術要求是高速、海量的數值計算;技術發展方向是總線速度的無限提升,存儲容量的無限擴大。而嵌入式計算機系統的技術要求則是對象的智能化控制能力;技術發展方向是與對象系統密切相關的嵌入性能、控制能力與控制的可靠性。
早期,人們勉為其難地將通用計算機系統進行改裝,在大型設備中實現嵌入式應用。然而,對于眾多的對象系統(如家用電器、儀器儀表、工控單元……),無法嵌入通用計算機系統,況且嵌入式系統與通用計算機系統的技術發展方向完全不同,因此,必須獨立地發展通用計算機系統與嵌入式計算機系統,這就形成了現代計算機技術發展的兩大分支。
如果說微型機的出現,使計算機進入到現代計算機發展階段,那么嵌入式計算機系統的誕生,則標志了計算機進入了通用計算機系統與嵌入式計算機系統兩大分支并行發展時代,從而導致20世紀末,計算機的高速發展時期。
3.兩大分支發展的里程碑事件
通用計算機系統與嵌入式計算機系統的專業化分工發展,導致20世紀末、21世紀初,計算機技術的飛速發展。計算機專業領域集中精力發展通用計算機系統的軟、硬件技術,不必兼顧嵌入式應用要求,通用微處理器迅速從286、386、486到奔騰系列;操作系統則迅速擴張計算機基于高速海量的數據文件處理能力,使通用計算機系統進入到盡善盡美階段。
嵌入式計算機系統則走上了一條完全不同的道路,這條獨立發展的道路就是單芯片化道路。它動員了原有的傳統電子系統領域的廠家與專業人士,接過起源于計算機領域的嵌入式系統,承擔起發展與普及嵌入式系統的歷史任務,迅速地將傳統的電子系統發展到智能化的現代電子系統時代。
因此,現代計算機技術發展的兩大分支的里程碑意義在于:它不僅形成了計算機發展的專業化分工,而且將發展計算機技術的任務擴展到傳統的電子系統領域,使計算機成為進入人類社會全面智能化時代的有力工具。
二、嵌入式系統的定義與特點
如果我們了解了嵌入式(計算機)系統的由來與發展,對嵌入式系統就不會產生過多的誤解,而能歷史地、本質地、普遍適用地定義嵌入式系統。
1.嵌入式系統的定義
按照歷史性、本質性、普遍性要求,嵌入式系統應定義為:“嵌入到對象體系中的專用計算機系統”。“嵌入性”、“專用性”與“計算機系統”是嵌入式系統的三個基本要素。對象系統則是指嵌入式系統所嵌入的宿主系統。
2.嵌入式系統的特點
嵌入式系統的特點與定義不同,它是由定義中的三個基本要素衍生出來的。不同的嵌入式系統其特點會有所差異。與“嵌入性”的相關特點:由于是嵌入到對象系統中,必須滿足對象系統的環境要求,如物理環境(小型)、電氣/氣氛環境(可靠)、成本(價廉)等要求。與“專用性”的相關特點:軟、硬件的裁剪性;滿足對象要求的最小軟、硬件配置等。與“計算機系統”的相關特點:嵌入式系統必須是能滿足對象系統控制要求的計算機系統。與上兩個特點相呼應,這樣的計算機必須配置有與對象系統相適應的接口電路。
另外,在理解嵌入式系統定義時,不要與嵌入式設備相混淆。嵌入式設備是指內部有嵌入式系統的產品、設備,例如,內含單片機的家用電器、儀器儀表、工控單元、機器人、手機、PDA等。
3.嵌入式系統的種類與發展
按照上述嵌入式系統的定義,只要滿足定義中三要素的計算機系統,都可稱為嵌入式系統。嵌入式系統按形態可分為設備級(工控機)、板級(單板、模塊)、芯片級(MCU、SoC)。
有些人把嵌入式處理器當作嵌入式系統,但由于嵌入式系統是一個嵌入式計算機系統,因此,只有將嵌入式處理器構成一個計算機系統,并作為嵌入式應用時,這樣的計算機系統才可稱作嵌入式系統。
嵌入式系統與對象系統密切相關,其主要技術發展方向是滿足嵌入式應用要求,不斷擴展對象系統要求的外圍電路(如ADC、DAC、PWM、日歷時鐘、電源監測、程序運行監測電路等),形成滿足對象系統要求的應用系統。因此,嵌入式系統作為一個專用計算機系統,要不斷向計算機應用系統發展。因此,可以把定義中的專用計算機系統引伸成,滿足對象系統要求的計算機應用系統。
三、嵌入式系統的獨立發展道路
1.單片機開創了嵌入式系統獨立發展道路
嵌入式系統雖然起源于微型計算機時代,然而,微型計算機的體積、價位、可靠性都無法滿足廣大對象系統的嵌入式應用要求,因此,嵌入式系統必須走獨立發展道路。這條道路就是芯片化道路。將計算機做在一個芯片上,從而開創了嵌入式系統獨立發展的單片機時代。
在探索單片機的發展道路時,有過兩種模式,即“∑模式”與“創新模式”。“∑模式”本質上是通用計算機直接芯片化的模式,它將通用計算機系統中的基本單元進行裁剪后,集成在一個芯片上,構成單片微型計算機;“創新模式”則完全按嵌入式應用要求設計全新的,滿足嵌入式應用要求的體系結構、微處理器、指令系統、總線方式、管理模式等。Intel公司的MCS-48、MCS-51就是按照創新模式發展起來的單片形態的嵌入式系統(單片微型計算機)。MCS-51是在MCS-48探索基礎上,進行全面完善的嵌入式系統。歷史證明,“創新模式”是嵌入式系統獨立發展的正確道路,MCS-51的體系結構也因此成為單片嵌入式系統的典型結構體系。
2.單片機的技術發展史
單片機誕生于20世紀70年代末,經歷了SCM、MCU、SoC三大階段。
1.SCM即單片微型計算機(Single Chip Microcomputer)階段,主要是尋求最佳的單片形態嵌入式系統的最佳體系結構。“創新模式”獲得成功,奠定了SCM與通用計算機完全不同的發展道路。在開創嵌入式系統獨立發展道路上,Intel公司功不可沒。
2.MCU即微控制器(Micro Controller Unit)階段,主要的技術發展方向是:不斷擴展滿足嵌入式應用時,對象系統要求的各種外圍電路與接口電路,突顯其對象的智能化控制能力。它所涉及的領域都與對象系統相關,因此,發展MCU的重任不可避免地落在電氣、電子技術廠家。從這一角度來看,Intel逐漸淡出MCU的發展也有其客觀因素。在發展MCU方面,最著名的廠家當數Philips公司。
Philips公司以其在嵌入式應用方面的巨大優勢,將MCS-51從單片微型計算機迅速發展到微控制器。因此,當我們回顧嵌入式系統發展道路時,不要忘記Intel和Philips的歷史功績。
3.單片機是嵌入式系統的獨立發展之路,向MCU階段發展的重要因素,就是尋求應用系統在芯片上的最大化解決;因此,專用單片機的發展自然形成了SoC化趨勢。隨著微電子技術、IC設計、EDA工具的發展,基于SoC的單片機應用系統設計會有較大的發展。因此,對單片機的理解可以從單片微型計算機、單片微控制器延伸到單片應用系統。
四、嵌入式系統的兩種應用模式
嵌入式系統的嵌入式應用特點,決定了它的多學科交叉特點。作為計算機的內含,要求計算機領域人員介入其體系結構、軟件技術、工程應用方面的研究。然而,了解對象系統的控制要求,實現系統控制模式必須具備對象領域的專業知識。因此,從嵌入式系統發展的歷史過程,以及嵌入式應用的多樣性中,可以了解到客觀上形成的兩種應用模式。
1.客觀存在的兩種應用模式
嵌入式計算機系統起源于微型機時代,但很快就進入到獨立發展的單片機時代。在單片機時代,嵌入式系統以器件形態迅速進入到傳統電子技術領域中,以電子技術應用工程師為主體,實現傳統電子系統的智能化,而計算機專業隊伍并沒有真正進入單片機應用領域。因此,電子技術應用工程師以自己習慣性的電子技術應用模式,從事單片機的應用開發。這種應用模式最重要的特點是:軟、硬件的底層性和隨意性;對象系統專業技術的密切相關性;缺少計算機工程設計方法。
雖然在單片機時代,計算機專業淡出了嵌入式系統領域,但隨著后PC時代的到來,網絡、通信技術得以發展;同時,嵌入式系統軟、硬件技術有了很大的提升,為計算機專業人士介入嵌入式系統應用開辟了廣闊天地。計算機專業人士的介入,形成的計算機應用模式帶有明顯的計算機的工程應用特點,即基于嵌入式系統軟、硬件平臺,以網絡、通信為主的非嵌入式底層應用。
2.兩種應用模式的并存與互補
由于嵌入式系統最大、最廣、最底層的應用是傳統電子技術領域的智能化改造,因此,以通曉對象專業的電子技術隊伍為主,用最少的嵌入式系統軟、硬件開銷,以8位機為主,帶有濃重的電子系統設計色彩的電子系統應用模式會長期存在下去。
另外,計算機專業人士會愈來愈多地介入嵌入式系統應用,但囿于對象專業知識的隔閡,其應用領域會集中在網絡、通信、多媒體、商務電子等方面,不可能替代原來電子工程師在控制、儀器儀表、機械電子等方面的嵌入式應用。因此,客觀存在的兩種應用模式會長期并存下去,在不同的領域中相互補充。電子系統設計模式應從計算機應用設計模式中,學習計算機工程方法和嵌入式系統軟件技術;計算機應用設計模式應從電子系統設計模式中,了解嵌入式系統應用的電路系統特性、基本的外圍電路設計方法和對象系統的基本要求等。
3.嵌入式系統應用的高低端
由于嵌入式系統有過很長的一段單片機的獨立發展道路,大多是基于8位單片機,實現最底層的嵌入式系統應用,帶有明顯的電子系統設計模式特點。大多數從事單片機應用開發人員,都是對象系統領域中的電子系統工程師,加之單片機的出現,立即脫離了計算機專業領域,以“智能化”器件身份進入電子系統領域,沒有帶入“嵌入式系統”概念。因此,不少從事單片機應用的人,不了解單片機與嵌入式系統的關系,在談到“嵌入式系統”領域時,往往理解成計算機專業領域的,基于32位嵌入式處理器,從事網絡、通信、多媒體等的應用。這樣,“單片機”與“嵌入式系統”形成了嵌入式系統中常見的兩個獨立的名詞。但由于“單片機”是典型的、獨立發展起來的嵌入式系統,從學科建設的角度出發,應該把它統一成“嵌入式系統”。考慮到原來單片機的電子系統底層應用特點,可以把嵌入式系統應用分成高端與低端,把原來的單片機應用理解成嵌入式系統的低端應用,含義為它的底層性以及與對象系統的緊耦合
前一段時間,看到實驗室有個學弟設計了一個電路,其中還有一個鍵盤電路,取其原理是這樣子的:
據這位師弟的意思是:在沒有按下按鍵的時候,端口上是低電平,按下按鍵的時候端口上接上了高電平.
事實上,電路是不工作的.
問題比較多:
首先,將電源直接接到端口上是絕對不可以的.當按下按鍵的時候,會有很大的電流進入單片機.在工程上,這種往往應該加限流電阻的.一般選擇1K的就可以.如果選擇太大的電阻也不好,因為電阻上面壓降太大,造成輸入比應有的高電平低,造成錯誤.
其次,就算加了限流,這個電路也是不能工作的.檢查AT89C51的DataSheet就會發現.技術手冊中說:P0口是沒有上拉電阻的端口;P1,P2,P3口帶有上拉電阻.問題就出在這里,什么是上拉電阻,來看看圖:
上面這個圖,是紅外線接收的電路圖,看上面的這個電阻,就是上拉電阻.我們可以試圖理解一下51單片機P2口的這個上拉電阻為這種形式:
其中的R就是上拉電阻.如果像我的那個師弟那樣設計電路,電路就成了以下這種形式了:
看,從這個電路上,我們可以清晰的看出,不管你按鍵是否按下,IO端口上都是高電平.問題就在這里,我讓我的這個師弟測測IO端口的電平在按下按鍵前后的變化,結果果然不出所料:不管他是否按下按鍵,都是高電平!!
從這里我們可以看出:DataSheet還是有用的,在設計的時候,有很多細節,需要注意,否則,可能功虧一簣.
]]> 這與我們在源文件中定義函數時有點類似。不同的是,在其前面添加了extern 修飾符表明其是一個外部函數,可以被外部其它模塊進行調用。
#ifndef _LCD_H_
#define _LCD_H_
#endif
這個幾條條件編譯和宏定義是為了防止重復包含。假如有兩個不同源文件需要調用LcdPutChar(char cNewValue)這個函數,他們分別都通過#include “Lcd.h”把這個頭文件包含了進去。在第一個源文件進行編譯時候,由于沒有定義過 _LCD_H_ 因此 #ifndef _LCD_H_ 條件成立,于是定義_LCD_H_ 并將下面的聲明包含進去。在第二個文件編譯時候,由于第一個文件包含時候,已經將_LCD_H_定義過了。因此#ifndef _LCD_H_ 不成立,整個頭文件內容就沒有被包含。假設沒有這樣的條件編譯語句,那么兩個文件都包含了extern LcdPutChar(char cNewValue) ; 就會引起重復包含的錯誤。
不得不說的typedef
很多朋友似乎了習慣程序中利用如下語句來對數據類型進行定義
#define uint unsigned int
#define uchar unsigned char
然后在定義變量的時候 直接這樣使用
uint g_nTimeCounter = 0 ;
不可否認,這樣確實很方便,而且對于移植起來也有一定的方便性。但是考慮下面這種情況你還會 這么認為嗎?
#define PINT unsigned int * //定義unsigned int 指針類型
PINT g_npTimeCounter, g_npTimeState ;
那么你到底是定義了兩個unsigned int 型的指針變量,還是一個指針變量,一個整形變量呢?而你的初衷又是什么呢,想定義兩個unsigned int 型的指針變量嗎?如果是這樣,那么估計過不久就會到處抓狂找錯誤了。
慶幸的是C語言已經為我們考慮到了這一點。typedef 正是為此而生。為了給變量起一個別名我們可以用如下的語句
typedef unsigned int uint16 ; //給指向無符號整形變量起一個別名 uint16
typedef unsigned int * puint16 ; //給指向無符號整形變量指針起一個別名 puint16
在我們定義變量時候便可以這樣定義了:
uint16 g_nTimeCounter = 0 ; //定義一個無符號的整形變量
puint16 g_npTimeCounter ; //定義一個無符號的整形變量的指針
在我們使用51單片機的C語言編程的時候,整形變量的范圍是16位,而在基于32的微處理下的整形變量是32位。倘若我們在8位單片機下編寫的一些代碼想要移植到32位的處理器上,那么很可能我們就需要在源文件中到處修改變量的類型定義。這是一件龐大的工作,為了考慮程序的可移植性,在一開始,我們就應該養成良好的習慣,用變量的別名進行定義。
如在8位單片機的平臺下,有如下一個變量定義
uint16 g_nTimeCounter = 0 ;
如果移植32單片機的平臺下,想要其的范圍依舊為16位。
可以直接修改uint16 的定義,即
typedef unsigned short int uint16 ;
這樣就可以了,而不需要到源文件處處尋找并修改。
將常用的數據類型全部采用此種方法定義,形成一個頭文件,便于我們以后編程直接調用。
文件名 MacroAndConst.h
其內容如下:
#ifndef _MACRO_AND_CONST_H_
#define _MACRO_AND_CONST_H_
typedef unsigned int uint16;
typedef unsigned int UINT;
typedef unsigned int uint;
typedef unsigned int UINT16;
typedef unsigned int WORD;
typedef unsigned int word;
typedef int int16;
typedef int INT16;
typedef unsigned long uint32;
typedef unsigned long UINT32;
typedef unsigned long DWORD;
typedef unsigned long dword;
typedef long int32;
typedef long INT32;
typedef signed char int8;
typedef signed char INT8;
typedef unsigned char byte;
typedef unsigned char BYTE;
typedef unsigned char uchar;
typedef unsigned char UINT8;
typedef unsigned char uint8;
typedef unsigned char BOOL;
#endif
至此,似乎我們對于源文件和頭文件的分工以及模塊化編程有那么一點概念了。那么讓我們趁熱打鐵,將上一章的我們編寫的LED閃爍函數進行模塊劃分并重新組織進行編譯。
在上一章中我們主要完成的功能是P0口所驅動的LED以1Hz的頻率閃爍。其中用到了定時器,以及LED驅動模塊。因而我們可以簡單的將整個工程分成三個模塊,定時器模塊,LED模塊,以及主函數
對應的文件關系如下
main.c
Timer.c --?Timer.h
Led.c --?Led.h
在開始重新編寫我們的程序之前,先給大家講一下如何在KEIL中建立工程模板吧,這個模板是我一直沿用至今。希望能夠給大家一點啟發。
下面的內容就主要以圖片為主了。同時輔以少量文字說明。
我們以芯片AT89S52為例。
此外,飛思卡爾憑借其獲獎的SMARTMOS技術位于模擬、混合信號和電源產品中的技術領先地位。飛思卡爾的SMARTMOS技術把高密度、高速邏輯電路與精確的模擬、高電壓和高電流功率電路相結合。這種技術和器件的結合優勢能夠使飛思卡爾推出高性能的模擬和混合信號產品,這些產品的制造可提供可靠、有效和經濟高效的解決方案,以適應電源管理市場。
芯片的集成度是其性能和價值的重要表現之一。為了進一步增強在模擬市場上的競爭力,飛思卡爾的SMARTMOS技術可以將高密集度、高速邏輯和精密模擬、高電壓高電流的電源電路集成在一個芯片上。這種“智能集成”可以幫助開發出高度靈活的模擬產品,降低成本,減少設備空間和系統設計復雜性。飛思卡爾擁有業內最廣泛的8位微控制器系列產品,該產品與電源管理集成電路一起形成封裝級的解決方案和單一芯片專用半導體產品(ASSP)。
飛思卡爾利用先進的模擬技術和在汽車和手機市場上的成功經驗,正在擴充其模擬產品系列,滿足高速增長的新興市場和電子消費品應用的需求。為了充分利用這些機會,飛思卡爾正在重點推進的技術研發工作包括:數碼相機的馬達控制和電源管理,普通及特殊應用DC-DC轉換器,液晶顯示的LED(發光二極管)背光和電源管理,采用鋰離子電池供電的器件的電源管理解決方案,便攜式媒體播放器的電源管理,數據密集型計算、聯網和海量存儲應用的電源管理,聯網應用中的以太網供電(PoE)產品。
由此可以看出,飛思卡爾在模擬產品開發、流程技術和設計資源方面正在進行戰略性投資,希望抓住模擬市場迅速發展的這一機會。
飛思卡爾在下一代SMARTMOS技術上也進行了大量投資,并正在利用該技術將數字、模擬和電源管理電路結合到面向電子消費品市場的高度集成且極具市場競爭力的解決方案中。
安森美半導體亞太區電源管理部市場推廣經理蔣家亮
電源管理芯片供應商應體現獨特價值
隨著電源管理電路的密度變得越來越小而性能變得越來越高,如果外部元件太多,則不能支持更多功能。例如,為了實現良好的待機性能,可能需要集成一定數量的運算放大器和比較器來使脈寬調制(PWM)操作轉變至跳周期工作模式。這就是為什么高集成度也是電源管理應用發展趨勢的原因。另外一個觀點是電源管理IC的成本。特別是在本世紀最初的這10年,電源管理技術的演進極具挑戰性,每家半導體公司都積極努力地開發高性價比而內部功能未被犧牲的電源管理IC。因此,我們可以想象出電源管理應用的技術演進將是朝高性價比和高性能方向發展。
從市場角度而言,電源管理芯片的設計人員應當了解市場演變趨勢、有關能效的國際標準以及重要客戶的專有規范及其背后的設計哲學(形狀、適應性和功能等),從而滿足特定應用要求,例如美國蘋果公司就對產品訂立了嚴苛的規范要求。從技術角度而言,設計人員應當設計高密度的IC技術、高能效的電路模塊等,同時不損及IC對環境噪聲的免疫性能。
線性電源是一種比較簡單的電源轉換器,將高輸入電壓轉換為低輸出電壓,而輸入電流等于輸出電流。線性電源的優勢包括電路簡單、設計簡單直接、噪聲低、IC芯片尺寸小及靜態電流低,其劣勢則包括電源損耗較多、能效較低(僅達35%~50%)、變壓器重量較大、難以應用在需要高能效的大功率或高密度電源中。
與線性電源不同,開關電源或開關穩壓器重復切換“開”和“關”狀態,其能效高、重量輕,但開關電源的設計復雜度高,整體解決方案外形較大,需要導通元件、電感、二極管和電容等,在電磁干擾噪聲、環路穩定性等方面需要仔細處理,適合高能效和高密度電源設計。根據能量存儲元件的不同,開關電容主要包括電感升壓驅動器和電荷泵/開關電容驅動器這兩種類型。
某些新的高能效封裝技術也可能幫助實現更高密度,提高器件性能。例如,QFN(四方無引腳扁平封裝)或DFN(雙側引腳扁平封裝)封裝已經展示出它們在高密度設計方面的應用優勢。這些封裝提供良好的熱性能,使得熱量可以從封裝本身擴散至PCB布線區域,這樣一來,一方面可以保持設計的尺寸最小,另一方面能夠消除體積較大的散熱片。此外,在諸如低壓MOSFET這樣的應用中,新的扁平引線技術能夠在MOSFET上實現體積更小的封裝及更高的密度,與此同時能夠免除使用寄生元件(雜散電感和電容),這將幫助消除某些外部緩沖器電路,從而減少元件數量,實現更高能效。
在半導體產業調整進程中成功的關鍵就是銷售出半導體公司及其技術的獨特價值,如提供成套解決方案以及為客戶提供出色的技術支持等。身為全球領先的電源管理半導體供應商,安森美半導體在為客戶提供成套解決方案及出色客戶服務方面擁有豐富的經驗和突出的優勢。
展望中國電源管理市場未來幾年的發展,我們認為消費電子(如液晶電視和白家電)以及電信等應用領域可為電源管理IC帶來廣闊的發展空間。安森美半導體提供高性能的解決方案,用于這些領域。
美信集成產品公司
新型封裝技術提升LDO性能
不同的系統對電源有不同的要求,為了發揮系統的最佳性能,需要選擇最適合的電源管理方式,比如線性電源、開關電源及電荷泵等。三種電源轉換器中,線性穩壓器的局限性表現在其輸出電壓只能低于輸入電壓;開關電源最為通用,能夠提供升壓、降壓以及極性相反的輸出;電荷泵同樣可提供升壓、降壓、極性相反的輸出,但其輸出電流有限。
線性穩壓器利用一個有源調整元件(雙極型晶體管或MOSFET)將輸入電壓降低至穩定的輸出電壓,其中低壓差線性穩壓器(LDO)在最近幾年的應用已經十分廣泛。壓差指維持輸出穩定所需要的最小電壓差(輸入和輸出之間),壓差在1V以內的調節器稱為LDO,但現在典型的調節器具有100mV至300mV的壓差。線性穩壓器的輸入電流接近于輸出電流,可以用輸出電壓與輸入電壓的比估算它的效率。如果輸出電壓非常接近輸入電壓,線性穩壓器就可提供較高的轉換效率,如果輸入電壓高出輸出電壓很多,或者它在很寬的范圍內變動,就很難獲得比較高的轉換效率。線性穩壓器具有小尺寸、低成本、低噪聲等特點,而且使用非常簡單,因此,在電壓、電流條件適當時應盡可能選用線性穩壓器。除此之外LDO還可作為一道屏障來隔離開關調節器產生的噪聲,這時,LDO的低壓差特性有利于改善電路的總體效率。
與線性穩壓器相比,開關電源占用更大的電路板面積(不考慮線性穩壓的散熱片),成本更高,所產生的噪聲也較大。而在最近幾年開關電源的普及率卻大大提高了,其主要原因是開關電源在不同輸入電壓、不同負載電流條件下能夠提供很高的轉換效率,升壓、降壓型開關電源效率可達96%,當然,降壓型開關電源的轉換效率可能更高一些。用電荷泵同樣可實現上述轉換,但該類芯片所能提供的負載電流有一定的局限性。LDO的主要缺陷是效率較低,特別是為低壓電路供電時效率問題更加突出。由于在新型手機內部集成了PDA功能或上網功能,要求處理器的數據處理能力、運算能力更加強大,為了降低功耗,處理器的核電壓不斷降低,從1.8V降到了0.9V。為了降低電池損耗,要求采用高效的降壓型轉換器為處理器核供電。設計中需要考慮的主要因素有:低成本、小尺寸、高效率、低靜態(待機)電流和快速瞬態響應。為解決上述問題不僅需要豐富的模擬設計經驗,還需要一定的獨創能力。就目前來說,只有少數領先的模擬半導體制造商能夠提供SOT23封裝、具有1MHz以上開關頻率、允許選用微小外部電感和電容元件的降壓轉換器。
當前,很多產品(如手機、數碼相機等)傾向于將電源管理功能集成在單芯片上,用于射頻、功放的LDO和用于LED驅動的DC-DC電源的功能都可以在同一塊PMIC(電源管理集成電路)中得以實現。
多年以來,SOT23封裝的150mALDO是分立電源的最佳選擇。目前,一些IC采用新型封裝、新型亞微米處理工藝和先進的設計方案,能夠以更小的尺寸提供更高的性能。SOT23封裝的LDO可以提供300mA輸出電流或在SOT23封裝內集成兩路150mALDO;尺寸更小的SC70封裝內可以集成120mA的LDO并提供超低噪聲。此外,更為先進的芯片級封裝提供最小的封裝尺寸,而QFN封裝則允許在3mm×3mm面積內裝入最大的晶片尺寸并提供更高的導熱能力。因此,QFN封裝可以集成更高電流的LDO或在每封裝中集成更多數量的LDO,從而縮小了分立方案與PMIC之間的差異。
凌力爾特公司電源產品部產品市場經理TonyArmstrong
集成電源管理功能降低市場風險
線性低壓差穩壓器被認為是形式最簡單的穩壓器,由于其固有DC電壓轉換的原因,它只能把輸入電壓降至一個較低的數值。它最為明顯的缺陷在于其熱管理性能方面,原因是其轉換效率可以被近似為輸出電壓與輸入電壓之比。例如:假設一個可從單節鋰離子電池的3.6V標稱電壓來提供1.8V輸出電壓(在200mA電流條件下)的LDO,用于驅動一個圖像處理器,轉換效率僅為50%,因而在蜂窩電話的內部產生了熱點,并縮短了電池的運行時間。雖然在輸入和輸出電壓相差較大時會出現上述情形,但在該電壓差很小的時候,情況就不是這樣了。例如:當從1.5V降壓至1.2V時,轉換效率將為80%。
線性穩壓器在輸入和輸出之間的差分電壓很高時所存在的所有效率缺陷,開關穩壓器都成功地避開了。通過采用低電阻開關和一個磁性存儲元件,它實現了高達96%的效率,從而大幅度地降低了轉換過程中的功率損耗。通過工作于高開關頻率(>2MHz),可以極大地縮減外部電感器和電容器的外形尺寸。盡管如此,開關穩壓器的缺點卻較少,而且常常可以利用上佳的設計方法予以克服。
線性穩壓器和傳統型開關穩壓器的折中方案是充電泵。當采用充電泵時,外部存儲元件是電容器,而不是電感器。由于沒有電感器,因此將緩解有可能干擾敏感的RF接收器或藍牙芯片組的任何潛在電磁干擾問題。不過,潛在的不足之處是有限的輸入/輸出電壓比和有限的輸出電流能力。
因此,對于設計師而言,是選擇線性穩壓器還是開關穩壓器并不是一件可以簡單決定的事情。要做出這個決定,將不得不考慮諸多的因素,例如噪聲問題、空間約束條件、轉換效率和熱考慮。幸運的是,目前市面上已經有了眾多不同類型的穩壓器,于是,所有設計師必須完成的工作就是根據其獨特的系統約束條件進行抉擇。這些工作是按照常規程序進行的。
許多電源管理芯片廠商所開發的規模龐大且復雜的電源管理IC常常是專為某家單一大客戶而定制的,凌力爾特公司認為,這種方法需要在性能上做出某些讓步,并會由于開發周期漫長而蒙受巨大的商業風險,這樣的策略與我們所服務的瞬息萬變的市場是不相適應的。
凌力爾特采取了一種不同的方法,并開發出了一個新的IC產品線,該產品系列實現了“有意義的集成”,旨在整合電池供電型便攜式設備中所有難以實現的功能。大多數電池供電型手持式產品一般均能夠從一個AC適配器、一根通用串行總線(USB)電纜或單節鋰離子/鋰聚合物電池來供電;然而,對這些電源之間的電源通路控制進行管理卻提出了一項重大的技術挑戰。直到最近,設計師們一直試圖采取“分立”的方式來執行該功能,但其間遇到了有可能引發重大系統問題的熱插拔和大浪涌電流等可怕的難題。
顯然,在大多數電池供電型手持式產品內部存在著共同的特點和功能,可采用實現了“有意義集成”的PMIC,而不會出現因為采用單一晶圓生產工藝來制造IC導致的常見性能折中。凌力爾特公司近期推出了該門類中的下一代產品――― LTC35xx系列,該系列代表了面向這些應用的全新器件性能和功能水平。
TDK(中國)投資有限公司營業促進部經理富田裕文
力求產品小型化以減少耗電
電源電路技術屬于模擬電路技術,其方向性與數字技術不同。數字技術的處理電壓為低電壓,不容易受安全規格等的制約,容易實現集成化;而電源電路的輸入電壓為交流100V~240V,在安全要求方面,由于受到沿面距離(爬電距離)的規定制約和干擾方面的規定限制,難以實現集成化。
另外,電源管理電路成本要求較高,所以多數人并不愿意接受隨意實行集成化的要求。但由于機器小型化的需求絲毫不減,目前已經實現了IC(集成電路)和FET(場效應晶體管)的一體化。從裝配角度而言,作為SMD(表面貼裝)的部件,在鋁電路板上需要裝配部件,用樹脂固型,繞線,電容、半導體、電阻等部件的集成化成了必然的趨勢。
一般說來,為實現小型化,開關電源電路的高頻率化是發展方向,但存在干擾、效率差等難以突破的難題。特別在變壓器必須高頻率化的前提下,在研討電源控制芯片的小型化時,必須和變壓器廠家協商好。
電源電路中使用具有壽命極限的電解電容器。電解電容器容易受熱的影響,需要采用不易受熱源影響的配置。目前正在采用3DCAD(三維計算機輔助設計)和熱模擬器技術,以指導研制出更好的配置,并將其實現產品化。
關于變壓器,TDK公司正在致力于小型化、薄型化的新產品開發。TDK正著手改良磁芯的材質、研討薄型產品構造,改善發熱現象的負面影響,并對產品進行綜合評估,整體推動開發的進程。今后,為了實現開關電源的小型化,越來越需要將熱分析、裝配配置等作為考慮的因素。
TDK擁有鐵氧體這種材料,可實現從材料到生產出變壓器成品。現在,TDK公司正在開發各種用途的鐵氧體材料,針對不同的用途,提供各具特色的產品。特別是在平板電視中使用了諧共振電路,電力浪費較少(低發熱)的磁芯材料有望發揮其應有的功能。公司雖然擁有PC47材質,但為了進一步減少電力損失,正在謀求把傳統的EER35形狀的產品尺寸縮減成EER28L尺寸,以期在小型化方面進一步拉開與其他產品的差距。
隨著變壓器生產發展到自動化繞線階段,產品的特性差異逐步縮小。通過自動化技術,可實現產品的穩定供給,減少了人為因素對品質和成本方面造成的影響。
TDK是針對變壓器的特性要求進行產品設計的,所以構筑起一種體制,就是面對所有顧客都一律確保在較短交貨期內提供設計上達到最佳性能的變壓器產品,并提供設計對應服務和包括電路方面的支援服務體制。
TDK運用本公司的技術力量,開發出了3種與電源相關的新型零部件―――“線性濾波器”、“PFC扼流圈”、“電源用變壓器”(諧振式、回掃式)。傳統電源電路板部件裝配的高度為 25mm~30mm,而將上述產品運用在平板電視的電源電路部位時,其電路板的裝配高度可控制在15mm以下,從而實現了真正意義上的薄型化。
在產品推向市場后,根據反饋信息對產品進行改進調整、升級換代是必不可免的,這也涉及到程序
1.寫程序時,所有資源(IO口、RAM、ROM、堆棧、計數器、中斷……等等)都是可用的,可以無拘束地使用;而改程序時,只能利用原先用剩下的資源。 2.寫程序時,面向全局規劃,可以合理安排各個功能的實現方法;而改程序時,是針對局部,為了避免影響其它部分功能,往往約束較大。 3.大多數人沒有良好的編程習慣,事先不規劃,事后不整理,腳踩西瓜皮,寫到哪里算哪里。待到需要改動時,由于當時一些思路已經忘記了,沒有留下足夠的注釋和說明文檔,就摸不著邊了。 4.由于沒有一個統一的編程規范,如果原先的程序不是自己寫的,那就更糟糕了。光看懂前任的程序就要耗費許多時間;而如果想較大面積地修改它,往往還不如自己重新寫一個來得快些。 5.每次修改程序都是在原來程序的基礎上打補丁,往往會為下一次的修改增加難度。最后,量變引起質變,活活把個好好的程序改爛掉了。 6.……
程序如何才能經歷歲月的考驗,千錘百改,依然生機勃勃。一些不成熟的想法,權當拋磚引玉: 1.程序應該模塊化,便于拆卸或增加。(這已經不算是新鮮觀點了)。 2.使用RAM或IO,必須先定義再使用,避免直接引用。將來需要調整時,只要修改定義部分就好了。 3.相同或類似的程序段應該用子程序來實現,如果受堆棧等資源局限,不能使用子程序,則應該用宏來實現,這樣以后需要改時,只要改一“點”,無須改一“片”。 4.寫程序要有足夠的注釋、說明文檔、流程圖、原理圖。便于以后能夠快速勾起往日的回憶…… 5.每次修改程序,應該同步更新相關的注釋、說明文檔、流程圖、原理圖。免得下次再改時對不上號。 6.應該詳細記錄每次程序修改的細節,形成一份歷史記錄。(強烈推薦這一點) 7.每次改動后的版本都應該保留。而不應該覆蓋原始文件。 8.所有的設計方案應該妥善歸類存檔備份,有條件最好刻成光盤。避免日久年長因病毒或硬盤損壞而丟失。(別笑,真有丟了的。)
|
學習者會掌握的技能有:嵌入式C語言編程,處理器的結構熟悉,養成良好的編程風格,熟練的面向過程編程,熟悉VHDL或者VerilogHDL語言,可編程邏輯設計基本能力等
針對初級學習者,我們在籌劃初期,熱心的ECI、中興通訊的硬件工程師指導下,我們設計了一款專用的單片機+CPLD綜合學習平臺,采用獨特的多總線技術,將單片機和CPLD技術結合起來,其強大功能市場上沒有一款學習板可以比擬。緊接著我們嵌入式團隊針對此開發平臺編寫了200多頁的專用學習教程,其資料之詳細,服務之細密堪稱無微不至。
1.服務方案:
目前組織上經費有限,我們充分利用有限的免費網絡資源,不會向同學們收取任何費用,我們所提供的服務具體如下:
資料:學習資料發放,一方面我們開創一個博客,將學習資料在博客上進行交流和發放。
交流:qq群的形式進行交流,后來如果我們發現更好的網絡資源可以利用的話,可以更好的網絡交流方式。
答疑:對于學習者往往一大堆問題,我們會在每周安排定期的答疑時間,聘請行業專家熱心為我們服務。
課表:ARES嵌入式工作室通過咨詢行業著名培訓專家,制定合理的學習課程表公布給同學們,我們以周為單位,每周會給大家一定的學習任務和資料。合理的學習課表一定能幫助大家盡快地掌握新的知識和增強我們的學習能力!同時對于大多數的學生是一個督促的作用。
2. ARES雄鷹計劃
學習目標:以培養入門開發者達到普通高級開發工程師的水平為目標,學習CPLD和單片機技術為目標,以最快捷的速度掌握市場最新的技術,掌握單片機的指令,接口還有編程技能,熟練掌握CPLD編程技術和應用!掌握單片機和CPLD綜合應用技術!
學習課表:降龍十八掌:
第二招: 51單片機并行I0口;基本匯編程序;KEIL C51
至此,降龍十八掌全部結束,最后一招,降龍有魂,單片機與CPLD之間的通信實驗,掌握單片機CPLD的通信!
以上所有實驗都是針對ARES_MCUCPLD開發平臺設計,配備有專用詳盡的學習教程供大家方便學習.我們的課程資料到時候會定時公布在BLOG上,供大家學習,技術討論放在qq群上,課程一旦開始,我們都會在每周至少兩個晚上在qq群上給大家答疑解惑.具體開始的時間在近日內擬定.
]]>
TOP |