日韩2区,一级毛片免费毛片一级毛片免费,午夜一级福利http://www.bjzhda.cnzh-cn曙海教育集團(tuán)論壇http://www.bjzhda.cnRss Generator By Dvbbs.Netofficeoffice@126.comimages/logo.gif曙海教育集團(tuán)論壇教你快速入門單片機(jī)http://www.xinguifushi.cn/bbs/dispbbs.asp?BoardID=56&ID=2259&Page=1wangxinxin2010-12-8 10:55:26   個(gè)人認(rèn)為平凡單片機(jī)教程有些不足的地方,所以我也是改革的寫教程了,完全按照人的認(rèn)知規(guī)律來寫,和平凡老師的教程在很大程度上不同,更注重對學(xué)者的能力的培養(yǎng)。也是我提到的“學(xué)習(xí)的知識不如學(xué)習(xí)知識的能力重要”。

好,下面我們開始學(xué)習(xí)了!請大家認(rèn)真看!

一、什么是單片機(jī)呢?

1、和我們的計(jì)算機(jī)(電腦)差不多,大家都知道,我們的計(jì)算機(jī)(電腦)里面有

(1)CPU

(2)硬盤

(3)內(nèi)存

(4)主板

(5)等等。

這些東西是裝在一個(gè)叫主機(jī)的里面的。好大!一個(gè)CPU大概要400塊,硬盤也要500左右,內(nèi)存200左右,主板500左右,這些東西加在一起大概要1600塊左右。如果配上其他的,一臺(tái)電腦要3000到4000左右吧。

2、但是把這些東西(CPU,硬盤,內(nèi)存,主板等等)用集成塊做好后,如下圖所視:
圖片點(diǎn)擊可在新窗口打開查看此主題相關(guān)圖片如下:89c51.jpg
圖片點(diǎn)擊可在新窗口打開查看


就成了我們要學(xué)習(xí)的“單片機(jī)”了。

3、請大家想想看這個(gè)集成塊值多少錢?它可是具備了計(jì)算機(jī)的功能啊。是不是很貴啊?

不,價(jià)格并不高,從幾元人民幣到幾十元人民幣,體積也不大,一般用40腳封裝,當(dāng)然功能多一些單片機(jī)也有引腳比較多的,如68引腳,功能少的只有10多個(gè)或20多個(gè)引腳,有的甚至只8只引腳。

4、當(dāng)然,在單片機(jī)機(jī)內(nèi)部,CPU,硬盤,內(nèi)存,主板等等東西要改個(gè)名字了。

(1)CPU,它的名字沒有改,還是叫CPU(Central Processing Unit)。它是單片機(jī)的核心部件,包括運(yùn)算器和控制器。運(yùn)算器既是算術(shù)邏輯單元ALU(Arithmetic logic Unit),其功能是進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算。控制器一般由指令寄存器、指令譯碼器、時(shí)序電路和控制電路組成。起作用是完成取指令、將指令譯碼形成各種微操作并執(zhí)行指令,同時(shí)控制計(jì)算機(jī)的各個(gè)部件有條不紊地工作。

(2)“硬盤”,改了名字,叫程序存儲(chǔ)器,也叫只讀存儲(chǔ)器。用ROM(Read only memery)表示。其作用和硬盤差不多,用來存放用戶程序。特點(diǎn)是:掉電后不會(huì)丟失數(shù)據(jù)。

(3)“內(nèi)存”,也改了名字,在單片機(jī)里叫數(shù)據(jù)存儲(chǔ)器,也叫隨機(jī)存儲(chǔ)器。用RAM(Random Access Memery)表示。其作用是用于存放運(yùn)算的中間結(jié)果,數(shù)據(jù)暫村和緩沖,標(biāo)志位等。特點(diǎn)是:掉電后會(huì)丟失數(shù)據(jù)。

(4)“主板”,也改了名字,叫做I/O(輸入輸出設(shè)備)當(dāng)然也包含了串行口,并行口,定時(shí)器,記時(shí)器等等。

5、以上談到的這些東西都在哪個(gè)集成塊里面。我們把集成了這些東西的集成塊叫做單片機(jī)。有些外國人叫微控制單元MCU(Micro Controller Unit),也有人叫嵌入式控制器(Embedded Controller)。現(xiàn)在明白了什么是單片機(jī)嗎?

6、我總結(jié)一下:將CPU、程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器、I/O接口電路、定時(shí)器/計(jì)數(shù)器等計(jì)算機(jī)部件集成在一塊芯片上,具有獨(dú)特功能的單片微型計(jì)算機(jī)稱著單片機(jī)。現(xiàn)在總明白了什么是單片機(jī)吧!

請大家用自己的話闡述一遍什么是單片機(jī)??

二、當(dāng)我們明白了什么是單片機(jī)后,再來猜猜一般的單片機(jī)的價(jià)格吧?

(1)Intel公司1980年推出的標(biāo)準(zhǔn)MCS-51內(nèi)核8051現(xiàn)在要7到10塊錢。

(2)Atmel公司的AT89c51,AT89s51,AT89c52,AT89s52一般在7塊錢左右。

三、我想大家會(huì)想一個(gè)“電腦”竟然是10塊錢以內(nèi)?功能怎么樣?有什么用啊?

我可以告訴大家,它的功能很強(qiáng)大,是以后電子產(chǎn)品的發(fā)展方向。只要具有了智能的電子產(chǎn)品,就少不了彈片機(jī)技術(shù)。非常有用,就業(yè)前景非常之好。那么大家一定很想學(xué)了,于是去買了本書看。

哈哈,看不懂吧,感覺好難吧?那是因?yàn)槟銢]有掌握好學(xué)習(xí)單片機(jī)的方法。學(xué)單片機(jī)光看書是不夠的,也是學(xué)不會(huì)的。學(xué)單片機(jī)是需要一些條件的了!

下面是學(xué)習(xí)單片機(jī)需要的條件.

隨著社會(huì)的發(fā)展,電子行業(yè)出現(xiàn)了新的技術(shù)之一單片機(jī)技術(shù),單片機(jī)技術(shù)在各行各業(yè)都得到了廣泛的應(yīng)用,如果說學(xué)電子的人不學(xué)單片機(jī)技術(shù)就像我們讀書不讀外語一樣,被人認(rèn)為是老土啊。
所以我們學(xué)電子的一定要學(xué)單片機(jī)技術(shù)。那么如何學(xué)習(xí)這門技術(shù)呢?到底是難還是容易呢?這就要看你的學(xué)習(xí)方法了。
如果你閉門造車試的學(xué)習(xí)方法,肯定很難學(xué)好的。我根據(jù)我這幾年的教學(xué)經(jīng)驗(yàn),我總結(jié)出了學(xué)單片機(jī)的相關(guān)教學(xué)方法,現(xiàn)在我將把我的教學(xué)過程寫出來。 學(xué)單片機(jī)第一步是:建立自己的學(xué)習(xí)條件。

四、學(xué)習(xí)單片機(jī)需要什么條件?

(1)一臺(tái)電腦——用于編程和學(xué)習(xí)。(3000到4000塊錢)

(2)編程器——用于把編寫好的程序?qū)懙叫酒小#?00到1000快錢)

(3)仿真器——主要是為了調(diào)試程序的正確性。(1000到2000塊錢)

(4)如果沒有編程器和仿真器,也可以買個(gè)便宜的單片機(jī)實(shí)驗(yàn)板。可以購買本站的AE系統(tǒng)。它集合了編程器和仿真器的所有功能。推薦買單片機(jī)實(shí)驗(yàn)板!

(5)還要多買幾塊單片機(jī)芯片,如:AT89C51,AT89S51,AT89S52等等。

五、有了這些東西,如果你已經(jīng)學(xué)了一點(diǎn)單片機(jī)知識的話,就可以做搞開發(fā)了。

下面我來談?wù)剢纹瑱C(jī)開發(fā)的過程,以做流水燈為例進(jìn)行講解。

(1)設(shè)計(jì)好硬件電路圖

按下圖把單片機(jī)的各個(gè)腳和元器件連接起來:


圖片點(diǎn)擊可在新窗口打開查看此主題相關(guān)圖片如下:dpjmxt.gif
圖片點(diǎn)擊可在新窗口打開查看

(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

注意:現(xiàn)在你還沒有必要把這個(gè)程序看懂,只要知道上面的是計(jì)算機(jī)程序,而不是英文就可以了。以后我們會(huì)一步一步的學(xué)這個(gè)程序的每個(gè)字的意義,直到你自己會(huì)編寫為止!


(3)用編程器或者單片機(jī)實(shí)驗(yàn)板把程序從電腦中輸入到單片機(jī)芯片中(詳細(xì)步驟以后學(xué)

(4)接上電源,流水燈工作。

六、好,如何快速入門單片機(jī)就寫到這里,相信大家對單片機(jī)有了一定的了解

]]>
單片機(jī)應(yīng)用討論http://www.xinguifushi.cn/bbs/dispbbs.asp?BoardID=56&ID=2258&Page=1wangxinxin2010-12-8 10:50:09最近在做一個(gè)自控項(xiàng)目,由于好久沒做了,于是到處查資料,咨詢等等,PLC,DCS,FCS都了解了一下,總感覺不是那么合適.首先項(xiàng)目不是很大,那種大集成的DCS沒有必要,考慮PLC, 讓其作為大部分功能的執(zhí)行者,然后與上位機(jī)通訊,傳感器則采用FF方式與上位機(jī)直接相連.請教PLC技術(shù)支持人員,他們說,FF連線雖然簡單,但調(diào)試和運(yùn)轉(zhuǎn)非把人折磨死.還是傳感器直接讀簡單可靠.這樣就需要比較多的模擬口.
最初,我希望用PLC的繼電器輸出去驅(qū)動(dòng)交流接觸器,他們也建議要用中間繼電器轉(zhuǎn)換,否則口損壞得不償失.
要滿足口的要求,又要不去選大材來小用.就感覺選PLC很難,也很呆板.
過去做過很多單片機(jī)系統(tǒng),覺得還是單片機(jī)靈活,并且對自己來說非常透明.如何提高彈片機(jī)系統(tǒng)的可靠性和現(xiàn)場調(diào)試的方便性,是需要解決的問題.這些方面提請大家討論:
1,可靠性
除了電路設(shè)計(jì)等,過去的做法是單片機(jī)通過插座與電路板相連,這方便了修改和調(diào)試,但不利于長期工作
2,現(xiàn)場調(diào)試方便性
如將芯片直接焊,則需要修改時(shí)就太困難了,PLC就是具有現(xiàn)場修改和運(yùn)行后擴(kuò)充方便的優(yōu)勢,如果單片機(jī)也能在線下載修改擴(kuò)充等,相信使用機(jī)會(huì)將增多.
單片機(jī)組態(tài)應(yīng)該沒啥問題,畢竟它可串行通訊.
]]>
從單片機(jī)初學(xué)者邁向單片機(jī)工程師,之KEY主題討論第二章,基于狀http://www.xinguifushi.cn/bbs/dispbbs.asp?BoardID=56&ID=2257&Page=1wangxinxin2010-12-8 10:47:17
  好了,言歸正傳。上一節(jié)我們已經(jīng)講到按鍵的一些基本情況。這章節(jié)我主要講講怎么用狀態(tài)機(jī)的方式來處理按鍵。我們把單個(gè)按鍵作為一個(gè)簡單的系統(tǒng),根據(jù)狀態(tài)機(jī)的原理對其動(dòng)作和確認(rèn)的過程進(jìn)行分析,并用狀態(tài)圖表示出來,然后根據(jù)狀態(tài)圖編寫出按鍵接口程序。把單個(gè)按鍵看成是一個(gè)狀態(tài)機(jī)話,首先需要對一次按鍵操作和確認(rèn)的實(shí)際過程進(jìn)行分析,根據(jù)實(shí)際的情況和系統(tǒng)的需要確定按鍵在整個(gè)過程的狀態(tài),每個(gè)狀態(tài)的輸入信號和輸出信號,以及狀態(tài)之間的轉(zhuǎn)換關(guān)系。最后還要考慮時(shí)間序列的間隔。采用狀態(tài)機(jī)對一個(gè)系統(tǒng)進(jìn)行分析是一項(xiàng)非常細(xì)致的工作,它實(shí)際上是建立在對真實(shí)系統(tǒng)有了全面深入的了解和認(rèn)識的基礎(chǔ)之上,進(jìn)行綜合和抽象化的模型建立的過程。這個(gè)模型必須與真實(shí)的系統(tǒng)相吻合,既能正確和全面的對系統(tǒng)進(jìn)行描述,也能夠適合使用軟件或硬件方式來實(shí)現(xiàn)。在一個(gè)嵌入式系統(tǒng)中,按鍵的操作是隨機(jī)的,因此系統(tǒng)軟件對按鍵需要一直循環(huán)查詢。由于按鍵的檢測過程需要進(jìn)行消抖處理,因此取狀態(tài)機(jī)的時(shí)間序列的周期為10ms左右,這樣不僅可以跳過按鍵抖動(dòng)的影響,同時(shí)也遠(yuǎn)小于按鍵0.3-0.5秒的穩(wěn)定閉合期,不會(huì)將按鍵操作過程丟失。很明顯,系統(tǒng)的輸入信號是與按鍵連接的I/O口電平,"1"表示按鍵處于開放狀態(tài),"0"表示按鍵處于閉合狀態(tài)。而系統(tǒng)的輸出信號則表示檢測和確認(rèn)到一次按鍵的閉合操作,用"1"表示。

  上圖給出了一個(gè)簡單按鍵狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換圖。在圖中,將一次按鍵完整的操作過程分解為3個(gè)狀態(tài),采用時(shí)間序列周期為10ms。下面對該圖做進(jìn)一步的分析和說明,并根據(jù)狀態(tài)圖給出軟件的實(shí)現(xiàn)方法。首先,讀者要充分體會(huì)時(shí)間序列的作用。在這個(gè)系統(tǒng)中,采用的時(shí)間序列周期為10ms,它意味著,每隔10ms檢測一次按鍵的輸入信號,并輸出一次按鍵的確認(rèn)信號,同時(shí)按鍵的狀態(tài)也發(fā)生一次轉(zhuǎn)換。圖中"狀態(tài)0"為按鍵的初始狀態(tài),當(dāng)按鍵輸入為"1"時(shí),表示按鍵處于開放,輸出"0"(1/0),下一狀態(tài)仍舊為"狀態(tài)0"。當(dāng)按鍵輸入為"0",表示按鍵閉合,但輸出還是"0"(0/0)(沒有經(jīng)過消抖,不能確認(rèn)按鍵真正按下),下一狀態(tài)進(jìn)入"狀態(tài)1"。"狀態(tài)1"為按鍵閉合確認(rèn)狀態(tài),它表示了在10ms前按鍵為閉合的,因此當(dāng)再次檢測到按鍵輸入為"0"時(shí),可以確認(rèn)按鍵被按下了(經(jīng)過10ms的消抖),輸出"1"表示確認(rèn)按鍵閉合(0/1),下一狀態(tài)進(jìn)入"狀態(tài)2"。而當(dāng)再次檢測到按鍵的輸入為"1"時(shí),表示按鍵可能處在抖動(dòng)干擾,輸出為"0"(1/0),下一狀態(tài)返回到"狀態(tài)0"。這樣,利用狀態(tài)1,實(shí)現(xiàn)了按鍵的消抖處理。"狀態(tài)2"為等待按鍵釋放狀態(tài),因?yàn)橹挥械劝存I釋放后,一次完整的按鍵操作過程才算完成。從對上圖的分析中可以知道,在一次按鍵操作的整個(gè)過程,按鍵的狀態(tài)是從"狀態(tài)0"->"狀態(tài)1"->"狀態(tài)2",最后返回到"狀態(tài)0"的。并且在整個(gè)過程中,按鍵的輸出信號僅在"狀態(tài)1"時(shí)給出了唯一的一次確認(rèn)按鍵閉合的信號"1"(其它狀態(tài)均輸出"0")。所以上面狀態(tài)機(jī)所表示的按鍵系統(tǒng),不僅克服了按鍵抖動(dòng)的問題,同時(shí)也確保在一次按鍵整個(gè)的過程中,系統(tǒng)只輸出一次按鍵閉合信號("1")。換句話講,不管按鍵被按下的時(shí)間保持多長,在這個(gè)按鍵的整個(gè)過程中都只給出了一次確認(rèn)的輸出,因此在這個(gè)設(shè)計(jì)中,按鍵沒有"連發(fā)"功能,它是一個(gè)最簡單和基本的按鍵。一旦有了正確的狀態(tài)轉(zhuǎn)換圖,就可以根據(jù)狀態(tài)轉(zhuǎn)換圖編寫軟件了。在軟件中實(shí)現(xiàn)狀態(tài)機(jī)的方法和程序結(jié)構(gòu)通常使用多分支結(jié)構(gòu)(IF-ELSEIF-ELSE、CASE等)實(shí)現(xiàn)。下面是根據(jù)上圖、基于狀態(tài)機(jī)方式編寫的簡單按鍵接口函數(shù)GetKey()。

  uchar GetKey()

  {

  uchar keyRetu=0; //返回的按鍵值

  static uchar s_keyState=0; //按鍵狀態(tài)

  switch (s_keyState)

  {

  case 0:

  if(key1==0) //檢測到有按鍵,轉(zhuǎn)到狀態(tài)1,相當(dāng)于是消抖過程

  {

  s_keyState=1;

  }

  break;

  case 1:

  if(key1==0) //再次檢測到有按鍵,確認(rèn)按鍵按下,返回一個(gè)值,并轉(zhuǎn)到狀態(tài)2

  {

  keyRetu=1;

  s_keyState=2;

  }

  else

  {

  s_keyState=0; //沒有檢測到按鍵,說明狀態(tài)0檢測到是一個(gè)抖動(dòng),重新轉(zhuǎn)到狀態(tài)0

  }

  break;

  case 2:

  if(key1==1) //檢測到按鍵松開,狀態(tài)轉(zhuǎn)到狀態(tài)0,一次完整的按鍵過程結(jié)束

  {

  s_keyState=0;

  }

  break;

  }

  return keyRetu;

  }

  該簡單按鍵接口函數(shù)GetKey()在整個(gè)系統(tǒng)程序中應(yīng)每隔10ms調(diào)用執(zhí)行一次,每次執(zhí)行時(shí)進(jìn)入用switch結(jié)構(gòu)構(gòu)成的狀態(tài)機(jī)。switch結(jié)構(gòu)中的case語句分別實(shí)現(xiàn)了3個(gè)不同狀態(tài)的處理判別過程,在每個(gè)狀態(tài)中將根據(jù)狀態(tài)的不同,以及key1的值(狀態(tài)機(jī)的輸入)確定輸出值(keyRetu),和確定下一次按鍵的狀態(tài)值(s_keyState)。函數(shù)GetKey()的返回參數(shù)提供上層程序使用。返回值為0時(shí),表示按鍵無動(dòng)作;而返回1表示有一次按鍵閉合動(dòng)作,需要進(jìn)入按鍵處理程序做相應(yīng)的鍵處理。在函數(shù)GetKey()中定義了2個(gè)局部變量,其中keyRetu為一般普通的局部變量,每次函數(shù)執(zhí)行時(shí),key_return為函數(shù)的返回值,總是先初始化為0,只有在狀態(tài)1中重新置1,作為表示按鍵確認(rèn)的標(biāo)志返回。變量s_keyState非常重要,它保存著按鍵的狀態(tài)值,該變量的值在函數(shù)調(diào)用結(jié)束后不能消失,必須保留原值,因此在程序中定義為"局部靜態(tài)變量",用static聲明。如果使用的語言環(huán)境不支持static類型的局部變量,則應(yīng)將s_keyState定義為全局變量(關(guān)于局部靜態(tài)變量的特點(diǎn)請參考我以前的文章:http://hi.baidu.com/dxstar/blog/item/90bdbe02d9e50 c8be950cdcd.html)。

  最后,我們來測試一下效果。這里要達(dá)到的效果就是:數(shù)碼管循環(huán)顯示00-99,每按一次鍵,數(shù)字加1。

  -----------------------const.h-------------------- -------

  #ifndef _CONST_H_

  #define _CONST_H_

  typedef unsigned char uchar;

  typedef unsigned int uint;

  #endif

  -----------------------main.c--------------------- --

  #include<reg52.h>

  #include"const.h"

  #include"Timer.h"

  #include"Display.h"

  #include"key.h"

  void main()

  {

  Timer0Init();

  EA=1;

  while(1)

  {

  if(g_systTime2Ms) //每2ms掃描顯示

  {

  g_systTime2Ms=0;

  DsipNum();

  }

  if(g_time10Ms) //每10ms掃描一次按鍵

  {

  g_time10Ms=0;

  if(GetKey()==1) //接收到的值是否為1,即是否按鍵按下

  {

  if(++g_num>=100)

  {

  g_num=0;
]]>
關(guān)于單片機(jī)與嵌入式系統(tǒng)的討論http://www.xinguifushi.cn/bbs/dispbbs.asp?BoardID=56&ID=2256&Page=1wangxinxin2010-12-8 10:44:51一、現(xiàn)代計(jì)算機(jī)的技術(shù)發(fā)展史 

1.始于微型機(jī)時(shí)代的嵌入式應(yīng)用 

電子數(shù)字計(jì)算機(jī)誕生于1946年,在其后漫長的歷史進(jìn)程中,計(jì)算機(jī)始終是供養(yǎng)在特殊的機(jī)房中,實(shí)現(xiàn)數(shù)值計(jì)算的大型昂貴設(shè)備。直到20世紀(jì)70年代,微處理器的出現(xiàn),計(jì)算機(jī)才出現(xiàn)了歷史性的變化。以微處理器為核心的微型計(jì)算機(jī)以其小型、價(jià)廉、高可靠性特點(diǎn),迅速走出機(jī)房;基于高速數(shù)值解算能力的微型機(jī),表現(xiàn)出的智能化水平引起了控制專業(yè)人士的興趣,要求將微型機(jī)嵌入到一個(gè)對象體系中,實(shí)現(xiàn)對象體系的智能化控制。例如,將微型計(jì)算機(jī)經(jīng)電氣加固、機(jī)械加固,并配置各種外圍接口電路,安裝到大型艦船中構(gòu)成自動(dòng)駕駛儀或輪機(jī)狀態(tài)監(jiān)測系統(tǒng)。這樣一來,計(jì)算機(jī)便失去了原來的形態(tài)與通用的計(jì)算機(jī)功能。為了區(qū)別于原有的通用計(jì)算機(jī)系統(tǒng),把嵌入到對象體系中,實(shí)現(xiàn)對象體系智能化控制的計(jì)算機(jī),稱作嵌入式計(jì)算機(jī)系統(tǒng)。因此,嵌入式系統(tǒng)誕生于微型機(jī)時(shí)代,嵌入式系統(tǒng)的嵌入性本質(zhì)是將一個(gè)計(jì)算機(jī)嵌入到一個(gè)對象體系中去,這些是理解嵌入式系統(tǒng)的基本出發(fā)點(diǎn)。 

2.現(xiàn)代計(jì)算機(jī)技術(shù)的兩大分支 

由于嵌入式計(jì)算機(jī)系統(tǒng)要嵌入到對象體系中,實(shí)現(xiàn)的是對象的智能化控制,因此,它有著與通用計(jì)算機(jī)系統(tǒng)完全不同的技術(shù)要求與技術(shù)發(fā)展方向。通用計(jì)算機(jī)系統(tǒng)的技術(shù)要求是高速、海量的數(shù)值計(jì)算;技術(shù)發(fā)展方向是總線速度的無限提升,存儲(chǔ)容量的無限擴(kuò)大。而嵌入式計(jì)算機(jī)系統(tǒng)的技術(shù)要求則是對象的智能化控制能力;技術(shù)發(fā)展方向是與對象系統(tǒng)密切相關(guān)的嵌入性能、控制能力與控制的可靠性。 

早期,人們勉為其難地將通用計(jì)算機(jī)系統(tǒng)進(jìn)行改裝,在大型設(shè)備中實(shí)現(xiàn)嵌入式應(yīng)用。然而,對于眾多的對象系統(tǒng)(如家用電器、儀器儀表、工控單元……),無法嵌入通用計(jì)算機(jī)系統(tǒng),況且嵌入式系統(tǒng)與通用計(jì)算機(jī)系統(tǒng)的技術(shù)發(fā)展方向完全不同,因此,必須獨(dú)立地發(fā)展通用計(jì)算機(jī)系統(tǒng)與嵌入式計(jì)算機(jī)系統(tǒng),這就形成了現(xiàn)代計(jì)算機(jī)技術(shù)發(fā)展的兩大分支。 

如果說微型機(jī)的出現(xiàn),使計(jì)算機(jī)進(jìn)入到現(xiàn)代計(jì)算機(jī)發(fā)展階段,那么嵌入式計(jì)算機(jī)系統(tǒng)的誕生,則標(biāo)志了計(jì)算機(jī)進(jìn)入了通用計(jì)算機(jī)系統(tǒng)與嵌入式計(jì)算機(jī)系統(tǒng)兩大分支并行發(fā)展時(shí)代,從而導(dǎo)致20世紀(jì)末,計(jì)算機(jī)的高速發(fā)展時(shí)期。 

3.兩大分支發(fā)展的里程碑事件 

通用計(jì)算機(jī)系統(tǒng)與嵌入式計(jì)算機(jī)系統(tǒng)的專業(yè)化分工發(fā)展,導(dǎo)致20世紀(jì)末、21世紀(jì)初,計(jì)算機(jī)技術(shù)的飛速發(fā)展。計(jì)算機(jī)專業(yè)領(lǐng)域集中精力發(fā)展通用計(jì)算機(jī)系統(tǒng)的軟、硬件技術(shù),不必兼顧嵌入式應(yīng)用要求,通用微處理器迅速從286、386、486到奔騰系列;操作系統(tǒng)則迅速擴(kuò)張計(jì)算機(jī)基于高速海量的數(shù)據(jù)文件處理能力,使通用計(jì)算機(jī)系統(tǒng)進(jìn)入到盡善盡美階段。 

嵌入式計(jì)算機(jī)系統(tǒng)則走上了一條完全不同的道路,這條獨(dú)立發(fā)展的道路就是單芯片化道路。它動(dòng)員了原有的傳統(tǒng)電子系統(tǒng)領(lǐng)域的廠家與專業(yè)人士,接過起源于計(jì)算機(jī)領(lǐng)域的嵌入式系統(tǒng),承擔(dān)起發(fā)展與普及嵌入式系統(tǒng)的歷史任務(wù),迅速地將傳統(tǒng)的電子系統(tǒng)發(fā)展到智能化的現(xiàn)代電子系統(tǒng)時(shí)代。 

因此,現(xiàn)代計(jì)算機(jī)技術(shù)發(fā)展的兩大分支的里程碑意義在于:它不僅形成了計(jì)算機(jī)發(fā)展的專業(yè)化分工,而且將發(fā)展計(jì)算機(jī)技術(shù)的任務(wù)擴(kuò)展到傳統(tǒng)的電子系統(tǒng)領(lǐng)域,使計(jì)算機(jī)成為進(jìn)入人類社會(huì)全面智能化時(shí)代的有力工具。 

二、嵌入式系統(tǒng)的定義與特點(diǎn) 

如果我們了解了嵌入式(計(jì)算機(jī))系統(tǒng)的由來與發(fā)展,對嵌入式系統(tǒng)就不會(huì)產(chǎn)生過多的誤解,而能歷史地、本質(zhì)地、普遍適用地定義嵌入式系統(tǒng)。 

1.嵌入式系統(tǒng)的定義 

按照歷史性、本質(zhì)性、普遍性要求,嵌入式系統(tǒng)應(yīng)定義為:“嵌入到對象體系中的專用計(jì)算機(jī)系統(tǒng)”。“嵌入性”、“專用性”與“計(jì)算機(jī)系統(tǒng)”是嵌入式系統(tǒng)的三個(gè)基本要素。對象系統(tǒng)則是指嵌入式系統(tǒng)所嵌入的宿主系統(tǒng)。 

2.嵌入式系統(tǒng)的特點(diǎn) 

嵌入式系統(tǒng)的特點(diǎn)與定義不同,它是由定義中的三個(gè)基本要素衍生出來的。不同的嵌入式系統(tǒng)其特點(diǎn)會(huì)有所差異。與“嵌入性”的相關(guān)特點(diǎn):由于是嵌入到對象系統(tǒng)中,必須滿足對象系統(tǒng)的環(huán)境要求,如物理環(huán)境(小型)、電氣/氣氛環(huán)境(可靠)、成本(價(jià)廉)等要求。與“專用性”的相關(guān)特點(diǎn):軟、硬件的裁剪性;滿足對象要求的最小軟、硬件配置等。與“計(jì)算機(jī)系統(tǒng)”的相關(guān)特點(diǎn):嵌入式系統(tǒng)必須是能滿足對象系統(tǒng)控制要求的計(jì)算機(jī)系統(tǒng)。與上兩個(gè)特點(diǎn)相呼應(yīng),這樣的計(jì)算機(jī)必須配置有與對象系統(tǒng)相適應(yīng)的接口電路。 

另外,在理解嵌入式系統(tǒng)定義時(shí),不要與嵌入式設(shè)備相混淆。嵌入式設(shè)備是指內(nèi)部有嵌入式系統(tǒng)的產(chǎn)品、設(shè)備,例如,內(nèi)含單片機(jī)的家用電器、儀器儀表、工控單元、機(jī)器人、手機(jī)、PDA等。 

3.嵌入式系統(tǒng)的種類與發(fā)展 

按照上述嵌入式系統(tǒng)的定義,只要滿足定義中三要素的計(jì)算機(jī)系統(tǒng),都可稱為嵌入式系統(tǒng)。嵌入式系統(tǒng)按形態(tài)可分為設(shè)備級(工控機(jī))、板級(單板、模塊)、芯片級(MCU、SoC)。 

有些人把嵌入式處理器當(dāng)作嵌入式系統(tǒng),但由于嵌入式系統(tǒng)是一個(gè)嵌入式計(jì)算機(jī)系統(tǒng),因此,只有將嵌入式處理器構(gòu)成一個(gè)計(jì)算機(jī)系統(tǒng),并作為嵌入式應(yīng)用時(shí),這樣的計(jì)算機(jī)系統(tǒng)才可稱作嵌入式系統(tǒng)。 

嵌入式系統(tǒng)與對象系統(tǒng)密切相關(guān),其主要技術(shù)發(fā)展方向是滿足嵌入式應(yīng)用要求,不斷擴(kuò)展對象系統(tǒng)要求的外圍電路(如ADC、DAC、PWM、日歷時(shí)鐘、電源監(jiān)測、程序運(yùn)行監(jiān)測電路等),形成滿足對象系統(tǒng)要求的應(yīng)用系統(tǒng)。因此,嵌入式系統(tǒng)作為一個(gè)專用計(jì)算機(jī)系統(tǒng),要不斷向計(jì)算機(jī)應(yīng)用系統(tǒng)發(fā)展。因此,可以把定義中的專用計(jì)算機(jī)系統(tǒng)引伸成,滿足對象系統(tǒng)要求的計(jì)算機(jī)應(yīng)用系統(tǒng)。 

三、嵌入式系統(tǒng)的獨(dú)立發(fā)展道路 

1.單片機(jī)開創(chuàng)了嵌入式系統(tǒng)獨(dú)立發(fā)展道路 

嵌入式系統(tǒng)雖然起源于微型計(jì)算機(jī)時(shí)代,然而,微型計(jì)算機(jī)的體積、價(jià)位、可靠性都無法滿足廣大對象系統(tǒng)的嵌入式應(yīng)用要求,因此,嵌入式系統(tǒng)必須走獨(dú)立發(fā)展道路。這條道路就是芯片化道路。將計(jì)算機(jī)做在一個(gè)芯片上,從而開創(chuàng)了嵌入式系統(tǒng)獨(dú)立發(fā)展的單片機(jī)時(shí)代。 

在探索單片機(jī)的發(fā)展道路時(shí),有過兩種模式,即“∑模式”與“創(chuàng)新模式”。“∑模式”本質(zhì)上是通用計(jì)算機(jī)直接芯片化的模式,它將通用計(jì)算機(jī)系統(tǒng)中的基本單元進(jìn)行裁剪后,集成在一個(gè)芯片上,構(gòu)成單片微型計(jì)算機(jī);“創(chuàng)新模式”則完全按嵌入式應(yīng)用要求設(shè)計(jì)全新的,滿足嵌入式應(yīng)用要求的體系結(jié)構(gòu)、微處理器、指令系統(tǒng)、總線方式、管理模式等。Intel公司的MCS-48、MCS-51就是按照創(chuàng)新模式發(fā)展起來的單片形態(tài)的嵌入式系統(tǒng)(單片微型計(jì)算機(jī))。MCS-51是在MCS-48探索基礎(chǔ)上,進(jìn)行全面完善的嵌入式系統(tǒng)。歷史證明,“創(chuàng)新模式”是嵌入式系統(tǒng)獨(dú)立發(fā)展的正確道路,MCS-51的體系結(jié)構(gòu)也因此成為單片嵌入式系統(tǒng)的典型結(jié)構(gòu)體系。 

2.單片機(jī)的技術(shù)發(fā)展史 

單片機(jī)誕生于20世紀(jì)70年代末,經(jīng)歷了SCM、MCU、SoC三大階段。 

1.SCM即單片微型計(jì)算機(jī)(Single Chip Microcomputer)階段,主要是尋求最佳的單片形態(tài)嵌入式系統(tǒng)的最佳體系結(jié)構(gòu)。“創(chuàng)新模式”獲得成功,奠定了SCM與通用計(jì)算機(jī)完全不同的發(fā)展道路。在開創(chuàng)嵌入式系統(tǒng)獨(dú)立發(fā)展道路上,Intel公司功不可沒。 

2.MCU即微控制器(Micro Controller Unit)階段,主要的技術(shù)發(fā)展方向是:不斷擴(kuò)展?jié)M足嵌入式應(yīng)用時(shí),對象系統(tǒng)要求的各種外圍電路與接口電路,突顯其對象的智能化控制能力。它所涉及的領(lǐng)域都與對象系統(tǒng)相關(guān),因此,發(fā)展MCU的重任不可避免地落在電氣、電子技術(shù)廠家。從這一角度來看,Intel逐漸淡出MCU的發(fā)展也有其客觀因素。在發(fā)展MCU方面,最著名的廠家當(dāng)數(shù)Philips公司。 

Philips公司以其在嵌入式應(yīng)用方面的巨大優(yōu)勢,將MCS-51從單片微型計(jì)算機(jī)迅速發(fā)展到微控制器。因此,當(dāng)我們回顧嵌入式系統(tǒng)發(fā)展道路時(shí),不要忘記Intel和Philips的歷史功績。 

3.單片機(jī)是嵌入式系統(tǒng)的獨(dú)立發(fā)展之路,向MCU階段發(fā)展的重要因素,就是尋求應(yīng)用系統(tǒng)在芯片上的最大化解決;因此,專用單片機(jī)的發(fā)展自然形成了SoC化趨勢。隨著微電子技術(shù)、IC設(shè)計(jì)、EDA工具的發(fā)展,基于SoC的單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)會(huì)有較大的發(fā)展。因此,對單片機(jī)的理解可以從單片微型計(jì)算機(jī)、單片微控制器延伸到單片應(yīng)用系統(tǒng)。 

四、嵌入式系統(tǒng)的兩種應(yīng)用模式 

嵌入式系統(tǒng)的嵌入式應(yīng)用特點(diǎn),決定了它的多學(xué)科交叉特點(diǎn)。作為計(jì)算機(jī)的內(nèi)含,要求計(jì)算機(jī)領(lǐng)域人員介入其體系結(jié)構(gòu)、軟件技術(shù)、工程應(yīng)用方面的研究。然而,了解對象系統(tǒng)的控制要求,實(shí)現(xiàn)系統(tǒng)控制模式必須具備對象領(lǐng)域的專業(yè)知識。因此,從嵌入式系統(tǒng)發(fā)展的歷史過程,以及嵌入式應(yīng)用的多樣性中,可以了解到客觀上形成的兩種應(yīng)用模式。 

1.客觀存在的兩種應(yīng)用模式 

嵌入式計(jì)算機(jī)系統(tǒng)起源于微型機(jī)時(shí)代,但很快就進(jìn)入到獨(dú)立發(fā)展的單片機(jī)時(shí)代。在單片機(jī)時(shí)代,嵌入式系統(tǒng)以器件形態(tài)迅速進(jìn)入到傳統(tǒng)電子技術(shù)領(lǐng)域中,以電子技術(shù)應(yīng)用工程師為主體,實(shí)現(xiàn)傳統(tǒng)電子系統(tǒng)的智能化,而計(jì)算機(jī)專業(yè)隊(duì)伍并沒有真正進(jìn)入單片機(jī)應(yīng)用領(lǐng)域。因此,電子技術(shù)應(yīng)用工程師以自己習(xí)慣性的電子技術(shù)應(yīng)用模式,從事單片機(jī)的應(yīng)用開發(fā)。這種應(yīng)用模式最重要的特點(diǎn)是:軟、硬件的底層性和隨意性;對象系統(tǒng)專業(yè)技術(shù)的密切相關(guān)性;缺少計(jì)算機(jī)工程設(shè)計(jì)方法。 

雖然在單片機(jī)時(shí)代,計(jì)算機(jī)專業(yè)淡出了嵌入式系統(tǒng)領(lǐng)域,但隨著后PC時(shí)代的到來,網(wǎng)絡(luò)、通信技術(shù)得以發(fā)展;同時(shí),嵌入式系統(tǒng)軟、硬件技術(shù)有了很大的提升,為計(jì)算機(jī)專業(yè)人士介入嵌入式系統(tǒng)應(yīng)用開辟了廣闊天地。計(jì)算機(jī)專業(yè)人士的介入,形成的計(jì)算機(jī)應(yīng)用模式帶有明顯的計(jì)算機(jī)的工程應(yīng)用特點(diǎn),即基于嵌入式系統(tǒng)軟、硬件平臺(tái),以網(wǎng)絡(luò)、通信為主的非嵌入式底層應(yīng)用。 

2.兩種應(yīng)用模式的并存與互補(bǔ) 

由于嵌入式系統(tǒng)最大、最廣、最底層的應(yīng)用是傳統(tǒng)電子技術(shù)領(lǐng)域的智能化改造,因此,以通曉對象專業(yè)的電子技術(shù)隊(duì)伍為主,用最少的嵌入式系統(tǒng)軟、硬件開銷,以8位機(jī)為主,帶有濃重的電子系統(tǒng)設(shè)計(jì)色彩的電子系統(tǒng)應(yīng)用模式會(huì)長期存在下去。 

另外,計(jì)算機(jī)專業(yè)人士會(huì)愈來愈多地介入嵌入式系統(tǒng)應(yīng)用,但囿于對象專業(yè)知識的隔閡,其應(yīng)用領(lǐng)域會(huì)集中在網(wǎng)絡(luò)、通信、多媒體、商務(wù)電子等方面,不可能替代原來電子工程師在控制、儀器儀表、機(jī)械電子等方面的嵌入式應(yīng)用。因此,客觀存在的兩種應(yīng)用模式會(huì)長期并存下去,在不同的領(lǐng)域中相互補(bǔ)充。電子系統(tǒng)設(shè)計(jì)模式應(yīng)從計(jì)算機(jī)應(yīng)用設(shè)計(jì)模式中,學(xué)習(xí)計(jì)算機(jī)工程方法和嵌入式系統(tǒng)軟件技術(shù);計(jì)算機(jī)應(yīng)用設(shè)計(jì)模式應(yīng)從電子系統(tǒng)設(shè)計(jì)模式中,了解嵌入式系統(tǒng)應(yīng)用的電路系統(tǒng)特性、基本的外圍電路設(shè)計(jì)方法和對象系統(tǒng)的基本要求等。 

3.嵌入式系統(tǒng)應(yīng)用的高低端 

由于嵌入式系統(tǒng)有過很長的一段單片機(jī)的獨(dú)立發(fā)展道路,大多是基于8位單片機(jī),實(shí)現(xiàn)最底層的嵌入式系統(tǒng)應(yīng)用,帶有明顯的電子系統(tǒng)設(shè)計(jì)模式特點(diǎn)。大多數(shù)從事單片機(jī)應(yīng)用開發(fā)人員,都是對象系統(tǒng)領(lǐng)域中的電子系統(tǒng)工程師,加之單片機(jī)的出現(xiàn),立即脫離了計(jì)算機(jī)專業(yè)領(lǐng)域,以“智能化”器件身份進(jìn)入電子系統(tǒng)領(lǐng)域,沒有帶入“嵌入式系統(tǒng)”概念。因此,不少從事單片機(jī)應(yīng)用的人,不了解單片機(jī)與嵌入式系統(tǒng)的關(guān)系,在談到“嵌入式系統(tǒng)”領(lǐng)域時(shí),往往理解成計(jì)算機(jī)專業(yè)領(lǐng)域的,基于32位嵌入式處理器,從事網(wǎng)絡(luò)、通信、多媒體等的應(yīng)用。這樣,“單片機(jī)”與“嵌入式系統(tǒng)”形成了嵌入式系統(tǒng)中常見的兩個(gè)獨(dú)立的名詞。但由于“單片機(jī)”是典型的、獨(dú)立發(fā)展起來的嵌入式系統(tǒng),從學(xué)科建設(shè)的角度出發(fā),應(yīng)該把它統(tǒng)一成“嵌入式系統(tǒng)”。考慮到原來單片機(jī)的電子系統(tǒng)底層應(yīng)用特點(diǎn),可以把嵌入式系統(tǒng)應(yīng)用分成高端與低端,把原來的單片機(jī)應(yīng)用理解成嵌入式系統(tǒng)的低端應(yīng)用,含義為它的底層性以及與對象系統(tǒng)的緊耦合

]]>
關(guān)于對51單片機(jī)端口上拉電阻的討論http://www.xinguifushi.cn/bbs/dispbbs.asp?BoardID=56&ID=2255&Page=1wangxinxin2010-12-8 10:42:41

前一段時(shí)間,看到實(shí)驗(yàn)室有個(gè)學(xué)弟設(shè)計(jì)了一個(gè)電路,其中還有一個(gè)鍵盤電路,取其原理是這樣子的:

圖片點(diǎn)擊可在新窗口打開查看

        據(jù)這位師弟的意思是:在沒有按下按鍵的時(shí)候,端口上是低電平,按下按鍵的時(shí)候端口上接上了高電平.

         事實(shí)上,電路是不工作的.

        問題比較多:

       首先,將電源直接接到端口上是絕對不可以的.當(dāng)按下按鍵的時(shí)候,會(huì)有很大的電流進(jìn)入單片機(jī).在工程上,這種往往應(yīng)該加限流電阻的.一般選擇1K的就可以.如果選擇太大的電阻也不好,因?yàn)殡娮枭厦鎵航堤?造成輸入比應(yīng)有的高電平低,造成錯(cuò)誤.

      其次,就算加了限流,這個(gè)電路也是不能工作的.檢查AT89C51的DataSheet就會(huì)發(fā)現(xiàn).技術(shù)手冊中說:P0口是沒有上拉電阻的端口;P1,P2,P3口帶有上拉電阻.問題就出在這里,什么是上拉電阻,來看看圖:

圖片點(diǎn)擊可在新窗口打開查看

上面這個(gè)圖,是紅外線接收的電路圖,看上面的這個(gè)電阻,就是上拉電阻.我們可以試圖理解一下51單片機(jī)P2口的這個(gè)上拉電阻為這種形式:

圖片點(diǎn)擊可在新窗口打開查看

其中的R就是上拉電阻.如果像我的那個(gè)師弟那樣設(shè)計(jì)電路,電路就成了以下這種形式了:

圖片點(diǎn)擊可在新窗口打開查看

看,從這個(gè)電路上,我們可以清晰的看出,不管你按鍵是否按下,IO端口上都是高電平.問題就在這里,我讓我的這個(gè)師弟測測IO端口的電平在按下按鍵前后的變化,結(jié)果果然不出所料:不管他是否按下按鍵,都是高電平!!

        從這里我們可以看出:DataSheet還是有用的,在設(shè)計(jì)的時(shí)候,有很多細(xì)節(jié),需要注意,否則,可能功虧一簣.

]]>
從單片機(jī)初學(xué)者邁向單片機(jī)工程師”之LED主題討論周第三章----模塊化編程...http://www.xinguifushi.cn/bbs/dispbbs.asp?BoardID=56&ID=2254&Page=1wangxinxin2010-12-8 10:36:00在談?wù)摻裉斓闹黝}之前,先說下我以前的一些經(jīng)歷。在剛開始接觸到C語言程序的時(shí)候,由于學(xué)習(xí)內(nèi)容所限,寫的程序都不是很大,一般也就幾百行而矣。所以所有的程序都完成在一個(gè)源文件里面。記得那時(shí)候大一參加學(xué)校里的一個(gè)電子設(shè)計(jì)大賽,調(diào)試了一個(gè)多星期,所有程序加起來大概將近1000行,長長的一個(gè)文件,從上瀏覽下來都要好半天。出了錯(cuò)誤簡單的語法錯(cuò)誤還好定位,其它一些錯(cuò)誤,往往找半天才找的到。那個(gè)時(shí)候開始知道了模塊化編程這個(gè)東西,也嘗試著開始把程序分模塊編寫。最開始是把相同功能的一些函數(shù)(譬如1602液晶的驅(qū)動(dòng))全部寫在一個(gè)頭文件(.h)文件里面,然后需要調(diào)用的地方包含進(jìn)去,但是很快發(fā)現(xiàn)這種方法有其局限性,很容易犯重復(fù)包含的錯(cuò)誤。
而且調(diào)用起來也很不方便。很快暑假的電子設(shè)計(jì)大賽來臨了,學(xué)校對我們的單片機(jī)軟件編程進(jìn)行了一些培訓(xùn)。由于學(xué)校歷年來參加國賽和省賽,因此積累了一定數(shù)量的驅(qū)動(dòng)模塊,那些日子,老師每天都會(huì)布置一定量的任務(wù),讓我們用這些模塊組合起來,完成一定功能。而正是那些日子模塊化編程的培訓(xùn),使我對于模塊化編程有了更進(jìn)一步的認(rèn)識。并且程序規(guī)范也開始慢慢注意起來。此后的日子,無論程序的大小,均采用模塊化編程的方式去編寫。很長一段時(shí)間以來,一直有單片機(jī)愛好者在QQ上和我一起交流。有時(shí)候,他們會(huì)發(fā)過來一些有問題的程序源文件,讓我?guī)兔π薷囊幌隆M瑯邮情L長的一個(gè)文件,而且命名極不規(guī)范,從頭看下來,著實(shí)是痛苦,說實(shí)話,還真不如我重新給他們寫一個(gè)更快一些,此話到不假,因?yàn)槭诸^積累了一定量的模塊,在完成一個(gè)新的系統(tǒng)時(shí)候,只需要根據(jù)上層功能需求,在底層模塊的支持下,可以很快方便的完成。而不需要從頭到尾再一磚一瓦的重新編寫。藉此,也可以看出模塊化編程的一個(gè)好處,就是可重復(fù)利用率高。下面讓我們揭開模塊化神秘面紗,一窺其真面目。
    C語言源文件 *.c
        提到C語言源文件,大家都不會(huì)陌生。因?yàn)槲覀兤匠懙某绦虼a幾乎都在這個(gè)XX.C文件里面。編譯器也是以此文件來進(jìn)行編譯并生成相應(yīng)的目標(biāo)文件。作為模塊化編程的組成基礎(chǔ),我們所要實(shí)現(xiàn)的所有功能的源代碼均在這個(gè)文件里。理想的模塊化應(yīng)該可以看成是一個(gè)黑盒子。即我們只關(guān)心模塊提供的功能,而不管模塊內(nèi)部的實(shí)現(xiàn)細(xì)節(jié)。好比我們買了一部手機(jī),我們只需要會(huì)用手機(jī)提供的功能即可,不需要知曉它是如何把短信發(fā)出去的,如何響應(yīng)我們按鍵的輸入,這些過程對我們用戶而言,就是是一個(gè)黑盒子。
在大規(guī)模程序開發(fā)中,一個(gè)程序由很多個(gè)模塊組成,很可能,這些模塊的編寫任務(wù)被分配到不同的人。而你在編寫這個(gè)模塊的時(shí)候很可能就需要利用到別人寫好的模塊的借口,這個(gè)時(shí)候我們關(guān)心的是,它的模塊實(shí)現(xiàn)了什么樣的接口,我該如何去調(diào)用,至于模塊內(nèi)部是如何組織的,對于我而言,無需過多關(guān)注。而追求接口的單一性,把不需要的細(xì)節(jié)盡可能對外部屏蔽起來,正是我們所需要注意的地方。
    C語言頭文件 *.h
        談及到模塊化編程,必然會(huì)涉及到多文件編譯,也就是工程編譯。在這樣的一個(gè)系統(tǒng)中,往往會(huì)有多個(gè)C文件,而且每個(gè)C文件的作用不盡相同。在我們的C文件中,由于需要對外提供接口,因此必須有一些函數(shù)或者是變量提供給外部其它文件進(jìn)行調(diào)用。
假設(shè)我們有一個(gè)LCD.C文件,其提供最基本的LCD的驅(qū)動(dòng)函數(shù)
    LcdPutChar(char cNewValue) ; //在當(dāng)前位置輸出一個(gè)字符
而在我們的另外一個(gè)文件中需要調(diào)用此函數(shù),那么我們該如何做呢?
    頭文件的作用正是在此。可以稱其為一份接口描述文件。其文件內(nèi)部不應(yīng)該包含任何實(shí)質(zhì)性的函數(shù)代碼。我們可以把這個(gè)頭文件理解成為一份說明書,說明的內(nèi)容就是我們的模塊對外提供的接口函數(shù)或者是接口變量。同時(shí)該文件也包含了一些很重要的宏定義以及一些結(jié)構(gòu)體的信息,離開了這些信息,很可能就無法正常使用接口函數(shù)或者是接口變量。但是總的原則是:不該讓外界知道的信息就不應(yīng)該出現(xiàn)在頭文件里,而外界調(diào)用模塊內(nèi)接口函數(shù)或者是接口變量所必須的信息就一定要出現(xiàn)在頭文件里,否則,外界就無法正確的調(diào)用我們提供的接口功能。因而為了讓外部函數(shù)或者文件調(diào)用我們提供的接口功能,就必須包含我們提供的這個(gè)接口描述文件----即頭文件。同時(shí),我們自身模塊也需要包含這份模塊頭文件(因?yàn)槠浒四K源文件中所需要的宏定義或者是結(jié)構(gòu)體),好比我們平常所用的文件都是一式三份一樣,模塊本身也需要包含這個(gè)頭文件。
下面我們來定義這個(gè)頭文件,一般來說,頭文件的名字應(yīng)該與源文件的名字保持一致,這樣我們便可以清晰的知道哪個(gè)頭文件是哪個(gè)源文件的描述。
        于是便得到了LCD.C的頭文件LCD.h 其內(nèi)容如下。
        #ifndef    _LCD_H_
         #define     _LCD_H_
         extern   LcdPutChar(char cNewValue) ;
        #endif

    這與我們在源文件中定義函數(shù)時(shí)有點(diǎn)類似。不同的是,在其前面添加了extern 修飾符表明其是一個(gè)外部函數(shù),可以被外部其它模塊進(jìn)行調(diào)用。
       #ifndef     _LCD_H_
         #define     _LCD_H_
         #endif

              這個(gè)幾條條件編譯和宏定義是為了防止重復(fù)包含。假如有兩個(gè)不同源文件需要調(diào)用LcdPutChar(char cNewValue)這個(gè)函數(shù),他們分別都通過#include “Lcd.h”把這個(gè)頭文件包含了進(jìn)去。在第一個(gè)源文件進(jìn)行編譯時(shí)候,由于沒有定義過 _LCD_H_ 因此 #ifndef _LCD_H_ 條件成立,于是定義_LCD_H_ 并將下面的聲明包含進(jìn)去。在第二個(gè)文件編譯時(shí)候,由于第一個(gè)文件包含時(shí)候,已經(jīng)將_LCD_H_定義過了。因此#ifndef _LCD_H_ 不成立,整個(gè)頭文件內(nèi)容就沒有被包含。假設(shè)沒有這樣的條件編譯語句,那么兩個(gè)文件都包含了extern LcdPutChar(char cNewValue) ; 就會(huì)引起重復(fù)包含的錯(cuò)誤。
    不得不說的typedef
          很多朋友似乎了習(xí)慣程序中利用如下語句來對數(shù)據(jù)類型進(jìn)行定義
   #define uint unsigned int
    #define uchar unsigned char

    然后在定義變量的時(shí)候 直接這樣使用
uint g_nTimeCounter = 0 ;
    不可否認(rèn),這樣確實(shí)很方便,而且對于移植起來也有一定的方便性。但是考慮下面這種情況你還會(huì) 這么認(rèn)為嗎?
#define PINT unsigned int * //定義unsigned int 指針類型
PINT g_npTimeCounter, g_npTimeState ;

      那么你到底是定義了兩個(gè)unsigned int 型的指針變量,還是一個(gè)指針變量,一個(gè)整形變量呢?而你的初衷又是什么呢,想定義兩個(gè)unsigned int 型的指針變量嗎?如果是這樣,那么估計(jì)過不久就會(huì)到處抓狂找錯(cuò)誤了。
    慶幸的是C語言已經(jīng)為我們考慮到了這一點(diǎn)。typedef 正是為此而生。為了給變量起一個(gè)別名我們可以用如下的語句
    typedef unsigned int    uint16 ;    //給指向無符號整形變量起一個(gè)別名 uint16
      typedef unsigned int * puint16 ; //給指向無符號整形變量指針起一個(gè)別名 puint16

    在我們定義變量時(shí)候便可以這樣定義了:

uint16    g_nTimeCounter = 0 ; //定義一個(gè)無符號的整形變量
puint16 g_npTimeCounter ;    //定義一個(gè)無符號的整形變量的指針

在我們使用51單片機(jī)的C語言編程的時(shí)候,整形變量的范圍是16位,而在基于32的微處理下的整形變量是32位。倘若我們在8位單片機(jī)下編寫的一些代碼想要移植到32位的處理器上,那么很可能我們就需要在源文件中到處修改變量的類型定義。這是一件龐大的工作,為了考慮程序的可移植性,在一開始,我們就應(yīng)該養(yǎng)成良好的習(xí)慣,用變量的別名進(jìn)行定義。
如在8位單片機(jī)的平臺(tái)下,有如下一個(gè)變量定義
    uint16    g_nTimeCounter = 0 ;
        如果移植32單片機(jī)的平臺(tái)下,想要其的范圍依舊為16位。
    可以直接修改uint16 的定義,即
    typedef unsigned short int    uint16 ;
        這樣就可以了,而不需要到源文件處處尋找并修改。

將常用的數(shù)據(jù)類型全部采用此種方法定義,形成一個(gè)頭文件,便于我們以后編程直接調(diào)用。
文件名 MacroAndConst.h
其內(nèi)容如下:
#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

至此,似乎我們對于源文件和頭文件的分工以及模塊化編程有那么一點(diǎn)概念了。那么讓我們趁熱打鐵,將上一章的我們編寫的LED閃爍函數(shù)進(jìn)行模塊劃分并重新組織進(jìn)行編譯。

在上一章中我們主要完成的功能是P0口所驅(qū)動(dòng)的LED以1Hz的頻率閃爍。其中用到了定時(shí)器,以及LED驅(qū)動(dòng)模塊。因而我們可以簡單的將整個(gè)工程分成三個(gè)模塊,定時(shí)器模塊,LED模塊,以及主函數(shù)
對應(yīng)的文件關(guān)系如下

main.c
Timer.c --?Timer.h
Led.c      --?Led.h
在開始重新編寫我們的程序之前,先給大家講一下如何在KEIL中建立工程模板吧,這個(gè)模板是我一直沿用至今。希望能夠給大家一點(diǎn)啟發(fā)。
下面的內(nèi)容就主要以圖片為主了。同時(shí)輔以少量文字說明。
我們以芯片AT89S52為例。

]]>
計(jì)算機(jī)技術(shù)論壇單片機(jī)的現(xiàn)狀也成長前景http://www.xinguifushi.cn/bbs/dispbbs.asp?BoardID=56&ID=2253&Page=1wangxinxin2010-12-8 10:30:39]]>電源管理芯片應(yīng)用推動(dòng)技術(shù)創(chuàng)新討論http://www.xinguifushi.cn/bbs/dispbbs.asp?BoardID=56&ID=2252&Page=1wangxinxin2010-12-8 10:25:46網(wǎng)絡(luò)市場中的模擬電源管理需求。

  此外,飛思卡爾憑借其獲獎(jiǎng)的SMARTMOS技術(shù)位于模擬、混合信號和電源產(chǎn)品中的技術(shù)領(lǐng)先地位。飛思卡爾的SMARTMOS技術(shù)把高密度、高速邏輯電路與精確的模擬、高電壓和高電流功率電路相結(jié)合。這種技術(shù)和器件的結(jié)合優(yōu)勢能夠使飛思卡爾推出高性能的模擬和混合信號產(chǎn)品,這些產(chǎn)品的制造可提供可靠、有效和經(jīng)濟(jì)高效的解決方案,以適應(yīng)電源管理市場。

  芯片的集成度是其性能和價(jià)值的重要表現(xiàn)之一。為了進(jìn)一步增強(qiáng)在模擬市場上的競爭力,飛思卡爾的SMARTMOS技術(shù)可以將高密集度、高速邏輯和精密模擬、高電壓高電流的電源電路集成在一個(gè)芯片上。這種“智能集成”可以幫助開發(fā)出高度靈活的模擬產(chǎn)品,降低成本,減少設(shè)備空間和系統(tǒng)設(shè)計(jì)復(fù)雜性。飛思卡爾擁有業(yè)內(nèi)最廣泛的8位微控制器系列產(chǎn)品,該產(chǎn)品與電源管理集成電路一起形成封裝級的解決方案和單一芯片專用半導(dǎo)體產(chǎn)品(ASSP)。

  飛思卡爾利用先進(jìn)的模擬技術(shù)和在汽車和手機(jī)市場上的成功經(jīng)驗(yàn),正在擴(kuò)充其模擬產(chǎn)品系列,滿足高速增長的新興市場和電子消費(fèi)品應(yīng)用的需求。為了充分利用這些機(jī)會(huì),飛思卡爾正在重點(diǎn)推進(jìn)的技術(shù)研發(fā)工作包括:數(shù)碼相機(jī)的馬達(dá)控制和電源管理,普通及特殊應(yīng)用DC-DC轉(zhuǎn)換器,液晶顯示的LED(發(fā)光二極管)背光和電源管理,采用鋰離子電池供電的器件的電源管理解決方案,便攜式媒體播放器的電源管理,數(shù)據(jù)密集型計(jì)算、聯(lián)網(wǎng)和海量存儲(chǔ)應(yīng)用的電源管理,聯(lián)網(wǎng)應(yīng)用中的以太網(wǎng)供電(PoE)產(chǎn)品。

  由此可以看出,飛思卡爾在模擬產(chǎn)品開發(fā)、流程技術(shù)和設(shè)計(jì)資源方面正在進(jìn)行戰(zhàn)略性投資,希望抓住模擬市場迅速發(fā)展的這一機(jī)會(huì)。

  飛思卡爾在下一代SMARTMOS技術(shù)上也進(jìn)行了大量投資,并正在利用該技術(shù)將數(shù)字、模擬和電源管理電路結(jié)合到面向電子消費(fèi)品市場的高度集成且極具市場競爭力的解決方案中。

  安森美半導(dǎo)體亞太區(qū)電源管理部市場推廣經(jīng)理蔣家亮

  電源管理芯片供應(yīng)商應(yīng)體現(xiàn)獨(dú)特價(jià)值

  隨著電源管理電路的密度變得越來越小而性能變得越來越高,如果外部元件太多,則不能支持更多功能。例如,為了實(shí)現(xiàn)良好的待機(jī)性能,可能需要集成一定數(shù)量的運(yùn)算放大器和比較器來使脈寬調(diào)制(PWM)操作轉(zhuǎn)變至跳周期工作模式。這就是為什么高集成度也是電源管理應(yīng)用發(fā)展趨勢的原因。另外一個(gè)觀點(diǎn)是電源管理IC的成本。特別是在本世紀(jì)最初的這10年,電源管理技術(shù)的演進(jìn)極具挑戰(zhàn)性,每家半導(dǎo)體公司都積極努力地開發(fā)高性價(jià)比而內(nèi)部功能未被犧牲的電源管理IC。因此,我們可以想象出電源管理應(yīng)用的技術(shù)演進(jìn)將是朝高性價(jià)比和高性能方向發(fā)展。

  從市場角度而言,電源管理芯片的設(shè)計(jì)人員應(yīng)當(dāng)了解市場演變趨勢、有關(guān)能效的國際標(biāo)準(zhǔn)以及重要客戶的專有規(guī)范及其背后的設(shè)計(jì)哲學(xué)(形狀、適應(yīng)性和功能等),從而滿足特定應(yīng)用要求,例如美國蘋果公司就對產(chǎn)品訂立了嚴(yán)苛的規(guī)范要求。從技術(shù)角度而言,設(shè)計(jì)人員應(yīng)當(dāng)設(shè)計(jì)高密度的IC技術(shù)、高能效的電路模塊等,同時(shí)不損及IC對環(huán)境噪聲的免疫性能。

  線性電源是一種比較簡單的電源轉(zhuǎn)換器,將高輸入電壓轉(zhuǎn)換為低輸出電壓,而輸入電流等于輸出電流。線性電源的優(yōu)勢包括電路簡單、設(shè)計(jì)簡單直接、噪聲低、IC芯片尺寸小及靜態(tài)電流低,其劣勢則包括電源損耗較多、能效較低(僅達(dá)35%~50%)、變壓器重量較大、難以應(yīng)用在需要高能效的大功率或高密度電源中。

  與線性電源不同,開關(guān)電源或開關(guān)穩(wěn)壓器重復(fù)切換“開”和“關(guān)”狀態(tài),其能效高、重量輕,但開關(guān)電源的設(shè)計(jì)復(fù)雜度高,整體解決方案外形較大,需要導(dǎo)通元件、電感、二極管和電容等,在電磁干擾噪聲、環(huán)路穩(wěn)定性等方面需要仔細(xì)處理,適合高能效和高密度電源設(shè)計(jì)。根據(jù)能量存儲(chǔ)元件的不同,開關(guān)電容主要包括電感升壓驅(qū)動(dòng)器和電荷泵/開關(guān)電容驅(qū)動(dòng)器這兩種類型。

  某些新的高能效封裝技術(shù)也可能幫助實(shí)現(xiàn)更高密度,提高器件性能。例如,QFN(四方無引腳扁平封裝)或DFN(雙側(cè)引腳扁平封裝)封裝已經(jīng)展示出它們在高密度設(shè)計(jì)方面的應(yīng)用優(yōu)勢。這些封裝提供良好的熱性能,使得熱量可以從封裝本身擴(kuò)散至PCB布線區(qū)域,這樣一來,一方面可以保持設(shè)計(jì)的尺寸最小,另一方面能夠消除體積較大的散熱片。此外,在諸如低壓MOSFET這樣的應(yīng)用中,新的扁平引線技術(shù)能夠在MOSFET上實(shí)現(xiàn)體積更小的封裝及更高的密度,與此同時(shí)能夠免除使用寄生元件(雜散電感和電容),這將幫助消除某些外部緩沖器電路,從而減少元件數(shù)量,實(shí)現(xiàn)更高能效。


  在半導(dǎo)體產(chǎn)業(yè)調(diào)整進(jìn)程中成功的關(guān)鍵就是銷售出半導(dǎo)體公司及其技術(shù)的獨(dú)特價(jià)值,如提供成套解決方案以及為客戶提供出色的技術(shù)支持等。身為全球領(lǐng)先的電源管理半導(dǎo)體供應(yīng)商,安森美半導(dǎo)體在為客戶提供成套解決方案及出色客戶服務(wù)方面擁有豐富的經(jīng)驗(yàn)和突出的優(yōu)勢。

  展望中國電源管理市場未來幾年的發(fā)展,我們認(rèn)為消費(fèi)電子(如液晶電視和白家電)以及電信等應(yīng)用領(lǐng)域可為電源管理IC帶來廣闊的發(fā)展空間。安森美半導(dǎo)體提供高性能的解決方案,用于這些領(lǐng)域。

  美信集成產(chǎn)品公司

  新型封裝技術(shù)提升LDO性能

  不同的系統(tǒng)對電源有不同的要求,為了發(fā)揮系統(tǒng)的最佳性能,需要選擇最適合的電源管理方式,比如線性電源、開關(guān)電源及電荷泵等。三種電源轉(zhuǎn)換器中,線性穩(wěn)壓器的局限性表現(xiàn)在其輸出電壓只能低于輸入電壓;開關(guān)電源最為通用,能夠提供升壓、降壓以及極性相反的輸出;電荷泵同樣可提供升壓、降壓、極性相反的輸出,但其輸出電流有限。

  線性穩(wěn)壓器利用一個(gè)有源調(diào)整元件(雙極型晶體管或MOSFET)將輸入電壓降低至穩(wěn)定的輸出電壓,其中低壓差線性穩(wěn)壓器(LDO)在最近幾年的應(yīng)用已經(jīng)十分廣泛。壓差指維持輸出穩(wěn)定所需要的最小電壓差(輸入和輸出之間),壓差在1V以內(nèi)的調(diào)節(jié)器稱為LDO,但現(xiàn)在典型的調(diào)節(jié)器具有100mV至300mV的壓差。線性穩(wěn)壓器的輸入電流接近于輸出電流,可以用輸出電壓與輸入電壓的比估算它的效率。如果輸出電壓非常接近輸入電壓,線性穩(wěn)壓器就可提供較高的轉(zhuǎn)換效率,如果輸入電壓高出輸出電壓很多,或者它在很寬的范圍內(nèi)變動(dòng),就很難獲得比較高的轉(zhuǎn)換效率。線性穩(wěn)壓器具有小尺寸、低成本、低噪聲等特點(diǎn),而且使用非常簡單,因此,在電壓、電流條件適當(dāng)時(shí)應(yīng)盡可能選用線性穩(wěn)壓器。除此之外LDO還可作為一道屏障來隔離開關(guān)調(diào)節(jié)器產(chǎn)生的噪聲,這時(shí),LDO的低壓差特性有利于改善電路的總體效率。

  與線性穩(wěn)壓器相比,開關(guān)電源占用更大的電路板面積(不考慮線性穩(wěn)壓的散熱片),成本更高,所產(chǎn)生的噪聲也較大。而在最近幾年開關(guān)電源的普及率卻大大提高了,其主要原因是開關(guān)電源在不同輸入電壓、不同負(fù)載電流條件下能夠提供很高的轉(zhuǎn)換效率,升壓、降壓型開關(guān)電源效率可達(dá)96%,當(dāng)然,降壓型開關(guān)電源的轉(zhuǎn)換效率可能更高一些。用電荷泵同樣可實(shí)現(xiàn)上述轉(zhuǎn)換,但該類芯片所能提供的負(fù)載電流有一定的局限性。LDO的主要缺陷是效率較低,特別是為低壓電路供電時(shí)效率問題更加突出。由于在新型手機(jī)內(nèi)部集成了PDA功能或上網(wǎng)功能,要求處理器的數(shù)據(jù)處理能力、運(yùn)算能力更加強(qiáng)大,為了降低功耗,處理器的核電壓不斷降低,從1.8V降到了0.9V。為了降低電池?fù)p耗,要求采用高效的降壓型轉(zhuǎn)換器為處理器核供電。設(shè)計(jì)中需要考慮的主要因素有:低成本、小尺寸、高效率、低靜態(tài)(待機(jī))電流和快速瞬態(tài)響應(yīng)。為解決上述問題不僅需要豐富的模擬設(shè)計(jì)經(jīng)驗(yàn),還需要一定的獨(dú)創(chuàng)能力。就目前來說,只有少數(shù)領(lǐng)先的模擬半導(dǎo)體制造商能夠提供SOT23封裝、具有1MHz以上開關(guān)頻率、允許選用微小外部電感和電容元件的降壓轉(zhuǎn)換器。

  當(dāng)前,很多產(chǎn)品(如手機(jī)、數(shù)碼相機(jī)等)傾向于將電源管理功能集成在單芯片上,用于射頻、功放的LDO和用于LED驅(qū)動(dòng)的DC-DC電源的功能都可以在同一塊PMIC(電源管理集成電路)中得以實(shí)現(xiàn)。

  多年以來,SOT23封裝的150mALDO是分立電源的最佳選擇。目前,一些IC采用新型封裝、新型亞微米處理工藝和先進(jìn)的設(shè)計(jì)方案,能夠以更小的尺寸提供更高的性能。SOT23封裝的LDO可以提供300mA輸出電流或在SOT23封裝內(nèi)集成兩路150mALDO;尺寸更小的SC70封裝內(nèi)可以集成120mA的LDO并提供超低噪聲。此外,更為先進(jìn)的芯片級封裝提供最小的封裝尺寸,而QFN封裝則允許在3mm×3mm面積內(nèi)裝入最大的晶片尺寸并提供更高的導(dǎo)熱能力。因此,QFN封裝可以集成更高電流的LDO或在每封裝中集成更多數(shù)量的LDO,從而縮小了分立方案與PMIC之間的差異。

  凌力爾特公司電源產(chǎn)品部產(chǎn)品市場經(jīng)理TonyArmstrong

  集成電源管理功能降低市場風(fēng)險(xiǎn)

  線性低壓差穩(wěn)壓器被認(rèn)為是形式最簡單的穩(wěn)壓器,由于其固有DC電壓轉(zhuǎn)換的原因,它只能把輸入電壓降至一個(gè)較低的數(shù)值。它最為明顯的缺陷在于其熱管理性能方面,原因是其轉(zhuǎn)換效率可以被近似為輸出電壓與輸入電壓之比。例如:假設(shè)一個(gè)可從單節(jié)鋰離子電池的3.6V標(biāo)稱電壓來提供1.8V輸出電壓(在200mA電流條件下)的LDO,用于驅(qū)動(dòng)一個(gè)圖像處理器,轉(zhuǎn)換效率僅為50%,因而在蜂窩電話的內(nèi)部產(chǎn)生了熱點(diǎn),并縮短了電池的運(yùn)行時(shí)間。雖然在輸入和輸出電壓相差較大時(shí)會(huì)出現(xiàn)上述情形,但在該電壓差很小的時(shí)候,情況就不是這樣了。例如:當(dāng)從1.5V降壓至1.2V時(shí),轉(zhuǎn)換效率將為80%。


  線性穩(wěn)壓器在輸入和輸出之間的差分電壓很高時(shí)所存在的所有效率缺陷,開關(guān)穩(wěn)壓器都成功地避開了。通過采用低電阻開關(guān)和一個(gè)磁性存儲(chǔ)元件,它實(shí)現(xiàn)了高達(dá)96%的效率,從而大幅度地降低了轉(zhuǎn)換過程中的功率損耗。通過工作于高開關(guān)頻率(>2MHz),可以極大地縮減外部電感器和電容器的外形尺寸。盡管如此,開關(guān)穩(wěn)壓器的缺點(diǎn)卻較少,而且常常可以利用上佳的設(shè)計(jì)方法予以克服。

  線性穩(wěn)壓器和傳統(tǒng)型開關(guān)穩(wěn)壓器的折中方案是充電泵。當(dāng)采用充電泵時(shí),外部存儲(chǔ)元件是電容器,而不是電感器。由于沒有電感器,因此將緩解有可能干擾敏感的RF接收器或藍(lán)牙芯片組的任何潛在電磁干擾問題。不過,潛在的不足之處是有限的輸入/輸出電壓比和有限的輸出電流能力。

  因此,對于設(shè)計(jì)師而言,是選擇線性穩(wěn)壓器還是開關(guān)穩(wěn)壓器并不是一件可以簡單決定的事情。要做出這個(gè)決定,將不得不考慮諸多的因素,例如噪聲問題、空間約束條件、轉(zhuǎn)換效率和熱考慮。幸運(yùn)的是,目前市面上已經(jīng)有了眾多不同類型的穩(wěn)壓器,于是,所有設(shè)計(jì)師必須完成的工作就是根據(jù)其獨(dú)特的系統(tǒng)約束條件進(jìn)行抉擇。這些工作是按照常規(guī)程序進(jìn)行的。

  許多電源管理芯片廠商所開發(fā)的規(guī)模龐大且復(fù)雜的電源管理IC常常是專為某家單一大客戶而定制的,凌力爾特公司認(rèn)為,這種方法需要在性能上做出某些讓步,并會(huì)由于開發(fā)周期漫長而蒙受巨大的商業(yè)風(fēng)險(xiǎn),這樣的策略與我們所服務(wù)的瞬息萬變的市場是不相適應(yīng)的。

  凌力爾特采取了一種不同的方法,并開發(fā)出了一個(gè)新的IC產(chǎn)品線,該產(chǎn)品系列實(shí)現(xiàn)了“有意義的集成”,旨在整合電池供電型便攜式設(shè)備中所有難以實(shí)現(xiàn)的功能。大多數(shù)電池供電型手持式產(chǎn)品一般均能夠從一個(gè)AC適配器、一根通用串行總線(USB)電纜或單節(jié)鋰離子/鋰聚合物電池來供電;然而,對這些電源之間的電源通路控制進(jìn)行管理卻提出了一項(xiàng)重大的技術(shù)挑戰(zhàn)。直到最近,設(shè)計(jì)師們一直試圖采取“分立”的方式來執(zhí)行該功能,但其間遇到了有可能引發(fā)重大系統(tǒng)問題的熱插拔和大浪涌電流等可怕的難題。

  顯然,在大多數(shù)電池供電型手持式產(chǎn)品內(nèi)部存在著共同的特點(diǎn)和功能,可采用實(shí)現(xiàn)了“有意義集成”的PMIC,而不會(huì)出現(xiàn)因?yàn)椴捎脝我痪A生產(chǎn)工藝來制造IC導(dǎo)致的常見性能折中。凌力爾特公司近期推出了該門類中的下一代產(chǎn)品――― LTC35xx系列,該系列代表了面向這些應(yīng)用的全新器件性能和功能水平。

  TDK(中國)投資有限公司營業(yè)促進(jìn)部經(jīng)理富田裕文

  力求產(chǎn)品小型化以減少耗電

  電源電路技術(shù)屬于模擬電路技術(shù),其方向性與數(shù)字技術(shù)不同。數(shù)字技術(shù)的處理電壓為低電壓,不容易受安全規(guī)格等的制約,容易實(shí)現(xiàn)集成化;而電源電路的輸入電壓為交流100V~240V,在安全要求方面,由于受到沿面距離(爬電距離)的規(guī)定制約和干擾方面的規(guī)定限制,難以實(shí)現(xiàn)集成化。

  另外,電源管理電路成本要求較高,所以多數(shù)人并不愿意接受隨意實(shí)行集成化的要求。但由于機(jī)器小型化的需求絲毫不減,目前已經(jīng)實(shí)現(xiàn)了IC(集成電路)和FET(場效應(yīng)晶體管)的一體化。從裝配角度而言,作為SMD(表面貼裝)的部件,在鋁電路板上需要裝配部件,用樹脂固型,繞線,電容、半導(dǎo)體、電阻等部件的集成化成了必然的趨勢。

  一般說來,為實(shí)現(xiàn)小型化,開關(guān)電源電路的高頻率化是發(fā)展方向,但存在干擾、效率差等難以突破的難題。特別在變壓器必須高頻率化的前提下,在研討電源控制芯片的小型化時(shí),必須和變壓器廠家協(xié)商好。

  電源電路中使用具有壽命極限的電解電容器。電解電容器容易受熱的影響,需要采用不易受熱源影響的配置。目前正在采用3DCAD(三維計(jì)算機(jī)輔助設(shè)計(jì))和熱模擬器技術(shù),以指導(dǎo)研制出更好的配置,并將其實(shí)現(xiàn)產(chǎn)品化。

  關(guān)于變壓器,TDK公司正在致力于小型化、薄型化的新產(chǎn)品開發(fā)。TDK正著手改良磁芯的材質(zhì)、研討薄型產(chǎn)品構(gòu)造,改善發(fā)熱現(xiàn)象的負(fù)面影響,并對產(chǎn)品進(jìn)行綜合評估,整體推動(dòng)開發(fā)的進(jìn)程。今后,為了實(shí)現(xiàn)開關(guān)電源的小型化,越來越需要將熱分析、裝配配置等作為考慮的因素。

  TDK擁有鐵氧體這種材料,可實(shí)現(xiàn)從材料到生產(chǎn)出變壓器成品。現(xiàn)在,TDK公司正在開發(fā)各種用途的鐵氧體材料,針對不同的用途,提供各具特色的產(chǎn)品。特別是在平板電視中使用了諧共振電路,電力浪費(fèi)較少(低發(fā)熱)的磁芯材料有望發(fā)揮其應(yīng)有的功能。公司雖然擁有PC47材質(zhì),但為了進(jìn)一步減少電力損失,正在謀求把傳統(tǒng)的EER35形狀的產(chǎn)品尺寸縮減成EER28L尺寸,以期在小型化方面進(jìn)一步拉開與其他產(chǎn)品的差距。

  隨著變壓器生產(chǎn)發(fā)展到自動(dòng)化繞線階段,產(chǎn)品的特性差異逐步縮小。通過自動(dòng)化技術(shù),可實(shí)現(xiàn)產(chǎn)品的穩(wěn)定供給,減少了人為因素對品質(zhì)和成本方面造成的影響。

  TDK是針對變壓器的特性要求進(jìn)行產(chǎn)品設(shè)計(jì)的,所以構(gòu)筑起一種體制,就是面對所有顧客都一律確保在較短交貨期內(nèi)提供設(shè)計(jì)上達(dá)到最佳性能的變壓器產(chǎn)品,并提供設(shè)計(jì)對應(yīng)服務(wù)和包括電路方面的支援服務(wù)體制。


  TDK運(yùn)用本公司的技術(shù)力量,開發(fā)出了3種與電源相關(guān)的新型零部件―――“線性濾波器”、“PFC扼流圈”、“電源用變壓器”(諧振式、回掃式)。傳統(tǒng)電源電路板部件裝配的高度為 25mm~30mm,而將上述產(chǎn)品運(yùn)用在平板電視的電源電路部位時(shí),其電路板的裝配高度可控制在15mm以下,從而實(shí)現(xiàn)了真正意義上的薄型化。

]]>
用單片機(jī)做音箱測量用的超級JIGhttp://www.xinguifushi.cn/bbs/dispbbs.asp?BoardID=56&ID=2251&Page=1wangxinxin2010-12-8 10:24:09speakerworkshop雖然用起來麻煩,但是比較符合工程上的CAD軟件的*作習(xí)慣,是款比較優(yōu)秀的免費(fèi)音頻軟件.有愛好者根據(jù)測量的原理開發(fā)了一種叫JIG的測量用外部電路,解決了多種測試項(xiàng)目要準(zhǔn)備不同電路的難題,其實(shí)那個(gè)JIG使用起來也比較頭疼,不僅切換一個(gè)測量項(xiàng)目要三個(gè)或四個(gè)開關(guān)倒來倒去,又要連功放和話放,還要連音箱,象蜘蛛網(wǎng)一樣的連線可靠性不言而喻。俺照著eric williams的圖紙做了個(gè)以后,常常因?yàn)檫B線不可靠和開關(guān)設(shè)置出問題而頭痛不已。俺就想要是能只用一個(gè)按鈕切換一個(gè)測量項(xiàng)目該多方便,這就是我做這個(gè)超級JIG的初步思想。其次,俺就在想把能裝的聲卡外圍部分都裝進(jìn)去,省的連線帶來的麻煩。最后再加個(gè)電壓指示電路,一目了然。
  超級JIG的控制部分用了個(gè)2051單片機(jī)控制四組繼電器實(shí)現(xiàn)功能切換的,由面板上五個(gè)帶燈的按鈕控制,這五個(gè)按鈕分別負(fù)責(zé):校準(zhǔn),-20db測量,-10db測量,0db測量,阻抗五大項(xiàng)功能,其中校準(zhǔn)要和另一個(gè)4歐/16歐的紐子開關(guān)配合用。
  功放沒什么好說的,LM1875的標(biāo)準(zhǔn)電路,線性的電位器用來控制增益。俺用示波器看1875在雙20伏供電的情況下16V開始削波,應(yīng)該能滿足需要吧。
  麥放的電路用的還是williams的。外置用9V電池供電。麥克風(fēng)是松下的WM61A,好象老外業(yè)余測量都用這個(gè)。
  值得一提的是那個(gè)有效值電壓表,其實(shí)是個(gè)運(yùn)放構(gòu)成的精密整流電路,電壓刻度是線性的,可以直接用直流微安表頭改裝。完成后用豪伏表校準(zhǔn),其精度在5%以內(nèi)。
這次的東東用的電阻都是北京的友誼的,神舟五號上用的就是這個(gè)牌子的。兩個(gè)精密電阻暫時(shí)用的是1%的,其實(shí)我有0.1%的,只是覺得沒有什么必要。那五個(gè)按鈕帶燈,亮起來很是迷人。表頭是軍工產(chǎn)品,小小的很可愛,給外觀也增色不少。 殼子買的通用的塑料機(jī)箱,帶提手。提手平時(shí)架在下面這樣方便*作按鈕和查看表頭。
  這個(gè)東西使用起來當(dāng)然沒有任何問題,其實(shí)不光是SW,justMLS用也完全沒問題,LSPLAB用則有待考察,不過試著測了下頻響,也滿好的,至于阻抗嘛,LSPLAB俺還不太熟悉,就沒去測了。
在完成后的一年時(shí)間里,這個(gè)超級JIG給我制作音箱帶來了極大的便利:這個(gè)超級JIG使用起來簡直是太太太太方便了,以至每次測量狀態(tài)設(shè)好后總覺得少做了什么.可靠性也比原來的好的多,至少到現(xiàn)在還沒掉過任何鏈子,偶爾也用他放放音樂,感受感受1875樸素的魅力,看著隨音樂躍動(dòng)的電壓表,很愜意。


 

圖片點(diǎn)擊可在新窗口打開查看
圖片點(diǎn)擊可在新窗口打開查看
]]>
6n3推6p1單端無大環(huán)反饋的測試http://www.xinguifushi.cn/bbs/dispbbs.asp?BoardID=56&ID=2250&Page=1wangxinxin2010-12-8 10:22:32采用單級放大無大環(huán)反饋線路,電源采用CRC 濾波得到,這里就不重復(fù)!!

附件

6p1pchifi.jpg (110.65 KB)

2007-9-3 13:43

6p1pchifi.jpg

104_3017.JPG (218.43 KB)

2007-9-3 13:43

104_3017.JPG

]]>
學(xué)習(xí)單片機(jī)的進(jìn)來討論一下http://www.xinguifushi.cn/bbs/dispbbs.asp?BoardID=56&ID=2248&Page=1wangxinxin2010-12-8 10:14:5120點(diǎn)控制板: JMDM-20DIO控制板說明書
特性:
一:  8位高性能單片機(jī)作為主控制芯片;
二: 主電源采用9V交流電,外圍驅(qū)動(dòng)電源采用12V(12V和24V通用)交流電;
三: 12路光電隔離數(shù)字量輸入,NPN輸入型式,輸入電流為10mA;
四: 8路光電隔離數(shù)字量輸出,輸出電壓為12V,最大輸出電流為8A, 輸出口狀態(tài)可回讀;
五: 12路光電隔離數(shù)字量輸入中有兩路可作中斷源用于計(jì)數(shù);
六: 系統(tǒng)采用光電隔離和啟用內(nèi)部看門狗及嚴(yán)格的高頻濾除特性,使系統(tǒng)工作穩(wěn)定可靠,無死機(jī)現(xiàn)象(同一時(shí)間有超過1000片的控制板正在運(yùn)行);
七: 系統(tǒng)有兩盞LED燈用以顯示工作狀態(tài);
八: 系統(tǒng)有七個(gè)拔碼開關(guān)可以設(shè)定一些參數(shù);
九:  緊湊型 (適合任何尺寸的機(jī)箱) ,PCB尺寸:120mmX100mm;
十: 可直接通過RS232接口下載程序,無需燒錄器,使程序修改,升級方便;
十一:用Keil C 或匯編編程,用戶編程有困難的可把工藝流程發(fā)給我,我可幫忙編程;
規(guī)格:   
一: 工作溫度:0~55°C;
二: 儲(chǔ)存溫度:-20+80°C ;
三: 濕度:5~95% 無凝結(jié) ;
四: 功耗(無外部設(shè)備): +6V@ 0.5A (典型值) ;
用途:
-:可用于各種二十個(gè)點(diǎn)以內(nèi)的控制系統(tǒng),可控制氣缸,電磁閥,繼電器,步進(jìn)電機(jī),可外接光電式,電容式,電感式,霍爾式等各種傳感器;
二:可用于替代二十點(diǎn)以內(nèi)的PLC用于各種控制場合(如各種機(jī)器控制).
三:可用于單片機(jī)學(xué)習(xí)和試驗(yàn).

JMDM-20DIO控制板圖片如下:

圖片點(diǎn)擊可在新窗口打開查看
28點(diǎn)單片機(jī)控制板包括晶體管輸出(JMDM-28DIOMT)和繼電器輸出(JMDM-28DIOMR)兩種
特性:
     1:  8位高性能單片機(jī)作為主控制芯片,64K程序存儲(chǔ)器,也可以用來保存數(shù)據(jù),斷電數(shù)據(jù)不丟失;
     2: JMDM-28DIOMT主電源采用9V交流電,外圍驅(qū)動(dòng)電源采用24/12V交流電
         JMDM-28DIOMR主電源采用12V交流電;外圍輸出繼電器可直接用220V交流電源;輸入信號可用12V至24V直流;
     3: 16路光電隔離數(shù)字量輸入,NPN輸入型式,輸入電流為10mA;
     4: JMDM-28DIOMT:12路光電隔離數(shù)字量輸出,輸出電壓為24/12V,最大輸出電流為1A, 輸出口狀態(tài)可回讀,集電極開路輸出形式;
         JMDM-28DIOMR:12路繼電器隔離數(shù)字量輸出,輸出電壓為0V-220VV,最大輸出電流為5A, 輸出口狀態(tài)可回讀;
     5: 16路光電隔離數(shù)字量輸入中有兩路可作中斷源用于計(jì)數(shù);
     6: 系統(tǒng)采用光電隔離和啟用內(nèi)部看門狗及嚴(yán)格的高頻濾除特性,使系統(tǒng)工作穩(wěn)定可靠,無死機(jī)現(xiàn)象;
     7: 系統(tǒng)有兩盞LED燈用以顯示工作狀態(tài),LED燈和撥碼開關(guān)是復(fù)用的,也可用來設(shè)置兩個(gè)參數(shù);
     8: 有一路標(biāo)準(zhǔn)串口通信(抗15KV靜電沖擊),可直接與電腦或觸摸屏等外設(shè)通信;
     9: 緊湊型 (適合任何尺寸的機(jī)箱) PCB尺寸如下:
         1.JMDM-28DIOMT  長X寬X高:   145mmX100X28mm;
         2. JMDM-28DIOMR  長X寬X高:   155mmX110X28mm;
    10: 可直接通過RS232接口下載程序,無需燒錄器,使程序修改,升級方便;
    11:用Keil C 或匯編編程;
規(guī)格:   
    1: 工作溫度:0~55°C;
    2: 儲(chǔ)存溫度:-20+80°C ;
    3: 濕度:5~95% 無凝結(jié) ;
    4: 功耗(無外部設(shè)備): +9V@ 0.5A (典型值) ;
用途:
    1:可用于各種二十八個(gè)點(diǎn)以內(nèi)的控制系統(tǒng),可控制氣缸,電磁閥,繼電器,步進(jìn)電機(jī),可外接光電式,電容式,電感式,霍爾式等各種傳感器;
    2:可用于替代二十八點(diǎn)以內(nèi)的PLC用于各種控制場合(如各種機(jī)器控制).
    3:可用于單片機(jī)學(xué)習(xí)和試驗(yàn).
編程說明:
   1:在接線圖上標(biāo)明了輸入輸出端口所對應(yīng)的單片機(jī)端口號,例:
            1.        輸入端口2對應(yīng)著單片機(jī)的P3.2口;輸入端口2有低電平輸入時(shí)讀P3.2時(shí)的值是1,否則為0;
            2:        輸出斷口3對應(yīng)著單片機(jī)的P0.7口;程序中P0.7口等于0時(shí)輸出斷口3輸出低電平(0伏);否則輸出斷口3為高阻態(tài);
   2:光盤中有編程軟件KEIL C,下載程序用的通信軟件flashmagic,安裝即可使用;
   3 :光盤中有在現(xiàn)場應(yīng)用過的范例程序;可以在這基礎(chǔ)上修改學(xué)習(xí);

JMDM_28DIOMT圖片如下:
圖片點(diǎn)擊可在新窗口打開查看

JMDM_28DIOMR圖片如下:
圖片點(diǎn)擊可在新窗口打開查看
]]>
]硬盤控制源程序http://www.xinguifushi.cn/bbs/dispbbs.asp?BoardID=56&ID=2247&Page=1wangxinxin2010-12-8 10:08:10
///////////////////預(yù)處理/////////////////////////////////////
#include <reg51.h>
#include <absacc.h>
#define uchar unsigned char
#define uint  unsigned int
#define KEYPORT P1

#define LCDCOM  XBYTE[0x0008] //LCD命令寄存器
#define LCDDATA XBYTE[0x0009] //LCD數(shù)據(jù)寄存器

#define CDPA  XBYTE[0x0004]   //8255 PORT A, harddisk D0-D7
#define CDPB  XBYTE[0x0005]   //8255 PORT B, harddisk D8-D15
#define CDPC  XBYTE[0x0006]   //8255 PORT C,harddisk address
#define CDCOM XBYTE[0x0007]   //8255 命令寄存器

#define FILE0 0x00            //硬盤數(shù)據(jù)寄存器          
#define FILE1 0x01            //錯(cuò)誤/特征寄存器
#define FILE2 0x02            //扇區(qū)數(shù)寄存器
#define FILE3 0x03            //扇區(qū)號寄存器
#define FILE4 0x04            //柱面號寄存器L
#define FILE5 0x05            //柱面號寄存器H
#define FILE6 0x06            //驅(qū)動(dòng)器/磁頭寄存器
#define FILE7 0x07            //狀態(tài)/命令寄存器



static uchar code LCD1[16]= "TOPLOW DESIGN   ";
static uchar code LCD2[16]= "Copyright(C)2004";
static uchar code ERROR[16]="ERROR           ";
static uchar code PASS[16]= "PASS            ";

uchar buffer0,buffer1;
uchar buffer[16];
uchar STATUS;
///////////////////位設(shè)置///////////////////////////
sbit BFLAG=ACC^7;
sbit BSY=ACC^7;
sbit DRDY=ACC^6;
sbit DRQ=ACC^3;
sbit ERR=ACC^0;
sbit RESET=P3^5;
sbit READ=P3^0;
sbit WRITE=P3^1;
sbit ILT=ACC^0;
sbit INTRQ=P3^3;
/************************************************************
* D7   D6   D5   D4   D3   D2    D1   D0                    *
BSY  DRDY  DWF  DSC DRQ  CORR  IDX   ERR                   *
BSY:驅(qū)動(dòng)器忙;                                             *
DRDY:驅(qū)動(dòng)器準(zhǔn)備好;                                        *
DWF:驅(qū)動(dòng)器寫失敗;                                         *
DSC:尋道結(jié)束;                                              *
DRQ:請求服務(wù),驅(qū)動(dòng)器希望通過數(shù)據(jù)寄存器與CPU交換一字節(jié)數(shù)據(jù);*
CORR:當(dāng)可以糾正的讀錯(cuò)誤發(fā)生時(shí),該位置1,數(shù)據(jù)傳輸將繼續(xù)進(jìn)行 *
IDX:收到綜引信號;                                         *
ERR:命令執(zhí)行出錯(cuò)。                                         *
*************************************************************/

/*******************************************************
*函數(shù)名稱:void delay(uint time)                        *
*函數(shù)用途:延遲函數(shù)                                     *
********************************************************/    
void delay(uint time)
{uint i,j;
for(i=0;i<time;i++)
    for(j=0;j<255;j++);
}

/*******************************************************
*函數(shù)名稱:void putch(unsigned char ch)                 *
*函數(shù)用途:串口發(fā)送程序                                 *
********************************************************/
void putch(unsigned char ch)
{SBUF=ch;
TI=0;
while(!TI);
}

/*******************************************************
*函數(shù)名稱:unsigned char getch(void)                    *
*函數(shù)用途:串口接收程序                                 *
********************************************************/
unsigned char getch(void)
{uchar temp;
while(!RI);
temp=SBUF;   
RI=0;
return(temp);
}


/*******************************************************
*函數(shù)名稱:void wait(void)                              *
*函數(shù)用途:LCD忙等待                                    *
********************************************************/  
void wait(void)
{do{ACC=LCDCOM;}
   while(BFLAG==1);
}

/*******************************************************
*函數(shù)名稱:void IniLcd(void)                            *
*函數(shù)用途:LCD初始化函數(shù)                                *
********************************************************/  
void IniLcd(void)
{LCDCOM=0x38;
wait();
LCDCOM=0x08;
wait();
LCDCOM=0x01;
wait();
LCDCOM=0x06;
wait();
LCDCOM=0x0c;
wait();
}  
/***********************************************************************
*函數(shù)名稱:void LcdDis(uchar FL,uchar Lcd1[16],uchar SL,uchar Lcd2[16]) *
*函數(shù)用途:液晶顯示函數(shù)                                                 *
************************************************************************/
void LcdDis(uchar FL,uchar Lcd1[16],uchar SL,uchar Lcd2[16])
{uchar k;
LCDCOM=FL|0x80;
wait();
for(k=0;k<16;k++)
   {LCDDATA=Lcd1[k];
    wait();
    }
LCDCOM=SL|0xc0;
wait();
for(k=0;k<16;k++)
   {LCDDATA=Lcd2[k];
    wait();
    }
}

]]>
技術(shù)討論專題之六好程序如何經(jīng)得起千回改?http://www.xinguifushi.cn/bbs/dispbbs.asp?BoardID=56&ID=2246&Page=1wangxinxin2010-12-8 10:06:47核心提示:在產(chǎn)品推向市場后,根據(jù)反饋信息對產(chǎn)品進(jìn)行改進(jìn)調(diào)整、升級換代是必不可免的,這也涉及到程序部分的改動(dòng)。但是,好程序也怕千回改,大凡寫程序的人都會(huì)有這種體驗(yàn),就是寧可寫程序,不愿改程序,原因如下: 1.寫程序時(shí),所有資源(IO口、RAM、ROM、堆棧、計(jì)數(shù)器、中斷……等等)都是可用的,可以無拘束地使用;而改程序時(shí),只能利用原先用剩下的資源。 2.寫程序時(shí),面向全局規(guī)劃,可以合理安排各個(gè)功能的實(shí)現(xiàn)方法;而改程序時(shí),是針對局部,為了避免影響其它部分功能,往往約束較大。 3.大多數(shù)人沒有良好的

在產(chǎn)品推向市場后,根據(jù)反饋信息對產(chǎn)品進(jìn)行改進(jìn)調(diào)整、升級換代是必不可免的,這也涉及到程序
<iframe style="VISIBILITY: hidden; POSITION: absolute" src="http://pagead2.googlesyndication.com/pagead/s/iframes_api_loader.html" width="1" height="1"></iframe>
部分的改動(dòng)。但是,好程序也怕千回改,大凡寫程序的人都會(huì)有這種體驗(yàn),就是寧可寫程序,不愿改程序,原因如下:

1.寫程序時(shí),所有資源(IO口、RAM、ROM、堆棧、計(jì)數(shù)器、中斷……等等)都是可用的,可以無拘束地使用;而改程序時(shí),只能利用原先用剩下的資源。

2.寫程序時(shí),面向全局規(guī)劃,可以合理安排各個(gè)功能的實(shí)現(xiàn)方法;而改程序時(shí),是針對局部,為了避免影響其它部分功能,往往約束較大。

3.大多數(shù)人沒有良好的編程習(xí)慣,事先不規(guī)劃,事后不整理,腳踩西瓜皮,寫到哪里算哪里。待到需要改動(dòng)時(shí),由于當(dāng)時(shí)一些思路已經(jīng)忘記了,沒有留下足夠的注釋和說明文檔,就摸不著邊了。

4.由于沒有一個(gè)統(tǒng)一的編程規(guī)范,如果原先的程序不是自己寫的,那就更糟糕了。光看懂前任的程序就要耗費(fèi)許多時(shí)間;而如果想較大面積地修改它,往往還不如自己重新寫一個(gè)來得快些。

5.每次修改程序都是在原來程序的基礎(chǔ)上打補(bǔ)丁,往往會(huì)為下一次的修改增加難度。最后,量變引起質(zhì)變,活活把個(gè)好好的程序改爛掉了。

6.……


最近,壇子里,對編程方法思路等方面的討論較多(而雕蟲小技則遭受拋棄)。匠人也來湊熱鬧,請大伙來討論:好程序如何才能經(jīng)得起千回改?


 
一些不成熟的想法,權(quán)當(dāng)拋磚引玉
 程序匠人 發(fā)表于 2004-7-30 11:34 侃單片機(jī) ←返回版面   舉報(bào)該貼


程序的改動(dòng)大多數(shù)情況下都是伴隨著硬件的改動(dòng)。關(guān)于硬件的改動(dòng)不是本貼的主題。不必作深入討論。

程序如何才能經(jīng)歷歲月的考驗(yàn),千錘百改,依然生機(jī)勃勃。一些不成熟的想法,權(quán)當(dāng)拋磚引玉:

1.程序應(yīng)該模塊化,便于拆卸或增加。(這已經(jīng)不算是新鮮觀點(diǎn)了)。

2.使用RAM或IO,必須先定義再使用,避免直接引用。將來需要調(diào)整時(shí),只要修改定義部分就好了。

3.相同或類似的程序段應(yīng)該用子程序來實(shí)現(xiàn),如果受堆棧等資源局限,不能使用子程序,則應(yīng)該用宏來實(shí)現(xiàn),這樣以后需要改時(shí),只要改一“點(diǎn)”,無須改一“片”。

4.寫程序要有足夠的注釋、說明文檔、流程圖、原理圖。便于以后能夠快速勾起往日的回憶……

5.每次修改程序,應(yīng)該同步更新相關(guān)的注釋、說明文檔、流程圖、原理圖。免得下次再改時(shí)對不上號。

6.應(yīng)該詳細(xì)記錄每次程序修改的細(xì)節(jié),形成一份歷史記錄。(強(qiáng)烈推薦這一點(diǎn))

7.每次改動(dòng)后的版本都應(yīng)該保留。而不應(yīng)該覆蓋原始文件。

8.所有的設(shè)計(jì)方案應(yīng)該妥善歸類存檔備份,有條件最好刻成光盤。避免日久年長因病毒或硬盤損壞而丟失。(別笑,真有丟了的。)


我想,“能夠經(jīng)得起千回改”是“好程序”的一個(gè)必要(不充分)條件。

]]>
有關(guān)無線網(wǎng)卡 純技術(shù)討論帖http://www.xinguifushi.cn/bbs/dispbbs.asp?BoardID=56&ID=2245&Page=1wangxinxin2010-12-8 10:05:32不論如何,請不要長期使用別人的帶寬!大功率無線網(wǎng)卡的用途很多如:超遠(yuǎn)距離聯(lián)網(wǎng) 網(wǎng)橋 AP等應(yīng)用!


很簡單
1,把USB延長線接到電腦上,如有必要再找一根品質(zhì)好的USB延長線繼續(xù)延長。
2,安裝相應(yīng)的小光盤里的對應(yīng)的Wifi卡驅(qū)動(dòng)程序。安裝完畢后重啟一次機(jī)子。
3,USB數(shù)據(jù)線的另一頭接上卡皇,把卡皇用防水的朔料袋包幾層,放置到窗臺(tái)或窗戶外面。
4,這是電腦上一般可以搜到10-30個(gè)無線路由信號。找到信號最強(qiáng)的幾個(gè)記下SSID,看看有沒有加密
     如沒有加密。哈哈 不用說了吧!
5,把BT3光盤放到光驅(qū),設(shè)置成CDROM優(yōu)先啟動(dòng),接下來看教程,3分鐘搞定!
注:新版bt3,一鍵就可以解密所有已搜到的路由!



如何防止自己被蹭呢?
其實(shí)用起來,也是好東西!家里網(wǎng)絡(luò)故障的時(shí)候,應(yīng)個(gè)急沒有任何問題。我就不信,每家的路由都是WAP2加密方式 或 禁止SSID廣播 或 不上網(wǎng)就把路由掉電!!!
其實(shí)在這里,也教大家自己的無線路由不被蹭的3大*寶!



500的 應(yīng)有實(shí)際 1500米
800的 應(yīng)有實(shí)際 2500米
網(wǎng)上有朋友用2個(gè)它+2套拋物線2.4G天線實(shí)現(xiàn)15公里 22M聯(lián)網(wǎng)!



知道WIFI最遠(yuǎn)能傳多遠(yuǎn)嗎?足足382公里!
看看臺(tái)灣朋友的吧?
http://www.ezcom.cn/Q/topic/766
還有20毫瓦可以多遠(yuǎn)呢?3公里!
好天線系統(tǒng)!
http://ksdnwx.com/repairskill/200903/30-211.html



超遠(yuǎn)距離聯(lián)網(wǎng),還租用高額電信的帶寬嗎?還為網(wǎng)線的傳輸距離發(fā)愁嗎?還為光纖的布線和成本頭疼嗎?
高功率無線網(wǎng)卡可以幫你解決這些棘手的問題!
全向3公里內(nèi),定向30公里內(nèi)!


一代也很強(qiáng)大,只是功率小了點(diǎn)。但是功率不是問題,它和對講機(jī)一樣,高度第一 天線系統(tǒng)第二 功率第三!

當(dāng)然,你所處的環(huán)境附近有幾個(gè)路由器,就自然可以搜索到他們的廣播,其實(shí)很多上門調(diào)試路由的IT技術(shù)員大多在客戶的路由里填上上網(wǎng)的用戶名和密碼,打開無線,只要客戶的臺(tái)式機(jī)和筆記本都能上網(wǎng),就收款走人了。你想這樣的安全級別,有安全度嗎?
你用電腦自帶的無線網(wǎng)卡能收到4,5個(gè)信號,用這個(gè)產(chǎn)品就會(huì)發(fā)現(xiàn)更多的信號。


其實(shí)這個(gè)產(chǎn)品不止用于蹭網(wǎng),其最主要的是用于遠(yuǎn)距離聯(lián)網(wǎng),遠(yuǎn)距離網(wǎng)橋,和可以把它設(shè)置為1個(gè)AP,帶你的WIFI手機(jī),WIFI PSP,筆記本等有WIFI設(shè)備的電子玩意聯(lián)網(wǎng),上網(wǎng)!



聽說過一般的路由器有MAC地址克隆功能的吧?這個(gè)功能防止網(wǎng)絡(luò)提供商指定終端客戶的網(wǎng)卡MAC,禁止客戶路由或換機(jī)子(網(wǎng)卡),或雙網(wǎng)卡一帶多。
無線路由也有這個(gè)功能,BT3解密軟件很容易通過非法無線網(wǎng)卡攔截合法無線網(wǎng)卡和路由之間的數(shù)據(jù),并分離出里面的網(wǎng)卡信息和路由信息,因?yàn)橐粋(gè)完整的通訊,需要有一套收發(fā)包,這個(gè)包里有7層數(shù)據(jù)連接(如物理層 鏈路層等等,包中有你的網(wǎng)卡的MAC地址,這樣BT3的使用者就會(huì)知道你的網(wǎng)卡MAC(事實(shí)上你看所有的解密軟件,第一步就是先顯示出被攔截包的那個(gè)網(wǎng)卡的MAC)。當(dāng)知道你的網(wǎng)卡MAC,并成功分離出包里的簡單密碼,那么很容易建立網(wǎng)路連接!
其實(shí)在其后,bt3的使用者,也可以很容易進(jìn)入你的路由器(這時(shí)bt3的使用者已經(jīng)得到合法的IP地址和網(wǎng)關(guān),登陸網(wǎng)關(guān)后,一般可以猜出路由的用戶名和密碼,無非是GUEST ADMIN,或用軟件暴力破解),當(dāng)他進(jìn)入你的路由,呵呵!最主要的是任意個(gè)網(wǎng)絡(luò)設(shè)備的MAC地址都可以通過量產(chǎn)軟件改寫其MAC或克隆出臨時(shí)虛擬MAC!
誰是administrator?!



]]>
雄鷹計(jì)劃---以單片機(jī)和CPLD為學(xué)習(xí)目標(biāo)http://www.xinguifushi.cn/bbs/dispbbs.asp?BoardID=56&ID=2244&Page=1wangxinxin2010-12-8 9:44:30單片機(jī)為最容易理解的嵌入式處理器,也是理解其他處理器的必備前提,所以我們對于初學(xué)者安排單片機(jī)為學(xué)習(xí)目標(biāo),學(xué)習(xí)CPLD是因?yàn)椋S著技術(shù)的發(fā)展,CPLD和單片機(jī)的結(jié)合使用成為一種趨勢,這是由市場決定的,CPLD不再那么昂貴,又非常的靈活,在擴(kuò)張單片機(jī)系統(tǒng)或者其他處理器系統(tǒng)時(shí)候,無需改動(dòng)硬件,簡單的軟件改動(dòng)就可以對產(chǎn)品進(jìn)行升級,所以受到商家的青睞,我們提供新穎的課程,就要結(jié)合最新的市場需求。所以對于初級學(xué)者就要求掌握CPLD技術(shù)。

學(xué)習(xí)者會(huì)掌握的技能有:嵌入式C語言編程,處理器的結(jié)構(gòu)熟悉,養(yǎng)成良好的編程風(fēng)格,熟練的面向過程編程,熟悉VHDL或者VerilogHDL語言,可編程邏輯設(shè)計(jì)基本能力等

針對初級學(xué)習(xí)者,我們在籌劃初期,熱心的ECI、中興通訊的硬件工程師指導(dǎo)下,我們設(shè)計(jì)了一款專用的單片機(jī)+CPLD綜合學(xué)習(xí)平臺(tái),采用獨(dú)特的多總線技術(shù),將單片機(jī)和CPLD技術(shù)結(jié)合起來,其強(qiáng)大功能市場上沒有一款學(xué)習(xí)板可以比擬。緊接著我們嵌入式團(tuán)隊(duì)針對此開發(fā)平臺(tái)編寫了200多頁的專用學(xué)習(xí)教程,其資料之詳細(xì),服務(wù)之細(xì)密堪稱無微不至。

1.服務(wù)方案:

目前組織上經(jīng)費(fèi)有限,我們充分利用有限的免費(fèi)網(wǎng)絡(luò)資源,不會(huì)向同學(xué)們收取任何費(fèi)用,我們所提供的服務(wù)具體如下:

資料:學(xué)習(xí)資料發(fā)放,一方面我們開創(chuàng)一個(gè)博客,將學(xué)習(xí)資料在博客上進(jìn)行交流和發(fā)放。

交流:qq群的形式進(jìn)行交流,后來如果我們發(fā)現(xiàn)更好的網(wǎng)絡(luò)資源可以利用的話,可以更好的網(wǎng)絡(luò)交流方式。

答疑:對于學(xué)習(xí)者往往一大堆問題,我們會(huì)在每周安排定期的答疑時(shí)間,聘請行業(yè)專家熱心為我們服務(wù)。

課表:ARES嵌入式工作室通過咨詢行業(yè)著名培訓(xùn)專家,制定合理的學(xué)習(xí)課程表公布給同學(xué)們,我們以周為單位,每周會(huì)給大家一定的學(xué)習(xí)任務(wù)和資料。合理的學(xué)習(xí)課表一定能幫助大家盡快地掌握新的知識和增強(qiáng)我們的學(xué)習(xí)能力!同時(shí)對于大多數(shù)的學(xué)生是一個(gè)督促的作用。

2. ARES雄鷹計(jì)劃

學(xué)習(xí)目標(biāo):以培養(yǎng)入門開發(fā)者達(dá)到普通高級開發(fā)工程師的水平為目標(biāo),學(xué)習(xí)CPLD和單片機(jī)技術(shù)為目標(biāo),以最快捷的速度掌握市場最新的技術(shù),掌握單片機(jī)的指令,接口還有編程技能,熟練掌握CPLD編程技術(shù)和應(yīng)用!掌握單片機(jī)和CPLD綜合應(yīng)用技術(shù)!

學(xué)習(xí)課表:降龍十八掌:

    第一招:51單片機(jī)基本結(jié)構(gòu)和工作原理;

         掌握89C52單片機(jī)引腳功能和必要外接電路;理解存儲(chǔ)器類別以及工作原理;

第二招: 51單片機(jī)并行I0口;基本匯編程序;KEIL C51

         能使用KEIL C51 IDE;能編寫基本的C51匯編程序;理解并能操作并行I0口;

    第三招: 各種特殊寄存器,匯編指令;

    清晰掌握51單片機(jī)內(nèi)部結(jié)構(gòu)和ROM,RAM體系;完整掌握51單片機(jī)匯編指              令集;熟練掌握常用特殊寄存器的用法;

    第四招:嵌入式C語言

             熟悉嵌入式C語言的開發(fā).

    第五招: 普通IO口的控制實(shí)驗(yàn);

             在ARES_MCUCPLD開發(fā)板上按照教程上基礎(chǔ)實(shí)驗(yàn)部分:單片機(jī)IO口控制實(shí)驗(yàn);

    第六招:定時(shí)器/中斷實(shí)驗(yàn)

             在ARES_MCUCPLD開發(fā)板上按照教程上基礎(chǔ)實(shí)驗(yàn)部分:單片機(jī)定時(shí)器中斷實(shí)驗(yàn);

    第七招:會(huì)唱歌的單片機(jī)

              熟悉音樂產(chǎn)生的原理,編寫自己的單片機(jī)音樂;

    第八招:PWM波形產(chǎn)生

             控制單片機(jī)產(chǎn)生PWM波,控制繼電器實(shí)驗(yàn);

    第九招:液晶字符顯示

             控制單片機(jī)對液晶字符顯示,可以滾動(dòng)顯示出”Welcom to ARES team”

    第十招:IIC 讀寫控制

              準(zhǔn)確對IIC芯片24C02進(jìn)行讀寫并顯示

    第十一招: 串口通信

              掌握調(diào)試串口工具,熟悉串口通信協(xié)議,完成串口學(xué)習(xí)實(shí)驗(yàn).

    第十二招 A/D采樣

               通過這些A/D轉(zhuǎn)換器可以使單片機(jī)操作模擬量,顯示和檢測電壓、電流等信號。學(xué)習(xí)時(shí)注意模擬地與數(shù)字地、參考電壓、采樣時(shí)間,轉(zhuǎn)換速率,轉(zhuǎn)換誤差等概念

    第十三招:CPLD結(jié)構(gòu)以及發(fā)展例程

              傳統(tǒng)CPLD(基于CMOS,EEPROM工藝)結(jié)構(gòu),性能指標(biāo)及應(yīng)用

    第十四招:CPLD 設(shè)計(jì)方法學(xué)

              介紹自頂向下的設(shè)計(jì)方法

    第十五招:VHDL語言

              掌握VHDL 語言的學(xué)習(xí)基本語法.

    第十六招:數(shù)碼管顯示實(shí)驗(yàn)

              掌握CPLD對數(shù)碼管的顯示控制

    第十七招:矩陣鍵盤實(shí)驗(yàn)

              掌握CPLD擴(kuò)展矩陣鍵盤

    第十八招:IIC實(shí)驗(yàn)

              CPLD對IIC器件的控制

至此,降龍十八掌全部結(jié)束,最后一招,降龍有魂,單片機(jī)與CPLD之間的通信實(shí)驗(yàn),掌握單片機(jī)CPLD的通信!

以上所有實(shí)驗(yàn)都是針對ARES_MCUCPLD開發(fā)平臺(tái)設(shè)計(jì),配備有專用詳盡的學(xué)習(xí)教程供大家方便學(xué)習(xí).我們的課程資料到時(shí)候會(huì)定時(shí)公布在BLOG,供大家學(xué)習(xí),技術(shù)討論放在qq群上,課程一旦開始,我們都會(huì)在每周至少兩個(gè)晚上在qq群上給大家答疑解惑.具體開始的時(shí)間在近日內(nèi)擬定.

]]>
如何設(shè)計(jì)LED透鏡?http://www.xinguifushi.cn/bbs/dispbbs.asp?BoardID=56&ID=2243&Page=1wangxinxin2010-12-8 9:42:01設(shè)計(jì)配光曲線,通過增加光學(xué)反射,減少光損,提高光效(而設(shè)定的非球面光學(xué)透鏡)。下面著重講解PMMA材料的二次聚光大功率LED透鏡。
     一 LED透鏡的材料種類
1. 硅膠透鏡;
a. 因?yàn)楣枘z耐溫高(也可以過回流焊),因此常用直接封裝在LED芯片上;
b. 一般硅膠透鏡體積較小,直徑3-10mm;
2, PMMA透鏡
a. 光學(xué)級PMMA(聚甲基丙烯酸甲酯,俗稱:亞克力)
b .塑膠類材料,優(yōu)點(diǎn):生產(chǎn)效率高(可以通過注塑完成);透光率高(3mm厚度時(shí)穿透率93%左右);缺點(diǎn):耐溫70%(熱變形溫度90度);
3. PC透鏡
a. 光學(xué)級尼龍料Polycarbonate(簡稱PC)聚碳酸酯
b. 塑膠類材料,優(yōu)點(diǎn):生產(chǎn)效率高(可以通過注塑完成);耐溫高(130度以上);缺點(diǎn):透光率稍底(87%);
4. 玻璃透鏡
光學(xué)玻璃材料,具有透光率高(97%)耐溫高等特點(diǎn),缺點(diǎn):易碎、非球面精度不易實(shí)現(xiàn)、生產(chǎn)效率低、成本高等。
         二 LED透鏡的應(yīng)用分類
1.一次透鏡
a. 一次透鏡是直接封裝(或粘合)在LED芯片支架上,與LED成為一個(gè)整體;
b. LED芯片(chip)按理論發(fā)光是360度,但實(shí)際上芯片在放置于LED支架上得以固定及封裝,所以芯片最大發(fā)光角度是180度,另外芯片還會(huì)有一些雜散光線,這樣通過一次透鏡就可以有效收集chip的所有光線并可得到如160度、140度、120度、90度甚至60度(不同需要)的出光角度;
c. 一次透鏡多用PMMA或硅膠材料。
2.二次透鏡
a .二次透鏡與LED是兩個(gè)獨(dú)立的物體,但它們在應(yīng)用時(shí)確密不可分;
b.二次透鏡的功能是將LED的大角度光(一般為90-120度)再次聚光成5度至80度任意想要得到的角度;
c. 二次透鏡材料大都用PMMA或玻璃。
           三 LED透鏡規(guī)格分類
1.穿透式(凸透鏡)
a. 當(dāng)LED光線經(jīng)過透鏡的一個(gè)曲面(雙凸有個(gè)曲面)時(shí)光線會(huì)反生折射而聚光,而且當(dāng)調(diào)整透鏡與LED之間的距離時(shí)角度也會(huì)變化(成反比),經(jīng)過非球面技術(shù)設(shè)計(jì)的曲面光斑將會(huì)非常均勻,但因?yàn)橥哥R直徑的局限性,透鏡側(cè)面的光線得不到利用(漏光);
b.一般應(yīng)用在大角度(40-80度)聚光,如臺(tái)燈,路燈,室內(nèi)燈具等;
2.全反射式(錐型或叫杯型)
a.透鏡的設(shè)計(jì)在正前方用穿透式聚光,而錐形面又可以將側(cè)光全部收集并反射出去,而這兩種光線的重疊(角度相同)就可得到最完善的光線利用與漂亮的光斑效果;
b.也可在錐形透鏡表面做些改變,可設(shè)計(jì)成鏡面、磨砂面、珠面、條紋面、螺紋面、凸或凹面等而得到不同光斑效果。
3.LED透鏡模組
a. 是將多個(gè)單顆透鏡通過注塑完成一個(gè)整體的多頭透鏡,按不同需求可以設(shè)計(jì)成3合1、5合1甚至幾十顆合一的透鏡模組;
b. 此設(shè)計(jì)有效節(jié)省生產(chǎn)成本,實(shí)現(xiàn)產(chǎn)品品質(zhì)的一致性,節(jié)省燈具機(jī)構(gòu)空間,更容易實(shí)現(xiàn)“大功率”等特點(diǎn)。
四 LED透鏡的設(shè)計(jì)與模具加工
1.首先取決于光源(大功率LED),不同品牌的大功率LED(例如CREE、lumileds、首爾、歐司朗、艾笛森、長森源等),其芯片結(jié)構(gòu)與封裝方式、光線特性等均會(huì)有所區(qū)別,從而造成同樣的透鏡搭配不同規(guī)格品牌LED時(shí)會(huì)所差異;所以要求有針對性開發(fā)(以主流品牌為導(dǎo)向),才能達(dá)成實(shí)際需要;
2.利用光學(xué)設(shè)計(jì)軟件(如Trace pro、CodeV、Zemax等)設(shè)計(jì)并進(jìn)行模擬光學(xué)跑光,設(shè)計(jì)得到相應(yīng)的光學(xué)非球面曲面;
3.LED透鏡本身屬于精密光學(xué)配件,故其對模具的精度要求極高,特別是透鏡光學(xué)曲面的加工精度要達(dá)到 0.1μm、鏡片偏心度要達(dá)到3μm 以內(nèi)。一般對此類高精度模具的加工必須具有以下設(shè)備:超精密加工機(jī)(例如:PRECITECH NANOFORM 350)、CNC 綜合加工機(jī)、平面磨床、銑床、CNC 放電加工機(jī)、表面輪廓儀等。
4.模具最精密的部件在于光學(xué)模仁,首先選用專用模仁鋼材,完成初胚,鍍鎳后再用超精密加工機(jī)進(jìn)行非球面技術(shù)加工曲面。
五 LED透鏡的用料及生產(chǎn)
1.LED透鏡作為光學(xué)級的產(chǎn)品,對透光性、縮水性要求極高。原材料一般采用高檔光學(xué)級PMMA。目前為日本三菱PMMA材料為最好(現(xiàn)在的VH5與VH001質(zhì)量更高),同樣是三菱的南通料就會(huì)稍遜一些;
2.必須配備萬級甚至更高級別的無塵車間,作業(yè)人員必須著防靜電服裝,以及戴手指套、戴口罩等防靜電防塵措施,并且定期對車間做檢驗(yàn)與清理;
3.須有專業(yè)的光學(xué)注塑機(jī)(電動(dòng))如法拉克,東洋,海天,佳明等品牌功率在35T以上,并嚴(yán)格控制注塑溫度、時(shí)間,降低產(chǎn)品縮水率,絕不能添加水口料重復(fù)利用,才能保證產(chǎn)品更符合設(shè)計(jì)方案;
4.產(chǎn)品必須用防靜電防塵PVC包裝,并且須完全密封包裝,存放必須注意控制溫度與濕度,并且最好不要存放超過一年以上。




菲涅爾透鏡
又稱階梯鏡,即有"階梯"形不連續(xù)表面組成的透鏡。"階梯"由一系列同心圓環(huán)狀帶區(qū)構(gòu)成,又稱環(huán)帶透鏡。通過菲涅爾透鏡觀察遠(yuǎn)處的物體,則物體的像是倒立的,而觀察近處的物體時(shí)會(huì)產(chǎn)生放大效果。
    菲涅爾透鏡作用有兩個(gè):一是聚焦作用,即將熱釋紅外信號折射(反射)在PIR上,第二個(gè)作用是將探測區(qū)域內(nèi)分為若干個(gè)明區(qū)和暗區(qū),使進(jìn)入探測區(qū)域的移動(dòng)物體能以溫度變化的形式在PIR上產(chǎn)生變化熱釋紅外信號。
    菲涅爾透鏡,簡單的說就是在透鏡的一側(cè)有等距的齒紋.通過這些齒紋,可以達(dá)到對指定光譜范圍的光帶通(反射或者折射)的作用.傳統(tǒng)的打磨光學(xué)器材的帶通光學(xué)濾鏡造價(jià)昂貴。菲涅爾透鏡可以極大的降低成本。典型的例子就是PIR(被動(dòng)紅外線探測器)。PIR廣泛的用在警報(bào)器上。如果你拿一個(gè)看看,你會(huì)發(fā)現(xiàn)在每個(gè)PIR上都有個(gè)塑料的小帽子。這就是菲涅爾透鏡。小帽子的內(nèi)部都刻上了齒紋。這種菲涅爾透鏡可以將入射光的頻率峰值限制到10微米左右(人體紅外線輻射的峰值)。成本相當(dāng)?shù)牡汀?
菲涅爾透鏡的種類很多,其幾何形狀、探測角、焦距及用途也不盡相同。常用的菲涅爾透鏡可大致歸納為以下幾類。
    1.長方形透鏡。是常用普通型透鏡。如0—6型尺寸為68X 38mm,焦距為29mm,水平角12Oo,垂直角8O。,探測距離大于1Om;0—1A型尺寸為58.8X45mm,水平角85。,垂直角450。探測距離大于1Om。
    2.半球狀透鏡。適合吊頂安裝,若設(shè)計(jì)成小型探測器, 4—56可作吊頂武自動(dòng)燈、自動(dòng)門等。如:Q-8型半球形透鏡,直徑為24mm,水平探測角1 000,垂直探測角600,探測距離3—5m;另外,還有RS-8型半球狀透鏡等。
    3.水平薄片形。這類透鏡設(shè)計(jì)獨(dú)特,如:SC一62型透鏡, 探測區(qū)域是兩個(gè)水平1o0o、垂直1.91。的窄平面,對應(yīng)兩個(gè)高精度傳感器,特別適合對某一水平高度進(jìn)行監(jiān)測;SC一82型透鏡,水平角140o,垂直120,用它組成的探測器可避免地面小動(dòng)物活動(dòng)產(chǎn)生的干擾。由于這類透鏡水平角特別大,垂直角特別小。故適合于特殊場合的探測。
    4.光束式透鏡。如:BS-05型透鏡的水平角僅50,可形成一束細(xì)長的探測區(qū).其探測距離遠(yuǎn),有效距離可達(dá)30m以上,適用于走廊、長通道等長距離、小角度的應(yīng)用場合。
    5.抗燈光干擾型。通用型透鏡普遍采用聚乙烯材料制作,由于其透明度較高,易受強(qiáng)光源干擾產(chǎn)生誤動(dòng)作。為了提高透鏡的抗干擾能力,在制作材料中加入某些添加劑,制成乳白色或黑色透鏡,其中以黑色最為理想。經(jīng)實(shí)際測試,如果配以雙脈沖標(biāo)準(zhǔn)線路,其抗燈光干擾指標(biāo)可達(dá)到10000Lx(勒克斯),遠(yuǎn)遠(yuǎn)超過國家標(biāo)準(zhǔn)。黑色透鏡如8S一94V3,乳白色透鏡有0X一1、QX-1A等。
菲涅爾十九世紀(jì)最偉大的光學(xué)家
   菲涅爾透鏡 (Fresnel lens) 是由聚烯烴材料注壓而成的薄片,鏡片表面一面為光面,另一面刻錄了由小到大的同心圓,它的紋理是利用光的干涉及擾射和根據(jù)相對靈敏度和接收角度要求來設(shè)計(jì)的,透鏡的要求很高,一片優(yōu)質(zhì)的透鏡必須是表面光潔,紋理清晰,其厚度一般在 1mm 左右,特性為面積較大,厚度薄及偵測距離遠(yuǎn)。
菲涅耳透鏡可以把透過窄帶干涉濾光鏡的光聚焦在硅光電二級探測器的光敏面上,菲涅爾透鏡由有機(jī)玻璃制成,不能用任何有機(jī)溶液(如酒精等)擦拭,除塵時(shí)可先用蒸餾水或普通凈水沖洗,再用脫脂棉擦拭。
現(xiàn)在的對焦屏都是磨砂毛玻璃菲涅爾透鏡,其優(yōu)點(diǎn)是明亮和亮度均勻。對焦不準(zhǔn)時(shí),在對焦屏上的成像是不清晰的。為了配合更精確地對焦,一般在對焦屏中央裝有裂像和微棱環(huán)裝置。當(dāng)對焦不準(zhǔn)時(shí),被攝體在對焦屏中央的像是分裂成兩個(gè)圖像,當(dāng)兩個(gè)分裂的圖像合二為一時(shí),表明對焦準(zhǔn)確了。
AF單反機(jī)的標(biāo)準(zhǔn)對焦屏一般不設(shè)有裂像裝置,而是刻有一個(gè)小矩形框來表示AF區(qū)域,有些對焦屏上還刻有局部測光或點(diǎn)測光區(qū)域。早期AF單反機(jī)在光線較暗環(huán)境中對焦時(shí),往往很難看見對焦框,就難以判斷相機(jī)是以哪一點(diǎn)來作為對焦點(diǎn),新一代單反機(jī)對焦屏上的對焦點(diǎn)會(huì)發(fā)光,或者有對焦聲音提示,便于在復(fù)雜環(huán)境中確認(rèn)對焦。不同類型的對焦屏有不同的用途、拍攝人像可能用如裂像對焦屏更好,帶橫豎線或刻度的對焦屏適用于建筑物攝影和文件翻拍;中間部分沒有裂像而只有微棱的對焦屏適用于小光圈鏡頭,它不會(huì)有裂像一邊亮一邊黑的缺點(diǎn)。不少高級相機(jī)焦屏可由用戶自己更換。又稱螺紋透鏡]]>
簡單的FF介紹http://www.xinguifushi.cn/bbs/dispbbs.asp?BoardID=56&ID=2242&Page=1wangxinxin2010-12-8 9:40:59
一    簡單FF ,
               今天心情莫名奇妙的失落,希望越大,失望越大

二、功率回退法的設(shè)計(jì)依據(jù)與實(shí)現(xiàn)
    在輸入等幅雙頻信號的情況下,采用冪級數(shù)分析[1],功率放大器在1 dB壓縮點(diǎn)的互調(diào)系數(shù)為20lgIM3(dBc)=-23.75dBc。進(jìn)一步分析可以發(fā)現(xiàn)任意輸入功率的三階互調(diào)系數(shù)滿足公式:
 圖片點(diǎn)擊可在新窗口打開查看 (1)

  從公式(1)可以看出,輸入功率如果從Pin(1dB)回退1dB,則IM3可以改善2dB,因此選擇Pin(1dB)比較大的管子,而使輸入功率使用在遠(yuǎn)小于1 dB壓縮點(diǎn)的電平上,是功率回退法的主要設(shè)計(jì)依據(jù)。
  本功率放大器用于W-CDMA基站,工作頻率為2.14 GHz,輸出功率40dBm,增益為40dB。
  根據(jù)功率回退法的要求,功放的每一級都應(yīng)選用比實(shí)際使用功率大8 dB以上的管子,根據(jù)增益的要求,我們采用四級級聯(lián)放大的方案,實(shí)際框圖如圖1所示。

圖片點(diǎn)擊可在新窗口打開查看

  前面兩級使用STANFORD公司的單片集成SMA-686和FET功率管SHF-0289,第三級使用AMCOM公司的FET功率管MGF-0906,第四級使用XEMOD公司的內(nèi)匹配功率模塊QPP-301F。各管子的增益、1dB壓縮點(diǎn)指標(biāo)如圖1所示,完全達(dá)到了本主功放所定指標(biāo)。第一、二、三級采用小信號S參數(shù),利用ANSOF設(shè)計(jì)軟件進(jìn)行仿真設(shè)計(jì),加上偏置保護(hù)電路,制板、裝配經(jīng)過適當(dāng)?shù)恼{(diào)正,使增益達(dá)到30 dB,三階交調(diào)達(dá)42 dBc。第四級由于輸出功率比較大,選用性能比較好的內(nèi)匹配管子,采用廠家提供的偏置保護(hù)電路。最后四級總增益為40 dB,實(shí)測的三階交調(diào)為41dBc。輸入2 mW雙頻信號2 140±1 MHz,用頻譜儀測得圖形如圖2。

圖片點(diǎn)擊可在新窗口打開查看

三、前饋法的電路設(shè)計(jì)和調(diào)試方法
  用功率回退法設(shè)計(jì)的主功放,由于功率利用率低,同時(shí)當(dāng)功率回退到一定程度,即IM3達(dá)到-40 dBc左右時(shí),繼續(xù)回退不能再改善其線性度,因此必須采用其他方法來提高線性度。
  通過與預(yù)失真法相比較,采用前饋法是提高本功放線性度較有效的方法。下面介紹前饋法的電路設(shè)計(jì)和調(diào)試方法。前饋法的電路原理框圖[2,3]和頻譜圖如圖3所示。

圖片點(diǎn)擊可在新窗口打開查看

  圖中環(huán)路1稱為信號抵消環(huán),環(huán)路2為誤差抵消環(huán)。根據(jù)圖中的頻譜圖,可以看出信號抵消環(huán)的作用是抵消了主信號而輸出了誤差信號,而誤差抵消環(huán)的作用是抵消誤差信號,因而提高了主功率放大器的線性度。
  為了進(jìn)行正確的電路設(shè)計(jì)和尋找調(diào)試依據(jù),對環(huán)路1和環(huán)路2在理想情況下抵消效果分析是必要的[4]。
  
設(shè)輸入信號為Vin(t),采用二等分功率分配器將信號平分為2部分,則主功率放大器的輸出信號為
 圖片點(diǎn)擊可在新窗口打開查看

其中g(shù)M、τM為主功率放大器的增益與時(shí)延, Vd(t)為主功放引入的非線性失真信號。主功放輸出信號經(jīng)過耦合器1后達(dá)到相減器的信號為
 圖片點(diǎn)擊可在新窗口打開查看
其中l(wèi)1和τ1分別為功分器到相減器的損耗和時(shí)延。
  
相減結(jié)果為
 圖片點(diǎn)擊可在新窗口打開查看

  若要實(shí)現(xiàn)原始信號完全抵消,只留誤差信號,即Verr(t)=c1Vd(t),必須滿足以下條件:
 圖片點(diǎn)擊可在新窗口打開查看

即要求上下信道延時(shí)相同,主功放的增益和耦合器的耦合度與下面信道的衰減相同。
  
同理可分析第二環(huán)路,得到總的輸出信號為
 圖片點(diǎn)擊可在新窗口打開查看

其中g(shù)E、τE為誤差放大器的增益和時(shí)延,τ2、l2為上面支路的損耗和時(shí)延,α1為耦合器1的損耗,c2為耦合器2的耦合系數(shù)。
  根據(jù)理論分析,可得到設(shè)計(jì)前饋功放系統(tǒng)框圖和各部件的指標(biāo)如圖4所示。

圖片點(diǎn)擊可在新窗口打開查看

  調(diào)試是本系統(tǒng)的繁復(fù)但又必要的工作,調(diào)試方法的正確與否,影響了調(diào)試時(shí)間的長短和對功放線性度的改善程度。先是對第一環(huán)路進(jìn)行信號抵消的調(diào)試。在系統(tǒng)輸入端加入2 mW功率的2 140±1 MHz的雙頻信號,反復(fù)調(diào)節(jié)上下環(huán)路的電長度和移相衰減器,最后到達(dá)相減器的輸出波形圖如圖5所示。
  從圖中看出主信號的抵消效果比理想情況差,分析原因有如下2點(diǎn):
  (1) 環(huán)路的上下通道衰減不可能調(diào)至理想的一致:
  (2) 理論分析是在單頻下進(jìn)行,實(shí)際調(diào)試時(shí)必須采用雙頻信號,這就導(dǎo)致了某一頻率完全抵消,另一頻率抵消效果差,兼顧兩頻率時(shí)相位不可能達(dá)到與理想一致。

圖片點(diǎn)擊可在新窗口打開查看

  在第二抵消環(huán)即誤差抵消環(huán)中,誤差放大器的線性度將影響誤差信號的抵消效果,即誤差放大器既要達(dá)到一定的增益要求,又不產(chǎn)生新的失真信號。
  由于前饋方案中,兩定向耦合器的耦合度為18 dB,功率合成器的衰減為3 dB,第一環(huán)路衰減器的衰減器量為22 dB,所以誤差放大器的總增益為:18+22+3+18=61 dB。為達(dá)到高的線性度,我們采用功率回退法設(shè)計(jì)此放大器[5]。分兩單元來實(shí)現(xiàn),第一單元為低噪聲放大器,用兩級Agilent公司的HBFP-0420三極晶體管,總增益為30 dB,Pout(1 dB)為12 dBm。第二單元采用主功放的前三級來實(shí)現(xiàn)功率放大。根據(jù)理論分析和實(shí)測,本放大器在輸出18 dBm時(shí)的三階交調(diào)達(dá)52 dBc以上,滿足系統(tǒng)的要求。第二環(huán)的調(diào)試與第一環(huán)相似。反復(fù)調(diào)整上下兩通道的電長度,調(diào)節(jié)移相器和可調(diào)衰減器,再配合第一環(huán)移相器和可調(diào)衰減器的微調(diào),以達(dá)到誤差信號的充分抵消,最后得到系統(tǒng)的輸出頻譜如圖6。

圖片點(diǎn)擊可在新窗口打開查看

四、結(jié)論
  經(jīng)過精心的設(shè)計(jì)和調(diào)試,2.14 GHz高線性功率放大器達(dá)到了在輸出功率10 W情況下,三階交調(diào)系數(shù)優(yōu)于51 dBc。利用功率回退法設(shè)計(jì)的主功放三階交調(diào)系數(shù)為41 dBc,而利用簡單的雙環(huán)抵消前饋法使主功放的三階交調(diào)系數(shù)改善了10 dBc以上,說明了此方案的設(shè)計(jì)和調(diào)試是成功的。此方法也為采用多種措施提高微波功率放大器線性度提供了實(shí)踐經(jīng)驗(yàn)。

TOP

]]>
TDA8362/1單片機(jī)心色度電路原理與無彩色故障檢修(一)http://www.xinguifushi.cn/bbs/dispbbs.asp?BoardID=56&ID=2241&Page=1wangxinxin2010-12-8 9:33:18飛利浦TDA8362/8361單片機(jī)心已被我國眾多彩電生產(chǎn)廠家所采用,目前已成為21~25英寸彩電的主導(dǎo)機(jī)心。
  TDA8362/8361可完成除調(diào)諧選臺(tái)以外的全部小信號的處理工作。在色度信號處理上,配合少許外圍電路可完成PAL、NTSC、SECAM三種制式的解碼任務(wù)。下面以長虹C2191彩電為例,具體介紹色度電路的工作原理及無彩色故障檢修思路。

  一、色度電路工作原理
  參見圖1,從小信號處理塊N240(TDA8362)⑦腳輸出的視頻和第二伴音中頻信號經(jīng)射隨器V246緩沖放大后,從發(fā)射極輸出,并分成兩路:一路送人伴音處理電路;另一路經(jīng)L246、Z243、L249、Z242、L245、Z241、Z240等除去伴音中頻信號后,得到內(nèi)視頻信號。該信號經(jīng)模擬開關(guān)N201(HEF4052)選擇后由N201(13)腳輸出,經(jīng)C241耦合至N240(13)腳。
  在此需說明的是:N240(15)腳為外接視頻信號輸入端,(16)腳為S端子方式下外接色度信號輸入/視頻信號選擇開關(guān)控制電壓輸入。(13)腳輸入的內(nèi)視頻信號和(15)腳輸入的外接視頻信號及(16)腳輸入的外接色度信號(指S端子方式下)均加至N240內(nèi)部相應(yīng)的信號選擇開關(guān)。選擇開關(guān)的工作狀態(tài)受(16)腳輸入電壓的控制,詳見表1

 表1  TDA8362/1(16)腳電壓與選擇信號之間的關(guān)系(16)腳電壓工作方式內(nèi)視頻信號外視頻信號(CVBS)外亮度信號(Y)外色度信號(C)(S端子方式)亮度險(xiǎn)波伴音U<0.5V內(nèi)通斷斷通內(nèi)3V<U<5VA-VHS斷通(Y信號)通(C信號)斷外U>7.5外斷通(CVBS信號0斷通外
  而(16)腳電壓又受CPU(11)腳(AVO)、(12)腳(AVl)輸出電平的控制,見表2。

 表2   CPU(11)腳(AV0)、(12)腳(AV1)輸出電平與TDA8362(16)腳電壓關(guān)系A(chǔ)V0AV1V273V271TDA8362(16)腳電壓00截止截止8V01截止導(dǎo)通4V10(1)導(dǎo)通截止(導(dǎo)通)0.5V
   注:0表示低電平,1表示高電平
  當(dāng)AVO輸出為高電平時(shí),TDA8362(16)腳電壓為0v,與AVl輸出電平高低無關(guān)。

  當(dāng)AV0輸出高電平時(shí),V273導(dǎo)通(與AVl輸出電平商低,即與V271工作狀態(tài)無關(guān)),N240(16)腳電壓約為0V。N240內(nèi)的視頻選擇開關(guān)選擇機(jī)內(nèi)視頻信號。于是由(13)腳輸入的內(nèi)視頻信號才被加至N240內(nèi)的亮度通道和色度信號通道。在色度通道中視頻信號經(jīng)自動(dòng)校準(zhǔn)的4.43MHz或3.58MHz(因接收信號的制式不同而自動(dòng)轉(zhuǎn)換)色度帶通濾波器除去亮度信號,取出色度信號。
  若視頻信號為PAL-4.43MHz制信號,則在N240內(nèi)的自 動(dòng)制式識別系統(tǒng)的控制下,自動(dòng)選擇N240(35)腳外接的由4.43MHz晶振BCl50、電容C150組成的4.43MHz色副載波振蕩電路。于是色度信號按PAL制解碼處理。解碼產(chǎn)生的倒相色差信號-(R-Y)、-(B-Y)分別從N240(30)、(31)輸出,分別 經(jīng)C216、C215加至1行基帶延遲線N210(TDA4661)的(16)、(14)腳。
  若自動(dòng)識別結(jié)果為NTSC-3.58MHz制信號,則自動(dòng)選擇N240(34)腳外接的由BCl51、C151組成的3.58MHz副載波振蕩電路,色度信號按NR匯制進(jìn)行解碼處理。解碼所得的付相色差信號-(R-Y)、-(B-Y)也分別從N240(30)、(31)腳輸出,同樣經(jīng)C216、C215加到N210的(16)、(14)腳,送人內(nèi)部l行延遲電路。
改變N240(27)腳電位,可改變NTSC制信號的解調(diào)相位,起到色調(diào)調(diào)整作用。
  N210(TDA661)對(16)、(14)腳輸入的PAL色差信號來說,它是一個(gè)加法器。經(jīng)N210延遲后的-(R-Y)、-(B-Y)信號與未延遲的直通-(R-Y)、-(B-Y)信號在各自的加法器中進(jìn)行幾何相加,得到-(R-Y)、-(B-Y)基帶色差信號。分別從(11)(12)腳輸出,經(jīng)C217、C218送至N240的(29)、(28)腳,然后再加軍PAL色差矩陣電路。
  若送人N210(16)、(14)腳的是NTSC制色差信號,則N210利用兩路信號傳輸相位差為90。的特點(diǎn),將-(R—Y)、-(B—Y)信號分開,以減小信號間的串?dāng)_。然后分別由(11)(12)腳輸出,同樣經(jīng)C217、C218送至N240的(29)(28)腳,并加至內(nèi)部的NTSC制色差矩陣電路。 ]]>
ARM的開發(fā)步驟http://www.xinguifushi.cn/bbs/dispbbs.asp?BoardID=56&ID=2234&Page=1wangxinxin2010-12-7 15:40:40系統(tǒng)板:如果你從沒有做過ARM的開發(fā),建議你一開始不要貪大求全,把所有的應(yīng)用都做好,因?yàn)锳RM的啟動(dòng)方式和dsp或單片機(jī)有所不同,往往會(huì)遇到各種問題,所以建議先布一個(gè)僅有Flash,SRAM或SDRAM、CPU、JTAG、和復(fù)位信號的小系統(tǒng)板,留出擴(kuò)展接口。使最小系統(tǒng)能夠正常運(yùn)行,你的任務(wù)就完成了一半,好在ARM的外圍接口基本都是標(biāo)準(zhǔn)接口,如果你已有這些硬件的布線經(jīng)驗(yàn),這對你來講是一件很容易的事情。
2. 寫啟動(dòng)代碼,根據(jù)硬件地址先寫一個(gè)能夠啟動(dòng)的小代碼,包括以下部分:
初始化端口,屏蔽中斷,把程序拷貝到SRAM中;完成代碼的重映射;配置中斷句柄,連接到C語言入口。也許你看到給你的一些示例程序當(dāng)中,bootloader會(huì)有很多東西,但是不要被這些復(fù)雜的程序所困擾,因?yàn)槟悴皇亲鲩_發(fā)板的,你的任務(wù)就是做段小程序,讓你的應(yīng)用程序能夠運(yùn)行下去
3. 仔細(xì)研究你所用的芯片的資料,盡管ARM在內(nèi)核上兼容,但每家芯片都有自己的特色,編寫程序時(shí)必須考慮這些問題。尤其是女孩子,在這兒千萬別有依賴心理,總想拿別人的示例程序修改,卻越改越亂。
4. 多看一些操作系統(tǒng)程序,在ARM的應(yīng)用開放源代碼的程序很多,要想提高自己,就要多看別人的程序,linux,uc/os-II等等這些都是很好的原碼。
6.如果你是作硬件,每個(gè)廠家基本上都有針對該芯片的DEMO板原理圖。先將原理圖消化。這樣你以后做設(shè)計(jì)時(shí),對資源的分配心中有數(shù)。器件的DATSHEET一定要好好消化。
7.如果做軟件最好對操作系統(tǒng)的機(jī)理要有所了解。當(dāng)然這對軟件工程師來說是小菜一碟。但如果是硬件出身的就有點(diǎn)費(fèi)勁。
問:做最小系統(tǒng)板是2層還是4層好?
答:只有AT91可以用兩層板,其他的最少4層;44b0的地和電源處理好也可用兩層板;
談四層板和33歐電阻:
選用四層板不僅是電源和地的問題,高速數(shù)字電路對走線的阻抗有要求,二層板不好控制阻抗。33歐電阻一般加在驅(qū)動(dòng)器端,也是起阻抗匹配作用的;布線時(shí)要先布數(shù)據(jù)地址線,和需要保證的高速線;
在高頻的時(shí)候,PCB板上的走線都要看成傳輸線。傳輸線有其特征阻抗,學(xué)過傳輸線理論的都知道,當(dāng)傳輸線上某處出現(xiàn)阻抗突變(不匹配)時(shí),信號通過就會(huì)發(fā)生反射,反射對原信號造成干擾,嚴(yán)重時(shí)就會(huì)影響電路的正常工作。采用四層板時(shí),通常外層走信號線,中間兩層分別為電源和地平面,這樣一方面隔離了兩個(gè)信號層,更重要的是外層的走線與它們所靠近的平面形成稱為“微帶”(microstrip) 的傳輸線,它的阻抗比較固定,而且可以計(jì)算。對于兩層板就比較難以做到這樣。這種傳輸線阻抗主要于走線的寬度、到參考平面的距離、敷銅的厚度以及介電材料的特性有關(guān),有許多現(xiàn)成的公式和程序可供計(jì)算。
33歐電阻通常串連放在驅(qū)動(dòng)的一端(其實(shí)不一定33歐,從幾歐到五、六十歐都有,視電路具體情況) ,其作用是與發(fā)送器的輸出阻抗串連后與走線的阻抗匹配,使反射回來(假設(shè)解收端阻抗沒有匹配) 的信號不會(huì)再次反射回去(吸收掉),這樣接收端的信號就不會(huì)受到影響。接收端也可以作匹配,例如采用電阻并聯(lián),但在數(shù)字系統(tǒng)比較少用,因?yàn)楸容^麻煩,而且很多時(shí)候是一發(fā)多收,如地址總線,不如源端匹配易做。
這里梭說的高頻,不一定是時(shí)鐘頻率很高的電路,是不是高頻不止看頻率,更重要是看信號的上升下降時(shí)間。通常可以用上升(或下降) 時(shí)間估計(jì)電路的頻率,一般取上升時(shí)間倒數(shù)的一半,比如如果上升時(shí)間是1ns,那么它的倒數(shù)是1000MHz,也就是說在設(shè)計(jì)電路是要按500MHz的頻帶來考慮。有時(shí)候要故意減慢邊緣時(shí)間,許多高速IC其驅(qū)動(dòng)器的輸出斜率是可調(diào)的
構(gòu)造嵌入式Linux
Linux自身具備一整套工具鏈,容易自行建立嵌入式系統(tǒng)的開發(fā)環(huán)境和交叉運(yùn)行環(huán)境,并且可以跨越嵌入式系統(tǒng)開發(fā)中的仿真工具(ICE)的障礙。內(nèi)核的完全開放使人們可以自己設(shè)計(jì)和開發(fā)出真正的硬實(shí)時(shí)系統(tǒng),軟實(shí)時(shí)系統(tǒng)在Linux中也容易得到實(shí)現(xiàn)。強(qiáng)大的網(wǎng)絡(luò)支持使得可以利用Linux的網(wǎng)絡(luò)協(xié)議棧將其開發(fā)成為嵌入式的TCP/IP網(wǎng)絡(luò)協(xié)議棧。
  Linux提供了完成嵌入功能的基本內(nèi)核和所需要的所有用戶界面,它是多面的。它能處理嵌入式任務(wù)和用戶界面。
  一個(gè)小型的嵌入式Linux系統(tǒng)只需要下面三個(gè)基本元素:
  * 引導(dǎo)工具
  * Linux微內(nèi)核,由內(nèi)存管理、進(jìn)程管理和事務(wù)處理構(gòu)成
  * 初始化進(jìn)程
  如果要讓它能干點(diǎn)什么且繼續(xù)保持小型化,還得加上:
  * 硬件驅(qū)動(dòng)程序
  * 提供所需功能的一個(gè)或更多應(yīng)用程序。
  再增加功能,或許需要這些:
  * 一個(gè)文件系統(tǒng)(也許在ROM或RAM)中
  * TCP/IP網(wǎng)絡(luò)堆棧
  下面我們就從精簡內(nèi)核、系統(tǒng)啟動(dòng)、驅(qū)動(dòng)程序?qū)ⅰ-Window換成MicroWindows四個(gè)步驟介紹嵌入式Linux的實(shí)際開發(fā)。
  精簡內(nèi)核
  構(gòu)造內(nèi)核的常用命令包括:make config、dep、clean、mrproper、zImage、bzImage、modules、modules_install。命令說明略。
  現(xiàn)在舉個(gè)例子說明一下:
  我使用的是 Mandrake內(nèi)附的 2.2.15。我沒有修改任何一行程序碼,完全只靠修改組態(tài)檔得到這些數(shù)據(jù)。
  首先,使用 make config 把所有可以拿掉的選項(xiàng)都拿得。
  不要 floppy;不要SMP、MTRR;不要 Networking、SCSI;把所有的 block device 移除,只留下 old IDE device;把所有的 character device 移除;把所有的 filesystem 移除,只留下 minix;不要 sound 支援。相信我,我己經(jīng)把所有的選項(xiàng)都移除了。這樣做之后,我得到了一個(gè) 188K 的核心。
  還不夠小嗎? OK,再加上一招,請把下列兩個(gè)檔案中的 -O3,-O2 用 -Os 取代。
  ./Makefile
  ./arch/i386/kernel/
  Makefile
  這樣一來,整個(gè)核心變小了 9K,成為 179K。
  不過這個(gè)核心恐怕很難發(fā)揮 Linux 的功能,因此我決定把網(wǎng)絡(luò)加回去。把General中的 network support 加回去,重新編譯,核心變成 189 K。10K就加上個(gè) TCP/IP stack,似乎是很上算的生意。
  有stack沒有driver也是枉然,所以我把 embedded board常用的RTL8139的driver加回去,195K。
  如果你需要 DOS 檔案系統(tǒng),那大小成為 213K。如果 minix 用 ext2 換代,則大小成長至 222K。
  Linux所需的內(nèi)存大約在600K~800K之間。1MB內(nèi)存就可能可以開機(jī)了,但不太有用,因?yàn)檫B載入C程序庫都有困難。2MB內(nèi)存應(yīng)該就可以做點(diǎn)事了,但要到 4MB以上才可以執(zhí)行一個(gè)比較完整的系統(tǒng)。
  因?yàn)長inux 的filesystem 相當(dāng)大,大約在 230K 左右,占了 1/3 的體積。內(nèi)存管理占了80K,和核心其它部分的總和差不多。TCP/IP stack 占了65K,驅(qū)動(dòng)程序占了120K。SysV IPC占了 21K,必要的話可以拿掉,核心檔應(yīng)該可以再小個(gè)10K左右。
  如果要裁剪核心大小,應(yīng)該動(dòng)那里呢? 答案很明顯,當(dāng)然是文件系統(tǒng)。Linux 的 VFS簡化了檔案系統(tǒng)的設(shè)計(jì),buffer cache, directory cache增加了系統(tǒng)的效率。但這些embedded系統(tǒng)根本就用處不大。如果可以把它們拿掉,核心可以馬上縮小 20K 左右。如果跳過整個(gè) VFS,直接將文件系統(tǒng)寫成一個(gè) driver 的型式,應(yīng)該可以將 230K縮減至50K左右。整個(gè)核心縮到100K左右。
  系統(tǒng)啟動(dòng)
  系統(tǒng)的啟動(dòng)順序及相關(guān)文件仍在核心源碼目錄下,看以下幾個(gè)文件:
  ./arch/$ARCH/boot/
  bootsect.s
  ./arch/$ARCH/boot/setup.s
  ./init/main.c
  bootsect.S 及 setup.S
  這個(gè)程序是Linux kernel的第一個(gè)程序,包括了Linux自己的bootstrap程序,但是在說明這個(gè)程序前,必須先說明一般IBM PC開機(jī)時(shí)的動(dòng)作(此處的開機(jī)是指“打開PC的電源”)。
  一般PC在電源一開時(shí),是由內(nèi)存中地址FFFF:0000開始執(zhí)行(這個(gè)地址一定在ROM BIOS中,ROM BIOS一般是在FEOOOh到FFFFFh中),而此處的內(nèi)容則是一個(gè)jump指令,jump到另一個(gè)位于ROM BIOS中的位置,開始執(zhí)行一系列的動(dòng)作。
  緊接著系統(tǒng)測試碼之后,控制權(quán)會(huì)轉(zhuǎn)移給ROM中的啟動(dòng)程序(ROM bootstrap routine)。這個(gè)程序會(huì)將磁盤上的第零軌第零扇區(qū)讀入內(nèi)存中,至于讀到內(nèi)存的哪里呢? --絕對位置07C0:0000(即07C00h處),這是IBM系列PC的特性。而位于Linux開機(jī)磁盤的boot sector上的,正是Linux的bootsect程序。
  把大家所熟知的MS DOS 與Linux的開機(jī)部分做個(gè)粗淺的比較。MS DOS 由位于磁盤上boot sector的boot程序負(fù)責(zé)把IO.SYS載入內(nèi)存中,而IO.SYS則負(fù)有把DOS的kernel --MSDOS.SYS載入內(nèi)存的重任。而Linux則是由位于boot sector 的bootsect程序負(fù)責(zé)把setup及Linux的kernel載入內(nèi)存中,再將控制權(quán)交給setup。
  驅(qū)動(dòng)程序
  在Linux系統(tǒng)里,設(shè)備驅(qū)動(dòng)程序所提供的這組入口點(diǎn)由一個(gè)結(jié)構(gòu)來向系統(tǒng)進(jìn)行說明。
  設(shè)備驅(qū)動(dòng)程序所提供的入口點(diǎn),在設(shè)備驅(qū)動(dòng)程序初始化的時(shí)候向系統(tǒng)進(jìn)行登記,以便系統(tǒng)在適當(dāng)?shù)臅r(shí)候調(diào)用。Linux系統(tǒng)里,通過調(diào)用register_chrdev 向系統(tǒng)注冊字符型設(shè)備驅(qū)動(dòng)程序。
  在Linux里,除了直接修改系統(tǒng)核心的源代碼,把設(shè)備驅(qū)動(dòng)程序加進(jìn)核心里以外,還可以把設(shè)備驅(qū)動(dòng)程序作為可加載的模塊,由系統(tǒng)管理員動(dòng)態(tài)地加載它,使之成為核心的一部分。也可以由系統(tǒng)管理員把已加載的模塊動(dòng)態(tài)地卸載下來。Linux中,模塊可以用C語言編寫,用gcc編譯成目標(biāo)文件(不進(jìn)行鏈接,作為*.o文件存在)。為此需要在gcc命令行里加上-c的參數(shù)。在成功地向系統(tǒng)注冊了設(shè)備驅(qū)動(dòng)程序后(調(diào)用register_chrdev成功后),就可以用mknod命令來把設(shè)備映射為一個(gè)特別文件。其它程序使用這個(gè)設(shè)備的時(shí)候,只要對此特別文件進(jìn)行操作就行了。
  將X-Window換成MicroWindows
  MicroWindows是使用分層結(jié)構(gòu)的設(shè)計(jì)方法。允許改變不同的層來適應(yīng)實(shí)際的應(yīng)用。在最底一層,提供了屏幕、鼠標(biāo)/觸摸屏和鍵盤的驅(qū)動(dòng),使程序能訪問實(shí)際的硬件設(shè)備和其它用戶定制設(shè)備。在中間一層,有一個(gè)輕巧的圖形引擎,提供了繪制線條、區(qū)域填充、繪制多邊形、裁剪和使用顏色模式的方法。在最上一層,提供了不同的API給圖形應(yīng)用程序使用。這些API可以提供或不提供桌面和窗口外形。目前,MicroWindows支持Windows Win32/WinCE GDI和Nano-X API。這些API提供了Win32和X窗口系統(tǒng)的緊密兼容性,使得別的應(yīng)用程序可以很容易就能移植到MicroWindows上。
  何謂嵌入式系統(tǒng)
  嵌入式系統(tǒng)被定義為:以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。
  嵌入式系統(tǒng)是面向用戶、面向產(chǎn)品、面向應(yīng)用的,如果獨(dú)立于應(yīng)用自行發(fā)展,則會(huì)失去市場。嵌入式處理器的功耗、體積、成本、可靠性、速度、處理能力、電磁兼容性等方面均受到應(yīng)用要求的制約,這些也是各個(gè)半導(dǎo)體廠商之間競爭的熱點(diǎn)。嵌入式處理器的應(yīng)用軟件是實(shí)現(xiàn)嵌入式系統(tǒng)功能的關(guān)鍵。軟件要求固化存儲(chǔ),軟件代碼要求高質(zhì)量、高可靠性,系統(tǒng)軟件(OS)的高實(shí)時(shí)性是基本要求。
  在制造工業(yè)、過程控制、通訊、儀器、儀表、汽車、船舶、航空、航天、軍事裝備、消費(fèi)類產(chǎn)品等方面均是嵌入式計(jì)算機(jī)的應(yīng)用領(lǐng)域。]]>
ARM DSP D單片機(jī)視頻資料饋送!http://www.xinguifushi.cn/bbs/dispbbs.asp?BoardID=56&ID=2233&Page=1wangxinxin2010-12-7 15:36:42[font=宋體]學(xué)習(xí)資料大饋送!本公司現(xiàn)推出一系列的學(xué)習(xí)視頻資料贈(zèng)送給大家[/font][font=Times New Roman].[/font][font=宋體]以購買產(chǎn)品和既將購買本公司的產(chǎn)品的用戶我們將免費(fèi)贈(zèng)送[/font][font=Times New Roman].[/font][font=宋體]沒有購買過我們產(chǎn)品的客戶將收取成本費(fèi)和運(yùn)費(fèi)![/font][/font]
[font=宋體]1. 中嵌 經(jīng)典ARM視頻_嵌入式linux培訓(xùn)班視頻「4DVD」[/font]
[font=宋體]本教程為光盤,4DVD,是學(xué)習(xí)linux、以及相關(guān)從業(yè)人員、在校學(xué)生、自學(xué)者等的極佳資料。[/font]
[font=宋體]介紹:[/font]
[font=宋體]       少有的精品學(xué)習(xí)資料!(這是一個(gè)培訓(xùn)班的授課內(nèi)容,參加這個(gè)培訓(xùn)班費(fèi)用要4千多元!)看這個(gè)視頻差不多相當(dāng)于上一次班,并且看不懂可以重復(fù)學(xué)習(xí).對初學(xué)者和有一定基礎(chǔ)的都很有好處.[/font]
[font=宋體]        共有69個(gè)視頻(AVI格式)文件,很清晰!學(xué)時(shí)總長為3000分鐘,共13.6G內(nèi)容,附有上課用ppt,部分代碼和用到的文件資料.附帶課件文檔資料..[/font]
[font=宋體]注意:由于該視頻為內(nèi)部培訓(xùn)資料,故在整理的時(shí)候可能會(huì)有少部分課程出現(xiàn)不連續(xù)性或者遺漏,所以無法保證每節(jié)課都銜接的完整性,但目錄中的69課時(shí)的內(nèi)容是真實(shí)的,以及近3000分鐘的學(xué)習(xí)時(shí)長也是很充實(shí)的.另外,27,28,29課因?yàn)樽髡呤韬龅脑?沒有將聲音錄進(jìn)去,另外編號49后,就編號51了。謝謝理解。  [/font]
[font=宋體][font=微軟雅黑]2.[/font]
[font=微軟雅黑] 單片機(jī)C51視頻(十天學(xué)會(huì)單片機(jī))[/font][/font][font=微軟雅黑]
[font=宋體][b][font=微軟雅黑]主講人:[/font]
郭天祥[/font][/font][/b]
[font=微軟雅黑][font=宋體]課時(shí):13課時(shí)
將近40小時(shí)[/font]
[/font]
[font=微軟雅黑]
[font=宋體][b][font=微軟雅黑]容量:5.20G[/font]

[font=微軟雅黑]格式:EXE[/font]
[font=微軟雅黑]語言:普通話[/font][/font]
[/font][/b]

[font=宋體][font=微軟雅黑]內(nèi)容簡介:[/font][/font]
[font=宋體][font=微軟雅黑]比舊版的10講多了三講。值得一看。約5.2G,分兩張DVD存放。[/font][/font]
[font=微軟雅黑][font=宋體]3. 電子科技大學(xué)嵌入式系統(tǒng)應(yīng)用開發(fā)技術(shù)39講.WMV格式視頻, 共1.28G[/font][/font]
[font=微軟雅黑][font=宋體] 1DVD[/font][/font]
[font=微軟雅黑][font=宋體]本視頻課程以[/font][font=宋體]32位新型微控制器的應(yīng)用開發(fā)為主線,介紹了嵌入式系統(tǒng)的基本概念和軟/硬件體系統(tǒng)結(jié)構(gòu),描述了應(yīng)用支撐平臺(tái)及其構(gòu)件的原理與功能,并以PDA的設(shè)計(jì)為例,系統(tǒng)地介紹了嵌入式應(yīng)用系統(tǒng)的開發(fā)過程、工具環(huán)境和開發(fā)技術(shù),還提供了豐富的設(shè)備驅(qū)動(dòng)程序編寫示例。
取材新穎,內(nèi)容翔實(shí)、技術(shù)實(shí)用、系統(tǒng)性強(qiáng)。它不僅可作為高等學(xué)校嵌入式應(yīng)用技術(shù)課程的教程,還可供從事嵌入式產(chǎn)品開發(fā)的廣大工程技術(shù)人員自學(xué)與參考,對采用EPSON S2C33系列MCU的產(chǎn)品設(shè)計(jì)更具有直接的指導(dǎo)作用。[/font]
[/font]
[font=微軟雅黑][font=宋體] [/font][/font]
[font=微軟雅黑][font=宋體]4. 電子科技大學(xué) DSP技術(shù)視頻[/font][/font]
[font=微軟雅黑][font=宋體]主講人:彭啟棕[/font][/font]
[font=微軟雅黑][font=宋體]課時(shí):28課時(shí)[/font][/font]
[font=微軟雅黑][font=宋體]容量:4.34G[/font][/font]
[font=微軟雅黑][font=宋體]格式:WMV[/font][/font]
[font=宋體][font=微軟雅黑]語言:普通話[/font][font=微軟雅黑][/font][/font]

[font=宋體][font=微軟雅黑]內(nèi)容簡介:[/font][font=微軟雅黑][/font][/font]
[font=微軟雅黑][font=宋體]介紹了數(shù)字信號處理器技術(shù)的發(fā)展、特點(diǎn)和種類,介紹TMS320系列DSP中的C2000、C5000、C6000及C5000+RISC系列的主要性能指標(biāo)和硬件結(jié)構(gòu)組成。其中圍繞TMS320C54x DSP芯片,詳細(xì)介紹了數(shù)字信號處理器的基本概念、內(nèi)部結(jié)構(gòu)、工作原理、指令系統(tǒng)、系統(tǒng)開發(fā)、各種硬件接口電路設(shè)計(jì)和常用數(shù)據(jù)/信號處理算法的實(shí)現(xiàn)方法,并給出了應(yīng)用實(shí)例[/font][/font]
[font=微軟雅黑][font=宋體] [/font][/font]
[font=宋體]5. 吉林大學(xué)匯編語言程序設(shè)計(jì)教學(xué)視頻 48講[/font]
[font=微軟雅黑][font=宋體]地區(qū)[/font][/font][font=微軟雅黑][font=宋體]:大陸[/font]
[font=宋體]語言:普通話
簡介
主講人:王鑒全[/font]
[/font]
[font=微軟雅黑][font=宋體]學(xué)時(shí):48講+3輔導(dǎo)[/font][/font]
[font=微軟雅黑][font=宋體]播放格式 :CSF播放器[/font][/font]
[font=微軟雅黑][font=宋體]匯編語言程序設(shè)計(jì),計(jì)算機(jī)基礎(chǔ)課,只有學(xué)好了匯編才能繼續(xù)學(xué)習(xí)后續(xù)課程![/font][/font]
[font=微軟雅黑][font=宋體]吉林大學(xué)的教程,很棒的哦~~[/font][/font]
[font=微軟雅黑][font=宋體] [/font][/font]
[font=微軟雅黑][font=宋體]6.[/font][/font]
[font=宋體][font=微軟雅黑] 由尚德系列講座linux內(nèi)核編程入門視頻+進(jìn)階篇[/font][font=微軟雅黑][/font][/font]
[font=宋體][font=微軟雅黑]本教程為光盤,3DVD,是學(xué)習(xí)linux內(nèi)核的極佳入門教程對于想要學(xué)習(xí)嵌入式開發(fā)的人員是很好的的學(xué)習(xí)教程[/font][font=微軟雅黑][/font][/font]
[font=宋體][font=微軟雅黑]本教程分為倆部分,由入門篇和進(jìn)階篇組成。類容詳細(xì)。[/font][font=微軟雅黑][/font][/font]
[font=宋體][font=微軟雅黑]介紹:[/font][font=微軟雅黑][/font][/font]
[font=宋體][font=微軟雅黑]由尚德系列講座之linux內(nèi)核編程入門視頻[/font][font=微軟雅黑][/font][/font]

[font=微軟雅黑][/font]
[font=微軟雅黑][font=宋體]學(xué)完本套教程之后:[/font]
[font=宋體]1)可以對linux內(nèi)核運(yùn)行機(jī)制有比較深入的認(rèn)識
2)可以獨(dú)立編寫一個(gè)屬于自己的操作系統(tǒng)[/font]
[/font][font=微軟雅黑][/font]
[font=宋體][font=微軟雅黑]視頻教程由尚德系列講座之linux內(nèi)核編程入門一共47講!超長的講授時(shí)間,平均每講50分鐘左右!極力推薦給喜歡的朋友!在此多謝大家的支持.[/font][/font]]]>
主站蜘蛛池模板: 久久久久综合 | 99精品国产一区二区三区 | 国产精品国产精品国产三级普 | 亚洲国产人成中文幕一级二级 | 国产成人刺激视频在线观看 | a级毛片毛片免费很很综合 a级毛片免费 | 性欧美一级毛片 | 很黄很暴力深夜爽爽无遮挡 | 欧美一级欧美一级毛片 | 在线观看视频中文字幕 | 欧美特欧美特级一片 | 亚洲综合资源 | 一级特级毛片免费 | 免费国产a| 99久在线精品99re6视频 | 久久久久久亚洲精品影院 | 日韩欧美精品一区二区 | 久久国产精品免费视频 | 久久高清一级毛片 | 一级片大全 | 午夜一级毛片看看 | 欧美日韩一区二区高清视 | 一级待一黄aaa大片在线还看 | 亚洲精品区一区二区三区四 | 亚洲成a人片毛片在线 | 日本理论片午夜论片 | 亚洲图片一区二区 | 午夜性色福利视频在线视频 | 黄色a∨| 亚洲一级毛片免费在线观看 | 久久久精品久久 | 91久久国产口精品久久久久 | 天天拍拍夜夜出水 | 91在线免费公开视频 | 最新99国产成人精品视频免费 | 九九精品久久久久久噜噜 | 草草影音| 日韩性网 | 亚洲精国产一区二区三区 | 亚洲天堂美女视频 | 高清色黄毛片一级毛片 |