淺顯易懂的理解嵌入式開發中的硬件知識
發布時間:2017-11-22 責任編輯:lina
電平(Level)
在數字電路中,分為高電平和低電平,分別用1和0表示。一個數字電路的管腳,總是存在一個電平的,要麼高要麼低,或者說要麼1要到0(其實,還有另一種狀態,後麵會提到)。
總線(Bus)
在嵌入式係統中一定會有一塊處理器芯片,此外,還有其它的芯片作為外部設備(後麵簡稱外設),zhexiexinpianyuchuliqixiezuoshixianchanpindegongneng。fuzadechanpinwangwangshiyoudaliangdexinpianzuchengde。namebukebimiandeshiwomenxuyaojiangsuoyoudewaisheyuchuliqijinxingxianglian,zuiweijiandandeshijiangsuoyoudewaishedoucaiyongduli(注意是獨立)的信號線連接至處理器,這樣的好處是容易理解,但問題是:不可行。因為處理器芯片需要引出太多的線了,從芯片的生產和產品的生產角度來看都不實際。加之,處理器(在此我們假設處理器是單核的,而不是多核的)chulishiwuzaiweiguanshangshichuanxingde,yejiushishuozaimouyishikeruguoyaoduiwaishejinxingduxiecaozuo,nazhikenengshiduidaliangwaishezhongdeyigejinxing,jiduogewaishebukenengzaiweiguanshangbeichuliqitongshifangwen。xuyaozhuyideshi,zhelitichuleweiguanzheyigainian,zheshiweilequbieyuhongguan。conghongguanshanglaijiang,yigechuliqizhongkeyiyouduogerenwutongshiyunxing,danzhexierenwuzaiweiguanshangqueshiyigeyigeyunxingde(後麵會用串行來描述這裏所說的“一個一個”),duorenwudechuanxingyunxingshixianshiyoucaozuoxitongbanyanzhezhongyaodejiaoselaishixiande。huidaowomendehuati,jiranjiangmeigewaishecaiyongdulidexinhaoxianliandaochuliqibukexing,qiechuliqizaidanyishijianneizhihuiduiyigewaishejinxingfangwen,nawomennengbunengcaiyonggongxiangdexinhaoxianjiangsuoyoudexinpianlianzaiyiqine?zhejiushizongxiangainiandeyoulai。tongsudeshuo,ruguowomenzhouweiyoushigejiating,weilerangzheshigejiatingmeilianggezhijiandounengwanglai,womenbingbuxuyaoweimeilianggejiatingxiuyitiaodandu(注意是單獨)的路(如果這樣,要修45條路),而是可以修一條大路,然後,每個家都與大路相連。
duiyuzongxian,womenwangwangshuozongxianshichuliqide,erqitadewaisheshiguazaizongxianshangde。nayouyigewenti,womenmeiyishijianzhinengfangwenguazaizongxianshangdeyigewaishe,naruhequfenzhexiewaishene?hewomendeluyiyang,womenxuyaoyongdizhilaiqufenmeiyigejiating,zaizongxianshang,yeshicaiyongdizhilaijinxingqufende。zheyang,zongxianjiugenjuqigongnengfenweiliangleile。yileishidizhizongxian,zheyizongxianshangdeshujuzhihuishicongchuliqixiangwaishe“流”,是單向的。另一類則是數據總線,用來將數據從處理器傳送到外設(從處理器的角度來說是寫操作)或者是將數據從外設傳送到處理器(從處理器的角度來說是讀操作),顯(xian)然(ran),數(shu)據(ju)總(zong)線(xian)是(shi)雙(shuang)向(xiang)的(de)。也(ye)就(jiu)是(shi)說(shuo),在(zai)我(wo)們(men)的(de)嵌(qian)入(ru)式(shi)係(xi)統(tong)中(zhong)同(tong)時(shi)存(cun)在(zai)地(di)址(zhi)總(zong)線(xian)和(he)數(shu)據(ju)總(zong)線(xian)將(jiang)所(suo)有(you)需(xu)要(yao)與(yu)處(chu)理(li)器(qi)進(jin)行(xing)通(tong)訊(xun)的(de)芯(xin)片(pian)連(lian)在(zai)一(yi)起(qi)的(de)。
總線是有寬度的,正如我們的路分為“三車道”或是“四車道”,我們說32位處理器,是指其數據總線寬度是32位,也就是“有32輛車能同時跑”,顯然,寬度越是寬我們的處理器速度就越是快,因為我們從外設芯片存取數據的速度會更快,這就是為什麼我們的計算機向64位發展的原因。同樣的,地址總線也是有寬度的,對於32位處理器其最大寬度也就是32位。
zongxiandegainianyoule,najiexialaideyigewentishi,jishishimeiyigewaishedouyouyigedizhi,nazheyidizhijizainaline?shifangzaiwaishexinpianshangma?ruguozheyangdehua,najiuyouyigewenti,meiyileiwaishededizhibixushibunengzhongdiede,erdangyigechanpinzhongxuyaoliangkuaiyiyangdexinpiandehua,liangkuaixinpiandedizhijiuwufaqufenle,kanlaizheyangcaozuocunzaiwenti。haiyou,ruguozheyangdehuameiyigewaisheyedeyu(比如,32根)數據總線完全相連,並監聽數據線以了解處理器是不是在“叫”ziji,zheyanghenshifuza。ciwai,dizhiyeyoukenengyinweiwaishezhongleidezengduoeryongguang。zongdelaishuodizhibunengcunfangzaiwaishexinpian,naruherangwaishezhidao,cishitashibeichuliqizhaohuancongerxuyaojinxingduxiefangwendene?daanjiushixinpiandepianxuan(CS, chip select)信號,或者又號使能(ENable)信號。
片選(CS 或EN)
片選信號對於外設芯片來講,就是一個(也是一根)通知信號,告訴芯片“嘿,請開門,我要放些東西進來,或是拿些東西走”,這zhe裏li的de東dong西xi隻zhi能neng是shi數shu據ju,不bu可ke能neng是shi玉yu米mi棒bang什shen麼me的de。那na有you個ge問wen題ti,這zhe個ge信xin號hao源yuan從cong哪na裏li來lai呢ne?顯xian然ran,隻zhi能neng從cong處chu理li器qi來lai。那na是shi不bu是shi也ye是shi像xiang總zong線xian那na樣yang,每mei一yi個ge芯xin片pian都dou共gong用yong一yi根gen線xian連lian在zai一yi起qi呢ne?如ru果guo這zhe樣yang,可ke能neng處chu理li器qi“一叫開門”所有的芯片都將“門”打開了。如果是處理器寫數據,那可能所有的芯片都被寫入同樣的數據。而取數據時,每個外設芯片都向外“扔”數據,這一定會造成數據總線衝突,因為有的芯片向總線上“扔”1,有的則“扔”0,這種情況下處理器一定會“發瘋”的,因為它不知道應當得到1還是0。
即(ji)然(ran)這(zhe)樣(yang),那(na)顯(xian)然(ran)不(bu)能(neng)將(jiang)所(suo)有(you)的(de)片(pian)選(xuan)信(xin)號(hao)連(lian)在(zai)一(yi)起(qi)了(le),隻(zhi)能(neng)是(shi)各(ge)芯(xin)片(pian)的(de)片(pian)選(xuan)信(xin)號(hao)獨(du)立(li)。前(qian)麵(mian)提(ti)到(dao)了(le)地(di)址(zhi)總(zong)線(xian),我(wo)們(men)是(shi)采(cai)用(yong)一(yi)根(gen)地(di)址(zhi)線(xian)連(lian)一(yi)個(ge)外(wai)設(she)芯(xin)片(pian)呢(ne)?還(hai)是(shi)采(cai)用(yong)其(qi)它(ta)的(de)方(fang)法(fa)。如(ru)果(guo)采(cai)用(yong)一(yi)根(gen)地(di)址(zhi)線(xian)連(lian)一(yi)個(ge)外(wai)設(she)芯(xin)片(pian),那(na)可(ke)能(neng)最(zui)多(duo)隻(zhi)能(neng)掛(gua)接(jie)32個芯片了,這顯然不行。其實,在現實中,是采用32位的數字來表示一個外設芯片的地址的,比如1可以表示芯片A,而6534可以表示另外一個芯片B,等等。由此看來,理論上我們可以表示2的32次方(4294967296)個設備,之所以說理論上,是因為有的設備要占用大量的地址。即然這樣,那還有一個問題,如果將32位的地址總線轉換成芯片的一根片選信號呢?這需要引入譯碼(器)的概念。
譯碼(器)
譯碼器將一個數據轉換成一根信號線上的信號,比如3/8譯碼器,可以將一個位寬是3位的數據轉換成8根(2的3次方)完全獨立的信號線,當向數據側寫入二進製的011時,對應的是8根線的第3根,當輸入二進製的111時,對應的是8根線中的最後一根。有了譯碼器,處理器的地址線就簡化了,隻要32根地址線加上外麵的譯碼器,就可以訪問大量的外設芯片了。外部設備的選擇問題,我們已經解決了,現在還得回頭看一看數據總線。

圖1 3/8譯碼器
在嵌入式係統中,所有芯片的數據總線可以理解成是直接相連的。之所以用了“可以理解”一yi詞ci,是shi因yin為wei為wei了le提ti高gao總zong線xian的de負fu載zai能neng力li,其qi中zhong會hui加jia入ru總zong線xian驅qu動dong器qi。為wei了le理li解jie,我wo們men看kan一yi看kan我wo們men生sheng活huo中zhong的de自zi來lai水shui,比bi如ru,在zai北bei京jing理li論lun上shang可ke能neng所suo有you的de水shui管guan是shi連lian在zai一yi起qi的de,但dan中zhong間jian可ke能neng為wei了le提ti高gao水shui壓ya,存cun在zai很hen多duo小xiao的de水shui站zhan用yong來lai增zeng加jia供gong水shui壓ya力li,而er不bu可ke能neng全quan北bei京jing所suo有you的de自zi來lai水shui自zi接jie來lai自zi一yi個ge水shui廠chang。即ji然ran所suo有you的de數shu據ju總zong線xian是shi連lian在zai一yi起qi的de,那na就jiu可ke能neng會hui有you問wen題ti。當dang向xiang外wai部bu設she備bei寫xie數shu據ju時shi,處chu理li器qi先xian向xiang地di址zhi總zong線xian輸shu送song目mu標biao外wai設she的de地di址zhi,地di址zhi譯yi碼ma器qi將jiang其qi轉zhuan換huan成cheng一yi根gen信xin號hao的de片pian選xuan信xin號hao送song到dao了le目mu標biao外wai設she,目mu標biao外wai設she收shou到dao這zhe一yi信xin號hao後hou,將jiang“門”打開。接下來處理器將要傳送到外設的數據往數據總線上一放,由於隻有目標外設芯片打開了“門”,所以數據隻會進入到目標外設,而其它的外設什麼也不會收到。很好!chuliqixiangwaixieshujuyingdangmeiyouwenti,womenjiexialaikanyikandu。dudehua,youyushujushicongwaisheshusongdaochuliqide,jinguanwomencaiyonghexieyiyangdefangfadakaimubiaowaishede“門”,但此時,其它的外設也在數據總線上,它們有可能處於1也可能處於0,是不是會影響處理器讀取目標外設的數據呢?結果當然不會,但我們得引入另一個概念:高阻態。
高阻態
很hen顯xian然ran,當dang處chu理li器qi從cong目mu標biao外wai設she讀du數shu據ju時shi,我wo們men希xi望wang其qi它ta沒mei有you被bei選xuan上shang的de芯xin片pian的de數shu據ju總zong線xian不bu會hui對dui目mu標biao外wai設she所suo要yao傳chuan送song的de數shu據ju有you影ying響xiang,那na怎zen麼me辦ban呢ne?實shi際ji上shang,當dang芯xin片pian沒mei有you被bei選xuan中zhong時shi,其qi數shu據ju總zong線xian都dou處chu於yu高gao阻zu態tai。所suo謂wei的de高gao阻zu態tai,我wo們men可ke以yi理li解jie成cheng這zhe一yi管guan腳jiao在zai外wai設she芯xin片pian內nei部bu是shi斷duan開kai的de,如ru此ci一yi來lai,顯xian然ran不bu會hui對dui處chu理li器qi從cong目mu標biao外wai設she讀du取qu數shu據ju造zao成cheng任ren何he的de影ying響xiang了le。我wo們men說shuo當dang一yi個ge芯xin片pian沒mei有you被bei選xuan中zhong或huo是shi沒mei有you被bei使shi能neng時shi,其qi數shu據ju總zong線xian一yi定ding是shi處chu於yu高gao阻zu態tai的de。前qian麵mian用yong了le“門”的開和關來打比方,那“門”shizhishenmene?shizhiwaishedeshujuzongxian,pianxuanxinhaodezuoyongjiushikongzhijiangwaishedeshujuzongxianyuchuliqideshujuzongxianxianglianhuoshiduankai。gengduodeguanyugaozutaidejiangjiekecankanqianmianxiedewenzhang《高阻態和三態門》。
驅動
zongxianshangdeshujushishuifangshangqudewomenjiushuoshuishinayishikedequdongzhe。yejiushishuo,dangchuliqixiangwaishexieshujushi,tashizaiqudongshujuzongxiande,erdangchuliqicongmubiaowaisheduqushujushi,mubiaowaisheshizaiqudongshujuzongxiande。duiyudizhizongxian,yinweizhikenengcongchuliqixiangmubiaowaishexie,suoyidizhizongxianyongyuanshiyouchuliqiqudongde。dangyigexinpianmeiyoubeixuanzhongshi,womenshuotabingbuqudongshujuzongxian。
三態門
前麵我們說到外設芯片的數據總線在沒有被選中時其處於高阻態,當被選中時,其電平可能是高(1)或是低(0)。如此一來,我們說外設的數據總線其芯片管腳是屬於三態門的,即存在高電平、低電平和高阻態,三個狀態。更多的關於三態門的講解可參看前麵寫的文章《高阻態和三態門》。
電平的有效性
qianmianwomenlejieleshenmeshipianxuanxinhao,yejiangdaolesantaimen,xuyaozhichudeshipianxuanxinhaotongchangbushisantaimen,qizhicunzailianggezhuangtai,jigaodianpinghuoshididianping。qianmianwomenyeshuole,pianxuanxinhaoshiyonglai“開門”的,而片選信號又有高和低電平,那到底是高電平表示“開門”呢?還是低電平?對於這一問題,我們稱如果一個電平對於一個片選信號表示“開門”那麼它就是這一信號的有效電平。比如,對於一個片選信號,如果低電平表示“開門”,那na麼me我wo們men說shuo這zhe個ge片pian選xuan信xin號hao是shi低di電dian平ping有you效xiao的de。雖sui然ran,在zai這zhe裏li我wo們men用yong片pian選xuan信xin號hao來lai解jie釋shi電dian平ping的de有you效xiao性xing,但dan是shi很hen多duo信xin號hao都dou存cun在zai有you效xiao性xing的de問wen題ti,比bi如ru,後hou麵mian我wo們men將jiang要yao談tan的de讀du信xin號hao和he寫xie信xin號hao都dou存cun在zai有you效xiao性xing問wen題ti。
時序
在zai前qian麵mian我wo們men說shuo到dao當dang處chu理li器qi要yao向xiang外wai設she芯xin片pian寫xie數shu據ju時shi,需xu要yao先xian將jiang所suo需xu訪fang問wen的de外wai設she的de地di址zhi放fang在zai地di址zhi總zong線xian上shang,然ran後hou,由you譯yi碼ma器qi將jiang地di址zhi總zong線xian上shang的de數shu據ju轉zhuan換huan成cheng片pian選xuan信xin號hao,片pian選xuan信xin號hao則ze使shi能neng目mu標biao外wai設she芯xin片pian,接jie下xia來lai處chu理li器qi寫xie數shu據ju到dao數shu據ju總zong線xian上shang,從cong而er完wan成cheng一yi個ge寫xie操cao作zuo。顯xian然ran,在zai處chu理li器qi將jiang數shu據ju寫xie到dao數shu據ju總zong線xian之zhi前qian地di址zhi線xian上shang的de數shu據ju必bi須xu一yi直zhi保bao留liu一yi段duan時shi間jian,否fou則ze的de話hua譯yi碼ma器qi不bu能neng長chang時shi間jian的de使shi片pian選xuan信xin號hao有you效xiao。當dang完wan成cheng了le數shu據ju的de寫xie操cao作zuo後hou,處chu理li器qi就jiu不bu需xu要yao保bao證zheng地di址zhi總zong線xian上shang的de地di址zhi有you效xiao了le。我wo們men可ke以yi看kan出chu,這zhe一yi係xi列lie的de操cao作zuo都dou有you一yi定ding嚴yan格ge的de時shi間jian順shun序xu的de,這zhe稱cheng之zhi為wei時shi序xu。時shi序xu描miao述shu了le處chu理li器qi與yu外wai部bu設she備bei的de交jiao互hu信xin號hao “規程”,大家隻有按照這一“規程”來lai操cao作zuo,才cai能neng保bao證zheng處chu理li器qi與yu外wai部bu設she備bei之zhi間jian能neng正zheng常chang的de通tong訊xun。這zhe好hao比bi,我wo們men的de道dao路lu上shang的de紅hong綠lv燈deng,如ru果guo我wo們men行xing人ren和he車che輛liang不bu按an照zhao其qi指zhi示shi來lai通tong行xing的de話hua,就jiu會hui出chu現xian事shi故gu。通tong常chang,采cai用yong時shi序xu圖tu來lai描miao述shu芯xin片pian之zhi間jian通tong訊xun的de信xin號hao“規程”。

圖2 讀時序圖

圖3 讀時序圖
從圖中我們可以看出ADDRESS是表示地址總線的,DQ是表示數據總線的,CE是(shi)片(pian)選(xuan)信(xin)號(hao),且(qie)是(shi)低(di)電(dian)平(ping)有(you)效(xiao),其(qi)寬(kuan)度(du)要(yao)保(bao)證(zheng)在(zai)進(jin)行(xing)讀(du)操(cao)作(zuo)時(shi)總(zong)是(shi)有(you)效(xiao)的(de)。學(xue)會(hui)看(kan)時(shi)序(xu)圖(tu)對(dui)於(yu)做(zuo)嵌(qian)入(ru)式(shi)係(xi)統(tong)開(kai)發(fa)非(fei)常(chang)有(you)幫(bang)助(zhu),因(yin)為(wei)我(wo)們(men)不(bu)可(ke)避(bi)免(mian)的(de)要(yao)與(yu)芯(xin)片(pian)打(da)交(jiao)道(dao)。在(zai)時(shi)序(xu)圖(tu)中(zhong),通(tong)常(chang)會(hui)標(biao)識(shi)很(hen)多(duo)的(de)時(shi)間(jian)需(xu)求(qiu)信(xin)息(xi)。在(zai)寫(xie)啟(qi)動(dong)代(dai)碼(ma)時(shi)需(xu)要(yao)初(chu)始(shi)化(hua)各(ge)地(di)址(zhi)空(kong)間(jian)的(de)片(pian)選(xuan)地(di)址(zhi)寄(ji)存(cun)器(qi)和(he)讀(du)寫(xie)時(shi)序(xu),時(shi)序(xu)的(de)配(pei)置(zhi)依(yi)據(ju)就(jiu)是(shi)來(lai)自(zi)於(yu)外(wai)設(she)芯(xin)片(pian)的(de)時(shi)間(jian)需(xu)求(qiu),這(zhe)是(shi)芯(xin)片(pian)手(shou)冊(ce)很(hen)重(zhong)要(yao)的(de)一(yi)部(bu)分(fen)內(nei)容(rong)。當(dang)一(yi)個(ge)地(di)址(zhi)空(kong)間(jian)中(zhong)存(cun)在(zai)多(duo)個(ge)外(wai)設(she)芯(xin)片(pian)時(shi),我(wo)們(men)需(xu)要(yao)考(kao)慮(lv)到(dao)其(qi)中(zhong)最(zui)慢(man)的(de)外(wai)設(she)芯(xin)片(pian)的(de)時(shi)間(jian)需(xu)求(qiu),否(fou)則(ze)的(de)話(hua)有(you)的(de)芯(xin)片(pian)就(jiu)不(bu)能(neng)正(zheng)常(chang)工(gong)作(zuo)。
讀信號
當(dang)處(chu)理(li)器(qi)需(xu)要(yao)從(cong)外(wai)設(she)芯(xin)片(pian)讀(du)取(qu)信(xin)號(hao)時(shi),除(chu)了(le)需(xu)要(yao)產(chan)生(sheng)片(pian)選(xuan)信(xin)號(hao)外(wai),還(hai)需(xu)要(yao)告(gao)訴(su)外(wai)設(she)芯(xin)片(pian)這(zhe)是(shi)一(yi)個(ge)讀(du)操(cao)作(zuo),而(er)不(bu)是(shi)一(yi)個(ge)寫(xie)操(cao)作(zuo),這(zhe)是(shi)通(tong)過(guo)讀(du)信(xin)號(hao)來(lai)實(shi)現(xian)的(de)。
寫信號
前麵講了讀信號,我想對於寫信號也就不難理解了,這個信號用於告訴外設芯片,這是一個向外設芯片寫數據的操作。
I/O端口
前麵提到了外設(芯片)),現在是對外設進行分類的時候了。大體上外設分為兩類,一類是存儲器外設,而另一類是非存儲器外設,後者常被稱之為I/O設備,這裏的I/O是Input/Output的簡寫,即輸入、輸出。可見,I/O外設是一個非常寬泛的概念。對於存儲器外設,其特點是,它所占用的空間是連續的一片。比如,SDRAM內存就是屬於存儲器外設,如果其容量是8M字節,那麼其占用的地址空間也會是8M的。與存儲器外設所不同的是,I/O外設所點用的地址一般都很少。比如一個I/O外設可能存在多個控製寄存器,這些控製寄存器從處理器來看就是多個I/O端口(地址),xiangzhegedizhixieshujujiushixiangwaishesuoduiyingdejicunqixieshuju,fanzhi,yekeyishidu。biru,yigechuankouxinpiankenengcunzaiduogejicunqi,yigeyonglaizhaxunxinpiandezhuangtai,yigeyonglaishezhixinpiandegongneng,lingyigeyonglaiduquxinpiancongchuankouxiansuoshoudaodeshuju,zuihou,haiyouyigeyonglaixiangxinpianxieshujuyixiangchuankouxianshangfasongshuju。duiyuzheyichuankouxinpiandejicunqi,congchuliqidejiaodulaikan,doushidulideI/O端口。
I/O端口存在讀、寫(xie)性(xing)問(wen)題(ti),有(you)的(de)端(duan)口(kou)是(shi)隻(zhi)讀(du)的(de),有(you)的(de)端(duan)口(kou)是(shi)隻(zhi)寫(xie)的(de),還(hai)有(you)的(de)端(duan)口(kou)是(shi)即(ji)可(ke)讀(du)也(ye)可(ke)寫(xie),其(qi)讀(du)寫(xie)性(xing)是(shi)由(you)外(wai)設(she)芯(xin)片(pian)的(de)寄(ji)存(cun)器(qi)所(suo)決(jue)定(ding)的(de),在(zai)芯(xin)片(pian)的(de)數(shu)據(ju)手(shou)冊(ce)中(zhong)能(neng)找(zhao)到(dao)。需(xu)要(yao)指(zhi)出(chu)的(de)是(shi),有(you)些(xie)存(cun)儲(chu)器(qi)外(wai)設(she)也(ye)存(cun)在(zai)I/O端口,以對其進行一定的控製。從I/O端口這一名字來看,對於處理器來說,就是對從外麵讀入數據或是向外麵輸出數據的一個接口總稱。
中斷
中斷從硬件的角度來看就是一個能產生高、低(di)電(dian)平(ping)的(de)一(yi)根(gen)信(xin)號(hao)線(xian),但(dan)理(li)解(jie)它(ta)需(xu)要(yao)從(cong)處(chu)理(li)器(qi)的(de)角(jiao)度(du)出(chu)發(fa)。我(wo)們(men)說(shuo)過(guo)了(le),處(chu)理(li)器(qi)從(cong)微(wei)觀(guan)上(shang)看(kan),所(suo)做(zuo)的(de)工(gong)作(zuo)是(shi)按(an)順(shun)序(xu)進(jin)行(xing)的(de),其(qi)對(dui)程(cheng)序(xu)的(de)處(chu)理(li)隻(zhi)能(neng)是(shi)一(yi)條(tiao)指(zhi)令(ling)一(yi)條(tiao)指(zhi)令(ling)的(de)執(zhi)行(xing)。如(ru)果(guo)存(cun)在(zai)需(xu)要(yao)對(dui)外(wai)設(she)芯(xin)片(pian)進(jin)行(xing)訪(fang)問(wen),而(er)有(you)可(ke)能(neng)從(cong)處(chu)理(li)器(qi)發(fa)出(chu)讀(du)、寫xie命ming令ling後hou,由you於yu外wai設she通tong常chang比bi處chu理li器qi慢man很hen多duo,所suo以yi外wai設she芯xin片pian需xu要yao一yi些xie時shi間jian來lai準zhun備bei好hao所suo需xu的de數shu據ju。在zai這zhe種zhong情qing況kuang下xia,如ru果guo處chu理li器qi一yi直zhi等deng外wai設she芯xin片pian的de返fan回hui數shu據ju再zai執zhi行xing後hou續xu的de指zhi令ling的de話hua,將jiang耗hao費fei寶bao貴gui的de時shi間jian,這zhe些xie時shi間jian完wan全quan可ke以yi用yong來lai做zuo其qi它ta的de工gong作zuo。別bie忘wang了le,從cong宏hong觀guan上shang看kan來lai處chu理li器qi常chang常chang是shi多duo任ren務wu的de,任ren務wu是shi指zhi操cao作zuo係xi統tong所suo提ti供gong的de調tiao度du單dan位wei。當dang一yi個ge任ren務wu因yin為wei等deng待dai外wai設she芯xin片pian的de數shu據ju而er阻zu塞sai時shi,我wo們men可ke以yi切qie換huan到dao另ling外wai的de任ren務wu,從cong而er提ti高gao處chu理li效xiao率lv。這zhe就jiu有you一yi個ge問wen題ti,當dang處chu理li器qi去qu處chu理li另ling一yi個ge任ren務wu時shi,如ru果guo外wai設she芯xin片pian的de數shu據ju好hao了le的de話hua,如ru果guo告gao訴su處chu理li器qi呢ne?對dui了le!就是通過中斷信號。中斷信號的高、低電平可以用來表示是否有中斷需要處理器注意以處理特定的事件(比如,外設數據準備好了的事件)。
由you此ci看kan來lai,中zhong斷duan的de引yin入ru能neng大da大da的de提ti高gao處chu理li器qi的de運yun用yong效xiao率lv。為wei了le使shi用yong處chu理li器qi上shang的de中zhong斷duan,一yi開kai始shi我wo們men需xu要yao初chu始shi化hua好hao處chu理li器qi的de中zhong斷duan控kong製zhi器qi,比bi如ru安an裝zhuang好hao所suo需xu的de中zhong斷duan服fu務wu程cheng序xu或huo稱cheng之zhi為weiISR(Interrupt Service Routine),然後,打開中斷屏蔽位。中斷服務程序中需要做如下的操作:
從外設讀入或向外設寫數據。讀還是寫通常需要讀取外設的中斷狀態寄存器來決定。
清qing除chu外wai設she的de中zhong斷duan信xin號hao。我wo們men知zhi道dao,中zhong斷duan信xin號hao是shi由you外wai設she芯xin片pian驅qu動dong的de,為wei了le告gao訴su外wai設she芯xin片pian,處chu理li器qi已yi經jing處chu理li完wan了le所suo需xu做zuo的de工gong作zuo,那na麼me處chu理li器qi需xu要yao通tong過guo一yi定ding的de方fang式shi通tong知zhi外wai設she芯xin片pian。這zhe種zhong方fang式shi就jiu是shi向xiang外wai設she芯xin片pian的de寄ji存cun器qi中zhong的de某mou一yi位wei寫xie入ru一yi個ge數shu據ju,比bi如ru,可ke能neng是shi寫xie入ru1表示清中斷,也可能是寫入0biaoshiqingzhongduan,zhetongchangzaiwaishedeshujushoucezhongnengzhadao。dangwaisheshoudaolechuliqideqingzhongduanqingqiuhou,qijiuhuiqudongzhongduanxianshiqiwuxiao。biru,yigewaishedezhongduanxianshidangqiweididianpingbiaoshiyouzhongduan,jiangqicongdidianpingbianweigaodianpingjiushiqudongweiwuxiao。
qingchuchuliqidezhongduanxinhaobiaoshi。chuliqizhongwangwangyehuibaocunwaibuzhongduanxinhaoshifoufashengguo,dangwomenchuliwanlewaishexinpiandezhongduanshi,womenyexuyaoqingchuchuliqishangdebiaoshi,congerweixiayicizhongduanzuozhunbei。xuyaozhuyideshi,qingwaishedezhongduanbixufashengzaiqingchuliqizhongduanbiaoshizhiqian!
中斷還存在一個觸發方式問題。有兩種觸發方式 ,一yi種zhong是shi電dian平ping觸chu發fa,另ling一yi種zhong是shi沿yan觸chu發fa。電dian平ping觸chu發fa是shi指zhi電dian平ping的de高gao低di表biao示shi外wai設she是shi否fou有you中zhong斷duan,而er沿yan觸chu發fa則ze是shi能neng過guo中zhong斷duan線xian上shang的de電dian平ping的de升sheng或huo降jiang來lai表biao示shi的de,顯xian然ran,存cun在zai兩liang種zhong沿yan觸chu發fa方fang式shi。一yi種zhong是shi中zhong斷duan線xian從cong低di電dian平ping變bian為wei高gao電dian平ping,我wo們men稱cheng之zhi為wei上shang升sheng沿yan觸chu發fa,另ling一yi處chu是shi中zhong斷duan線xian從cong高gao電dian平ping轉zhuan換huan為wei低di電dian平ping,我wo們men稱cheng之zhi為wei下xia降jiang沿yan觸chu發fa。總zong的de來lai說shuo中zhong斷duan的de觸chu發fa方fang式shi有you電dian平ping觸chu發fa、上升沿觸發和下降沿觸發。電平觸發方式中處理中中斷設置很重要的一個步驟。
萬用表
萬用表通常是用來查看電平的高低、電阻的大小等的,是常用且必不可少的工具之一。在嵌入式係統開發中,我們常用的是數字萬用表。
示波器
在(zai)嵌(qian)入(ru)式(shi)係(xi)統(tong)開(kai)發(fa)中(zhong),我(wo)們(men)不(bu)可(ke)避(bi)免(mian)的(de)要(yao)與(yu)外(wai)設(she)芯(xin)片(pian)打(da)交(jiao)道(dao)。調(tiao)試(shi)驅(qu)動(dong)程(cheng)序(xu)時(shi),除(chu)了(le)需(xu)要(yao)完(wan)全(quan)看(kan)明(ming)白(bai)芯(xin)片(pian)的(de)數(shu)據(ju)手(shou)冊(ce),且(qie)在(zai)軟(ruan)件(jian)高(gao)度(du)的(de)過(guo)程(cheng)中(zhong),還(hai)需(xu)要(yao)看(kan)我(wo)們(men)所(suo)期(qi)望(wang)的(de)信(xin)號(hao)電(dian)平(ping)是(shi)否(fou)發(fa)生(sheng)在(zai)芯(xin)片(pian)上(shang)。比(bi)如(ru),我(wo)們(men)在(zai)寫(xie)驅(qu)動(dong)程(cheng)序(xu)時(shi),需(xu)要(yao)通(tong)過(guo)寫(xie)I/O端口來對外設芯片進行操作,當寫相應的I/O端(duan)口(kou)時(shi),我(wo)們(men)知(zhi)道(dao)所(suo)對(dui)應(ying)芯(xin)片(pian)的(de)片(pian)選(xuan)信(xin)號(hao)應(ying)當(dang)有(you)效(xiao),有(you)時(shi),我(wo)們(men)需(xu)要(yao)驗(yan)證(zheng)是(shi)否(fou)按(an)預(yu)期(qi)發(fa)生(sheng)了(le),這(zhe)就(jiu)需(xu)要(yao)用(yong)到(dao)示(shi)波(bo)器(qi)。一(yi)般(ban)的(de)示(shi)波(bo)器(qi)是(shi)能(neng)同(tong)時(shi)觀(guan)測(ce)兩(liang)個(ge)信(xin)號(hao)線(xian)的(de)信(xin)號(hao)狀(zhuang)態(tai)的(de)。示(shi)波(bo)器(qi)都(dou)提(ti)供(gong)一(yi)定(ding)的(de)功(gong)能(neng),比(bi)如(ru)設(she)置(zhi)信(xin)號(hao)撲(pu)捉(zhuo)的(de)方(fang)式(shi)等(deng)等(deng)。示(shi)波(bo)器(qi)很(hen)重(zhong)要(yao)的(de)一(yi)個(ge)參(can)數(shu)據(ju)是(shi)其(qi)采(cai)集(ji)頻(pin)率(lv),根(gen)據(ju)Nyquist采集定理,如果我們想用示波器查看頻率是100M赫茲的信號,那麼其采樣頻率必須至少是其兩倍,即200M赫茲。有人可能會問:為什麼不用萬用表來看呢?因為萬用表的采集頻率很底,無法采集到很快的信號變化。
邏輯分析儀
簡jian單dan的de說shuo邏luo輯ji分fen析xi器qi就jiu是shi具ju有you很hen多duo信xin號hao通tong道dao的de示shi波bo器qi。通tong過guo邏luo輯ji分fen析xi儀yi,我wo們men可ke以yi看kan到dao地di址zhi總zong線xian和he數shu據ju總zong線xian上shang的de數shu據ju。邏luo輯ji分fen析xi儀yi都dou提ti供gong一yi定ding的de編bian程cheng能neng力li,用yong於yu編bian程cheng什shen麼me時shi候hou開kai始shi對dui總zong線xian上shang的de數shu據ju進jin行xing采cai集ji。
推薦閱讀:
為什麼分立式JFET仍然活躍於模擬設計中?
提升駕駛體驗的四個技術趨勢
創新性電源的解決方案,將有利於交通運輸係統的使用
電阻器色環編碼的小秘密,一開始我也不知道!
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
- 一秒檢測,成本降至萬分之一,光引科技把幾十萬的台式光譜儀“搬”到了手腕上
- AI服務器電源機櫃Power Rack HVDC MW級測試方案
- 突破工藝邊界,奎芯科技LPDDR5X IP矽驗證通過,速率達9600Mbps
- 通過直接、準確、自動測量超低範圍的氯殘留來推動反滲透膜保護
- 從技術研發到規模量產:恩智浦第三代成像雷達平台,賦能下一代自動駕駛!
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall




